Skip to content

refactor: address the review of #147 - #148

Merged
m-fehr merged 1 commit into
masterfrom
feat/domain-boundary-data
Oct 15, 2026
Merged

m-fehr merged 1 commit into
masterfrom
feat/domain-boundary-data

Conversation

@m-fehr

@m-fehr m-fehr commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #147 from its review.

  • get_coordinates and get_nearest_index of Obstruction and SubObstruction take an optional quantity: node-based and cell-centred quantities have different coordinates. Without it they keep using the first quantity loaded, as before.
  • Obstruction.vmin/vmax skip parts of the obstruction that have no data for the quantity, like get_global_boundary_data_arrays does, and raise KeyError only if no part has it.
  • sim.meshes.get_global_boundary_data_arrays returns {} for a case without boundary data, like an obstruction without boundary data does. Mesh.has_boundary_data is new.
  • Combining node-based and cell-centred patches of one quantity raises ValueError instead of placing them on one grid.
  • The test inputs bndf_domain and bndf_global use DB instead of MB vents with several meshes (the FDS User Guide recommends DB for the domain boundary) and one namelist per line, rerun with FDS 6.11.1.

Tests

New tests for the coordinates of a chosen quantity, the orientation filter of Obstruction.get_boundary_data, parts without the quantity, mixed node-based and cell-centred patches, and a case without boundary data.

🤖 Generated with Claude Code

- get_coordinates and get_nearest_index of obstructions and their parts take an
  optional quantity, since node-based and cell-centred quantities have
  different coordinates; without it they keep using the first quantity loaded.
- Obstruction.vmin/vmax skip parts without the quantity, like the global
  arrays do, and raise KeyError only if no part has it.
- sim.meshes.get_global_boundary_data_arrays returns {} for a case without
  boundary data, like an obstruction without boundary data; Mesh has
  has_boundary_data.
- Combining node-based and cell-centred patches of one quantity raises
  ValueError instead of placing them on one grid.
- The bndf_domain and bndf_global inputs use DB instead of MB vents with
  several meshes, and one namelist per line (FDS reads only the first), and
  are rerun with FDS 6.11.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@m-fehr
m-fehr merged commit cc5c00d into master Oct 15, 2026
9 checks passed
@m-fehr
m-fehr deleted the feat/domain-boundary-data branch October 15, 2026 20:56
@codecov

codecov Bot commented Oct 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 89.65517% with 3 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
fdsreader/bndf/obstruction.py 87.50% 3 Missing ⚠️

📢 Thoughts on this report? Let us know!

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