This commit adds support for the GEFF, WEFF, and WEFFG summary
vectors that report the efficiency factors at the well (WEFAC) and
group (GEFAC) levels. WEFFG additionally accounts for efficiency
factors in a well's superior groups in the group tree.
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 a guard to the xGLIR accumulation procedure. In
particular, we do not accumulate anything unless the ALQ type is gas
rate. We do however output a well-level value if the ALQ type is
gas/liquid ratio. This guard requires passing the Schedule object
as part of the 'fn_args', so update the call sites accordingly.
- command line option --enable-esmry, default = false
- complete re-write of esmry file for every time step
Updating of class ESmry
- remove automatic loading from ESMRY
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 a new data member
Well::Status dynamicStatus
to the data::Well object. This member records the simulator's
notion of a well's open/shut/stop status and is especially needed to
support WECON-type status changes once the simulator maintains both
open and shut wells.
While here, also change multiple summary primitives to not look up
the same values repeatedly.
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 switches to getting the output files' connection
transmissibility factor from Opm::data::Connection instead of
Opm::Connection. This is in preparation for implementing the WELPI
feature, in which the CTFs are occasionally adjusted based on the
dynamic simulation state.
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 a level of indirection to the existing group-level
data (active controls and guiderates), and adds a new 'NodeData'
level to the 'data::' protocol for transporting values from the
simulator to the output layer.
Update all call sites and users accordingly.
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.
This commit adds a level of indirection to the current per-group
summary quantities that is directly assigned by the simulator. In
particular, introduce a new structure named
GroupData
that contains a 'GroupConstraints' object and make the per-group
values into 'map<string, GroupData>' rather than the current
'map<string, GroupConstraints>'. This is in preparation of adding
support for reporting group-level production/injection guiderates
(Gx[IP]GR) to the summary file.
Update tests and APIs accordingly.