My Project
Loading...
Searching...
No Matches
Opm::GasLiftWell Class Reference

Gas lift and gas lift optimisation parameters at the well level. More...

#include <GasLiftOpt.hpp>

Public Member Functions

 GasLiftWell ()=default
 Default constructor.
 
 GasLiftWell (const std::string &name, const bool use_glo)
 Construct gas lift optimisation parameter collection for a single well.
 
 GasLiftWell (const RestartIO::RstWell &rst_well)
 Construct gas lift optimisation parameter collection for a single well from restart file representation.
 
const std::string & name () const
 Well name.
 
bool use_glo () const
 Whether or not this well is subject to gas lift optimisation.
 
void max_rate (const double value)
 Assign maximum gas lift rate for this well.
 
const std::optional< double > & max_rate () const
 Retrieve maximum gas lift rate for this well.
 
void weight_factor (const double value)
 Assign weighting factor for preferential allocation of lift gas.
 
double weight_factor () const
 Retrieve weighting factor for preferential allocation of lift gas.
 
void inc_weight_factor (const double value)
 Assign incremental gas rate weighting factor for this well.
 
double inc_weight_factor () const
 Retrieve incremental gas rate weighting factor for this well.
 
void min_rate (const double value)
 Assign minimum rate of lift gas injection for this well.
 
double min_rate () const
 Retrieve this well's minimum lift gas injection rate.
 
void alloc_extra_gas (const bool value)
 Assign flag for whether or not to allocate extra lift gas if available, even if group target is or would be exceeded.
 
bool alloc_extra_gas () const
 Whether or not to allocate extra lift gas if available, even if group target is or would be exceeded.
 
template<class Serializer >
void serializeOp (Serializer &serializer)
 Convert between byte array and object representation.
 
bool operator== (const GasLiftWell &other) const
 Equality predicate.
 

Static Public Member Functions

static bool active (const RestartIO::RstWell &rst_well)
 Predicate for whether or not gas lift optimisation applies to a group at simulation restart time.
 
static GasLiftWell serializationTestObject ()
 Create a serialisation test object.
 

Detailed Description

Gas lift and gas lift optimisation parameters at the well level.

Constructor & Destructor Documentation

◆ GasLiftWell() [1/3]

Opm::GasLiftWell::GasLiftWell ( )
default

Default constructor.

Resulting object mostly usable as a target for a deserialisation operation.

◆ GasLiftWell() [2/3]

Opm::GasLiftWell::GasLiftWell ( const std::string &  name,
const bool  use_glo 
)
inline

Construct gas lift optimisation parameter collection for a single well.

Parameters
[in]nameGroup name.
[in]use_gloWhether or not to apply gas lift optimisation to this well.

◆ GasLiftWell() [3/3]

Opm::GasLiftWell::GasLiftWell ( const RestartIO::RstWell rst_well)
explicit

Construct gas lift optimisation parameter collection for a single well from restart file representation.

Parameters
[in]rst_wellRestart file representation of well object.

Member Function Documentation

◆ active()

bool Opm::GasLiftWell::active ( const RestartIO::RstWell rst_well)
static

Predicate for whether or not gas lift optimisation applies to a group at simulation restart time.

Parameters
[in]rst_wellRestart file representation of well object.
Returns
Whether or not gas lift optimisation applies to this particular well.

◆ alloc_extra_gas()

void Opm::GasLiftWell::alloc_extra_gas ( const bool  value)
inline

Assign flag for whether or not to allocate extra lift gas if available, even if group target is or would be exceeded.

Parameters
[in]valueFlag for whether or not to allocate extra lift gas.

◆ inc_weight_factor()

void Opm::GasLiftWell::inc_weight_factor ( const double  value)
inline

Assign incremental gas rate weighting factor for this well.

Parameters
[in]valueIncremental gas rate weighting factor.

◆ max_rate() [1/2]

const std::optional< double > & Opm::GasLiftWell::max_rate ( ) const
inline

Retrieve maximum gas lift rate for this well.

The semantics of the max_rate are as follows

  1. If the optional has a value, then that value is the maximum gas lift rate.
  2. Otherwise, the maximum gas lift rate depends on use_glo(). If gas lift optimisation does not apply to this well–i.e., when use_glo() is false–then the maximum gas lift rate is the well's artificial lift quantity (ALQ). Conversely, when the well is subject to gas lift optimisation, the maximum gas lift rate should be the largest ALQ value in the well's VFP table.

◆ max_rate() [2/2]

void Opm::GasLiftWell::max_rate ( const double  value)
inline

Assign maximum gas lift rate for this well.

Parameters
[in]valueMaximum gas lift rate for this well.

◆ min_rate()

void Opm::GasLiftWell::min_rate ( const double  value)
inline

Assign minimum rate of lift gas injection for this well.

Parameters
[in]valueMinimum rate of lift gas injection. Used only if the well is subject to gas lift optimisation–i.e., when use_glo() is true.

◆ name()

const std::string & Opm::GasLiftWell::name ( ) const
inline

Well name.

Mostly for convenience.

◆ operator==()

bool Opm::GasLiftWell::operator== ( const GasLiftWell other) const

Equality predicate.

Parameters
[in]otherObject against which
*this
will be tested for equality.
Returns
Whether or not
*this
is the same as other.

◆ serializeOp()

template<class Serializer >
void Opm::GasLiftWell::serializeOp ( Serializer serializer)
inline

Convert between byte array and object representation.

Template Parameters
SerializerByte array conversion protocol.
Parameters
[in,out]serializerByte array conversion object.

◆ weight_factor()

void Opm::GasLiftWell::weight_factor ( const double  value)
inline

Assign weighting factor for preferential allocation of lift gas.

Parameters
[in]valueWeighting factor.

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