BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
pancake.spiral.LameSpiral Class Reference
Inheritance diagram for pancake.spiral.LameSpiral:
[legend]
Collaboration diagram for pancake.spiral.LameSpiral:
[legend]

Public Member Functions

 __init__ (self, float a, float b, float n, float pitch, float nturns, float theta0=0.0, int sense=+1, int nodes_per_turn=64)
 __repr__ (self)
Public Member Functions inherited from pancake.spiral.PlanarSpiral
 __init__ (self, sp.Symbol theta, xexpr, yexpr, float pitch, float nturns, float theta0=0.0, int sense=+1, int nodes_per_turn=64)
np.ndarray derivs_theta (self, float theta)
np.ndarray base_point (self, float theta)
np.ndarray outward_normal (self, float theta)
np.ndarray point_theta (self, float theta)
float speed_theta (self, float theta)
float s_of_theta (self, float theta)
float theta_of_s (self, float s)
float theta (self, float s)
np.ndarray r (self, float s)
np.ndarray v (self, float s)
np.ndarray a (self, float s)
np.ndarray b (self, float s)
float speed (self, float s)
float segment_length (self, float ta, float tb, int nsub=1)
float length (self)
np.ndarray equidistant (self, int n)
 frame (self, float s)
 curvatures (self, float s)
float signed_curvature (self, float s)
float turn_gap (self, float theta)
Public Member Functions inherited from pancake.basecurve.Basecurve
 __init__ (self, float tmin=0.0, float tmax=1.0)
np.ndarray sample (self, int n)
 kappa_tau (self, float t)
 twisted_frame (self, float t, float theta_T=0.0)
np.ndarray transform (self, float t, float theta_T=0.0)
 strip_curvatures (self, float t, float theta_T=0.0, float dtheta_T_ds=0.0)
np.ndarray darboux (self, float t)

Public Attributes

 a_axis = float(a)
 b_axis = float(b)
 n_exp = float(n)
Public Attributes inherited from pancake.spiral.PlanarSpiral
 pitch = float(pitch)
 nturns = float(nturns)
 theta0 = float(theta0)
float theta1 = self.theta0 + 2.0 * math.pi * self.nturns
 sense = int(sense)
Public Attributes inherited from pancake.basecurve.Basecurve
 tmin = float(tmin)
 tmax = float(tmax)
np.ndarray t = None

Additional Inherited Members

Protected Member Functions inherited from pancake.spiral.PlanarSpiral
float _gl_length (self, float ta, float tb)
 _eval (self, float s)
Protected Member Functions inherited from pancake.basecurve.Basecurve
int _nsub_default (self)
Protected Attributes inherited from pancake.spiral.PlanarSpiral
float _theta_sym = theta
list _fun = [sp.lambdify(theta, [ex, ey], modules="numpy", cse=True) for ex, ey in exprs]
 _base_fun = sp.lambdify(theta, [xexpr, yexpr], modules="numpy")
 _normal_fun = sp.lambdify(theta, [dy / nrm, -dx / nrm], modules="numpy")
 _theta_nodes = np.linspace(self.theta0, self.theta1, m + 1)
 _s_nodes = np.zeros(m + 1)
 _cache_s = None
 _cache_val = None

Detailed Description

Spiral winding on a Lame curve (superellipse)  |x/a|^n + |y/b|^n = 1.

Parameters
----------
a, b : semi-axes of the innermost turn (mandrel) along x and y
n    : Lame exponent (2 = ellipse; 4 ... 6 = rounded rectangle).  Even integers
       give an analytic curve; other exponents are only C^(ceil(n)-1) on the axes.
pitch : radial growth per turn (tape thickness plus insulation)
nturns : number of turns (may be fractional)
theta0 : polar angle where the winding starts
sense : +1 winds counter-clockwise (seen from +z), -1 clockwise

Constructor & Destructor Documentation

◆ __init__()

pancake.spiral.LameSpiral.__init__ ( self,
float a,
float b,
float n,
float pitch,
float nturns,
float theta0 = 0.0,
int sense = +1,
int nodes_per_turn = 64 )

Member Function Documentation

◆ __repr__()

pancake.spiral.LameSpiral.__repr__ ( self)

Member Data Documentation

◆ a_axis

pancake.spiral.LameSpiral.a_axis = float(a)

◆ b_axis

pancake.spiral.LameSpiral.b_axis = float(b)

◆ n_exp

pancake.spiral.LameSpiral.n_exp = float(n)

The documentation for this class was generated from the following file: