Note that this is quite strange since opm-core is upstream and not downstream
from opm-grid. However, when this file is used from opm-autodiff the macro is used.
Rename the the meaning for shut as whats used in Eclipse.
STOP: Well stopped off above the formation. I.e. allow for flow in the
well.
SHUT: Well completely isolated from the formation. The well is removed
from the well list.
The functions
multiplyFaceNormalWithArea
maybeFreeFaceNormal
operating on Dune::CpGrids must not be implemented unless they are
actually used. Otherwise we get link failures if (e.g.,)
opm-autodiff is being built without CpGrid support.
Hide the definitions behind "#ifdef HAVE_DUNE_CORNERPOINT".
At least for Cpgrid the face normal is normalized which has to be taken into
account in tpfa_htrans_compute.
We therefore multiply the facenormal with the face area in cases (read Cpgrid)
where this needed.
Imcrementation should be done at the end of the loop body as otherwise
the first cell is skipped and we are out of bounds for the last iteration.
This patch move the increment to the correct location.
The WellsManager class handles INJECTORS by assigning a phase
distribution (W->ctrls[i]->distr) that coincides with the injected
fluid for the corresponding well (e.g., {1,0,0} for WATER injectors in
a three-phase WATER/OIL/GAS simulation). This, however, meshes poorly
with the restriction that all phase components must be ONE in the case
of wells constrained by total reservoir volume flow targets (RESV)
that was introduced in commit b7d1634.
This change-set limits the restriction on phase distributions to
PRODUCERs only and is a tentative solution to GitHub PR #360.
We previously ignored effects of gravity in the calculation of the well
connection fluxes (i.e., perforation fluxes). This commit includes
those effects where appropriate.
The CompressibleTpfa class always passes a non-null `forces->wells'
object to the constructor, assembly, and reconstruction routines but
uses ``forces->wells->W == 0'' to signify a simulation model without
wells. This is, arguably, an error in the CompressibleTpfa class but
one that does not require a lot of work to support in the
cfs_tpfa_residual module.
Insert the extra tests in an effort to honour the ``liberal in what you
accept, strict in what you produce'' principle.
The singularity flag is true if there are no pressure conditions and no
compressibility (so the absolute values of the pressure solution will be
arbitrary).
Notably:
* Replace all remaining <tab>s with (8) spaces.
* Use post-increment for all counters.
* Insert a number of blank lines to highlight important groups.