Thyra Package Browser (Single Doxygen Collection) Version of the Day
Thyra_Simple2DModelEvaluator_decl.hpp
Go to the documentation of this file.
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 namespace Thyra {
00010 
00011 
00012 template<class Scalar> class Simple2DModelEvaluator;
00013 
00014 
00019 template<class Scalar>
00020 Teuchos::RCP<Simple2DModelEvaluator<Scalar> >
00021 simple2DModelEvaluator();
00022 
00023 
00044 template<class Scalar>
00045 class Simple2DModelEvaluator
00046   : public Thyra::StateFuncModelEvaluatorBase<Scalar>
00047 {
00048 public:
00049 
00052 
00054   void set_d(const Scalar &d);
00055 
00057   void set_p(const Teuchos::ArrayView<const Scalar> &p);
00058 
00060   void set_x0(const Teuchos::ArrayView<const Scalar> &x0);
00061 
00063   void setShowGetInvalidArgs(bool showGetInvalidArg);
00064 
00066 
00069 
00071   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > get_x_space() const;
00073   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > get_f_space() const;
00075   Thyra::ModelEvaluatorBase::InArgs<Scalar> getNominalValues() const;
00077   Teuchos::RCP<Thyra::LinearOpBase<Scalar> > create_W_op() const;
00079   Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> > get_W_factory() const;
00081   Thyra::ModelEvaluatorBase::InArgs<Scalar> createInArgs() const;
00082 
00084 
00085 #ifndef TEMPLATE_FRIENDS_NOT_SUPPORTED
00086 
00087   friend Teuchos::RCP<Simple2DModelEvaluator<Scalar> > simple2DModelEvaluator<>();
00088   
00089 private:
00090 
00091 #endif // TEMPLATE_FRIENDS_NOT_SUPPORTED
00092 
00093 private:
00094 
00097 
00099   Thyra::ModelEvaluatorBase::OutArgs<Scalar> createOutArgsImpl() const;
00101   void evalModelImpl(
00102     const Thyra::ModelEvaluatorBase::InArgs<Scalar> &inArgs,
00103     const Thyra::ModelEvaluatorBase::OutArgs<Scalar> &outArgs
00104     ) const;
00105 
00107 
00108 private: // data members
00109 
00110   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > x_space_;
00111   Teuchos::RCP<const Thyra::VectorSpaceBase<Scalar> > f_space_;
00112   Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<Scalar> > W_factory_;
00113   Thyra::ModelEvaluatorBase::InArgs<Scalar> nominalValues_;
00114   Scalar d_;
00115   Teuchos::RCP<Thyra::VectorBase<Scalar> > x0_;
00116   Teuchos::Array<Scalar> p_;
00117   bool showGetInvalidArg_;
00118   Thyra::ModelEvaluatorBase::InArgs<Scalar> prototypeInArgs_;
00119   Thyra::ModelEvaluatorBase::OutArgs<Scalar> prototypeOutArgs_;
00120 
00121 private: // member functions
00122 
00123   Simple2DModelEvaluator();
00124 
00125 };
00126 
00127 
00128 } // namespace Thyra
00129 
00130 
00131 #endif // THYRA_SIMPLE_2D_MODEL_EVALUATOR_DECL_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines