BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
corc.curve.Lame Class Reference
Inheritance diagram for corc.curve.Lame:
[legend]
Collaboration diagram for corc.curve.Lame:
[legend]

Public Member Functions

 __init__ (self, float radius, float phi, float ratio, order=2)
 position (self, t)
Public Member Functions inherited from corc.curve.Curve
 __init__ (self, float tmin, float tmax, nsamples=4096)
np.ndarray p (self, float t)
 derivatives (self, float t)
float speed (self, float t)
float s_of_t (self, float t)
float t_of_s (self, float s)

Public Attributes

 radius = float(radius)
float a = math.cos(math.radians(phi)) * 0.5 * math.pi * radius
float b = self.a * ratio
int order = float(order)
Public Attributes inherited from corc.curve.Curve
 tmin = tmin
 tmax = tmax
 length = float(self._sgrid[-1])

Additional Inherited Members

Static Public Attributes inherited from corc.curve.Curve
bool closed = False
Protected Member Functions inherited from corc.curve.Curve
 _build_arclength_table (self, int nsamples)
Protected Attributes inherited from corc.curve.Curve
 _tgrid = tgrid
 _sgrid = np.concatenate([[0.0], np.cumsum(seg)])

Detailed Description

Quarter superellipse (Lame curve) wrapped on a cylinder barrel of
given radius — the coil-end path from the legacy code.

x = R cos(alpha), y = R sin(alpha), z = b sin(t)^(2/order)
alpha = a cos(t)^(2/order) / (0.5 pi R),  t in (0, pi/2)
a = cos(phi_deg) * 0.5 pi R,  b = a * ratio

For order > 2 the parametrization is singular AT the endpoints, so the
domain is clipped by a tiny margin; order = 2 is regular everywhere.

Constructor & Destructor Documentation

◆ __init__()

corc.curve.Lame.__init__ ( self,
float radius,
float phi,
float ratio,
order = 2 )

Member Function Documentation

◆ position()

corc.curve.Lame.position ( self,
t )
Return [x, y, z] at parameter t; components are Jets if t is a
Jet. Subclasses implement this with jet-friendly operations.

Reimplemented from corc.curve.Curve.

Member Data Documentation

◆ a

float corc.curve.Lame.a = math.cos(math.radians(phi)) * 0.5 * math.pi * radius

◆ b

float corc.curve.Lame.b = self.a * ratio

◆ order

int corc.curve.Lame.order = float(order)

◆ radius

corc.curve.Lame.radius = float(radius)

The documentation for this class was generated from the following file:
  • examples/corc_twolayer/python/corc/curve.py