1#ifndef included_AMP_TrilinosLinearOP
2#define included_AMP_TrilinosLinearOP
5#include "AMP/operators/LinearOperator.h"
6#include "AMP/solvers/SolverStrategy.h"
7#include "AMP/vectors/Vector.h"
11#include "Thyra_LinearOpBase_def.hpp"
38 virtual void applyImpl(
const Thyra::EOpTransp M_trans,
39 const Thyra::MultiVectorBase<double> &
X,
40 const Teuchos::Ptr<Thyra::MultiVectorBase<double>> &Y,
42 const double beta )
const;
50 std::shared_ptr<AMP::Solver::SolverStrategy>
d_solver;
std::shared_ptr< AMP::Operator::Operator > shared_ptr
std::shared_ptr< AMP::Solver::SolverStrategy > shared_ptr
virtual ~TrilinosLinearOP()
Destructor.
std::shared_ptr< AMP::Operator::Operator > d_operator
Data variables.
std::shared_ptr< AMP::Solver::SolverStrategy > d_solver
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< double > > range() const
TrilinosLinearOP(AMP::Solver::SolverStrategy::shared_ptr)
Constructor that wraps and AMP::Solver.
TrilinosLinearOP()
Empty constructor.
virtual bool opSupportedImpl(Thyra::EOpTransp) const
TrilinosLinearOP(AMP::Operator::Operator::shared_ptr)
Constructor that wraps and AMP::Operator.
virtual Teuchos::RCP< const Thyra::VectorSpaceBase< double > > domain() const
virtual void applyImpl(const Thyra::EOpTransp M_trans, const Thyra::MultiVectorBase< double > &X, const Teuchos::Ptr< Thyra::MultiVectorBase< double > > &Y, const double alpha, const double beta) const
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.