42 #ifndef THYRA_DEFAULT_BLOCKED_TRIANGULAR_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP 43 #define THYRA_DEFAULT_BLOCKED_TRIANGULAR_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP 46 #include "Thyra_LinearOpWithSolveBase.hpp" 47 #include "Thyra_DefaultBlockedLinearOp.hpp" 48 #include "Thyra_LinearOpSourceBase.hpp" 92 template<
class Scalar>
175 const std::string &precFactoryName
179 virtual RCP<PreconditionerFactoryBase<Scalar> >
185 std::string *precFactoryName
194 virtual RCP<LinearOpWithSolveBase<Scalar> >
createOp()
const;
253 typedef Teuchos::ConstNonconstObjectContainer<LinearOpWithSolveFactoryBase<Scalar> > LOWSF_t;
267 template<
class Scalar>
268 RCP<DefaultBlockedTriangularLinearOpWithSolveFactory<Scalar> >
269 defaultBlockedTriangularLinearOpWithSolveFactory(
283 template<
class Scalar>
284 RCP<DefaultBlockedTriangularLinearOpWithSolveFactory<Scalar> >
285 defaultBlockedTriangularLinearOpWithSolveFactory(
286 const RCP<
const LinearOpWithSolveFactoryBase<Scalar> > &lowsf
290 new DefaultBlockedTriangularLinearOpWithSolveFactory<Scalar>(lowsf)
298 #endif // THYRA_DEFAULT_BLOCKED_TRIANGULAR_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP virtual RCP< PreconditionerFactoryBase< Scalar > > getPreconditionerFactory() const
Returns null .
Base class for all linear operators that can support a high-level solve operation.
virtual bool isCompatible(const LinearOpSourceBase< Scalar > &fwdOpSrc) const
virtual RCP< LinearOpWithSolveBase< Scalar > > createOp() const
virtual void initializeAndReuseOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op) const
virtual void unsetPreconditionerFactory(RCP< PreconditionerFactoryBase< Scalar > > *precFactory, std::string *precFactoryName)
Throws exception.
Simple interface class to access a precreated preconditioner as one or more linear operators objects ...
std::string description() const
Implicit subclass that takes a blocked triangular LOWB object and turns it into a LOWSB object...
RCP< ParameterList > getNonconstParameterList()
virtual bool acceptsPreconditionerFactory() const
returns false.
virtual void initializePreconditionedOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const PreconditionerBase< Scalar > > &prec, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
RCP< const ParameterList > getValidParameters() const
void informUpdatedVerbosityState() const
Overridden from Teuchos::VerboseObjectBase.
Factory interface for creating LinearOpWithSolveBase objects from compatible LinearOpBase objects...
RCP< LinearOpWithSolveFactoryBase< Scalar > > getUnderlyingLOWSF()
RCP< const ParameterList > getParameterList() const
Factory interface for creating preconditioner objects from LinearOpBase objects.
Base interface for objects that can return a linear operator.
ESupportSolveUse
Enum that specifies how a LinearOpWithSolveBase object will be used for solves after it is constructe...
virtual void setPreconditionerFactory(const RCP< PreconditionerFactoryBase< Scalar > > &precFactory, const std::string &precFactoryName)
Throws exception.
virtual void uninitializeOp(LinearOpWithSolveBase< Scalar > *Op, RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc, RCP< const PreconditionerBase< Scalar > > *prec, RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
virtual void initializeApproxPreconditionedOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
EPreconditionerInputType
Enum defining the status of a preconditioner object.
virtual bool supportsPreconditionerInputType(const EPreconditionerInputType precOpType) const
virtual void initializeOp(const RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
void setParameterList(RCP< ParameterList > const ¶mList)
RCP< ParameterList > unsetParameterList()