EpetraExt::ModelEvaluator Class Reference

Base interface for evaluating a stateless "model". More...

#include <EpetraExt_ModelEvaluator.h>

Inheritance diagram for EpetraExt::ModelEvaluator:

Inheritance graph
[legend]
List of all members.

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  EEvalType { EVAL_TYPE_EXACT, EVAL_TYPE_APPROX_DERIV, EVAL_TYPE_VERY_APPROX_DERIV }
  More...
enum  EDerivativeMultiVectorOrientation { DERIV_MV_BY_COL, DERIV_TRANS_MV_BY_ROW }
  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_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 = 3

Destructor

virtual ~ModelEvaluator ()
 

Vector maps

virtual Teuchos::RefCountPtr<
const Epetra_Map
get_x_map () const =0
 .
virtual Teuchos::RefCountPtr<
const Epetra_Map
get_f_map () const =0
 .
virtual Teuchos::RefCountPtr<
const Epetra_Map
get_p_map (int l) const
 .
virtual Teuchos::RefCountPtr<
const Teuchos::Array< std::string > > 
get_p_names (int l) const
 Get the names of the parameters associated with parameter subvector l if available.
virtual Teuchos::RefCountPtr<
const Epetra_Map
get_g_map (int j) const
 .

Initial guesses for variables/parameters

virtual Teuchos::RefCountPtr<
const Epetra_Vector
get_x_init () const
 
virtual Teuchos::RefCountPtr<
const Epetra_Vector
get_x_dot_init () const
 
virtual Teuchos::RefCountPtr<
const Epetra_Vector
get_p_init (int l) const
 
virtual double get_t_init () const
 

Bounds for variables/parameters

virtual double getInfBound () const
 Return the value of an infinite bound.
virtual Teuchos::RefCountPtr<
const Epetra_Vector
get_x_lower_bounds () const
 
virtual Teuchos::RefCountPtr<
const Epetra_Vector
get_x_upper_bounds () const
 
virtual Teuchos::RefCountPtr<
const Epetra_Vector
get_p_lower_bounds (int l) const
 
virtual Teuchos::RefCountPtr<
const Epetra_Vector
get_p_upper_bounds (int l) const
 
virtual double get_t_lower_bound () const
 
virtual double get_t_upper_bound () const
 

Factory functions for creating derivative objects

virtual Teuchos::RefCountPtr<
Epetra_Operator
create_W () const
 If supported, create a Epetra_Operator object for W to be evaluated.
virtual Teuchos::RefCountPtr<
Epetra_Operator
create_DfDp_op (int l) const
 
virtual Teuchos::RefCountPtr<
Epetra_Operator
create_DgDx_dot_op (int j) const
 
virtual Teuchos::RefCountPtr<
Epetra_Operator
create_DgDx_op (int j) const
 
virtual Teuchos::RefCountPtr<
Epetra_Operator
create_DgDp_op (int j, int l) const
 

Computational functions

virtual InArgs createInArgs () const =0
 
virtual OutArgs createOutArgs () const =0
 
virtual void evalModel (const InArgs &inArgs, const OutArgs &outArgs) const =0
 

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
  More...
class  DerivativeSupport
  More...
class  Evaluation
  More...
class  InArgs
  More...
class  InArgsSetup
  More...
class  OutArgs
  More...
class  OutArgsSetup
  More...

Detailed Description

Base interface for evaluating a stateless "model".

ToDo: Finish Documentation!

Definition at line 49 of file EpetraExt_ModelEvaluator.h.


Member Enumeration Documentation

enum EpetraExt::ModelEvaluator::EInArgsMembers

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 56 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EEvalType

Enumerator:
EVAL_TYPE_EXACT  Exact function evaluation.
EVAL_TYPE_APPROX_DERIV  An approximate derivative (i.e. for a Jacobian).
EVAL_TYPE_VERY_APPROX_DERIV  A very approximate derivative (i.e. for a preconditioner).

Definition at line 140 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EDerivativeMultiVectorOrientation

Enumerator:
DERIV_MV_BY_COL 
DERIV_TRANS_MV_BY_ROW 

Definition at line 168 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EDerivativeLinearOp

Enumerator:
DERIV_LINEAR_OP 

Definition at line 174 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EDerivativeLinearity

Enumerator:
DERIV_LINEARITY_UNKNOWN 
DERIV_LINEARITY_CONST 
DERIV_LINEARITY_NONCONST 

Definition at line 246 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::ERankStatus

Enumerator:
DERIV_RANK_UNKNOWN 
DERIV_RANK_FULL 
DERIV_RANK_DEFICIENT 

Definition at line 252 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsMembers

Enumerator:
OUT_ARG_f 
OUT_ARG_W 
OUT_ARG_f_poly 

Definition at line 345 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDfDp

Enumerator:
OUT_ARG_DfDp 

Definition at line 353 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDgDx_dot

Enumerator:
OUT_ARG_DgDx_dot 

Definition at line 358 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDgDx

Enumerator:
OUT_ARG_DgDx 

