Add includeZipper option to mphys_get_triangulated_surface - #406
Open
JavierAlbaM wants to merge 1 commit into
Open
Add includeZipper option to mphys_get_triangulated_surface#406JavierAlbaM wants to merge 1 commit into
JavierAlbaM wants to merge 1 commit into
Conversation
The mphys triangulated-surface helper always returned the zippered wall surface (includeZipper=True). For overset meshes that surface depends on the overset hole-cut/zipper, which is partition-dependent: at some MPI rank counts wall faces near overset overlaps are blanked and not recovered for a single-family request, leaving holes in the gathered surface. When the surface is used as a geometry reference (e.g. DVConstraints thickness/volume constraint projections) this caused projection failures that appeared or disappeared depending only on the processor count. Expose includeZipper (default True, so no behaviour change) on mphys_get_triangulated_surface / _getTriangulatedMeshSurface and the ADflowMeshGroup pass-through, forwarding it to both getSurfaceCoordinates and getSurfaceConnectivity so callers can request the raw, processor-count independent wall surface with includeZipper=False. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
JavierAlbaM
requested review from
A-CGray,
ArshSaja,
anilyil and
sanjan98
and removed request for
ArshSaja and
anilyil
June 23, 2026 19:09
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.
Purpose
I started having issues with the thickness constraint projection with a geometry that was working before when running on a specific number of processors, but not with others (for example, the code worked for 24 cores but not for 20). I saw that the triangulated mesh surface returned by ADFlow when using for example 20 cores had a big gap that caused the constraint projection to fail there.
The mphys triangulated-surface helper always returned the zippered wall surface (includeZipper=True). For overset meshes that surface depends on the overset hole-cut/zipper, which is partition-dependent: at some MPI rank counts wall faces near overset overlaps are blanked and not recovered for a single-family request, leaving holes in the gathered surface.
When the surface is used as a geometry reference (e.g. DVConstraints thickness/volume constraint projections) this caused projection failures that appeared or disappeared depending only on the processor count.
Expose includeZipper (default True, so no behaviour change) on mphys_get_triangulated_surface / _getTriangulatedMeshSurface and the ADflowMeshGroup pass-through, forwarding it to both getSurfaceCoordinates and getSurfaceConnectivity so callers can request the raw, processor-count independent wall surface with includeZipper=False.
Expected time until merged
Not urgent, 2 weeks
Type of change
Testing
Checklist
ruff checkandruff formatto make sure the Python code adheres to PEP-8 and is consistently formattedfprettifyor C/C++ code withclang-formatas applicable