Thyra Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
adapters
tpetra
test
Simple2DTpetraModelEvaluator_decl.hpp
Go to the documentation of this file.
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 SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
46
#define SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
47
48
49
#include "Thyra_StateFuncModelEvaluatorBase.hpp"
50
#include "Tpetra_CrsGraph.hpp"
51
#include "Tpetra_Vector.hpp"
52
53
70
template
<
class
Scalar>
71
class
Simple2DTpetraModelEvaluator
72
:
public
Thyra::StateFuncModelEvaluatorBase<Scalar>
73
{
74
public
:
75
78
80
Simple2DTpetraModelEvaluator
();
81
83
void
set_d
(
const
Scalar &d);
84
86
void
set_p
(
const
Teuchos::ArrayView<const Scalar>
&p);
87
89
void
set_x0
(
const
Teuchos::ArrayView<const Scalar>
&x0);
90
92
95
97
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
>
get_x_space
()
const
;
99
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
>
get_f_space
()
const
;
101
Thyra::ModelEvaluatorBase::InArgs<Scalar>
getNominalValues
()
const
;
103
Teuchos::RCP<Thyra::LinearOpBase<Scalar>
>
create_W_op
()
const
;
105
Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs
()
const
;
106
108
109
private
:
110
113
115
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
createOutArgsImpl
()
const
;
117
void
evalModelImpl
(
118
const
Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs,
119
const
Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs
120
)
const
;
121
123
124
private
:
// data members
125
126
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
>
x_space_
;
127
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar>
>
f_space_
;
128
Thyra::ModelEvaluatorBase::InArgs<Scalar>
nominalValues_
;
129
Scalar
d_
;
130
Teuchos::RCP<Tpetra::Vector<Scalar>
>
x0_
;
131
Teuchos::Array<Scalar>
p_
;
132
Teuchos::RCP<Tpetra::CrsGraph<>
>
W_op_graph_
;
133
Thyra::ModelEvaluatorBase::InArgs<Scalar>
prototypeInArgs_
;
134
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
prototypeOutArgs_
;
135
136
};
137
138
143
template
<
class
Scalar>
144
Teuchos::RCP<Simple2DTpetraModelEvaluator<Scalar>
>
145
simple2DTpetraModelEvaluator
()
146
{
147
return
Teuchos::rcp
(
new
Simple2DTpetraModelEvaluator<Scalar>
);
148
}
149
150
151
#endif
// SIMPLE_2D_TPETRA_MODEL_EVALUATOR_DECL_HPP
Simple2DTpetraModelEvaluator::p_
Teuchos::Array< Scalar > p_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:131
Simple2DTpetraModelEvaluator::x_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > x_space_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:126
Simple2DTpetraModelEvaluator::getNominalValues
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Definition
Simple2DTpetraModelEvaluator_def.hpp:178
Simple2DTpetraModelEvaluator::prototypeOutArgs_
Thyra::ModelEvaluatorBase::OutArgs< Scalar > prototypeOutArgs_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:134
Simple2DTpetraModelEvaluator::set_p
void set_p(const Teuchos::ArrayView< const Scalar > &p)
Definition
Simple2DTpetraModelEvaluator_def.hpp:138
Simple2DTpetraModelEvaluator::simple2DTpetraModelEvaluator
Teuchos::RCP< Simple2DTpetraModelEvaluator< Scalar > > simple2DTpetraModelEvaluator()
Non-member constructor.
Definition
Simple2DTpetraModelEvaluator_decl.hpp:145
Simple2DTpetraModelEvaluator::get_f_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const
Definition
Simple2DTpetraModelEvaluator_def.hpp:170
Simple2DTpetraModelEvaluator::prototypeInArgs_
Thyra::ModelEvaluatorBase::InArgs< Scalar > prototypeInArgs_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:133
Simple2DTpetraModelEvaluator::set_d
void set_d(const Scalar &d)
Definition
Simple2DTpetraModelEvaluator_def.hpp:131
Simple2DTpetraModelEvaluator::W_op_graph_
Teuchos::RCP< Tpetra::CrsGraph<> > W_op_graph_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:132
Simple2DTpetraModelEvaluator::get_x_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Definition
Simple2DTpetraModelEvaluator_def.hpp:162
Simple2DTpetraModelEvaluator::Simple2DTpetraModelEvaluator
Simple2DTpetraModelEvaluator()
Definition
Simple2DTpetraModelEvaluator_def.hpp:59
Simple2DTpetraModelEvaluator::evalModelImpl
void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs) const
Definition
Simple2DTpetraModelEvaluator_def.hpp:216
Simple2DTpetraModelEvaluator::d_
Scalar d_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:129
Simple2DTpetraModelEvaluator::create_W_op
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
Definition
Simple2DTpetraModelEvaluator_def.hpp:186
Simple2DTpetraModelEvaluator::f_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > f_space_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:127
Simple2DTpetraModelEvaluator::createOutArgsImpl
Thyra::ModelEvaluatorBase::OutArgs< Scalar > createOutArgsImpl() const
Definition
Simple2DTpetraModelEvaluator_def.hpp:209
Simple2DTpetraModelEvaluator::x0_
Teuchos::RCP< Tpetra::Vector< Scalar > > x0_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:130
Simple2DTpetraModelEvaluator::nominalValues_
Thyra::ModelEvaluatorBase::InArgs< Scalar > nominalValues_
Definition
Simple2DTpetraModelEvaluator_decl.hpp:128
Simple2DTpetraModelEvaluator::createInArgs
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
Definition
Simple2DTpetraModelEvaluator_def.hpp:198
Simple2DTpetraModelEvaluator::set_x0
void set_x0(const Teuchos::ArrayView< const Scalar > &x0)
Definition
Simple2DTpetraModelEvaluator_def.hpp:148
Teuchos::ArrayView
Teuchos::Array
Teuchos::RCP
Teuchos::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Generated by
1.17.0