Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_Simple2DModelEvaluator_decl.hpp
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 THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
11 #define THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
12 
13 
14 #include "Thyra_StateFuncModelEvaluatorBase.hpp"
15 
16 
17 namespace Thyra {
18 
19 
20 template<class Scalar> class Simple2DModelEvaluator;
21 
22 
27 template<class Scalar>
29 simple2DModelEvaluator();
30 
31 
57 template<class Scalar>
59  : public Thyra::StateFuncModelEvaluatorBase<Scalar>
60 {
61 public:
62 
65 
67  void set_d(const Scalar &d);
68 
71 
74 
76  void setShowGetInvalidArgs(bool showGetInvalidArg);
77 
79 
82 
97 
99 
100 #ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
101 
102  friend Teuchos::RCP<Simple2DModelEvaluator<Scalar> > simple2DModelEvaluator<>();
103 
104 private:
105 
106 #endif // TEMPLATE_FRIENDS_NOT_SUPPORTED
107 
108 private:
109 
112 
114  Thyra::ModelEvaluatorBase::OutArgs<Scalar> createOutArgsImpl() const;
116  void evalModelImpl(
119  ) const;
120 
122 
123 private: // data members
124 
129  Scalar d_;
132  bool showGetInvalidArg_;
135 
136 #ifdef TEMPLATE_FRIENDS_NOT_SUPPORTED
137 public: // member functions
138 #else
139 private: // member functions
140 #endif
141 
143 
144 };
145 
146 
147 } // namespace Thyra
148 
149 
150 #endif // THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object...
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const
Teuchos::RCP< Thyra::PreconditionerBase< Scalar > > create_W_prec() const
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
void set_p(const Teuchos::ArrayView< const Scalar > &p)
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const
void set_x0(const Teuchos::ArrayView< const Scalar > &x0)
void setShowGetInvalidArgs(bool showGetInvalidArg)
This base class defines default function implementations appropritate for a set of nonlinear state fu...
Simple 2d simulation only ModelEvaluator for f(x) = 0.
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object...