The 'base' arrays are compatible in both name and interpretation to
those emitted in the 'SOLUTION' section from other simulators
whereas the 'extended' arrays are specific to Flow. Tag extended
arrays as OPM_EXTENDED instead of AUXILIARY as the latter is
deprecated and will be removed at some point in the future.
The AUXILIARY category is deprecated and will be removed at some
point. As of right now, the OPM_EXTENDED category fills the same
role but with a more descriptive name.
In particular the DENx (x = G, O, W) keys request that the G,O,W
phase densities per cell be output at a restart step. These are
the per-phase counterparts to the existing 'DEN' key.
Mostly to split long lines and to add a few blank lines for
readability. While here, also apply 'const' in a few locations and
flip the order of a conditional to (potentially) save a bit of work.
This is in preparation of revising the output destination categories
of numerous 3D result vectors.
Commit 6d3da3d2e introduced the notion of a "dynamic", pressure
dependent pore-volume and switched the 'PoreVolume' aggregates to
reference condition evaluation for output to the 'PORV' field in the
.PRT file. We did however fail to update all existing uses of
'PoreVolume' which introduced an inconsistency. In particular, for
simulation models without hydrocarbons-e.g., a single-phase water
run-the numerator of the volume weighted average would include
pressure effects through the rock compressibility but the
denominator would not.
Thanks to Edmund Stephens for discovering the issue and providing an
example model for analysing the underlying issue.
Adding explicit input specification of water-gas ratio (RVW) and RVW output plus simulator gas-water system with salt precipitation and water evaporation for
This commit switches the debug file's records of "failed" bubble and
dew point pressure calculations from a non-unique list of linearised
Cartesian indices to a unique list of (1-based) (I,J,K) tuples.
This format is hopefully easier to read for humans.
Thanks to [at]blattms for suggesting the gatherv() helper function
which greatly simplifies the communication pattern.
Example from selected time steps in a real field case with Cartesian
dimensions 137-by-236-by-58:
- Original
Finding the dew point pressure failed for 2 cells [1467066, 1467066]
Finding the dew point pressure failed for 8 cells [1467063, 1467063, 1467066, 1467066, 1467066, 1467066, 1467066, 1467066]
- This commit
Finding the dew point pressure failed for 1 cell [(71,89,46)]
Finding the dew point pressure failed for 2 cells [(68,89,46), (71,89,46)]
This commit adds a new grid traversal that computes fluxes-presently
surface level component fluxes-for all bulk connections on the
current MPI rank. We aggregate those fluxes, if applicable, into a
container for inter-region flows, but this support could be extended
to capturing the full 3D vector flow rates for restart output if
needed.
The Flow specific PORV_RC and TMULT_RC solution arrays were tagged
as ECLIPSE compatible. Mark them as Flow specific so they do not
cause restart problems in the ECLIPSE compatible case.
We decide whether to write tracer concentrations based on the size
of the tracerConcentrations_ container. Hence we need to make sure
that its size is zero after the concentrations have been written
and now resize the container to reflect that.
Before this change only the container inside tracerConcentrations_
were moved (and hence made empty) and next tiem we passed empty
containers to the output writing functions (which in parallel
triggered an assertion).