|
EpetraExt Package Browser (Single Doxygen Collection)
Development
|
Simple transient diagonal model for an implicit or explicit ODE. More...
#include <EpetraExt_DiagonalTransientModel.hpp>

Private Types | |
| typedef Teuchos::Array< double > | coeff_s_t |
| typedef Teuchos::Array< int > | coeff_s_idx_t |
| typedef Teuchos::Array< Teuchos::RCP< const Epetra_Map > > | RCP_Eptra_Map_Array_t |
| typedef Teuchos::Array< Teuchos::RCP< Epetra_Vector > > | RCP_Eptra_Vector_Array_t |
| typedef Teuchos::Array< Teuchos::RCP< Teuchos::Array< std::string > > > | RCP_Array_String_Array_t |
Private Member Functions | |
| void | initialize () |
| void | set_coeff_s_p (const Teuchos::RCP< const Epetra_Vector > &coeff_s_p) const |
| void | unset_coeff_s_p () const |
| int | coeff_s_idx (int i) const |
| double | coeff_s (int i) const |
Private Attributes | |
| Teuchos::RCP< Teuchos::ParameterList > | paramList_ |
| Teuchos::RCP< Epetra_Comm > | epetra_comm_ |
| Teuchos::RCP< Epetra_Map > | epetra_map_ |
| bool | implicit_ |
| int | numElements_ |
| double | gamma_min_ |
| double | gamma_max_ |
| coeff_s_t | coeff_s_ |
| coeff_s_idx_t | coeff_s_idx_ |
| EGammaFit | gamma_fit_ |
| double | x0_ |
| bool | exactSolutionAsResponse_ |
| Teuchos::RCP< Epetra_Vector > | gamma_ |
| Teuchos::RCP< Epetra_CrsGraph > | W_graph_ |
| int | Np_ |
| int | np_ |
| int | Ng_ |
| RCP_Eptra_Map_Array_t | map_p_ |
| RCP_Array_String_Array_t | names_p_ |
| RCP_Eptra_Map_Array_t | map_g_ |
| RCP_Eptra_Vector_Array_t | p_init_ |
| Teuchos::RCP< Epetra_Vector > | x_init_ |
| Teuchos::RCP< Epetra_Vector > | x_dot_init_ |
| Teuchos::RCP< const Epetra_Vector > | coeff_s_p_ |
| bool | isIntialized_ |
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 |
| . More... | |
| Teuchos::RCP< const Teuchos::Array< std::string > > | get_p_names (int l) const |
| . More... | |
| Teuchos::RCP< const Epetra_Map > | get_g_map (int j) const |
| . More... | |
| 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 |
Additional Inherited Members | |
Public Member Functions inherited from EpetraExt::ModelEvaluator | |
| virtual | ~ModelEvaluator () |
| virtual Teuchos::ArrayView< const std::string > | get_g_names (int j) const |
| Get the names of the response functions associated with response subvector j if available. More... | |
| virtual Teuchos::RCP< const Epetra_Vector > | get_x_dotdot_init () const |
| virtual double | get_t_init () const |
| virtual double | getInfBound () const |
| Return the value of an infinite bound. More... | |
| virtual Teuchos::RCP< const Epetra_Vector > | get_x_lower_bounds () const |
| virtual Teuchos::RCP< const Epetra_Vector > | get_x_upper_bounds () const |
| virtual Teuchos::RCP< const Epetra_Vector > | get_p_lower_bounds (int l) const |
| virtual Teuchos::RCP< const Epetra_Vector > | get_p_upper_bounds (int l) const |
| virtual double | get_t_lower_bound () const |
| virtual double | get_t_upper_bound () const |
| virtual Teuchos::RCP< EpetraExt::ModelEvaluator::Preconditioner > | create_WPrec () const |
| virtual Teuchos::RCP< Epetra_Operator > | create_DfDp_op (int l) const |
| virtual Teuchos::RCP< Epetra_Operator > | create_DgDx_dot_op (int j) const |
| virtual Teuchos::RCP< Epetra_Operator > | create_DgDx_dotdot_op (int j) const |
| virtual Teuchos::RCP< Epetra_Operator > | create_DgDx_op (int j) const |
| virtual Teuchos::RCP< Epetra_Operator > | create_DgDp_op (int j, int l) const |
Public Member Functions inherited from Teuchos::Describable | |
| DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
| std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
| virtual std::string | description () const |
| virtual void | describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
| void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
| virtual | ~Describable () |
Public Member Functions inherited from Teuchos::LabeledObject | |
| LabeledObject () | |
| virtual | ~LabeledObject () |
| virtual void | setObjectLabel (const std::string &objectLabel) |
| virtual std::string | getObjectLabel () const |
Public Member Functions inherited from Teuchos::VerboseObject< DiagonalTransientModel > | |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
| void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< DiagonalTransientModel > *verboseObject) |
| VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual EVerbosityLevel | getVerbLevel () const |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| virtual | ~VerboseObjectBase () |
| VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
| virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
| virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
| virtual RCP< FancyOStream > | getOStream () const |
| virtual RCP< FancyOStream > | getOverridingOStream () const |
| virtual std::string | getLinePrefix () const |
| virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") const |
Public Member Functions inherited from Teuchos::ParameterListAcceptor | |
| virtual | ~ParameterListAcceptor () |
| virtual RCP< const DependencySheet > | getDependencies () const |
Static Public Member Functions inherited from Teuchos::VerboseObject< DiagonalTransientModel > | |
| static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
| static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
| static RCP< FancyOStream > | getDefaultOStream () |
Static Public Attributes inherited from EpetraExt::ModelEvaluator | |
| static const int | NUM_E_IN_ARGS_MEMBERS =21 |
| static const int | NUM_E_OUT_ARGS_MEMBERS =9 |
Static Public Attributes inherited from Teuchos::Describable | |
| static const EVerbosityLevel | verbLevel_default |
Protected Member Functions inherited from Teuchos::VerboseObject< DiagonalTransientModel > | |
| void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
| void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
| virtual void | informUpdatedVerbosityState () 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.
|
private |
Definition at line 186 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 187 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 188 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 189 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 190 of file EpetraExt_DiagonalTransientModel.hpp.
| Enumerator | |
|---|---|
| GAMMA_FIT_LINEAR | |
| GAMMA_FIT_RANDOM | |
Definition at line 179 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.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 237 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 260 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 267 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 276 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 283 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Implements EpetraExt::ModelEvaluator.
Definition at line 327 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Implements EpetraExt::ModelEvaluator.
Definition at line 334 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
.
Reimplemented from EpetraExt::ModelEvaluator.
Definition at line 341 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
.
Reimplemented from EpetraExt::ModelEvaluator.
Definition at line 351 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
.
Reimplemented from EpetraExt::ModelEvaluator.
Definition at line 361 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Reimplemented from EpetraExt::ModelEvaluator.
Definition at line 371 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Reimplemented from EpetraExt::ModelEvaluator.
Definition at line 378 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Reimplemented from EpetraExt::ModelEvaluator.
Definition at line 385 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Reimplemented from EpetraExt::ModelEvaluator.
Definition at line 395 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Implements EpetraExt::ModelEvaluator.
Definition at line 404 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Implements EpetraExt::ModelEvaluator.
Definition at line 420 of file EpetraExt_DiagonalTransientModel.cpp.
|
virtual |
Implements EpetraExt::ModelEvaluator.
Definition at line 457 of file EpetraExt_DiagonalTransientModel.cpp.
|
private |
Definition at line 566 of file EpetraExt_DiagonalTransientModel.cpp.
|
private |
Definition at line 735 of file EpetraExt_DiagonalTransientModel.cpp.
|
private |
Definition at line 746 of file EpetraExt_DiagonalTransientModel.cpp.
|
inlineprivate |
Definition at line 235 of file EpetraExt_DiagonalTransientModel.hpp.
|
inlineprivate |
Definition at line 240 of file EpetraExt_DiagonalTransientModel.hpp.
|
related |
Nonmember constructor.
|
private |
Definition at line 196 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 197 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 198 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 199 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 200 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 201 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 202 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 203 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 204 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 205 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 206 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 207 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 208 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 209 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 210 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 211 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 212 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 213 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 214 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 215 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 216 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 217 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 218 of file EpetraExt_DiagonalTransientModel.hpp.
|
mutableprivate |
Definition at line 220 of file EpetraExt_DiagonalTransientModel.hpp.
|
private |
Definition at line 222 of file EpetraExt_DiagonalTransientModel.hpp.
1.8.14