Thyra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Related Functions | List of all members
Thyra::ModelEvaluatorBase Class Reference

Base subclass for ModelEvaluator that defines some basic types. More...

#include <Thyra_ModelEvaluatorBase_decl.hpp>

Inheritance diagram for Thyra::ModelEvaluatorBase:
Inheritance graph
[legend]

Classes

class  Derivative
 Simple aggregate class that stores a derivative object as a general linear operator or as a multi-vector. More...
 
class  DerivativeMultiVector
 Simple aggregate class for a derivative object represented as a column-wise multi-vector or its transpose as a row-wise multi-vector. More...
 
struct  DerivativeProperties
 Simple public strict containing properties of a derivative object. More...
 
class  DerivativeSupport
 Determines the forms of a general derivative that are supported. More...
 
class  Evaluation
 Type to embed evaluation accuracy with an RCP-managed object. More...
 
class  InArgs
 Concrete aggregate class for all input arguments computable by a ModelEvaluator subclass object. More...
 
class  InArgsSetup
 Protected subclass of InArgs that only ModelEvaluator subclasses can access to set up the selection of supported input arguments. More...
 
class  MPDerivative
 Simple aggregate class that stores a derivative object as a general linear operator or as a multi-vector. More...
 
class  MPDerivativeMultiVector
 Simple aggregate class for a derivative object represented as a column-wise multi-vector or its transpose as a row-wise multi-vector. More...
 
class  OutArgs
 Concrete aggregate class for all output arguments computable by a ModelEvaluator subclass object. More...
 
class  OutArgsSetup
 Protected subclass of OutArgs that only ModelEvaluator subclasses can access to set up the selection of supported input arguments. More...
 

Related Functions

(Note that these are not member functions.)

std::string toString (ModelEvaluatorBase::EInArgsMembers)
 
std::string toString (ModelEvaluatorBase::EOutArgsMembers)
 
