Repository navigation
Conversation
Both solvers accumulated the periodic volume and the number of neighbors on the same geometry, the heat solver now does it only without a flow solver. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013UkNcoCEH8nFNrHWzhJCar
The periodic communication adds the neighbors of the periodic match to the owned points only, the halo copies kept the old count, which is used by the centered schemes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013UkNcoCEH8nFNrHWzhJCar
The division by the pressure was applied to the running maximum instead of the pressure difference of each edge. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013UkNcoCEH8nFNrHWzhJCar
Test casesFiles (configurations, histories, meshes, statistics, scripts) for each case: periodicBoundaries/counts. 2 MPI ranks, "develop" = 1. Flow with the weakly coupled heat equation: periodic pin array with a body force (mesh of
New test 2. Neighbors of the halo points: the existing test The folder 3. MSW sensor: only visible with triangles at the periodic boundary and a strong pressure jump there. Existing testsUnchanged history files, develop against this PR: Additional tests (Oct 7)Reproducers, configurations, numeric logs and scripts: stencils. Develop =
This extends the original tests above. General intersecting rotational pairs and full-suite solution/reference effects remain pending. Combined release checks: serial and OpenMP2 pass 10 cases / 3175 assertions; partitioned MPI2 and MPI2×OpenMP2 pass on both ranks (2334 / 2238 assertions). These are combined-source checks, not standalone builds of every branch. Complete branch CI and full regression/reference checks remain pending. |


Proposed Changes
Periodic geometry was counted twice with weak heat, halo neighbor counts were stale, and intersecting or one-cell periodic directions lost stencil contributions. This PR corrects the volume/count bookkeeping and completes the affected sensors, Laplacians and least-squares stencils.
The geometry bookkeeping prevents the weak heat solver from adding periodic geometry twice, refresh halo neighbor counts and correct the MSW pressure sensor. Stencil communication completes counts, sensors, Laplacians and least-squares stencils at intersecting periodic pairs using shared-face weights. It also inherits boundary flags on coarse nodes and preserves opposite-face neighbors in a one-cell periodic direction.
Tests cover two/three translated pairs, diagonal edges, compressible/incompressible JST, MSW, primitive least squares, coarse flags and a one-cell BOX. The
inc_periodic_weak_heatregression checks flow/heat consistency. The existing MPIsbs_backward_stepreference change is explained in the testcase comment; further full-suite reference impact remains to be checked. General intersecting rotational pairs still need solution-level validation.Validation of the combined periodic source passes serial, partitioned MPI2, OpenMP2 and MPI2×OpenMP2 (10 cases / 3175 serial assertions). Individual branch CI and complete regression/reference checks are pending. Test configurations, meshes, logs and before/after values are in the testcase comment. New regression references are local x86 values and need CI confirmation.
Related Work
PR Checklist