BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
corc.shells.ShellGenerator Class Reference

Public Member Functions

 __init__ (self, winding, frame, float domain_radius, float domain_resolution)
 layer_slots (self, int l)
int end_slot_shift (self, int l)
 s_rows (self)
 tube_rows (self)
 tube_slot_count (self)
 build (self, builder)
 check_radius (self, builder, tol=1e-9)

Public Attributes

 w = winding
 frame = frame
 domain_radius = domain_radius
 domain_resolution = domain_resolution
 theta = winding.cap_rotation()

Protected Member Functions

 _pR (self, float s)
 _assert_outward (self, builder, axis, which)

Constructor & Destructor Documentation

◆ __init__()

corc.shells.ShellGenerator.__init__ ( self,
winding,
frame,
float domain_radius,
float domain_resolution )

Member Function Documentation

◆ _assert_outward()

corc.shells.ShellGenerator._assert_outward ( self,
builder,
axis,
which )
protected
The triangle added at builder.tris[which] must face away from
the local centerline point (radially outward).

◆ _pR()

corc.shells.ShellGenerator._pR ( self,
float s )
protected

◆ build()

corc.shells.ShellGenerator.build ( self,
builder )

◆ check_radius()

corc.shells.ShellGenerator.check_radius ( self,
builder,
tol = 1e-9 )
Every ring node must sit exactly at its layer radius from the
centerline (measured in the cross-section plane it was built in).

◆ end_slot_shift()

int corc.shells.ShellGenerator.end_slot_shift ( self,
int l )
Ring-slot index shift between a layer's last row and its first:
with the n-fold closure (winding.tape_shift() = q) ring slot j at
s=L sits at the s=0 position of slot j + q * (slots per sector),
the same for both winding senses. 0 when the caps close by rotation
instead.

◆ layer_slots()

corc.shells.ShellGenerator.layer_slots ( self,
int l )
Slot boundary angles (body frame, s=0) for layer l and the
per-feature slot ranges: returns (angles, features) where features
is a list of ("tape"|"gap", tape_index, slot_start, slot_count).

◆ s_rows()

corc.shells.ShellGenerator.s_rows ( self)

◆ tube_rows()

corc.shells.ShellGenerator.tube_rows ( self)

◆ tube_slot_count()

corc.shells.ShellGenerator.tube_slot_count ( self)

Member Data Documentation

◆ domain_radius

corc.shells.ShellGenerator.domain_radius = domain_radius

◆ domain_resolution

corc.shells.ShellGenerator.domain_resolution = domain_resolution

◆ frame

corc.shells.ShellGenerator.frame = frame

◆ theta

corc.shells.ShellGenerator.theta = winding.cap_rotation()

◆ w

corc.shells.ShellGenerator.w = winding

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