32template<
class Type,
class DType,
class LUType>
33Foam::DiagonalPreconditioner<Type, DType, LUType>::DiagonalPreconditioner
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();
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();
virtual void precondition(Field< Type > &wA, const Field< Type > &rA) const
Return wA the preconditioned form of residual rA.
virtual void read(const dictionary &preconditionerDict)
Read and reset the preconditioner parameters from the given.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
const solver & solver_
Reference to the base-solver this preconditioner is used with.
preconditioner(const solver &sol)
Construct for given solver.
Abstract base-class for LduMatrix solvers.
LduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
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,...
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 > &)