20#ifndef OPM_PARSER_ECLIPSE_ECLIPSESTATE_TABLES_VFPPRODTABLE_HPP_
21#define OPM_PARSER_ECLIPSE_ECLIPSESTATE_TABLES_VFPPRODTABLE_HPP_
80 const std::vector<double>& flo_data,
81 const std::vector<double>& thp_data,
82 const std::vector<double>& wfr_data,
83 const std::vector<double>& gfr_data,
84 const std::vector<double>& alq_data,
155 double operator()(
size_t thp_idx,
size_t wfr_idx,
size_t gfr_idx,
size_t alq_idx,
size_t flo_idx)
const;
157 template<
class Serializer>
160 serializer(m_table_num);
161 serializer(m_datum_depth);
162 serializer(m_flo_type);
163 serializer(m_wfr_type);
164 serializer(m_gfr_type);
165 serializer(m_alq_type);
166 serializer(m_flo_data);
167 serializer(m_thp_data);
168 serializer(m_wfr_data);
169 serializer(m_gfr_data);
170 serializer(m_alq_data);
176 double m_datum_depth;
182 std::vector<double> m_flo_data;
183 std::vector<double> m_thp_data;
184 std::vector<double> m_wfr_data;
185 std::vector<double> m_gfr_data;
186 std::vector<double> m_alq_data;
190 void check(
const DeckKeyword& table,
const double factor);
192 double&
operator()(
size_t thp_idx,
size_t wfr_idx,
size_t gfr_idx,
size_t alq_idx,
size_t flo_idx);
194 static void scaleValues(std::vector<double>& values,
195 const double& scaling_factor);
197 static void convertFloToSI(
const FLO_TYPE& type,
198 std::vector<double>& values,
200 static void convertTHPToSI(std::vector<double>& values,
202 static void convertWFRToSI(
const WFR_TYPE& type,
203 std::vector<double>& values,
205 static void convertGFRToSI(
const GFR_TYPE& type,
206 std::vector<double>& values,
Definition: DeckKeyword.hpp:38
Definition: Serializer.hpp:38
Definition: UnitSystem.hpp:32
Definition: VFPProdTable.hpp:36
ALQ_TYPE getALQType() const
Definition: VFPProdTable.hpp:109
const std::vector< double > & getFloAxis() const
Definition: VFPProdTable.hpp:113
std::vector< double > array_type
Definition: VFPProdTable.hpp:38
FLO_TYPE getFloType() const
Definition: VFPProdTable.hpp:97
void serializeOp(Serializer &serializer)
Definition: VFPProdTable.hpp:158
VFPProdTable(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)
ALQ_TYPE
Definition: VFPProdTable.hpp:61
@ ALQ_UNDEF
Definition: VFPProdTable.hpp:68
@ ALQ_BEAN
Definition: VFPProdTable.hpp:67
@ ALQ_GRAT
Definition: VFPProdTable.hpp:62
@ ALQ_IGLR
Definition: VFPProdTable.hpp:63
@ ALQ_COMP
Definition: VFPProdTable.hpp:66
@ ALQ_PUMP
Definition: VFPProdTable.hpp:65
@ ALQ_TGLR
Definition: VFPProdTable.hpp:64
@ ALQ_INVALID
Definition: VFPProdTable.hpp:69
WFR_TYPE
Definition: VFPProdTable.hpp:47
@ WFR_WOR
Definition: VFPProdTable.hpp:48
@ WFR_INVALID
Definition: VFPProdTable.hpp:51
@ WFR_WCT
Definition: VFPProdTable.hpp:49
@ WFR_WGR
Definition: VFPProdTable.hpp:50
const std::vector< double > & getALQAxis() const
Definition: VFPProdTable.hpp:129
GFR_TYPE
Definition: VFPProdTable.hpp:54
@ GFR_OGR
Definition: VFPProdTable.hpp:57
@ GFR_INVALID
Definition: VFPProdTable.hpp:58
@ GFR_GLR
Definition: VFPProdTable.hpp:56
@ GFR_GOR
Definition: VFPProdTable.hpp:55
const std::vector< double > & getTHPAxis() const
Definition: VFPProdTable.hpp:117
std::array< size_t, 5 > shape() const
static VFPProdTable serializeObject()
bool operator==(const VFPProdTable &data) const
WFR_TYPE getWFRType() const
Definition: VFPProdTable.hpp:101
const std::vector< double > & getWFRAxis() const
Definition: VFPProdTable.hpp:121
const std::vector< double > & getGFRAxis() const
Definition: VFPProdTable.hpp:125
double getDatumDepth() const
Definition: VFPProdTable.hpp:93
const array_type & getTable() const
Definition: VFPProdTable.hpp:147
GFR_TYPE getGFRType() const
Definition: VFPProdTable.hpp:105
double operator()(size_t thp_idx, size_t wfr_idx, size_t gfr_idx, size_t alq_idx, size_t flo_idx) const
FLO_TYPE
Definition: VFPProdTable.hpp:40
@ FLO_OIL
Definition: VFPProdTable.hpp:41
@ FLO_GAS
Definition: VFPProdTable.hpp:43
@ FLO_INVALID
Definition: VFPProdTable.hpp:44
@ FLO_LIQ
Definition: VFPProdTable.hpp:42
VFPProdTable(const DeckKeyword &table, const UnitSystem &deck_unit_system)
int getTableNum() const
Definition: VFPProdTable.hpp:89