10 #ifndef __Teko_LSCPreconditionerFactory_hpp__
11 #define __Teko_LSCPreconditionerFactory_hpp__
13 #include "Teko_BlockPreconditionerFactory.hpp"
14 #include "Teko_LSCStrategy.hpp"
45 InverseLinearOp invBQBtmC_;
50 InverseLinearOp invBHBtmC_;
70 LSCPreconditionerFactory(
const LinearOp& invF,
const LinearOp& invBQBtmC,
const LinearOp& invD,
71 const LinearOp& invMass);
74 LSCPreconditionerFactory(
const LinearOp& invF,
const LinearOp& invBQBtmC,
75 const LinearOp& invMass);
78 LSCPreconditionerFactory(
const Teuchos::RCP<LSCStrategy>& strategy);
81 LSCPreconditionerFactory();
85 virtual LinearOp buildPreconditionerOperator(BlockedLinearOp& blo,
89 virtual RCP<PreconditionerState> buildPreconditionerState()
const {
94 virtual Teuchos::RCP<Teuchos::ParameterList> getRequestedParameters()
const;
97 virtual bool updateRequestedParameters(
const Teuchos::ParameterList& pl);
103 Teuchos::RCP<LSCStrategy> invOpsStrategy_;
107 virtual void initializeFromParameterList(
const Teuchos::ParameterList& pl);
122 static RCP<LSCStrategy> buildStrategy(
const std::string& name,
123 const Teuchos::ParameterList& settings,
124 const RCP<const InverseLibrary>& invLib,
125 const RCP<RequestHandler>& rh);
140 static void addStrategy(
const std::string& name,
const RCP<Cloneable>& clone);
147 static void initializeStrategyBuilder();
virtual LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const =0
Function that is called to build the preconditioner for the linear operator that is passed in...
Abstract class which block preconditioner factories in Teko should be based on.
An implementation of a state object for block preconditioners.
LinearOp invMass_
Inverse mass operator ( )
Preconditioner state for the LSC factory.