libmesh icon indicating copy to clipboard operation
libmesh copied to clipboard

Fix distributed periodic constraints bug

Open roystgnr opened this issue 4 years ago • 3 comments

I noticed some time ago that there was a regression in periodic boundary conditions on distributed mesh on some weird corner case (I could run libMesh "make check" on up to 20 procs, before triggering an assertion failure in one example with 21 procs), but I've only just now managed to track down the problem - when I reduced the amount of default ghosting libMesh does (to include side neighbors but not all point neighbors) I missed one bit of code that was still occasionally depending on seeing point neighbors.

roystgnr avatar Jun 01 '20 21:06 roystgnr

I can reproduce the failure here; it's definitely a real regression, if not due to this patch then triggered by this patch.

roystgnr avatar Jun 03 '20 19:06 roystgnr

Ouch. The regression appears to be merely triggered by this patch; the old code could hypothetically end up failing on corners with multiple periodic boundaries as well, if the element ids ended up being assigned in a particularly perverse way; we've just been lucky enough (hopefully!?!) not to see that.

In hindsight this probably should have been a fix or at least an assertion rather than a comment...

                  // FIXME: This code doesn't yet properly handle
                  // cases where multiple different periodic BCs
                  // intersect.

roystgnr avatar Jun 05 '20 16:06 roystgnr

This PR has been marked "do not merge" since we are no longer accepting PRs into the master branch. All new PRs should be made on the devel branch instead. Once this PR's target branch has been updated to devel, the "do not merge" label will be removed.

jwpeterson avatar Mar 02 '22 20:03 jwpeterson