Go to the documentation of this file.
32 template<
class Type,
class DType,
class LUType>
40 rD(sol.
matrix().diag().size())
42 DType* __restrict__ rDPtr = rD.begin();
43 const DType* __restrict__ DPtr = this->solver_.matrix().diag().begin();
45 label nCells = rD.size();
57 template<
class Type,
class DType,
class LUType>
62 template<
class Type,
class DType,
class LUType>
69 Type* __restrict__ wAPtr = wA.begin();
70 const Type* __restrict__ rAPtr = rA.begin();
71 const DType* __restrict__ rDPtr = rD.begin();
73 label nCells = wA.size();
Diagonal preconditioner for both symmetric and asymmetric matrices.
void dot(FieldField< Field1, typename innerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
Abstract base-class for LduMatrix solvers.
virtual void read(const dictionary &preconditionerDict)
Read and reset the preconditioner parameters from the given.
Generic templated field type.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const LduMatrix< Type, DType, LUType > & matrix() const
Abstract base-class for LduMatrix preconditioners.
virtual void precondition(Field< Type > &wA, const Field< Type > &rA) const
Return wA the preconditioned form of residual rA.
A cell is defined as a list of faces with extra functionality.