34 lduMatrix::preconditioner::addsymMatrixConstructorToTable
37 lduMatrix::preconditioner::addasymMatrixConstructorToTable
54 sol.interfaceBouCoeffs(),
55 sol.interfaceIntCoeffs(),
76 GAMGSolver::readControls();
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;
Geometric agglomerated algebraic multigrid preconditioner.
virtual void precondition(scalarField &wA, const scalarField &rA, const direction cmpt=0) const
Return wA the preconditioned form of residual rA.
virtual ~GAMGPreconditioner()
Destructor.
virtual void readControls()
Read the control parameters from the controlDict_.
Geometric agglomerated algebraic multigrid solver.
friend class GAMGPreconditioner
void size(const label)
Override size to be inconsistent with allocated storage.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base-class for lduMatrix solvers.
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
lduMatrix::preconditioner::addasymMatrixConstructorToTable< GAMGPreconditioner > addGAMGPreconditionerAsymMatrixConstructorToTable_
lduMatrix::preconditioner::addsymMatrixConstructorToTable< GAMGPreconditioner > addGAMGPreconditionerSymMatrixConstructorToTable_
defineTypeNameAndDebug(combustionModel, 0)