Skip to content

v0.9.1

Compare
Choose a tag to compare
@f0uriest f0uriest released this 06 Jul 02:00
· 8168 commits to master since this release
41861f3

Deprecations

  • Creating an Objective without specifying the Equilibrium or other object to be
    optimized is deprecated, and in the future will raise an error.
  • Passing in an Equilibrium when creating an Objective no longer builds the
    objective immediately.
  • Objective.build can now be called without arguments, assuming the object to be
    optimized was specified when the objective was created.
  • Removes Equilibrium.solved attribute as it was generally unused and occasionally
    caused issues when saving to VMEC format.

New Features

  • Adds deriv_mode="looped" option to desc.objectives.ObjectiveFunction for
    computing derivative matrices. This is slightly slower but much more memory efficient
    than the default "batched" option.
  • Adds BFGS option for augmented Lagrangian optimizers.
  • Adds utility functions for computing line integrals, vector valued integrals, and
    integral transforms in desc.compute.utils.
  • Adds method="monotonic-0" to desc.interpolate.interp1d, which enforces
    monotonicity and zero slope at the endpoints.
  • Adds rho argument to desc.plotting.plot_boozer_surface to specify the desired
    surface, rather than having to create custom grids. Also adds a fieldlines argument
    for overlaying magnetic field lines on the Boozer strength plot.
  • DESC objects with a change_resolution method now allow changing symmetry type.

Minor Changes

  • Augmented Lagrangian methods now use a default starting Lagrange multiplier of 0, rather
    than the least squares estimate which can be a bad approximation if the starting point
    is far from optimal. The old behavior can be recovered by passing
    "initial_multipliers": "least_squares" as part of options when calling optimize.
  • Enforces periodicity convention for alpha and theta_sfl - They are both now
    defined to be between 0 and 2pi.

Bug Fixes

  • Flips sign of current loading/saving VMEC data to account for negative Jacobian.
  • Increases default resolution for computing magnetic field harmonics in desc.plotting.plot_qs_error
    to avoid aliasing.
  • Ensures that Basis.L , Basis.M, Basis.N are all integers.
  • Removes duplicated entries in the data_index
  • Fixes a bug in the normalization of the radial unit vector.

Full Changelog: v0.9.0...v0.9.1