My Project
Loading...
Searching...
No Matches
Opm::VFPProdProperties< Scalar > Class Template Reference

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 Scalar thp, const Scalar alq, const Scalar explicit_wfr, const Scalar 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.
 
Scalar bhp (const int table_id, const Scalar aqua, const Scalar liquid, const Scalar vapour, const Scalar thp, const Scalar alq, const Scalar explicit_wfr, const Scalar explicit_gfr, const bool use_expvfp) const
 Linear interpolation of bhp as a function of the input parameters.
 
Scalar thp (const int table_id, const Scalar aqua, const Scalar liquid, const Scalar vapour, const Scalar bhp, const Scalar alq, const Scalar explicit_wrf, const Scalar explicit_gfr, const bool use_expvfp) 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.
 
Scalar minimumBHP (const int table_id, const Scalar thp, const Scalar wfr, const Scalar gfr, const Scalar alq) const
 Returns minimum bhp for given thp, wfr, gfr and alq.
 

Protected Member Functions

std::vector< Scalar > bhpwithflo (const std::vector< Scalar > &flos, const int table_id, const Scalar wfr, const Scalar gfr, const Scalar thp, const Scalar alq, const Scalar dp) const
 

Protected Attributes

std::map< int, std::reference_wrapper< const VFPProdTable > > m_tables
 

Detailed Description

template<class Scalar>
class Opm::VFPProdProperties< Scalar >

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.

Member Function Documentation

◆ bhp() [1/2]

template<class Scalar >
template<class EvalWell >
EvalWell Opm::VFPProdProperties< Scalar >::bhp ( const int table_id,
const EvalWell & aqua,
const EvalWell & liquid,
const EvalWell & vapour,
const Scalar thp,
const Scalar alq,
const Scalar explicit_wfr,
const Scalar 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.

Parameters
table_idTable 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.
aquaWater phase
liquidOil phase
vapourGas phase
thpTubing head pressure
alqArtificial lift or other parameter
Returns
The bottom hole pressure, interpolated/extrapolated linearly using the above parameters from the values in the input table, for each entry in the input ADB objects.

◆ bhp() [2/2]

template<class Scalar >
Scalar Opm::VFPProdProperties< Scalar >::bhp ( const int table_id,
const Scalar aqua,
const Scalar liquid,
const Scalar vapour,
const Scalar thp,
const Scalar alq,
const Scalar explicit_wfr,
const Scalar explicit_gfr,
const bool use_expvfp ) const

Linear interpolation of bhp as a function of the input parameters.

Parameters
table_idTable number to use
aquaWater phase
liquidOil phase
vapourGas phase
thpTubing head pressure
alqArtificial lift or other parameter
Returns
The bottom hole pressure, interpolated/extrapolated linearly using the above parameters from the values in the input table.

◆ thp()

template<class Scalar >
Scalar Opm::VFPProdProperties< Scalar >::thp ( const int table_id,
const Scalar aqua,
const Scalar liquid,
const Scalar vapour,
const Scalar bhp,
const Scalar alq,
const Scalar explicit_wrf,
const Scalar explicit_gfr,
const bool use_expvfp ) const

Linear interpolation of thp as a function of the input parameters.

Parameters
table_idTable number to use
aquaWater phase
liquidOil phase
vapourGas phase
bhpBottom hole pressure
alqArtificial lift or other parameter
Returns
The tubing hole pressure, interpolated/extrapolated linearly using the above parameters from the values in the input table.

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.


The documentation for this class was generated from the following files: