Thyra Version of the Day
Classes | Related Functions
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]

List of all members.

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  InArgs
 Concrete aggregate class for all output 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  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, IN_ARG_x, IN_ARG_x_dot_poly, IN_ARG_x_poly,
  IN_ARG_t, IN_ARG_alpha, IN_ARG_beta
}
  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 }
  More...
enum  EDerivativeLinearOp { DERIV_LINEAR_OP }
  More...
enum  EDerivativeLinearity { DERIV_LINEARITY_UNKNOWN, DERIV_LINEARITY_CONST, DERIV_LINEARITY_NONCONST }
  More...
enum  ERankStatus { DERIV_RANK_UNKNOWN, DERIV_RANK_FULL, DERIV_RANK_DEFICIENT }
  More...
enum  EOutArgsMembers { OUT_ARG_f, OUT_ARG_W, OUT_ARG_W_op, OUT_ARG_f_poly }
  More...
enum  EOutArgsDfDp { OUT_ARG_DfDp }
  More...
enum  EOutArgsDgDx_dot { OUT_ARG_DgDx_dot }
  More...
enum  EOutArgsDgDx { OUT_ARG_DgDx }
  More...
enum  EOutArgsDgDp { OUT_ARG_DgDp }
  More...
static const int NUM_E_IN_ARGS_MEMBERS = 7
 
static const int NUM_E_OUT_ARGS_MEMBERS = 4
 

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 77 of file Thyra_ModelEvaluatorBase_decl.hpp.


Member Enumeration Documentation

Enumerator:
IN_ARG_x_dot 
IN_ARG_x 
IN_ARG_x_dot_poly 
IN_ARG_x_poly 
IN_ARG_t 
IN_ARG_alpha 
IN_ARG_beta 

Definition at line 87 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 207 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
DERIV_LINEAR_OP 

Definition at line 215 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
DERIV_LINEARITY_UNKNOWN 
DERIV_LINEARITY_CONST 
DERIV_LINEARITY_NONCONST 

Definition at line 284 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
DERIV_RANK_UNKNOWN 
DERIV_RANK_FULL 
DERIV_RANK_DEFICIENT 

Definition at line 291 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_f 
OUT_ARG_W 
OUT_ARG_W_op 
OUT_ARG_f_poly 

Definition at line 425 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DfDp 

Definition at line 435 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DgDx_dot 

Definition at line 440 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DgDx 

Definition at line 445 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DgDp 

Definition at line 450 of file Thyra_ModelEvaluatorBase_decl.hpp.


Friends And Related Function Documentation

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

Member Data Documentation

Definition at line 97 of file Thyra_ModelEvaluatorBase_decl.hpp.

Definition at line 432 of file Thyra_ModelEvaluatorBase_decl.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines