This commit internalises the TOLCRIT keyword into the EclipseState
for subsequent use in determining critical saturations when
processing saturation function keywords such as SGOF and SOF3.
Specifically, we add a new type
Opm::SatFuncControls
that, at present, stores only the TOLCRIT data item (defaulted to
the keyword's default value). Client code can then retrieve the
value by calling the
SatFuncControls::minimumRelpermMobilityThreshold()
member function.
Add a new data member of this type to the Opm::Runspec class so that
we complete the chain from EclipseState, and a few simple unit tests
to exercise the expected functionality.
Capture the maximum number of segmented wells, the maximum number of
segments per well, and the maximum number of lateral branches per
(segmented) well.
These maximum sizes are needed to correctly define portions of the
contents of the INTEHEAD vector in a restart step.
Capture the maximum number of connections/perforations per well, the
maximum number of wells (or sub-groups) per well/node group, and the
maximum number of well/node groups in the field.
These maximum sizes are needed to correctly define the portions of
the contents of the INTEHEAD vector in a restart step.
this is just like the solvent "phase" and the polymer "phase". Since
IMO this is a bit awkward, the Phases class should possibly be renamed to
something like "ConservedQuantities".
1. Removed Tabdims(int,int,int, ....) constructor and added
Tabdims(Deck) constructor.
2. Added Tabdims member to Runspec( ) object.
3. Changed std_shared_ptr<Tabdims> to Tabdims member in TableManager.
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.