Skip to content

Conversation

@kennyweiss
Copy link
Member

Summary

This PR adds a few improvements centered around improvements to the quest winding number example

  • Improves and cleans up MFEMReader
    • Can now read in multispan NURBS meshes (no longer hardcodes knot vector for a single span)
    • Fixed a bug in mapping attributes to curves. We no longer assume the attributes start at 1 and are contiguous.
      Instead, we add an optional array to map the returned curves to their attributes.
  • Improves quest winding number example
    • Adds flag to enable/disable memoization (on by default)
    • Adds optional caliper support
    • Updates to svg2contours script which convets an SVG to an mfem Mesh file
      • When finding the SVG resolution, prefer viewBox info, followed by height and width
      • Updates dependency to svgpathtools@1.7.2, which incorporates our patch (and removes the patch
      • Also updates environment setup to use uv instead of venv
  • Improves error reporting in Klee/Shaping
    • We also check the return code when reading a file
    • We now throw an error when the requested file does not exist (or cannot be opened)
    • This was a user request since missing files in the shaping app are not a recoverable error, and the warning message was obscured by later resulting failures
  • Slic: Adds slic::getAbortFunction() to return the function pointer associated with the slic error handler
    • Also adds an RAII utility class slic::ScopedAbortToThrow which allow temporarily setting the abort function to throw an exception. This is helpful for testing that SLIC_ERROR/SLIC_ASSERT calls happen without gtest Death tests (which cannot run in MPI-based tests).
  • Misc:
    • MPIWrapper now only finalizes MPI if it initialized it
    • Fixes a few tests so they can run through MPI
    • Fixes some warnings about unused variables

@kennyweiss kennyweiss self-assigned this Jan 6, 2026
@kennyweiss kennyweiss added bug Something isn't working Core Issues related to Axom's 'core' component Quest Issues related to Axom's 'quest' component Slic Issues related to Axom's 'slic' component Testing Issues related to testing Axom User Request Issues related to user requests maintenance Issues related to code maintenance usability Related to code usability labels Jan 6, 2026
Copy link
Contributor

@Arlie-Capps Arlie-Capps left a comment

Choose a reason for hiding this comment

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

Thanks, Kenny!

Copy link
Contributor

@jcs15c jcs15c left a comment

Choose a reason for hiding this comment

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

Looks good to me, thanks for the updates!

@kennyweiss kennyweiss force-pushed the feature/kweiss/update-wn-example branch from 84d5bfb to 382a7af Compare January 8, 2026 03:19
Also adds a unit test for this.
This makes it easy to have SLIC_ASSERT and SLIC_ERROR throw an exception
instead of aborting and can be especially helpful when testing
that assertions/errors happen as expected.
Attributes in file are often not contiguous, so we cannot write them
to the array position of their index. Instead, we'll add them in order
and return a corresponding array of original attributes when desired.
@kennyweiss kennyweiss force-pushed the feature/kweiss/update-wn-example branch from 382a7af to 26dc2a9 Compare January 8, 2026 19:07
@kennyweiss kennyweiss merged commit 8360a7e into develop Jan 8, 2026
15 checks passed
@kennyweiss kennyweiss deleted the feature/kweiss/update-wn-example branch January 8, 2026 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Core Issues related to Axom's 'core' component maintenance Issues related to code maintenance Quest Issues related to Axom's 'quest' component Slic Issues related to Axom's 'slic' component Testing Issues related to testing Axom usability Related to code usability User Request Issues related to user requests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants