GAMGPreconditioner Class Reference

Geometric agglomerated algebraic multigrid preconditioner. More...

Inheritance diagram for GAMGPreconditioner:
[legend]
Collaboration diagram for GAMGPreconditioner:
[legend]

Public Member Functions

 TypeName ("GAMG")
 Runtime type information. More...
 
 GAMGPreconditioner (const lduMatrix::solver &, const dictionary &solverControls)
 Construct from matrix components and preconditioner solver controls. More...
 
virtual ~GAMGPreconditioner ()
 Destructor. More...
 
virtual void precondition (solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const
 Return wA the preconditioned form of residual rA. More...
 
- Public Member Functions inherited from GAMGSolver
 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 ()=default
 Destructor. More...
 
const wordfieldName () const noexcept
 
const lduMatrixmatrix () const noexcept
 
const FieldField< Field, scalar > & interfaceBouCoeffs () const noexcept
 
const FieldField< Field, scalar > & interfaceIntCoeffs () const noexcept
 
const lduInterfaceFieldPtrsListinterfaces () const noexcept
 
virtual void read (const dictionary &)
 Read and reset the solver parameters from the given stream. More...
 
virtual solverPerformance solve (scalarField &psi, const scalarField &source, const direction cmpt=0) const =0
 Solve with given field and rhs. More...
 
virtual solverPerformance scalarSolve (solveScalarField &psi, const solveScalarField &source, const direction cmpt=0) const
 Solve with given field and rhs (in solveScalar precision). More...
 
solveScalarField::cmptType normFactor (const solveScalarField &psi, const solveScalarField &source, const solveScalarField &Apsi, solveScalarField &tmpField) const
 
- Public Member Functions inherited from lduMatrix::preconditioner
virtual const wordtype () const =0
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, preconditioner, symMatrix,(const solver &sol, const dictionary &solverControls),(sol, solverControls))
 
 declareRunTimeSelectionTable (autoPtr, preconditioner, asymMatrix,(const solver &sol, const dictionary &solverControls),(sol, solverControls))
 
 preconditioner (const solver &sol)
 
virtual ~preconditioner ()=default
 Destructor. More...
 
virtual void read (const dictionary &)
 
virtual void precondition (solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const =0
 Return wA the preconditioned form of residual rA. More...
 
virtual void preconditionT (solveScalarField &wT, const solveScalarField &rT, const direction cmpt=0) const
 

Protected Member Functions

virtual void readControls ()
 Read the control parameters from the controlDict_. More...
 
virtual void readControls ()
 Read the control parameters from the controlDict_. More...
 

Protected Attributes

label nVcycles_
 Number of V-cycles to perform. 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...
 
int log_
 Level of verbosity in the solver output statements. More...
 
label minIter_
 Minimum number of iterations in the solver. More...
 
label maxIter_
 Maximum number of iterations in the solver. More...
 
scalar tolerance_
 Final convergence tolerance. More...
 
scalar relTol_
 Convergence tolerance relative to the initial. More...
 
profilingTrigger profiling_
 
- Protected Attributes inherited from lduMatrix::preconditioner
const solversolver_
 Reference to the base-solver this preconditioner is used with. More...
 

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...
 
- Static Public Member Functions inherited from lduMatrix::preconditioner
static word getName (const dictionary &)
 Find the preconditioner name (directly or from a sub-dictionary) More...
 
static autoPtr< preconditionerNew (const solver &sol, const dictionary &solverControls)
 Return a new preconditioner. 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 preconditioner.

See also
GAMGSolver for more details.
Source files

Definition at line 57 of file GAMGPreconditioner.H.

Constructor & Destructor Documentation

◆ GAMGPreconditioner()

GAMGPreconditioner ( const lduMatrix::solver sol,
const dictionary solverControls 
)

Construct from matrix components and preconditioner solver controls.

Definition at line 48 of file GAMGPreconditioner.C.

References GAMGPreconditioner::readControls().

Here is the call graph for this function:

◆ ~GAMGPreconditioner()

~GAMGPreconditioner ( )
virtual

Destructor.

Definition at line 72 of file GAMGPreconditioner.C.

Member Function Documentation

◆ readControls()

void readControls ( )
protectedvirtual

Read the control parameters from the controlDict_.

Reimplemented from GAMGSolver.

Definition at line 78 of file GAMGPreconditioner.C.

Referenced by GAMGPreconditioner::GAMGPreconditioner().

Here is the caller graph for this function:

◆ TypeName()

TypeName ( "GAMG"  )

Runtime type information.

◆ precondition()

void precondition ( solveScalarField wA,
const solveScalarField rA,
const direction  cmpt = 0 
) const
virtual

Return wA the preconditioned form of residual rA.

Implements lduMatrix::preconditioner.

Definition at line 85 of file GAMGPreconditioner.C.

References refPtr< T >::cref(), and UList< T >::size().

Here is the call graph for this function:

Member Data Documentation

◆ nVcycles_

label nVcycles_
protected

Number of V-cycles to perform.

Definition at line 66 of file GAMGPreconditioner.H.


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