Controls for a single well. More...
Public Attributes | |
int | num |
Number of controls. | |
int | number_of_phases |
enum WellControlType * | type |
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 |
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:
The sign convention for RATE targets is as follows:
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.