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

Variables

 C = Cable()
 tapeWidth = 4.0
 pitch
 numTurns
 gap
 tapeThickness
 solderThickness
 stackThickness
 domainRadius
 numTapesPerLayer
 numLayers
 delta
 tapeResolution
 innerResolution
 domainResolution
 centerline
int WORKDIR = sys.argv[1] if len(sys.argv) > 1 else "/tmp"
int numTapes = 8
float tapeDistance = 0.25
float stack = tapeDistance * (numTapes - 1)
float turnGap = 1.0
 spiral = pc.LameSpiral(a=25.0, b=35.0, n=4, pitch=stack + turnGap, nturns=1.75)
 wedge = pc.WedgeDomain(R0=60.0, R_in=10.0, R_out=120.0, Y=55.0, half_angle_deg=15.0)
list inner = [pc.Bend(-90.0, 5.0, ramp=2.0, hard=True), pc.Straight(2.0), pc.Bend(90.0, 5.0, ramp=2.0)]
list outer = []
 t = C.sample_spacing(1.0)
 S = pc.TapeStack(C, numTapes, tapeWidth, tapeDistance)
 d
 i
 j
 env = S.envelope().reshape(-1, 3)
 rho = np.hypot(env[:, 0] + wedge.R0, env[:, 2])
 phi = np.arctan2(env[:, 2], env[:, 0] + wedge.R0)
tuple gap_planes = (rho * np.sin(wedge.alpha - np.abs(phi))).min()
 ax = plt.figure(figsize=(11, 8)).add_subplot(111, projection="3d")
 r = np.array([C.r(s) for s in t])
 k1
 k2
 tapes
 sections_every
 c
 s_
 color
 lw
 ph = np.linspace(-wedge.alpha, wedge.alpha, 30)
 dpi
 FM

Detailed Description

Pancake coil in a 30 degree sector of a 12-coil machine, meshed for BELFEM.

The machine axis is parallel to y at x = -R0, z = 0.  The sector is bounded by
the planes at +-15 degrees about that axis (periodic pair), the cylinders
rho = R_in and rho = R_out and the planes y = +-Y.  Both leads leave radially
outward and end on the outer cylinder, where the stack end faces are the
current terminals.

    python3 main.py [workdir]

Variable Documentation

◆ ax

main.ax = plt.figure(figsize=(11, 8)).add_subplot(111, projection="3d")

◆ C

main.C = Cable()

◆ c

main.c

◆ centerline

main.centerline

◆ color

main.color

◆ d

main.d

◆ delta

main.delta

◆ domainRadius

main.domainRadius

◆ domainResolution

main.domainResolution

◆ dpi

main.dpi

◆ env

main.env = S.envelope().reshape(-1, 3)

◆ FM

main.FM
Initial value:
= pc.PancakeMesh(C, wedge, numTapes, tapeWidth, tapeDistance, ds=0.5, n_across=12,
domain_resolution=2.0, workdir=WORKDIR, name="pancake_wedge")

◆ gap

main.gap

◆ gap_planes

tuple main.gap_planes = (rho * np.sin(wedge.alpha - np.abs(phi))).min()

◆ i

main.i

◆ inner

list main.inner = [pc.Bend(-90.0, 5.0, ramp=2.0, hard=True), pc.Straight(2.0), pc.Bend(90.0, 5.0, ramp=2.0)]

◆ innerResolution

main.innerResolution

◆ j

main.j

◆ k1

main.k1

◆ k2

main.k2

◆ lw

main.lw

◆ numLayers

main.numLayers

◆ numTapes

int main.numTapes = 8

◆ numTapesPerLayer

main.numTapesPerLayer

◆ numTurns

main.numTurns

◆ outer

list main.outer = []

◆ ph

main.ph = np.linspace(-wedge.alpha, wedge.alpha, 30)

◆ phi

main.phi = np.arctan2(env[:, 2], env[:, 0] + wedge.R0)

◆ pitch

main.pitch

◆ r

main.r = np.array([C.r(s) for s in t])

◆ rho

main.rho = np.hypot(env[:, 0] + wedge.R0, env[:, 2])

◆ S

main.S = pc.TapeStack(C, numTapes, tapeWidth, tapeDistance)

◆ s_

main.s_

◆ sections_every

main.sections_every

◆ solderThickness

main.solderThickness

◆ spiral

main.spiral = pc.LameSpiral(a=25.0, b=35.0, n=4, pitch=stack + turnGap, nturns=1.75)

◆ stack

float main.stack = tapeDistance * (numTapes - 1)

◆ stackThickness

main.stackThickness

◆ t

main.t = C.sample_spacing(1.0)

◆ tapeDistance

float main.tapeDistance = 0.25

◆ tapeResolution

main.tapeResolution

◆ tapes

main.tapes

◆ tapeThickness

main.tapeThickness

◆ tapeWidth

float tapeWidth = 4.0

◆ turnGap

float main.turnGap = 1.0

◆ wedge

main.wedge = pc.WedgeDomain(R0=60.0, R_in=10.0, R_out=120.0, Y=55.0, half_angle_deg=15.0)

◆ WORKDIR

int main.WORKDIR = sys.argv[1] if len(sys.argv) > 1 else "/tmp"