PlasmaControl / DESC

Stellarator Equilibrium and Optimization Suite
MIT License
87 stars 22 forks source link

Generalize boozer transform to use Fourier-Zernike basis #369

Open f0uriest opened 1 year ago

dpanici commented 6 months ago

https://drive.google.com/file/d/1mA8tmktuMO-bUwUVtD3LoIH2meHPesCd/view?usp=sharing

Some initial notes I had on this, trying to follow the usual Boozer transform way but with Fourier-Zernike basis instead of DoubleFourierSeries. I was hoping to see if we could get a way to relate the coefficients of nu with the coefficients of a quantity like the poloidal magnetic field, but there are some extra coupling terms that made it not obvious how to relate the coefficients themselves. Maybe another approach would be better, this is just what I've tried

rahulgaur104 commented 6 months ago

@dpanici I am interested in this one but your notes are not accessible (due to permissions)

dpanici commented 6 months ago

Try the link noww

rahulgaur104 commented 6 months ago

Yes, I can access the file now. Thanks!

dpanici commented 2 months ago

Make sure the components of B we try to find coeffs for are analytic functions at the axis

dpanici commented 2 months ago

@dpanici check where I did fits of Boozer/DESC B in FourierZernike

unalmis commented 2 months ago

e_theta is analytic. It's always zero on axis. e_zeta is also analytic. It is well defined on axis and always points in direction of B. See https://github.com/PlasmaControl/DESC/blob/87db5bec666e26f4a87310170a1d1ff86301b9f3/tests/test_axis_limits.py#L320

The covariant basis vectors are just derivatives of some position vector along a coordinate curve, so they will have nice analysis properties. So B is analytic implies B_theta and B_zeta are too.