Definition at line 363 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDgDp

Enumerator:
OUT_ARG_DgDp 

Definition at line 368 of file EpetraExt_ModelEvaluator.h.


Constructor & Destructor Documentation

EpetraExt::ModelEvaluator::~ModelEvaluator (  )  [virtual]

Definition at line 377 of file EpetraExt_ModelEvaluator.cpp.


Member Function Documentation

virtual Teuchos::RefCountPtr<const Epetra_Map> EpetraExt::ModelEvaluator::get_x_map (  )  const [pure virtual]

.

Implemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval2DSim, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

virtual Teuchos::RefCountPtr<const Epetra_Map> EpetraExt::ModelEvaluator::get_f_map (  )  const [pure virtual]

.

Implemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval2DSim, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

Teuchos::RefCountPtr< const Epetra_Map > EpetraExt::ModelEvaluator::get_p_map ( int  l  )  const [virtual]

.

Reimplemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

Definition at line 385 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Teuchos::Array< std::string > > EpetraExt::ModelEvaluator::get_p_names ( int  l  )  const [virtual]

Get the names of the parameters associated with parameter subvector l if available.

Returns:
Returns an RCP to a Teuchos::Array<std::string> object that contains the names of the parameters. If returnVal == Teuchos::null, then there are no names available for the parameter subvector p(l). If returnVal->size() == 1, then a single name is given to the entire parameter subvector. If returnVal->size() == get_p_map(l)->GlobalNumElements(), then a name is given to every parameter scalar entry.
The default implementation return returnVal==Teuchosnull which means by default, parameters have no names associated with them.

Reimplemented in EpetraExt::DiagonalTransientModel.

Definition at line 390 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Map > EpetraExt::ModelEvaluator::get_g_map ( int  j  )  const [virtual]

.

Reimplemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

Definition at line 395 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_x_init (  )  const [virtual]

Reimplemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval2DSim, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

Definition at line 403 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_x_dot_init (  )  const [virtual]

Reimplemented in EpetraExt::DiagonalTransientModel.

Definition at line 408 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_p_init ( int  l  )  const [virtual]

Reimplemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

Definition at line 413 of file EpetraExt_ModelEvaluator.cpp.

double EpetraExt::ModelEvaluator::get_t_init (  )  const [virtual]

Definition at line 417 of file EpetraExt_ModelEvaluator.cpp.

double EpetraExt::ModelEvaluator::getInfBound (  )  const [virtual]

Return the value of an infinite bound.

The default implementation returns 1e+50.

Definition at line 424 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_x_lower_bounds (  )  const [virtual]

Reimplemented in EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, and GLpApp::AdvDiffReactOptModel.

Definition at line 431 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_x_upper_bounds (  )  const [virtual]

Reimplemented in EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, and GLpApp::AdvDiffReactOptModel.

Definition at line 436 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_p_lower_bounds ( int  l  )  const [virtual]

Reimplemented in EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, and GLpApp::AdvDiffReactOptModel.

Definition at line 441 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_p_upper_bounds ( int  l  )  const [virtual]

Reimplemented in EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, and GLpApp::AdvDiffReactOptModel.

Definition at line 446 of file EpetraExt_ModelEvaluator.cpp.

double EpetraExt::ModelEvaluator::get_t_lower_bound (  )  const [virtual]

Definition at line 450 of file EpetraExt_ModelEvaluator.cpp.

double EpetraExt::ModelEvaluator::get_t_upper_bound (  )  const [virtual]

Definition at line 454 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_W (  )  const [virtual]

If supported, create a Epetra_Operator object for W to be evaluated.

The default implementation returns return.get()==NULL (i.e. implicit solvers are not supported by default).

Reimplemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval2DSim, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

Definition at line 462 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DfDp_op ( int  l  )  const [virtual]

Reimplemented in GLpApp::AdvDiffReactOptModel.

Definition at line 467 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDx_dot_op ( int  j  )  const [virtual]

Definition at line 472 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDx_op ( int  j  )  const [virtual]

Definition at line 477 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDp_op ( int  j,
int  l 
) const [virtual]

Definition at line 482 of file EpetraExt_ModelEvaluator.cpp.

virtual InArgs EpetraExt::ModelEvaluator::createInArgs (  )  const [pure virtual]

Implemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval2DSim, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

virtual OutArgs EpetraExt::ModelEvaluator::createOutArgs (  )  const [pure virtual]

Implemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval2DSim, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

virtual void EpetraExt::ModelEvaluator::evalModel ( const InArgs inArgs,
const OutArgs outArgs 
) const [pure virtual]


Member Data Documentation

const int EpetraExt::ModelEvaluator::NUM_E_IN_ARGS_MEMBERS = 7 [static]

Definition at line 65 of file EpetraExt_ModelEvaluator.h.

const int EpetraExt::ModelEvaluator::NUM_E_OUT_ARGS_MEMBERS = 3 [static]

Definition at line 350 of file EpetraExt_ModelEvaluator.h.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:40:41 2010 for EpetraExt by  doxygen 1.4.7