desc.magnetic_fields.FreeSurfaceOuterField
- class desc.magnetic_fields.FreeSurfaceOuterField(surface, M, N, sym=None, M_coil=None, N_coil=None, sym_coil=None, B_coil=None, Y_coil=None, I_plasma=0.0, I_sheet=0.0)Source
Compute field on outer plasma for free surface.
Implements the interior Dirichlet formulation in multiply connected geometry described in [1]_.
- Parameters:
surface (Surface) – Geometry defining ∂𝒳.
M (int) – Poloidal Fourier resolution to interpolate potential on ∂𝒳.
N (int) – Toroidal Fourier resolution to interpolate potential on ∂𝒳.
sym (str) – Symmetry for Fourier basis interpolating the periodic part of the potential. Default is
sinwhen the surface is stellarator symmetric andFalseotherwise.M_coil (int) – Poloidal Fourier resolution to interpolate coil potential on ∂𝒳. Default is
M.N_coil (int) – Poloidal Fourier resolution to interpolate coil potential on ∂𝒳. Default is
N.sym_coil (str) – Symmetry for Fourier basis interpolating the periodic part of the coil potential. Default is
sym.B_coil (_MagneticField) – Magnetic field from coil current sources. This must be smooth and divergence free for correctness.
Y_coil (float) – Net poloidal current determining circulation of coil field. Default is to compute from
B_coil.I_plasma (float) – Net toroidal plasma current determining a circulation of Φ. Default is zero.
I_sheet (float) – Net toroidal sheet current determining a circulation of Φ. Default is zero.
Methods
change_resolution(*args, **kwargs)Change the maximum poloidal and toroidal resolution.
compute(names, grid[, params, transforms, ...])Compute the quantity given by name on grid.
constant_offset_surface(offset[, grid, M, ...])Create a new FourierRZToroidalSurface with constant offset from self.
copy([deepcopy])Return a (deep)copy of this object.
equiv(other)Compare equivalence between DESC objects.
from_input_file(path, **kwargs)Create a surface from Fourier coefficients in a DESC or VMEC input file.
from_qp_model([major_radius, aspect_ratio, ...])Create a surface from a near-axis model for quasi-poloidal symmetry.
from_shape_parameters([major_radius, ...])Create a surface using a generalized Miller parameterization.
from_values(coords, theta[, zeta, M, N, ...])Create a surface from given R,Z coordinates in real space.
get_axis()Get the axis of the surface.
get_coeffs(m[, n])Get Fourier coefficients for given mode number(s).
load(load_from[, file_format])Initialize from file.
pack_params(p)Convert a dictionary of parameters into a single array.
save(file_name[, file_format, file_mode])Save the object.
set_coeffs(m[, n, R, Z])Set specific Fourier coefficients.
Convert a single array of concatenated parameters into a dictionary.
Attributes
Maximum radial mode number.
Maximum poloidal mode number.
Poloidal resolution of periodic part of Phi.
Poloidal resolution of periodic part of Phi_coil.
Maximum toroidal mode number.
Number of (toroidal) field periods.
Toroidal resolution of periodic part of Phi.
Toroidal resolution of periodic part of Phi_coil.
Basis for periodic part of potential.
Basis for periodic part of coil potential.
Spectral basis for R.
Spectral coefficients for R.
Spectral basis for Z.
Spectral coefficients for Z.
total number of optimizable parameters.
dictionary of integers of sizes of each optimizable parameter.
Name of the surface.
string names of parameters that have been declared optimizable.
dictionary of arrays of optimizable parameters.
Flux surface label.
Surface geometry defining boundary.
Whether the surface is stellarator symmetric.
Type of symmetry of periodic part of Phi (no symmetry if False).
Symmetry of periodic part of Phi_coil (no symmetry if False).
arrays of indices for each parameter in concatenated array.