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...
const int NUM_E_IN_ARGS_MEMBERS = 7
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
 

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
 

.

Enumeration values:
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
 

.

Enumeration values:
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
 

Enumeration values:
DERIV_MV_BY_COL 
DERIV_TRANS_MV_BY_ROW 

Definition at line 168 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EDerivativeLinearOp
 

Enumeration values:
DERIV_LINEAR_OP 

Definition at line 174 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EDerivativeLinearity
 

Enumeration values:
DERIV_LINEARITY_UNKNOWN 
DERIV_LINEARITY_CONST 
DERIV_LINEARITY_NONCONST 

Definition at line 246 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::ERankStatus
 

Enumeration values:
DERIV_RANK_UNKNOWN 
DERIV_RANK_FULL 
DERIV_RANK_DEFICIENT 

Definition at line 252 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsMembers
 

.

Enumeration values:
OUT_ARG_f 
OUT_ARG_W 
OUT_ARG_f_poly 

Definition at line 345 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDfDp
 

Enumeration values:
OUT_ARG_DfDp 

Definition at line 353 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDgDx_dot
 

Enumeration values:
OUT_ARG_DgDx_dot 

Definition at line 358 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDgDx
 

Enumeration values:
OUT_ARG_DgDx 

Definition at line 363 of file EpetraExt_ModelEvaluator.h.

enum EpetraExt::ModelEvaluator::EOutArgsDgDp
 

Enumeration values:
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::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::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::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==Teuchos::null 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::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::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::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.

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

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

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

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


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 Thu Dec 4 12:30:58 2008 for EpetraExt by doxygen 1.3.9.1