20 #ifndef OPM_PARSER_ECLIPSE_ECLIPSESTATE_TABLES_VFPPRODTABLE_HPP_
21 #define OPM_PARSER_ECLIPSE_ECLIPSESTATE_TABLES_VFPPRODTABLE_HPP_
25 #include <opm/common/utility/platform_dependent/disable_warnings.h>
27 #include <boost/multi_array.hpp>
29 #include <opm/common/utility/platform_dependent/reenable_warnings.h>
40 typedef boost::array<array_type::index, 5>
extents;
106 void init(
int table_num,
112 const std::vector<double>& flo_data,
113 const std::vector<double>& thp_data,
114 const std::vector<double>& wfr_data,
115 const std::vector<double>& gfr_data,
116 const std::vector<double>& alq_data,
117 const array_type& data);
138 return m_datum_depth;
237 double m_datum_depth;
244 std::vector<double> m_flo_data;
245 std::vector<double> m_thp_data;
246 std::vector<double> m_wfr_data;
247 std::vector<double> m_gfr_data;
248 std::vector<double> m_alq_data;
264 static void scaleValues(std::vector<double>& values,
265 const double& scaling_factor);
267 static void convertFloToSI(
const FLO_TYPE& type,
268 std::vector<double>& values,
269 std::shared_ptr<Opm::UnitSystem> unit_system);
270 static void convertTHPToSI(std::vector<double>& values,
271 std::shared_ptr<Opm::UnitSystem> unit_system);
272 static void convertWFRToSI(
const WFR_TYPE& type,
273 std::vector<double>& values,
274 std::shared_ptr<Opm::UnitSystem> unit_system);
275 static void convertGFRToSI(
const GFR_TYPE& type,
276 std::vector<double>& values,
277 std::shared_ptr<Opm::UnitSystem> unit_system);
278 static void convertALQToSI(
const ALQ_TYPE& type,
279 std::vector<double>& values,
280 std::shared_ptr<Opm::UnitSystem> unit_system);
const array_type & getTable() const
Definition: VFPProdTable.hpp:229
VFPProdTable()
Definition: VFPProdTable.hpp:81
boost::array< array_type::index, 5 > extents
Definition: VFPProdTable.hpp:40
Definition: VFPProdTable.hpp:53
FLO_TYPE
Rate type.
Definition: VFPProdTable.hpp:43
Definition: VFPProdTable.hpp:46
Definition: VFPProdTable.hpp:68
std::shared_ptr< const DeckKeyword > DeckKeywordConstPtr
Definition: DeckKeyword.hpp:71
boost::multi_array< double, 5 > array_type
Definition: VFPProdTable.hpp:39
Definition: VFPProdTable.hpp:37
GFR_TYPE getGFRType() const
Definition: VFPProdTable.hpp:161
double getDatumDepth() const
Definition: VFPProdTable.hpp:137
Definition: VFPProdTable.hpp:44
Definition: VFPProdTable.hpp:60
Definition: VFPProdTable.hpp:73
Definition: VFPProdTable.hpp:61
ALQ_TYPE
Artificial lift quantity.
Definition: VFPProdTable.hpp:67
const std::vector< double > & getWFRAxis() const
Definition: VFPProdTable.hpp:193
Definition: VFPProdTable.hpp:69
Definition: VFPProdTable.hpp:52
Definition: VFPProdTable.hpp:62
Definition: VFPProdTable.hpp:55
Definition: VFPProdTable.hpp:75
void init(int table_num, double datum_depth, FLO_TYPE flo_type, WFR_TYPE wfr_type, GFR_TYPE gfr_type, ALQ_TYPE alq_type, const std::vector< double > &flo_data, const std::vector< double > &thp_data, const std::vector< double > &wfr_data, const std::vector< double > &gfr_data, const std::vector< double > &alq_data, const array_type &data)
WFR_TYPE getWFRType() const
Definition: VFPProdTable.hpp:153
ALQ_TYPE getALQType() const
Definition: VFPProdTable.hpp:169
WFR_TYPE
Water fraction variable.
Definition: VFPProdTable.hpp:51
Definition: VFPProdTable.hpp:63
const std::vector< double > & getGFRAxis() const
Definition: VFPProdTable.hpp:201
Definition: VFPProdTable.hpp:54
GFR_TYPE
Gas fraction variable.
Definition: VFPProdTable.hpp:59
const std::vector< double > & getTHPAxis() const
Definition: VFPProdTable.hpp:185
const std::vector< double > & getALQAxis() const
Definition: VFPProdTable.hpp:209
Definition: VFPProdTable.hpp:72
Definition: VFPProdTable.hpp:45
Definition: VFPProdTable.hpp:74
Definition: VFPProdTable.hpp:70
int getTableNum() const
Definition: VFPProdTable.hpp:129
Definition: VFPProdTable.hpp:47
const std::vector< double > & getFloAxis() const
Definition: VFPProdTable.hpp:177
Definition: VFPProdTable.hpp:71
FLO_TYPE getFloType() const
Definition: VFPProdTable.hpp:145