Bugfix/xdmf multiple grids#20980
Conversation
|
@rrsettgast Thank you much for the fixes. We would appreciate having just the Xdmf changes in this PR. |
460430e to
adb41f9
Compare
|
FWIW...the xdmf plugin changes here look fine to me. The added test case is good too though my preference would be for that xdmf input test file to be added to The changes to |
JustinPrivitera
left a comment
There was a problem hiding this comment.
If you could trim this down to just the XDMF changes then we can tackle some of the other fixes in another PR. Then we can get this merged. Thanks!
|
@markcmiller86 will take the XDMF fixes from this work and draft a new PR with them. |
|
Sorry. been busy. This should be done, although I can no longer build so I can't test. |
Disclaimer: I had claude take a run at a review of the XDMF reader after the first commit which contains the real fix. All other commits are claude finding something and fixing it. If the visit team wants to drop the other commits because claude didn't understand context, that is no problem with me. The first commit is the Bugfix I was intending to fix.
Description
Fixes XDMF reader handling for files with multiple top-level grids, especially spatial collections with mesh-specific fields.
This updates the XDMF database plugin to treat multiple top-level grids as separate meshes, resolve variables by the owning grid name, avoid leaking fields between sibling grids, and guard against NULL/out-of-range grids instead of crashing. It also skips unsupported top-level grids cleanly, adds debug messages for ignored/unsupported grid cases, and fixes an XdmfGrid ownership leak in metadata population.
This also includes several macOS/build compatibility fixes:
build_visit.std::ptr_funusage.Type of change
[ ] New feature[ ] Documentation update[ ] OtherHow Has This Been Tested?
Added a regression test in
src/test/tests/databases/xdmf.pythat generates a self-contained XDMF file with two top-level spatial collections. The test verifies that:Also ran
git diff develop...HEAD --checksuccessfully.Reminders:
Checklist:
[ ] I have updated the release notes.[ ] I have made corresponding changes to the documentation.[ ] I have added new baselines for any new tests to the repo.