Decomposition given using consecutive application of decomposers. More...
Public Member Functions | |
TypeName ("multiLevel") | |
Runtime type information. More... | |
multiLevelDecomp (const dictionary &decompositionDict) | |
Construct given the decomposition dictionary. More... | |
virtual | ~multiLevelDecomp () |
Destructor. More... | |
virtual bool | parallelAware () const |
Is method parallel aware (i.e. does it synchronize domains across. More... | |
virtual labelList | decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights) |
Return for every coordinate the wanted processor number. Use the. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights) |
Return for every coordinate the wanted processor number. Explicitly. More... | |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights) |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const pointField &) |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const polyMesh &mesh, const pointField &points, const scalarField &pointWeights)=0 |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const polyMesh &, const pointField &) |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints, const scalarField ®ionWeights) |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField ®ionPoints) |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc, const scalarField &cWeights)=0 |
Inherit decompose from decompositionMethod. More... | |
virtual labelList | decompose (const labelListList &globalCellCells, const pointField &cc) |
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) |
Inherit decompose from decompositionMethod. More... | |
labelList | decompose (const polyMesh &mesh, const scalarField &cWeights) |
Inherit decompose from decompositionMethod. More... | |
![]() | |
TypeName ("decompositionMethod") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, decompositionMethod, dictionary,(const dictionary &decompositionDict),(decompositionDict)) | |
decompositionMethod (const dictionary &decompositionDict) | |
Construct given the decomposition dictionary. More... | |
virtual | ~decompositionMethod () |
Destructor. More... | |
label | nDomains () const |
virtual labelList | decompose (const pointField &points, const scalarField &pointWeights) |
Return for every coordinate the wanted processor number. More... | |
virtual labelList | decompose (const pointField &) |
Like decompose but with uniform weights on the points. 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 &cc) |
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) |
labelList | decompose (const polyMesh &mesh, const scalarField &cWeights) |
Decompose a mesh. Apply all constraints from decomposeParDict. More... | |
Private Member Functions | |
void | subsetGlobalCellCells (const label nDomains, const label domainI, const labelList &dist, const labelListList &cellCells, const labelList &set, labelListList &subCellCells, labelList &cutConnections) const |
Given connectivity across processors work out connectivity. More... | |
void | decompose (const labelListList &pointPoints, const pointField &points, const scalarField &pointWeights, const labelList &pointMap, const label levelI, labelField &finalDecomp) |
Decompose level methodI without addressing. More... | |
void | operator= (const multiLevelDecomp &) |
Disallow default bitwise copy construct and assignment. More... | |
multiLevelDecomp (const multiLevelDecomp &) | |
Private Attributes | |
dictionary | methodsDict_ |
PtrList< decompositionMethod > | methods_ |
Additional Inherited Members | |
![]() | |
static autoPtr< decompositionMethod > | New (const dictionary &decompositionDict) |
Return a reference to the selected decomposition method. 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... | |
![]() | |
const dictionary & | decompositionDict_ |
label | nProcessors_ |
PtrList< decompositionConstraint > | constraints_ |
Optional constraints. More... | |
Decomposition given using consecutive application of decomposers.
Definition at line 46 of file multiLevelDecomp.H.
|
private |
multiLevelDecomp | ( | const dictionary & | decompositionDict | ) |
Construct given the decomposition dictionary.
Definition at line 330 of file multiLevelDecomp.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, forAllConstIter(), Foam::Info, multiLevelDecomp::methods_, multiLevelDecomp::methodsDict_, n, decompositionMethod::nDomains(), decompositionMethod::New(), and Foam::type().
|
inlinevirtual |
Destructor.
Definition at line 103 of file multiLevelDecomp.H.
|
private |
Given connectivity across processors work out connectivity.
for a (consistent) subset
Definition at line 52 of file multiLevelDecomp.C.
References mapDistribute::distribute(), forAll, Foam::invert(), List::setSize(), List::size(), globalIndex::toGlobal(), and globalIndex::whichProcID().
|
private |
Decompose level methodI without addressing.
Definition at line 126 of file multiLevelDecomp.C.
References Foam::endl(), Foam::findIndices(), forAll, Foam::invertOneToMany(), n, Foam::compressible::New(), Foam::nl, nPatches, nPoints, points, Foam::Pout, prefixOSstream::prefix(), Foam::reduce(), Foam::returnReduce(), dictionary::set(), and List::size().
|
private |
Disallow default bitwise copy construct and assignment.
TypeName | ( | "multiLevel" | ) |
Runtime type information.
|
virtual |
Is method parallel aware (i.e. does it synchronize domains across.
proc boundaries)
Implements decompositionMethod.
Definition at line 365 of file multiLevelDecomp.C.
References forAll.
|
virtual |
Return for every coordinate the wanted processor number. Use the.
mesh connectivity (if needed)
Implements decompositionMethod.
Definition at line 379 of file multiLevelDecomp.C.
References Foam::identity(), and mesh.
|
virtual |
Return for every coordinate the wanted processor number. Explicitly.
provided connectivity - does not use mesh_.
Implements decompositionMethod.
Definition at line 407 of file multiLevelDecomp.C.
References Foam::identity(), and points.
|
inline |
Inherit decompose from decompositionMethod.
Definition at line 126 of file decompositionMethod.H.
|
inline |
Inherit decompose from decompositionMethod.
Definition at line 136 of file decompositionMethod.H.
virtual labelList decompose |
Inherit decompose from decompositionMethod.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 205 of file decompositionMethod.C.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 217 of file decompositionMethod.C.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 258 of file decompositionMethod.C.
virtual labelList decompose |
Inherit decompose from decompositionMethod.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 277 of file decompositionMethod.C.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 1073 of file decompositionMethod.C.
Foam::labelList decompose |
Inherit decompose from decompositionMethod.
Definition at line 1475 of file decompositionMethod.C.
|
private |
Definition at line 52 of file multiLevelDecomp.H.
Referenced by multiLevelDecomp::multiLevelDecomp().
|
private |
Definition at line 54 of file multiLevelDecomp.H.
Referenced by multiLevelDecomp::multiLevelDecomp().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.