Thyra  Version of the Day
Classes | Related Functions | List of all members

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 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  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, 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_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 =11
 
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 82 of file Thyra_ModelEvaluatorBase_decl.hpp.

Member Enumeration Documentation

◆ EInArgsMembers

Enumerator
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_step_size 
IN_ARG_stage_number 

Definition at line 92 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EInArgs_p_mp

Enumerator
IN_ARG_p_mp 

Definition at line 109 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EEvalType

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

◆ EDerivativeMultiVectorOrientation

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

◆ EDerivativeLinearOp

Enumerator
DERIV_LINEAR_OP 

Definition at line 301 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EDerivativeLinearity

Enumerator
DERIV_LINEARITY_UNKNOWN 
DERIV_LINEARITY_CONST 
DERIV_LINEARITY_NONCONST 

Definition at line 370 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ ERankStatus

Enumerator
DERIV_RANK_UNKNOWN 
DERIV_RANK_FULL 
DERIV_RANK_DEFICIENT 

Definition at line 377 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsMembers

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

◆ EOutArgsDfDp

Enumerator
OUT_ARG_DfDp 

Definition at line 630 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsDgDx_dot

Enumerator
OUT_ARG_DgDx_dot 

Definition at line 635 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsDgDx

Enumerator
OUT_ARG_DgDx 

Definition at line 640 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsDgDp

Enumerator
OUT_ARG_DgDp 

Definition at line 645 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsDfDp_mp

Enumerator
OUT_ARG_DfDp_mp 

Definition at line 650 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgs_g_mp

Enumerator
OUT_ARG_g_mp 

Definition at line 655 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsDgDx_dot_mp

Enumerator
OUT_ARG_DgDx_dot_mp 

Definition at line 660 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsDgDx_mp

Enumerator
OUT_ARG_DgDx_mp 

Definition at line 665 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ EOutArgsDgDp_mp

Enumerator
OUT_ARG_DgDp_mp 

Definition at line 670 of file Thyra_ModelEvaluatorBase_decl.hpp.

Constructor & Destructor Documentation

◆ ModelEvaluatorBase()

Thyra::ModelEvaluatorBase::ModelEvaluatorBase ( )

constructor

Definition at line 50 of file Thyra_ModelEvaluatorBase.cpp.

Friends And Related Function Documentation

◆ toString() [1/3]

std::string toString ( ModelEvaluatorBase::EInArgsMembers  )
related

◆ toString() [2/3]

std::string toString ( ModelEvaluatorBase::EOutArgsMembers  )
related

◆ toString() [3/3]

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

◆ getOtherDerivativeMultiVectorOrientation()

Member Data Documentation

◆ NUM_E_IN_ARGS_MEMBERS

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

Definition at line 106 of file Thyra_ModelEvaluatorBase_decl.hpp.

◆ NUM_E_OUT_ARGS_MEMBERS

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

Definition at line 627 of file Thyra_ModelEvaluatorBase_decl.hpp.


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