Exercises the initializers for SW{L,CR,U}, SO{W,G}CR, SG{L,CR,U}, as
well as the function values KRW, KRWR, KRG, KRGR, KRO, KRORW, KRORG
and capillary pressure function values PCW and PCG.
Example data from region one (1) of
opm-tests/model1/include/sattab_basemod1.sattab
Example phrased both as family I (S*OF) and as family II (S*FN, SOF3).
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 reimplements the findKrgr helper function in terms of
the RawTableEndPoints aggregate. In particular, this commit aims to
underscore the fact that KRGR is the relative permeability of gas at
the displacing saturation
1 - Socr - Swco
This fact is hopefully more apparent in this revised than the
existing implementation since we now rely explicitly on evaluating
the 'KrgColumn' at an index derived from looking up that saturation
value in the pertinent saturation column.
This commit reimplements the findKrwr helper function in terms of
the RawTableEndPoints aggregate. In particular, this commit aims to
underscore the fact that KRWR is the relative permeability of water
at the displacing saturation
1 - Socr - Sgco
This fact is hopefully more apparent in this revised than the
existing implementation since we now rely explicitly on evaluating
the 'KrwColumn' at an index derived from looking up that saturation
value in the pertinent saturation column.
This commit reimplements the findKrorw helper function in terms of
the RawTableEndPoints aggregate. In particular, this commit aims to
underscore the fact that KRORW is the relative permeability of oil
in the Oil/Water system at the displacing saturation
1 - Swcr - Sgco
This fact is hopefully more apparent in this revised than the
existing implementation since we now rely explicitly on evaluating
the 'KrowColumn' at an index derived from looking up that saturation
value in the pertinent saturation column.
This commit reimplements the findKrorg helper function in terms of
the RawTableEndPoints aggregate. In particular, this commit aims to
underscore the fact that KRORG is the relative permeability of oil
in the Oil/Gas system at the displacing saturation
1 - Sgcr - Swco
This fact is hopefully more apparent in this revised than the
existing implementation since we now rely explicitly on evaluating
the 'KrogColumn' at an index derived from looking up that saturation
value in the pertinent saturation column.
This is in preparation of fixing the initializers for the KR*R
properties. The default values here generally depend on critical
and connate saturations of other phases extracted from the raw input
table values. This commit therefore creates an aggregate structure
RawTableEndPoints
that collects the connate gas and water saturations, the full set of
critical saturations, and the maximum gas and water saturations from
all input tables (meaning for all regions and drainage/imbibition
regime designators). Each *Endpoint() function furthermore gets a
new parameter of this type to preserve a uniform signature.
Note that we currently calculate the complete set of these endpoints
for each call to satfunc::init(), but may choose to expose this
structure to the caller at a later time in order to reduce the
overhead of these repeated calculations.
The individual property initialization functions aren't used
directly anymore. Put them in an anonymous namespace in the
implementation file so that no client can take their address. This
is in preparation of adding TOLCRIT support.