desc.geometry.FourierXYZCurve

class desc.geometry.FourierXYZCurve(X_n=[0, 10, 2], Y_n=[0, 0, 0], Z_n=[-2, 0, 0], modes=None, grid=None, name='')[source]

Curve parameterized by Fourier series for X,Y,Z in terms of arbitrary angle phi.

Parameters:
  • X_n (array-like) – Fourier coefficients for X, Y, Z

  • Y_n (array-like) – Fourier coefficients for X, Y, Z

  • Z_n (array-like) – Fourier coefficients for X, Y, Z

  • modes (array-like) – mode numbers associated with X_n etc.

  • grid (Grid) – default grid for computation

  • name (str) – name for this curve

Methods

change_resolution([N])

Change the maximum angular resolution.

compute_coordinates([X_n, Y_n, Z_n, grid, ...])

Compute values using specified coefficients.

compute_curvature([X_n, Y_n, Z_n, grid])

Compute curvature using specified coefficients.

compute_frenet_frame([X_n, Y_n, Z_n, grid, ...])

Compute Frenet frame vectors using specified coefficients.

compute_length([X_n, Y_n, Z_n, grid])

Compute the length of the curve using specified nodes for quadrature.

compute_torsion([X_n, Y_n, Z_n, grid])

Compute torsion using specified coefficientsnp.empty((0, 3)).

copy([deepcopy])

Return a (deep)copy of this object.

eq(other)

Compare equivalence between DESC objects.

flip(normal)

Flip the curve about the plane with specified normal.

get_coeffs(n)

Get Fourier coefficients for given mode number(s).

load(load_from[, file_format])

Initialize from file.

rotate([axis, angle])

Rotate the curve by a fixed angle about axis in xyz coordinates.

save(file_name[, file_format, file_mode])

Save the object.

set_coeffs(n[, X, Y, Z])

Set specific Fourier coefficients.

translate([displacement])

Translate the curve by a rigid displacement in x, y, z.

Attributes

N

Maximum mode number.

X_n

Spectral coefficients for X.

Y_n

Spectral coefficients for Y.

Z_n

Spectral coefficients for Z.

basis

Spectral basis for Fourier series.

grid

Default grid for computation.

name

Name of the curve.