v0.10.0
Major Changes
- Removes the various
compute_*
methods fromSurface
andCurve
classes in
favor of a unifiedcompute
method, similar toEquilibrium.compute
. The method
takes as arguments strings containing the desired data. A full list of available options
is at https://desc-docs.readthedocs.io/en/stable/variables.html - Analytic limits at the magnetic axis of all quantities have now been implemented.
- New functions
desc.random.random_surface
anddesc.random.random_pressure
for
generating pseudo-random toroidal surfaces and monotonic profiles. - Adds new curve parameterization
desc.geometry.SplineXYZCurve
and corresponding
coildesc.coils.SplineXYZCoil
that use a local spline of points in real space. - New methods
CoilSet.from_makegrid_coilfile
andCoilSet.save_in_makegrid_format
for creating aCoilSet
ofSplineXYZCoil
from a MAKEGRID style text file or saving
coil data in the format expected by MAKEGRID. - New function
desc.magnetic_fields.read_BNORM_file
for reading the Bnormal distribution
on a surface from a BNORM code output file. - New methods
compute_Bnormal
andsave_BNORM_file
for all magnetic field classes
to compute the normal component of the field on a given surface and save the data in the
same format as the BNORM code.
Minor Changes
- Increases default radial resolution for stability objectives to be consistent with
other objectives. - Creating
Equilibrium
objects or callingchange_resolution
on objects that have
it should now be significantly faster. Grid
andTransform
objects can now be created within the context ofjit
,
by passingjitable=True
to the constructor.- Added support for newer JAX versions, up to v0.4.14. Newer versions likely work as well
but are not automatically tested. - Adds ability to compute curvatures of constant theta and constant zeta surfaces.
- Fixes definition of derivatives of co- and contra-variant basis vectors to properly
account for the chain rule derivatives of the cylindrical basis vectors as well. - Adds calculation of
A(r)
, the approximate cross sectional area as a function of rho. - Adds method
desc.io.InputReader.descout_to_input
to create a text input file for
DESC from a saved hdf5 output.
Bug Fixes
- Fixes bug in saving nested dicts/lists.
- Removes default node at rho=1 for
BootstrapRedlConsistency
objective to avoid
dividing by zero where profiles may be zero. - Fixes bug causing
QuasisymmetryBoozer
to fail when compiling due to JAX issues. - Fixes incorrect implementation of derivatives of contravariant metric tensor elements
(these were unused at present so shouldn't have caused any issues.) - Fixes bug where bounds for profile objectives were not scaled correctly when used
as an inequality constraint. - Fixes a bug where calculating elongation would return NaN for near-circular cross sections.
Full Changelog: v0.9.2...v0.10.0