Conflicts:
Makefile.am
opm/core/fluid/BlackoilPropertiesFromDeck.hpp
opm/core/fluid/SaturationPropsFromDeck.cpp
opm/core/fluid/SaturationPropsFromDeck.hpp
opm/core/fluid/blackoil/BlackoilPvtProperties.cpp
opm/core/fluid/blackoil/BlackoilPvtProperties.hpp
opm/core/fluid/blackoil/SinglePvtDead.cpp
This merge combines three more-or-less orthogonal features
for saturation tables: the option to use StoneII or Simple
three-phase behaviour, the option to fit a spline or not,
and finally setting the number of samples used (if spline
fitting).
Interfaces have changed, the most top-level one being
that BlackoilPropertiesFromDeck::init() now also takes
a ParameterGroup argument.
Introduced a simple fluid which has no problem with strange black oil behavior.
Intended for testing, but for now it is used in SaturationPropsFromDeck.
Recall that the class that used to be called SinglePvtDead has
been renamed to SinglePvtDeadSpline. If 'props_use_spline' is true,
that class is used (this is the default), which makes a monotone
spline that is uniformly, densely sampled. The new class simply
uses linear interpolation in the input tables.
This is a change from taking a vector containing the mapping to
deck-consistent logical cartesian indices. The mapping is contained
in the UnstructuredGrid::global_cell member, and may be null. The
change therefore saves the overhead of constructing a vector as a
copy of the data in the grid or (if null) as an identity mapping.
This is done to reduce risk of misuse, considering two cases:
- These functions are often called with a single data point,
making the thread setup and teardown time prohibitively expensive.
- This may conflict with higher-level use of OpenMP.
- These classes were imported (copied) from the dune-porsol repository,
and copies remain there for the time being.
- Some of the black oil fluid classes that are in opm-core, such as the
SinglePvt* classes, are direct descendants of the Miscibility* classes
that have been removed.
- At some point, we may modify dune-porsol to use the new fluid interfaces
from opm-core, but for now we keep using the existing code as-is.