Tempus Version of the Day
Time Integration
|
van der Pol model formulated for IMEX. More...
#include <VanDerPol_IMEX_ExplicitModel_decl.hpp>
Public Member Functions | |
VanDerPol_IMEX_ExplicitModel (Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null, bool useProductVector=false) | |
Private functions overridden from ModelEvaluatorDefaultBase. | |
bool | useProductVector_ |
int | dim_ |
Number of state unknowns (2) | |
int | Np_ |
Number of parameter vectors (1) | |
int | np_ |
Number of parameters in this vector (1) | |
int | Ng_ |
Number of observation functions (0) | |
int | ng_ |
Number of elements in this observation function (0) | |
bool | haveIC_ |
false => no nominal values are provided (default=true) | |
bool | acceptModelParams_ |
Changes inArgs to require parameters. | |
bool | useDfDpAsTangent_ |
Treat DfDp OutArg as tangent (df/dx*dx/dp+df/dp) | |
bool | isInitialized_ |
Thyra::ModelEvaluatorBase::InArgs< Scalar > | inArgs_ |
Thyra::ModelEvaluatorBase::OutArgs< Scalar > | outArgs_ |
Thyra::ModelEvaluatorBase::InArgs< Scalar > | nominalValues_ |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | xSpace_ |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | x_space_ |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | f_space_ |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | p_space_ |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | dxdp_space_ |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | g_space_ |
Scalar | epsilon_ |
This is a model parameter. | |
Scalar | t0_ic_ |
initial time | |
Scalar | x0_ic_ |
initial condition for x0 | |
Scalar | x1_ic_ |
initial condition for x1 | |
Thyra::ModelEvaluatorBase::OutArgs< Scalar > | createOutArgsImpl () const |
void | evalModelImpl (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs_bar, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs_bar) const |
Public functions overridden from ModelEvaluator. | |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_x_space () const |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_f_space () const |
Thyra::ModelEvaluatorBase::InArgs< Scalar > | getNominalValues () const |
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > | create_W_op () const |
Thyra::ModelEvaluatorBase::InArgs< Scalar > | createInArgs () const |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_p_space (int l) const |
Teuchos::RCP< const Teuchos::Array< std::string > > | get_p_names (int l) const |
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > | get_g_space (int j) const |
Public functions overridden from ParameterListAcceptor. | |
void | setParameterList (Teuchos::RCP< Teuchos::ParameterList > const ¶mList) |
Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
void | setupInOutArgs_ () const |
van der Pol model formulated for IMEX.
This is a canonical equation of a nonlinear oscillator (Hairer, Norsett, and Wanner, pp. 111-115, and Hairer and Wanner, pp. 4-5) for an electrical circuit. In implicit ODE form,
where the initial conditions are
and the initial time derivatives are
For an IMEX time stepper, we need to rewrite this in the following form
where
where
Thus the explicit van der Pol model (VanDerPol_IMEX_ExplicitModel) formulated for IMEX is
and the implicit van der Pol model (VanDerPol_IMEX_ImplicitModel) formulated for IMEX is
Recalling the defintion of the iteration matrix,
where
we can write for the explicit van der Pol model (VanDerPol_IMEX_ExplicitModel)
Definition at line 108 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::VanDerPol_IMEX_ExplicitModel | ( | Teuchos::RCP< Teuchos::ParameterList > | pList = Teuchos::null , |
bool | useProductVector = false |
||
) |
Definition at line 31 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::get_x_space | ( | ) | const |
Definition at line 72 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::get_f_space | ( | ) | const |
Definition at line 79 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::getNominalValues | ( | ) | const |
Definition at line 86 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::create_W_op | ( | ) | const |
Definition at line 95 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::createInArgs | ( | ) | const |
Definition at line 118 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::get_p_space | ( | int | l | ) | const |
Definition at line 252 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Teuchos::RCP< const Teuchos::Array< std::string > > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::get_p_names | ( | int | l | ) | const |
Definition at line 267 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::get_g_space | ( | int | j | ) | const |
Definition at line 286 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
void Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::setParameterList | ( | Teuchos::RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 203 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
Teuchos::RCP< const Teuchos::ParameterList > Tempus_Test::VanDerPol_IMEX_ExplicitModel< Scalar >::getValidParameters | ( | ) | const |
Definition at line 232 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
|
private |
Definition at line 133 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
|
private |
Definition at line 126 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
|
private |
Definition at line 293 of file VanDerPol_IMEX_ExplicitModel_impl.hpp.
|
private |
Definition at line 147 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Number of state unknowns (2)
Definition at line 148 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Number of parameter vectors (1)
Definition at line 149 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Number of parameters in this vector (1)
Definition at line 150 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Number of observation functions (0)
Definition at line 151 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Number of elements in this observation function (0)
Definition at line 152 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
false => no nominal values are provided (default=true)
Definition at line 153 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Changes inArgs to require parameters.
Definition at line 154 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Treat DfDp OutArg as tangent (df/dx*dx/dp+df/dp)
Definition at line 155 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
mutableprivate |
Definition at line 156 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
mutableprivate |
Definition at line 157 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
mutableprivate |
Definition at line 158 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
mutableprivate |
Definition at line 159 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Definition at line 160 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Definition at line 161 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Definition at line 162 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Definition at line 163 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Definition at line 164 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
Definition at line 165 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
This is a model parameter.
Definition at line 168 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
initial time
Definition at line 169 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
initial condition for x0
Definition at line 170 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.
|
private |
initial condition for x1
Definition at line 171 of file VanDerPol_IMEX_ExplicitModel_decl.hpp.