All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
WellControls Struct Reference

Controls for a single well. More...

Public Attributes

int num
 Number of controls.
 
int number_of_phases
 
enum WellControlTypetype
 Array of control types.
 
double * target
 Array of control targets.
 
double * alq
 Array of artificial lift quantities.
 
int * vfp
 Array of VFP table numbers.
 
double * distr
 Array of rate control distributions, number_of_phases numbers for each control.
 
int current
 Index of current active control.
 
bool well_is_open
 
int cpty
 

Detailed Description

Controls for a single well.

Each control specifies a well rate or bottom-hole pressure. Only one control can be active at a time, indicated by current. The meaning of each control's target value depends on the control type:

  • BHP -> target bottom hole pressure in Pascal.
  • THP -> target tubing head pressure in Pascal.
  • RESERVOIR_RATE -> target reservoir volume rate in cubic(meter)/second
  • SURFACE_RATE -> target surface volume rate in cubic(meter)/second

The sign convention for RATE targets is as follows:

  • (+) Fluid flowing into reservoir, i.e. injecting.
  • (-) Fluid flowing out of reservoir, i.e. producing.

For *_RATE controls, the distribution of phases used for the control is also needed. For example, a total rate control should have 1.0 for each phase, whereas a control on oil rate should have 1.0 for the oil phase and 0.0 for the rest. For BHP controls, this is unused. The active control acts as an equality constraint, whereas the non-active controls should be interpreted as inequality constraints (upper or lower bounds). For instance, a PRODUCER's BHP constraint defines a minimum acceptable bottom-hole pressure value for the well.


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