Rythmos - Transient Integration for Differential Equations
Version of the Day
|
Simple transient diagonal model for an implicit or explicit ODE. More...
#include <EpetraExt_DiagonalTransientModel.hpp>
Inherits ModelEvaluator, VerboseObject< DiagonalTransientModel >, and ParameterListAcceptor.
Related Functions | |
(Note that these are not member functions.) | |
Teuchos::RCP < DiagonalTransientModel > | diagonalTransientModel (Teuchos::RCP< Epetra_Comm > const &epetra_comm, Teuchos::RCP< Teuchos::ParameterList > const ¶mList=Teuchos::null) |
Nonmember constructor. More... | |
Constructors, Initializers, Misc. | |
DiagonalTransientModel (Teuchos::RCP< Epetra_Comm > const &epetra_comm) | |
Teuchos::RCP< const Epetra_Vector > | get_gamma () const |
Return the model vector gamma ,. More... | |
Teuchos::RCP< const Epetra_Vector > | getExactSolution (const double t, const Epetra_Vector *coeff_s_p=0) const |
Return the exact solution as a function of time. More... | |
Teuchos::RCP< const Epetra_MultiVector > | getExactSensSolution (const double t, const Epetra_Vector *coeff_s_p=0) const |
Return the exact sensitivity of x as a function of time. More... | |
Overridden from ParameterListAcceptor | |
void | setParameterList (Teuchos::RCP< Teuchos::ParameterList > const ¶mList) |
Teuchos::RCP < Teuchos::ParameterList > | getNonconstParameterList () |
Teuchos::RCP < Teuchos::ParameterList > | unsetParameterList () |
Teuchos::RCP< const Teuchos::ParameterList > | getParameterList () const |
Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
Overridden from EpetraExt::ModelEvaluator . | |
Teuchos::RCP< const Epetra_Map > | get_x_map () const |
Teuchos::RCP< const Epetra_Map > | get_f_map () const |
Teuchos::RCP< const Epetra_Map > | get_p_map (int l) const |
Teuchos::RCP< const Teuchos::Array< std::string > > | get_p_names (int l) const |
Teuchos::RCP< const Epetra_Map > | get_g_map (int j) const |
Teuchos::RCP< const Epetra_Vector > | get_x_init () const |
Teuchos::RCP< const Epetra_Vector > | get_x_dot_init () const |
Teuchos::RCP< const Epetra_Vector > | get_p_init (int l) const |
Teuchos::RCP< Epetra_Operator > | create_W () const |
InArgs | createInArgs () const |
OutArgs | createOutArgs () const |
void | evalModel (const InArgs &inArgs, const OutArgs &outArgs) const |
Simple transient diagonal model for an implicit or explicit ODE.
The explicit ODE form of the model is:
x_dot(i) = f_hat(x(i), gamma(i), s(i), t), for i = 0...n-1, on t in [0,t_f]
where:
f_hat(x(i), gamma(i), s(i), t) = gama(i)*x(i) + exp(gamma(i)*t)*sin(s(i),t)
The implicit ODE form of the model i:
f(i)(x_dot(i), x(i), t) = x_dot(i) - f_hat(x(i), gamma(i), s(i), t), for i = 0...n-1, on t in [0,t_f]
This is a diagonal problem so it does not make the greatest test problem but it does make it easy to derive tests for as a starter.
The coefficients s
can be exposed as model parameters and are called coeff_s_p
in the code. The selection of the coefficients is handled through the
ToDo: Finish Documentation!
Definition at line 99 of file EpetraExt_DiagonalTransientModel.hpp.
EpetraExt::DiagonalTransientModel::DiagonalTransientModel | ( | Teuchos::RCP< Epetra_Comm > const & | epetra_comm | ) |
Definition at line 166 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::get_gamma | ( | ) | const |
Return the model vector gamma
,.
Definition at line 185 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::getExactSolution | ( | const double | t, |
const Epetra_Vector * | coeff_s_p = 0 |
||
) | const |
Return the exact solution as a function of time.
Definition at line 192 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_MultiVector > EpetraExt::DiagonalTransientModel::getExactSensSolution | ( | const double | t, |
const Epetra_Vector * | coeff_s_p = 0 |
||
) | const |
Return the exact sensitivity of x as a function of time.
Definition at line 211 of file EpetraExt_DiagonalTransientModel.cpp.
void EpetraExt::DiagonalTransientModel::setParameterList | ( | Teuchos::RCP< Teuchos::ParameterList > const & | paramList | ) |
Definition at line 237 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::getNonconstParameterList | ( | ) |
Definition at line 260 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::unsetParameterList | ( | ) |
Definition at line 267 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::getParameterList | ( | ) | const |
Definition at line 276 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::getValidParameters | ( | ) | const |
Definition at line 283 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_x_map | ( | ) | const |
Definition at line 327 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_f_map | ( | ) | const |
Definition at line 334 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_p_map | ( | int | l | ) | const |
.
Definition at line 341 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Teuchos::Array< std::string > > EpetraExt::DiagonalTransientModel::get_p_names | ( | int | l | ) | const |
.
Definition at line 351 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_g_map | ( | int | j | ) | const |
.
Definition at line 361 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::get_x_init | ( | ) | const |
Definition at line 371 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::get_x_dot_init | ( | ) | const |
Definition at line 378 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::get_p_init | ( | int | l | ) | const |
Definition at line 385 of file EpetraExt_DiagonalTransientModel.cpp.
Teuchos::RCP< Epetra_Operator > EpetraExt::DiagonalTransientModel::create_W | ( | ) | const |
Definition at line 395 of file EpetraExt_DiagonalTransientModel.cpp.
EpetraExt::ModelEvaluator::InArgs EpetraExt::DiagonalTransientModel::createInArgs | ( | ) | const |
Definition at line 404 of file EpetraExt_DiagonalTransientModel.cpp.
EpetraExt::ModelEvaluator::OutArgs EpetraExt::DiagonalTransientModel::createOutArgs | ( | ) | const |
Definition at line 420 of file EpetraExt_DiagonalTransientModel.cpp.
void EpetraExt::DiagonalTransientModel::evalModel | ( | const InArgs & | inArgs, |
const OutArgs & | outArgs | ||
) | const |
Definition at line 457 of file EpetraExt_DiagonalTransientModel.cpp.
|
related |
Nonmember constructor.