38 lduMatrix::preconditioner::addsymMatrixConstructorToTable
41 lduMatrix::preconditioner::addasymMatrixConstructorToTable
58 sol.interfaceBouCoeffs(),
59 sol.interfaceIntCoeffs(),
112 finestCorrectionScratch
119 for (label cycle=0; cycle<nVcycles_; cycle++)
130 (ApsiScratch.
size() ? ApsiScratch : AwA),
132 finestCorrectionScratch.
size()
133 ? finestCorrectionScratch
142 if (cycle < nVcycles_-1)
145 matrix_.Amul(AwA, wA, interfaceBouCoeffs_, interfaces_, cmpt);
146 finestResidual = rA_ss;
147 finestResidual -= AwA;
A const Field/List wrapper with possible data conversion.
Geometric agglomerated algebraic multigrid preconditioner.
virtual void precondition(solveScalarField &wA, const solveScalarField &rA, const direction cmpt=0) const
Return wA the preconditioned form of residual rA.
virtual void readControls()
Read the control parameters from the controlDict_.
GAMGPreconditioner(const lduMatrix::solver &, const dictionary &solverControls)
Construct from matrix components and preconditioner solver controls.
label nVcycles_
Number of V-cycles to perform.
Geometric agglomerated algebraic multigrid solver.
friend class GAMGPreconditioner
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.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
void size(const label n)
Older name for setAddressableSize.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
preconditioner(const solver &sol)
Construct for given solver.
Abstract base-class for lduMatrix solvers.
const FieldField< Field, scalar > & interfaceIntCoeffs() const noexcept
const lduMatrix & matrix_
const lduInterfaceFieldPtrsList & interfaces() const noexcept
lduInterfaceFieldPtrsList interfaces_
const FieldField< Field, scalar > & interfaceBouCoeffs_
const lduMatrix & matrix() const noexcept
virtual void readControls()
Read the control parameters from controlDict_.
const FieldField< Field, scalar > & interfaceBouCoeffs() const noexcept
dictionary controlDict_
Dictionary of solution controls.
const word & fieldName() const noexcept
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
const T & cref() const
Return const reference to the object or to the contents of a (non-null) managed pointer.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
lduMatrix::preconditioner::addasymMatrixConstructorToTable< GAMGPreconditioner > addGAMGPreconditionerAsymMatrixConstructorToTable_
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
lduMatrix::preconditioner::addsymMatrixConstructorToTable< GAMGPreconditioner > addGAMGPreconditionerSymMatrixConstructorToTable_
Field< solveScalar > solveScalarField
static constexpr const zero Zero
Global zero (0).