Contingent upon passing non-NULL well_press and well_flux pointers in
the solution structure. The forces must be the same as the ones used
in assembling the system of linear equations.
All wells are represented, but BHP wells get trivial equations
(n*p=n*target). While here, stub out RESV assembly process.
BHP and perforation flux recovery is unimplemented at this time.
This is in anticipation of introducing additional structure members to
represent solution variables associated with wells whilst having the
compiler generate the appropriate null pointers to aid debugging.
Unfortunately, GCC warns about the standard "structure = { 0 }" idiom
under -Wmissing-field-initializers which is enabled by default under
"-Wextra".
A few restrictions apply:
* The bc->value is interpreted as an inflow *into* the connecting
cell. Outflow conditions must be specified using a negative
sign.
* We do not currently support general total flux conditions
(necessitates the introduction of additional degrees of freedom),
so bc->cond_pos[i+1]-bc->cond_pos[i] must be one (1) for all
BC_FLUX_TOTVOL conditions.
The trick of eliding explicit initialisers can only be use to zero an
array (or structure), not to copy an arbitrary initialiser to all
elements of the array.
Specifically, refine the representation to allow a boundary condition
to apply to a set of interfaces rather than just a single face. This
support is realised by the introduction of new interface
flow_conditions_append_multi().
Update all consumers of struct FlowBoundaryConditions to accommodate
the one-to-many boundary condition interface mapping in the process.
Specifically, replace the existing flowbc_t (that was densely
represented on each interface, including internal interface and
external no-flow interfaces) with a new structure given by
struct FlowBoundaryConditions
The semantics of this structure mirror those of "struct Wells" from
<opm/core/newwells.h>, but is currently mostly intended for simple,
incompressible flow purposes.
Update pressure solvers supporting boundary conditions to accommodate
the new boundary condition representation in the process.