47 #ifndef __Teko_LU2x2Strategy_hpp__ 48 #define __Teko_LU2x2Strategy_hpp__ 50 #include "Teuchos_RCP.hpp" 51 #include "Thyra_LinearOpBase.hpp" 54 #include "Teko_InverseFactory.hpp" 55 #include "Teko_BlockPreconditionerFactory.hpp" 108 virtual const Teko::LinearOp
112 virtual const Teko::LinearOp
116 virtual const Teko::LinearOp
131 const InverseLibrary & invLib)
149 {
return Teuchos::null; }
169 { requestHandler_ = rh; }
173 {
return requestHandler_; }
176 Teuchos::RCP<RequestHandler> requestHandler_;
199 const Teko::LinearOp & tInvA00,
200 const Teko::LinearOp & invS)
201 : hatInvA00_(hInvA00), tildeInvA00_(tInvA00), invS_(invS)
210 virtual const Teko::LinearOp
212 {
return hatInvA00_; }
215 virtual const Teko::LinearOp
217 {
return tildeInvA00_; }
220 virtual const Teko::LinearOp
virtual const Teko::LinearOp getInvS(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const =0
void setRequestHandler(const Teuchos::RCP< RequestHandler > &rh)
This method sets the request handler for this object.
virtual const Teko::LinearOp getTildeInvA00(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual const Teko::LinearOp getHatInvA00(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.
Teuchos::RCP< RequestHandler > getRequestHandler() const
This method gets the request handler uses by this object.
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
Request the additional parameters this preconditioner factory needs.
virtual const Teko::LinearOp getHatInvA00(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual const Teko::LinearOp getInvS(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
StaticLU2x2Strategy(const Teko::LinearOp &hInvA00, const Teko::LinearOp &tInvA00, const Teko::LinearOp &invS)
Constructor that takes the static and objects.
const Teko::LinearOp hatInvA00_
virtual const Teko::LinearOp getTildeInvA00(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const =0
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
Update this object with the fields from a parameter list.
const Teko::LinearOp tildeInvA00_
A simple strategy for use with LU2x2PreconditionerFactory, that offers static objects for inv(F) and ...
virtual void initializeFromParameterList(const Teuchos::ParameterList &settings, const InverseLibrary &invLib)
This function builds the internals of the state from a parameter list.
const Teko::LinearOp invS_