In particular, add more unit testing and give names to a number of
index constants.
Thanks to [at]blattms for reviewing the initial version of this
patch.
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.
With this commit the IWEL[ActWCtrl] is assigned a value independently of the
wells OPEN / SHUT status.
With this PR the index enum value Status is used instead of the previously used
item11. Also numerical constants are introduced for eclipse status values for
Shut, Stop, Open and Auto.
corrections to iwel[10] open/shut flag
further corrections SWEL for handling udq-restarts correctly
further changes to get correct SWEL in ECL-Restart file
added comment to clarify change
correction to group sequence and group controls for EclRST-file
changes to correct IGRP[NWGMAX+5]
corrected compile errors/warnings
further minor code corrections
initial changes to include group current Prod/inj Constraint in summary file
further changes to currentsStatusGroupControl to Summary output
further corrections and additions of Field current controls
further corrections for IGRP
minor corrections to code style
corrections for tests
changes to correct test_AggregateWellData
a few more initial changes for next version of igrp/sgrp
changes to igrp & sgrp according to tests
changes to handle special conditions at report step 0
corrections due to changes in Summary.cpp
changes to improve code quality and robustness
Add default value to igrp[nwgmax+5]
corrections and code improvements base on testing
corrections to handling of GCONINJE
further corrections for IGRP
even further corrections IGRP
changes to correct SGRP
correction to IGRP defaults
corrections to SWEL and IGRP
further corrections for IGRP
removed some comments
This commit adds support for saving and restoring a well's THP
quantitiy. We put the THP into the summary facility's list of
"required restart quantities" and pick up the value converted to
output units from the SummaryState.
On restart we restore the THP value to internal (SI) units and
transport the value to the simulator in data::Well::thp. While
here, also add the THP value to the RstWell object although
currently not strictly needed in that context.
This commit identifies vector items in XWEL and XGRP that hold guide
rate values at the well and group levels, and adds functionality to
output those values to the restart file. We do not identify such
value at the FIELD level. As with other summary-like quantities, we
expect to pick up the fully converted values from a SummaryState
object.
Calculating and storing the guide rate quantities in SummaryState is
the subject of future work.
This commit introduces a special case for the restart file writing
code. In particular we no longer write dynamic data vectors (e.g.,
*WEL, *GRP, *CON) to the restart file if we're being asked to output
the initial condition (i.e., report step/sequence number 0).
Add the report step as a new explicit parameter to createInteHEAD()
instead of inferring this value from the "sim_step" and output
dynamic sizes as zero for report_step=0. While here, also correct
an omission from earlier commit 7986e99e. We must ensure that the
maximum number of wells in the field (intehead[163]) is at least as
large as the current number of active wells (intehead[16]).
Update "intehead" test to account for report_step being passed
directly as an argument to InteHEAD::stepParam().
This commit adds support for persisting the *VIT cumulative summary
vector at the well, group, and field levels in the simulation
restart files. Connection level currently not supported.
- Change SummaryState::add() -> SummaryState::update(), the
SummaryState::update() method is semantically aware of totals.
- Add an internal variable to the SummaryState class to keep track of the
elapsed simulation time.
This commit removes the restriction that cumulative totals are not
output in the case of creating OPM Extended Restart files. There
was a reason why we did not do this when the new restart facility
was introduced, but that reason no longer applies.
This commit refines our understanding of IWEL items relating to well
constraints. In particular Item 8 is the well's active control mode
as determined by the simulator from dynamic state variables. On the
other hand, Item 16 is the constraint that is requested in the
simulation run input for prediction wells (keywords WCONINJE,
WCONPROD) while Item 50 is the requested constraint for wells
controlled by observed rates (WCONINJH, WCONHIST).
Special Note: This commit outputs the requested control mode to Item
8 and will need an update later once the simulator becomes aware of
the distinction.
This commit adds support for saving and restoring cumulative
production quantities like WOPTH, GWPTH, FGPTH, GGITH, and WWITH.
While here, also cater to the case of wells alternating between
injecting gas and injecting water. This means that we'll save and
restore cumulative gas/water injection for all injectors,
irrespective of current injecting phase.
Update unit tests accordingly.