#ifndef OPM_POLYMERPROPSAD_HEADED_INLCUDED #define OPM_POLYMERPROPSAD_HEADED_INLCUDED #include #include #include #include #include namespace Opm { class PolymerPropsAd { public: /* PolymerPropsAd(const int num_cells; const double mix_param, const std::vector& c_max, const std::vector& c_vals_visc, const std::vector& visc_mult_vals); double num_cells() const; double cMax() const; double mixParam() const; typedef AutoDiffBlock ADB; typedef ADB::V V; V muM(const V& c, const double* visc) const; ADB muM(const ADB& c const double* visc) const; V ToddLongstaff(const double mix_param, const V& muM, const V& mu) const; ADB ToddLongstaff(const double mix_param, const ADB& muM, const ADB& mu) const; V muPolyEff(const double mix_param, const V& muM, const V& muPoly) const; ADB muPolyEff(const double mix_param, const ADB& muM, const ADB& muPoly) const; V muWatEff(const double mix_param, const std::vector& c_max, const V& c, const V& muM, const V& muWat, const V& muPolyEff) const; ADB muWatEff(const double mix_param, const std::vector& c_max, const ADB& c, const ADB& muM, const ADB& muWat, const ADB& muPolyEff) const; */ typedef AutoDiffBlock ADB; typedef ADB::V V; PolymerPropsAd(const PolymerPropperties& polymer_props); ~PolymerPropsAd(); V PolymerPropsAd::effectiveInvWaterVisc(const V& c,const double* visc) const; ADB PolymerPropsAd::effectiveInvWaterVisc(const ADB& c,const double* visc) const; V PolymerPropsAd::polymerWaterVelocityRatio(const V& c) const; ADB PolymerPropsAd::polymerWaterVelocityRatio(const ADB& c) const; private: const PolymerProperties polymer_props_; }; } #endif// OPM_POLYMERPROPSAD_HEADED_INLCUDED