Changes to BlackoilOutputWriter as mandated by the split and rewrite of
opm-output. Notable changes:
* BlackoilOutputWriter is no longer a child class of OutputWriter.
* Minor interface changes; writeTimeStep requires a Wells pointer
* restore requires a Wells* pointer
* VTK/Matlab support rewrites; no longer inherits OutputWriter
* WellStateFullyImplicitBlackoil::report added, to write its data to a
opm-output understood format
Relies on utility/Compat.hpp for quick conversion to the opm-output
defined formats.
Another polymer-specific overload of computeFractionalFlow()
has been added in support of this (this overload deals with
compressible properties.
Also added pressure normalization for situations with arbitrary
absolute pressure.
Using surface volume for injection rather than reservoir volume.
Chase change in class TransportModelCompressiblePolymer and
function computeInjectedProduced().
Also changed interface to computeInjectedProduced() to take state
rather than individual state variables.
They do this by using the class PolymerInflowFromDeck
instead of PolymerInflowBasic if there is a WPOLYMER
keyword somewhere in the deck epochs. If there is no
WPOLYMER, the parameters 'poly_start_days' etc. will
be used to construct an instance of PolymerInflowBasic
instead.
Before, it was a single number for the whole domain. It could vary
with time, though.
Simulator behaviour should be identical before and after this commit.
This touches the classes TransportModel*Polymer, Simulator*Polymer,
and the computeInjectedProduced() functions. The PolymerInflow class
and its usage has been replaced with PolymerInflowInterface, and
a subclass PolymerInflowBasic has been created which provides the
old behaviour (using parameters poly_start_days, poly_end_days and
poly_amount).
Now reports surface volumes for water and oil, instead of useless
(for mass balance) reservoir volumes. Also makes the case with
multiple transport steps more accurate.