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_;
88 const LinearOp& invMass);
92 const LinearOp& invMass);
120 Teuchos::RCP<LSCStrategy> invOpsStrategy_;
139 static RCP<LSCStrategy>
buildStrategy(
const std::string& name,
140 const Teuchos::ParameterList& settings,
141 const RCP<const InverseLibrary>& invLib,
142 const RCP<RequestHandler>& rh);
157 static void addStrategy(
const std::string& name,
const RCP<Cloneable>& clone);
164 static void initializeStrategyBuilder();
Abstract class which block preconditioner factories in Teko should be based on.
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.
An implementation of a state object for block preconditioners.
Preconditioner state for the LSC factory.
LinearOp invMass_
Inverse mass operator ( )
Least-Squares Commutator (LSC) block preconditioner factory for incompressible Navier-Stokes saddle-p...
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
For assiting in construction of the preconditioner.
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl)
Initialize from a parameter list.
static RCP< LSCStrategy > buildStrategy(const std::string &name, const Teuchos::ParameterList &settings, const RCP< const InverseLibrary > &invLib, const RCP< RequestHandler > &rh)
Builder function for creating strategies.
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
For assiting in construction of the preconditioner.
LSCPreconditionerFactory()
Default constructor.
static void addStrategy(const std::string &name, const RCP< Cloneable > &clone)
Add a strategy to the builder. This is done using the clone pattern.
LSCPreconditionerFactory(const Teuchos::RCP< LSCStrategy > &strategy)
fully generic constructor
virtual RCP< PreconditionerState > buildPreconditionerState() const
Build the LSCPrecondState object.
virtual LinearOp buildPreconditionerOperator(BlockedLinearOp &blo, BlockPreconditionerState &state) const
for PreconditionerFactoryBase