EpetraExt::DiagonalTransientModel Class Reference

Simple transient diagonal model for an implicit or explicit ODE. More...

#include <EpetraExt_DiagonalTransientModel.hpp>

Inheritance diagram for EpetraExt::DiagonalTransientModel:

Inheritance graph
[legend]
List of all members.

Constructors, Initializers, Misc.

 DiagonalTransientModel (Teuchos::RCP< Epetra_Comm > const &epetra_comm)
 
Teuchos::RCP< const Epetra_Vectorget_gamma () const
 Return the model vector gamma,.
Teuchos::RCP< const Epetra_VectorgetExactSolution (const double t, const Epetra_Vector *coeff_s_p=0) const
 Return the exact solution as a function of time.
Teuchos::RCP< const Epetra_MultiVectorgetExactSensSolution (const double t, const Epetra_Vector *coeff_s_p=0) const
 Return the exact sensitivity of x as a function of time.

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_Mapget_x_map () const
 
Teuchos::RCP< const Epetra_Mapget_f_map () const
 
Teuchos::RCP< const Epetra_Mapget_p_map (int l) const
 .
Teuchos::RCP< const Teuchos::Array<
std::string > > 
get_p_names (int l) const
 .
Teuchos::RCP< const Epetra_Mapget_g_map (int j) const
 .
Teuchos::RCP< const Epetra_Vectorget_x_init () const
 
Teuchos::RCP< const Epetra_Vectorget_x_dot_init () const
 
Teuchos::RCP< const Epetra_Vectorget_p_init (int l) const
 
Teuchos::RCP< Epetra_Operatorcreate_W () const
 
InArgs createInArgs () const
 
OutArgs createOutArgs () const
 
void evalModel (const InArgs &inArgs, const OutArgs &outArgs) const
 

Public Types

 GAMMA_FIT_LINEAR
 GAMMA_FIT_RANDOM
enum  EGammaFit { GAMMA_FIT_LINEAR, GAMMA_FIT_RANDOM }

Related Functions

(Note that these are not member functions.)

Teuchos::RCP< DiagonalTransientModeldiagonalTransientModel (Teuchos::RCP< Epetra_Comm > const &epetra_comm, Teuchos::RCP< Teuchos::ParameterList > const &paramList=Teuchos::null)
 Nonmember constructor.

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 86 of file EpetraExt_DiagonalTransientModel.hpp.


Member Enumeration Documentation

enum EpetraExt::DiagonalTransientModel::EGammaFit

Enumerator:
GAMMA_FIT_LINEAR 
GAMMA_FIT_RANDOM 

Definition at line 166 of file EpetraExt_DiagonalTransientModel.hpp.


Constructor & Destructor Documentation

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

Definition at line 153 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 172 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 179 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 198 of file EpetraExt_DiagonalTransientModel.cpp.

void EpetraExt::DiagonalTransientModel::setParameterList ( Teuchos::RCP< Teuchos::ParameterList > const &  paramList  ) 

Definition at line 224 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::getNonconstParameterList (  ) 

Definition at line 247 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::unsetParameterList (  ) 

Definition at line 254 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::getParameterList (  )  const

Definition at line 263 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Teuchos::ParameterList > EpetraExt::DiagonalTransientModel::getValidParameters (  )  const

Definition at line 270 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_x_map (  )  const [virtual]

Implements EpetraExt::ModelEvaluator.

Definition at line 314 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_f_map (  )  const [virtual]

Implements EpetraExt::ModelEvaluator.

Definition at line 321 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_p_map ( int  l  )  const [virtual]

.

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 328 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Teuchos::Array< std::string > > EpetraExt::DiagonalTransientModel::get_p_names ( int  l  )  const [virtual]

.

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 338 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Epetra_Map > EpetraExt::DiagonalTransientModel::get_g_map ( int  j  )  const [virtual]

.

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 348 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::get_x_init (  )  const [virtual]

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 358 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::get_x_dot_init (  )  const [virtual]

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 365 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraExt::DiagonalTransientModel::get_p_init ( int  l  )  const [virtual]

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 372 of file EpetraExt_DiagonalTransientModel.cpp.

Teuchos::RCP< Epetra_Operator > EpetraExt::DiagonalTransientModel::create_W (  )  const [virtual]

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 382 of file EpetraExt_DiagonalTransientModel.cpp.

EpetraExt::ModelEvaluator::InArgs EpetraExt::DiagonalTransientModel::createInArgs (  )  const [virtual]

Implements EpetraExt::ModelEvaluator.

Definition at line 391 of file EpetraExt_DiagonalTransientModel.cpp.

EpetraExt::ModelEvaluator::OutArgs EpetraExt::DiagonalTransientModel::createOutArgs (  )  const [virtual]

Implements EpetraExt::ModelEvaluator.

Definition at line 407 of file EpetraExt_DiagonalTransientModel.cpp.

void EpetraExt::DiagonalTransientModel::evalModel ( const InArgs &  inArgs,
const OutArgs &  outArgs 
) const

Definition at line 444 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.

Definition at line 760 of file EpetraExt_DiagonalTransientModel.cpp.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:24:50 2010 for EpetraExt by  doxygen 1.4.7