8 #ifndef COMPOSITEOPERATOR_HPP_ 9 #define COMPOSITEOPERATOR_HPP_ 11 #include <lifev/core/linear_algebra/LinearOperatorAlgebra.hpp> 45 virtual double NormInf()
const {
return -1;}
52 virtual const char *
Label()
const{
return "Operators::CompositeOperator \n";}
61 virtual const comm_Type &
Comm()
const {
return (*ops.begin())->Comm(); }
virtual int ApplyInverse(const vector_Type &X, vector_Type &Y) const
Applies all the operator (with their flags) starting from the first that was pushed.
virtual bool UseTranspose() const
Returns the current UseTranspose setting.
std::vector< operatorPtr_Type > ops
Abstract class which defines the interface of a Linear Operator.
int pushBack(const operatorPtr_Type &op, const bool inverted)
The first operator we push is the first to be applied.
void updateInverseJacobian(const UInt &iQuadPt)
virtual int Apply(const vector_Type &X, vector_Type &Y) const
Applies all the operator (with their flags) starting from the first that was pushed.
std::vector< bool > inverted
virtual const char * Label() const
Returns a character string describing the operator.
virtual double NormInf() const
Returns the infinity norm of the global matrix.
void DefineAlreadyInverted()
set whenever we want to define Apply or ApplyInverse
virtual ~CompositeOperator()
int nAllocatedVectorsInMultVect
int allocateTmpVects(const vector_Type &X, vector_Type &Y) const
void deleteTmpVects() const
std::vector< Epetra_MultiVector * > vects
virtual const map_Type & OperatorDomainMap() const
Returns the raw_map object associated with the domain of this operator.
virtual bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual int SetUseTranspose(bool)
Epetra_MultiVector vector_Type
virtual const map_Type & OperatorRangeMap() const
Returns the raw_map object associated with the range of this operator.
virtual const comm_Type & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
std::shared_ptr< operator_Type > operatorPtr_Type