Conversation
The master's summary for its master groups (and their ancestors and FIELD) did not add up to the slaves' summaries: - Lift gas, potentials, history rates and the numbers of flowing wells were 0. Let the slave sum these over the wells below each slave group, as its group summary vectors are summed, and send them with the production and injection data. The master passes them to the summary in collectGroupRatesForSummary(). - The rates sent at the end of a sync step, which the master uses for its summary and for its own substeps until the next sync step, were the slave's group rates of the NUPCOL well state. That state is frozen after the first NUPCOL Newton iterations, so after a longer step the rates differed from the converged well rates. NUPCOL stabilises the Newton iterations of a step; at the end of the sync step there is nothing left to stabilise. Recompute the slave's group rates from the converged well state before that send (new BlackoilWellModelGeneric::updateGroupRatesFromWellState()). The data sent at the start of a sync step is computed in the first Newton iteration, where the NUPCOL well state is the current one, and the data sent in the network iterations within the step keeps the NUPCOL behaviour. Requires the corresponding opm-common change (data::ReservoirCouplingGroupRates). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
Probably still not the complete list, but at least it syncs all rates we have in opm-tests/rescoup |
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Prediction-mode injection history incorrectly reports scheduled targets instead of simulated rates.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Extends reservoir-coupling communication so master summaries include slave-group quantities and converged rates.
Changes:
- Collects and communicates potentials, history rates, lift gas, and flowing-well counts.
- Recomputes group rates from converged well states.
- Supplies expanded data to master summary evaluation.
| File | Description |
|---|---|
RescoupSendSlaveGroupData.hpp |
Declares summary-data collection helpers. |
RescoupSendSlaveGroupData.cpp |
Collects slave well-summary quantities. |
BlackoilWellModelRescoup_impl.hpp |
Refreshes rates before the final send. |
BlackoilWellModelGeneric.hpp |
Exposes converged-rate recomputation. |
BlackoilWellModelGeneric.cpp |
Implements reusable group-rate updates. |
ReservoirCouplingMpiTraits.hpp |
Extends MPI payload definitions. |
ReservoirCouplingMasterReportStep.cpp |
Transfers received quantities into summaries. |
ReservoirCoupling.hpp |
Expands slave-group data structures. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
totto82
marked this pull request as ready for review
October 2, 2026 14:03
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The master's summary for its master groups (and their ancestors and FIELD) did not add up to the slaves' summaries:
Requires the corresponding opm-common change
OPM/opm-common#5424