This commit introduces a new helper facility,
data::InterRegFlowMap
that knows how to interpret region IDs. It is a simple wrapper
around a common CSR representation of (source, destination) region
ID pairs with the additional feature that the element type of the
connection is a linear sequence values of arithmetic type. We've
initially elected to make this sequence out of 'float' in order to
conserve memory since we expect to do little arithmetic to the
sequence itself outside of compression and parallel communication.
Client code will be of two primary categories
1. Producing side which inserts flow rates from individual
connections, compresses the result when done, and communicates
the results to one or more parallel I/O ranks
2. Consuming side, typically on an I/O rank, which merges the
contributions from multiple source ranks and extracts values
pertaining inter-region flows for purpose of outputting time
series data to a summary file.
The first case will create and populate 'FlowRates' and add these
into the container using the 'addConnection' function and finally
call 'compress' when complete. Consumers will then use member
function 'getInterRegFlows' to extract a signed view of flow rate
values associated to a particular region ID pair (nullopt if no such
pair is registered).
This commit introduces a wrapper for a linear subrange of
consecutive elements of an arithmetic type that imposes an ordering
of the elements when treated as directional component surface flow
rates. The wrapper distinguishes negative from positive flow rate
contributions and tracks those separately. This is a building block
for accounting for the inter-region flows in a parallel context.
This commit ensures that the field, group, and well level cumulative
production curves of solution/free oil and gas are continuous in a
restarted simulation run.
Thanks to Torbjørn Skille for identifying the appropriate locations
in XGRP/XWEL for outputting these items.
corrections to intehead for netbalan data plus improvements createdoubhead
simplification of code due to changes in master
correction to default value for NETBALAN PRESSURE_CONVERGENCE_LIMIT
In particular, add named items for cumulative production and
injection in the XCON array. These are needed in order to generate
continuous connection-level curves in restarted runs.
While here, also add a named item for the well-level cumulative oil
injection quantity.
- command line option --enable-esmry, default = false
- complete re-write of esmry file for every time step
Updating of class ESmry
- remove automatic loading from ESMRY
Report steps do not influence the SUMTHIN intervals and the special
value
SUMTHIN
0.0 /
turns off the "thinning" process. This refactoring introduces a new
helper variable, sumthin_active_, which caches whether SUMTHIN is
active (i.e., exists and has strictly positive value).
While here, also ensure that the ministep IDs have non-unit steps
when SUMTHIN ends up skipping an output event.
This commit adds a new helper class,
Opm::data::TypeSpecificData
which holds type-specific sub-structures for Carter-Tracy,
Fetkovich, and Numerical aquifers. We implement this facility in
terms of a std::variant<> of simple structures. In turn, use the
type-specific data for numerical aquifers to fill in the initial
aquifer cell pressures where not available in the input data.