GAMGSolver Class Reference

Geometric agglomerated algebraic multigrid solver. More...

Inheritance diagram for GAMGSolver:
Collaboration diagram for GAMGSolver:

Public Member Functions

 TypeName ("GAMG")
 Runtime type information. More...
 
 GAMGSolver (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)
 Construct from lduMatrix and solver controls. More...
 
virtual ~GAMGSolver ()
 Destructor. More...
 
virtual solverPerformance solve (scalarField &psi, const scalarField &source, const direction cmpt=0) const
 Solve. More...
 
- Public Member Functions inherited from lduMatrix::solver
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, solver, symMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls))
 
 declareRunTimeSelectionTable (autoPtr, solver, asymMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls))
 
 solver (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)
 
virtual ~solver ()
 Destructor. More...
 
const wordfieldName () const
 
const lduMatrixmatrix () const
 
const FieldField< Field, scalar > & interfaceBouCoeffs () const
 
const FieldField< Field, scalar > & interfaceIntCoeffs () const
 
const lduInterfaceFieldPtrsListinterfaces () const
 
virtual void read (const dictionary &)
 Read and reset the solver parameters from the given stream. More...
 
scalar normFactor (const scalarField &psi, const scalarField &source, const scalarField &Apsi, scalarField &tmpField) const
 Return the matrix norm used to normalise the residual for the. More...
 

Friends

class GAMGPreconditioner
 

Additional Inherited Members

- Static Public Member Functions inherited from lduMatrix::solver
static autoPtr< solverNew (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls)
 Return a new solver. More...
 
- Protected Attributes inherited from lduMatrix::solver
word fieldName_
 
const lduMatrixmatrix_
 
const FieldField< Field, scalar > & interfaceBouCoeffs_
 
const FieldField< Field, scalar > & interfaceIntCoeffs_
 
lduInterfaceFieldPtrsList interfaces_
 
dictionary controlDict_
 Dictionary of controls. More...
 
label maxIter_
 Maximum number of iterations in the solver. More...
 
label minIter_
 Minimum number of iterations in the solver. More...
 
scalar tolerance_
 Final convergence tolerance. More...
 
scalar relTol_
 Convergence tolerance relative to the initial. More...
 
- Static Protected Attributes inherited from lduMatrix::solver
static const label defaultMaxIter_ = 1000
 Default maximum number of iterations in the solver. More...
 

Detailed Description

Geometric agglomerated algebraic multigrid solver.

Characteristics:

  • Requires positive definite, diagonally dominant matrix.
  • Agglomeration algorithm: selectable and optionally cached.
  • Restriction operator: summation.
  • Prolongation operator: injection.
  • Smoother: Gauss-Seidel.
  • Coarse matrix creation: central coefficient: summation of fine grid central coefficients with the removal of intra-cluster face; off-diagonal coefficient: summation of off-diagonal faces.
  • Coarse matrix scaling: performed by correction scaling, using steepest descent optimisation.
  • Type of cycle: V-cycle with optional pre-smoothing.
  • Coarsest-level matrix solved using PCG or PBiCGStab.
Source files

Definition at line 70 of file GAMGSolver.H.

Constructor & Destructor Documentation

◆ GAMGSolver()

GAMGSolver ( const word fieldName,
const lduMatrix matrix,
const FieldField< Field, scalar > &  interfaceBouCoeffs,
const FieldField< Field, scalar > &  interfaceIntCoeffs,
const lduInterfaceFieldPtrsList interfaces,
const dictionary solverControls 
)

◆ ~GAMGSolver()

~GAMGSolver ( )
virtual

Destructor.

Definition at line 282 of file GAMGSolver.C.

References Foam::endl(), Foam::Pout, and lduMatrix::solver::readControls().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "GAMG"  )

Runtime type information.

◆ solve()

Friends And Related Function Documentation

◆ GAMGPreconditioner

friend class GAMGPreconditioner
friend

Definition at line 320 of file GAMGSolver.H.


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