desc.coils.FourierPlanarCoil
- class desc.coils.FourierPlanarCoil(current=1, center=[10, 0, 0], normal=[0, 1, 0], r_n=2, modes=None, basis='xyz', name='')Source
Coil that lies in a plane.
Parameterized by a point (the center of the coil), a vector (normal to the plane), and a Fourier series defining the radius from the center as a function of the polar angle theta.
- Parameters:
current (float) – Current through the coil, in Amperes.
center (array-like, shape(3,)) – Coordinates of center of curve, in system determined by basis.
normal (array-like, shape(3,)) – Components of normal vector to planar surface, in system determined by basis.
r_n (array-like) – Fourier coefficients for radius from center as function of polar angle
modes (array-like) – mode numbers associated with r_n
basis ({'xyz', 'rpz'}) – Coordinate system for center and normal vectors. Default = ‘xyz’.
name (str) – Name for this coil
Examples
from desc.coils import FourierPlanarCoil from desc.grid import LinearGrid import numpy as np I = 10 mu0 = 4 * np.pi * 1e-7 R_coil = 10 # circular coil given by center at (0,0,0) # and normal vector in Z direction (0,0,1) and radius 10 coil = FourierPlanarCoil( current=I, center=[0, 0, 0], normal=[0, 0, 1], r_n=R_coil, modes=[0], ) z0 = 10 field_evaluated = coil.compute_magnetic_field( np.array([[0, 0, 0], [0, 0, z0]]), basis="rpz" ) np.testing.assert_allclose( field_evaluated[0, :], np.array([0, 0, mu0 * I / 2 / R_coil]), atol=1e-8 ) np.testing.assert_allclose( field_evaluated[1, :], np.array([0, 0, mu0 * I / 2 * R_coil**2 / (R_coil**2 + z0**2) ** (3 / 2)]), atol=1e-8, )
Methods
change_resolution([N])Change the maximum angular resolution.
compute(names[, grid, params, transforms, ...])Compute the quantity given by name on grid.
compute_Bnormal(surface[, eval_grid, ...])Compute Bnormal from self on the given surface.
compute_magnetic_field(coords[, params, ...])Compute magnetic field at a set of points.
compute_magnetic_vector_potential(coords[, ...])Compute magnetic vector potential at a set of points.
copy([deepcopy])Return a (deep)copy of this object.
equiv(other)Compare equivalence between DESC objects.
flip([normal])Flip the curve about the plane with specified normal in X,Y,Z coordinates.
from_values(current, coords[, N, basis, name])Fit coordinates to FourierPlanarCoil representation.
get_coeffs(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.
rotate([axis, angle])Rotate the curve by a fixed angle about axis in X,Y,Z coordinates.
save(file_name[, file_format, file_mode])Save the object.
save_BNORM_file(surface, fname[, basis_M, ...])Create BNORM-style .txt file containing Bnormal Fourier coefficients.
save_mgrid(path, Rmin, Rmax, Zmin, Zmax[, ...])Save the magnetic field to an mgrid NetCDF file in "raw" format.
set_coeffs(n[, r])Set specific Fourier coefficients.
to_FourierPlanar([N, grid, basis, name])Convert Coil to FourierPlanarCoil representation.
to_FourierRZ([N, grid, NFP, sym, name])Convert Coil to FourierRZCoil representation.
to_FourierXY([N, grid, s, basis, name])Convert Coil to FourierXYCoil representation.
to_FourierXYZ([N, grid, s, name])Convert coil to FourierXYZCoil representation.
to_SplineXYZ([knots, grid, method, name])Convert coil to SplineXYZCoil.
translate([displacement])Translate the curve by a rigid displacement in X,Y,Z coordinates.
Convert a single array of concatenated parameters into a dictionary.
Attributes
Maximum mode number.
Coordinate system for center and normal vectors.
Center of planar curve polar coordinates.
Current passing through the coil, in Amperes.
total number of optimizable parameters.
dictionary of integers of sizes of each optimizable parameter.
Name of the curve.
Normal vector to plane.
Number of coils.
string names of parameters that have been declared optimizable.
dictionary of arrays of optimizable parameters.
Spectral basis for Fourier series.
Spectral coefficients for r.
Rotation matrix of curve in X, Y, Z.
Displacement of curve in X, Y, Z.
arrays of indices for each parameter in concatenated array.