Skip to content

Replace Hermite-Legendre JFNK with structured split solver - #344

Merged
joglekara merged 1 commit into
mainfrom
codex/issue-343
Aug 21, 2026
Merged

Replace Hermite-Legendre JFNK with structured split solver#344
joglekara merged 1 commit into
mainfrom
codex/issue-343

Conversation

@joglekara

Copy link
Copy Markdown
Member

Closes #343.

Summary

  • add a Strang/Cayley split integrator with exact streaming and collision half-steps plus structured local Hermite and Legendre force solves
  • add midpoint-field correction, minimum-L2 conservation correction, and boundary/high-mode/residual diagnostics
  • update the production bump-on-tail configuration to dt=0.1, Nh=32, Nl=128, and the validated [2,18] Legendre window
  • retire the global JFNK implicit solver, its configuration surface, documentation, and expensive integration test

Validation

  • 23 Hermite-Legendre tests pass; dense reference tests cover both Cayley implementations
  • all pre-commit hooks pass
  • NERSC t=700 production run completed 7000 bounded steps in 16.57 solver seconds and 55.13 wall seconds with peak GPU memory 1.195 GB
  • relative invariant drift stayed below 1.39e-14; final boundary occupancy was 5.10e-5 and high-Legendre fraction was 5.29e-6
  • dt=0.05 and Nl=256 refinements reproduced frequency, growth rate, and saturation within about 1.2 percent
  • compared with the former JFNK baseline, the split path is about 35x faster per step, 177x faster per simulated time, and uses about 54x less GPU memory

Replace global JFNK stepping with local Cayley force solves, add boundary and conservation diagnostics, validate the production bump-on-tail configuration, and retire the legacy implicit solver.
@joglekara
joglekara merged commit 043e650 into main Aug 21, 2026
12 checks passed
@joglekara
joglekara deleted the codex/issue-343 branch August 21, 2026 01:08
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.

Replace Hermite-Legendre full JFNK stepping with a fast split structured integrator

1 participant