|
Stratimikos
Version of the Day
|
45 #ifndef THYRA_BELOS_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP
46 #define THYRA_BELOS_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP
48 #include "Thyra_LinearOpWithSolveFactoryBase.hpp"
49 #include "Teuchos_StandardMemberCompositionMacros.hpp"
50 #include "Teuchos_StandardCompositionMacros.hpp"
52 namespace Teuchos {
class ParameterList; }
56 enum EBelosSolverType {
57 SOLVER_TYPE_BLOCK_GMRES,
58 SOLVER_TYPE_PSEUDO_BLOCK_GMRES,
60 SOLVER_TYPE_PSEUDO_BLOCK_CG,
61 SOLVER_TYPE_PSEUDO_BLOCK_STOCHASTIC_CG,
68 inline std::istream& operator>>(
69 std::istream& is, EBelosSolverType& sType)
73 sType = (EBelosSolverType)intval;
85 template<
class Scalar>
149 ,
const std::string &precFactoryName
156 ,std::string *precFactoryName
233 std::string precFactoryName_;
236 EBelosSolverType solverType_;
237 int convergenceTestFrequency_;
244 void updateThisValidParamList();
246 void initializeOpImpl(
250 ,
const bool reusePrec
261 #endif // THYRA_BELOS_LINEAR_OP_WITH_SOLVE_FACTORY_DECL_HPP
bool supportsPreconditionerInputType(const EPreconditionerInputType precOpType) const
static const std::string ConvergenceTestFrequency_name
void uninitializeOp(LinearOpWithSolveBase< Scalar > *Op, Teuchos::RCP< const LinearOpSourceBase< Scalar > > *fwdOpSrc, Teuchos::RCP< const PreconditionerBase< Scalar > > *prec, Teuchos::RCP< const LinearOpSourceBase< Scalar > > *approxFwdOpSrc, ESupportSolveUse *supportSolveUse) const
std::string description() const
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
static const std::string BlockCG_name
void initializeOp(const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
static const std::string MINRES_name
static const std::string PseudoBlockCG_name
static const std::string SolverTypes_name
void initializeAndReuseOp(const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, LinearOpWithSolveBase< Scalar > *Op) const
static const std::string SolverType_default
void unsetPreconditionerFactory(Teuchos::RCP< PreconditionerFactoryBase< Scalar > > *precFactory, std::string *precFactoryName)
Teuchos::RCP< LinearOpWithSolveBase< Scalar > > createOp() const
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
static const std::string PseudoBlockGMRES_name
void initializeApproxPreconditionedOp(const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &approxFwdOpSrc, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
void initializePreconditionedOp(const Teuchos::RCP< const LinearOpSourceBase< Scalar > > &fwdOpSrc, const Teuchos::RCP< const PreconditionerBase< Scalar > > &prec, LinearOpWithSolveBase< Scalar > *Op, const ESupportSolveUse supportSolveUse) const
BelosLinearOpWithSolveFactory()
Construct without preconditioner factory.
bool acceptsPreconditionerFactory() const
Returns true .
Teuchos::RCP< PreconditionerFactoryBase< Scalar > > getPreconditionerFactory() const
Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
Teuchos::ScalarTraits< Scalar >::magnitudeType MagnitudeType
static const std::string SolverType_name
static const std::string GCRODR_name
LinearOpWithSolveFactoryBase subclass implemented in terms of Belos.
Teuchos::RCP< const Teuchos::ParameterList > getParameterList() const
static const std::string BlockGMRES_name
static const std::string TFQMR_name
bool isCompatible(const LinearOpSourceBase< Scalar > &fwdOpSrc) const
static const std::string RCG_name
void setPreconditionerFactory(const Teuchos::RCP< PreconditionerFactoryBase< Scalar > > &precFactory, const std::string &precFactoryName)
static const std::string PseudoBlockStochasticCG_name
Generated for Stratimikos by
1.8.16