EpetraExt Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
EpetraModelEval4DOpt Class Reference

A simple serial example model which includes a parameter subvector and a response function that can be used to define an optimization problem. More...

#include <EpetraModelEval4DOpt.hpp>

Inheritance diagram for EpetraModelEval4DOpt:
Inheritance graph
[legend]

Public Member Functions

 EpetraModelEval4DOpt (const double xt0=1.0, const double xt1=1.0, const double pt0=2.0, const double pt1=0.0, const double d=10.0, const double x00=1.0, const double x01=1.0, const double p00=2.0, const double p01=0.0)
 
void setSupportDerivs (bool supportDerivs)
 
void set_p_bounds (double pL0, double pL1, double pU0, double pU1)
 
void set_x_bounds (double xL0, double xL1, double xU0, double xU1)
 
- Public Member Functions inherited from EpetraExt::ModelEvaluator
virtual ~ModelEvaluator ()
 
virtual Teuchos::RCP< const
Teuchos::Array< std::string > > 
get_p_names (int l) const
 Get the names of the parameters associated with parameter subvector l if available. More...
 
virtual Teuchos::ArrayView
< const std::string > 
get_g_names (int j) const
 Get the names of the response functions associated with response subvector j if available. More...
 
virtual Teuchos::RCP< const
Epetra_Vector
get_x_dot_init () const
 
virtual Teuchos::RCP< const
Epetra_Vector
get_x_dotdot_init () const
 
virtual double get_t_init () const
 
virtual double getInfBound () const
 Return the value of an infinite bound. More...
 
virtual double get_t_lower_bound () const
 
virtual double get_t_upper_bound () const
 
virtual Teuchos::RCP
< EpetraExt::ModelEvaluator::Preconditioner
create_WPrec () const
 
virtual Teuchos::RCP
< Epetra_Operator
create_DfDp_op (int l) const
 
virtual Teuchos::RCP
< Epetra_Operator
create_DgDx_dot_op (int j) const
 
virtual Teuchos::RCP
< Epetra_Operator
create_DgDx_dotdot_op (int j) const
 
virtual Teuchos::RCP
< Epetra_Operator
create_DgDx_op (int j) const
 
virtual Teuchos::RCP
< Epetra_Operator
create_DgDp_op (int j, int l) const
 
- Public Member Functions inherited from Teuchos::Describable
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
virtual std::string description () const
 
virtual void describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual void setObjectLabel (const std::string &objectLabel)
 
virtual std::string getObjectLabel () const
 

Private Member Functions

 EpetraModelEval4DOpt ()
 

Private Attributes

double xt0_
 
double xt1_
 
double pt0_
 
double pt1_
 
double d_
 
bool isInitialized_
 
bool supportDerivs_
 
Teuchos::RCP< const Epetra_Commepetra_comm_
 
Teuchos::RCP< const Epetra_Mapmap_x_
 
Teuchos::RCP< const Epetra_Mapmap_p_
 
Teuchos::RCP< const Epetra_Mapmap_g_
 
Teuchos::RCP< Epetra_VectorxL_
 
Teuchos::RCP< Epetra_VectorxU_
 
Teuchos::RCP< Epetra_VectorpL_
 
Teuchos::RCP< Epetra_VectorpU_
 
Teuchos::RCP< Epetra_VectorgL_
 
Teuchos::RCP< Epetra_VectorgU_
 
Teuchos::RCP< Epetra_Vectorx0_
 
Teuchos::RCP< Epetra_Vectorp0_
 
Teuchos::RCP< Epetra_CrsGraphW_graph_
 

Overridden from EpetraExt::ModelEvaluator .

Teuchos::RCP< const Epetra_Mapget_x_map () const
 
Teuchos::RCP< const Epetra_Mapget_f_map () const
 
Teuchos::RCP< const Epetra_Mapget_p_map (int l) const
 . More...
 
Teuchos::RCP< const Epetra_Mapget_g_map (int j) const
 . More...
 
Teuchos::RCP< const Epetra_Vectorget_x_init () const
 
Teuchos::RCP< const Epetra_Vectorget_p_init (int l) const
 
Teuchos::RCP< const Epetra_Vectorget_x_lower_bounds () const
 
Teuchos::RCP< const Epetra_Vectorget_x_upper_bounds () const
 
Teuchos::RCP< const Epetra_Vectorget_p_lower_bounds (int l) const
 
Teuchos::RCP< const Epetra_Vectorget_p_upper_bounds (int l) const
 
Teuchos::RCP< Epetra_Operatorcreate_W () const
 
InArgs createInArgs () const
 
