Geometric agglomerated algebraic multigrid preconditioner. More...
#include <GAMGPreconditioner.H>


Public Member Functions | |
| TypeName ("GAMG") | |
| Runtime type information. | |
| GAMGPreconditioner (const lduMatrix::solver &, const dictionary &solverControls) | |
| Construct from matrix components and preconditioner solver controls. | |
| virtual | ~GAMGPreconditioner ()=default |
| Destructor. | |
| virtual void | precondition (solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const |
| Return wA the preconditioned form of residual rA. | |
| Public Member Functions inherited from GAMGSolver | |
| 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 () |
| Destructor. | |
| virtual solverPerformance | solve (scalarField &psi, const scalarField &source, const direction cmpt=0) const |
| Solve. | |
| Public Member Functions inherited from lduMatrix::solver | |
| virtual const word & | type () 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) | |
| Construct solver for given field name, matrix etc. | |
| virtual | ~solver ()=default |
| Destructor. | |
| 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. | |
| virtual solverPerformance | scalarSolve (solveScalarField &psi, const solveScalarField &source, const direction cmpt=0) const |
| Solve with given field and rhs (in solveScalar precision). | |
| 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. | |
| 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. | |
| Public Member Functions inherited from lduMatrix::preconditioner | |
| virtual const word & | type () const =0 |
| Runtime type information. | |
| 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. | |
| virtual | ~preconditioner ()=default |
| Destructor. | |
| virtual void | read (const dictionary &) |
| Read and reset the preconditioner parameters from the given stream. | |
| virtual void | preconditionT (solveScalarField &wT, const solveScalarField &rT, const direction cmpt=0) const |
| Return wT the transpose-matrix preconditioned form of residual rT. | |
| virtual void | setFinished (const solverPerformance &perf) const |
| Signal end of solver. | |
Protected Member Functions | |
| virtual void | readControls () |
| Read the control parameters from the controlDict_. | |
Protected Attributes | |
| label | nVcycles_ |
| Number of V-cycles to perform. | |
| 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. | |
| int | log_ |
| Verbosity level for solver output statements. | |
| label | minIter_ |
| Minimum number of iterations in the solver. | |
| label | maxIter_ |
| Maximum number of iterations in the solver. | |
| lduMatrix::normTypes | normType_ |
| The normalisation type. | |
| scalar | tolerance_ |
| Final convergence tolerance. | |
| scalar | relTol_ |
| Convergence tolerance relative to the initial. | |
| profilingTrigger | profiling_ |
| Profiling instrumentation. | |
| Protected Attributes inherited from lduMatrix::preconditioner | |
| const solver & | solver_ |
| Reference to the base-solver this preconditioner is used with. | |
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. | |
| 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. | |
| Static Public Member Functions inherited from lduMatrix::preconditioner | |
| static word | getName (const dictionary &) |
| Find the preconditioner name (directly or from a sub-dictionary). | |
| static autoPtr< preconditioner > | New (const solver &sol, const dictionary &solverControls) |
| Return a new preconditioner. | |
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 41 of file GAMGPreconditioner.C.
References lduMatrix::solver::fieldName(), GAMGSolver::GAMGSolver(), lduMatrix::solver::interfaceBouCoeffs(), lduMatrix::solver::interfaceIntCoeffs(), lduMatrix::solver::interfaces(), lduMatrix::solver::matrix(), nVcycles_, lduMatrix::preconditioner::preconditioner(), and readControls().

|
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_, nVcycles_, and lduMatrix::solver::readControls().
Referenced by GAMGPreconditioner().


| TypeName | ( | "GAMG" | ) |
Runtime type information.
|
virtual |
Return wA the preconditioned form of residual rA.
Implements lduMatrix::preconditioner.
Definition at line 72 of file GAMGPreconditioner.C.
References refPtr< T >::cref(), lduMatrix::solver::interfaceBouCoeffs_, lduMatrix::solver::interfaces_, lduMatrix::solver::matrix_, nVcycles_, UList< T >::size(), and Foam::Zero.

|
protected |
Number of V-cycles to perform.
Definition at line 65 of file GAMGPreconditioner.H.
Referenced by GAMGPreconditioner(), precondition(), and readControls().