Rythmos - Transient Integration for Differential Equations  Version of the Day
 All Classes Functions Variables Typedefs Pages
Related Functions | List of all members
EpetraExt::DiagonalTransientModel Class Reference

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 &paramList=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 &paramList)
 
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
 

Detailed Description

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.

Constructor & Destructor Documentation

EpetraExt::DiagonalTransientModel::DiagonalTransientModel ( Teuchos::RCP< Epetra_Comm > const &  epetra_comm)

Definition at line 166 of file EpetraExt_DiagonalTransientModel.cpp.

Member Function Documentation

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.

Friends And Related Function Documentation

Teuchos::RCP< DiagonalTransientModel > diagonalTransientModel ( Teuchos::RCP< Epetra_Comm > const &  epetra_comm,
Teuchos::RCP< Teuchos::ParameterList > const &  paramList = Teuchos::null 
)
related

Nonmember constructor.


The documentation for this class was generated from the following files: