Thyra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
test
nonlinear
models
Thyra_Simple2DModelEvaluator_decl.hpp
1
/*
2
// @HEADER
3
// ***********************************************************************
4
//
5
// Thyra: Interfaces and Support for Abstract Numerical Algorithms
6
// Copyright (2004) Sandia Corporation
7
//
8
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9
// license for use of this work by or on behalf of the U.S. Government.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Roscoe A. Bartlett (bartlettra@ornl.gov)
39
//
40
// ***********************************************************************
41
// @HEADER
42
*/
43
44
45
#ifndef THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
46
#define THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
47
48
49
#include "Thyra_StateFuncModelEvaluatorBase.hpp"
50
51
52
namespace
Thyra {
53
54
55
template
<
class
Scalar>
class
Simple2DModelEvaluator
;
56
57
62
template
<
class
Scalar>
63
Teuchos::RCP<Simple2DModelEvaluator<Scalar> >
64
simple2DModelEvaluator();
65
66
92
template
<
class
Scalar>
93
class
Simple2DModelEvaluator
94
:
public
Thyra::StateFuncModelEvaluatorBase
<Scalar>
95
{
96
public
:
97
100
102
void
set_d
(
const
Scalar &d);
103
105
void
set_p
(
const
Teuchos::ArrayView<const Scalar>
&p);
106
108
void
set_x0
(
const
Teuchos::ArrayView<const Scalar>
&x0);
109
111
void
setShowGetInvalidArgs
(
bool
showGetInvalidArg);
112
114
117
119
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
>
get_x_space
()
const
;
121
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
>
get_f_space
()
const
;
123
Thyra::ModelEvaluatorBase::InArgs<Scalar>
getNominalValues
()
const
;
125
Teuchos::RCP<Thyra::LinearOpBase<Scalar>
>
create_W_op
()
const
;
127
Teuchos::RCP<Thyra::PreconditionerBase<Scalar>
>
create_W_prec
()
const
;
129
Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar>
>
get_W_factory
()
const
;
131
Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs
()
const
;
132
134
135
#ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
136
137
friend
Teuchos::RCP<Simple2DModelEvaluator<Scalar>
>
simple2DModelEvaluator<>
();
138
139
private
:
140
141
#endif
// TEMPLATE_FRIENDS_NOT_SUPPORTED
142
143
private
:
144
147
149
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
createOutArgsImpl()
const
;
151
void
evalModelImpl(
152
const
Thyra::ModelEvaluatorBase::InArgs<Scalar>
&inArgs,
153
const
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
&outArgs
154
)
const
;
155
157
158
private
:
// data members
159
160
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
> x_space_;
161
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
> f_space_;
162
Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar>
> W_factory_;
163
Thyra::ModelEvaluatorBase::InArgs<Scalar>
nominalValues_;
164
Scalar d_;
165
Teuchos::RCP<Thyra::VectorBase<Scalar>
> x0_;
166
Teuchos::Array<Scalar>
p_;
167
bool
showGetInvalidArg_;
168
Thyra::ModelEvaluatorBase::InArgs<Scalar>
prototypeInArgs_;
169
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
prototypeOutArgs_;
170
171
#ifdef TEMPLATE_FRIENDS_NOT_SUPPORTED
172
public
:
// member functions
173
#else
174
private
:
// member functions
175
#endif
176
177
Simple2DModelEvaluator();
178
179
};
180
181
182
}
// namespace Thyra
183
184
185
#endif
// THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
Teuchos::ArrayView
Teuchos::Array
Teuchos::RCP
Thyra::ModelEvaluatorBase::InArgs
Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object.
Definition
Thyra_ModelEvaluatorBase_decl.hpp:159
Thyra::ModelEvaluatorBase::OutArgs
Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object.
Definition
Thyra_ModelEvaluatorBase_decl.hpp:902
Thyra::Simple2DModelEvaluator
Simple 2d simulation only ModelEvaluator for f(x) = 0.
Definition
Thyra_Simple2DModelEvaluator_decl.hpp:95
Thyra::Simple2DModelEvaluator::simple2DModelEvaluator
Teuchos::RCP< Simple2DModelEvaluator< Scalar > > simple2DModelEvaluator()
Nonmember constuctor.
Definition
Thyra_Simple2DModelEvaluator_def.hpp:68
Thyra::Simple2DModelEvaluator::set_p
void set_p(const Teuchos::ArrayView< const Scalar > &p)
Definition
Thyra_Simple2DModelEvaluator_def.hpp:85
Thyra::Simple2DModelEvaluator::set_d
void set_d(const Scalar &d)
Definition
Thyra_Simple2DModelEvaluator_def.hpp:78
Thyra::Simple2DModelEvaluator::get_x_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Definition
Thyra_Simple2DModelEvaluator_def.hpp:117
Thyra::Simple2DModelEvaluator::get_W_factory
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const
Definition
Thyra_Simple2DModelEvaluator_def.hpp:163
Thyra::Simple2DModelEvaluator::get_f_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const
Definition
Thyra_Simple2DModelEvaluator_def.hpp:125
Thyra::Simple2DModelEvaluator::create_W_op
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
Definition
Thyra_Simple2DModelEvaluator_def.hpp:141
Thyra::Simple2DModelEvaluator::createInArgs
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
Definition
Thyra_Simple2DModelEvaluator_def.hpp:171
Thyra::Simple2DModelEvaluator::getNominalValues
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Definition
Thyra_Simple2DModelEvaluator_def.hpp:133
Thyra::Simple2DModelEvaluator::set_x0
void set_x0(const Teuchos::ArrayView< const Scalar > &x0)
Definition
Thyra_Simple2DModelEvaluator_def.hpp:95
Thyra::Simple2DModelEvaluator::setShowGetInvalidArgs
void setShowGetInvalidArgs(bool showGetInvalidArg)
Definition
Thyra_Simple2DModelEvaluator_def.hpp:106
Thyra::Simple2DModelEvaluator::create_W_prec
Teuchos::RCP< Thyra::PreconditionerBase< Scalar > > create_W_prec() const
Definition
Thyra_Simple2DModelEvaluator_def.hpp:151
Thyra::StateFuncModelEvaluatorBase
This base class defines default function implementations appropritate for a set of nonlinear state fu...
Definition
Thyra_StateFuncModelEvaluatorBase.hpp:62
Generated by
1.17.0