|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
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
1.7.4