9 #ifndef Thyra_ReusePreconditionerFactory_hpp 10 #define Thyra_ReusePreconditionerFactory_hpp 12 #include "Thyra_PreconditionerFactoryBase.hpp" 19 template<
class Scalar>
21 :
virtual public PreconditionerFactoryBase<Scalar>
32 const RCP<PreconditionerBase<Scalar> > &prec
35 TEUCHOS_TEST_FOR_EXCEPT(is_null(prec));
40 RCP<PreconditionerBase<Scalar> >
43 RCP<const PreconditionerBase<Scalar> >
47 prec_ = Teuchos::null;
55 std::ostringstream oss;
56 oss << this->Teuchos::Describable::description()
60 oss <<
prec_->description();
93 return rcp(
new ParameterList);
110 const RCP<
const LinearOpSourceBase<Scalar> > &fwdOpSrc,
111 PreconditionerBase<Scalar> *precOp,
112 const ESupportSolveUse supportSolveUse = SUPPORT_SOLVE_UNSPECIFIED
118 PreconditionerBase<Scalar> *precOp,
119 RCP<
const LinearOpSourceBase<Scalar> > *fwdOpSrc = NULL,
120 ESupportSolveUse *supportSolveUse = NULL
132 RCP< PreconditionerBase<Scalar> >
prec_;
140 template<
class Scalar>
141 RCP<ReusePreconditionerFactory<Scalar> >
151 template<
class Scalar>
152 RCP<ReusePreconditionerFactory<Scalar> >
154 const RCP<PreconditionerBase<Scalar> > &prec
157 RCP<ReusePreconditionerFactory<Scalar> >
159 fac->initialize(prec);
Concrete PreconditionerFactoryBase subclass that just returns an already created/initialized precondi...
void initializePrec(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, PreconditionerBase< Scalar > *precOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) const
RCP< ReusePreconditionerFactory< Scalar > > reusePreconditionerFactory(const RCP< PreconditionerBase< Scalar > > &prec)
Nonmember constructor function.
void setParameterList(RCP< ParameterList > const ¶mList)
RCP< ParameterList > unsetParameterList()
ReusePreconditionerFactory()
Construct to uninitialized.
void initialize(const RCP< PreconditionerBase< Scalar > > &prec)
bool isCompatible(const LinearOpSourceBase< Scalar > &fwdOpSrc) const
RCP< const PreconditionerBase< Scalar > > getPreconditioner() const
RCP< ParameterList > getNonconstParameterList()
std::string description() const
void uninitializePrec(PreconditionerBase< Scalar > *precOp, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc=NULL, ESupportSolveUse *supportSolveUse=NULL) const
RCP< PreconditionerBase< Scalar > > createPrec() const
RCP< const ParameterList > getValidParameters() const
RCP< ReusePreconditionerFactory< Scalar > > reusePreconditionerFactory()
Nonmember constructor function.
RCP< PreconditionerBase< Scalar > > getNonconstPreconditioner()
RCP< PreconditionerBase< Scalar > > prec_
RCP< const ParameterList > getParameterList() const