Skip to content

[FXC-5886] Remap symmetry plane to user geometry#1947

Open
alexxu-flex wants to merge 18 commits intomainfrom
alexxu/symmetry-remap
Open

[FXC-5886] Remap symmetry plane to user geometry#1947
alexxu-flex wants to merge 18 commits intomainfrom
alexxu/symmetry-remap

Conversation

@alexxu-flex
Copy link
Copy Markdown
Collaborator

@alexxu-flex alexxu-flex commented Mar 31, 2026

For half-body user defined farfield, allow the user to reference geometry["symmetry"] directly, instead of "farfield.symmetry_plane", when applicable.

Changes:

  • Clean up _will_be_deleted_by_mesher to no longer delete for UDF
  • Validation time remap_symmetric_ghost_entity to replace ghost symmetry surface (both BC entity and ghost asset) with Surface(user's name). Called wherever symmetry_plane can be used (BoundaryBase, Refinement)
  • Do not add ghost "symmetric" in _collect_asset_boundary_entities if user has any symmetry surfaces
  • Multiple symmetry patches: can reference any; warn if their BCs differ; cannot reference farfield.symmetry_plane (which one is it referring to?)

Minor changes: shared find_user_symmetry_surfaces util, fix test json with center y!=0, rename _overlaps -> _lies_on, test_auto_farfield -> test_farfield

Testing: 7+ new unit tests, several existing unit tests, and a few integration tests confirm backwards compatibility and new interface both work correctly.


Note

Medium Risk
Changes core validation and boundary-collection behavior around symmetry surfaces for user-defined farfield, which could affect what entities are considered valid and how meshes are generated. Risk is mitigated by added unit tests but touches multiple validation paths and entity mutation.

Overview
Enables user-defined farfield half-body cases (GAI + beta mesher) to prefer an explicit y=0 geometry face over the legacy farfield.symmetry_plane ghost by remapping any referenced "symmetric" ghost entity to the single detected user symmetry Surface (and updating the cached ghost entity metadata to match).

Updates mesher-deletion/validation rules so user-defined farfield surfaces are not treated as deletable (except for being on the wrong half), avoids adding the "symmetric" ghost boundary when a user symmetry face exists, and adds a validation warning when multiple y=0 symmetry faces have conflicting BC types; includes doc/test fixture updates and several new unit tests covering remap/no-remap and multi-patch behavior.

Reviewed by Cursor Bugbot for commit 0eb215e. Bugbot is set up for automated code reviews on this repo. Configure here.

@alexxu-flex alexxu-flex marked this pull request as ready for review April 2, 2026 16:03
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0eb215e. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant