Skip to content

v2.2.0

@rogeriojorge rogeriojorge tagged this 23 Aug 10:29
Dimensional units, the VMEX kinetic-bootstrap coupling, and a 28-deck
validation against SFINCS Fortran v3.

New public modules
  dkx.units     the SFINCS reference set and the Hat-to-SI conversions.  The
                set is derived, not asserted: nBar=1e20, TBar=1 keV, mBar=m_p,
                BBar=1 T, RBar=1 m, lnLambda=17 is the only choice reproducing
                both Delta=4.5694e-3 and nu_n=8.330e-3, and a test recomputes
                both from SI so it cannot drift.
  dkx.bootstrap KineticBootstrapCurrent, the kinetic <j.B> as an objective term
                with the interface vmex.core.optimize expects.  One import and
                one tuple turns a vmex optimization drift-kinetic.

Validation
  28 upstream decks against SFINCS Fortran v3, both codes converged on all 28.
  Parity median 3.98e-08; 89% of 114 field comparisons under 1e-4.  The two
  outliers are the reference under-converging (its own true residual 0.111
  against DKX's 2.04e-13) and catastrophic cancellation in vd = vm + vE, where
  the two terms cancel to 3635x below their own size.
  Against Redl on a finite-beta precise-QA equilibrium: 0.93, 0.95, 0.98 with
  the Fokker-Planck operator, resolution-converged to 3.5%.
  Gradients against Fortran central differences: 6.8e-04, at 5.6x the speed.

Fixed
  dkx wout_*.nc: 23m30s to 37-46 s, and correct where four independent bugs had
  compounded to a ~14x error in the bootstrap panel -- a vacuum wout read as a
  1e9 m^-3 plasma, gradients written to the wrong radial coordinate, a constant
  temperature zeroing the main drive, and pitch-angle scattering on the
  parallel-momentum moment.
  postprocess-upstream --save wrote blank pages.
  The persistent compilation cache grew without bound; now capped at 4 GB.
Assets 2
Loading