well_controls.h File Reference
#include <stdbool.h>
Include dependency graph for well_controls.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  WellControlType { BHP, THP, RESERVOIR_RATE, SURFACE_RATE }
 

Functions

bool well_controls_equal (const struct WellControls *ctrls1, const struct WellControls *ctrls2, bool verbose)
 
struct WellControls * well_controls_create (void)
 
struct WellControls * well_controls_clone (const struct WellControls *ctrl)
 
void well_controls_destroy (struct WellControls *ctrl)
 
int well_controls_get_num (const struct WellControls *ctrl)
 
int well_controls_get_current (const struct WellControls *ctrl)
 
void well_controls_set_current (struct WellControls *ctrl, int current)
 
bool well_controls_well_is_stopped (const struct WellControls *ctrl)
 
bool well_controls_well_is_open (const struct WellControls *ctrl)
 
void well_controls_open_well (struct WellControls *ctrl)
 
void well_controls_stop_well (struct WellControls *ctrl)
 
int well_controls_add_new (enum WellControlType type, double target, double alq, int vfp, const double *distr, struct WellControls *ctrl)
 
enum WellControlType well_controls_iget_type (const struct WellControls *ctrl, int control_index)
 
enum WellControlType well_controls_get_current_type (const struct WellControls *ctrl)
 
void well_controls_iset_type (struct WellControls *ctrls, int control_index, enum WellControlType type)
 
void well_controls_iset_target (struct WellControls *ctrl, int control_index, double target)
 
double well_controls_iget_target (const struct WellControls *ctrl, int control_index)
 
void well_controls_iset_alq (struct WellControls *ctrl, int control_index, double alq)
 
double well_controls_iget_alq (const struct WellControls *ctrl, int control_index)
 
void well_controls_iset_vfp (struct WellControls *ctrl, int control_index, int vfp)
 
int well_controls_iget_vfp (const struct WellControls *ctrl, int control_index)
 
double well_controls_get_current_target (const struct WellControls *ctrl)
 
const double * well_controls_iget_distr (const struct WellControls *ctrl, int control_index)
 
void well_controls_iset_distr (const struct WellControls *ctrl, int control_index, const double *distr)
 
const double * well_controls_get_current_distr (const struct WellControls *ctrl)
 
void well_controls_assert_number_of_phases (struct WellControls *ctrl, int number_of_phases)
 
void well_controls_clear (struct WellControls *ctrl)
 

Detailed Description

API for managing sets of well controls.

Enumeration Type Documentation

Enumerator
BHP 

Well constrained by BHP target

THP 

Well constrained by THP target

RESERVOIR_RATE 

Well constrained by reservoir volume flow rate

SURFACE_RATE 

Well constrained by surface volume flow rate

Function Documentation

int well_controls_add_new ( enum WellControlType  type,
double  target,
double  alq,
int  vfp,
const double *  distr,
struct WellControls *  ctrl 
)
void well_controls_assert_number_of_phases ( struct WellControls *  ctrl,
int  number_of_phases 
)
void well_controls_clear ( struct WellControls *  ctrl)
struct WellControls* well_controls_clone ( const struct WellControls *  ctrl)

Create deep copy (clone) of an existing set of well controls.

Parameters
[in]ctrlExisting set of well controls.
Returns
Deep copy of ctrl.
struct WellControls* well_controls_create ( void  )
void well_controls_destroy ( struct WellControls *  ctrl)
bool well_controls_equal ( const struct WellControls *  ctrls1,
const struct WellControls *  ctrls2,
bool  verbose 
)
int well_controls_get_current ( const struct WellControls *  ctrl)
const double* well_controls_get_current_distr ( const struct WellControls *  ctrl)

Referenced by Opm::WellState::init().

double well_controls_get_current_target ( const struct WellControls *  ctrl)

Referenced by Opm::WellState::init().

enum WellControlType well_controls_get_current_type ( const struct WellControls *  ctrl)

Referenced by Opm::WellState::init().

int well_controls_get_num ( const struct WellControls *  ctrl)
double well_controls_iget_alq ( const struct WellControls *  ctrl,
int  control_index 
)
const double* well_controls_iget_distr ( const struct WellControls *  ctrl,
int  control_index 
)
double well_controls_iget_target ( const struct WellControls *  ctrl,
int  control_index 
)
enum WellControlType well_controls_iget_type ( const struct WellControls *  ctrl,
int  control_index 
)
int well_controls_iget_vfp ( const struct WellControls *  ctrl,
int  control_index 
)
void well_controls_iset_alq ( struct WellControls *  ctrl,
int  control_index,
double  alq 
)
void well_controls_iset_distr ( const struct WellControls *  ctrl,
int  control_index,
const double *  distr 
)
void well_controls_iset_target ( struct WellControls *  ctrl,
int  control_index,
double  target 
)
void well_controls_iset_type ( struct WellControls *  ctrls,
int  control_index,
enum WellControlType  type 
)
void well_controls_iset_vfp ( struct WellControls *  ctrl,
int  control_index,
int  vfp 
)
void well_controls_open_well ( struct WellControls *  ctrl)
void well_controls_set_current ( struct WellControls *  ctrl,
int  current 
)
void well_controls_stop_well ( struct WellControls *  ctrl)
bool well_controls_well_is_open ( const struct WellControls *  ctrl)
bool well_controls_well_is_stopped ( const struct WellControls *  ctrl)

Referenced by Opm::WellState::init().