47 #ifndef __Teko_LSCPreconditionerFactory_hpp__ 48 #define __Teko_LSCPreconditionerFactory_hpp__ 50 #include "Teko_BlockPreconditionerFactory.hpp" 51 #include "Teko_LSCStrategy.hpp" 82 InverseLinearOp invBQBtmC_;
87 InverseLinearOp invBHBtmC_;
101 class LSCPreconditionerFactory
108 LSCPreconditionerFactory(
const LinearOp & invF,
const LinearOp & invBQBtmC,
109 const LinearOp & invD,
const LinearOp & invMass);
112 LSCPreconditionerFactory(
const LinearOp & invF,
113 const LinearOp & invBQBtmC,
114 const LinearOp & invMass);
117 LSCPreconditionerFactory(
const Teuchos::RCP<LSCStrategy> & strategy);
120 LSCPreconditionerFactory();
127 virtual RCP<PreconditionerState> buildPreconditionerState()
const 131 virtual Teuchos::RCP<Teuchos::ParameterList> getRequestedParameters()
const;
134 virtual bool updateRequestedParameters(
const Teuchos::ParameterList & pl);
138 Teuchos::RCP<LSCStrategy> invOpsStrategy_;
142 virtual void initializeFromParameterList(
const Teuchos::ParameterList & pl);
157 static RCP<LSCStrategy>
158 buildStrategy(
const std::string & name,
159 const Teuchos::ParameterList & settings,
160 const RCP<const InverseLibrary> & invLib,
161 const RCP<RequestHandler> & rh);
176 static void addStrategy(
const std::string & name,
const RCP<Cloneable> & clone);
183 static void initializeStrategyBuilder();
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.