10#ifndef __Teko_SolveInverseFactory_hpp__
11#define __Teko_SolveInverseFactory_hpp__
13#include "Teko_InverseFactory.hpp"
32 const Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> >& lowsFactory);
35 SolveInverseFactory(
const SolveInverseFactory& siFactory);
38 virtual ~SolveInverseFactory() {}
49 virtual InverseLinearOp buildInverse(
const LinearOp& linearOp)
const;
63 virtual InverseLinearOp buildInverse(
const LinearOp& linearOp,
const LinearOp& precOp)
const;
76 virtual void rebuildInverse(
const LinearOp& source, InverseLinearOp& dest)
const;
90 virtual void rebuildInverse(
const LinearOp& source,
const LinearOp& precOp,
91 InverseLinearOp& dest)
const;
101 virtual Teuchos::RCP<const Teuchos::ParameterList>
getParameterList()
const;
104 Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<double> > getLowsFactory()
const {
109 virtual std::string
toString()
const {
return lowsFactory_->description(); }
112 Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> > lowsFactory_;
116 SolveInverseFactory();
Abstract class for building an inverse operator.
virtual Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const =0
A function that permits inspection of the parameters used to create this object.
virtual std::string toString() const =0