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.

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...
struct  Preconditioner
 Simple aggregate struct that stores a preconditioner as an Epetra_Operator and a bool, about whether it is inverted or not. More...
class  SGDerivative
 Simple aggregate class that stores a derivative object as a general linear operator or as a multi-vector. More...
class  SGDerivativeMultiVector
 Simple aggregate class for a derivative object represented as a column-wise multi-vector or its transpose as a row-wise multi-vector. More...

Public types



enum  EInArgsMembers {
  IN_ARG_x_dot, IN_ARG_x, IN_ARG_x_dot_poly, IN_ARG_x_poly,
  IN_ARG_x_dot_sg, IN_ARG_x_sg, IN_ARG_t, IN_ARG_alpha,
  IN_ARG_beta, IN_ARG_sg_basis, IN_ARG_sg_quadrature, IN_ARG_sg_expansion
}
  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, OUT_ARG_f_sg,
  OUT_ARG_W_sg, OUT_ARG_WPrec
}
  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...
enum  EOutArgsDfDp_sg { OUT_ARG_DfDp_sg }
  More...
enum  EOutArgsDgDx_dot_sg { OUT_ARG_DgDx_dot_sg }
  More...
enum  EOutArgsDgDx_sg { OUT_ARG_DgDx_sg }
  More...
enum  EOutArgsDgDp_sg { OUT_ARG_DgDp_sg }
  More...
static const int NUM_E_IN_ARGS_MEMBERS = 12
static const int NUM_E_OUT_ARGS_MEMBERS = 7

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 Epetra_Map
get_p_sg_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 Teuchos::Array
< std::string > > 
get_p_sg_names (int l) const
 
virtual Teuchos::RefCountPtr
< const Epetra_Map
get_g_map (int j) const
 .
virtual Teuchos::RefCountPtr
< const Epetra_Map
get_g_sg_map (int j) const
 

Initial guesses for variables/parameters



virtual Teuchos::RefCountPtr
< const Epetra_Vector
get_x_init () const
 
virtual Teuchos::RefCountPtr
< const
Stokhos::EpetraVectorOrthogPoly > 
get_x_sg_init () const
 
virtual Teuchos::RefCountPtr
< const Epetra_Vector
get_x_dot_init () const
 
virtual Teuchos::RefCountPtr
< const
Stokhos::EpetraVectorOrthogPoly > 
get_x_dot_sg_init () const
 
virtual Teuchos::RefCountPtr
< const Epetra_Vector
get_p_init (int l) const
 
virtual Teuchos::RefCountPtr
< const
Stokhos::EpetraVectorOrthogPoly > 
get_p_sg_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
< EpetraExt::ModelEvaluator::Preconditioner
create_WPrec () const
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DfDp_op (int l) const
 
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DfDp_sg_op (int l) const
 
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DgDx_dot_op (int j) const
 
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DgDx_dot_sg_op (int j) const
 
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DgDx_op (int j) const
 
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DgDx_sg_op (int j) const
 
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DgDp_op (int j, int l) const
 
virtual Teuchos::RefCountPtr
< Epetra_Operator
create_DgDp_sg_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 66 of file EpetraExt_ModelEvaluator.h.


Member Enumeration Documentation

Enumerator:
IN_ARG_x_dot 
IN_ARG_x 
IN_ARG_x_dot_poly 

Time derivative vector Taylor polynomial.

IN_ARG_x_poly 

Solution vector Taylor polynomial.

IN_ARG_x_dot_sg 

Stochastic Galerkin time derivative vector polynomial.

IN_ARG_x_sg 

Stochastic Galerkin solution vector polynomial.

IN_ARG_t 
IN_ARG_alpha 
IN_ARG_beta 
IN_ARG_sg_basis 

Stochastic Galerkin basis.

IN_ARG_sg_quadrature 

Stochastic Galerkin quadrature.

IN_ARG_sg_expansion 

Stochastic Galerkin expansion.

Definition at line 73 of file EpetraExt_ModelEvaluator.h.

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

Enumerator:
DERIV_MV_BY_COL 
DERIV_TRANS_MV_BY_ROW 

Definition at line 229 of file EpetraExt_ModelEvaluator.h.

Enumerator:
DERIV_LINEAR_OP 

Definition at line 235 of file EpetraExt_ModelEvaluator.h.

Enumerator:
DERIV_LINEARITY_UNKNOWN 
DERIV_LINEARITY_CONST 
DERIV_LINEARITY_NONCONST 

Definition at line 307 of file EpetraExt_ModelEvaluator.h.

Enumerator:
DERIV_RANK_UNKNOWN 
DERIV_RANK_FULL 
DERIV_RANK_DEFICIENT 

Definition at line 313 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_f 
OUT_ARG_W 
OUT_ARG_f_poly 

Residual vector Taylor polynomial.

OUT_ARG_f_sg 

Stochastic Galerkin residual vector polynomial.

OUT_ARG_W_sg 

Stochastic Galerkin "W" operator polyomial.

OUT_ARG_WPrec 

Preconditioner operator (approx Jacobian).

Definition at line 494 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DfDp 

Definition at line 505 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DgDx_dot 

Definition at line 510 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DgDx 

Definition at line 515 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DgDp 

Definition at line 520 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DfDp_sg 

Definition at line 525 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DgDx_dot_sg 

Definition at line 530 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DgDx_sg 

Definition at line 535 of file EpetraExt_ModelEvaluator.h.

Enumerator:
OUT_ARG_DgDp_sg 

Definition at line 540 of file EpetraExt_ModelEvaluator.h.


Constructor & Destructor Documentation

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

Definition at line 581 of file EpetraExt_ModelEvaluator.cpp.


Member Function Documentation

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

Definition at line 593 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 597 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 601 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 609 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 621 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 626 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Stokhos::EpetraVectorOrthogPoly > EpetraExt::ModelEvaluator::get_x_dot_sg_init (  )  const [virtual]

Definition at line 630 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 639 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 643 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 650 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_x_lower_bounds (  )  const [virtual]
Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_x_upper_bounds (  )  const [virtual]
Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_p_lower_bounds ( int  l  )  const [virtual]
Teuchos::RefCountPtr< const Epetra_Vector > EpetraExt::ModelEvaluator::get_p_upper_bounds ( int  l  )  const [virtual]
double EpetraExt::ModelEvaluator::get_t_lower_bound (  )  const [virtual]

Definition at line 676 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 680 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.

Same for preconditioner M

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 688 of file EpetraExt_ModelEvaluator.cpp.

Teuchos::RefCountPtr< EpetraExt::ModelEvaluator::Preconditioner > EpetraExt::ModelEvaluator::create_WPrec (  )  const [virtual]

Definition at line 692 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 696 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 700 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 705 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 709 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 714 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 718 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 723 of file EpetraExt_ModelEvaluator.cpp.

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

Definition at line 727 of file EpetraExt_ModelEvaluator.cpp.

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

Member Data Documentation

Definition at line 87 of file EpetraExt_ModelEvaluator.h.

Definition at line 502 of file EpetraExt_ModelEvaluator.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 09:57:55 2011 for EpetraExt by  doxygen 1.6.3