EpetraExt_DiagonalQuadraticResponseOnlyModelEvaluator.hpp

Go to the documentation of this file.
00001 #ifndef EPETRA_EXT_DIAGONAL_RESPONSE_ONLY_MODEL_EVALUATOR_HPP
00002 #define EPETRA_EXT_DIAGONAL_RESPONSE_ONLY_MODEL_EVALUATOR_HPP
00003 
00004 
00005 #include "EpetraExt_ModelEvaluator.h"
00006 #include "Epetra_Map.h"
00007 #include "Epetra_Vector.h"
00008 #include "Epetra_Comm.h"
00009 #include "Epetra_CrsGraph.h"
00010 
00011 
00012 namespace EpetraExt {
00013 
00014 
00027 class DiagonalQuadraticResponseOnlyModelEvaluator : public EpetraExt::ModelEvaluator {
00028 public:
00029 
00031   DiagonalQuadraticResponseOnlyModelEvaluator(
00032     const Teuchos::RCP<Epetra_Comm> &comm,
00033     const int localDim, const double &pt, const double &p0, const double &scale );
00034 
00037 
00039   Teuchos::RefCountPtr<const Epetra_Map> get_x_map() const;
00041   Teuchos::RefCountPtr<const Epetra_Map> get_f_map() const;
00043   Teuchos::RefCountPtr<const Epetra_Map> get_p_map(int l) const;
00045   Teuchos::RefCountPtr<const Epetra_Map> get_g_map(int j) const;
00047   Teuchos::RefCountPtr<const Epetra_Vector> get_p_init(int l) const;
00049   InArgs createInArgs() const;
00051   OutArgs createOutArgs() const;
00053   void evalModel( const InArgs& inArgs, const OutArgs& outArgs ) const;
00054 
00056 
00057 private:
00058 
00059   // /////////////////////////////////////
00060   // Private member data
00061 
00062   Teuchos::RefCountPtr<const Epetra_Comm> epetra_comm_;
00063   Teuchos::RefCountPtr<const Epetra_Map> map_p_;
00064   Teuchos::RefCountPtr<const Epetra_Map> map_g_;
00065 
00066   double scale_;
00067 
00068   Teuchos::RefCountPtr<Epetra_Vector> pt_;
00069   Teuchos::RefCountPtr<Epetra_Vector> p0_;
00070 
00071   // Note defined and not to be called
00072   DiagonalQuadraticResponseOnlyModelEvaluator();
00073 
00074 };
00075 
00076 
00078 inline
00079 Teuchos::RCP<DiagonalQuadraticResponseOnlyModelEvaluator>
00080 diagonalQuadraticResponseOnlyModelEvaluator(
00081   const Teuchos::RCP<Epetra_Comm> &comm,
00082   const int localDim, const double &pt, const double &p0, const double &scale
00083   )
00084 {
00085   return Teuchos::rcp(
00086     new DiagonalQuadraticResponseOnlyModelEvaluator(
00087       comm, localDim, pt, p0, scale
00088       )
00089     );
00090 }
00091 
00092 
00093 } // namespace EpetraExt
00094 
00095 
00096 #endif // EPETRA_EXT_DIAGONAL_RESPONSE_ONLY_MODEL_EVALUATOR_HPP

Generated on Tue Jul 13 09:23:06 2010 for EpetraExt by  doxygen 1.4.7