44 #ifndef GLP_APP_ADV_DIFF_REACT_OPT_MODEL_HPP 
   45 #define GLP_APP_ADV_DIFF_REACT_OPT_MODEL_HPP 
   49 #include "Epetra_Map.h" 
   50 #include "Epetra_Vector.h" 
   51 #include "Epetra_Comm.h" 
   52 #include "Epetra_CrsGraph.h" 
   53 #include "Teuchos_VerboseObject.hpp" 
   54 #include "Teuchos_Array.hpp" 
  164   , 
public Teuchos::VerboseObject<AdvDiffReactOptModel>
 
  170     const Teuchos::RCP<const Epetra_Comm>  &comm
 
  176     ,
const char                                    meshFile[]
 
  180     ,
const double                                  reactionRate
 
  181     ,
const bool                                    normalizeBasis
 
  182     ,
const bool                                    supportDerivatives
 
  186   void set_q( Teuchos::RCP<const Epetra_Vector> 
const& q );
 
  189   Teuchos::RCP<GLpApp::GLpYUEpetraDataPool> 
getDataPool();
 
  192   Teuchos::RCP<const Epetra_MultiVector> 
get_B_bar() 
const;
 
  198   Teuchos::RCP<const Epetra_Map> 
get_x_map() 
const;
 
  200   Teuchos::RCP<const Epetra_Map> 
get_f_map() 
const;
 
  202   Teuchos::RCP<const Epetra_Map> 
get_p_map(
int l) 
const;
 
  204   Teuchos::RCP<const Epetra_Map> 
get_g_map(
int j) 
const;
 
  206   Teuchos::RCP<const Epetra_Vector> 
get_x_init() 
const;
 
  208   Teuchos::RCP<const Epetra_Vector> 
get_p_init(
int l) 
const;
 
  218   Teuchos::RCP<Epetra_Operator> 
create_W() 
const;
 
  235   typedef Teuchos::Array<Teuchos::RCP<const Epetra_Map> >  RCP_Eptra_Map_Array_t;
 
  236   typedef Teuchos::Array<Teuchos::RCP<Epetra_Vector> >     RCP_Eptra_Vector_Array_t;
 
  241   static const int Np_         = 2; 
 
  242   static const int p_bndy_idx  = 0; 
 
  243   static const int p_rx_idx    = 1; 
 
  245   bool      supportDerivatives_;
 
  249   Teuchos::RCP<GLpApp::GLpYUEpetraDataPool>   dat_;
 
  251   Teuchos::RCP<const Epetra_Vector>           q_;
 
  253   Teuchos::RCP<const Epetra_Map>              map_p_bar_;
 
  254   Teuchos::RCP<Epetra_MultiVector>            B_bar_;
 
  256   Teuchos::RCP<const Epetra_Comm>  epetra_comm_;
 
  257   Teuchos::RCP<const Epetra_Map>   map_x_;
 
  258   RCP_Eptra_Map_Array_t                    map_p_;
 
  259   Teuchos::RCP<const Epetra_Map>   map_f_;
 
  260   Teuchos::RCP<const Epetra_Map>   map_g_;
 
  262   Teuchos::RCP<Epetra_Vector> x0_;
 
  263   Teuchos::RCP<Epetra_Vector> xL_;
 
  264   Teuchos::RCP<Epetra_Vector> xU_;
 
  265   RCP_Eptra_Vector_Array_t            p0_;
 
  266   RCP_Eptra_Vector_Array_t            pL_;
 
  267   RCP_Eptra_Vector_Array_t            pU_;
 
  268   Teuchos::RCP<Epetra_Vector> gL_;
 
  269   Teuchos::RCP<Epetra_Vector> gU_;
 
  271   Teuchos::RCP<Epetra_CrsGraph>  W_graph_;
 
  277 #endif // GLP_APP_ADV_DIFF_REACT_OPT_MODEL_HPP 
Teuchos::RCP< const Epetra_Map > get_x_map() const 
 
PDE-constrained inverse problem based on a 2D discretization of a diffusion/reaction system...
 
Teuchos::RCP< GLpApp::GLpYUEpetraDataPool > getDataPool()
 
AdvDiffReactOptModel(const Teuchos::RCP< const Epetra_Comm > &comm, const double beta, const double len_x, const double len_y, const int local_nx, const int local_ny, const char meshFile[], const int np, const double x0, const double p0, const double reactionRate, const bool normalizeBasis, const bool supportDerivatives)
Constructor. 
 
void evalModel(const InArgs &inArgs, const OutArgs &outArgs) const 
 
Teuchos::RCP< const Epetra_Vector > get_p_init(int l) const 
 
Teuchos::RCP< const Epetra_Vector > get_x_lower_bounds() const 
 
Teuchos::RCP< Epetra_Operator > create_DfDp_op(int l) const 
 
InArgs createInArgs() const 
 
Teuchos::RCP< const Epetra_Vector > get_p_upper_bounds(int l) const 
 
Teuchos::RCP< const Epetra_Map > get_p_map(int l) const 
. 
 
Teuchos::RCP< const Epetra_Vector > get_p_lower_bounds(int l) const 
 
Teuchos::RCP< const Epetra_Vector > get_x_init() const 
 
Teuchos::RCP< const Epetra_Map > get_f_map() const 
 
OutArgs createOutArgs() const 
 
void set_q(Teuchos::RCP< const Epetra_Vector > const &q)
 
Teuchos::RCP< const Epetra_Map > get_g_map(int j) const 
. 
 
Teuchos::RCP< const Epetra_MultiVector > get_B_bar() const 
 
Teuchos::RCP< Epetra_Operator > create_W() const 
 
Base interface for evaluating a stateless "model". 
 
Teuchos::RCP< const Epetra_Vector > get_x_upper_bounds() const