32template<
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();
45 label nCells = rD.
size();
57template<
class Type,
class DType,
class LUType>
62template<
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.
virtual void precondition(Field< Type > &wA, const Field< Type > &rA) const
Return wA the preconditioned form of residual rA.
Generic templated field type.
const solver & solver_
Reference to the base-solver this preconditioner is used with.
Abstract base-class for LduMatrix solvers.
LduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
virtual bool read()
Re-read model coefficients if they have changed.
iterator begin() noexcept
Return an iterator to begin traversing the UList.
void size(const label n)
Older name for setAddressableSize.
A cell is defined as a list of faces with extra functionality.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const lduMatrix & matrix() const noexcept
void dot(FieldField< Field1, typename innerProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)