BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
pancake.spiral Namespace Reference

Classes

class  PlanarSpiral
class  LameSpiral

Variables

 _EZ = np.array([0.0, 0.0, 1.0])

Detailed Description

Planar spiral windings built as offset curves of a closed convex base curve.

A tape wound on a mandrel forms turn k+1 by laying it onto turn k, i.e. every
turn is the *parallel (offset) curve* of the previous one at the distance of
one winding pitch p (tape thickness plus insulation).  The continuous version
of this is the spiral

    r(theta) = c(theta) + delta(theta) nu(theta),   delta = p (theta - theta0) / (2 pi)

where c(theta) is the base curve (traversed counter-clockwise for increasing
theta) and nu(theta) its outward unit normal.  Because parallel curves share
their normals, the normal distance between consecutive turns is p up to a
relative error of order (p / (2 pi R))^2.  Outward offsets of convex curves
never develop cusps, so the construction is regular for any number of turns.

All derivatives with respect to theta up to third order are generated
symbolically with sympy; the curve is then reparametrized by arc length s so
that v = T, a = dT/ds and b = d2T/ds2 (unit speed, Russenschuck Sec. 3.1).

The strip frame of the planar spiral is

    T = v,   b = e_z,   n = b x T          (n points inward for CCW winding)

which coincides with the Frenet frame for counter-clockwise winding and gives
kappa_n = kappa (signed), kappa_g = 0, tau = 0.  Unlike the Frenet frame it
stays defined and continuous when the curvature changes sign or vanishes.

Variable Documentation

◆ _EZ

pancake.spiral._EZ = np.array([0.0, 0.0, 1.0])
protected