The cross-section table of the threed1 output (yinden, yellip, ytrian, yshift, eqfor.f90:579-588) scans itheta = 1, ntheta2 at the plane v and then, in the second pass of the icount loop (eqfor.f90:522-534), the reflected plane 2 pi - v with Z -> -Z to obtain the other half of the contour. That reconstruction is the stellarator-symmetric one. For lasym = T the stored surface already covers [0, 2 pi) and its second half is not the reflection of the first, so the ellipticity, triangularity, indentation and shift of an asymmetric cross-section are computed from a symmetrised contour: the lower half of every cross-section in the table is the upper half with Z negated.
The 2017 VMEC2000 8.52 source and PARVMEC carry the same loop. For lasym = T a single pass over itheta = 1, ntheta3 at the plane v gives the actual contour.
The cross-section table of the threed1 output (
yinden,yellip,ytrian,yshift, eqfor.f90:579-588) scansitheta = 1, ntheta2at the planevand then, in the second pass of theicountloop (eqfor.f90:522-534), the reflected plane2 pi - vwithZ -> -Zto obtain the other half of the contour. That reconstruction is the stellarator-symmetric one. Forlasym = Tthe stored surface already covers[0, 2 pi)and its second half is not the reflection of the first, so the ellipticity, triangularity, indentation and shift of an asymmetric cross-section are computed from a symmetrised contour: the lower half of every cross-section in the table is the upper half withZnegated.The 2017 VMEC2000 8.52 source and PARVMEC carry the same loop. For
lasym = Ta single pass overitheta = 1, ntheta3at the planevgives the actual contour.