FreeFOAM The Cross-Platform CFD Toolkit
GAMGSolver Class Reference

Geometric agglomerated algebraic multigrid solver. More...

#include <OpenFOAM/GAMGSolver.H>


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 ICCG or BICCG.
Source files

Definition at line 72 of file GAMGSolver.H.

+ Inheritance diagram for GAMGSolver:
+ Collaboration diagram for GAMGSolver:

List of all members.

Public Member Functions

 TypeName ("GAMG")
 Runtime type information.
 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.
virtual ~GAMGSolver ()
virtual
lduMatrix::solverPerformance 
solve (scalarField &psi, const scalarField &source, const direction cmpt=0) const
 Solve.
- Public Member Functions inherited from lduMatrix::solver
virtual const wordtype () const =0
 Runtime type information.
 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 ()
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.
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.

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.
- 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
label maxIter_
 Maximum number of iterations in the solver.
scalar tolerance_
 Final convergence tolerance.
scalar relTol_
 Convergence tolerance relative to the initial.

Constructor & Destructor Documentation

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.

Definition at line 45 of file GAMGSolver.C.

References Foam::exit(), Foam::FatalError, FatalErrorIn, and forAll.

~GAMGSolver ( )
virtual

Definition at line 127 of file GAMGSolver.C.

References forAll, and UPtrList< T >::set().


Member Function Documentation

TypeName ( "GAMG"  )

Runtime type information.

Reimplemented in GAMGPreconditioner.


Friends And Related Function Documentation

friend class GAMGPreconditioner
friend

Definition at line 206 of file GAMGSolver.H.


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