Pass eclGridProperties from EclipseState to Completions in order to set
default saturation table. Most changes are due to interface change in
Schedule(...)
There has never really been a natural home for initial properties that
aren't InitConfig, meaning information such as phases in the deck and
other runspec information hasn't had a natural home.
This patch introduces the Runspec object on EclipseState for phase
information and other similar properties that are interesting and static
for when setting up parameters etc. for simulation, that aren't all that
interesting once simulation starts.
An additional benefit is a leaner implementation for the phase enum and
some stricter semantics via enum classes.
RestartConfig is a first-class citizen of EclipseConfig rather than
being embedded in IOConfig. This narrows IOConfig's responsibility to
only that of paths file system definitions and interactions, and
RestartConfig to what and when to output the restart file.
* Added a test to ensure DIMENS/SPECGRID are handled consistently
* Added GridDims.cpp source file and moved code from header
* Added GridDims.(c|h)pp to CMakeLists
* Removed use of MessageContainer in GridDims, updated calls
* Made function getDims(keyword) inline readDims
* Reformatted GridDimens
* Fixed a Section to Section& bug that occurred after removing ptr's
* Renamed initFaults to addFaultFace
* Organized imports in EclipseState and Eclipse3DProperties
* Fixed 2013 to 2016 error in header in E3DP
* This class contains the following State methods
** getSchedule
** getIOConfig
** getInitConfig
** getSimulationConfig
** getSummaryConfig
* For better decoupling
* For future, ease the shared_ptr-ref transition
Break the cyclic dependency between IOConfig and Schedule where Schedule
updated parts of IOConfig. Instead, IOConfig completely builds its own
restart config.
Tests are updated to reflect this.
getDeckUnitSystem largely implies getting an *identifier* to the unit
system used in the deck, where the actual object returned has conversion
features to/from SI as well. Augment EclipseState's interface with the
simpler getUnits name.
With the introduction of Parser::parse methods and the relaxed lifetime
requirement of Deck (i.e. users no longer need to keep a Deck instance
around for EclipseState to be considered valid), the UnitSystem cannot
be a reference, but must rather be stored.
Since the unit system is immutable once the deck is read this is
unproblematic. It's also small and cheap to copy.