desc.coils.initialize_helical_coils
- class desc.coils.initialize_helical_coils(eq, num_coils, r_over_a=2.0, helicity=(1, 1), npts=100)Source
Initialize a CoilSet of helical coils for stage 2 optimization.
The coils will be roughly a constant distance from the plasma surface as they wind around. The currents will be set to match the equilibrium required poloidal linking current.
The coils will be
SplineXYZCoil, if another type is desired usecoilset.to_FourierXYZ(N=...), etc.- Parameters:
eq (Equilibrium) – Stage 1 equilibrium the coils are being optimized for.
num_coils (int) – Number of coils to create.
r_over_a (float) – Approximate minor radius of the coils, in units of equilibrium minor radius. The approximate minor radius will be r_over_a * equilibrium minor radius. The actual coils will be contoured to keep a roughly constant offset from the plasma surface.
helicity (tuple of int) – (M,N) - How many times each coil should link the plasma poloidally and toroidally. Note that M is the poloidal linking number per field period, so the total linking number will be M*NFP.
npts (int) – How many points to use when creating the coils. Equilibria with very high NFP may need more points.
- Returns:
coilset (CoilSet of FourierPlanarCoil) – Planar coils centered on magnetic axis, with appropriate symmetry.