10 #ifndef THYRA_AZTECOO_LINEAR_OP_WITH_SOLVE_FACTORY_HPP
11 #define THYRA_AZTECOO_LINEAR_OP_WITH_SOLVE_FACTORY_HPP
13 #include "Thyra_LinearOpWithSolveFactoryBase.hpp"
19 namespace Teuchos {
class ParameterList; }
76 const Teuchos::RCP<PreconditionerFactoryBase<double> > &precFactory,
77 const std::string &precFactoryName
83 Teuchos::RCP<PreconditionerFactoryBase<double> > *precFactory,
84 std::string *precFactoryName
87 bool isCompatible(
const LinearOpSourceBase<double> &fwdOpSrc )
const;
92 const Teuchos::RCP<
const LinearOpSourceBase<double> > &fwdOpSrc,
93 LinearOpWithSolveBase<double> *Op,
94 const ESupportSolveUse supportSolveUse
98 const Teuchos::RCP<
const LinearOpSourceBase<double> > &fwdOpSrc,
99 LinearOpWithSolveBase<double> *Op
103 LinearOpWithSolveBase<double> *Op,
104 Teuchos::RCP<
const LinearOpSourceBase<double> > *fwdOpSrc,
106 Teuchos::RCP<
const LinearOpSourceBase<double> > *approxFwdOpSrc,
107 ESupportSolveUse *supportSolveUse
113 const Teuchos::RCP<
const LinearOpSourceBase<double> > &fwdOpSrc,
114 const Teuchos::RCP<
const PreconditionerBase<double> > &prec,
115 LinearOpWithSolveBase<double> *Op,
116 const ESupportSolveUse supportSolveUse
120 const Teuchos::RCP<
const LinearOpSourceBase<double> > &fwdOpSrc,
121 const Teuchos::RCP<
const LinearOpSourceBase<double> > &approxFwdOpSrc,
122 LinearOpWithSolveBase<double> *Op,
123 const ESupportSolveUse supportSolveUse
176 const Teuchos::RCP<
const LinearOpSourceBase<double> > &fwdOpSrc,
177 const Teuchos::RCP<
const PreconditionerBase<double> > &prec,
178 const Teuchos::RCP<
const LinearOpSourceBase<double> > &approxFwdOpSrc,
179 const bool reusePrec,
180 LinearOpWithSolveBase<double> *Op
189 #endif // THYRA_AZTECOO_LINEAR_OP_WITH_SOLVE_FACTORY_HPP
void uninitializeOp(LinearOpWithSolveBase< double > *Op, Teuchos::RCP< const LinearOpSourceBase< double > > *fwdOpSrc, Teuchos::RCP< const PreconditionerBase< double > > *prec, Teuchos::RCP< const LinearOpSourceBase< double > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
Teuchos::RCP< Teuchos::ParameterList > paramList_
void initializeAndReuseOp(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op) const
LinearOpWithSolveFactoryBase subclass implemented in terms of AztecOO.
void initializeOp_impl(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< double > > &prec, const Teuchos::RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, const bool reusePrec, LinearOpWithSolveBase< double > *Op) const
STANDARD_COMPOSITION_MEMBERS(EpetraOperatorViewExtractorBase, epetraFwdOpViewExtractor)
Set the strategy object used to extract an Epetra_Operator view of an input forward operator...
bool acceptsPreconditionerFactory() const
Returns true .
Teuchos::RCP< Teuchos::ParameterList > thisValidParamList_
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
double defaultFwdTolerance_
Teuchos::RCP< PreconditionerFactoryBase< double > > precFactory_
AztecOOLinearOpWithSolveFactory(Teuchos::RCP< Teuchos::ParameterList > const ¶mList=Teuchos::null)
Construct uninitialized.
void initializeApproxPreconditionedOp(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const LinearOpSourceBase< double > > &approxFwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
void updateThisValidParamList()
bool supportsPreconditionerInputType(const EPreconditionerInputType precOpType) const
int defaultFwdMaxIterations_
double defaultAdjTolerance_
std::string description() const
bool isCompatible(const LinearOpSourceBase< double > &fwdOpSrc) const
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
void unsetPreconditionerFactory(Teuchos::RCP< PreconditionerFactoryBase< double > > *precFactory, std::string *precFactoryName)
void initializeOp(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Teuchos::RCP< PreconditionerFactoryBase< double > > getPreconditionerFactory() const
std::string precFactoryName_
void initializePreconditionedOp(const Teuchos::RCP< const LinearOpSourceBase< double > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< double > > &prec, LinearOpWithSolveBase< double > *Op, const ESupportSolveUse supportSolveUse) const
int defaultAdjMaxIterations_
void setPreconditionerFactory(const Teuchos::RCP< PreconditionerFactoryBase< double > > &precFactory, const std::string &precFactoryName)
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Teuchos::RCP< LinearOpWithSolveBase< double > > createOp() const
static Teuchos::RCP< const Teuchos::ParameterList > generateAndGetValidParameters()