Processor agglomeration of GAMGAgglomerations. More...
Public Member Functions | |
TypeName ("GAMGProcAgglomeration") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, GAMGProcAgglomeration, GAMGAgglomeration,(GAMGAgglomeration &agglom, const dictionary &controlDict),(agglom, controlDict)) | |
Runtime selection table for pure geometric agglomerators. More... | |
GAMGProcAgglomeration (const GAMGProcAgglomeration &)=delete | |
No copy construct. More... | |
void | operator= (const GAMGProcAgglomeration &)=delete |
No copy assignment. More... | |
GAMGProcAgglomeration (GAMGAgglomeration &agglom, const dictionary &controlDict) | |
Construct given agglomerator and controls. More... | |
virtual | ~GAMGProcAgglomeration () |
Destructor. Clears allocated communicators. More... | |
virtual bool | agglomerate ()=0 |
Modify agglomeration. More... | |
Static Public Member Functions | |
static autoPtr< GAMGProcAgglomeration > | New (const word &type, GAMGAgglomeration &agglom, const dictionary &controlDict) |
Return the selected agglomerator. More... | |
Protected Member Functions | |
void | printStats (Ostream &os, GAMGAgglomeration &agglom) const |
Debug: write agglomeration info. More... | |
bool | agglomerate (const label fineLevelIndex, const labelList &procAgglomMap, const labelList &masterProcs, const List< label > &agglomProcIDs, const label procAgglomComm) |
Agglomerate a level. Return true if anything has changed. More... | |
void | clearCommunicators () |
Clear/free allocated communicators. More... | |
Static Protected Member Functions | |
static labelListList | globalCellCells (const lduMesh &) |
Debug: calculate global cell-cells. More... | |
Protected Attributes | |
GAMGAgglomeration & | agglom_ |
Reference to agglomeration. More... | |
DynamicList< label > | comms_ |
Allocated communicators. More... | |
Processor agglomeration of GAMGAgglomerations.
Definition at line 54 of file GAMGProcAgglomeration.H.
|
delete |
No copy construct.
GAMGProcAgglomeration | ( | GAMGAgglomeration & | agglom, |
const dictionary & | controlDict | ||
) |
Construct given agglomerator and controls.
Definition at line 340 of file GAMGProcAgglomeration.C.
|
virtual |
Destructor. Clears allocated communicators.
Definition at line 376 of file GAMGProcAgglomeration.C.
References GAMGProcAgglomeration::clearCommunicators().
|
protected |
Debug: write agglomeration info.
Definition at line 38 of file GAMGProcAgglomeration.C.
References GAMGAgglomeration::agglomProcIDs_, Foam::endl(), GAMGAgglomeration::faceRestrictAddressing(), forAll, GAMGAgglomeration::hasMeshLevel(), lduMesh::info(), Foam::max(), GAMGAgglomeration::meshLevel(), GAMGAgglomeration::nCells(), GAMGAgglomeration::nFaces(), Foam::nl, os(), GAMGAgglomeration::patchFaceRestrictAddressing(), GAMGAgglomeration::procAgglomMap_, GAMGAgglomeration::procCellOffsets_, GAMGAgglomeration::procCommunicator_, GAMGAgglomeration::restrictAddressing(), GAMGAgglomeration::restrictAddressing_, UList< T >::size(), and GAMGAgglomeration::size().
|
protected |
Agglomerate a level. Return true if anything has changed.
Definition at line 262 of file GAMGProcAgglomeration.C.
References lduMesh::comm().
|
staticprotected |
Debug: calculate global cell-cells.
Definition at line 116 of file GAMGProcAgglomeration.C.
References Foam::constant::physicoChemical::c1, forAll, Foam::identity(), lduAddressing::lowerAddr(), mesh, UPtrList< T >::set(), lduAddressing::size(), UPtrList< T >::size(), Foam::stableSort(), and lduAddressing::upperAddr().
|
protected |
Clear/free allocated communicators.
Definition at line 384 of file GAMGProcAgglomeration.C.
References forAllReverse, and UPstream::freeCommunicator().
Referenced by GAMGProcAgglomeration::~GAMGProcAgglomeration().
TypeName | ( | "GAMGProcAgglomeration" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
GAMGProcAgglomeration | , | ||
GAMGAgglomeration | , | ||
(GAMGAgglomeration &agglom, const dictionary &controlDict) | , | ||
(agglom, controlDict) | |||
) |
Runtime selection table for pure geometric agglomerators.
|
delete |
No copy assignment.
|
static |
Return the selected agglomerator.
Definition at line 350 of file GAMGProcAgglomeration.C.
References controlDict(), DebugInFunction, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.
|
pure virtual |
Modify agglomeration.
Implemented in masterCoarsestGAMGProcAgglomeration, procFacesGAMGProcAgglomeration, manualGAMGProcAgglomeration, eagerGAMGProcAgglomeration, and noneGAMGProcAgglomeration.
Referenced by eagerGAMGProcAgglomeration::agglomerate(), manualGAMGProcAgglomeration::agglomerate(), procFacesGAMGProcAgglomeration::agglomerate(), and masterCoarsestGAMGProcAgglomeration::agglomerate().
|
protected |
Reference to agglomeration.
Definition at line 63 of file GAMGProcAgglomeration.H.
|
protected |
Allocated communicators.
Definition at line 68 of file GAMGProcAgglomeration.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.