Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Thyra_ScaledModelEvaluator_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_SCALED_MODEL_EVALUATOR_HPP
11 #define THYRA_SCALED_MODEL_EVALUATOR_HPP
12 
13 #include "Thyra_ModelEvaluatorDelegatorBase.hpp"
14 
15 namespace Thyra {
16 
17 
26 template<class Scalar>
28  virtual public ModelEvaluatorDelegatorBase<Scalar>
29 {
30 public:
31 
34 
36  std::string description() const;
37 
39  void set_f_scaling(const RCP<const Thyra::VectorBase<Scalar> >& f_scaling);
40 
41 private:
42 
45 
47  void evalModelImpl(
50  ) const;
51 
53 
54 private:
55 
56  //* Diagonal scaling vector */
58 
59 };
60 
61 
63 template<class Scalar>
65 createNonconstScaledModelEvaluator(const RCP<ModelEvaluator<Scalar > > &model)
66 {
68  srme->initialize(model);
69  return srme;
70 }
71 
72 
73 } // namespace Thyra
74 
75 
76 #endif // THYRA_SCALED_MODEL_EVALUATOR_HPP
Pure abstract base interface for evaluating a stateless &quot;model&quot; that can be mapped into a number of d...
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object...
This is a base class that delegetes almost all function to a wrapped model evaluator object...
void set_f_scaling(const RCP< const Thyra::VectorBase< Scalar > > &f_scaling)
Abstract interface for finite-dimensional dense vectors.
ScaledModelEvaluator()
Constructs to uninitialized.
This class decorates a ModelEvaluator and returns scaled residual and Jacobian values.
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object...