v0.10.2
What's Changed
- Updates
desc.examples
:NCSX
now has a fixed current profile. Previously it used a fixed iota based on a
fit, but this was somewhat inaccurate.QAS
has been removed as it is now redundant withNCSX
.ARIES-CS
has been scaled to the correct size and field strength.WISTELL-A
is now a true vacuum solution, previously it approximated the vacuum
solution with fixed rotational transform.- Flips sign of iota for
W7-X
andATF
to account for positive jacobian. - new example for
HSX
.
- Adds new compute quantities
"iota current"
and"iota vacuum"
to compute the
rotational transform contributions from the toroidal current and background field. - Adds ability to compute equilibria with anisotropic pressure. This includes a new
profile,Equilibrium.anisotropy
, new compute quantityF_anisotropic
, and a new
objectiveForceBalanceAnisotropic
. plot_3d
andplot_coils
have been updated to use Plotly as a backend instead of
Matplotlib, since Matplotlib isn't great for 3d plots, especially ones with multiple
overlapping objects in the scene. Main API differences:- Plotly doesn't have "axes" like Matplotlib does, just figures. So the
ax
argument has been replaced byfig
forplot_3d
andplot_coils
, and they no
longer returnax
. - Names of colormaps, line patterns, etc are different, so use caution when
specifying those usingkwargs
. Thankfully the error messages Plotly generates are
usually pretty informative and list the available options.
- Plotly doesn't have "axes" like Matplotlib does, just figures. So the
- Adds zeroth and first order NAE constraints on the poloidal stream function lambda,
accessible by passing infix_lambda=True
to theget_NAE_constraint
getter function. - Implements
CurrentPotentialField
andFourierCurrentPotentialField
classes,
which allow for computation of the magnetic field from a surface current density
given byK = n x grad(Phi)
wherePhi
is a surface current potential.CurrentPotentialField
allows for an arbitrary current potential functionPhi
FourierCurrentPotentialField
assumes the current potential function to
be of the form of a periodic potential (represented by aDoubleFourierSeries
)
and two secular terms, one each linear in the poloidal and in the toroidal angle.
- Small fixes to make VMEC IO stuff more robust against different profile types, input file formatting etc.
- Improve Biot-Savart discretization, add new methods for converting between coil types
New Contributors
- @YigitElma made their first contribution in #718
Full Changelog: v0.10.1...v0.10.2