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 | |
![]() | |
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 |
![]() | |
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 () |
![]() | |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
![]() | |
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 |
![]() | |
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 |
![]() | |
virtual | ~ParameterListAcceptor () |
virtual RCP< const DependencySheet > | getDependencies () const |
![]() | |
static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
static EVerbosityLevel | getDefaultVerbLevel () |
![]() | |
static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
static RCP< FancyOStream > | getDefaultOStream () |
![]() | |
static const int | NUM_E_IN_ARGS_MEMBERS =21 |
static const int | NUM_E_OUT_ARGS_MEMBERS =9 |
![]() | |
static const EVerbosityLevel | verbLevel_default |
![]() | |
void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
![]() | |
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.