A class to encapsulate the Jacobi preconditioner in a linear or non-linear solve.
More...
|
| | JacobiPreconditioner (const Vector< ValueType, memorySpace > &diagVector) |
| |
| | ~JacobiPreconditioner ()=default |
| | Default destructor. More...
|
| |
| void | apply (Vector< ValueType, memorySpace > &x) const override |
| | In-place apply the preconditioner on a given Vector (i.e., the input vector is modified to store the output) More...
|
| |
| Vector< ValueType, memorySpace > | apply (const Vector< ValueType, memorySpace > &x) const override |
| | Apply the preconditioner on a given vector and return the output vector. More...
|
| |
| | ~Preconditioner ()=default |
| | Default Destructor. More...
|
| |
| virtual void | apply (MultiVector< memorySpace, memorySpace > &X, MultiVector< ValueTypeUnion, memorySpace > &Y, bool updateGhostX=false, bool updateGhostY=false) const=0 |
| |
| virtual PreconditionerType | getPreconditionerType () const=0 |
| |
| | ~OperatorContext ()=default |
| | Default Destructor. More...
|
| |
| virtual void | apply (MultiVector< ValueTypeOperand, memorySpace > &X, MultiVector< ValueTypeUnion, memorySpace > &Y, bool updateGhostX=false, bool updateGhostY=false) const =0 |
| |
template<typename ValueType,
utils::MemorySpace memorySpace>
class dftefe::linearAlgebra::JacobiPreconditioner< ValueType, memorySpace >
A class to encapsulate the Jacobi preconditioner in a linear or non-linear solve.
- Template Parameters
-
| ValueType | datatype (float, double, complex<float>, complex<double>, etc) of the underlying matrix and vector |
| memorySpace | defines the MemorySpace (i.e., HOST or DEVICE) in which the underlying matrix and vector must reside. |