36 #ifndef LINEAROPERATOR_HPP_ 37 #define LINEAROPERATOR_HPP_ 40 #include <lifev/core/LifeV.hpp> 42 #include <Epetra_Comm.h> 43 #include <Epetra_Map.h> 44 #include <Epetra_Operator.h> 45 #include <Epetra_MultiVector.h> 47 #include <lifev/core/array/VectorEpetra.hpp> 180 virtual double NormInf()
const = 0;
187 virtual const char*
Label()
const = 0;
VectorEpetra - The Epetra Vector format Wrapper.
virtual const char * Label() const =0
Returns a character string describing the operator.
Abstract class which defines the interface of a Linear Operator.
std::shared_ptr< map_Type > mapPtr_Type
int applyInverse(const VectorEpetra &X, VectorEpetra &Y)
Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y. ...
std::shared_ptr< comm_Type > commPtr_Type
virtual ~LinearOperator()
Destructor.
virtual const comm_Type & Comm() const =0
Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual bool HasNormInf() const =0
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual int ApplyInverse(const vector_Type &X, vector_Type &Y) const =0
Returns the result of a raw_operator inverse applied to an raw_vector X in Y.
virtual double NormInf() const =0
Returns the infinity norm of the global matrix.
void updateInverseJacobian(const UInt &iQuadPt)
std::shared_ptr< vector_Type > vectorPtr_Type
Epetra_Operator operator_Type
virtual const map_Type & OperatorRangeMap() const =0
Returns the raw_map object associated with the range of this operator.
virtual int Apply(const vector_Type &X, vector_Type &Y) const =0
Returns the result of a raw_operator applied to a raw_vector X in Y.
vector_type & epetraVector()
Return the VectorEpetra in the wrapper.
int apply(const VectorEpetra &X, VectorEpetra &Y) const
Returns the result of a LinearOperator applied to a VectorEpetra X in Y.
Epetra_MultiVector vector_Type
virtual const map_Type & OperatorDomainMap() const =0
Returns the raw_map object associated with the domain of this operator.
std::shared_ptr< operator_Type > operatorPtr_Type
const vector_type & epetraVector() const
Return the VectorEpetra in the wrapper.
virtual int SetUseTranspose(bool UseTranspose)=0
If set true, transpose of this operator will be applied.
std::shared_ptr< const map_Type > constMapPtr_Type
virtual bool UseTranspose() const =0
Returns the current UseTranspose setting.