Geometric agglomerated algebraic multigrid preconditioner. More...
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 ()=default |
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 word & | type () 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) | |
Construct solver for given field name, matrix etc. More... | |
virtual | ~solver ()=default |
Destructor. More... | |
const word & | fieldName () const noexcept |
const lduMatrix & | matrix () const noexcept |
const FieldField< Field, scalar > & | interfaceBouCoeffs () const noexcept |
const FieldField< Field, scalar > & | interfaceIntCoeffs () const noexcept |
const lduInterfaceFieldPtrsList & | interfaces () const noexcept |
virtual void | read (const dictionary &) |
Read and reset the solver parameters from the given stream. 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 lduMatrix::normTypes normType) const |
Return the matrix norm using the specified norm method. More... | |
solveScalarField::cmptType | normFactor (const solveScalarField &psi, const solveScalarField &source, const solveScalarField &Apsi, solveScalarField &tmpField) const |
Return the matrix norm used to normalise the residual for the stopping criterion. More... | |
Public Member Functions inherited from lduMatrix::preconditioner | |
virtual const word & | type () 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) | |
Construct for given solver. More... | |
virtual | ~preconditioner ()=default |
Destructor. More... | |
virtual void | read (const dictionary &) |
Read and reset the preconditioner parameters from the given stream. More... | |
virtual void | preconditionT (solveScalarField &wT, const solveScalarField &rT, const direction cmpt=0) const |
Return wT the transpose-matrix preconditioned form of residual rT. More... | |
virtual void | setFinished (const solverPerformance &perf) const |
Signal end of solver. More... | |
Protected Member Functions | |
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 lduMatrix & | matrix_ |
const FieldField< Field, scalar > & | interfaceBouCoeffs_ |
const FieldField< Field, scalar > & | interfaceIntCoeffs_ |
lduInterfaceFieldPtrsList | interfaces_ |
dictionary | controlDict_ |
Dictionary of solution controls. More... | |
int | log_ |
Verbosity level for solver output statements. More... | |
label | minIter_ |
Minimum number of iterations in the solver. More... | |
label | maxIter_ |
Maximum number of iterations in the solver. More... | |
lduMatrix::normTypes | normType_ |
The normalisation type. More... | |
scalar | tolerance_ |
Final convergence tolerance. More... | |
scalar | relTol_ |
Convergence tolerance relative to the initial. More... | |
profilingTrigger | profiling_ |
Profiling instrumentation. More... | |
Protected Attributes inherited from lduMatrix::preconditioner | |
const solver & | solver_ |
Reference to the base-solver this preconditioner is used with. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from lduMatrix::solver | |
static autoPtr< solver > | New (const word &solverName, 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 of given type. More... | |
static autoPtr< solver > | New (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 given dictionary. 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< preconditioner > | New (const solver &sol, const dictionary &solverControls) |
Return a new preconditioner. More... | |
Geometric agglomerated algebraic multigrid preconditioner.
Definition at line 53 of file GAMGPreconditioner.H.
GAMGPreconditioner | ( | const lduMatrix::solver & | sol, |
const dictionary & | solverControls | ||
) |
Construct from matrix components and preconditioner solver controls.
Definition at line 42 of file GAMGPreconditioner.C.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Read the control parameters from the controlDict_.
Reimplemented from GAMGSolver.
Definition at line 65 of file GAMGPreconditioner.C.
References lduMatrix::solver::controlDict_, dictionary::getOrDefault(), and GAMGPreconditioner::nVcycles_.
TypeName | ( | "GAMG" | ) |
Runtime type information.
|
virtual |
Return wA the preconditioned form of residual rA.
Implements lduMatrix::preconditioner.
Definition at line 73 of file GAMGPreconditioner.C.
References refPtr< Container< Type > >::cref(), UList< T >::size(), and Foam::Zero.
|
protected |
Number of V-cycles to perform.
Definition at line 65 of file GAMGPreconditioner.H.
Referenced by GAMGPreconditioner::readControls().