OutArgs createOutArgs () const
 
void evalModel (const InArgs &inArgs, const OutArgs &outArgs) const
 

Additional Inherited Members

- Public Types inherited from EpetraExt::ModelEvaluator
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_x_dot_mp, IN_ARG_x_mp,
  IN_ARG_t, IN_ARG_alpha, IN_ARG_beta, IN_ARG_step_size,
  IN_ARG_stage_number, IN_ARG_x_dotdot, IN_ARG_x_dotdot_poly, IN_ARG_x_dotdot_sg,
  IN_ARG_x_dotdot_mp, IN_ARG_omega, IN_ARG_sg_basis, IN_ARG_sg_quadrature,
  IN_ARG_sg_expansion
}
 
enum  EInArgs_p_sg { IN_ARG_p_sg }
 
enum  EInArgs_p_mp { IN_ARG_p_mp }
 
enum  EEvalType { EVAL_TYPE_EXACT, EVAL_TYPE_APPROX_DERIV, EVAL_TYPE_VERY_APPROX_DERIV }
 
enum  EDerivativeMultiVectorOrientation { DERIV_MV_BY_COL, DERIV_TRANS_MV_BY_ROW }
 
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_poly, OUT_ARG_f_sg,
  OUT_ARG_W_sg, OUT_ARG_f_mp, OUT_ARG_W_mp, OUT_ARG_WPrec
}
 
enum  EOutArgsDfDp { OUT_ARG_DfDp }
 
enum  EOutArgsDgDx_dot { OUT_ARG_DgDx_dot }
 
enum  EOutArgsDgDx_dotdot { OUT_ARG_DgDx_dotdot }
 
enum  EOutArgsDgDx { OUT_ARG_DgDx }
 
enum  EOutArgsDgDp { OUT_ARG_DgDp }
 
enum  EOutArgsDfDp_sg { OUT_ARG_DfDp_sg }
 
enum  EOutArgs_g_sg { OUT_ARG_g_sg }
 
enum  EOutArgsDgDx_dot_sg { OUT_ARG_DgDx_dot_sg }
 
enum  EOutArgsDgDx_dotdot_sg { OUT_ARG_DgDx_dotdot_sg }
 
enum  EOutArgsDgDx_sg { OUT_ARG_DgDx_sg }
 
enum  EOutArgsDgDp_sg { OUT_ARG_DgDp_sg }
 
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_dotdot_mp { OUT_ARG_DgDx_dotdot_mp }
 
enum  EOutArgsDgDx_mp { OUT_ARG_DgDx_mp }
 
enum  EOutArgsDgDp_mp { OUT_ARG_DgDp_mp }
 
typedef Teuchos::RCP< const
Stokhos::ProductEpetraVector > 
mp_const_vector_t
 
typedef Teuchos::RCP< const
Stokhos::ProductEpetraMultiVector > 
mp_const_multivector_t
 
typedef Teuchos::RCP< const
Stokhos::ProductEpetraOperator > 
mp_const_operator_t
 
typedef Teuchos::RCP
< Stokhos::ProductEpetraVector > 
mp_vector_t
 
typedef Teuchos::RCP
< Stokhos::ProductEpetraMultiVector > 
mp_multivector_t
 
typedef Teuchos::RCP
< Stokhos::ProductEpetraOperator > 
mp_operator_t
 
- Static Public Attributes inherited from EpetraExt::ModelEvaluator
static const int NUM_E_IN_ARGS_MEMBERS =21
 
static const int NUM_E_OUT_ARGS_MEMBERS =9
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

A simple serial example model which includes a parameter subvector and a response function that can be used to define an optimization problem.

Represents the model:

   f[0] =        x[0]      + x[1]*x[1] - p[0];
   f[1] = d_ * ( x[0]*x[0] - x[1]      - p[1] );

   g[0] = 0.5 * ( sqr(x[0]-xt0_) + sqr(x[1]-xt1_) + sqr(p[0]-pt0_) + sqr(p[1]-pt1_) );

where there is just one state vector x = [ x[0], x[1] ] and one parameter subvector p = [ p[0], p[1] ].

See the function evalModel() for more details.

Definition at line 72 of file EpetraModelEval4DOpt.hpp.

Constructor & Destructor Documentation

EpetraModelEval4DOpt::EpetraModelEval4DOpt ( const double  xt0 = 1.0,
const double  xt1 = 1.0,
const double  pt0 = 2.0,
const double  pt1 = 0.0,
const double  d = 10.0,
const double  x00 = 1.0,
const double  x01 = 1.0,
const double  p00 = 2.0,
const double  p01 = 0.0 
)

