pairGAMGProcAgglomeration Class Reference

Pair-wise processor agglomerator. More...

Inheritance diagram for pairGAMGProcAgglomeration:
Collaboration diagram for pairGAMGProcAgglomeration:

Public Member Functions

 TypeName ("pair")
 Runtime type information. More...
 
 pairGAMGProcAgglomeration (GAMGAgglomeration &agglom, const dictionary &dict)
 Construct given agglomerator and controls. More...
 
 pairGAMGProcAgglomeration (const pairGAMGProcAgglomeration &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~pairGAMGProcAgglomeration ()
 Destructor. More...
 
virtual bool agglomerate ()
 Modify agglomeration. Return true if modified. More...
 
void operator= (const pairGAMGProcAgglomeration &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from GAMGProcAgglomeration
 TypeName ("GAMGProcAgglomeration")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, GAMGProcAgglomeration, GAMGAgglomeration,(GAMGAgglomeration &agglom, const dictionary &dict),(agglom, dict))
 Runtime selection table for pure geometric agglomerators. More...
 
 GAMGProcAgglomeration (GAMGAgglomeration &agglom, const dictionary &dict)
 Construct given agglomerator and controls. More...
 
 GAMGProcAgglomeration (const GAMGProcAgglomeration &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~GAMGProcAgglomeration ()
 Destructor. More...
 
void operator= (const GAMGProcAgglomeration &)=delete
 Disallow default bitwise assignment. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from GAMGProcAgglomeration
static autoPtr< GAMGProcAgglomerationNew (GAMGAgglomeration &agglom, const dictionary &dict)
 Return the selected agglomerator. More...
 
- Protected Member Functions inherited from GAMGProcAgglomeration
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...
 
- Static Protected Member Functions inherited from GAMGProcAgglomeration
static labelListList globalCellCells (const lduMesh &)
 Debug: calculate global cell-cells. More...
 
- Protected Attributes inherited from GAMGProcAgglomeration
GAMGAgglomerationagglom_
 Reference to agglomeration. More...
 

Detailed Description

Pair-wise processor agglomerator.

Neighbouring pairs of processors are agglomerated when the number of agglomerated cells per processor in the level is below minCellsPerProcessor and the pairs chosen based on the largest number of connecting processor faces.

Usage
Example of GAMG solver settings with pair-wise processor agglomeration
p
{
    solver          GAMG;
    smoother        GaussSeidel;

    processorAgglomeration
    {
        agglomerator         pair;
        minCellsPerProcessor 300;
    }

    tolerance       1e-8;
    relTol          0;
}
Source files

Definition at line 76 of file pairGAMGProcAgglomeration.H.

Constructor & Destructor Documentation

◆ pairGAMGProcAgglomeration() [1/2]

pairGAMGProcAgglomeration ( GAMGAgglomeration agglom,
const dictionary dict 
)

Construct given agglomerator and controls.

Definition at line 219 of file pairGAMGProcAgglomeration.C.

◆ pairGAMGProcAgglomeration() [2/2]

Disallow default bitwise copy construction.

◆ ~pairGAMGProcAgglomeration()

Destructor.

Definition at line 232 of file pairGAMGProcAgglomeration.C.

References forAllReverse, and UPstream::freeCommunicator().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "pair"  )

Runtime type information.

◆ agglomerate()

bool agglomerate ( )
virtual

Modify agglomeration. Return true if modified.

Implements GAMGProcAgglomeration.

Definition at line 246 of file pairGAMGProcAgglomeration.C.

References GAMGProcAgglomeration::agglomerate(), UPstream::allocateCommunicator(), GAMGAgglomeration::calculateRegionMaster(), lduMesh::comm(), Foam::endl(), UList< T >::last(), Foam::nl, UPstream::nProcs(), Foam::Pout, and rndGen().

Here is the call graph for this function:

◆ operator=()

void operator= ( const pairGAMGProcAgglomeration )
delete

Disallow default bitwise assignment.


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