30 template<
class Type,
class DType,
class LUType>
33 const word& fieldName,
52 template<
class Type,
class DType,
class LUType>
56 this->readControl(this->controlDict_, nSweeps_,
"nSweeps");
60 template<
class Type,
class DType,
class LUType>
82 smootherPtr->smooth(psi, -nSweeps_);
88 Type normFactor =
Zero;
95 this->matrix_.Amul(Apsi, psi);
98 normFactor = this->normFactor(psi, Apsi, temp);
111 Info<<
" Normalisation factor = " << normFactor <<
endl;
148 (solverPerf.
nIterations() += nSweeps_) < this->maxIter_
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual SolverPerformance< Type > solve(Field< Type > &psi) const
Solve the matrix with this solver.
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Type gSumCmptMag(const UList< Type > &f, const label comm)
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Pre-declare SubField and related Field type.
A class for handling words, derived from string.
virtual void readControls()
Read the control parameters from the controlDict_.
SmoothSolver(const word &fieldName, const LduMatrix< Type, DType, LUType > &matrix, const dictionary &solverDict)
Construct from matrix components and solver data dictionary.
Abstract base-class for LduMatrix solvers.
LduMatrix is a general matrix class in which the coefficients are stored as three arrays...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const volScalarField & psi