Tempus
Version of the Day
Time Integration
Toggle main menu visibility
Loading...
Searching...
No Matches
test
TestModels
VanDerPol_IMEX_ImplicitModel_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_VANDERPOL_IMEX_ImplicitMODEL_DECL_HPP
10
#define TEMPUS_TEST_VANDERPOL_IMEX_ImplicitMODEL_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
105
106
template
<
class
Scalar>
107
class
VanDerPol_IMEX_ImplicitModel
108
:
public
Thyra::StateFuncModelEvaluatorBase<Scalar>,
109
public
Teuchos::ParameterListAcceptorDefaultBase
110
{
111
public
:
112
113
// Constructor
114
VanDerPol_IMEX_ImplicitModel
(
115
Teuchos::RCP<Teuchos::ParameterList> pList = Teuchos::null);
116
119
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_x_space
()
const
;
120
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_f_space
()
const
;
121
Thyra::ModelEvaluatorBase::InArgs<Scalar>
getNominalValues
()
const
;
122
Teuchos::RCP<Thyra::LinearOpWithSolveBase<Scalar> >
create_W
()
const
;
123
Teuchos::RCP<Thyra::LinearOpBase<Scalar> >
create_W_op
()
const
;
124
Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> >
125
get_W_factory
()
const
;
126
Thyra::ModelEvaluatorBase::InArgs<Scalar>
createInArgs
()
const
;
127
128
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_p_space
(
int
l)
const
;
129
Teuchos::RCP<const Teuchos::Array<std::string> >
get_p_names
(
int
l)
const
;
130
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
get_g_space
(
int
j)
const
;
132
135
void
setParameterList
(Teuchos::RCP<Teuchos::ParameterList>
const
& paramList);
136
Teuchos::RCP<const Teuchos::ParameterList>
getValidParameters
()
const
;
138
139
private
:
140
141
void
setupInOutArgs_
()
const
;
142
145
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
createOutArgsImpl
()
const
;
146
void
evalModelImpl
(
147
const
Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs_bar,
148
const
Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs_bar
149
)
const
;
151
152
int
dim_
;
153
int
Np_
;
154
int
np_
;
155
int
Ng_
;
156
int
ng_
;
157
bool
haveIC_
;
158
bool
acceptModelParams_
;
159
bool
useDfDpAsTangent_
;
160
mutable
bool
isInitialized_
;
161
mutable
Thyra::ModelEvaluatorBase::InArgs<Scalar>
inArgs_
;
162
mutable
Thyra::ModelEvaluatorBase::OutArgs<Scalar>
outArgs_
;
163
mutable
Thyra::ModelEvaluatorBase::InArgs<Scalar>
nominalValues_
;
164
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
x_space_
;
165
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
f_space_
;
166
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
p_space_
;
167
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
dxdp_space_
;
168
Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> >
g_space_
;
169
170
// Parameters for the model:
171
Scalar
epsilon_
;
172
Scalar
t0_ic_
;
173
Scalar
x0_ic_
;
174
Scalar
x1_ic_
;
175
};
176
177
178
}
// namespace Tempus_Test
179
#endif
// TEMPUS_TEST_VANDERPOL_IMEX_ImplicitMODEL_DECL_HPP
Tempus_Test::VanDerPol_IMEX_ImplicitModel::x0_ic_
Scalar x0_ic_
initial condition for x0
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:173
Tempus_Test::VanDerPol_IMEX_ImplicitModel::get_p_names
Teuchos::RCP< const Teuchos::Array< std::string > > get_p_names(int l) const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:312
Tempus_Test::VanDerPol_IMEX_ImplicitModel::ng_
int ng_
Number of elements in this observation function (0).
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:156
Tempus_Test::VanDerPol_IMEX_ImplicitModel::create_W_op
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > create_W_op() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:126
Tempus_Test::VanDerPol_IMEX_ImplicitModel::dxdp_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > dxdp_space_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:167
Tempus_Test::VanDerPol_IMEX_ImplicitModel::get_x_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_x_space() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:62
Tempus_Test::VanDerPol_IMEX_ImplicitModel::get_f_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_f_space() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:70
Tempus_Test::VanDerPol_IMEX_ImplicitModel::g_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > g_space_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:168
Tempus_Test::VanDerPol_IMEX_ImplicitModel::get_W_factory
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > get_W_factory() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:136
Tempus_Test::VanDerPol_IMEX_ImplicitModel::f_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > f_space_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:165
Tempus_Test::VanDerPol_IMEX_ImplicitModel::np_
int np_
Number of parameters in this vector (1).
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:154
Tempus_Test::VanDerPol_IMEX_ImplicitModel::get_g_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_g_space(int j) const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:333
Tempus_Test::VanDerPol_IMEX_ImplicitModel::VanDerPol_IMEX_ImplicitModel
VanDerPol_IMEX_ImplicitModel(Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null)
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:31
Tempus_Test::VanDerPol_IMEX_ImplicitModel::t0_ic_
Scalar t0_ic_
initial time
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:172
Tempus_Test::VanDerPol_IMEX_ImplicitModel::getNominalValues
Thyra::ModelEvaluatorBase::InArgs< Scalar > getNominalValues() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:78
Tempus_Test::VanDerPol_IMEX_ImplicitModel::nominalValues_
Thyra::ModelEvaluatorBase::InArgs< Scalar > nominalValues_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:163
Tempus_Test::VanDerPol_IMEX_ImplicitModel::setParameterList
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:413
Tempus_Test::VanDerPol_IMEX_ImplicitModel::create_W
Teuchos::RCP< Thyra::LinearOpWithSolveBase< Scalar > > create_W() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:88
Tempus_Test::VanDerPol_IMEX_ImplicitModel::createOutArgsImpl
Thyra::ModelEvaluatorBase::OutArgs< Scalar > createOutArgsImpl() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:160
Tempus_Test::VanDerPol_IMEX_ImplicitModel::x_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > x_space_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:164
Tempus_Test::VanDerPol_IMEX_ImplicitModel::Ng_
int Ng_
Number of observation functions (0).
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:155
Tempus_Test::VanDerPol_IMEX_ImplicitModel::inArgs_
Thyra::ModelEvaluatorBase::InArgs< Scalar > inArgs_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:161
Tempus_Test::VanDerPol_IMEX_ImplicitModel::x1_ic_
Scalar x1_ic_
initial condition for x1
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:174
Tempus_Test::VanDerPol_IMEX_ImplicitModel::outArgs_
Thyra::ModelEvaluatorBase::OutArgs< Scalar > outArgs_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:162
Tempus_Test::VanDerPol_IMEX_ImplicitModel::p_space_
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > p_space_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:166
Tempus_Test::VanDerPol_IMEX_ImplicitModel::evalModelImpl
void evalModelImpl(const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs_bar, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs_bar) const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:170
Tempus_Test::VanDerPol_IMEX_ImplicitModel::haveIC_
bool haveIC_
false => no nominal values are provided (default=true)
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:157
Tempus_Test::VanDerPol_IMEX_ImplicitModel::dim_
int dim_
Number of state unknowns (2).
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:152
Tempus_Test::VanDerPol_IMEX_ImplicitModel::setupInOutArgs_
void setupInOutArgs_() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:342
Tempus_Test::VanDerPol_IMEX_ImplicitModel::acceptModelParams_
bool acceptModelParams_
Changes inArgs to require parameters.
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:158
Tempus_Test::VanDerPol_IMEX_ImplicitModel::createInArgs
Thyra::ModelEvaluatorBase::InArgs< Scalar > createInArgs() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:147
Tempus_Test::VanDerPol_IMEX_ImplicitModel::epsilon_
Scalar epsilon_
This is a model parameter.
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:171
Tempus_Test::VanDerPol_IMEX_ImplicitModel::useDfDpAsTangent_
bool useDfDpAsTangent_
Treat DfDp OutArg as tangent (df/dx*dx/dp+df/dp).
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:159
Tempus_Test::VanDerPol_IMEX_ImplicitModel::get_p_space
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > get_p_space(int l) const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:296
Tempus_Test::VanDerPol_IMEX_ImplicitModel::getValidParameters
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters() const
Definition
VanDerPol_IMEX_ImplicitModel_impl.hpp:444
Tempus_Test::VanDerPol_IMEX_ImplicitModel::Np_
int Np_
Number of parameter vectors (1).
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:153
Tempus_Test::VanDerPol_IMEX_ImplicitModel::isInitialized_
bool isInitialized_
Definition
VanDerPol_IMEX_ImplicitModel_decl.hpp:160
Tempus_Test
Definition
Tempus_BackwardEuler_ASA.cpp:34
Generated by
1.17.0