Skip to content

VMEX 0.2.0

Choose a tag to compare

@rogeriojorge rogeriojorge released this 18 Jul 13:03
9b933f1

First release under the VMEX name (formerly vmec-jax).

Install: pip install vmex · Docs: https://vmex.readthedocs.io

Highlights

  • Renamed vmec_jax → vmeximport vmex, vmex CLI (with vmec alias), and a vmec_jax import shim (DeprecationWarning) for one release. VMEC file conventions (wout_*.nc, boozmn_*.nc, Vmec* classes) unchanged.
  • vmex.mirror — open and closed magnetic-mirror equilibria (differentiable, spline-native): fixed-boundary open mirrors (divergence 6.6e-15), free-boundary β scan 0–10% (implicit gradient 1.1e-10 vs reconverged FD), one-call solve_fixed_boundary_from_radius.
  • vmex.parallel — concurrent ensembles of independent solves (bit-identical to serial, ~3.3× at 8 workers).
  • Optimization — traceable l_grad_b objective and a five-campaign objectives showcase; cold-start single-stage plasma+coil benchmark (vacuum + finite β).
  • Speed — NESTOR free-boundary loop fused into jitted lanes; warm solves now beat VMEC2000 on every benchmark row.
  • Robustness — typed VmecErrors propagate through the jax.pure_callback boundary; ruff+mypy lint gate in CI.

See CHANGELOG.md for the full list.