11 #ifndef LUMPED_OPERATOR_HPP_ 12 #define LUMPED_OPERATOR_HPP_ 14 #include <Epetra_CrsMatrix.h> 15 #include <Epetra_Vector.h> 17 #include <lifev/core/linear_algebra/LinearOperatorAlgebra.hpp> 65 const char *
Label()
const{
return M_name.c_str();}
rowMatrixPtr_Type M_matrix
the matrix to be lumped
Real M_alpha
the scalar coefficient for scaling the operator
int SetUseTranspose(bool UseTranspose)
if true apply the traspose of the operator
const comm_Type & Comm() const
return the communicator
Abstract class which defines the interface of a Linear Operator.
bool M_useTranspose
whenever to use the transpose
void updateInverseJacobian(const UInt &iQuadPt)
std::string M_name
the name of the operator
boost::shared_ptr< lumpedMatrix_Type > lumpedMatrixPtr_Type
void setUp(const rowMatrixPtr_Type &_matrix)
SetUp.
const lumpedMatrix_Type & getLumpedVector()
return the lumped mass in vectorial form.
LumpedOperator()
Constructor.
int ApplyInverse(const vector_Type &X, vector_Type &Y) const
Apply the inverse of the operator.
double NormInf() const
return the infinity norm of the operator
Real M_normInf
the infinity norm of the operator
bool HasNormInf() const
return true if the operator has the norm inf.
int Apply(const vector_Type &X, vector_Type &Y) const
Apply the Operator.
bool UseTranspose() const
return true if we are using the transpose
A class for Mass Lumping The lumped mass matrix is such that (1) The total mass is conserved (2) {M}_...
double Real
Generic real data.
const map_Type & OperatorRangeMap() const
return the range map
Epetra_MultiVector vector_Type
lumpedMatrixPtr_Type M_lumped
the lumped matrix in vectorial form
boost::shared_ptr< rowMatrix_Type > rowMatrixPtr_Type
const lumpedMatrixPtr_Type & getLumpedVector_ptr()
return the lumped mass in vectorial form (pointer).
Epetra_CrsMatrix rowMatrix_Type
Epetra_Vector lumpedMatrix_Type
const map_Type & OperatorDomainMap() const
return the domain map
int compute()
compute the lumpded operator
const char * Label() const
return the name of the operator
void setAlpha(const Real &_alpha)
set the scaling constant when applying the operator