9 #ifndef Thyra_ReusePreconditionerFactory_hpp
10 #define Thyra_ReusePreconditionerFactory_hpp
12 #include "Thyra_PreconditionerFactoryBase.hpp"
19 template<
class Scalar>
40 RCP<PreconditionerBase<Scalar> >
43 RCP<const PreconditionerBase<Scalar> >
47 prec_ = Teuchos::null;
55 std::ostringstream oss;
60 oss <<
prec_->description();
93 return rcp(
new ParameterList);
132 RCP< PreconditionerBase<Scalar> >
prec_;
140 template<
class Scalar>
141 RCP<ReusePreconditionerFactory<Scalar> >
151 template<
class Scalar>
152 RCP<ReusePreconditionerFactory<Scalar> >
157 RCP<ReusePreconditionerFactory<Scalar> >
159 fac->initialize(prec);
Concrete PreconditionerFactoryBase subclass that just returns an already created/initialized precondi...
RCP< const ParameterList > getParameterList() const
RCP< ReusePreconditionerFactory< Scalar > > reusePreconditionerFactory(const RCP< PreconditionerBase< Scalar > > &prec)
Nonmember constructor function.
bool is_null(const boost::shared_ptr< T > &p)
void setParameterList(RCP< ParameterList > const &)
RCP< ParameterList > unsetParameterList()
ReusePreconditionerFactory()
Construct to uninitialized.
void initialize(const RCP< PreconditionerBase< Scalar > > &prec)
RCP< ParameterList > getNonconstParameterList()
RCP< const ParameterList > getValidParameters() const
Teuchos::RCP< PreconditionerBase< Scalar > > prec(const PreconditionerFactoryBase< Scalar > &precFactory, const Teuchos::RCP< const LinearOpBase< Scalar > > &fwdOp, const ESupportSolveUse supportSolveUse=SUPPORT_SOLVE_UNSPECIFIED)
void initializePrec(const RCP< const LinearOpSourceBase< Scalar > > &, PreconditionerBase< Scalar > *, const ESupportSolveUse=SUPPORT_SOLVE_UNSPECIFIED) const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
virtual std::string description() const
RCP< ReusePreconditionerFactory< Scalar > > reusePreconditionerFactory()
Nonmember constructor function.
RCP< PreconditionerBase< Scalar > > getNonconstPreconditioner()
RCP< PreconditionerBase< Scalar > > createPrec() const
RCP< const PreconditionerBase< Scalar > > getPreconditioner() const
RCP< PreconditionerBase< Scalar > > prec_
bool isCompatible(const LinearOpSourceBase< Scalar > &) const
std::string description() const
#define TEUCHOS_TEST_FOR_EXCEPT(throw_exception_test)
void uninitializePrec(PreconditionerBase< Scalar > *, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc=NULL, ESupportSolveUse *supportSolveUse=NULL) const