32 template<
class Type,
class DType,
class LUType>
39 LduMatrix<Type, DType, LUType>::preconditioner(sol),
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();
void size(const label n)
Older name for setAddressableSize.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
virtual void precondition(Field< Type > &wA, const Field< Type > &rA) const
Return wA the preconditioned form of residual rA.
const LduMatrix< Type, DType, LUType > & matrix() const noexcept
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)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
Generic templated field type.
iterator begin() noexcept
Return an iterator to begin traversing the UList.
Abstract base-class for LduMatrix solvers.
const solver & solver_
Reference to the base-solver this preconditioner is used with.
A cell is defined as a list of faces with extra functionality.
LduMatrix is a general matrix class in which the coefficients are stored as three arrays...
virtual void read(const dictionary &preconditionerDict)
Read and reset the preconditioner parameters from the given.