10 #ifndef __Teko_LSCStrategy_hpp__
11 #define __Teko_LSCStrategy_hpp__
13 #include "Teuchos_RCP.hpp"
15 #include "Thyra_LinearOpBase.hpp"
18 #include "Teko_InverseFactory.hpp"
19 #include "Teko_BlockPreconditionerFactory.hpp"
24 class LSCPrecondState;
201 const InverseLibrary& ) {}
205 return Teuchos::null;
218 Teuchos::RCP<RequestHandler> requestHandler_;
virtual LinearOp getOuterStabilization(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
For assiting in construction of the preconditioner.
virtual LinearOp getInvBQBt(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual void buildState(BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual LinearOp getInvMass(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
void setRequestHandler(const Teuchos::RCP< RequestHandler > &rh)
This method sets the request handler for this object.
virtual bool useFullLDU() const =0
An implementation of a state object for block preconditioners.
virtual void initializeFromParameterList(const Teuchos::ParameterList &, const InverseLibrary &)
Initialize from a parameter list.
virtual void setSymmetric(bool isSymmetric)=0
virtual LinearOp getInvBHBt(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
Strategy for driving LSCPreconditionerFactory.
virtual bool updateRequestedParameters(const Teuchos::ParameterList &)
For assiting in construction of the preconditioner.
Teuchos::RCP< RequestHandler > getRequestHandler() const
This method gets the request handler uses by this object.
virtual LinearOp getInnerStabilization(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual LinearOp getInvF(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual LinearOp getHScaling(const BlockedLinearOp &A, BlockPreconditionerState &state) const =0