42 #ifndef THYRA_LINEAR_SOLVER_BUILDING_BASE 43 #define THYRA_LINEAR_SOLVER_BUILDING_BASE 45 #include "Teuchos_ParameterListAcceptor.hpp" 46 #include "Thyra_LinearOpWithSolveFactoryBase.hpp" 59 template<
class Scalar>
76 virtual Teuchos::RCP<LinearOpWithSolveFactoryBase<Scalar> >
78 const std::string &linearSolveStrategyName )
const = 0;
92 virtual Teuchos::RCP<PreconditionerFactoryBase<Scalar> >
94 const std::string &preconditioningStrategyName )
const = 0;
149 template<
class Scalar>
150 Teuchos::RCP<LinearOpWithSolveFactoryBase<Scalar> >
153 const std::string &linearSolveStrategyName =
"" 157 linearSolveStrategyName );
165 template<
class Scalar>
166 Teuchos::RCP<PreconditionerFactoryBase<Scalar> >
169 const std::string &preconditioningStrategyName =
"" 173 preconditioningStrategyName );
179 #endif // THYRA_LINEAR_SOLVER_BUILDING_BASE virtual Teuchos::RCP< LinearOpWithSolveFactoryBase< Scalar > > createLinearSolveStrategy(const std::string &linearSolveStrategyName) const =0
Create a new LinearOpWithSolveFactoryBase object purely specified by the parameter list...
Teuchos::RCP< PreconditionerFactoryBase< Scalar > > createPreconditioningStrategy(const LinearSolverBuilderBase< Scalar > &linearSolverBuilder, const std::string &preconditioningStrategyName="")
virtual Teuchos::RCP< PreconditionerFactoryBase< Scalar > > createPreconditioningStrategy(const std::string &preconditioningStrategyName) const =0
Create a new PreconditionerFactoryBase object purely specified by the parameter list.
Teuchos::RCP< LinearOpWithSolveFactoryBase< Scalar > > createLinearSolveStrategy(const LinearSolverBuilderBase< Scalar > &linearSolverBuilder, const std::string &linearSolveStrategyName="")
Abstract interface for an object that can create LinearOpWithSolveFactoryBase objects on demand...