Opm::VFPInjTable Class Reference

#include <VFPInjTable.hpp>

Public Types

enum  FLO_TYPE { FLO_OIL =1, FLO_WAT, FLO_GAS, FLO_INVALID }
 Rate type. More...
 
typedef boost::multi_array
< double, 2 > 
array_type
 
typedef boost::array
< array_type::index, 2 > 
extents
 

Public Member Functions

 VFPInjTable ()
 
void init (int table_num, double datum_depth, FLO_TYPE flo_type, const std::vector< double > &flo_data, const std::vector< double > &thp_data, const array_type &data)
 
void init (DeckKeywordConstPtr table, std::shared_ptr< Opm::UnitSystem > deck_unit_system)
 
int getTableNum () const
 
double getDatumDepth () const
 
FLO_TYPE getFloType () const
 
const std::vector< double > & getFloAxis () const
 
const std::vector< double > & getTHPAxis () const
 
const array_typegetTable () const
 

Detailed Description

Class for reading data from a VFPINJ (vertical flow performance injection) table

Member Typedef Documentation

typedef boost::multi_array<double, 2> Opm::VFPInjTable::array_type
typedef boost::array<array_type::index, 2> Opm::VFPInjTable::extents

Member Enumeration Documentation

Rate type.

Enumerator
FLO_OIL 
FLO_WAT 
FLO_GAS 
FLO_INVALID 

Constructor & Destructor Documentation

Opm::VFPInjTable::VFPInjTable ( )
inline

Constructor

Member Function Documentation

double Opm::VFPInjTable::getDatumDepth ( ) const
inline

Returns the datum depth for the table data

Returns
datum depth
const std::vector<double>& Opm::VFPInjTable::getFloAxis ( ) const
inline

Returns the coordinates of the FLO sample points in the table

Returns
Flo sample coordinates
FLO_TYPE Opm::VFPInjTable::getFloType ( ) const
inline

Returns the rate/flo type for the flo axis

Returns
flo type
const array_type& Opm::VFPInjTable::getTable ( ) const
inline

Returns the data of the table itself. The data is ordered so that

table = getTable(); bhp = table[thp_idx][flo_idx];

gives the bottom hole pressure value in the table for the coordinate given by flo_axis = getFloAxis(); thp_axis = getTHPAxis();

flo_coord = flo_axis(flo_idx); thp_coord = thp_axis(thp_idx);

int Opm::VFPInjTable::getTableNum ( ) const
inline

Returns the table number

Returns
table number
const std::vector<double>& Opm::VFPInjTable::getTHPAxis ( ) const
inline

Returns the coordinates for the tubing head pressure sample points in the table

Returns
Tubing head pressure coordinates
void Opm::VFPInjTable::init ( int  table_num,
double  datum_depth,
FLO_TYPE  flo_type,
const std::vector< double > &  flo_data,
const std::vector< double > &  thp_data,
const array_type data 
)

Initializes objects from raw data. NOTE: All raw data assumed to be in SI units

Parameters
table_numVFP table number
datum_depthReference depth for BHP
flo_typeSpecifies what flo_data represents
flo_dataAxis for flo_type
thp_dataAxis for thp_type
dataBHP to be interpolated. Given as a 2D array so that BHP = data[thp][flo] for the indices thp, flo.
void Opm::VFPInjTable::init ( DeckKeywordConstPtr  table,
std::shared_ptr< Opm::UnitSystem deck_unit_system 
)

Constructor which parses a deck keyword and retrieves the relevant parts for a VFP table.


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