7 #ifndef __Teko_ALOperator_hpp__
8 #define __Teko_ALOperator_hpp__
10 #include "Teko_BlockedEpetraOperator.hpp"
102 ALOperator(
const std::vector<std::vector<int> > & vars,
103 const Teuchos::RCP<Epetra_Operator> & content,
104 LinearOp pressureMassMatrix,
105 double gamma = 0.05,
const std::string & label =
"<ANYM>");
120 ALOperator(
const std::vector<std::vector<int> > & vars,
121 const Teuchos::RCP<Epetra_Operator> & content,
122 double gamma = 0.05,
const std::string & label =
"<ANYM>");
173 augmentRHS(
const Epetra_MultiVector & b, Epetra_MultiVector & bAugmented);
201 const Teuchos::RCP<const Epetra_Operator>
245 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_