femagtools 1.7.8__py3-none-any.whl → 1.8.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. femagtools/__init__.py +1 -1
  2. femagtools/amela.py +2 -2
  3. femagtools/dxfsl/area.py +142 -9
  4. femagtools/dxfsl/conv.py +2 -9
  5. femagtools/dxfsl/converter.py +33 -9
  6. femagtools/dxfsl/fslrenderer.py +13 -12
  7. femagtools/dxfsl/geom.py +39 -6
  8. femagtools/dxfsl/journal.py +2 -2
  9. femagtools/dxfsl/machine.py +14 -13
  10. femagtools/dxfsl/shape.py +3 -0
  11. femagtools/dxfsl/svgparser.py +31 -4
  12. femagtools/ecloss.py +381 -2
  13. femagtools/femag.py +55 -0
  14. femagtools/fsl.py +74 -47
  15. femagtools/isa7.py +41 -0
  16. femagtools/job.py +2 -2
  17. femagtools/machine/afpm.py +5 -1
  18. femagtools/machine/pm.py +1 -1
  19. femagtools/machine/sm.py +14 -0
  20. femagtools/machine/utils.py +4 -3
  21. femagtools/mcv.py +128 -124
  22. femagtools/me.py +13 -13
  23. femagtools/model.py +14 -1
  24. femagtools/moo/population.py +9 -7
  25. femagtools/nc.py +12 -0
  26. femagtools/plot/__init__.py +1 -1
  27. femagtools/plot/fieldlines.py +1 -1
  28. femagtools/plot/mcv.py +18 -0
  29. femagtools/plot/nc.py +22 -5
  30. femagtools/plot/wdg.py +40 -7
  31. femagtools/svgfsl/converter.py +6 -0
  32. femagtools/templates/gen_hairpin_winding.mako +36 -45
  33. femagtools/templates/gen_winding.mako +7 -0
  34. femagtools/templates/magnetIron.mako +30 -46
  35. femagtools/templates/magnetIron2.mako +39 -0
  36. femagtools/templates/magnetIron3.mako +39 -0
  37. femagtools/templates/magnetIron4.mako +39 -0
  38. femagtools/templates/magnetIron5.mako +39 -0
  39. femagtools/templates/magnetIronV.mako +34 -54
  40. femagtools/templates/magnetSector.mako +32 -47
  41. femagtools/templates/mesh-airgap.mako +12 -6
  42. femagtools/templates/prepare_thermal.mako +354 -0
  43. femagtools/templates/statorRotor3.mako +3 -22
  44. femagtools/windings.py +92 -59
  45. {femagtools-1.7.8.dist-info → femagtools-1.8.0.dist-info}/METADATA +20 -18
  46. {femagtools-1.7.8.dist-info → femagtools-1.8.0.dist-info}/RECORD +53 -53
  47. {femagtools-1.7.8.dist-info → femagtools-1.8.0.dist-info}/WHEEL +1 -1
  48. tests/test_fsl.py +1 -1
  49. tests/test_mcv.py +106 -1
  50. tests/test_windings.py +18 -2
  51. tests/test_mcvwriter.py +0 -96
  52. {femagtools-1.7.8.dist-info → femagtools-1.8.0.dist-info}/LICENSE +0 -0
  53. {femagtools-1.7.8.dist-info → femagtools-1.8.0.dist-info}/entry_points.txt +0 -0
  54. {femagtools-1.7.8.dist-info → femagtools-1.8.0.dist-info}/top_level.txt +0 -0
femagtools/windings.py CHANGED
@@ -32,18 +32,18 @@ def q1q2yk(Q, p, m, l=1):
32
32
  """returns q1, q2, Yk, Qb"""
33
33
  t = num_basic_windings(Q, p, l)
34
34
  Qb = Q//t
35
- qqb = Qb if l == 2 else Qb//2
35
+ qbb = Qb if l==2 else Qb//2
36
36
  pb = p//t
37
- if qqb//m % 2: # odd
38
- q2 = (qqb + m)//(2*m) - 1
37
+ if qbb//m % 2: # odd
38
+ q2 = (qbb + m)//(2*m) - 1
39
39
  q1 = q2 + 1
40
40
  else:
41
- q2 = (qqb)//(2*m)
41
+ q2 = (qbb)//(2*m)
42
42
  q1 = q2
43
43
  n = 1
44
- while (n*qqb + 1) % pb:
44
+ while (n*qbb + 1) % pb:
45
45
  n += 1
46
- Yk = (n*qqb + 1)//pb
46
+ Yk = (n*qbb + 1)//pb
47
47
  return q1, q2, Yk, Qb
48
48
 
49
49
 
@@ -118,22 +118,22 @@ class Winding(object):
118
118
  self.yd = coilwidth
119
119
 
120
120
  q1, q2, Yk, Qb = q1q2yk(self.Q, self.p, self.m, self.l)
121
+ j = 2 if layers == 1 else 1
121
122
  k1 = [(q1 + q2)*i for i in range(self.m)]
122
123
  k2 = (q1*(self.m+1) + q2*(self.m-1))//2
123
- j = 2 if layers == 1 else 1
124
124
  pos = [[(j*Yk*(k + n)) % Qb
125
125
  for n in range(q1)] for k in k1]
126
126
  neg = [[j*Yk*(k + n + k2) % Qb
127
127
  for n in range(q2)] for k in k1]
128
- if layers > 1:
128
+ if self.l > 1:
129
129
  slots = [sorted([(k, 1, 1)
130
130
  for k in p] + [(k, -1, 1)
131
131
  for k in n])
132
132
  for n, p in zip(neg, pos)]
133
133
  for i, p in enumerate(slots):
134
134
  slots[i] = sorted(slots[i] +
135
- [((k[0]+coilwidth) % Qb, -k[1], 0)
136
- for k in slots[i]], key=lambda s: s[0])
135
+ [((k[0]+self.yd) % Qb, -k[1], 0)
136
+ for k in slots[i]])
137
137
  else:
138
138
  if (coilwidth + 1) % 2:
139
139
  coilwidth += 1
@@ -147,10 +147,6 @@ class Winding(object):
147
147
  slots = [sorted([(k, 1, 1) for k in p] + [(k, -1, 1) for k in n])
148
148
  for n, p in zip(xneg, xpos)]
149
149
 
