47 #ifndef __Teko_PCDStrategy_hpp__
48 #define __Teko_PCDStrategy_hpp__
50 #include "Teko_LU2x2Strategy.hpp"
53 #include "Teuchos_Time.hpp"
72 PCDStrategy(
const Teuchos::RCP<InverseFactory> & invFA,
73 const Teuchos::RCP<InverseFactory> & invS);
79 virtual const Teko::LinearOp
83 virtual const Teko::LinearOp
87 virtual const Teko::LinearOp
98 const InverseLibrary & invLib);
163 Teuchos::RCP<InverseFactory> invFactoryF_;
164 Teuchos::RCP<InverseFactory> invFactoryS_;
166 DiagonalType massInverseType_;
174 bool schurCompOrdering_;
176 static Teuchos::RCP<Teuchos::Time> initTimer_;
177 static Teuchos::RCP<Teuchos::Time> invSTimer_;
178 static Teuchos::RCP<Teuchos::Time> invFTimer_;
179 static Teuchos::RCP<Teuchos::Time> opsTimer_;
184 static std::string getPCDString() {
return "PCD Operator"; }
185 static std::string getPressureLaplaceString() {
return "Pressure Laplace Operator"; }
186 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.