This commit adds the glue code necessary to extract the pertinent
flow rate values from an inter-region flow rate map and then
accumulating those into the SummaryState. We multiply with the
timestep size if we're computing a cumulative total volume.
Add basic unit test for this part of Summary::eval().
This commit adds support for outputting the reservoir voidage volume
summary vectors CVPR (production rate), CVPT (cumulative production
total), CVIR (injection rate), and CVIT (cumulative injection total).
The simulator uses the 'data::Connection::reservoir_rate' member to
communicate these values, so add a special purpose evaluation
function to compute the requisite updates.
While here, also add 'CVPR' to the 'CONNECTION_PROBE'. This keyword
being missing looks to be an earlier oversight.
This commit adds support for outputting the productivity index of
a well's preferred phase at the well and connection levels to the
summary file (keywords 'WPI' and 'CPI').
Update unit tests accordingly.
This commit adds an evaluation function for the GPR summary vector.
We assume that the actual value is calculated elsewhere and passed
in unchanged from the caller of Summary::eval(). We therefore need
only convert the value to output units and hook this procedure up to
the table of known output functions.
Add a simple unit test for demonstration.
This commit adds support for outputting the guiderate summary
vectors
[GW][OGWV]PGR, [GW][GW]IGR
under the assumption that the values are fully calculated at another
level and that we therefore only need to extract the numerical
values and convert the rate units to output conventions. We assume
that such values are communicated to the summary output layer by
means of a 'GuideRateValue' object.
The assumption of values already being calculated leads to a small
change in the 'need_wells()' function. We're now able to exclude
guiderate values at the group level from those vectors that require
setting up a well vector. This is a (tiny) performance improvement.
Change polymer production output from volume -> mass
Polymer injection rates are read from the simulator and not computed based on the water rate and the polymer injection concentration given in the schedule
This commit switches the 'test_Summary' unit test to use class ESmry
for inspecting the values output to disk by 'out::Summary'. As a
consequence, we are not able to verify units of measure for the
parameters, at least not for the time being. Moreover, class ESmry
exclusively uses the "i,j,k" sub-key for block-related parameters so
switch those to reference the IJK identifiers.
Finally, as class ESmry currently does not support reading separate
(multiple) summary files, switch the input decks to generate unified
output.
- Use const reference to the dynamic state in handleWFOAM() and handleWPOLYMER().
- Throw if trying to set foam or polymer injection properties on a production well.
- Update some tests that failed due to the point above.
To be consistent with the general summary behaviour and more input
tolerant, 0.0 is returned when some phase, completion or well is
requested that isn't provided by the simulator.
Solves the issue discussed in https://github.com/OPM/opm-output/pull/122
and extends the test input deck to trigger this behaviour.