Thyra Version of the Day
Loading...
Searching...
No Matches
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
15namespace Thyra {
16
17
26template<class Scalar>
28 virtual public ModelEvaluatorDelegatorBase<Scalar>
29{
30public:
31
34
36 std::string description() const;
37
39 void set_f_scaling(const RCP<const Thyra::VectorBase<Scalar> >& f_scaling);
40
41private:
42
45
47 void evalModelImpl(
50 ) const;
51
53
54private:
55
56 //* Diagonal scaling vector */
58
59};
60
61
63template<class Scalar>
65createNonconstScaledModelEvaluator(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
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object.
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.
Pure abstract base interface for evaluating a stateless "model" that can be mapped into a number of d...
This class decorates a ModelEvaluator and returns scaled residual and Jacobian values.
void set_f_scaling(const RCP< const Thyra::VectorBase< Scalar > > &f_scaling)
ScaledModelEvaluator()
Constructs to uninitialized.
Abstract interface for finite-dimensional dense vectors.