Definition at line 61 of file EpetraModelEval4DOpt.cpp.

EpetraModelEval4DOpt::EpetraModelEval4DOpt ( )
private

Member Function Documentation

void EpetraModelEval4DOpt::setSupportDerivs ( bool  supportDerivs)

Definition at line 111 of file EpetraModelEval4DOpt.cpp.

void EpetraModelEval4DOpt::set_p_bounds ( double  pL0,
double  pL1,
double  pU0,
double  pU1 
)

Definition at line 117 of file EpetraModelEval4DOpt.cpp.

void EpetraModelEval4DOpt::set_x_bounds ( double  xL0,
double  xL1,
double  xU0,
double  xU1 
)

Definition at line 127 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Map > EpetraModelEval4DOpt::get_x_map ( ) const
virtual

Implements EpetraExt::ModelEvaluator.

Definition at line 140 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Map > EpetraModelEval4DOpt::get_f_map ( ) const
virtual

Implements EpetraExt::ModelEvaluator.

Definition at line 146 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Map > EpetraModelEval4DOpt::get_p_map ( int  l) const
virtual

.

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 152 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Map > EpetraModelEval4DOpt::get_g_map ( int  j) const
virtual

.

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 159 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraModelEval4DOpt::get_x_init ( ) const
virtual

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 166 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraModelEval4DOpt::get_p_init ( int  l) const
virtual

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 172 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraModelEval4DOpt::get_x_lower_bounds ( ) const
virtual

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 179 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraModelEval4DOpt::get_x_upper_bounds ( ) const
virtual

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 185 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraModelEval4DOpt::get_p_lower_bounds ( int  l) const
virtual

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 191 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< const Epetra_Vector > EpetraModelEval4DOpt::get_p_upper_bounds ( int  l) const
virtual

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 198 of file EpetraModelEval4DOpt.cpp.

Teuchos::RCP< Epetra_Operator > EpetraModelEval4DOpt::create_W ( ) const
virtual

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 205 of file EpetraModelEval4DOpt.cpp.

EpetraExt::ModelEvaluator::InArgs EpetraModelEval4DOpt::createInArgs ( ) const
virtual

Implements EpetraExt::ModelEvaluator.

Definition at line 211 of file EpetraModelEval4DOpt.cpp.

EpetraExt::ModelEvaluator::OutArgs EpetraModelEval4DOpt::createOutArgs ( ) const
virtual

Implements EpetraExt::ModelEvaluator.

Definition at line 221 of file EpetraModelEval4DOpt.cpp.

void EpetraModelEval4DOpt::evalModel ( const InArgs inArgs,
const OutArgs outArgs 
) const
virtual

Implements EpetraExt::ModelEvaluator.

Definition at line 265 of file EpetraModelEval4DOpt.cpp.

Member Data Documentation

double EpetraModelEval4DOpt::xt0_
private

Definition at line 136 of file EpetraModelEval4DOpt.hpp.

double EpetraModelEval4DOpt::xt1_
private

Definition at line 137 of file EpetraModelEval4DOpt.hpp.

double EpetraModelEval4DOpt::pt0_
private

Definition at line 138 of file EpetraModelEval4DOpt.hpp.

double EpetraModelEval4DOpt::pt1_
private

Definition at line 139 of file EpetraModelEval4DOpt.hpp.

double EpetraModelEval4DOpt::d_
private

Definition at line 140 of file EpetraModelEval4DOpt.hpp.

bool EpetraModelEval4DOpt::isInitialized_
private

Definition at line 142 of file EpetraModelEval4DOpt.hpp.

bool EpetraModelEval4DOpt::supportDerivs_
private

Definition at line 143 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<const Epetra_Comm> EpetraModelEval4DOpt::epetra_comm_
private

Definition at line 145 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<const Epetra_Map> EpetraModelEval4DOpt::map_x_
private

Definition at line 146 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<const Epetra_Map> EpetraModelEval4DOpt::map_p_
private

Definition at line 147 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<const Epetra_Map> EpetraModelEval4DOpt::map_g_
private

Definition at line 148 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::xL_
private

Definition at line 150 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::xU_
private

Definition at line 151 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::pL_
private

Definition at line 152 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::pU_
private

Definition at line 153 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::gL_
private

Definition at line 154 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::gU_
private

Definition at line 155 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::x0_
private

Definition at line 156 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraModelEval4DOpt::p0_
private

Definition at line 157 of file EpetraModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_CrsGraph> EpetraModelEval4DOpt::W_graph_
private

Definition at line 159 of file EpetraModelEval4DOpt.hpp.


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