77 bool cacheAgglomeration_;
83 label preSweepsLevelMultiplier_;
92 label postSweepsLevelMultiplier_;
102 bool interpolateCorrection_;
107 bool scaleCorrection_;
110 bool directSolveCoarsest_;
137 virtual void readControls();
163 void agglomerateMatrix
165 const label fineLevelIndex,
171 void agglomerateInterfaceCoefficients
173 const label fineLevelIndex,
186 const label meshComm,
201 void procAgglomerateMatrix
218 void procAgglomerateMatrix
312 void solveCoarsestLevel
Geometric agglomerated algebraic multigrid agglomeration class.
Geometric agglomerated algebraic multigrid preconditioner.
Geometric agglomerated algebraic multigrid solver.
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.
TypeName("GAMG")
Runtime type information.
virtual ~GAMGSolver()
Destructor.
virtual solverPerformance solve(scalarField &psi, const scalarField &source, const direction cmpt=0) const
Solve.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Abstract base-class for lduMatrix solvers.
const lduInterfaceFieldPtrsList & interfaces() const
const FieldField< Field, scalar > & interfaceIntCoeffs() const
const word & fieldName() const
const lduMatrix & matrix() const
const FieldField< Field, scalar > & interfaceBouCoeffs() const
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
A class for handling words, derived from string.
const volScalarField & psi
static const coefficient A("A", dimPressure, 611.21)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Specialisations of Field<T> for scalar, vector and tensor.