opm-common
Opm::GasPlantTable Class Reference

A single GPTABLE gas-plant recovery table. More...

#include <GasPlantTable.hpp>

Public Member Functions

 GasPlantTable (const DeckRecord &record, std::size_t numComponents, const KeywordLocation &location)
 Build one table from a single GPTABLE record. More...
 
int name () const
 Gas plant table number. More...
 
int lowerComponent () const
 
int upperComponent () const
 
std::size_t numComponents () const
 
std::size_t rowWidth () const
 Number of values stored per table row: the heavy-component mole fraction plus one recovery fraction per component. More...
 
std::size_t numRows () const
 
double heavyMoleFraction (std::size_t row) const
 Heavy-component mole fraction for row (the first column of the row).
 
double recovery (std::size_t row, std::size_t comp) const
 Recovery fraction of component comp for row. More...
 
bool operator== (const GasPlantTable &other) const
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 

Static Public Member Functions

static GasPlantTable serializationTestObject ()
 
static void warnOnTableNumber (std::unordered_set< int > &seenTableNumbers, int tableNumber, std::size_t maxTables, const KeywordLocation &location)
 Emit the GPTABLE table-number diagnostics shared by the SCHEDULE handler and the SOLUTION-section seeding. More...
 

Detailed Description

A single GPTABLE gas-plant recovery table.

One table per GPTABLE record: a gas plant table number, the lower/upper heavy-component indices, and the recovery data whose every row holds one heavy-component mole fraction followed by one recovery fraction per component (numComponents + 1 dimensionless values per row). Parse and represent only – no gas-plant recovery physics.

Constructor & Destructor Documentation

◆ GasPlantTable()

Opm::GasPlantTable::GasPlantTable ( const DeckRecord record,
std::size_t  numComponents,
const KeywordLocation location 
)

Build one table from a single GPTABLE record.

numComponents is the component count (from COMPS); a defaulted lower/upper component index resolves to it.

Member Function Documentation

◆ name()

int Opm::GasPlantTable::name ( ) const
inline

Gas plant table number.

Also the key used by the per-step ScheduleState container, matching the VFPProdTable convention.

◆ recovery()

double Opm::GasPlantTable::recovery ( std::size_t  row,
std::size_t  comp 
) const
inline

Recovery fraction of component comp for row.

comp is a 0-based column index in [0, numComponents) – it is NOT the 1-based deck component number returned by lowerComponent()/upperComponent(); a caller bracketing recovery columns by those indices must subtract 1.

◆ rowWidth()

std::size_t Opm::GasPlantTable::rowWidth ( ) const
inline

Number of values stored per table row: the heavy-component mole fraction plus one recovery fraction per component.

◆ warnOnTableNumber()

void Opm::GasPlantTable::warnOnTableNumber ( std::unordered_set< int > &  seenTableNumbers,
int  tableNumber,
std::size_t  maxTables,
const KeywordLocation location 
)
static

Emit the GPTABLE table-number diagnostics shared by the SCHEDULE handler and the SOLUTION-section seeding.

seenTableNumbers tracks the numbers already encountered within a single GPTABLE keyword: a repeat warns (map_member resolves it last-wins downstream), and a number above the GPTDIMS maximum (maxTables, when one is declared) warns too. Neither case rejects the table.


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