allGAMGProcAgglomeration Class Reference

Agglomerates all processor matrices onto the master processor at the coarsest but one level. More...

Inheritance diagram for allGAMGProcAgglomeration:
Collaboration diagram for allGAMGProcAgglomeration:

Public Member Functions

 TypeName ("all")
 Runtime type information. More...
 
 allGAMGProcAgglomeration (GAMGAgglomeration &agglom, const dictionary &dict)
 Construct given agglomerator and controls. More...
 
 allGAMGProcAgglomeration (const allGAMGProcAgglomeration &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~allGAMGProcAgglomeration ()
 Destructor. More...
 
virtual bool agglomerate ()
 Modify agglomeration. Return true if modified. More...
 
void operator= (const allGAMGProcAgglomeration &)=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

Agglomerates all processor matrices onto the master processor at the coarsest but one level.

It would be more logical and useful if the agglomeration onto the master took place at the coarsest level, providing a means to iteratively solve the coarsest matrix without the need for communication, but due to a programming limitation of the current implementation the agglomeration takes place at the next finer level. It would make more sense if this processor agglomerator were replaced by an iterativelySolveCoarsest option, similar to the current directSolveCoarsest option but which constructs a single lduMatrix which is solved using one of the CG iterative solvers.

Usage
Example of GAMG solver settings with all processor agglomeration
p
{
    solver          GAMG;
    smoother        GaussSeidel;

    processorAgglomeration
    {
        agglomerator         all;
    }

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

Definition at line 77 of file allGAMGProcAgglomeration.H.

Constructor & Destructor Documentation

◆ allGAMGProcAgglomeration() [1/2]

allGAMGProcAgglomeration ( GAMGAgglomeration agglom,
const dictionary dict 
)

Construct given agglomerator and controls.

Definition at line 47 of file allGAMGProcAgglomeration.C.

◆ allGAMGProcAgglomeration() [2/2]

Disallow default bitwise copy construction.

◆ ~allGAMGProcAgglomeration()

Destructor.

Definition at line 59 of file allGAMGProcAgglomeration.C.

References forAllReverse, and UPstream::freeCommunicator().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "all"  )

Runtime type information.

◆ agglomerate()

bool agglomerate ( )
virtual

◆ operator=()

void operator= ( const allGAMGProcAgglomeration )
delete

Disallow default bitwise assignment.


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