v0.9.1
Deprecations
- Creating an
Objective
without specifying theEquilibrium
or other object to be
optimized is deprecated, and in the future will raise an error. - Passing in an
Equilibrium
when creating anObjective
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 todesc.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 indesc.compute.utils
. - Adds
method="monotonic-0"
todesc.interpolate.interp1d
, which enforces
monotonicity and zero slope at the endpoints. - Adds
rho
argument todesc.plotting.plot_boozer_surface
to specify the desired
surface, rather than having to create custom grids. Also adds afieldlines
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 ofoptions
when callingoptimize
. - Enforces periodicity convention for
alpha
andtheta_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