Skip to content

Conversation

@bmunguia
Copy link
Member

Proposed Changes

Fixes #2518.

Modify the logic in CGeometry::PreprocessPeriodicComms() to use unordered sets of point-marker pairs when determining number of points to communicate to each destination rank.

When counting points, the old logic just checked that the previous point was not the same as the current point, and when generating the list of points to be communicated, there was no check in place. In some cases, the old logic would lead to a segfault during preprocessing, such as the old result shown below for the isentropic vortex.

Before

vortex_parallel_old

After

vortex_parallel_new

PR Checklist

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • I used the pre-commit hook to prevent dirty commits and used pre-commit run --all to format old commits.
  • I have added a test case that demonstrates my contribution, if necessary.
  • I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.

@bigfooted
Copy link
Contributor

Hi Brian, can you add this testcase to the regression tests as well?

@bmunguia bmunguia merged commit 3b3f73e into develop Jun 26, 2025
34 of 35 checks passed
@bmunguia bmunguia deleted the fix_periodic_parallel branch June 26, 2025 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants