Skip to content

Internal/pr 487#494

Open
mcfadden8 wants to merge 2 commits into
developfrom
internal/pr-487
Open

Internal/pr 487#494
mcfadden8 wants to merge 2 commits into
developfrom
internal/pr-487

Conversation

@mcfadden8
Copy link
Copy Markdown
Collaborator

@mcfadden8 mcfadden8 commented Apr 28, 2026

ToDo :

  • Annotate RELEASE_NOTES.md with notable changes.
  • Create LLNLSpheral PR pointing at this branch. (PR#)
  • LLNLSpheral PR has passed all tests.

Summary

  • Volume upgrade
    • Separates the volume calculation from RKCorrections and adds controls for when the volume is updated. Previously, the Voronoi was being calculated way too often in VoronoiCells and getting overwritten by the volumes from RKCorrections.
    • Makes VoronoiCells inherit from VolumeUpdate. It optionally overwrites its own volume calculation with the user's choice of volume.
    • Lets the user choose the volume for all packages, not just RKCorrections.
    • Stores both 3D (annulus or spherical shell) volume and patch volume, which are the same in Cartesian coordinates.
  • Physics package requirements upgrade
    • requireConnectivity, requireGhostConnectivity, requireOverlapConnectivity, requireIntersectionConnectivity have been replaced by requireConnectivity
      • Returns {conn, ghost, overlap, intersection}
    • requireVoronoiCells has been replaced by requireVolumes
      • Returns {explicit, implicit, voronoi}
    • requireReproducingKernels, requireReproducingKernelInFinalize, requireReproducingKernelHessian have been replaced by requireReproducingKernels
      • Returns tuple {explicit, implicit, hessian}
  • Boundary fixes
    • Boundaries were not being ordered consistently.
    • Adds a priority to Boundary to codify this.
  • Bugfix
    • GenerateRatioSphere accessing the wrong element when SPH = True

Timing

Most of the code in this MR is focused on upgrading the volume calculation, but the reason behind it was to fix the inefficiency of ASPH (the True version, not the "classic" version). Here is an example of the timing for a 3D ASPH problem run on 100 procs for 200 cycles before and after these changes. The basic result: ASPH is improved from being prohibitively expensive before to being a reasonable option now.

Function Before this MR After this MR Explanation
Voronoi volume 416.7 (13.5x derivs) 98.6 (3.3x derivs) Only in finalize, not duplicated in RK
Explicit total 379.3 172.9 No more Voronoi in derivatives for ASPH
Explicit derivs 30.8 30.0 Derivative evaluation stays the same

brbass added 2 commits April 28, 2026 13:29
(cherry picked from commit 48b4763)
(cherry picked from commit f878a01)
@mcfadden8 mcfadden8 mentioned this pull request Apr 28, 2026
3 tasks
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