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);