My Project
|
Class which linearly interpolates BHP as a function of rate, tubing head pressure, water fraction, gas fraction, and artificial lift for production VFP tables, and similarly the BHP as a function of the rate and tubing head pressure. More...
#include <VFPProdProperties.hpp>
Public Member Functions | |
void | addTable (const VFPProdTable &new_table) |
Takes no ownership of data. | |
template<class EvalWell > | |
EvalWell | bhp (const int table_id, const EvalWell &aqua, const EvalWell &liquid, const EvalWell &vapour, const double &thp, const double &alq, const double &explicit_wfr, const double &explicit_gfr, const bool use_expvfp) const |
Linear interpolation of bhp as a function of the input parameters given as Evalutions Each entry corresponds typically to one well. | |
double | bhp (int table_id, const double &aqua, const double &liquid, const double &vapour, const double &thp, const double &alq, const double &explicit_wfr, const double &explicit_gfr, const bool use_expvfp) const |
Linear interpolation of bhp as a function of the input parameters. | |
double | thp (int table_id, const double &aqua, const double &liquid, const double &vapour, const double &bhp, const double &alq) const |
Linear interpolation of thp as a function of the input parameters. | |
const VFPProdTable & | getTable (const int table_id) const |
Returns the table associated with the ID, or throws an exception if the table does not exist. | |
bool | hasTable (const int table_id) const |
Check whether there is table associated with ID. | |
bool | empty () const |
Returns true if no vfp tables are in the current map. | |
Protected Member Functions | |
std::vector< double > | bhpwithflo (const std::vector< double > &flos, const int table_id, const double wfr, const double gfr, const double thp, const double alq, const double dp) const |
Protected Attributes | |
std::map< int, std::reference_wrapper< const VFPProdTable > > | m_tables |
Class which linearly interpolates BHP as a function of rate, tubing head pressure, water fraction, gas fraction, and artificial lift for production VFP tables, and similarly the BHP as a function of the rate and tubing head pressure.
EvalWell Opm::VFPProdProperties::bhp | ( | const int | table_id, |
const EvalWell & | aqua, | ||
const EvalWell & | liquid, | ||
const EvalWell & | vapour, | ||
const double & | thp, | ||
const double & | alq, | ||
const double & | explicit_wfr, | ||
const double & | explicit_gfr, | ||
const bool | use_expvfp | ||
) | const |
Linear interpolation of bhp as a function of the input parameters given as Evalutions Each entry corresponds typically to one well.
table_id | Table number to use. A negative entry (e.g., -1) will indicate that no table is used, and the corresponding BHP will be calculated as a constant -1e100. |
aqua | Water phase |
liquid | Oil phase |
vapour | Gas phase |
thp | Tubing head pressure |
alq | Artificial lift or other parameter |
double Opm::VFPProdProperties::bhp | ( | int | table_id, |
const double & | aqua, | ||
const double & | liquid, | ||
const double & | vapour, | ||
const double & | thp, | ||
const double & | alq, | ||
const double & | explicit_wfr, | ||
const double & | explicit_gfr, | ||
const bool | use_expvfp | ||
) | const |
Linear interpolation of bhp as a function of the input parameters.
table_id | Table number to use |
aqua | Water phase |
liquid | Oil phase |
vapour | Gas phase |
thp | Tubing head pressure |
alq | Artificial lift or other parameter |
double Opm::VFPProdProperties::thp | ( | int | table_id, |
const double & | aqua, | ||
const double & | liquid, | ||
const double & | vapour, | ||
const double & | bhp, | ||
const double & | alq | ||
) | const |
Linear interpolation of thp as a function of the input parameters.
table_id | Table number to use |
aqua | Water phase |
liquid | Oil phase |
vapour | Gas phase |
bhp | Bottom hole pressure |
alq | Artificial lift or other parameter |
Find the function bhp_array(thp) by creating a 1D view of the data by interpolating for every value of thp. This might be somewhat expensive, but let us assome that nthp is small.