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.
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 to improve consistency with other solvers, and relates
to the expression that is converted into a finite difference when
discretising:
(phi s) - (phi s)^0 = phi^0(s - s^0) + (phi - phi^0)s
^^^^^
The above marks the spot where we now use phi^0 instead of phi.
Also:
- solveGravity() interface changed to take surface volume as a parameter,
- gravity vector is now given in initGravity() instead of
solveGravity(), for consistency with the incompressible solver.
- Changed Wells constructor arg for SimulatorIncompTwophase to WellsManager.
- Insert checking code for well constrains (mostly copied from spu_2p.cpp).
Unrelated to the above changes.
- Added pressure normalization for incompressible case (from spu_2p.cpp)
Current status
--------------
Given vectors ZCORN, COORD and ACTNUM as well as the Cartesian
dimensions these vectors implicitly refer to, the code is
currently capable of
* Identify unique points along each pillar
* Assign point numbers for each point specified in ZCORN
* Compute face topology, i.e., the corners that define the geometry
of the faces as well as the cells that are connected through the face.
* Identify and compute intesections that occur in the processing of
face topology.
What remains is
* Handle the face geometry of boundary faces. (simple)
* Compute point coordinates of the final point list.
* Put all pieces together in a tidy manner.