Tempus
Version of the Day
Time Integration
|
van der Pol model problem for nonlinear electrical circuit. More...
#include <VanDerPolModel_decl.hpp>
Public Member Functions | |
VanDerPolModel (Teuchos::RCP< Teuchos::ParameterList > pList=Teuchos::null) | |
Thyra::ModelEvaluatorBase::InArgs < Scalar > | getExactSolution (double t) const |
Thyra::ModelEvaluatorBase::InArgs < Scalar > | getExactSensSolution (int j, double t) 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::LinearOpWithSolveBase < Scalar > > | create_W () const |
Teuchos::RCP < Thyra::LinearOpBase< Scalar > > | create_W_op () const |
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase < Scalar > > | get_W_factory () 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 |
Private Member Functions | |
void | setupInOutArgs_ () const |
Private functions overridden from ModelEvaluatorDefaultBase. | |
Thyra::ModelEvaluatorBase::OutArgs < Scalar > | createOutArgsImpl () const |
void | evalModelImpl (const Thyra::ModelEvaluatorBase::InArgs< Scalar > &inArgs_bar, const Thyra::ModelEvaluatorBase::OutArgs< Scalar > &outArgs_bar) const |
Private Attributes | |
int | dim_ |
Number of state unknowns (2) More... | |
int | Np_ |
Number of parameter vectors (1) More... | |
int | np_ |
Number of parameters in this vector (1) More... | |
int | Ng_ |
Number of observation functions (0) More... | |
int | ng_ |
Number of elements in this observation function (0) More... | |
bool | haveIC_ |
false => no nominal values are provided (default=true) More... | |
bool | acceptModelParams_ |
Changes inArgs to require parameters. More... | |
bool | isInitialized_ |
Thyra::ModelEvaluatorBase::InArgs < Scalar > | inArgs_ |
Thyra::ModelEvaluatorBase::OutArgs < Scalar > | outArgs_ |
Thyra::ModelEvaluatorBase::InArgs < Scalar > | nominalValues_ |
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 > > | g_space_ |
Scalar | epsilon_ |
This is a model parameter. More... | |
Scalar | t0_ic_ |
initial time More... | |
Scalar | x0_ic_ |
initial condition for x0 More... | |
Scalar | x1_ic_ |
initial condition for x1 More... | |
van der Pol model problem for nonlinear electrical circuit.
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, , the scaled problem can be written as
where the initial conditions are
and the initial time derivatives are
Hairer and Wanner suggest the output times of , and to make the problem very stiff. For , the solution becomes
where
The components of iteration matrix, , are defined to be
(not using Einstein summation). Using the chain rule, we can write
but noting that and
we can write
where
Thus for the van der Pol problem, we have
Definition at line 111 of file VanDerPolModel_decl.hpp.
Tempus_Test::VanDerPolModel< Scalar >::VanDerPolModel | ( | Teuchos::RCP< Teuchos::ParameterList > | pList = Teuchos::null | ) |
Definition at line 29 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< Thyra::LinearOpWithSolveBase< Scalar > > Tempus_Test::VanDerPolModel< Scalar >::create_W | ( | ) | const |
Definition at line 106 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< Thyra::LinearOpBase< Scalar > > Tempus_Test::VanDerPolModel< Scalar >::create_W_op | ( | ) | const |
Definition at line 144 of file VanDerPolModel_impl.hpp.
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus_Test::VanDerPolModel< Scalar >::createInArgs | ( | ) | const |
Definition at line 165 of file VanDerPolModel_impl.hpp.
|
private |
Definition at line 178 of file VanDerPolModel_impl.hpp.
|
private |
Definition at line 188 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPolModel< Scalar >::get_f_space | ( | ) | const |
Definition at line 86 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPolModel< Scalar >::get_g_space | ( | int | j | ) | const |
Definition at line 313 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< const Teuchos::Array< std::string > > Tempus_Test::VanDerPolModel< Scalar >::get_p_names | ( | int | l | ) | const |
Definition at line 298 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPolModel< Scalar >::get_p_space | ( | int | l | ) | const |
Definition at line 286 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< const Thyra::LinearOpWithSolveFactoryBase< Scalar > > Tempus_Test::VanDerPolModel< Scalar >::get_W_factory | ( | ) | const |
Definition at line 154 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< const Thyra::VectorSpaceBase< Scalar > > Tempus_Test::VanDerPolModel< Scalar >::get_x_space | ( | ) | const |
Definition at line 77 of file VanDerPolModel_impl.hpp.
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus_Test::VanDerPolModel< Scalar >::getExactSensSolution | ( | int | j, |
double | t | ||
) | const |
Definition at line 67 of file VanDerPolModel_impl.hpp.
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus_Test::VanDerPolModel< Scalar >::getExactSolution | ( | double | t | ) | const |
Definition at line 57 of file VanDerPolModel_impl.hpp.
Thyra::ModelEvaluatorBase::InArgs< Scalar > Tempus_Test::VanDerPolModel< Scalar >::getNominalValues | ( | ) | const |
Definition at line 95 of file VanDerPolModel_impl.hpp.
Teuchos::RCP< const Teuchos::ParameterList > Tempus_Test::VanDerPolModel< Scalar >::getValidParameters | ( | ) | const |
Definition at line 424 of file VanDerPolModel_impl.hpp.
void Tempus_Test::VanDerPolModel< Scalar >::setParameterList | ( | Teuchos::RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 396 of file VanDerPolModel_impl.hpp.
|
private |
Definition at line 324 of file VanDerPolModel_impl.hpp.
|
private |
Changes inArgs to require parameters.
Definition at line 168 of file VanDerPolModel_decl.hpp.
|
private |
Number of state unknowns (2)
Definition at line 162 of file VanDerPolModel_decl.hpp.
|
private |
This is a model parameter.
Definition at line 179 of file VanDerPolModel_decl.hpp.
|
private |
Definition at line 174 of file VanDerPolModel_decl.hpp.
|
private |
Definition at line 176 of file VanDerPolModel_decl.hpp.
|
private |
false => no nominal values are provided (default=true)
Definition at line 167 of file VanDerPolModel_decl.hpp.
|
mutableprivate |
Definition at line 170 of file VanDerPolModel_decl.hpp.
|
mutableprivate |
Definition at line 169 of file VanDerPolModel_decl.hpp.
|
private |
Number of observation functions (0)
Definition at line 165 of file VanDerPolModel_decl.hpp.
|
private |
Number of elements in this observation function (0)
Definition at line 166 of file VanDerPolModel_decl.hpp.
|
mutableprivate |
Definition at line 172 of file VanDerPolModel_decl.hpp.
|
private |
Number of parameter vectors (1)
Definition at line 163 of file VanDerPolModel_decl.hpp.
|
private |
Number of parameters in this vector (1)
Definition at line 164 of file VanDerPolModel_decl.hpp.
|
mutableprivate |
Definition at line 171 of file VanDerPolModel_decl.hpp.
|
private |
Definition at line 175 of file VanDerPolModel_decl.hpp.
|
private |
initial time
Definition at line 180 of file VanDerPolModel_decl.hpp.
|
private |
initial condition for x0
Definition at line 181 of file VanDerPolModel_decl.hpp.
|
private |
initial condition for x1
Definition at line 182 of file VanDerPolModel_decl.hpp.
|
private |
Definition at line 173 of file VanDerPolModel_decl.hpp.