Separate well connections (typically static) from well controls
(often dynamically changing throughout simulation).
This commit is contained in:
parent
6a1b45fda4
commit
d96229619e
33
well.h
33
well.h
@ -1,33 +1,20 @@
|
|||||||
#ifndef WELL_H_INCLUDED
|
#ifndef WELL_H_INCLUDED
|
||||||
#define WELL_H_INCLUDED
|
#define WELL_H_INCLUDED
|
||||||
|
|
||||||
enum well_type { INJECTOR, PRODUCER };
|
enum well_type { INJECTOR, PRODUCER };
|
||||||
enum well_control_type { BHP , RATE };
|
enum well_control { BHP , RATE };
|
||||||
|
|
||||||
#define WELL_DESCRIPTOR \
|
|
||||||
int number_of_wells; \
|
|
||||||
\
|
|
||||||
enum well_type *type; \
|
|
||||||
\
|
|
||||||
enum well_control_type *control_type; \
|
|
||||||
double *target;
|
|
||||||
|
|
||||||
#define WELL_TOPOLOGY \
|
|
||||||
int *well_connpos; \
|
|
||||||
int *well_cells;
|
|
||||||
|
|
||||||
#define WELL_CONNECTION_DATA \
|
|
||||||
double *WI; \
|
|
||||||
double *depth;
|
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
WELL_DESCRIPTOR
|
int number_of_wells;
|
||||||
WELL_TOPOLOGY
|
int *well_connpos;
|
||||||
WELL_CONNECTION_DATA
|
int *well_cells;
|
||||||
} well_t;
|
} well_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
enum well_type *type;
|
||||||
|
enum well_control *ctrl;
|
||||||
|
double *target;
|
||||||
|
} well_control_t;
|
||||||
|
|
||||||
int
|
int
|
||||||
allocate_cell_wells(int nc, well_t *W, int **cwpos, int **cwells);
|
allocate_cell_wells(int nc, well_t *W, int **cwpos, int **cwells);
|
||||||
|
Loading…
Reference in New Issue
Block a user