Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
support
nonlinear
model_evaluator
client_support
Thyra_DefaultFiniteDifferenceModelEvaluator_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_DEFAULT_FINITE_DIFFERENCE_MODEL_EVALUATOR_DECL_HPP
11
#define THYRA_DEFAULT_FINITE_DIFFERENCE_MODEL_EVALUATOR_DECL_HPP
12
13
#include "Thyra_ModelEvaluatorDelegatorBase.hpp"
14
#include "Thyra_DirectionalFiniteDiffCalculator.hpp"
15
#include "
Teuchos_StandardMemberCompositionMacros.hpp
"
16
#include "
Teuchos_StandardCompositionMacros.hpp
"
17
18
19
namespace
Thyra {
20
21
29
template
<
class
Scalar>
30
class
DefaultFiniteDifferenceModelEvaluator
31
:
virtual
public
ModelEvaluatorDelegatorBase
<Scalar>
32
{
33
public
:
34
37
39
STANDARD_COMPOSITION_MEMBERS
(
40
DirectionalFiniteDiffCalculator<Scalar>
, direcFiniteDiffCalculator );
41
43
DefaultFiniteDifferenceModelEvaluator
();
44
46
void
initialize
(
47
const
RCP
<
ModelEvaluator<Scalar>
> &thyraModel
48
,
const
RCP
<
DirectionalFiniteDiffCalculator<Scalar>
> &direcFiniteDiffCalculator
49
);
50
52
55
57
std::string
description
()
const
;
58
60
61
private
:
62
65
67
ModelEvaluatorBase::OutArgs<Scalar>
createOutArgsImpl()
const
;
69
void
evalModelImpl(
70
const
ModelEvaluatorBase::InArgs<Scalar>
&inArgs,
71
const
ModelEvaluatorBase::OutArgs<Scalar>
&outArgs
72
)
const
;
73
75
76
};
77
78
83
template
<
class
Scalar>
84
RCP<DefaultFiniteDifferenceModelEvaluator<Scalar>
>
85
defaultFiniteDifferenceModelEvaluator
()
86
{
87
return
Teuchos::rcp
(
new
DefaultFiniteDifferenceModelEvaluator<Scalar>
());
88
}
89
90
95
template
<
class
Scalar>
96
RCP<DefaultFiniteDifferenceModelEvaluator<Scalar>
>
97
defaultFiniteDifferenceModelEvaluator
(
98
const
RCP
<
ModelEvaluator<Scalar>
> &thyraModel,
99
const
RCP
<
DirectionalFiniteDiffCalculator<Scalar>
> &direcFiniteDiffCalculator
100
)
101
{
102
RCP<DefaultFiniteDifferenceModelEvaluator<Scalar>
> fdModel =
103
defaultFiniteDifferenceModelEvaluator<Scalar>
();
104
fdModel->initialize(thyraModel, direcFiniteDiffCalculator);
105
return
fdModel;
106
}
107
108
109
}
// namespace Thyra
110
111
112
#endif
// THYRA_DEFAULT_FINITE_DIFFERENCE_MODEL_EVALUATOR_DECL_HPP
Teuchos_StandardCompositionMacros.hpp
Teuchos_StandardMemberCompositionMacros.hpp
Teuchos::RCP
Thyra::DefaultFiniteDifferenceModelEvaluator::STANDARD_COMPOSITION_MEMBERS
STANDARD_COMPOSITION_MEMBERS(DirectionalFiniteDiffCalculator< Scalar >, direcFiniteDiffCalculator)
Utility object that computes directional finite differences.
Thyra::DefaultFiniteDifferenceModelEvaluator::defaultFiniteDifferenceModelEvaluator
RCP< DefaultFiniteDifferenceModelEvaluator< Scalar > > defaultFiniteDifferenceModelEvaluator(const RCP< ModelEvaluator< Scalar > > &thyraModel, const RCP< DirectionalFiniteDiffCalculator< Scalar > > &direcFiniteDiffCalculator)
Nonmember constructor.
Definition
Thyra_DefaultFiniteDifferenceModelEvaluator_decl.hpp:97
Thyra::DefaultFiniteDifferenceModelEvaluator::initialize
void initialize(const RCP< ModelEvaluator< Scalar > > &thyraModel, const RCP< DirectionalFiniteDiffCalculator< Scalar > > &direcFiniteDiffCalculator)
Definition
Thyra_DefaultFiniteDifferenceModelEvaluator_def.hpp:28
Thyra::DefaultFiniteDifferenceModelEvaluator::defaultFiniteDifferenceModelEvaluator
RCP< DefaultFiniteDifferenceModelEvaluator< Scalar > > defaultFiniteDifferenceModelEvaluator()
Nonmember constructor.
Definition
Thyra_DefaultFiniteDifferenceModelEvaluator_decl.hpp:85
Thyra::DefaultFiniteDifferenceModelEvaluator::description
std::string description() const
Definition
Thyra_DefaultFiniteDifferenceModelEvaluator_def.hpp:42
Thyra::DefaultFiniteDifferenceModelEvaluator::DefaultFiniteDifferenceModelEvaluator
DefaultFiniteDifferenceModelEvaluator()
Definition
Thyra_DefaultFiniteDifferenceModelEvaluator_def.hpp:23
Thyra::DirectionalFiniteDiffCalculator
Utility class for computing directional finite differences of a model.
Definition
Thyra_DirectionalFiniteDiffCalculator_decl.hpp:101
Thyra::ModelEvaluatorBase::InArgs
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object.
Definition
Thyra_ModelEvaluatorBase_decl.hpp:127
Thyra::ModelEvaluatorBase::OutArgs
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object.
Definition
Thyra_ModelEvaluatorBase_decl.hpp:870
Thyra::ModelEvaluatorDelegatorBase::ModelEvaluatorDelegatorBase
ModelEvaluatorDelegatorBase()
Constructs to uninitialized.
Definition
Thyra_ModelEvaluatorDelegatorBase.hpp:297
Thyra::ModelEvaluator
Pure abstract base interface for evaluating a stateless "model" that can be mapped into a number of d...
Definition
Thyra_ModelEvaluator.hpp:741
Teuchos::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Generated by
1.17.0