desc.magnetic_fields.FourierCurrentPotentialField.from_surface

classmethod FourierCurrentPotentialField.from_surface(surface, Phi_mn=array([0.]), modes_Phi=array([[0, 0]]), I=0, G=0, sym_Phi='auto', M_Phi=None, N_Phi=None)Source

Create FourierCurrentPotentialField using geometry of given surface.

Parameters:
  • surface (FourierRZToroidalSurface, optional, default None) – Existing FourierRZToroidalSurface object to create a CurrentPotentialField with.

  • Phi_mn (ndarray) – Fourier coefficients of the double FourierSeries of the current potential. Should correspond to the given DoubleFourierSeries basis object passed in.

  • modes_Phi (array-like, shape(k,2)) – Poloidal and Toroidal mode numbers corresponding to passed-in Phi_mn coefficients

  • I (float) – Net current linking the plasma and the surface toroidally Denoted I in the algorithm

  • G (float) – Net current linking the plasma and the surface poloidally Denoted G in the algorithm NOTE: a negative G will tend to produce a positive toroidal magnetic field B in DESC, as in DESC the poloidal angle is taken to be positive and increasing when going in the clockwise direction, which with the convention n x grad(phi) will result in a toroidal field in the negative toroidal direction.

  • sym_Phi ({"auto", "cos","sin", False}) – whether to enforce a given symmetry for the DoubleFourierSeries part of the current potential. If “auto”, assumes sin symmetry if the surface is symmetric, else False.

  • M_Phi (int or None) – Maximum poloidal and toroidal mode numbers for the single valued part of the current potential.

  • N_Phi (int or None) – Maximum poloidal and toroidal mode numbers for the single valued part of the current potential.