10 #ifndef __Teko_LU2x2DiagonalStrategy_hpp__
11 #define __Teko_LU2x2DiagonalStrategy_hpp__
13 #include "Teko_LU2x2Strategy.hpp"
16 #include "Teuchos_Time.hpp"
36 const Teuchos::RCP<InverseFactory>& invS);
42 virtual const Teko::LinearOp
getHatInvA00(
const Teko::BlockedLinearOp& A,
46 virtual const Teko::LinearOp
getTildeInvA00(
const Teko::BlockedLinearOp& A,
51 virtual const Teko::LinearOp
getInvS(
const Teko::BlockedLinearOp& A,
66 const InverseLibrary& invLib);
82 Teuchos::RCP<InverseFactory> invFactoryA00_;
83 Teuchos::RCP<InverseFactory> invFactoryS_;
85 DiagonalType a00InverseType_;
87 static Teuchos::RCP<Teuchos::Time> initTimer_;
88 static Teuchos::RCP<Teuchos::Time> invSTimer_;
89 static Teuchos::RCP<Teuchos::Time> invA00Timer_;
90 static Teuchos::RCP<Teuchos::Time> opsTimer_;
virtual const Teko::LinearOp getTildeInvA00(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
Strategy for computing and in the LU2x2PreconditionerFactory. Uses the diagonal of to build ...
LU2x2DiagonalStrategy()
default Constructor
An implementation of a state object for block preconditioners.
Abstract strategy for computing inv(F) and inv(S) in the LU2x2PreconditionerFactory.
void initializeState(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
static void buildTimers()
virtual const Teko::LinearOp getHatInvA00(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual ~LU2x2DiagonalStrategy()
Destructor (does nothing)
virtual const Teko::LinearOp getInvS(const Teko::BlockedLinearOp &A, BlockPreconditionerState &state) const
virtual void initializeFromParameterList(const Teuchos::ParameterList &settings, const InverseLibrary &invLib)
This function builds the internals of the state from a parameter list.