diff --git a/CHANGELOG.md b/CHANGELOG.md index ce7ca7e55b..85be71ef34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,60 @@ Changelog ========= + +v0.10.0 +------- + +[Github Commits](https://github.com/PlasmaControl/DESC/compare/v0.9.2...v0.10.0) + + +Major Changes +- Removes the various ``compute_*`` methods from ``Surface`` and ``Curve`` classes in +favor of a unified ``compute`` method, similar to ``Equilibrium.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`` and ``desc.random.random_pressure`` for +generating pseudo-random toroidal surfaces and monotonic profiles. +- Adds new curve parameterization `` desc.geometry.SplineXYZCurve`` and corresponding +coil ``desc.coils.SplineXYZCoil`` that use a local spline of points in real space. +- New methods ``CoilSet.from_makegrid_coilfile`` and ``CoilSet.save_in_makegrid_format`` +for creating a ``CoilSet`` of ``SplineXYZCoil`` 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`` and ``save_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 calling ``change_resolution`` on objects that have +it should now be significantly faster. +- ``Grid`` and ``Transform`` objects can now be created within the context of ``jit``, +by passing ``jitable=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. + + v0.9.2 ------