Abstract base class for decomposition. More...
#include <decompositionMethods/decompositionMethod.H>
Abstract base class for decomposition.
Definition at line 48 of file decompositionMethod.H.
Public Member Functions | |
TypeName ("decompositionMethod") | |
Runtime type information.
| |
declareRunTimeSelectionTable (autoPtr, decompositionMethod, dictionary,(const dictionary &decompositionDict),(decompositionDict)) | |
declareRunTimeSelectionTable (autoPtr, decompositionMethod, dictionaryMesh,(const dictionary &decompositionDict, const polyMesh &mesh),(decompositionDict, mesh)) | |
decompositionMethod (const dictionary &decompositionDict) | |
Construct given the decomposition dictionary.
| |
virtual | ~decompositionMethod () |
virtual bool | parallelAware () const =0 |
Is method parallel aware (i.e. does it synchronize domains across.
| |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights)=0 |
Return for every coordinate the wanted processor number. Use the.
| |
virtual labelList | decompose (const pointField &) |
Like decompose but with uniform weights on the points.
| |
virtual labelList | decompose (const labelList &cellToRegion, const pointField ®ionPoints, const scalarField ®ionWeights) |
Return for every coordinate the wanted processor number. Gets.
| |
virtual labelList | decompose (const labelList &cellToRegion, const pointField ®ionPoints) |
Like decompose but with uniform weights on the regions.
| |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights)=0 |
Return for every coordinate the wanted processor number. Explicitly.
| |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc) |
Like decompose but with uniform weights on the cells.
| |
Static Public Member Functions | |
static autoPtr < decompositionMethod > | New (const dictionary &decompositionDict) |
Return a reference to the selected decomposition method.
| |
static autoPtr < decompositionMethod > | New (const dictionary &decompositionDict, const polyMesh &mesh) |
Return a reference to the selected decomposition method.
| |
Static Protected Member Functions | |
static void | calcCellCells (const polyMesh &mesh, const labelList &agglom, const label nCoarse, labelListList &cellCells) |
Helper: determine (non-parallel) cellCells from mesh agglomeration.
| |
Protected Attributes | |
const dictionary & | decompositionDict_ |
label | nProcessors_ |
decompositionMethod | ( | const dictionary & | decompositionDict ) | [inline]
|
Construct given the decomposition dictionary.
Definition at line 128 of file decompositionMethod.H.
virtual ~decompositionMethod | ( | ) | [inline, virtual]
|
Definition at line 140 of file decompositionMethod.H.
void calcCellCells | ( | const polyMesh & | mesh, |
const labelList & | agglom, | ||
const label | nCoarse, | ||
labelListList & | cellCells | ||
) | [static, protected]
|
Helper: determine (non-parallel) cellCells from mesh agglomeration.
Definition at line 159 of file decompositionMethod.C.
References List< T >::append(), Foam::exit(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), Foam::FatalError, FatalErrorIn, Foam::findIndex(), forAll, primitiveMesh::nCells(), List< T >::setSize(), List< T >::size(), and List< T >::transfer().
TypeName | ( | "decompositionMethod" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
decompositionMethod | , | ||
dictionary | , | ||
(const dictionary &decompositionDict) | , | ||
(decompositionDict) | |||
) |
declareRunTimeSelectionTable | ( | autoPtr | , |
decompositionMethod | , | ||
dictionaryMesh | , | ||
(const dictionary &decompositionDict, const polyMesh &mesh) | , | ||
(decompositionDict, mesh) | |||
) |
Foam::autoPtr< Foam::decompositionMethod > New | ( | const dictionary & | decompositionDict ) | [static]
|
Return a reference to the selected decomposition method.
Definition at line 43 of file decompositionMethod.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::Info, and dictionary::lookup().
Referenced by autoHexMeshDriver::autoHexMeshDriver().
Foam::autoPtr< Foam::decompositionMethod > New | ( | const dictionary & | decompositionDict, |
const polyMesh & | mesh | ||
) | [static]
|
Return a reference to the selected decomposition method.
Definition at line 73 of file decompositionMethod.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, Foam::Info, dictionary::lookup(), and mesh.
virtual bool parallelAware | ( | ) | const [pure virtual]
|
Is method parallel aware (i.e. does it synchronize domains across.
proc boundaries)
Implemented in hierarchGeomDecomp, manualDecomp, simpleGeomDecomp, metisDecomp, parMetisDecomp, and scotchDecomp.
Referenced by autoHexMeshDriver::autoHexMeshDriver().
virtual labelList decompose | ( | const pointField & | points, |
const scalarField & | pointWeights | ||
) | [pure virtual]
|
Return for every coordinate the wanted processor number. Use the.
mesh connectivity (if needed)
Implemented in hierarchGeomDecomp, manualDecomp, simpleGeomDecomp, metisDecomp, parMetisDecomp, and scotchDecomp.
Referenced by meshRefinement::balance(), and meshRefinement::decomposeCombineRegions().
Foam::labelList decompose | ( | const pointField & | points ) | [virtual]
|
Like decompose but with uniform weights on the points.
Reimplemented in hierarchGeomDecomp, and simpleGeomDecomp.
Definition at line 105 of file decompositionMethod.C.
Foam::labelList decompose | ( | const labelList & | cellToRegion, |
const pointField & | regionPoints, | ||
const scalarField & | regionWeights | ||
) | [virtual]
|
Return for every coordinate the wanted processor number. Gets.
passed agglomeration map (from fine to coarse cells) and coarse cell location. Can be overridden by decomposers that provide this functionality natively. Coarse cells are local to the processor (if in parallel). If you want to have coarse cells spanning processors use the globalCellCells instead.
Reimplemented in metisDecomp, parMetisDecomp, and scotchDecomp.
Definition at line 116 of file decompositionMethod.C.
References forAll, and List< T >::size().
Foam::labelList decompose | ( | const labelList & | cellToRegion, |
const pointField & | regionPoints | ||
) | [virtual]
|
Like decompose but with uniform weights on the regions.
Reimplemented in metisDecomp, parMetisDecomp, and scotchDecomp.
Definition at line 138 of file decompositionMethod.C.
References forAll, and List< T >::size().
virtual labelList decompose | ( | const labelListList & | globalCellCells, |
const pointField & | cc, | ||
const scalarField & | cWeights | ||
) | [pure virtual]
|
Return for every coordinate the wanted processor number. Explicitly.
provided connectivity - does not use mesh_. The connectivity is equal to mesh.cellCells() except for
Implemented in hierarchGeomDecomp, manualDecomp, simpleGeomDecomp, metisDecomp, parMetisDecomp, and scotchDecomp.
Foam::labelList decompose | ( | const labelListList & | globalCellCells, |
const pointField & | cc | ||
) | [virtual]
|
Like decompose but with uniform weights on the cells.
Reimplemented in hierarchGeomDecomp.
Definition at line 204 of file decompositionMethod.C.
const dictionary& decompositionDict_ [protected]
|
Definition at line 55 of file decompositionMethod.H.
label nProcessors_ [protected]
|
Definition at line 56 of file decompositionMethod.H.