v0.10.2
What's Changed
- Updates
desc.examples:NCSXnow has a fixed current profile. Previously it used a fixed iota based on a
fit, but this was somewhat inaccurate.QAShas been removed as it is now redundant withNCSX.ARIES-CShas been scaled to the correct size and field strength.WISTELL-Ais now a true vacuum solution, previously it approximated the vacuum
solution with fixed rotational transform.- Flips sign of iota for
W7-XandATFto 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_3dandplot_coilshave 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 byfigforplot_3dandplot_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=Trueto theget_NAE_constraintgetter function. - Implements
CurrentPotentialFieldandFourierCurrentPotentialFieldclasses,
which allow for computation of the magnetic field from a surface current density
given byK = n x grad(Phi)wherePhiis a surface current potential.CurrentPotentialFieldallows for an arbitrary current potential functionPhiFourierCurrentPotentialFieldassumes 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