PlasmaControl / DESC

Stellarator Equilibrium and Optimization Suite
MIT License
89 stars 24 forks source link

elongation toroidal surface angle #462

Open ddudt opened 1 year ago

ddudt commented 1 year ago

Elongation "a_major/a_minor" is computed at toroidal cross-sections, and the Elongation objective function penalizes the maximum elongation of all the toroidal angles.

The vector normal to the cross-section used to compute the elongation must be parallel to the magnetic axis. These cross-section "cuts" are not at a constant toroidal angle $\phi$ if the magnetic axis is non-planar. However, the present code does compute the elongation at cross-sections of constant toroidal angle $\phi$.

Finding the toroidal angles that give a cross-section normal to the magnetic axis would involve solving a sub-problem. The correction may be small for most equilibria, but can be significant for those with a very non-planar axis.

f0uriest commented 1 year ago

Might be do-able by just re-grouping which nodes are used to evaluate stuff on a cross section? Need to approximate "tilt", maybe just grad(zeta)*e_phi?

dpanici commented 3 months ago

Heuristic based on the tilt? dot(e_phi, zeta^) as a fudge factor on the calculation