21 #ifndef belos_solver_wrapper_hpp
22 #define belos_solver_wrapper_hpp
24 #include "../common/common.hpp"
26 #include "belos_solver_wrapper_fwd.hpp"
27 #include "../common/scalar_traits.hpp"
32 template <
typename ValueType>
class PreconditionerBase;
33 template <
typename ValueType>
class LinearOpWithSolveBase;
40 template <
typename ValueType>
47 const Teuchos::RCP<
const Thyra::LinearOpBase<ValueType> >& linOp);
51 void setPreconditioner(
52 const Teuchos::RCP<
const Thyra::PreconditionerBase<ValueType> >& preconditioner);
54 void initializeSolver(
55 const Teuchos::RCP<Teuchos::ParameterList>& paramList);
57 Thyra::SolveStatus<MagnitudeType> solve(
58 const Thyra::EOpTransp trans,
59 const Thyra::MultiVectorBase<ValueType>& rhs,
60 const Teuchos::Ptr<Thyra::MultiVectorBase<ValueType> >& sol)
const;
63 Teuchos::RCP<const Thyra::LinearOpBase<ValueType> > m_linOp;
64 Teuchos::RCP<const Thyra::PreconditionerBase<ValueType> > m_preconditioner;
65 Teuchos::RCP<const Thyra::LinearOpWithSolveBase<MagnitudeType> > m_linOpWithSolve;
Traits of scalar types.
Definition: scalar_traits.hpp:40
Definition: belos_solver_wrapper.hpp:41