Geometrical domain decomposition. More...
Public Member Functions | |
geometric (const dictionary &decompositionDict, const word &derivedType) | |
Construct given the decomposition dictionary. More... | |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights)=0 |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const pointField &)=0 |
Like decompose but with uniform weights on the points. More... | |
![]() | |
TypeName ("decompositionMethod") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, decompositionMethod, decomposer,(const dictionary &decompositionDict),(decompositionDict)) | |
declareRunTimeSelectionTable (autoPtr, decompositionMethod, distributor,(const dictionary &decompositionDict),(decompositionDict)) | |
decompositionMethod (const dictionary &decompositionDict) | |
Construct given the decomposition dictionary. More... | |
decompositionMethod (const decompositionMethod &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~decompositionMethod () |
Destructor. More... | |
label | nDomains () const |
virtual labelList | decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights)=0 |
Return for every coordinate the wanted processor number. Use the. More... | |
virtual labelList | decompose (const polyMesh &, const pointField &) |
Like decompose but with uniform weights on the points. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints, const scalarField ®ionWeights) |
Return for every coordinate the wanted processor number. Gets. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints) |
Like decompose but with uniform weights on the regions. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cellCentres, const scalarField &cellWeights)=0 |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cellCentres) |
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) |
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) |
Helper: apply constraints to a decomposition. This gives. More... | |
virtual labelList | decompose (const polyMesh &mesh, const scalarField &cellWeights, const boolList &blockedFace, const PtrList< labelList > &specifiedProcessorFaces, const labelList &specifiedProcessor, const List< labelPair > &explicitConnections) |
Decompose a mesh with constraints. More... | |
labelList | decompose (const polyMesh &mesh, const scalarField &cellWeights) |
Decompose a mesh. Apply all constraints from decomposeParDict. More... | |
void | operator= (const decompositionMethod &)=delete |
Disallow default bitwise assignment. More... | |
Protected Attributes | |
const dictionary & | geometricDict_ |
Vector< label > | n_ |
scalar | delta_ |
tensor | rotDelta_ |
![]() | |
dictionary | decompositionDict_ |
label | nProcessors_ |
PtrList< decompositionConstraint > | constraints_ |
Optional constraints. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< decompositionMethod > | NewDecomposer (const dictionary &decompositionDict) |
Return a reference to the selected decomposition method. More... | |
static autoPtr< decompositionMethod > | NewDistributor (const dictionary &decompositionDict) |
Return a reference to the selected decomposition method. More... | |
static IOdictionary | decomposeParDict (const Time &time) |
Read and return the decomposeParDict. More... | |
static labelList | scaleWeights (const scalarField &weights, label &nWeights, const bool distributed=true) |
Convert the given scalar weights to labels. More... | |
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... | |
![]() | |
label | nWeights (const pointField &points, const scalarField &pointWeights) const |
Return the number of weights per point. More... | |
label | checkWeights (const pointField &points, const scalarField &pointWeights) const |
Check the weights against the points. More... | |
geometric | ( | const dictionary & | decompositionDict, |
const word & | derivedType | ||
) |
Construct given the decomposition dictionary.
and the derived type name
Definition at line 30 of file geometric.C.
References geometric::delta_, Foam::exit(), Foam::FatalError, FatalErrorInFunction, geometric::n_, Foam::nl, decompositionMethod::nProcessors_, geometric::rotDelta_, Foam::sqr(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
|
pure virtual |
Return for every coordinate the wanted processor number.
Reimplemented from decompositionMethod.
Implemented in hierarchical, and simple.
|
pure virtual |
Like decompose but with uniform weights on the points.
Reimplemented from decompositionMethod.
Implemented in simple, and hierarchical.
|
protected |
Definition at line 58 of file geometric.H.
Definition at line 60 of file geometric.H.
Referenced by geometric::geometric().
|
protected |
Definition at line 61 of file geometric.H.
Referenced by geometric::geometric().
|
protected |
Definition at line 62 of file geometric.H.
Referenced by geometric::geometric().