Simple2DModelEvaluator_decl.hpp

00001 
00002 #ifndef THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
00003 #define THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
00004 
00005 
00006 #include "Thyra_StateFuncModelEvaluatorBase.hpp"
00007 
00008 
00009 template<class Scalar> class Simple2DModelEvaluator;
00010 
00011 
00016 template<class Scalar>
00017 Teuchos::RCP<Simple2DModelEvaluator<Scalar> >
00018 simple2DModelEvaluator();
00019 
00020 
00041 template<class Scalar>
00042 class Simple2DModelEvaluator
00043   : public Thyra::StateFuncModelEvaluatorBase<Scalar>
00044 {
00045 public:
00046 
00049 
00051   void set_d(const Scalar &d);
00052 
00054   void set_p(const Teuchos::ArrayView<const Scalar> &p);
00055 
00057   void set_x0(const Teuchos::ArrayView<const Scalar> &x0);
00058 
00060   void setShowGetInvalidArgs(bool showGetInvalidArg);
00061 
00063 
00066 
00068   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > get_x_space() const;
00070   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > get_f_space() const;
00072   Thyra::ModelEvaluatorBase::InArgs<Scalar> getNominalValues() const;
00074   Teuchos::RCP<Thyra::LinearOpBase<Scalar> > create_W_op() const;
00076   Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> > get_W_factory() const;
00078   Thyra::ModelEvaluatorBase::InArgs<Scalar> createInArgs() const;
00079 
00081 
00082 #ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
00083 
00084   friend Teuchos::RCP<Simple2DModelEvaluator<Scalar> > simple2DModelEvaluator<>();
00085   
00086 private:
00087 
00088 #endif // TEMPLATE_FRIENDS_NOT_SUPPORTED
00089 
00090 private:
00091 
00094 
00096   Thyra::ModelEvaluatorBase::OutArgs<Scalar> createOutArgsImpl() const;
00098   void evalModelImpl(
00099     const Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs,
00100     const Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs
00101     ) const;
00102 
00104 
00105 private: // data members
00106 
00107   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > x_space_;
00108   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > f_space_;
00109   Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> > W_factory_;
00110   Thyra::ModelEvaluatorBase::InArgs<Scalar> nominalValues_;
00111   Scalar d_;
00112   Teuchos::RCP<Thyra::VectorBase<Scalar> > x0_;
00113   Teuchos::Array<Scalar> p_;
00114   bool showGetInvalidArg_;
00115   Thyra::ModelEvaluatorBase::InArgs<Scalar> prototypeInArgs_;
00116   Thyra::ModelEvaluatorBase::OutArgs<Scalar> prototypeOutArgs_;
00117 
00118 private: // member functions
00119 
00120   Simple2DModelEvaluator();
00121 
00122 };
00123 
00124 
00125 #endif // THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP

Generated on Tue Jul 13 09:26:20 2010 for Thyra by  doxygen 1.4.7