This is a pure API change. The TOLCRIT value is not yet used as
part of determining the critical saturations.
While here, also add a unit test for getRawTableEndPoints() and
update the existing sat-func property unit tests to explicitly pass
TOLCRIT = 0 in preparation of adding actual TOLCRIT support.
This commit requires that the callers of satfunc::init() calculate
the raw table end-points. That, in turn, enables callers to cache
those end-point values to avoid repeated calculations.
Add a new member, m_rtep, to FieldProps to act as such a cache to
take advantage of the new ability.
This is in any case needed to calculate correct KRGR default values
in runs using family I saturation function keywords (S*OF) and also
removes the need to apply the special 'subtract_swl' operation in
this case. Overall this is a simplification of the code since we
now have all saturation end-points available when initializing
saturation function field properties.
This commit passes the run's notion of its active phases, an object
of type Opm::Phases, through to the initialisation layer for the
saturation functions' scaling properties. In particular, this
allows us to discriminate between the phases and to not index into
tables or properties that would not be appropriate (e.g., maximum
gas saturation (SGU) in a simulation run without active gas).
Moreover, we now have enough information to know to look for SOF2 in
two-phase run using family II saturation function keywords. These
changes are necessary in order to extend Flow's support for the
FILLEPS output request to two-phase runs.
- The lowest level get method is called init_get() - this will unconditionally
create new keyword. The init_get() method is private.
- Introduced FieldDataManager which keeps track of data pointer and status.
- Refactored get( ) implementation