10 #ifndef __Teko_PCDStrategy_hpp__
11 #define __Teko_PCDStrategy_hpp__
13 #include "Teko_LU2x2Strategy.hpp"
16 #include "Teuchos_Time.hpp"
35 PCDStrategy(
const Teuchos::RCP<InverseFactory>& invFA,
const Teuchos::RCP<InverseFactory>& invS);
41 virtual const Teko::LinearOp
getHatInvA00(
const Teko::BlockedLinearOp& A,
45 virtual const Teko::LinearOp
getTildeInvA00(
const Teko::BlockedLinearOp& A,
50 virtual const Teko::LinearOp
getInvS(
const Teko::BlockedLinearOp& A,
61 const InverseLibrary& invLib);
126 Teuchos::RCP<InverseFactory> invFactoryF_;
127 Teuchos::RCP<InverseFactory> invFactoryS_;
129 DiagonalType massInverseType_;
137 bool schurCompOrdering_;
139 static Teuchos::RCP<Teuchos::Time> initTimer_;
140 static Teuchos::RCP<Teuchos::Time> invSTimer_;
141 static Teuchos::RCP<Teuchos::Time> invFTimer_;
142 static Teuchos::RCP<Teuchos::Time> opsTimer_;
147 static std::string getPCDString() {
return "PCD Operator"; }
148 static std::string getPressureLaplaceString() {
return "Pressure Laplace Operator"; }
149 static std::string getPressureMassString() {
return "Pressure Mass Matrix"; }
virtual void initializeFromParameterList(const Teuchos::ParameterList &settings, const InverseLibrary &invLib)
This function builds the internals of the state from a parameter list.
virtual const Teko::LinearOp getHatInvA00(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual const Teko::LinearOp getTildeInvA00(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual ~PCDStrategy()
Destructor (does nothing)
static void buildTimers()
void initializeState(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
An implementation of a state object for block preconditioners.
Abstract strategy for computing inv(F) and inv(S) in the LU2x2PreconditionerFactory.
PCDStrategy()
default Constructor
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
Update this object with the fields from a parameter list.
Teuchos::RCP< Teuchos::ParameterList > pcdParams_
Passed to application for construction of PCD operator.
virtual const Teko::LinearOp getInvS(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
Teuchos::RCP< Teuchos::ParameterList > lapParams_
Passed to application for construction of laplace operator.
Strategy for computing implementation of the Pressure convection diffusion preconditioner.
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
Request the additional parameters this preconditioner factory needs.