Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
test
TestModels
SteadyQuadraticModel_decl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ****************************************************************************
3
// Tempus: Copyright (2017) Sandia Corporation
4
//
5
// Distributed under BSD 3-clause license (See accompanying file Copyright.txt)
6
// ****************************************************************************
7
// @HEADER
8
9
#ifndef TEMPUS_TEST_STEADY_QUADRATIC_MODEL_DECL_HPP
10
#define TEMPUS_TEST_STEADY_QUADRATIC_MODEL_DECL_HPP
11
12
#include "Thyra_ModelEvaluator.hpp"
// Interface
13
#include "Thyra_StateFuncModelEvaluatorBase.hpp"
// Implementation
14
15
#include "Teuchos_ParameterListAcceptorDefaultBase.hpp"
16
#include "Teuchos_ParameterList.hpp"
17
18
namespace
Tempus_Test
{
19
30
template
<
class
Scalar>
31
class
SteadyQuadraticModel
32
:
public
Thyra::StateFuncModelEvaluatorBase<Scalar>,
33
public
Teuchos::ParameterListAcceptorDefaultBase
34
{
35
public
:
36
37
// Constructor
38
SteadyQuadraticModel
(Teuchos::RCP<Teuchos::ParameterList> pList = Teuchos::null);
39
40
// Exact solution
41
Scalar
getSteadyStateSolution
()
const
;
42
43
// Exact sensitivity solution
44
Scalar
getSteadyStateSolutionSensitivity
()
const
;
45
48
49
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space
()
const
;
50
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_f_space
()
const
;
51
Thyra::ModelEvaluatorBase::InArgs<Scalar>
getNominalValues
()
const
;
52
Teuchos::RCP<Thyra::LinearOpWithSolveBase<Scalar> >
create_W
()
const
;
53
Teuchos::RCP<Thyra::LinearOpBase<Scalar> >
create_W_op
()
const
;
54
Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> >
get_W_factory
()
const
;
55
Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs
()
const
;
56
57
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_p_space
(
int
l)
const
;
58
Teuchos::RCP<const Teuchos::Array<std::string> >
get_p_names
(
int
l)
const
;
59
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_g_space
(
int
j)
const
;
60
62
65
void
setParameterList
(Teuchos::RCP<Teuchos::ParameterList>
const
& paramList);
66
Teuchos::RCP<const Teuchos::ParameterList>
getValidParameters
()
const
;
68
69
private
:
70
71
void
setupInOutArgs_
()
const
;
72
75
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
createOutArgsImpl
()
const
;
76
void
evalModelImpl
(
77
const
Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs_bar,
78
const
Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs_bar
79
)
const
;
81
82
private
:
83
int
dim_
;
84
int
Np_
;
85
int
np_
;
86
int
Ng_
;
87
int
ng_
;
88
bool
useDfDpAsTangent_
;
89
mutable
bool
isInitialized_
;
90
mutable
Thyra::ModelEvaluatorBase::InArgs<Scalar>
inArgs_
;
91
mutable
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
outArgs_
;
92
mutable
Thyra::ModelEvaluatorBase::InArgs<Scalar>
nominalValues_
;
93
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
x_space_
;
94
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
f_space_
;
95
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
p_space_
;
96
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
g_space_
;
97
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
DxDp_space_
;
98
99
// Parameters for the model
100
Scalar
b_
;
101
};
102
103
104
}
// namespace Tempus_Test
105
#endif
// TEMPUS_TEST_STEADY_QUADRATIC_MODEL_DECL_HPP
Tempus_Test::SteadyQuadraticModel::get_p_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_p_space(int l) const
Definition
SteadyQuadraticModel_impl.hpp:301
Tempus_Test::SteadyQuadraticModel::createOutArgsImpl
Thyra::ModelEvaluatorBase::OutArgs< Scalar > createOutArgsImpl() const
Definition
SteadyQuadraticModel_impl.hpp:175
Tempus_Test::SteadyQuadraticModel::Ng_
int Ng_
Number of observation functions (1).
Definition
SteadyQuadraticModel_decl.hpp:86
Tempus_Test::SteadyQuadraticModel::ng_
int ng_
Number of elements in this observation function (1).
Definition
SteadyQuadraticModel_decl.hpp:87
Tempus_Test::SteadyQuadraticModel::getSteadyStateSolution
Scalar getSteadyStateSolution() const
Definition
SteadyQuadraticModel_impl.hpp:58
Tempus_Test::SteadyQuadraticModel::get_g_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_g_space(int j) const
Definition
SteadyQuadraticModel_impl.hpp:332
Tempus_Test::SteadyQuadraticModel::evalModelImpl
void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs_bar, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs_bar) const
Definition
SteadyQuadraticModel_impl.hpp:185
Tempus_Test::SteadyQuadraticModel::useDfDpAsTangent_
bool useDfDpAsTangent_
Treat DfDp OutArg as tangent (df/dx*dx/dp+df/dp).
Definition
SteadyQuadraticModel_decl.hpp:88
Tempus_Test::SteadyQuadraticModel::f_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > f_space_
Definition
SteadyQuadraticModel_decl.hpp:94
Tempus_Test::SteadyQuadraticModel::create_W_op
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
Definition
SteadyQuadraticModel_impl.hpp:140
Tempus_Test::SteadyQuadraticModel::setupInOutArgs_
void setupInOutArgs_() const
Definition
SteadyQuadraticModel_impl.hpp:343
Tempus_Test::SteadyQuadraticModel::create_W
Teuchos::RCP< Thyra::LinearOpWithSolveBase< Scalar > > create_W() const
Definition
SteadyQuadraticModel_impl.hpp:107
Tempus_Test::SteadyQuadraticModel::inArgs_
Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs_
Definition
SteadyQuadraticModel_decl.hpp:90
Tempus_Test::SteadyQuadraticModel::getValidParameters
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Definition
SteadyQuadraticModel_impl.hpp:428
Tempus_Test::SteadyQuadraticModel::isInitialized_
bool isInitialized_
Definition
SteadyQuadraticModel_decl.hpp:89
Tempus_Test::SteadyQuadraticModel::get_W_factory
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const
Definition
SteadyQuadraticModel_impl.hpp:151
Tempus_Test::SteadyQuadraticModel::Np_
int Np_
Number of parameter vectors (1).
Definition
SteadyQuadraticModel_decl.hpp:84
Tempus_Test::SteadyQuadraticModel::get_p_names
Teuchos::RCP< const Teuchos::Array< std::string > > get_p_names(int l) const
Definition
SteadyQuadraticModel_impl.hpp:314
Tempus_Test::SteadyQuadraticModel::x_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > x_space_
Definition
SteadyQuadraticModel_decl.hpp:93
Tempus_Test::SteadyQuadraticModel::get_f_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const
Definition
SteadyQuadraticModel_impl.hpp:87
Tempus_Test::SteadyQuadraticModel::DxDp_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > DxDp_space_
Definition
SteadyQuadraticModel_decl.hpp:97
Tempus_Test::SteadyQuadraticModel::np_
int np_
Number of parameters in this vector (2).
Definition
SteadyQuadraticModel_decl.hpp:85
Tempus_Test::SteadyQuadraticModel::createInArgs
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
Definition
SteadyQuadraticModel_impl.hpp:162
Tempus_Test::SteadyQuadraticModel::outArgs_
Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs_
Definition
SteadyQuadraticModel_decl.hpp:91
Tempus_Test::SteadyQuadraticModel::dim_
int dim_
Number of state unknowns (2).
Definition
SteadyQuadraticModel_decl.hpp:83
Tempus_Test::SteadyQuadraticModel::b_
Scalar b_
Model parameter.
Definition
SteadyQuadraticModel_decl.hpp:100
Tempus_Test::SteadyQuadraticModel::setParameterList
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Definition
SteadyQuadraticModel_impl.hpp:409
Tempus_Test::SteadyQuadraticModel::nominalValues_
Thyra::ModelEvaluatorBase::InArgs< Scalar > nominalValues_
Definition
SteadyQuadraticModel_decl.hpp:92
Tempus_Test::SteadyQuadraticModel::p_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > p_space_
Definition
SteadyQuadraticModel_decl.hpp:95
Tempus_Test::SteadyQuadraticModel::SteadyQuadraticModel
SteadyQuadraticModel(Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null)
Definition
SteadyQuadraticModel_impl.hpp:31
Tempus_Test::SteadyQuadraticModel::getSteadyStateSolutionSensitivity
Scalar getSteadyStateSolutionSensitivity() const
Definition
SteadyQuadraticModel_impl.hpp:68
Tempus_Test::SteadyQuadraticModel::get_x_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Definition
SteadyQuadraticModel_impl.hpp:78
Tempus_Test::SteadyQuadraticModel::g_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > g_space_
Definition
SteadyQuadraticModel_decl.hpp:96
Tempus_Test::SteadyQuadraticModel::getNominalValues
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Definition
SteadyQuadraticModel_impl.hpp:96
Tempus_Test
Definition
Tempus_BackwardEuler_ASA.cpp:34
Generated by
1.17.0