std::string toString (ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
 
ModelEvaluatorBase::EDerivativeMultiVectorOrientation getOtherDerivativeMultiVectorOrientation (ModelEvaluatorBase::EDerivativeMultiVectorOrientation orientation)
 

Public types

enum  EInArgsMembers {
  IN_ARG_x_dot_dot, IN_ARG_x_dot, IN_ARG_x, IN_ARG_x_dot_poly,
  IN_ARG_x_poly, IN_ARG_x_dot_mp, IN_ARG_x_mp, IN_ARG_t,
  IN_ARG_alpha, IN_ARG_beta, IN_ARG_W_x_dot_dot_coeff, IN_ARG_step_size,
  IN_ARG_stage_number
}
 
enum  EInArgs_p_mp { IN_ARG_p_mp }
 
enum  EEvalType { , EVAL_TYPE_APPROX_DERIV, EVAL_TYPE_VERY_APPROX_DERIV }
 The type of an evaluation. More...
 
enum  EDerivativeMultiVectorOrientation { DERIV_MV_JACOBIAN_FORM, DERIV_MV_GRADIENT_FORM, DERIV_MV_BY_COL = DERIV_MV_JACOBIAN_FORM, DERIV_TRANS_MV_BY_ROW = DERIV_MV_GRADIENT_FORM }
 
enum  EDerivativeLinearOp { DERIV_LINEAR_OP }
 
enum  EDerivativeLinearity { DERIV_LINEARITY_UNKNOWN, DERIV_LINEARITY_CONST, DERIV_LINEARITY_NONCONST }
 
enum  ERankStatus { DERIV_RANK_UNKNOWN, DERIV_RANK_FULL, DERIV_RANK_DEFICIENT }
 
enum  EOutArgsMembers {
  OUT_ARG_f, OUT_ARG_W, OUT_ARG_f_mp, OUT_ARG_W_mp,
  OUT_ARG_W_op, OUT_ARG_W_prec, OUT_ARG_f_poly
}
 
enum  EOutArgsDfDp { OUT_ARG_DfDp }
 
enum  EOutArgsDgDx_dot { OUT_ARG_DgDx_dot }
 
enum  EOutArgsDgDx { OUT_ARG_DgDx }
 
enum  EOutArgsDgDp { OUT_ARG_DgDp }
 
enum  EOutArgsDfDp_mp { OUT_ARG_DfDp_mp }
 
enum  EOutArgs_g_mp { OUT_ARG_g_mp }
 
enum  EOutArgsDgDx_dot_mp { OUT_ARG_DgDx_dot_mp }
 
enum  EOutArgsDgDx_mp { OUT_ARG_DgDx_mp }
 
enum  EOutArgsDgDp_mp { OUT_ARG_DgDp_mp }
 
static const int NUM_E_IN_ARGS_MEMBERS =13
 
static const int NUM_E_OUT_ARGS_MEMBERS =7
 
 ModelEvaluatorBase ()
 constructor More...
 

Detailed Description

Base subclass for ModelEvaluator that defines some basic types.

This non-templated base class is used for two very important reasons.

First, a non-templated base class holding templated nested classes makes it easier for client to form the names of the nested classes. This also makes it easier to access non-tempated enum types and values as well. While most of these nested types could have been defined outside of a base class, by putting them in a base class, we get better namespace scoping and can therefore use shorter names.

Second, there are some protected nested classes (i.e. InArgsSetup and OutArgsSetup0 that only subclasses should be able to access. This makes the design very secure to help avoid bad usage of the nested classes.

Definition at line 51 of file Thyra_ModelEvaluatorBase_decl.hpp.

Member Enumeration Documentation

Enumerator
IN_ARG_x_dot_dot 
IN_ARG_x_dot 
IN_ARG_x 
IN_ARG_x_dot_poly 
IN_ARG_x_poly 
IN_ARG_x_dot_mp 
IN_ARG_x_mp 
IN_ARG_t 
IN_ARG_alpha 
IN_ARG_beta 
IN_ARG_W_x_dot_dot_coeff 
IN_ARG_step_size 
IN_ARG_stage_number 

Definition at line 61 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
IN_ARG_p_mp 

Definition at line 80 of file Thyra_ModelEvaluatorBase_decl.hpp.

The type of an evaluation.

Enumerator
EVAL_TYPE_APPROX_DERIV 

Do an exact evaluation (default)

EVAL_TYPE_VERY_APPROX_DERIV 

An approx. eval. for a F.D. deriv.

An approx. eval. for a F.D. prec.

Definition at line 313 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
DERIV_MV_JACOBIAN_FORM 

Jacobian form DhDz (nz columns of h_space vectors)

DERIV_MV_GRADIENT_FORM 

Gradient form DhDz^T (nh columns of z_space vectors)

DERIV_MV_BY_COL 

Deprecated!

DERIV_TRANS_MV_BY_ROW 

Deprecated!

Definition at line 349 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
DERIV_LINEAR_OP 

Definition at line 357 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
DERIV_LINEARITY_UNKNOWN 
DERIV_LINEARITY_CONST 
DERIV_LINEARITY_NONCONST 

Definition at line 426 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
DERIV_RANK_UNKNOWN 
DERIV_RANK_FULL 
DERIV_RANK_DEFICIENT 

Definition at line 433 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_f 
OUT_ARG_W 
OUT_ARG_f_mp 
OUT_ARG_W_mp 
OUT_ARG_W_op 
OUT_ARG_W_prec 
OUT_ARG_f_poly 

Definition at line 673 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DfDp 

Definition at line 686 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DgDx_dot 

Definition at line 691 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DgDx 

Definition at line 696 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DgDp 

Definition at line 701 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DfDp_mp 

Definition at line 793 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_g_mp 

Definition at line 798 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DgDx_dot_mp 

Definition at line 803 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DgDx_mp 

Definition at line 808 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator
OUT_ARG_DgDp_mp 

Definition at line 813 of file Thyra_ModelEvaluatorBase_decl.hpp.

Constructor & Destructor Documentation

Thyra::ModelEvaluatorBase::ModelEvaluatorBase ( )

constructor

Definition at line 16 of file Thyra_ModelEvaluatorBase.cpp.

Friends And Related Function Documentation

std::string toString ( ModelEvaluatorBase::EInArgsMembers  )
related
std::string toString ( ModelEvaluatorBase::EOutArgsMembers  )
related
std::string toString ( ModelEvaluatorBase::EDerivativeMultiVectorOrientation  orientation)
related

Member Data Documentation

const int Thyra::ModelEvaluatorBase::NUM_E_IN_ARGS_MEMBERS =13
static

Definition at line 77 of file Thyra_ModelEvaluatorBase_decl.hpp.

const int Thyra::ModelEvaluatorBase::NUM_E_OUT_ARGS_MEMBERS =7
static

Definition at line 683 of file Thyra_ModelEvaluatorBase_decl.hpp.


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