Base for geometrical domain decomposition methods. More...
Public Member Functions | |
geomDecomp (const word &derivedType, const dictionary &decompDict, int select=selectionType::DEFAULT) | |
Construct for derived type name and decomposition dictionary. More... | |
geomDecomp (const word &derivedType, const dictionary &decompDict, const word ®ionName, int select=selectionType::DEFAULT) | |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights) const =0 |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const pointField &points) const =0 |
Decompose with uniform weights on the points. 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="") | |
virtual | ~decompositionMethod ()=default |
Destructor. More... | |
label | nDomains () const noexcept |
Number of domains. More... | |
virtual bool | parallelAware () const =0 |
Is method parallel aware? More... | |
virtual labelList | decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights) const =0 |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const polyMesh &mesh, const pointField &points) const |
Decompose with uniform weights on the points. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints, const scalarField ®ionWeights) const |
Return for every coordinate the wanted processor number. Gets. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints) const |
Like decompose but with uniform weights on the regions. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights) const =0 |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc) const |
Like decompose but with uniform weights on the cells. 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... | |
Protected Member Functions | |
tmp< pointField > | adjustPoints (const pointField &) const |
Apply delta (jitter) or rotation to coordinates. More... | |
void | checkDecompositionDirections (const Vector< label > &) const |
Check that mesh directions are compatible with decomposition. More... | |
![]() | |
const dictionary & | findCoeffsDict (const word &coeffsName, int select=selectionType::DEFAULT) const |
Locate coeffsName dictionary or the fallback "coeffs" dictionary. More... | |
Protected Attributes | |
Vector< label > | n_ |
The divisions. More... | |
Vector< direction > | order_ |
Decomposition order in terms of components (optional) More... | |
const dictionary & | coeffsDict_ |
Coefficients for all derived methods. More... | |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
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) |
static autoPtr< decompositionMethod > | New (const dictionary &decompDict, const word ®ionName="") |
static void | calcCellCells (const polyMesh &mesh, const labelList &agglom, const label nLocalCoarse, const bool global, CompactListList< label > &cellCells) |
Helper: determine (local or global) cellCells from mesh. More... | |
static void | calcCellCells (const polyMesh &mesh, const labelList &agglom, const label nLocalCoarse, const bool parallel, CompactListList< label > &cellCells, CompactListList< scalar > &cellCellWeights) |
Helper: determine (local or global) cellCells and face weights. More... | |
![]() | |
enum | selectionType { DEFAULT = 0, EXACT = 1, MANDATORY = 2, NULL_DICT = 4 } |
Selection type when handling the coefficients dictionary. More... | |
![]() | |
static const dictionary & | findCoeffsDict (const dictionary &dict, const word &coeffsName, int select=selectionType::DEFAULT) |
Base for geometrical domain decomposition methods.
Property | Description | Required | Default |
---|---|---|---|
n | (nx ny nz) | yes | |
order | order of operation | no | xyz |
delta | delta (jitter) for rotation matrix | no | 0.001 |
rotation | coordinate rotation | no |
Definition at line 86 of file geomDecomp.H.
geomDecomp | ( | const word & | derivedType, |
const dictionary & | decompDict, | ||
int | select = selectionType::DEFAULT |
||
) |
Construct for derived type name and decomposition dictionary.
Definition at line 153 of file geomDecomp.C.
geomDecomp | ( | const word & | derivedType, |
const dictionary & | decompDict, | ||
const word & | regionName, | ||
int | select = selectionType::DEFAULT |
||
) |
Construct for derived type name, decomposition dictionary and region name
Definition at line 171 of file geomDecomp.C.
|
protected |
Apply delta (jitter) or rotation to coordinates.
Definition at line 122 of file geomDecomp.C.
References points.
|
protected |
Check that mesh directions are compatible with decomposition.
Definition at line 131 of file geomDecomp.C.
References Foam::endl(), and WarningInFunction.
Referenced by simpleGeomDecomp::decompose(), and hierarchGeomDecomp::decompose().
|
pure virtual |
Return for every coordinate the wanted processor number.
Reimplemented from decompositionMethod.
Implemented in simpleGeomDecomp, and hierarchGeomDecomp.
|
pure virtual |
Decompose with uniform weights on the points.
Reimplemented from decompositionMethod.
Implemented in simpleGeomDecomp, and hierarchGeomDecomp.
|
protected |
The divisions.
Definition at line 115 of file geomDecomp.H.
Decomposition order in terms of components (optional)
Definition at line 118 of file geomDecomp.H.
|
protected |
Coefficients for all derived methods.
Definition at line 121 of file geomDecomp.H.