Skip to content

v0.10.1

Compare
Choose a tag to compare
@dpanici dpanici released this 29 Sep 13:41
· 7132 commits to master since this release
67e1d36

Improvements

  • Adds second derivatives of contravariant basis vectors to the list of quantities we can compute.
  • Refactors most of the optimizer subproblems to use JAX control flow, allowing them
    to run more efficiently on the GPU.
  • Adds 'shear' as a compute quantity and Shear as an objective function.
  • Adds a new objective Pressure to target a pressure profile as a function of rho instead
    of spectral coefficients like FixPressure. Can also be used when optimizing kinetic equilibria.
  • Allows all profile objectives to have callable bounds and targets.
  • All objective function values should now be approximately independent of the grid
    resolution. Previously this was only true when objectives had normalize=True
  • Objective.print_value Now prints max/min/avg for most objectives, and it should be
    clear whether it is printing the actual value of the quantity or the error between
    the objective and its target.
  • Adds new options to plot_boozer_modes to plot only symmetry breaking modes (when
    helicity is supplied) or only the pointwise maximum of the symmetry breaking modes.
  • Changes default Grid sorting to False, to avoid unintentional sorting of
    passed-in nodes. Must explicitly specify sort=True to Grid object to sort now.

Breaking Changes

  • Removes grid attribute from Profile classes, grid should now be passed
    in when calling Profile.compute.

Bug Fixes

  • Fixes bug where running DESC through the command line interface with the -g flag
    failed to properly utilize the GPU

Full Changelog: v0.10.0...v0.10.1