|
| | 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 |
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]