47 #ifndef __Teko_LU2x2PreconditionerFactory_hpp__
48 #define __Teko_LU2x2PreconditionerFactory_hpp__
50 #include "Teuchos_RCP.hpp"
52 #include "Teko_BlockPreconditionerFactory.hpp"
53 #include "Teko_LU2x2Strategy.hpp"
276 static RCP<LU2x2Strategy>
278 const Teuchos::ParameterList & settings,
279 const RCP<const InverseLibrary> & invLib,
280 const RCP<RequestHandler> & rh);
295 static void addStrategy(
const std::string & name,
const RCP<Cloneable> & clone);
302 static void initializeStrategyBuilder();
LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const
Create the LU 2x2 preconditioner operator.
Construct a preconditioner using a LDU dcomposition of a block 2x2 matrix.
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...
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
Update this object with the fields from a parameter list.
static RCP< LU2x2Strategy > buildStrategy(const std::string &name, const Teuchos::ParameterList &settings, const RCP< const InverseLibrary > &invLib, const RCP< RequestHandler > &rh)
Builder function for creating strategies.
Abstract class which block preconditioner factories in Teko should be based on.
Teuchos::RCP< LU2x2Strategy > invOpsStrategy_
some members
An implementation of a state object for block preconditioners.
virtual void setFullLDU(bool value)
Set the type of inverse operation to use.
static void addStrategy(const std::string &name, const RCP< Cloneable > &clone)
Add a strategy to the builder. This is done using the clone pattern.
LU2x2PreconditionerFactory()
Default constructor for use with AutoClone.
virtual bool useFullLDU() const
Determine the type of inverse operator to build.
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
Request the additional parameters this preconditioner factory needs.
virtual void initializeFromParameterList(const Teuchos::ParameterList &settings)
This function builds the internals of the preconditioner factory from a parameter list...