7 #ifndef __Teko_ALOperator_hpp__
8 #define __Teko_ALOperator_hpp__
10 #include "Teko_BlockedEpetraOperator.hpp"
98 ALOperator(
const std::vector<std::vector<int> >& vars,
99 const Teuchos::RCP<Epetra_Operator>& content, LinearOp pressureMassMatrix,
100 double gamma = 0.05,
const std::string& label =
"<ANYM>");
115 ALOperator(
const std::vector<std::vector<int> >& vars,
116 const Teuchos::RCP<Epetra_Operator>& content,
double gamma = 0.05,
117 const std::string& label =
"<ANYM>");
154 void augmentRHS(
const Epetra_MultiVector& b, Epetra_MultiVector& bAugmented);
174 const Teuchos::RCP<const Epetra_Operator>
GetBlock(
int i,
int j)
const;
215 void checkDim(
const std::vector<std::vector<int> >& vars);
Teuchos::RCP< Thyra::LinearOpBase< double > > alOperatorRhs_
void augmentRHS(const Epetra_MultiVector &b, Epetra_MultiVector &bAugmented)
LinearOp invPressureMassMatrix_
const double & getGamma() const
void checkDim(const std::vector< std::vector< int > > &vars)
void setPressureMassMatrix(LinearOp pressureMassMatrix)
LinearOp pressureMassMatrix_
virtual void RebuildOps()
Sparse matrix vector multiplication for augmented Lagrangian-based preconditioners.
int getNumberOfBlockRows() const
Tear about a user specified Epetra_Operator (CrsMatrix) using a vector of vectors of GIDs for each bl...
const Teuchos::RCP< const Epetra_Operator > GetBlock(int i, int j) const
ALOperator(const std::vector< std::vector< int > > &vars, const Teuchos::RCP< Epetra_Operator > &content, LinearOp pressureMassMatrix, double gamma=0.05, const std::string &label="<ANYM>")
void setGamma(double gamma)
const LinearOp & getPressureMassMatrix() const
Teuchos::RCP< Thyra::LinearOpBase< double > > alOperator_