Abstract class to encapsulate a preconditioner. More...
#include <Preconditioner.h>
Public Types | |
using | ValueTypeUnion = blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > |
Public Types inherited from dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > | |
using | ValueTypeUnion = blasLapack::scalar_type< ValueTypeOperator, ValueTypeOperand > |
Public Member Functions | |
~Preconditioner ()=default | |
Default Destructor. More... | |
virtual void | apply (MultiVector< ValueTypeOperand, memorySpace > &X, MultiVector< ValueTypeUnion, memorySpace > &Y) const =0 |
virtual PreconditionerType | getPreconditionerType () const =0 |
Public Member Functions inherited from dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace > | |
~OperatorContext ()=default | |
Default Destructor. More... | |
virtual void | apply (MultiVector< ValueTypeOperand, memorySpace > &X, MultiVector< ValueTypeUnion, memorySpace > &Y) const =0 |
Abstract class to encapsulate a preconditioner.
ValueTypeOperator | The datatype (float, double, complex<double>, etc.) for the underlying preconditioner |
ValueTypeOperand | The datatype (float, double, complex<double>, etc.) of the vector, matrices, etc. on which the preconditioner will act. |
memorySpace | The meory sapce (HOST, DEVICE, HOST_PINNED, etc.) in which the data of the preconditioner and its operands reside |
using dftefe::linearAlgebra::Preconditioner< ValueTypeOperator, ValueTypeOperand, memorySpace >::ValueTypeUnion = blasLapack::scalar_type<ValueTypeOperator, ValueTypeOperand> |
|
default |
Default Destructor.
|
pure virtual |
Implements dftefe::linearAlgebra::OperatorContext< ValueTypeOperator, ValueTypeOperand, memorySpace >.
Implemented in dftefe::linearAlgebra::PreconditionerJacobi< ValueTypeOperator, ValueTypeOperand, memorySpace >, and dftefe::linearAlgebra::PreconditionerNone< ValueTypeOperator, ValueTypeOperand, memorySpace >.
|
pure virtual |