21 #ifndef OPM_AUTODIFF_VFPHELPERS_HPP_
22 #define OPM_AUTODIFF_VFPHELPERS_HPP_
45 T getFlo(
const VFPProdTable& table,
56 T getFlo(
const VFPInjTable& table,
66 T getWFR(
const VFPProdTable& table,
76 T getGFR(
const VFPProdTable& table,
85 InterpData() : ind_{0, 0}, inv_dist_(0.0), factor_(0.0) {}
97 InterpData findInterpData(
const double value_in,
const std::vector<double>& values);
103 VFPEvaluation() : value(0.0), dthp(0.0), dwfr(0.0), dgfr(0.0), dalq(0.0), dflo(0.0) {};
140 const double explicit_wfr,
141 const double explicit_gfr,
142 const bool use_vfpexplicit);
154 template <
typename T>
155 const T& getTable(
const std::map<
int, std::reference_wrapper<const T>>& tables,
int table_id);
160 template <
typename T>
161 bool hasTable(
const std::map<
int, std::reference_wrapper<const T>>& tables,
int table_id) {
162 const auto entry = tables.find(table_id);
163 return (entry != tables.end() );
170 template <
typename TYPE,
typename TABLE>
171 TYPE getType(
const TABLE& table);
180 double findTHP(
const std::vector<double>& bhp_array,
181 const std::vector<double>& thp_array,
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: BlackoilPhases.hpp:27
Helper struct for linear interpolation.
Definition: VFPHelpers.hpp:84
An "ADB-like" structure with a single value and a set of derivatives.
Definition: VFPHelpers.hpp:102