This commit adds logic and structures for bringing in constant flux
aquifer objects-keyword AQUFLUX-from the restart file and forming
the requisite dynamic objects in the Schedule.
In particular, the 'RstAquifer' gets a new bare-bones representation
of these aquifer types and we add new constant flux aquifer objects
to the pertinent 'ScheduleState' when these exist. We also add this
aquifer type to 'data::Aquifers' in preparation of reinitialising
the simulator's aquifer container from the restart file. In
particular, this needs the total produced volume from the aquifer so
far.
Notably missing are
- Maximum gas-liquid ratio
- Maximum temperature
- Minimum reservoir fluid flow rate
- Follow-on well
We do not currently write those items to the restart file but will
extend the support as need arises.
In particular, make RstWell::segment() return 'reference-to-const'
instead of an object. While here, also rewrap the licence blocks
and reorder two data members. The latter is in preparation of
adding restart support for economic limits (WECON).
ERft - return false (not throw an exception) if function hasArray( .. ) is used with an
non-existing rftreport.
ERst - new memeber function hasArray ( .. )
The ESMRY file can be updated with more time step data in the time span between opening an ESMRY file
and loading actual summary data from the file. This can happen if the ESMRY is generated by an active
run. Length of summary vectors extracted will be equal to number of time steps on disk when the file was
first opened (with the constructor).
This commit introduces new helper functions
int EclIO::combineSummaryNumbers(int, int)
tuple<int, int> EclIO::splitSummaryNumber(int)
that know about the relation
combined = n1 + 32768*(n2 + 10)
This relation is typically used to combine one-based region IDs for
inter-region flows into a single 'NUMS' entry in the summary file.
This commit hooks the new RstNetwork object into the restart feature
of the main Schedule object. We form ExtNetwork Schedule subobjects
if there are active branches and nodes in the restart file.
This commit adds a new helper class, RstNetwork, that loads the raw
data representing the extended network model from restart vectors
IBRAN, INODE, RNODE, and ZNODE. We support loading the information
that is currently output to those restart vectors, but those do not
include every option supported by the input keywords BRANPROP and
NODEPROP.
The RstNetwork type supports querying whether or not the extended
network model is active and, if so, to get iterable collections of
branches and nodes that are geared towards constructing ExtNetwork
objects.
this means getting rid of the Opm::filesystem namespace
and directly using std::filesystem, as well as dropping
some of the compat code for the tr filesystem.
we still need the FileSystem.hpp/cpp files though as unique_path
is not part of std::filesystem.