Skip to content

Conversation

@hakonhagland
Copy link
Contributor

The master-slave group data synchronization code in BlackoilWellModel::beginTimeStep() was executing on every internal substep within a larger "sync" timestep (as assigned by the master process so as not to overshoot any slave
report dates). This is incorrect because:

  1. The SubStepIteration loop typically splits a sync timestep into multiple smaller internal substeps for numerical stability. And/or a timestep might be chopped in case of convergence problems.
  2. After the first internal substep, master and slaves are at different simulation times and cannot exchange data correctly
  3. Repeated sync attempts would cause deadlocks or incorrect data

This fix adds an isFirstSubstepOfSyncTimestep() flag to track whether we are at the start of a coordinated "sync" timestep. The flag is:

  • Set to true before each SubStepIteration::run() call
  • Cleared to false after the first runSubStep_() returns.

@hakonhagland hakonhagland added the manual:irrelevant This PR is a minor fix and should not appear in the manual label Dec 26, 2025
@hakonhagland
Copy link
Contributor Author

jenkins build this please

@hakonhagland
Copy link
Contributor Author

jenkins build this serial please

The master-slave synchronization code in beginTimeStep() was executing
on every internal substep within a "sync" timestep. This is incorrect
because:

1. The SubStepIteration loop typically splits a sync timestep into
   multiple smaller internal substeps for numerical stability
2. After the first internal substep, master and slaves are at different
   simulation times and cannot exchange data correctly
3. Repeated sync attempts would cause deadlocks or incorrect data

This fix adds an isFirstSubstepOfSyncTimestep flag to track whether we
are at the start of a coordinated "sync" timestep. The flag is:
- Set to true before each SubStepIteration::run() call
- Cleared to false after the first runSubStep_() returns
@hakonhagland
Copy link
Contributor Author

jenkins build this please

@hakonhagland
Copy link
Contributor Author

jenkins build this serial please

1 similar comment
@blattms
Copy link
Member

blattms commented Jan 8, 2026

jenkins build this serial please

Copy link
Member

@blattms blattms left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved.
Just running jenkins again as the data is gone already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual:irrelevant This PR is a minor fix and should not appear in the manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants