EpetraExt Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
EpetraMultiPointModelEval4DOpt 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 <EpetraMultiPointModelEval4DOpt.hpp>

Inheritance diagram for EpetraMultiPointModelEval4DOpt:
Inheritance graph
[legend]

Public Member Functions

 EpetraMultiPointModelEval4DOpt (Teuchos::RCP< Epetra_Comm > epetra_comm, 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, const double q0=0.0)
 
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 Attributes

bool isInitialized_
 
Teuchos::RCP< const Epetra_Commepetra_comm_
 
double xt0_
 
double xt1_
 
double pt0_
 
double pt1_
 
double d_
 
Teuchos::RCP< const Epetra_Mapmap_x_
 
Teuchos::RCP< const Epetra_Mapmap_p_
 
Teuchos::RCP< const Epetra_Mapmap_q_
 
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_Vectorq_
 
Teuchos::RCP< Epetra_VectorqL_
 
Teuchos::RCP< Epetra_VectorqU_
 
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] ], AND a second parameter subvector q = [ q[0] ] for the multipoint parameter

See the function evalModel() for more details.

Definition at line 73 of file EpetraMultiPointModelEval4DOpt.hpp.

Constructor & Destructor Documentation

EpetraMultiPointModelEval4DOpt::EpetraMultiPointModelEval4DOpt ( Teuchos::RCP< Epetra_Comm epetra_comm,
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,
const double  q0 = 0.0 
)

Definition at line 57 of file EpetraMultiPointModelEval4DOpt.cpp.

Member Function Documentation

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

Definition at line 110 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Definition at line 120 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Implements EpetraExt::ModelEvaluator.

Definition at line 133 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Implements EpetraExt::ModelEvaluator.

Definition at line 139 of file EpetraMultiPointModelEval4DOpt.cpp.

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

.

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 145 of file EpetraMultiPointModelEval4DOpt.cpp.

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

.

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 153 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 160 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 166 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 174 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 180 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 186 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 194 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Reimplemented from EpetraExt::ModelEvaluator.

Definition at line 202 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Implements EpetraExt::ModelEvaluator.

Definition at line 208 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Implements EpetraExt::ModelEvaluator.

Definition at line 218 of file EpetraMultiPointModelEval4DOpt.cpp.

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

Implements EpetraExt::ModelEvaluator.

Definition at line 259 of file EpetraMultiPointModelEval4DOpt.cpp.

Member Data Documentation

bool EpetraMultiPointModelEval4DOpt::isInitialized_
private

Definition at line 136 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 138 of file EpetraMultiPointModelEval4DOpt.hpp.

double EpetraMultiPointModelEval4DOpt::xt0_
private

Definition at line 140 of file EpetraMultiPointModelEval4DOpt.hpp.

double EpetraMultiPointModelEval4DOpt::xt1_
private

Definition at line 141 of file EpetraMultiPointModelEval4DOpt.hpp.

double EpetraMultiPointModelEval4DOpt::pt0_
private

Definition at line 142 of file EpetraMultiPointModelEval4DOpt.hpp.

double EpetraMultiPointModelEval4DOpt::pt1_
private

Definition at line 143 of file EpetraMultiPointModelEval4DOpt.hpp.

double EpetraMultiPointModelEval4DOpt::d_
private

Definition at line 144 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 145 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 146 of file EpetraMultiPointModelEval4DOpt.hpp.

Teuchos::RCP<const Epetra_Map> EpetraMultiPointModelEval4DOpt::map_q_
private

Definition at line 147 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 148 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 150 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 151 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 152 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 153 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 154 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 155 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 156 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 157 of file EpetraMultiPointModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraMultiPointModelEval4DOpt::q_
private

Definition at line 158 of file EpetraMultiPointModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraMultiPointModelEval4DOpt::qL_
private

Definition at line 159 of file EpetraMultiPointModelEval4DOpt.hpp.

Teuchos::RCP<Epetra_Vector> EpetraMultiPointModelEval4DOpt::qU_
private

Definition at line 160 of file EpetraMultiPointModelEval4DOpt.hpp.

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

Definition at line 162 of file EpetraMultiPointModelEval4DOpt.hpp.


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