v0.10.1
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 andShear
as an objective function. - Adds a new objective
Pressure
to target a pressure profile as a function of rho instead
of spectral coefficients likeFixPressure
. 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 hadnormalize=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 specifysort=True
toGrid
object to sort now.
Breaking Changes
- Removes
grid
attribute fromProfile
classes,grid
should now be passed
in when callingProfile.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