Repository navigation
Broadcast periodic_bc to all simulation ranks - #2122
Draft
sbryngelson wants to merge 1 commit into
Draft
sbryngelson wants to merge 1 commit into
sbryngelson wants to merge 1 commit into
Conversation
periodic_bc is set from the global bc_[xyz] values in s_read_input_file, which only rank 0 runs, and was never broadcast. s_mpi_sendrecv_particles reads it on every rank to decide whether to wrap Lagrangian bubble positions across periodic boundaries, so on every other rank it stayed .false. and bubbles leaving through a periodic face were never wrapped. Broadcast it next to bc_io. Computing it after the broadcast is not an option because domain decomposition overwrites the interior ranks' bc values with neighbor ids. pre_process and post_process have no periodic_bc. Verified on a 2-rank 2D Lagrangian bubble case with periodic x: rank 1 now holds periodic_bc = T F F (it held F F F before). Lagrange bubble tests pass.
sbryngelson
requested review from
danieljvickers
and removed request for
a team
November 3, 2026 03:26
Lines of Code
|
sbryngelson
marked this pull request as draft
November 3, 2026 03:39
|
Claude Code Review Head SHA: 20a5591 Files changed:
Findings: |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2122 +/- ##
=======================================
Coverage 61.90% 61.90%
=======================================
Files 86 86
Lines 22948 22949 +1
Branches 3386 3386
=======================================
+ Hits 14205 14206 +1
Misses 6229 6229
Partials 2514 2514 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
What
periodic_bcis set from the globalbc_[xyz]values ins_read_input_file, which only rank 0 runs, and was never broadcast.s_mpi_sendrecv_particlesreads it on every rank to decide whether to wrap Lagrangian bubble positions across periodic boundaries, so on every other rank it stayed.false.and bubbles leaving through a periodic face were never wrapped.Broadcast it next to
bc_io. Computing it after the broadcast is not an option because domain decomposition overwrites the interior ranks' bc values with neighbour ids. pre_process and post_process have noperiodic_bc.Verification
On a 2-rank 2D Lagrangian bubble case with periodic x, rank 1 now holds
periodic_bc = T F F(it heldF F Fbefore). Lagrange bubble tests pass.Testing. Built with GPU offload (OpenMP, AMD) and ran the full test suite with this fix and three other independent fixes applied together: 729 tests in 4 shards, 0 failures (three shards on MI300A, one on MI250X).
Prepared with Claude Code (AI-assisted); I reviewed the change and ran the tests.