|
EpetraExt Development
|
Base interface for evaluating a stateless "model". More...
#include <EpetraExt_ModelEvaluator.h>

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 |
| | |
Base interface for evaluating a stateless "model".
ToDo: Finish Documentation!
Definition at line 66 of file EpetraExt_ModelEvaluator.h.
Definition at line 73 of file EpetraExt_ModelEvaluator.h.
| 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.
Definition at line 229 of file EpetraExt_ModelEvaluator.h.
Definition at line 235 of file EpetraExt_ModelEvaluator.h.
Definition at line 307 of file EpetraExt_ModelEvaluator.h.
Definition at line 313 of file EpetraExt_ModelEvaluator.h.
| 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.
Definition at line 505 of file EpetraExt_ModelEvaluator.h.
Definition at line 510 of file EpetraExt_ModelEvaluator.h.
Definition at line 515 of file EpetraExt_ModelEvaluator.h.
Definition at line 520 of file EpetraExt_ModelEvaluator.h.
Definition at line 525 of file EpetraExt_ModelEvaluator.h.
Definition at line 530 of file EpetraExt_ModelEvaluator.h.
Definition at line 535 of file EpetraExt_ModelEvaluator.h.
Definition at line 540 of file EpetraExt_ModelEvaluator.h.
| EpetraExt::ModelEvaluator::~ModelEvaluator | ( | ) | [virtual] |
Definition at line 584 of file EpetraExt_ModelEvaluator.cpp.
| 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] |
.
Reimplemented in EpetraExt::MultiPointModelEvaluator, EpetraModelEval4DOpt, EpetraMultiPointModelEval4DOpt, EpetraExt::DiagonalQuadraticResponseOnlyModelEvaluator, EpetraExt::DiagonalTransientModel, and GLpApp::AdvDiffReactOptModel.
Definition at line 592 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< const Epetra_Map > EpetraExt::ModelEvaluator::get_p_sg_map | ( | int | l | ) | const [virtual] |
Definition at line 596 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.
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 600 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 604 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 608 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< const Epetra_Map > EpetraExt::ModelEvaluator::get_g_sg_map | ( | int | j | ) | const [virtual] |
Definition at line 612 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 620 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< const Stokhos::EpetraVectorOrthogPoly > EpetraExt::ModelEvaluator::get_x_sg_init | ( | ) | const [virtual] |
Definition at line 624 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 629 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< const Stokhos::EpetraVectorOrthogPoly > EpetraExt::ModelEvaluator::get_x_dot_sg_init | ( | ) | const [virtual] |
Definition at line 633 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 638 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< const Stokhos::EpetraVectorOrthogPoly > EpetraExt::ModelEvaluator::get_p_sg_init | ( | int | l | ) | const [virtual] |
Definition at line 642 of file EpetraExt_ModelEvaluator.cpp.
| double EpetraExt::ModelEvaluator::get_t_init | ( | ) | const [virtual] |
Definition at line 646 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 653 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 660 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 665 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 670 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 675 of file EpetraExt_ModelEvaluator.cpp.
| double EpetraExt::ModelEvaluator::get_t_lower_bound | ( | ) | const [virtual] |
Definition at line 679 of file EpetraExt_ModelEvaluator.cpp.
| double EpetraExt::ModelEvaluator::get_t_upper_bound | ( | ) | const [virtual] |
Definition at line 683 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 691 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< EpetraExt::ModelEvaluator::Preconditioner > EpetraExt::ModelEvaluator::create_WPrec | ( | ) | const [virtual] |
Definition at line 695 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 699 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DfDp_sg_op | ( | int | l | ) | const [virtual] |
Definition at line 703 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDx_dot_op | ( | int | j | ) | const [virtual] |
Definition at line 708 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDx_dot_sg_op | ( | int | j | ) | const [virtual] |
Definition at line 712 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDx_op | ( | int | j | ) | const [virtual] |
Definition at line 717 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDx_sg_op | ( | int | j | ) | const [virtual] |
Definition at line 721 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDp_op | ( | int | j, |
| int | l | ||
| ) | const [virtual] |
Definition at line 726 of file EpetraExt_ModelEvaluator.cpp.
| Teuchos::RefCountPtr< Epetra_Operator > EpetraExt::ModelEvaluator::create_DgDp_sg_op | ( | int | j, |
| int | l | ||
| ) | const [virtual] |
Definition at line 730 of file EpetraExt_ModelEvaluator.cpp.
| virtual InArgs EpetraExt::ModelEvaluator::createInArgs | ( | ) | const [pure virtual] |
| virtual OutArgs EpetraExt::ModelEvaluator::createOutArgs | ( | ) | const [pure virtual] |
const int EpetraExt::ModelEvaluator::NUM_E_IN_ARGS_MEMBERS = 12 [static] |
Definition at line 87 of file EpetraExt_ModelEvaluator.h.
const int EpetraExt::ModelEvaluator::NUM_E_OUT_ARGS_MEMBERS = 7 [static] |
Definition at line 502 of file EpetraExt_ModelEvaluator.h.
1.7.4