A class to encapsulate the Jacobi preconditioner in a linear or non-linear solve. More...
#include <JacobiPreconditioner.h>
Public Member Functions | |
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 |
Private Attributes | |
Vector< ValueType, memorySpace > | d_invDiagVector |
Additional Inherited Members | |
![]() | |
using | ValueTypeUnion = blasLapack::scalar_type< ValueType, memorySpace > |
![]() | |
using | ValueTypeUnion = blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > |
A class to encapsulate the Jacobi preconditioner in a linear or non-linear solve.
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. |
dftefe::linearAlgebra::JacobiPreconditioner< ValueType, memorySpace >::JacobiPreconditioner | ( | const Vector< ValueType, memorySpace > & | diagVector | ) |
|
default |
Default destructor.
|
override |
Apply the preconditioner on a given vector and return the output vector.
[in] | x | the given input vector |
|
override |
In-place apply the preconditioner on a given Vector (i.e., the input vector is modified to store the output)
[in] | x | the given input vector |
[out] | x | the input vector is modified in-place to store the output |
|
private |