Thyra::ModelEvaluatorBase Class Reference
[Thyra nonlinear model interfaces]

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 64 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 74 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 194 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
DERIV_LINEAR_OP 

Definition at line 202 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
DERIV_LINEARITY_UNKNOWN 
DERIV_LINEARITY_CONST 
DERIV_LINEARITY_NONCONST 

Definition at line 271 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
DERIV_RANK_UNKNOWN 
DERIV_RANK_FULL 
DERIV_RANK_DEFICIENT 

Definition at line 278 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_f 
OUT_ARG_W 
OUT_ARG_W_op 
OUT_ARG_f_poly 

Definition at line 412 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DfDp 

Definition at line 422 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DgDx_dot 

Definition at line 427 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DgDx 

Definition at line 432 of file Thyra_ModelEvaluatorBase_decl.hpp.

Enumerator:
OUT_ARG_DgDp 

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

Definition at line 419 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
Generated on Wed Apr 13 10:00:44 2011 for Thyra by  doxygen 1.6.3