Decompose given using consecutive application of decomposers. More...
Public Member Functions | |
multiLevelDecomp (const multiLevelDecomp &)=delete | |
No copy construct. More... | |
void | operator= (const multiLevelDecomp &)=delete |
No copy assignment. More... | |
TypeName ("multiLevel") | |
Runtime type information. More... | |
multiLevelDecomp (const dictionary &decompDict, const word ®ionName="") | |
Construct given decomposition dictionary and optional region name. More... | |
virtual | ~multiLevelDecomp ()=default |
Destructor. More... | |
virtual bool | parallelAware () const |
Is parallel aware when all sub-methods are also parallel-aware. More... | |
virtual labelList | decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights=scalarField::null()) const |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const CompactListList< label > &globalCellCells, const pointField &cc, const scalarField &cWeights=scalarField::null()) const |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights=scalarField::null()) const |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights=scalarField::null()) const |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights=scalarField::null()) const=0 |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints, const scalarField ®ionWeights=scalarField::null()) const |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const CompactListList< label > &globalCellCells, const pointField &cc, const scalarField &cWeights=scalarField::null()) const=0 |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights=scalarField::null()) const=0 |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const polyMesh &mesh, const scalarField &cellWeights, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections) const |
Inherit decompose from decompositionMethod. More... | |
labelList | decompose (const polyMesh &mesh, const scalarField &cWeights) const |
Inherit decompose from decompositionMethod. More... | |
Public Member Functions inherited from decompositionMethod | |
decompositionMethod (const decompositionMethod &)=delete | |
No copy construct. More... | |
void | operator= (const decompositionMethod &)=delete |
No copy assignment. More... | |
TypeName ("decompositionMethod") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, decompositionMethod, dictionary,(const dictionary &decompDict, const word ®ionName),(decompDict, regionName)) | |
decompositionMethod (const dictionary &decompDict, const word ®ionName="") | |
Construct given the decomposition dictionary, optionally region-specific. More... | |
virtual | ~decompositionMethod ()=default |
Destructor. More... | |
label | nDomains () const noexcept |
Number of domains. More... | |
virtual bool | geometric () const |
True if the method is purely geometric, often using cell centre points. More... | |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights=scalarField::null()) const |
Return the wanted processor number for every coordinate, using uniform or specified point weights. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints, const scalarField ®ionWeights=scalarField::null()) const |
Return for every coordinate the wanted processor number. More... | |
void | setConstraints (const polyMesh &mesh, boolList &blockedFace, PtrList< labelList > &specifiedProcessorFaces, labelList &specifiedProcessor, List< labelPair > &explicitConnections) const |
Helper: extract constraints: More... | |
void | applyConstraints (const polyMesh &mesh, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections, labelList &finalDecomp) const |
Helper: apply constraints to a decomposition. More... | |
virtual labelList | decompose (const polyMesh &mesh, const scalarField &cellWeights, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections) const |
labelList | decompose (const polyMesh &mesh, const scalarField &cWeights) const |
Decompose a mesh. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from decompositionMethod | |
static label | nDomains (const dictionary &decompDict, const word ®ionName="") |
Return region-specific or top-level numberOfSubdomains entry. More... | |
static const dictionary & | optionalRegionDict (const dictionary &decompDict, const word ®ionName) |
Return an optional region-specific dictionary from "regions" sub-dictionary, or dictionary::null on failure. More... | |
static autoPtr< decompositionMethod > | New (const dictionary &decompDict, const word ®ionName="") |
Return a reference to the selected decomposition method, optionally region-specific. More... | |
static void | calcCellCells (const polyMesh &mesh, const labelList &agglom, const label nLocalCoarse, const bool parallel, CompactListList< label > &cellCells) |
Determine (local or global) cellCells from mesh agglomeration. More... | |
static void | calcCellCells (const polyMesh &mesh, const labelList &agglom, const label nLocalCoarse, const bool parallel, CompactListList< label > &cellCells, CompactListList< scalar > &cellCellWeights) |
Determine (local or global) cellCells and face weights from mesh agglomeration. More... | |
Protected Types inherited from decompositionMethod | |
enum | selectionType { DEFAULT = 0, EXACT = 1, MANDATORY = 2, NULL_DICT = 4 } |
Selection type when handling the coefficients dictionary. More... | |
Protected Member Functions inherited from decompositionMethod | |
const dictionary & | findCoeffsDict (const word &coeffsName, int select=selectionType::DEFAULT) const |
Locate coeffsName dictionary or the fallback "coeffs" dictionary. More... | |
decompositionMethod (const label numDomains) | |
Construct with specified number of domains, no coefficients or constraints. More... | |
Static Protected Member Functions inherited from decompositionMethod | |
static const dictionary & | findCoeffsDict (const dictionary &dict, const word &coeffsName, int select=selectionType::DEFAULT) |
Locate coeffsName dictionary or the fallback "coeffs" dictionary within an enclosing dictionary. More... | |
Protected Attributes inherited from decompositionMethod | |
const dictionary & | decompDict_ |
Top-level decomposition dictionary (eg, decomposeParDict) More... | |
const dictionary & | decompRegionDict_ |
Region-specific decomposition dictionary information. More... | |
label | nDomains_ |
Number of domains for the decomposition. More... | |
PtrList< decompositionConstraint > | constraints_ |
Optional constraints. More... | |
Decompose given using consecutive application of decomposers.
Definition at line 45 of file multiLevelDecomp.H.
|
delete |
No copy construct.
|
explicit |
Construct given decomposition dictionary and optional region name.
Definition at line 559 of file multiLevelDecomp.C.
|
virtualdefault |
Destructor.
|
delete |
No copy assignment.
TypeName | ( | "multiLevel" | ) |
Runtime type information.
|
virtual |
Is parallel aware when all sub-methods are also parallel-aware.
Implements decompositionMethod.
Definition at line 583 of file multiLevelDecomp.C.
|
virtual |
Return for every coordinate the wanted processor number.
Use the mesh connectivity (if needed)
Implements decompositionMethod.
Definition at line 598 of file multiLevelDecomp.C.
References globalMeshData::calcCellCells(), Foam::identity(), mesh, UList< T >::size(), HashTable< T, Key, Hash >::size(), and CompactListList< T >::unpack().
|
virtual |
Return for every coordinate the wanted processor number.
Explicitly provided connectivity - does not use mesh_.
Implements decompositionMethod.
Definition at line 634 of file multiLevelDecomp.C.
References Foam::identity(), UList< T >::size(), and CompactListList< T >::unpack().
|
virtual |
Return for every coordinate the wanted processor number.
Explicitly provided connectivity - does not use mesh_.
Implements decompositionMethod.
Definition at line 660 of file multiLevelDecomp.C.
References Foam::identity(), and UList< T >::size().
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 941 of file decompositionMethod.C.
virtual labelList decompose |
Inherit decompose from decompositionMethod.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 396 of file decompositionMethod.C.
virtual labelList decompose |
Inherit decompose from decompositionMethod.
virtual labelList decompose |
Inherit decompose from decompositionMethod.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 476 of file decompositionMethod.C.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 887 of file decompositionMethod.C.