You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Faster optimization. Implicit executables are keyed on problem structure
and share one block factorization: QA stage compile 32-40 s to 24-27 s, a
second stage of the same shape 24-38 s to 13-15 s, peak memory about 30 %
lower (#599, #618). Adjoint tolerances are traced, so changing one no longer
recompiles (#623). Rejected trials stop early (#608), the Jacobian reuses the
refinement's block bands (#622), and multi-stage examples share one problem
(#621). Geometry synthesis is separable, 10-15 % faster warm solves (#597).
Ballooning stability is resolved along the field line (Richardson step,
fourth-order radial reads) and matches COBRAVMEC within 1.7 %; the hard
maximum is the default and the Jacobian is 6x cheaper (#589).
Free boundary: opt-in Newton anchoring (solve_free_boundary_newton, #575),
opt-in position control (LPOSITION_CONTROL, #570), a DEL-BSQ gate and a
coil-gradient test for single-stage runs (#614).
Opt-in radial preconditioner for the m = 0 lambda force, lambda_m0_floor=1e-3 (#598). 3-D force polishing with prescribed current (#558).
boozer_spectrum_state(..., geometry=True) returns the Boozer R, Z, nu and
Jacobian spectra (#610). Tracing takes explicit energy, mass and charge (#540).
JAX 0.12 support: the on-axis coil field stays differentiable (#620).
Every example finishes in under five minutes on a laptop and prints
progress (#562). README and docs restructured, with ballooning, polishing
and MRX sections and a CLI reference (#605, #617, #540).
CI runs all seven VMEC2000 golden-digest cases on every PR (#616); a
packaging-triggered and weekly install check covers Linux, macOS and Windows
(#588). neo-jax>=1.0.6 (#588). About 880 fewer source lines (#601, #602).