10 #ifndef __Teko_LU2x2PreconditionerFactory_hpp__
11 #define __Teko_LU2x2PreconditionerFactory_hpp__
13 #include "Teuchos_RCP.hpp"
15 #include "Teko_BlockPreconditionerFactory.hpp"
16 #include "Teko_LU2x2Strategy.hpp"
237 static RCP<LU2x2Strategy>
buildStrategy(
const std::string& name,
238 const Teuchos::ParameterList& settings,
239 const RCP<const InverseLibrary>& invLib,
240 const RCP<RequestHandler>& rh);
255 static void addStrategy(
const std::string& name,
const RCP<Cloneable>& clone);
262 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...