27class PrecBlock2x2 :
public PreconditionerOperator<SC,LO,GO,NO> {
30 typedef Teuchos::RCP<Thyra::LinearOpBase<SC> > ThyraLinOpPtr_Type;
31 typedef Teuchos::Comm<int> Comm_Type;
32 typedef Teuchos::RCP<const Comm_Type> CommConstPtr_Type;
36 PrecBlock2x2(CommConstPtr_Type comm);
39 ThyraLinOpPtr_Type pressureInv);
41 void setTriangular(ThyraLinOpPtr_Type velocityInv,
42 ThyraLinOpPtr_Type pressureInv,
43 ThyraLinOpPtr_Type BT);
45 void setVeloctiyInv(ThyraLinOpPtr_Type veloctiyInv);
47 void setPressureInv(ThyraLinOpPtr_Type pressureInv);
49 void setType(std::string type);
54 const Thyra::EOpTransp M_trans,
55 const Thyra::MultiVectorBase<SC> &X,
56 const Teuchos::Ptr<Thyra::MultiVectorBase<SC> > &Y,
64 const Thyra::EOpTransp M_trans,
65 const Thyra::MultiVectorBase<SC> &X,
66 const Teuchos::Ptr<Thyra::MultiVectorBase<SC> > &Y,
77 ThyraLinOpPtr_Type velocityInv_;
78 ThyraLinOpPtr_Type pressureInv_;
79 ThyraLinOpPtr_Type BT_;
81 mutable Teuchos::RCP<const Thyra::DefaultProductVectorSpace<SC> > productRangeFluid_;
83 CommConstPtr_Type comm_;
virtual void applyImpl(const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< SC > &X, const Teuchos::Ptr< Thyra::MultiVectorBase< SC > > &Y, const SC alpha, const SC beta) const
Definition PrecBlock2x2_def.hpp:114