40 #ifndef DILUGaussSeidelSmoother_H 41 #define DILUGaussSeidelSmoother_H Simplified diagonal-based incomplete LU smoother for asymmetric matrices.
const lduInterfaceFieldPtrsList & interfaces() const noexcept
void scalarSmooth(solveScalarField &psi, const solveScalarField &source, const direction cmpt, const label nSweeps) const
Smooth the solution for a given number of sweeps.
const FieldField< Field, scalar > & interfaceIntCoeffs() const noexcept
const lduMatrix & matrix() const noexcept
A lduMatrix::smoother for Gauss-Seidel.
A field of fields is a PtrList of fields with reference counting.
Abstract base-class for lduMatrix smoothers.
A class for handling words, derived from Foam::string.
const word & fieldName() const noexcept
const FieldField< Field, scalar > & interfaceBouCoeffs() const noexcept
DILUGaussSeidelSmoother(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces)
Construct from matrix components.
TypeName("DILUGaussSeidel")
Runtime type information.
lduMatrix is a general matrix class in which the coefficients are stored as three arrays...
virtual void smooth(solveScalarField &psi, const scalarField &Source, const direction cmpt, const label nSweeps) const
Smooth the solution for a given number of sweeps.
Combined DILU/GaussSeidel smoother for asymmetric matrices in which DILU smoothing is followed by Gau...
const volScalarField & psi