Go to the documentation of this file.
36 #ifndef domainDecomposition_H
37 #define domainDecomposition_H
137 const label ownerProc,
145 template <
class BinaryOp>
211 #include "domainDecompositionTemplates.C"
List< DynamicList< label > > procFaceAddressing_
Labels of faces for each processor.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
domainDecomposition(const IOobject &io, const fileName &decompDictFile="")
Construct from IOobjects (for mesh and optional non-standard.
A class for handling file names.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
autoPtr< pointIOField > facesInstancePointsPtr_
Optional: points at the facesInstance.
bool distributed_
Is the decomposition data to be distributed for each processor.
label nProcs() const
Number of processor in decomposition.
static void mark(const labelList &zoneElems, const label zoneI, labelList &elementToZone)
Mark all elements with value or -2 if occur twice.
~domainDecomposition()
Destructor.
void processInterCyclics(const polyBoundaryMesh &patches, List< DynamicList< DynamicList< label > > > &interPatchFaces, List< Map< label > > &procNbrToInterPatch, List< labelListList > &subPatchIDs, List< labelListList > &subPatchStarts, bool owner, BinaryOp bop) const
Generate sub patch info for processor cyclics.
static void append(labelList &, const label)
Append single element to list.
List< labelListList > procProcessorPatchSubPatchStarts_
Sub patch sizes for inter-processor patches.
labelListList procPatchSize_
Sizes for processor mesh patches.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
bool writeDecomposition(const bool decomposeSets)
Write decomposition.
labelListList procCellAddressing_
Labels of cells for each processor.
Automatic domain decomposition class for finite-volume meshes.
bool distributed() const
Is the decomposition data to be distributed for each processor.
const fileName decompDictFile_
Optional non-standard file for decomposeParDict.
List< labelListList > procProcessorPatchSubPatchIDs_
Sub patch IDs for inter-processor patches.
labelList cellToProc_
Processor label for each cell.
Mesh data needed to do the Finite Volume discretisation.
const labelUList & owner() const
Internal face owner.
labelListList procProcessorPatchSize_
Sizes for inter-processor patches.
label nProcs_
Number of processors in decomposition.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
void decomposeMesh()
Decompose mesh.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const labelList & cellToProc() const
Cell-processor decomposition labels.
void addInterProcFace(const label facei, const label ownerProc, const label nbrProc, List< Map< label > > &, List< DynamicList< DynamicList< label > > > &) const
Add face to inter-processor patch.
labelListList procNeighbourProcessors_
Neighbour processor ID for inter-processor boundaries.
labelListList procProcessorPatchStartIndex_
Start indices (in procFaceAddressing_) for inter-processor patches.
labelListList procPointAddressing_
Labels of points for each processor.
labelListList procPatchStartIndex_
Start indices for processor patches.