150
- if self.m > 3: # TODO: check this hack
151
- slots = slots[:self.m//2] + [[((k[0]+1) % self.Q, k[1], k[2])
152
- for k in s]
153
- for s in slots[:self.m//2]]
154
150
  taus = 360/self.Q
155
151
  self.windings = {
156
152
  i+1: dict(dir=[k[1] for k in s],
@@ -160,11 +156,13 @@ class Winding(object):
160
156
 
161
157
  def kw_order(self, n):
162
158
  """return winding factor harmonics"""
163
- if n == 0:
164
- return self.p
165
- g = np.arange(-n, n, 1)
166
- t = num_basic_windings(self.Q, self.p, self.l)
167
- return self.p + g * self.m*t
159
+ if np.isscalar(n):
160
+ if n == 0:
161
+ return self.p
162
+ g = np.arange(-n, n, 1)
163
+ t = num_basic_windings(self.Q, self.p, self.l)
164
+ return self.p + g * self.m*t
165
+ return n
168
166
 
169
167
  def kwp(self, n=0):
170
168
  """pitch factor"""
@@ -181,14 +179,15 @@ class Winding(object):
181
179
  nue = n
182
180
  else:
183
181
  nue = self.kw_order(n)
184
- if q1 == q2: # integral slot winding
185
- q = self.Q/2/self.m/self.p
186
- nuep = nue/self.p
187
- return np.sin(nuep*np.pi/2/self.m)/q/np.sin(nuep*np.pi/2/self.m/q)
182
+ #if q1 == q2: # integral slot winding
183
+ # q = self.Q/2/self.m/self.p
184
+ # nuep = nue/self.p
185
+ # return np.sin(nuep*np.pi/2/self.m)/q/np.sin(nuep*np.pi/2/self.m/q)
188
186
  k = 2 if self.l == 1 else 1
189
187
  a = nue*k*np.pi/self.Q*Yk
190
- t = num_basic_windings(self.Q, self.p, self.l)
191
- return np.real((np.sin(a*q1) - np.exp(1j*np.pi/t*Yk*nue)*np.sin(a*q2))/((q1+q2)*np.sin(a)))
188
+ t = self.Q//Qb
189
+ return ((np.sin(a*q1) - np.cos(np.pi/t*Yk*nue)*np.sin(a*q2))
190
+ /((q1+q2)*np.sin(a)))
192
191
 
193
192
  def kw(self, n=0):
194
193
  """return winding factor"""
@@ -245,53 +244,84 @@ class Winding(object):
245
244
 
246
245
  def slots(self, key):
247
246
  """returns slot indexes of winding key"""
248
- ngen = self.m*self.Q//np.gcd(self.Q, self.m*2*self.p)
249
247
  taus = 360/self.Q
250
-
251
- dim = int(self.l*ngen/self.m)
252
- slots = [(round((x-taus/2)/taus) + ngen*n) % self.Q + 1
253
- for n in range(self.Q//ngen)
248
+ t = num_basic_windings(self.Q, self.p, self.l)
249
+ Qb = self.Q//t
250
+ dim = self.l*Qb//self.m
251
+ ngen = t
252
+ qgen = Qb
253
+ if dim > len(self.windings[key]['PHI']):
254
+ qgen = qgen//2
255
+ ngen = 2*t
256
+ slots = [(round((x-taus/2)/taus) + qgen*n) % self.Q + 1
257
+ for n in range(ngen)
254
258
  for x in self.windings[key]['PHI'][:dim]]
255
- return np.array(slots).reshape((np.gcd(self.Q, self.p), -1))
259
+ return np.array(slots).reshape(t, -1)
256
260
 
257
- def axis(self):
261
+ def axis(self, k=1):
258
262
  """returns axis angle of winding 1 in mechanical system"""
259
- return self.mmf()['alfa0']
263
+ return self.mmf(k=k)['alfa0']
260
264
 
261
- def mmf(self, k=1, nmax=21):
262
- """returns the dimensionless magnetomotive force
263
- (ampere-turns/turns/ampere) and winding angle of phase k (rad)
265
+ def currdist(self, k=1, phi=0):
266
+ """return the current density of slots
264
267
  Arguments:
265
- k: (int) winding key (all if 0 or 'all')
266
- nmax: (int) max order of harmonic (in electrical system)
268
+ k: (int) winding key (all if 0 or 'all')
269
+ phi: (float) current angle (default 0)
267
270
  """
268
- m = len(self.windings) # number of phases
269
- if k in (0, 'all'):
271
+ if k == 0 or k == 'all':
270
272
  keys = self.windings.keys()
271
- else:
273
+ elif np.isscalar(k):
272
274
  keys = [k]
273
- t = femagtools.windings.num_basic_windings(self.Q, self.p, self.l)
274
- curr = np.zeros(self.Q//t)
275
+ else:
276
+ keys = k
277
+ m = len(self.windings)
278
+ t = num_basic_windings(self.Q, self.p, self.l)
279
+ cdist = {k: np.zeros(self.Q//t) for k in keys}
275
280
  for z in self.zoneplan():
276
281
  if z:
277
282
  for j in keys:
278
283
  a = np.zeros(self.Q//t)
284
+ curr = np.cos((j-1)*2*np.pi/m - phi)
279
285
  for s in z[j-1]:
280
286
  d = -1 if s < 0 else 1
281
- a[abs(s)-1] = d*np.cos((j-1)*2*np.pi/m)
282
- toggles = np.sort(np.hstack(
283
- (np.nonzero(a>0), np.nonzero(a<0)))[0])
284
- l = 0
285
- for u in toggles:
286
- if a[l] == 0:
287
- a[l:u] = a[toggles[-1]]
288
- else:
289
- a[l:u] = a[l]
290
- l = u
291
- a[l:] = a[l]
292
- curr += a
293
- NY = 4096
294
- y = [[c]*NY for c in curr]
287
+ a[abs(s)-1] = d*curr
288
+ cdist[j] += a
289
+ return cdist
290
+
291
+ def mmf(self, k=1, nmax=21, phi=0):
292
+ """returns the dimensionless magnetomotive force
293
+ (ampere-turns/turns/ampere) and winding angle of phase k (rad)
294
+ Arguments:
295
+ k: (int) winding key (all if 0 or 'all')
296
+ nmax: (int) max order of harmonic (in electrical system)
297
+ phi: (float) current angle (default 0)
298
+ """
299
+ cdist = self.currdist(k, phi)
300
+ num_slots = len(cdist[list(cdist.keys())[0]])
301
+ t = self.Q//num_slots
302
+ clink = np.zeros(num_slots)
303
+ for j in cdist:
304
+ a = cdist[j]
305
+ ap = np.zeros(len(a))
306
+ l = 0
307
+ v = 0
308
+ for n in np.nonzero(a>0)[0]:
309
+ ap[l:n] = v
310
+ v += cdist[j][n]
311
+ l = n
312
+ ap[n:] = v
313
+ an = np.zeros(len(a))
314
+ l = 0
315
+ v = 0
316
+ for n in np.nonzero(a<0)[0]:
317
+ an[l:n] = v
318
+ v += cdist[j][n]
319
+ l = n
320
+ an[n:] = v
321
+ clink += an + ap
322
+
323
+ NY = 4096 # number of samples per slot
324
+ y = [[c]*NY for c in (clink-np.mean(clink))]
295
325
  yy = np.tile(np.hstack(
296
326
  (y[-1][-NY//2:], np.ravel(y[:-1]), y[-1][:-NY//2])), t)
297
327
  yy /= np.max(yy)
@@ -309,7 +339,6 @@ class Winding(object):
309
339
  freq = np.fft.fftfreq(N, d=taus/NY)
310
340
  T0 = np.abs(1/freq[imax])
311
341
  alfa0 = np.angle(Y[imax])
312
- # if alfa0 < 0: alfa0 += 2*np.pi
313
342
  pos_fft = np.linspace(0, 2*np.pi/t, 20*pb)
314
343
  D = (a*np.cos(2*np.pi*pos_fft/T0+alfa0))
315
344
  nue, mmf_nue = np.array(
@@ -317,11 +346,15 @@ class Winding(object):
317
346
  np.arange(0, nmax),
318
347
  2*np.abs(Y)/N) if f > 0]).T
319
348
 
349
+ if alfa0 > 0:
350
+ alfa0 -= 2*np.pi
351
+
320
352
  return dict(
321
- pos=[i*taus/NY for i in range(NY*self.Q//t)],
353
+ pos=(taus/NY*np.arange(NY*self.Q//t)).tolist(),
322
354
  mmf=yy[:NY*self.Q//t].tolist(),
323
355
  alfa0=-alfa0/self.p,
324
356
  nue=nue.tolist(),
357
+ currdist={k: cdist[k].tolist() for k in cdist},
325
358
  mmf_nue=mmf_nue.tolist(),
326
359
  pos_fft=pos_fft.tolist(),
327
360
  mmf_fft=D.tolist())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: femagtools
3
- Version: 1.7.8
3
+ Version: 1.8.0
4
4
  Summary: Python API for FEMAG
5
5
  Author-email: Ronald Tanner <tar@semafor.ch>, Dapu Zhang <dzhang@gtisoft.com>, Beat Holm <hob@semafor.ch>, Günther Amsler <amg@semafor.ch>, Nicolas Mauchle <mau@semafor.ch>
6
6
  License: Copyright (c) 2016-2023, Semafor Informatik & Energie AG, Basel
@@ -37,31 +37,33 @@ Classifier: Topic :: Scientific/Engineering
37
37
  Requires-Python: >=3.7
38
38
  Description-Content-Type: text/markdown
39
39
  License-File: LICENSE
40
- Requires-Dist: numpy <=1.26.4
40
+ Requires-Dist: numpy<=1.26.4
41
41
  Requires-Dist: scipy
42
42
  Requires-Dist: mako
43
43
  Requires-Dist: six
44
44
  Requires-Dist: lmfit
45
- Requires-Dist: netCDF4 >=1.6.5
46
- Provides-Extra: all
47
- Requires-Dist: femagtools[dxfsl,meshio,mplot,svgfsl,test,vtk,zmq] ; extra == 'all'
45
+ Requires-Dist: netCDF4>=1.6.5
46
+ Provides-Extra: rdp
47
+ Requires-Dist: rdp; extra == "rdp"
48
48
  Provides-Extra: dxfsl
49
- Requires-Dist: dxfgrabber ; extra == 'dxfsl'
50
- Requires-Dist: networkx ; extra == 'dxfsl'
51
- Provides-Extra: meshio
52
- Requires-Dist: meshio ; extra == 'meshio'
53
- Provides-Extra: mplot
54
- Requires-Dist: matplotlib ; extra == 'mplot'
49
+ Requires-Dist: dxfgrabber; extra == "dxfsl"
50
+ Requires-Dist: networkx; extra == "dxfsl"
55
51
  Provides-Extra: svgfsl
56
- Requires-Dist: dxfgrabber ; extra == 'svgfsl'
57
- Requires-Dist: networkx ; extra == 'svgfsl'
58
- Requires-Dist: lxml ; extra == 'svgfsl'
59
- Provides-Extra: test
60
- Requires-Dist: pytest ; extra == 'test'
52
+ Requires-Dist: dxfgrabber; extra == "svgfsl"
53
+ Requires-Dist: networkx; extra == "svgfsl"
54
+ Requires-Dist: lxml; extra == "svgfsl"
55
+ Provides-Extra: mplot
56
+ Requires-Dist: matplotlib; extra == "mplot"
57
+ Provides-Extra: meshio
58
+ Requires-Dist: meshio; extra == "meshio"
61
59
  Provides-Extra: vtk
62
- Requires-Dist: vtk ; extra == 'vtk'
60
+ Requires-Dist: vtk; extra == "vtk"
63
61
  Provides-Extra: zmq
64
- Requires-Dist: pyzmq ; extra == 'zmq'
62
+ Requires-Dist: pyzmq; extra == "zmq"
63
+ Provides-Extra: test
64
+ Requires-Dist: pytest; extra == "test"
65
+ Provides-Extra: all
66
+ Requires-Dist: femagtools[dxfsl,meshio,mplot,svgfsl,test,vtk,zmq]; extra == "all"
65
67
 
66
68
 
67
69
  # Introduction to Femagtools
@@ -1,7 +1,7 @@
1
- femagtools/__init__.py,sha256=IMI_VJRNeQ6AIOgvTTSX0fWesQvaeOGn3EQjG6grlKk,1600
1
+ femagtools/__init__.py,sha256=LOLIDnRqx1rFlY3VW2IB1PaBPwEYtzPgv2UIqP0QKZU,1600
2
2
  femagtools/airgap.py,sha256=hELJXe52yUw82JwZ1tGUXUtRhMG2_WSUBVeGkTZSAM8,1900
3
3
  femagtools/amazon.py,sha256=O1ICuv21XDAJi1qK1Sigs2TdS6hDZP19OzvmE2t76wU,12069
4
- femagtools/amela.py,sha256=pHjfXzpANI-7oz8MtrqNcyDZ6PxVM91vCJuvYhHy1rk,13891
4
+ femagtools/amela.py,sha256=RFTuQ5EcX19G2YJchnktr6j62mNptrdTreShQDOeuKA,13874
5
5
  femagtools/asm.py,sha256=CiL0KWaF4P7O6-VwmGLdva_icwmPrPiI-TFQ19XYTKk,7660
6
6
  femagtools/bch.py,sha256=l-0j7HsKSQxTjwhjJbwDgrnNcQ3ITw1vYroSDbgx_Ec,73962
7
7
  femagtools/bchxml.py,sha256=KrRjAdrUPZXmiWvonu9HhpG_NvImMBpiXWTL4iSr4kE,3142
@@ -13,29 +13,29 @@ femagtools/dakota.py,sha256=L2zZdACdhso7szwN_s5tsmeEbcuUygE2JK4SxwtL79w,6901
13
13
  femagtools/dakota_femag.py,sha256=ipmMUMTK1mvMpfHJJjwHa_4kx7BItYO3ha8MeYJTyy8,4068
14
14
  femagtools/dakotaout.py,sha256=6nn0PXsB40mPKiQLenqAtHy0KXCO7kvqqQ-aD2JhQvw,5573
15
15
  femagtools/docker.py,sha256=XDVmLBB0z4sZZpcrx7Wbm84xl4ksj7aqn5-ZOPxdxm4,7460
16
- femagtools/ecloss.py,sha256=gaZ8JmlFVoP6IYe79YXPXvZSULm8IZr6bPBdKuyKaIo,12832
16
+ femagtools/ecloss.py,sha256=0nD2_R7ISl6OGG_l8FLi27ynLG9SlzhJBy13sBoR8Ts,33743
17
17
  femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
18
- femagtools/femag.py,sha256=5l1T4-oZ-5U_h2v1disLmQR5wxuHDW3SF6_qrZZShIY,44155
18
+ femagtools/femag.py,sha256=5zOcfUHkAgdhWsOROuAijLaTQMt7JF5xpszwQR_G7Zs,45990
19
19
  femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
20
- femagtools/fsl.py,sha256=-dN5owgRz72MWlezegoKDDPvG8y-EhZW13qIbxyXpm8,35106
20
+ femagtools/fsl.py,sha256=Ap-U7g3BO8uBGUyElkwRgaHHK0WK5XDRC7NfdXaK8lk,36182
21
21
  femagtools/getset.py,sha256=yJ6Em35DeWK7WNZW0qjjS5s7LUkVh5mbgxF59HHm5FM,3017
22
22
  femagtools/gmsh.py,sha256=IKhNiviIBji4cMxAhxaYXNqBRMNAPSKsBGdnGyxkyQw,3903
23
23
  femagtools/google.py,sha256=ugRyHY1zBjHR4aNfbA7GeF-ZU_NgleuVTZaWpi_XLT4,17144
24
24
  femagtools/grid.py,sha256=s7LfKKLm2H4-cza2kSEANq6vwxq10Su3TJl3kHShHRA,1561
25
25
  femagtools/heat_source_network.py,sha256=dz3nTK084SR2fyy1167wlpBlGrzv54OqCCGKPNWqpsU,16836
26
26
  femagtools/hxy.py,sha256=PkiZ_-CRhtvtpkmLAP8iMtwvzh7CjKGGcAbOhFb4Nls,6275
27
- femagtools/isa7.py,sha256=d5AcAmvjSipC7SJ8eAaRcPC0rbEuIxHNAk9JdrVU3yQ,58355
27
+ femagtools/isa7.py,sha256=bso2gRHTNoDgupWUAmormQD9Izj1l1EcT9XxvybiD8Y,60197
28
28
  femagtools/jhb.py,sha256=stJxkmzHpfUIBVcFw7jWbV5KN9_EFqzOCgacyhUqWvM,1779
29
- femagtools/job.py,sha256=dOatzr10nIda76CjVRSS0SfEWC8_BAw0kowli523qbY,11320
29
+ femagtools/job.py,sha256=sIRVXsyoupfRXqGsWyOHMetcKlWIyggxfVURjM8aD54,11322
30
30
  femagtools/losscoeffs.py,sha256=Nil2fvkkS6-T29OnHIsdVbegCHyl23iZg8rMVbbA5wY,6785
31
31
  femagtools/magnet.py,sha256=Nuk060bT4Wa3lX74HdefqTTtUxLaERDSBYTTpbi6KP4,1093
32
- femagtools/mcv.py,sha256=Y5tCBEhm6k64m9xQ-salId5e-U29nNTz-iH4MHTbE5Y,40673
33
- femagtools/me.py,sha256=XNK0l-aroNYfKyxV_uslE8q3vJb_KuntAYTWd-4FQaQ,1833
34
- femagtools/model.py,sha256=J6AJS9DHUb3gnp1d9QakOL2E6WgpnCIqsAOU5xieH9M,17307
32
+ femagtools/mcv.py,sha256=jZrlWHvTlHzHFjk0zr2aGkHtE5ahuzhDE-SVtey6xnQ,40554
33
+ femagtools/me.py,sha256=z6RJkvSbgMmorCQTxKvq44uIYKh82uYYExjkNePJCmE,1813
34
+ femagtools/model.py,sha256=sqv2qdcL3MHv_6hcwsAtO03UHbteRipY60BcaHGGfcU,17863
35
35
  femagtools/moproblem.py,sha256=kOP8pRdD8YXz28_M2WKnFgl3eeJ7tqg49ohoazsmUOg,2825
36
36
  femagtools/multiproc.py,sha256=7mJF-VU1NrJkENyg8eHtDrDRNBwLPK43phZv3ehm9BU,8435
37
37
  femagtools/mxw2msh.py,sha256=CIIqAvfs8U-A0OfuOAoDaqNSmoMSHSI_tW1CPFRCP5E,2151
38
- femagtools/nc.py,sha256=9S9AXNj909A7qQiJFe6jFTXYzh4_yZpkeXj6IiohtJo,14684
38
+ femagtools/nc.py,sha256=bAj3iurE9WaovoCi76ry2aJZJ6rC1zO6xWrfsSD6lrc,15160
39
39
  femagtools/netlist.py,sha256=CSCl8setLZ_L8DCnNWaNA3-wLe1yo-fmzARZoVvYfaA,2052
40
40
  femagtools/ntib.py,sha256=76g1ZO3Fq_kN-HTMBvaKvJmMMlJMyEPFeNAcJPq3w7Y,3099
41
41
  femagtools/opt.py,sha256=wBU0yh3hZlNti_zfIvtKcPg1EJrnE3I1BqmVxLGWixU,8753
@@ -46,52 +46,52 @@ femagtools/ts.py,sha256=x9aCMVASjdBZuyI2pJGMyi1dveGFd_pWQ20cZ-l_moc,47216
46
46
  femagtools/utils.py,sha256=1SX5s21xyW8u0NF_Hjs7DByyCTdLm9VRArLburTyHR0,1581
47
47
  femagtools/vbf.py,sha256=9XGfhftmD9carU8ByQ5DwqoR4daq5mJ39eMqruwml0Q,2444
48
48
  femagtools/vtu.py,sha256=Sf83dHIfCKY2km-MIUHKKoj-JKN4PDX7kkPLZXyIYY4,10723
49
- femagtools/windings.py,sha256=Y2LGsr4QKBH_-HkMTB7zGMxrHHQVROOX2zpBSSk2DFY,22846
49
+ femagtools/windings.py,sha256=OYoEFIQci3f3sYJkcyRjBpBpDRtX2Y2aHZiRXOEgsls,23497
50
50
  femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
51
- femagtools/dxfsl/area.py,sha256=Y7qNteasOB54hzo-QkDlHdjcym74FKJVdUrKaCFy23I,60813
51
+ femagtools/dxfsl/area.py,sha256=74VwDSvBLrxpIo_oxU3FGbg3ef_4L8F2IJTG-dJArz8,65208
52
52
  femagtools/dxfsl/areabuilder.py,sha256=Siu11yRcNJiSCWwc865-OvuVhSmLtRQWysbe1-rUcN0,34197
53
53
  femagtools/dxfsl/concat.py,sha256=F6scwesxyOmfmKQ5kGspNCxA71Yz6QgxFL7lTj3hsaI,13385
54
- femagtools/dxfsl/conv.py,sha256=Z_jf4OTxikr-SoUuBew_wrEj32qcGPyEp7VMtkRJx9M,10747
55
- femagtools/dxfsl/converter.py,sha256=47_AaZNCEXLpwwj17i7mef-QD7P_jusKaYYMfyMASow,33654
54
+ femagtools/dxfsl/conv.py,sha256=TaYqaeRwrK98mPh9uH33SmpmVW48U2v-qnDKs2cjcj8,10600
55
+ femagtools/dxfsl/converter.py,sha256=B0r9MWZbsiIWukHotZ7NMq8rse1FadAaOblxbvDDyw4,34490
56
56
  femagtools/dxfsl/corner.py,sha256=-XPBcnEau-2-SRHLYzlBqCQGaFfgm_DH2qR1mSaFoAs,1311
57
57
  femagtools/dxfsl/dumprenderer.py,sha256=n4AvInjvGIaC2iKZtQaYXXDyJVSQ3uEOFOLD4-xfKRY,1861
58
58
  femagtools/dxfsl/dxfparser.py,sha256=kyXG0kZfNyOgn96MqBgP8RhOQhppfB5NbyRNNybs1C0,13451
59
59
  femagtools/dxfsl/femparser.py,sha256=O8940Q1Mz8MKng6W8M3s9KfTvhDLJ56tfQWtZEW3xMM,2134
60
- femagtools/dxfsl/fslrenderer.py,sha256=R_XSTSu0Cetj0UfPcRmdVQz0uY9ouI9Nhhf1HpLh2eE,27376
60
+ femagtools/dxfsl/fslrenderer.py,sha256=Z6jLpwuDCwUyQFf9YinSnJ7u_9WAb71MIgSOugdt0-8,27540
61
61
  femagtools/dxfsl/functions.py,sha256=teJHtVxoViGs66AB8_4BxRrFQx9SbPT2azIrKyhJHOc,12005
62
- femagtools/dxfsl/geom.py,sha256=75fbgCBNldGnQObFhft9muN-7MuSTK9dWHgFH16aRNA,171186
63
- femagtools/dxfsl/journal.py,sha256=S17B7wsrq5QzIUbjgg0ntvnpgH0thHq9aQXO7GdYlQQ,4265
64
- femagtools/dxfsl/machine.py,sha256=NoUtAg-li3djMHg0jMqNoFp-aupSlrM_yrQ9kM4ip28,50222
62
+ femagtools/dxfsl/geom.py,sha256=iHrHdC8yOTfE1bRSbsM2hVd0LH_sx7Ws42-SX0TBSzM,172502
63
+ femagtools/dxfsl/journal.py,sha256=4LMSW5wCYlETzid6SIF8b5DH-DCgtH4nFx-xIxjtbfg,4265
64
+ femagtools/dxfsl/machine.py,sha256=M6KzOzmeb3Al2Hp3BjlgYWKGpbRrOPwKeN5VFXS2qF8,50415
65
65
  femagtools/dxfsl/plotrenderer.py,sha256=q2cORuxJEf1Ws6oCY9c0gF6N3kDrcI6WOz3u5Vl6R_c,13823
66
- femagtools/dxfsl/shape.py,sha256=ZmWw7VTSJs5rcY1Lh99MKo804mO7dSGHdKMIh-nVBow,59904
67
- femagtools/dxfsl/svgparser.py,sha256=R8V2V5jE6JyVfzshJVaPgsSuMlQf_pwJTFvrTrKDxZ0,2905
66
+ femagtools/dxfsl/shape.py,sha256=kz68mPsK1m5jRnE-5iNS3FX2IkpSHOe0X3OdEklGR80,59970
67
+ femagtools/dxfsl/svgparser.py,sha256=FE8Jk3pV6e4AtJlrJuUxz89_JZC9buS0wwTBsX52O1g,3762
68
68
  femagtools/dxfsl/symmetry.py,sha256=0WeDq_z42A_cjG4m_vREDWyx-wqHqXDkoCT2eXh2EMo,38084
69
69
  femagtools/machine/__init__.py,sha256=U8W65K7jr7jDdC1KnJh0WjYd8DFaLnIFVvlh-TKcV94,7174
70
- femagtools/machine/afpm.py,sha256=hNyDFRLGmCuWRPZl_u1ztJ4pA-Y_mxLaVvg3UJkzRuE,24766
70
+ femagtools/machine/afpm.py,sha256=3hJTmQxeYDyfTelr_sMEFOB6CsTIFTqmnNH3SfiZQzU,24956
71
71
  femagtools/machine/effloss.py,sha256=GV_bc5f1ysBi1Ng7FR3fD1xh5KXa6ACc55iWfsltMBI,13663
72
72
  femagtools/machine/im.py,sha256=3Y54AHMZfAjkvgexx2E-5jxNWzaVQ-SyaETCh7gNBYA,38008
73
- femagtools/machine/pm.py,sha256=iAi2iVk5REPB51Tz_mLrItofFBVQ2ZWzDsqlsu08ldM,68129
73
+ femagtools/machine/pm.py,sha256=C4vDdPIsIRUKtzY3b1RNT1v37p1uP3pMUduftNejcPc,68129
74
74
  femagtools/machine/sizing.py,sha256=nWCfxbyWfbw5-7xu0qZ6zjWNquEPn3fUH-fQeGb6QUc,24307
75
- femagtools/machine/sm.py,sha256=Lb1urOMl-RoPFqxaMb9fN-aHqlNsMyUWabhn1O2jlos,38807
76
- femagtools/machine/utils.py,sha256=37_Z8aYlS1peKsk_d1df8_yn9RNCvTdkMJ0k2Yt9XfA,20856
75
+ femagtools/machine/sm.py,sha256=y_zPZN0gGKUQL8RCyhyyfeJE_cSRPK5Mmk93HQPzTFM,39379
76
+ femagtools/machine/utils.py,sha256=CRTY5qwlaN_Zp5SZgxicXTfZyVU5fjtm4XKEA-peNCc,20856
77
77
  femagtools/moo/__init__.py,sha256=zinmWEOrsEz6DmMX0Dbn4t6_1UR-p4bEGqyR1wUQk_Q,175
78
78
  femagtools/moo/algorithm.py,sha256=e-Cgp2rp_hG9DXqWqluzQGNIWvCfthUgLD8O-aVPofA,5763
79
- femagtools/moo/population.py,sha256=qGEsm-2Ys_pTkVQv3Zv36HzOlqUxtMvM6NqY_KytsUE,10060
79
+ femagtools/moo/population.py,sha256=krIl8tOJXPhCgBemkqn-jwvZg1VzsGniqMN_KAFxbuw,10203
80
80
  femagtools/moo/problem.py,sha256=McIGKAXK97Jygumns0qmFeYxTG6KDRSQj2aENeC9F9A,2391
81
81
  femagtools/moo/test/AlgorithmTest.py,sha256=KzR1og4bu6NOE61DDKjEMTQdsysmho4LCYmJ6WZoILo,2535
82
82
  femagtools/moo/test/PopulationTest.py,sha256=lG9NeWo0xrslfQRa4tgy1Nj23VJMFIlg_vQ9KUBYnRA,5529
83
83
  femagtools/moo/test/ProblemTest.py,sha256=r5XEfY4LPscDb35TxxPd0lbP3nUmL6_G6vrRo1I3RSg,505
84
- femagtools/plot/__init__.py,sha256=dD_wvo6sGc8jvJYD1b0Z7oxCE4O9uQ3Igb5DeAjZDWU,939
84
+ femagtools/plot/__init__.py,sha256=f0yNw9NhadltPIu7zRWwTAY6FgHKeq9ul-3UcnK8Fmk,949
85
85
  femagtools/plot/bch.py,sha256=_EEPPEqtEPeWco3xlQqUuZft1eF-IXbMNnXyd8pYEJs,28873
86
86
  femagtools/plot/char.py,sha256=gVWPQTJkU8VkbCGFD62zfmZA_K0KlZ7EjorhwshhnZA,12123
87
- femagtools/plot/fieldlines.py,sha256=QtKF4nhnQ_FHHGh9Qez3GVmym0CLhW1ZyIKtk4pzos4,1136
87
+ femagtools/plot/fieldlines.py,sha256=_7ykKhnQLeS4fz34pnzovH1gIhcUSKJ3gl1GUgWYix8,1137
88
88
  femagtools/plot/fluxdens.py,sha256=NlexRJ3f_8CgKoWrV82ZIsAXPrLhwj98uOe8_fUks7A,1082
89
89
  femagtools/plot/forcedens.py,sha256=Vloi9czy7qbGXI-Vm7Cow6IfHTsFhCLI1YWduFOR55c,4075
90
- femagtools/plot/mcv.py,sha256=NwDBe40PQgKqWh_rM89k-vsxRmvyjetv4y7elXzTPZU,3099
91
- femagtools/plot/nc.py,sha256=Un1F9V_M8tkvQpXjqDoUiRi8jvsriGYNl04GrAhHCmI,10392
90
+ femagtools/plot/mcv.py,sha256=ijZg6KPwZC7sDxEzGEUfVWvDoSEfgcaH-hzQMt7E90I,3671
91
+ femagtools/plot/nc.py,sha256=S_Rb0ax4O0pFVzcL4JctwfXl6-uQFHUJwoeQMftibJM,10839
92
92
  femagtools/plot/phasor.py,sha256=5QG1GkXKVksc8P6Q4thKADf6W1l8rDKeArIHFYvbXlw,4858
93
- femagtools/plot/wdg.py,sha256=U0IoQ1WW0N_C-jeAU7gr4sLqPa_W7CsjgtGCo1M03uo,8866
94
- femagtools/svgfsl/converter.py,sha256=ZwHOugB-LwIKDz27tjKWiA_dMA4JOL1FWWXPs812uwc,2748
93
+ femagtools/plot/wdg.py,sha256=Orw2XGThHpOuJ_raSRnQTzj5tOmwllNWweByoOXbA7I,9820
94
+ femagtools/svgfsl/converter.py,sha256=5q4LognshXNTpUWLnU5rtgCfAwZnEuPzqsgyeRYC-VM,3019
95
95
  femagtools/templates/FE-losses.mako,sha256=Rql5_8Q6_uthpr-uFXMUo7tdHehfZYND-7M-ohJXVU8,874
96
96
  femagtools/templates/afm_rotor.mako,sha256=fY-dlZvRLN9UAy5V6Q_inWghkSUe8pzrCYjJdNgfNXs,3112
97
97
  femagtools/templates/afm_stator.mako,sha256=l1xEwxffZ1jyx5wuJ3rhVbVlZirJzD2K8n4i5Dvbxuc,5344
@@ -111,8 +111,8 @@ femagtools/templates/displ_stator_rotor.mako,sha256=dsf9qW0i79aWAbOxaHwWfiq-Tn6W
111
111
  femagtools/templates/ec-rotorbar.mako,sha256=RbA1TVNczEEddTNjvGLPxILExxp4rIgoxXe1YT6a4Is,1672
112
112
  femagtools/templates/fe-contr.mako,sha256=NoP7FQ62ITxgNmwP6GmkCnGhjEn5gPLUFgdLdhkKylY,1983
113
113
  femagtools/templates/fieldcalc.mako,sha256=bEtff9HeD6hTpB9t3COt40V1oGeT0a_6ouWTQlKIGX8,749
114
- femagtools/templates/gen_hairpin_winding.mako,sha256=U8ZBe49WoRyUivcFgoJpwFRhQKlBQJthhCGVSf9emgY,5871
115
- femagtools/templates/gen_winding.mako,sha256=xmCoMjAcITpsIf8we8g9eQQPMra8A2riKSyKHh48hik,3827
114
+ femagtools/templates/gen_hairpin_winding.mako,sha256=mQ8TyFYzSyKazpu4uiyS0UdVrl4PobHN-J6FE74IWs8,5329
115
+ femagtools/templates/gen_winding.mako,sha256=kVMRkonDLHRB12bJ5e0Pwb1-8hBGVMM4dn1FEo70bok,3984
116
116
  femagtools/templates/inductances.mako,sha256=OpcW3E7LW09J8eoXylzfq2R16LKKxzJDr0PGCdHzixM,560
117
117
  femagtools/templates/ld_lq_fast.mako,sha256=BEQoplL7Ojqg5caldzAhMLKL-3E78wCSSbz5-KkDk2o,1359
118
118
  femagtools/templates/leak_dist_wind.mako,sha256=vs8fpxcM203kL8BVNuR8BKSmMsQM6U1_vTtYXZIfdSc,600
@@ -120,17 +120,17 @@ femagtools/templates/leak_evol_wind.mako,sha256=JKff7ZEpndKmFYr7R0xaef_49YV6TG0t
120
120
  femagtools/templates/leak_tooth_wind.mako,sha256=LYCPSXhSLApidthuuGNiApLh0EJZOPZmTX0LZ5cOblQ,431
121
121
  femagtools/templates/magnet-data.mako,sha256=j96ihn0S-Z1PrWMsC0BQZuPYfL6vImKOVYDSxH5-cK0,1271
122
122
  femagtools/templates/magnetFC2.mako,sha256=AB2KlOHc9y1aoLXRP_v6ncok3LC2t7diJd20Rb_7tLc,788
123
- femagtools/templates/magnetIron.mako,sha256=m1uXJni0dPhjYUtbEJAT9vtWoYkw1GeuIz-E9X1A6UU,3070
124
- femagtools/templates/magnetIron2.mako,sha256=ZK1F0oon1Go3-942D4ci9kq9938KHpHlQdKyJZpH09c,1426
125
- femagtools/templates/magnetIron3.mako,sha256=d62XtiW1Vtb6pjt4A-8paficft3NUOUzjQem_1sd7xs,2315
126
- femagtools/templates/magnetIron4.mako,sha256=qZ8coX7Am8bjXKiolD2Vjq2MGlScHbyBL6kh7ImvGww,1413
127
- femagtools/templates/magnetIron5.mako,sha256=IA8eRlow8UT98p2W7qCTsROxAdWHKPSCkIjbJZjqyio,1376
128
- femagtools/templates/magnetIronV.mako,sha256=Z5ri81TltpBI3UAnVo0gWljlFyILczub-6-44yb-Z58,3960
129
- femagtools/templates/magnetSector.mako,sha256=db_i1jNJ4TONkBIEKVIWVRZkEJWPwO_r4MoZditItJU,3520
123
+ femagtools/templates/magnetIron.mako,sha256=e3WWF246o-yTOyS5LP4zDPm82XsOeCDKhCSTnOwoXOc,2524
124
+ femagtools/templates/magnetIron2.mako,sha256=RiKzraJS883me2yt1D7JekkK9kpXtDyVCMc-BgSqzj0,2577
125
+ femagtools/templates/magnetIron3.mako,sha256=ATQHbk5vyxJ3BDSk-I097bBz9mUDo-rCs7Mw5a0rbD4,3467
126
+ femagtools/templates/magnetIron4.mako,sha256=DsLxLU1avNffXtnioGubIMGMoFfizq5pcVfxkfYNhcU,2564
127
+ femagtools/templates/magnetIron5.mako,sha256=qvcb1WRf43LTFIzDuacXg3zkBK7lXM-GovGPjsl8L74,2527
128
+ femagtools/templates/magnetIronV.mako,sha256=KQAUxg6kKoJqdUWQJpHDGlMpG_e9Un_ZD36bfpbLlBg,3359
129
+ femagtools/templates/magnetSector.mako,sha256=vSyZVkYtuX2Bct5kpRRGjqez3xnca5PJVPFFqsptFKk,3167
130
130
  femagtools/templates/magnetSectorLinear.mako,sha256=ez2rkZslw66Zy4DCDiLjI2K45nEjGgunl0jsXseO_Zs,727
131
131
  femagtools/templates/magnetShell.mako,sha256=vpyZIZ5tOsrmUVM00Kime7zyu1lK9P61xq78jB8BLdo,1295
132
132
  femagtools/templates/magnetShell2.mako,sha256=4IJBfBTPxuYHr1SAcVvNdQoGd8emwsx8vMKQPI9pRlc,4080
133
- femagtools/templates/mesh-airgap.mako,sha256=9fESevBQJSIf0uCWJIRqhZaj-2-HEjR3nJl-YfKebPo,3685
133
+ femagtools/templates/mesh-airgap.mako,sha256=Pn3lDoWMoHFmT_u9yhsdhBBORxcGJWuAY5Qg5aW1H8w,3858
134
134
  femagtools/templates/modal_analysis.mako,sha256=Thf62FBqL738qnp1ongPr196GJY27vwElKqPfMWF45s,2298
135
135
  femagtools/templates/modified_steinmetz.mako,sha256=qrJ18XtoU39kjbcdywCJCLObQGaO-eC3Cl-1P4xLZWg,1327
136
136
  femagtools/templates/mult_cal_fast.mako,sha256=FhqRZQaBIIvmx0LgKXVLOIjz7LshoDFHqhkD0QGlX8A,1255
@@ -143,6 +143,7 @@ femagtools/templates/plots.mako,sha256=6xfmncVbzDiJLF6V0B6fha23H19R7P26DvcTTwzJ5
143
143
  femagtools/templates/pm_sym_f_cur.mako,sha256=KlskcNx5Y_HNwt2crA7CqHN5TIaKBb14T6cFg2vghl0,1464
144
144
  femagtools/templates/pm_sym_fast.mako,sha256=NOSbuWSEM2XGY5-JweGxSr32mXGBVSas_aSOQyK4uEU,2361
145
145
  femagtools/templates/pm_sym_loss.mako,sha256=dh0o3ZamZuWs7sHc-jS7ohKsqeZCA0tRaqkaFmXlRS0,1009
146
+ femagtools/templates/prepare_thermal.mako,sha256=H8YRqE8i5AiRPl-dE3obiMhiuO9vm5L7ASeqPJoUozg,9521
146
147
  femagtools/templates/psd_psq_fast.mako,sha256=7DQUZI6KOjdKQMFLKySGUlWXo4U_rZuHXFzLxiA1GGc,1339
147
148
  femagtools/templates/ring.mako,sha256=Cuc_FuCPWZM-g3TxHqzTdjknYEJSUgP-y64gp8pekDI,643
148
149
  femagtools/templates/rot_hsm.mako,sha256=eh50TbpWNUALK9_7wOOJ7KPewHos7JExAfMACbPlXYc,973
@@ -158,7 +159,7 @@ femagtools/templates/stator3Linear.mako,sha256=pNe3C1wT0W2C0qePo3sEyebW1z_dpTuJz
158
159
  femagtools/templates/stator4.mako,sha256=Jq8pfIuOmmpyGOL1z2aQZfbwMS5-Zyn6OGJ51LCBVKs,1179
159
160
  femagtools/templates/statorBG.mako,sha256=fh0cVOZVWyLojlGxWJoFz2pvdL6Yxy4xzhY-Joc2xeg,893
160
161
  femagtools/templates/statorRing.mako,sha256=sDgDmk71EoE8d4e9cmyqKqRldfC8uKMmpHEjXJGIt_k,2071
161
- femagtools/templates/statorRotor3.mako,sha256=ynN1GG9rKvAWAPV-vgOImCDzBlkO_UY9ix8uQ7HUKTI,5117
162
+ femagtools/templates/statorRotor3.mako,sha256=6ycHlkSnk-TKFdoxiOqjpr6Pk0l634w3_O94vvRP4BI,4357
162
163
  femagtools/templates/stator_msh.mako,sha256=Neze1ielMCk7TrARyhOra91fFQVT8Phsgk2Omt_aMG8,1799
163
164
  femagtools/templates/therm-dynamic.mako,sha256=pEz7jrUpopK1-RqgulNnrkSaCZDjfLelsVo6cBqmpac,3142
164
165
  femagtools/templates/therm_static.mako,sha256=ulevp4AP-kZ1_qdScPMaX9tLqvvP0t9lFflWTXgUxaE,1310
@@ -176,7 +177,7 @@ tests/test_effloss.py,sha256=-kJJNgS5c6saHXjNuhAe5GdWfr9mEYpPo8fE8OtjsNA,1142
176
177
  tests/test_erg.py,sha256=kRVzpXa6JDdbxTss18HUWKny9Dx8IMx9uGTrbQCnHwg,523
177
178
  tests/test_femag.py,sha256=55cCx90tJ1BEeu_-DOit37y26hFGVSYwkT81s9-p28E,1934
178
179
  tests/test_forcedens.py,sha256=Yzl3SAmJNkZN9dA3aLxRvwY8fKsw077Fl0iJm6zJ5Sk,536
179
- tests/test_fsl.py,sha256=H2doNSNLx9FmcHsq-Ng8mEwV7qZtAdIK4bFCyhFDUTw,16623
180
+ tests/test_fsl.py,sha256=rBTfOeBXixIdxcxGS9lKV9hHBNhgglsH56gmbK_AMeA,16623
180
181
  tests/test_heat_source_network.py,sha256=TC-Gl4iy9jnMGfsY_24XjwlP-SDxP345JKVT8xRwsFo,690
181
182
  tests/test_hxy.py,sha256=pVb6ZfDhBy5-DXa3gh7RQmLFG8p5cSYB8gdGLC8kjAk,640
182
183
  tests/test_im.py,sha256=55wfCoA8_PuogI_RsC3AjUQCpR84T-HddtHuU1NxfPc,662
@@ -187,9 +188,8 @@ tests/test_losscoeffs.py,sha256=3EKmDFRuvn88z_8r0HxKFdB0lNXNnhEgaFshL8BkDjE,2012
187
188
  tests/test_machine.py,sha256=Woha6nfKaYQCxxoG57sUztpnpU6K9imXwn9B_KMhanw,12906
188
189
  tests/test_magncurv.py,sha256=wPf1dNACZ1BkqKHSqJxiNi6Dq8JP3QCRBY4ql_0YCyU,2608
189
190
  tests/test_magnet.py,sha256=BUHG_8SEi4d8j6yV9BSzcpYc2-UVMRFv50P_jgTTXoQ,276
190
- tests/test_mcv.py,sha256=qV52S82BAN3GRyD-z73RgOBK9-fQCKvrT4T9MXzArn0,283
191
+ tests/test_mcv.py,sha256=BdFdCkBL_tM88G2z_hbLsVlOaq7T83flS4m8YYLLPnc,4574
191
192
  tests/test_mcvreader.py,sha256=3cgq22b_iaWLrs4WWOUNHqJREnv0YoFivNpAb4teEJs,2118
192
- tests/test_mcvwriter.py,sha256=eKVCJ4TTjrykMvychffre8vBNjR4OZsYD_H5aLyrDrY,3986
193
193
  tests/test_me.py,sha256=En00OrOhZclBO4u74q5Os0FgVP4TGFLzz99LF0QHXHA,196
194
194
  tests/test_model.py,sha256=kYjjFgZPIex3foX3skiOdD5MCcmA2JP7oDDuE9txv_U,2698
195
195
  tests/test_nc.py,sha256=kIFUOlFy_jQUjLnS9wuy6c2YkPOrKyXlMtGxDIJnXsw,4205
@@ -202,7 +202,7 @@ tests/test_tksreader.py,sha256=8QtPAzxPJbkpxd1Nw2I7ggaTaKaL4WY55JJBHkZAzus,766
202
202
  tests/test_ts.py,sha256=tR2x5cKU9gw2fUprzaPgPbCvmDOHDO36JUPCCoTlY7Y,1833
203
203
  tests/test_vbfreader.py,sha256=-6oAhLJDb7K3Ui5O1mtHvbskawEfgyIH-Of5n-8u-fc,832
204
204
  tests/test_vtu.py,sha256=pGpHuAcaCk5zDYTBBp_akOEenZOpq-IzGl_kaMtodyA,1469
205
- tests/test_windings.py,sha256=QThZrGiG49yrLK6p2SlLbd05FSwI1yB1bQiKjwdXhh8,4911
205
+ tests/test_windings.py,sha256=rZjAudsSCHedbo5BWt1ZVaU49ktxjOim1r7BzJmSdUo,5841
206
206
  tests/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
207
207
  tests/engines/test_amazon.py,sha256=4uy36NIo0epi3CgjUm8vl4snLpr4NRvUoWi6Zew_zcE,2014
208
208
  tests/engines/test_config.py,sha256=_I1Z5RuubgnOGQeZHjAsCsovt0WEMH0o4ILz032l_Bc,663
@@ -213,9 +213,9 @@ tests/moo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
213
213
  tests/moo/test_algorithm.py,sha256=Em8sFm2vzPmuIzRrBBnUQLU_TYuJHSf-kEeozw0XeX4,2563
214
214
  tests/moo/test_population.py,sha256=FvX9LRCxQx0_E2GxHQ5vKwOYFBQiNbT6Lmv5GmNWjTQ,5471
215
215
  tests/moo/test_problem.py,sha256=ALeP4u7g-dFhfwWL8vxivdrrYzVKPjHMCAXzzgyNZbs,467
216
- femagtools-1.7.8.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
217
- femagtools-1.7.8.dist-info/METADATA,sha256=o7-wuQo9X8eVnIpcyEVl0cEOuEB5U_MBSRddJHW5XZg,6156
218
- femagtools-1.7.8.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
219
- femagtools-1.7.8.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
220
- femagtools-1.7.8.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
221
- femagtools-1.7.8.dist-info/RECORD,,
216
+ femagtools-1.8.0.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
217
+ femagtools-1.8.0.dist-info/METADATA,sha256=qZkw13rq-jo1WT373nahzfRdxT1VvBAnMgKBhiDK_5A,6198
218
+ femagtools-1.8.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
219
+ femagtools-1.8.0.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
220
+ femagtools-1.8.0.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
221
+ femagtools-1.8.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.1.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
tests/test_fsl.py CHANGED
@@ -498,7 +498,7 @@ class FslBuilderTest(unittest.TestCase):
498
498
  magnets = femagtools.magnet.Magnet(magnetmat)
499
499
  condMat = femagtools.magnet.Magnet([dict(name='Cu', elconduct=56e6)])
500
500
  fsl = self.builder.create_model(model, magnets, condMat)
501
- self.assertEqual(len(fsl), 187)
501
+ self.assertEqual(len(fsl), 188)
502
502
  brem = [l.strip() for l in fsl
503
503
  if l.split('=')[0].strip() == 'm.remanenc']
504
504
  self.assertEqual(brem[-1].split('=')[-1].strip(),