45 #ifndef SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP 46 #define SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP 49 #include "Thyra_StateFuncModelEvaluatorBase.hpp" 50 #include "Tpetra_CrsGraph.hpp" 51 #include "Tpetra_Vector.hpp" 70 template<
class Scalar>
72 :
public Thyra::StateFuncModelEvaluatorBase<Scalar>
83 void set_d(
const Scalar &d);
86 void set_p(
const Teuchos::ArrayView<const Scalar> &p);
89 void set_x0(
const Teuchos::ArrayView<const Scalar> &x0);
97 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space()
const;
99 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_f_space()
const;
103 Teuchos::RCP<Thyra::LinearOpBase<Scalar> >
create_W_op()
const;
105 Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs()
const;
118 const Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs,
119 const Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs
126 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
x_space_;
127 Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
f_space_;
130 Teuchos::RCP<Tpetra::Vector<Scalar> >
x0_;
131 Teuchos::Array<Scalar>
p_;
143 template<
class Scalar>
144 Teuchos::RCP<Simple2DTpetraModelEvaluator<Scalar> >
151 #endif // SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP Teuchos::RCP< Simple2DTpetraModelEvaluator< Scalar > > simple2DTpetraModelEvaluator()
Non-member constructor.
Thyra::ModelEvaluatorBase::OutArgs< Scalar > prototypeOutArgs_
Thyra::ModelEvaluatorBase::InArgs< Scalar > prototypeInArgs_
Teuchos::RCP< Tpetra::CrsGraph<> > W_op_graph_
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
void set_x0(const Teuchos::ArrayView< const Scalar > &x0)
void set_d(const Scalar &d)
Thyra::ModelEvaluatorBase::OutArgs< Scalar > createOutArgsImpl() const
Teuchos::RCP< Tpetra::Vector< Scalar > > x0_
Teuchos::Array< Scalar > p_
void set_p(const Teuchos::ArrayView< const Scalar > &p)
Simple 2d simulation only ModelEvaluator for f(x) = 0 using Tpetra objects.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const
Simple2DTpetraModelEvaluator()
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Thyra::ModelEvaluatorBase::InArgs< Scalar > nominalValues_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > f_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > x_space_
void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const