v0.10.0
Major Changes
- Removes the various
compute_*methods fromSurfaceandCurveclasses in
favor of a unifiedcomputemethod, 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_surfaceanddesc.random.random_pressurefor
generating pseudo-random toroidal surfaces and monotonic profiles. - Adds new curve parameterization
desc.geometry.SplineXYZCurveand corresponding
coildesc.coils.SplineXYZCoilthat use a local spline of points in real space. - New methods
CoilSet.from_makegrid_coilfileandCoilSet.save_in_makegrid_format
for creating aCoilSetofSplineXYZCoilfrom a MAKEGRID style text file or saving
coil data in the format expected by MAKEGRID. - New function
desc.magnetic_fields.read_BNORM_filefor reading the Bnormal distribution
on a surface from a BNORM code output file. - New methods
compute_Bnormalandsave_BNORM_filefor 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
Equilibriumobjects or callingchange_resolutionon objects that have
it should now be significantly faster. GridandTransformobjects can now be created within the context ofjit,
by passingjitable=Trueto 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_inputto 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
BootstrapRedlConsistencyobjective to avoid
dividing by zero where profiles may be zero. - Fixes bug causing
QuasisymmetryBoozerto 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