desc.geometry.FourierXYCurve

class desc.geometry.FourierXYCurve(center=[10, 0, 0], normal=[0, 1, 0], X_n=[0, 2], Y_n=[2, 0], modes=None, basis='xyz', name='')Source

Curve that lies in a plane.

Parameterized by a point (the center of the curve), a vector (normal to the plane), and Fourier series defining the X and Y coordinates in the plane as a function of an arbitrary angle s.

Parameters:
  • 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.

  • X_n (array-like) – Fourier coefficients of the X coordinate in the plane.

  • Y_n (array-like) – Fourier coefficients of the Y coordinate in the plane.

  • modes (array-like) – Mode numbers associated with X_n and Y_n. The n=0 mode will be ignored.

  • basis ({'xyz', 'rpz'}) – Coordinate system for center and normal vectors. Default = ‘xyz’.

  • name (str) – Name for this curve.

Methods

change_resolution([N])

Change the maximum angular resolution.

compute(names[, grid, params, transforms, ...])

Compute the quantity given by name on grid.

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(coords[, N, s, basis, name])

Fit coordinates to FourierXYCurve 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.

set_coeffs(n[, X, Y])

Set specific Fourier coefficients.

to_FourierPlanar([N, grid, basis, name])

Convert Curve to FourierPlanarCurve representation.

to_FourierRZ([N, grid, NFP, sym, name])

Convert Curve to FourierRZCurve representation.

to_FourierXY([N, grid, s, basis, name])

Convert Curve to FourierXYCurve representation.

to_FourierXYZ([N, grid, s, name])

Convert Curve to FourierXYZCurve representation.

to_SplineXYZ([knots, grid, method, name])

Convert Curve to SplineXYZCurve.

translate([displacement])

Translate the curve by a rigid displacement in X,Y,Z coordinates.

unpack_params(x)

Convert a single array of concatenated parameters into a dictionary.

Attributes

N

Maximum mode number.

X_basis

Spectral basis for X Fourier series.

X_n

Spectral coefficients for X.

Y_basis

Spectral basis for Y Fourier series.

Y_n

Spectral coefficients for Y.

basis

Coordinate system for center and normal vectors.

center

Center of planar curve.

dim_x

total number of optimizable parameters.

dimensions

dictionary of integers of sizes of each optimizable parameter.

name

Name of the curve.

normal

Normal vector to plane.

optimizable_params

string names of parameters that have been declared optimizable.

params_dict

dictionary of arrays of optimizable parameters.

rotmat

Rotation matrix of curve in X, Y, Z.

shift

Displacement of curve in X, Y, Z.

x_idx

arrays of indices for each parameter in concatenated array.