Thyra Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Simple2DTpetraModelEvaluator_decl.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Thyra: Interfaces and Support for Abstract Numerical Algorithms
4 //
5 // Copyright 2004 NTESS and the Thyra contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
11 #define SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
12 
13 
14 #include "Thyra_StateFuncModelEvaluatorBase.hpp"
15 #include "Tpetra_CrsGraph.hpp"
16 #include "Tpetra_Vector.hpp"
17 
18 
35 template<class Scalar>
37  : public Thyra::StateFuncModelEvaluatorBase<Scalar>
38 {
39 public:
40 
43 
46 
48  void set_d(const Scalar &d);
49 
52 
55 
57 
60 
66  Thyra::ModelEvaluatorBase::InArgs<Scalar> getNominalValues() const;
70  Thyra::ModelEvaluatorBase::InArgs<Scalar> createInArgs() const;
71 
73 
74 private:
75 
78 
80  Thyra::ModelEvaluatorBase::OutArgs<Scalar> createOutArgsImpl() const;
82  void evalModelImpl(
83  const Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs,
84  const Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs
85  ) const;
86 
88 
89 private: // data members
90 
93  Thyra::ModelEvaluatorBase::InArgs<Scalar> nominalValues_;
94  Scalar d_;
98  Thyra::ModelEvaluatorBase::InArgs<Scalar> prototypeInArgs_;
99  Thyra::ModelEvaluatorBase::OutArgs<Scalar> prototypeOutArgs_;
100 
101 };
102 
103 
108 template<class Scalar>
111 {
113 }
114 
115 
116 #endif // SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
Teuchos::RCP< Simple2DTpetraModelEvaluator< Scalar > > simple2DTpetraModelEvaluator()
Non-member constructor.
void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const
Thyra::ModelEvaluatorBase::OutArgs< Scalar > prototypeOutArgs_
Thyra::ModelEvaluatorBase::InArgs< Scalar > prototypeInArgs_
Teuchos::RCP< Tpetra::CrsGraph<> > W_op_graph_
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
void set_x0(const Teuchos::ArrayView< const Scalar > &x0)
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Teuchos::RCP< Tpetra::Vector< Scalar > > x0_
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
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Thyra::ModelEvaluatorBase::OutArgs< Scalar > createOutArgsImpl() const
Thyra::ModelEvaluatorBase::InArgs< Scalar > nominalValues_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > f_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > x_space_