Resolve "Time step restriction by boundary conditions differs between processors"
What does this MR do?
Communicate the minimal time step between all processors before computing the next time step in Richards and Transport model.
Following the philosophy that classes should be as encapsulated as possible, I decided against
TimeStepController communicating the minimal values internally. Both are currently not capable of doing so because the
GridView is never passed to them and I did not want to add that.
This fixes the issue for the specific case reported in #187 (closed).
Is there something that needs to be double checked?
- Is it fine that
TimeStepControllermay return different times on different processors? See explanation above.
- I tried adding a boundary condition change to the parallel reference tests. But the issue reported in #187 (closed) does not occur in this test, probably because the grid partition works out "just right". Should we still add the boundary condition change (currently, it's not committed) or leave the test as it is? Is there any other way to verify the new/correct behavior?
Can this MR be accepted?
- Implemented fix: Richards and Transport models communicate minimal time step internally
- Suggestion of different time step on each processor should yied a consisten model time step.
- Added/Updated documentation
- Pipeline passing
- Squash option set
- Delete branch option set
Added entry to
Assignee: If the Squash option is set, check/update the commit message right before merging!
Closes #187 (closed)