Public Member Functions | Private Member Functions | Private Attributes
multiLevelDecomp Class Reference

Decomposition given using consecutive application of decomposers. More...

Inheritance diagram for multiLevelDecomp:
Inheritance graph
[legend]
Collaboration diagram for multiLevelDecomp:
Collaboration graph
[legend]

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 &regionPoints, const scalarField &regionWeights)
 Inherit decompose from decompositionMethod. More...
 
virtual labelList decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField &regionPoints)
 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...
 
- Public Member Functions inherited from decompositionMethod
 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 &regionPoints, const scalarField &regionWeights)
 Return for every coordinate the wanted processor number. Gets. More...
 
virtual labelList decompose (const polyMesh &mesh, const labelList &cellToRegion, const pointField &regionPoints)
 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< decompositionMethodmethods_
 

Additional Inherited Members

- Static Public Member Functions inherited from decompositionMethod
static autoPtr< decompositionMethodNew (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...
 
- Protected Attributes inherited from decompositionMethod
const dictionarydecompositionDict_
 
label nProcessors_
 
PtrList< decompositionConstraintconstraints_
 Optional constraints. More...
 

Detailed Description

Decomposition given using consecutive application of decomposers.

Source files

Definition at line 46 of file multiLevelDecomp.H.

Constructor & Destructor Documentation

◆ multiLevelDecomp() [1/2]

multiLevelDecomp ( const multiLevelDecomp )
private

◆ multiLevelDecomp() [2/2]

multiLevelDecomp ( const dictionary decompositionDict)

◆ ~multiLevelDecomp()

virtual ~multiLevelDecomp ( )
inlinevirtual

Destructor.

Definition at line 103 of file multiLevelDecomp.H.

Member Function Documentation

◆ subsetGlobalCellCells()

void subsetGlobalCellCells ( const label  nDomains,
const label  domainI,
const labelList dist,
const labelListList cellCells,
const labelList set,
labelListList subCellCells,
labelList cutConnections 
) const
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().

Here is the call graph for this function:

◆ decompose() [1/13]

void decompose ( const labelListList pointPoints,
const pointField points,
const scalarField pointWeights,
const labelList pointMap,
const label  levelI,
labelField finalDecomp 
)
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().

Here is the call graph for this function:

◆ operator=()

void operator= ( const multiLevelDecomp )
private

Disallow default bitwise copy construct and assignment.

◆ TypeName()

TypeName ( "multiLevel"  )

Runtime type information.

◆ parallelAware()

bool parallelAware ( ) const
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.

◆ decompose() [2/13]

Foam::labelList decompose ( const polyMesh mesh,
const pointField points,
const scalarField pointWeights 
)
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.

Here is the call graph for this function:

◆ decompose() [3/13]

Foam::labelList decompose ( const labelListList globalCellCells,
const pointField cc,
const scalarField cWeights 
)
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.

Here is the call graph for this function:

◆ decompose() [4/13]

virtual labelList decompose
inline

Inherit decompose from decompositionMethod.

Definition at line 126 of file decompositionMethod.H.

◆ decompose() [5/13]

virtual labelList decompose
inline

Inherit decompose from decompositionMethod.

Definition at line 136 of file decompositionMethod.H.

◆ decompose() [6/13]

virtual labelList decompose

Inherit decompose from decompositionMethod.

◆ decompose() [7/13]

Foam::labelList decompose

Inherit decompose from decompositionMethod.

Definition at line 205 of file decompositionMethod.C.

◆ decompose() [8/13]

Foam::labelList decompose

Inherit decompose from decompositionMethod.

Definition at line 217 of file decompositionMethod.C.

◆ decompose() [9/13]

Foam::labelList decompose

Inherit decompose from decompositionMethod.

Definition at line 258 of file decompositionMethod.C.

◆ decompose() [10/13]

virtual labelList decompose

Inherit decompose from decompositionMethod.

◆ decompose() [11/13]

Foam::labelList decompose

Inherit decompose from decompositionMethod.

Definition at line 277 of file decompositionMethod.C.

◆ decompose() [12/13]

Foam::labelList decompose

Inherit decompose from decompositionMethod.

Definition at line 1073 of file decompositionMethod.C.

◆ decompose() [13/13]

Foam::labelList decompose

Inherit decompose from decompositionMethod.

Definition at line 1475 of file decompositionMethod.C.

Field Documentation

◆ methodsDict_

dictionary methodsDict_
private

Definition at line 52 of file multiLevelDecomp.H.

Referenced by multiLevelDecomp::multiLevelDecomp().

◆ methods_

PtrList<decompositionMethod> methods_
private

Definition at line 54 of file multiLevelDecomp.H.

Referenced by multiLevelDecomp::multiLevelDecomp().


The documentation for this class was generated from the following files: