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


Public Member Functions | |
| TypeName ("masterCoarsest") | |
| Runtime type information. | |
| masterCoarsestGAMGProcAgglomeration (GAMGAgglomeration &agglom, const dictionary &controlDict) | |
| Construct given agglomerator and controls. | |
| virtual | ~masterCoarsestGAMGProcAgglomeration () |
| Destructor. | |
| virtual bool | agglomerate () |
| Modify agglomeration. Return true if modified. | |
| Public Member Functions inherited from GAMGProcAgglomeration | |
| 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. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from GAMGProcAgglomeration | |
| static autoPtr< GAMGProcAgglomeration > | New (const word &type, GAMGAgglomeration &agglom, const dictionary &controlDict) |
| Return the selected agglomerator. | |
| Protected Member Functions inherited from GAMGProcAgglomeration | |
| 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 inherited from GAMGProcAgglomeration | |
| static labelListList | globalCellCells (const lduMesh &) |
| Debug: calculate global cell-cells. | |
| Protected Attributes inherited from GAMGProcAgglomeration | |
| GAMGAgglomeration & | agglom_ |
| Reference to agglomeration. | |
| DynamicList< label > | comms_ |
| Allocated communicators. | |
Processor agglomeration of GAMGAgglomerations.
optionally have multiple masters through the nProcessorsPerMaster parameter. e.g.
p { solver GAMG; tolerance 1e-06; relTol 0.1; smoother GaussSeidel;
nCellsInCoarsestLevel 10;
processorAgglomerator masterCoarsest; Groups of 32 cores get combined so each 'master' gets (roughly) 32*nCellsInCoarsestLevel cells. nProcessorsPerMaster 32;
Alternative : specify number of (equi-distributed) masters nMasters 2;
Restart local agglomeration after processor agglomeration. Used as nCellsInCoarsestLevel. Only applicable for pair-wise local agglomeration methods. nCellsInMasterLevel 1; }
Definition at line 77 of file masterCoarsestGAMGProcAgglomeration.H.
| masterCoarsestGAMGProcAgglomeration | ( | GAMGAgglomeration & | agglom, |
| const dictionary & | controlDict ) |
Construct given agglomerator and controls.
Definition at line 43 of file masterCoarsestGAMGProcAgglomeration.C.
References lduMesh::comm(), controlDict(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, GAMGProcAgglomeration::GAMGProcAgglomeration(), keyType::LITERAL, MeshObject< Mesh, MeshObjectType, Type >::mesh(), UPstream::nProcs(), and Foam::readLabel().

|
virtual |
Destructor.
Definition at line 99 of file masterCoarsestGAMGProcAgglomeration.C.
| TypeName | ( | "masterCoarsest" | ) |
|
virtual |
Modify agglomeration. Return true if modified.
Implements GAMGProcAgglomeration.
Definition at line 106 of file masterCoarsestGAMGProcAgglomeration.C.
References GAMGProcAgglomeration::agglom_, GAMGProcAgglomeration::agglomerate(), UList< T >::back(), GAMGAgglomeration::calculateRegionMaster(), lduMesh::comm(), Foam::endl(), Foam::flatOutput(), forAll, Foam::GlobalIOList< Tuple2< scalar, vector > >::typeName, Foam::Info, Foam::invertOneToMany(), lduMesh::lduAddr(), UPstream::myProcNo(), UPstream::newCommunicator(), Foam::nl, UPstream::nProcs(), p, Foam::Pout, GAMGProcAgglomeration::printStats(), UList< T >::size(), and Foam::Zero.
