Skip to content

[Hotfix 25.9]: [FXC-7485] Bypass PorousJump interface check for farfield/CV overlapping face pairs#2031

Merged
benflexcompute merged 1 commit intorelease-candidate/25.9from
BenY/FXC-7485-porousjump-farfield-cv-interface
May 5, 2026
Merged

[Hotfix 25.9]: [FXC-7485] Bypass PorousJump interface check for farfield/CV overlapping face pairs#2031
benflexcompute merged 1 commit intorelease-candidate/25.9from
BenY/FXC-7485-porousjump-farfield-cv-interface

Conversation

@benflexcompute
Copy link
Copy Markdown
Collaborator

@benflexcompute benflexcompute commented May 5, 2026

Summary

  • PorousJump validation now bypasses the interface check when an entity_pairs pair spans two overlapping geometry faces, one only in AutomatedFarfield.enclosed_entities and the other only in a CustomVolume.bounding_entities. The mesher merges them into an interface, so the pair is valid input.
  • The existing _is_farfield_custom_volume_interface helper only handled a different (and rarer) case: a single face referenced in both sides via dual-belonging. The new _is_farfield_to_custom_volume_pair helper is added alongside it and the two cases are kept conceptually separate, each with its own docstring explaining the meshing behavior it corresponds to.

Failing case before this fix

PorousJump(entity_pairs=[(Intake, inside5)], ...) where:

  • Intake is only in farfield enclosed_entities
  • inside5 is only in CustomVolume bounding_entities
  • Both have private_attribute_is_interface=null at the params/validation stage

Previously failed with Boundary 'Intake' is not an interface. Now passes.

Test plan

  • New unit test test_porousJump_farfield_to_custom_volume_pair covering both pair orderings + a negative case (two farfield-only surfaces)
  • Existing test_porousJump_cross_custom_volume_interface and test_porousJump_farfield_custom_volume_interface still pass (negative cases still raise as expected)
  • Full tests/simulation/params/test_validators_params.py (63 tests) passes locally

(Replaces #2030 — same commit, branch renamed to follow BenY/ convention.)

🤖 Generated with Claude Code


Note

Medium Risk
Adjusts PorousJump boundary validation to bypass interface enforcement for a new farfield/CustomVolume pairing case, which could allow previously-rejected (and potentially misclassified) surface pairs through; impact is limited to param validation pre-meshing.

Overview
Updates PorousJump.ensure_surface_existence to skip the interface check not only for cross-CustomVolume and farfield/CV dual-belonging cases, but also when an entity_pairs entry spans two overlapping geometry faces where one face is farfield-only (AutomatedFarfield.enclosed_entities) and the other is CustomVolume-only (CustomVolume.bounding_entities).

Adds a unit test (test_porousJump_farfield_to_custom_volume_pair) covering both orderings of this farfield/CV pair and a negative case to ensure non-interface farfield-only pairs still raise.

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

…eld/CV overlapping face pairs

Why: PorousJump validation rejected pairs where one surface was only in
farfield enclosed_entities and the other only in some CustomVolume
bounding_entities. Such pairs represent two distinct geometry faces that
the mesher merges into an interface, so they should be allowed.

The existing _is_farfield_custom_volume_interface helper only handled the
case where a single dual-belonging face is referenced on both sides; it
did not cover the more typical scenario of two overlapping faces, each
exclusive to its zone.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@benflexcompute benflexcompute enabled auto-merge (squash) May 5, 2026 01:27
@benflexcompute benflexcompute disabled auto-merge May 5, 2026 01:28
@benflexcompute benflexcompute enabled auto-merge (squash) May 5, 2026 01:28
@benflexcompute benflexcompute merged commit 1642da1 into release-candidate/25.9 May 5, 2026
36 checks passed
@benflexcompute benflexcompute deleted the BenY/FXC-7485-porousjump-farfield-cv-interface branch May 5, 2026 01:28
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.

2 participants