Processor agglomeration of GAMGAgglomerations. More...
#include <GAMGProcAgglomeration.H>


Public Member Functions | |
| TypeName ("GAMGProcAgglomeration") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, GAMGProcAgglomeration, GAMGAgglomeration,(GAMGAgglomeration &agglom, const dictionary &controlDict),(agglom, controlDict)) | |
| Runtime selection table for pure geometric agglomerators. | |
| GAMGProcAgglomeration (const GAMGProcAgglomeration &)=delete | |
| No copy construct. | |
| void | operator= (const GAMGProcAgglomeration &)=delete |
| No copy assignment. | |
| GAMGProcAgglomeration (GAMGAgglomeration &agglom, const dictionary &controlDict) | |
| Construct given agglomerator and controls. | |
| virtual | ~GAMGProcAgglomeration () |
| Destructor. Clears allocated communicators. | |
| virtual bool | agglomerate ()=0 |
| Modify agglomeration. | |
Static Public Member Functions | |
| static autoPtr< GAMGProcAgglomeration > | New (const word &type, GAMGAgglomeration &agglom, const dictionary &controlDict) |
| Return the selected agglomerator. | |
Protected Member Functions | |
| void | printStats (Ostream &os, GAMGAgglomeration &agglom) const |
| Debug: write agglomeration info. | |
| 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. | |
| void | clearCommunicators () |
| Clear/free allocated communicators. | |
Static Protected Member Functions | |
| static labelListList | globalCellCells (const lduMesh &) |
| Debug: calculate global cell-cells. | |
Protected Attributes | |
| GAMGAgglomeration & | agglom_ |
| Reference to agglomeration. | |
| DynamicList< label > | comms_ |
| Allocated communicators. | |
Processor agglomeration of GAMGAgglomerations.
Definition at line 54 of file GAMGProcAgglomeration.H.
|
delete |
No copy construct.
References GAMGProcAgglomeration().
Referenced by declareRunTimeSelectionTable(), eagerGAMGProcAgglomeration::eagerGAMGProcAgglomeration(), GAMGProcAgglomeration(), manualGAMGProcAgglomeration::manualGAMGProcAgglomeration(), masterCoarsestGAMGProcAgglomeration::masterCoarsestGAMGProcAgglomeration(), noneGAMGProcAgglomeration::noneGAMGProcAgglomeration(), operator=(), and procFacesGAMGProcAgglomeration::procFacesGAMGProcAgglomeration().


| GAMGProcAgglomeration | ( | GAMGAgglomeration & | agglom, |
| const dictionary & | controlDict ) |
Construct given agglomerator and controls.
Definition at line 335 of file GAMGProcAgglomeration.C.
References agglom_, and controlDict().

|
virtual |
Destructor. Clears allocated communicators.
Definition at line 372 of file GAMGProcAgglomeration.C.
References clearCommunicators().

|
protected |
Debug: write agglomeration info.
Definition at line 37 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_, GAMGAgglomeration::size(), and UList< T >::size().
Referenced by eagerGAMGProcAgglomeration::agglomerate(), manualGAMGProcAgglomeration::agglomerate(), masterCoarsestGAMGProcAgglomeration::agglomerate(), and procFacesGAMGProcAgglomeration::agglomerate().


|
protected |
Agglomerate a level. Return true if anything has changed.
Definition at line 257 of file GAMGProcAgglomeration.C.
References agglom_, lduMesh::comm(), and UPstream::myProcNo().

|
staticprotected |
Debug: calculate global cell-cells.
Definition at line 115 of file GAMGProcAgglomeration.C.
References forAll, Foam::identity(), lduAddressing::lowerAddr(), mesh, UPstream::myProcNo(), UPstream::nonBlocking, UPstream::nRequests(), UPstream::parRun(), globalIndex::range(), PtrList< T >::set(), UPtrList< T >::set(), List< T >::setSize(), lduAddressing::size(), UPtrList< T >::size(), Foam::stableSort(), lduAddressing::upperAddr(), and UPstream::waitRequests().

|
protected |
Clear/free allocated communicators.
Definition at line 380 of file GAMGProcAgglomeration.C.
References comms_, forAllReverse, and UPstream::freeCommunicator().
Referenced by ~GAMGProcAgglomeration().


| TypeName | ( | "GAMGProcAgglomeration" | ) |
Runtime type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| GAMGProcAgglomeration | , | ||
| GAMGAgglomeration | , | ||
| (GAMGAgglomeration &agglom, const dictionary &controlDict) | , | ||
| (agglom, controlDict) | ) |
Runtime selection table for pure geometric agglomerators.
References controlDict(), and GAMGProcAgglomeration().

|
delete |
No copy assignment.
References controlDict(), and GAMGProcAgglomeration().

|
static |
Return the selected agglomerator.
Definition at line 345 of file GAMGProcAgglomeration.C.
References controlDict(), DebugInFunction, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.

|
pure virtual |
Modify agglomeration.
Implemented in eagerGAMGProcAgglomeration, manualGAMGProcAgglomeration, masterCoarsestGAMGProcAgglomeration, noneGAMGProcAgglomeration, and procFacesGAMGProcAgglomeration.
Referenced by eagerGAMGProcAgglomeration::agglomerate(), manualGAMGProcAgglomeration::agglomerate(), masterCoarsestGAMGProcAgglomeration::agglomerate(), and procFacesGAMGProcAgglomeration::agglomerate().

|
protected |
Reference to agglomeration.
Definition at line 63 of file GAMGProcAgglomeration.H.
Referenced by eagerGAMGProcAgglomeration::agglomerate(), agglomerate(), manualGAMGProcAgglomeration::agglomerate(), masterCoarsestGAMGProcAgglomeration::agglomerate(), procFacesGAMGProcAgglomeration::agglomerate(), and GAMGProcAgglomeration().
|
protected |
Allocated communicators.
Definition at line 68 of file GAMGProcAgglomeration.H.
Referenced by eagerGAMGProcAgglomeration::agglomerate(), manualGAMGProcAgglomeration::agglomerate(), procFacesGAMGProcAgglomeration::agglomerate(), and clearCommunicators().