Go to the documentation of this file.
34 lduMatrix::preconditioner::addsymMatrixConstructorToTable
37 lduMatrix::preconditioner::addasymMatrixConstructorToTable
77 nVcycles_ = controlDict_.lookupOrDefault<
label>(
"nVcycles", 2);
114 finestCorrectionScratch
117 for (
label cycle=0; cycle<nVcycles_; cycle++)
128 (ApsiScratch.size() ? ApsiScratch : AwA),
130 finestCorrectionScratch.size()
131 ? finestCorrectionScratch
140 if (cycle < nVcycles_-1)
143 matrix_.Amul(AwA, wA, interfaceBouCoeffs_, interfaces_, cmpt);
145 finestResidual -= AwA;
const lduInterfaceFieldPtrsList & interfaces() const
friend class GAMGPreconditioner
const lduMatrix & matrix() const
lduMatrix::preconditioner::addsymMatrixConstructorToTable< GAMGPreconditioner > addGAMGPreconditionerSymMatrixConstructorToTable_
Abstract base-class for lduMatrix solvers.
virtual void precondition(scalarField &wA, const scalarField &rA, const direction cmpt=0) const
Return wA the preconditioned form of residual rA.
virtual void readControls()
Read control parameters from the control dictionary.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
virtual void readControls()
Read the control parameters from the controlDict_.
A list of keyword definitions, which are a keyword followed by any number of values (e....
virtual ~GAMGPreconditioner()
Destructor.
Geometric agglomerated algebraic multigrid preconditioner.
Geometric agglomerated algebraic multigrid solver.
const FieldField< Field, scalar > & interfaceBouCoeffs() const
const word & fieldName() const
Abstract base-class for lduMatrix preconditioners.
lduMatrix::preconditioner::addasymMatrixConstructorToTable< GAMGPreconditioner > addGAMGPreconditionerAsymMatrixConstructorToTable_
const FieldField< Field, scalar > & interfaceIntCoeffs() const
defineTypeNameAndDebug(combustionModel, 0)