femagtools 1.7.9__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 (42) hide show
  1. femagtools/__init__.py +1 -1
  2. femagtools/amela.py +2 -2
  3. femagtools/dxfsl/area.py +129 -25
  4. femagtools/dxfsl/conv.py +2 -9
  5. femagtools/dxfsl/converter.py +33 -10
  6. femagtools/dxfsl/fslrenderer.py +6 -12
  7. femagtools/dxfsl/geom.py +31 -9
  8. femagtools/dxfsl/journal.py +2 -2
  9. femagtools/dxfsl/machine.py +14 -13
  10. femagtools/dxfsl/shape.py +3 -0
  11. femagtools/ecloss.py +381 -2
  12. femagtools/femag.py +41 -0
  13. femagtools/fsl.py +31 -50
  14. femagtools/machine/pm.py +1 -1
  15. femagtools/machine/sm.py +14 -0
  16. femagtools/mcv.py +128 -124
  17. femagtools/me.py +13 -13
  18. femagtools/model.py +8 -2
  19. femagtools/plot/fieldlines.py +1 -1
  20. femagtools/plot/mcv.py +18 -0
  21. femagtools/plot/wdg.py +2 -2
  22. femagtools/svgfsl/converter.py +1 -1
  23. femagtools/templates/gen_hairpin_winding.mako +36 -45
  24. femagtools/templates/magnetIron.mako +1 -1
  25. femagtools/templates/magnetIron2.mako +1 -1
  26. femagtools/templates/magnetIron3.mako +1 -1
  27. femagtools/templates/magnetIron4.mako +1 -1
  28. femagtools/templates/magnetIron5.mako +1 -1
  29. femagtools/templates/magnetIronV.mako +1 -1
  30. femagtools/templates/magnetSector.mako +1 -1
  31. femagtools/templates/mesh-airgap.mako +12 -6
  32. femagtools/templates/prepare_thermal.mako +148 -13
  33. femagtools/windings.py +25 -20
  34. {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/METADATA +20 -20
  35. {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/RECORD +41 -42
  36. {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/WHEEL +1 -1
  37. tests/test_mcv.py +106 -1
  38. tests/test_windings.py +5 -0
  39. tests/test_mcvwriter.py +0 -96
  40. {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/LICENSE +0 -0
  41. {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/entry_points.txt +0 -0
  42. {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/top_level.txt +0 -0
@@ -49,7 +49,7 @@ end
49
49
  beta = math.pi/m.num_poles
50
50
  rotor_thcond = ${model['thcond']}
51
51
  rotor_thcap = ${model['thcap']}
52
- rotor_density = ${model.get('density')*1e3}
52
+ rotor_density = ${model.get('density')}
53
53
 
54
54
  %if model.get('thcond_shaft', 0) and model.get('thcap_shaft', 0):
55
55
  if m.shaft_rad < m.yoke_rad then
@@ -51,7 +51,7 @@ end
51
51
  beta = math.pi/m.num_poles
52
52
  rotor_thcond = ${model['thcond']}
53
53
  rotor_thcap = ${model['thcap']}
54
- rotor_density = ${model.get('density')*1e3}
54
+ rotor_density = ${model.get('density')}
55
55
 
56
56
  %if model.get('thcond_shaft', 0) and model.get('thcap_shaft', 0):
57
57
  if m.shaft_rad < m.yoke_rad then
@@ -75,7 +75,7 @@ end
75
75
  beta = math.pi/m.num_poles
76
76
  rotor_thcond = ${model['thcond']}
77
77
  rotor_thcap = ${model['thcap']}
78
- rotor_density = ${model.get('density')*1e3}
78
+ rotor_density = ${model.get('density')}
79
79
 
80
80
  %if model.get('thcond_shaft', 0) and model.get('thcap_shaft', 0):
81
81
  if m.shaft_rad < m.yoke_rad then
@@ -50,7 +50,7 @@ end
50
50
  beta = math.pi/m.num_poles
51
51
  rotor_thcond = ${model['thcond']}
52
52
  rotor_thcap = ${model['thcap']}
53
- rotor_density = ${model.get('density')*1e3}
53
+ rotor_density = ${model.get('density')}
54
54
 
55
55
  %if model.get('thcond_shaft', 0) and model.get('thcap_shaft', 0) and model.get('density', 0):
56
56
  if m.shaft_rad < m.yoke_rad then
@@ -50,7 +50,7 @@ end
50
50
  beta = math.pi/m.num_poles
51
51
  rotor_thcond = ${model['thcond']}
52
52
  rotor_thcap = ${model['thcap']}
53
- rotor_density = ${model.get('density')*1e3}
53
+ rotor_density = ${model.get('density')}
54
54
 
55
55
  %if model.get('thcond_shaft', 0) and model.get('thcap_shaft', 0):
56
56
  if m.shaft_rad < m.yoke_rad then
@@ -78,7 +78,7 @@ end
78
78
  beta = math.pi/m.num_poles
79
79
  rotor_thcond = ${model['thcond']}
80
80
  rotor_thcap = ${model['thcap']}
81
- rotor_density = ${model.get('density')*1e3}
81
+ rotor_density = ${model.get('density')}
82
82
 
83
83
  %if model.get('thcond_shaft', 0) and model.get('thcap_shaft', 0):
84
84
  if m.shaft_rad < m.yoke_rad then
@@ -78,7 +78,7 @@ end
78
78
  beta = math.pi/m.num_poles
79
79
  rotor_thcond = ${model['thcond']}
80
80
  rotor_thcap = ${model['thcap']}
81
- rotor_density = ${model.get('density')*1e3}
81
+ rotor_density = ${model.get('density')}
82
82
 
83
83
  %if model.get('thcond_shaft', 0) and model.get('thcap_shaft', 0):
84
84
  if m.shaft_rad < m.yoke_rad then
@@ -34,20 +34,26 @@ if not airgap_created then
34
34
  if inner_da_start == nil then
35
35
  inner_da_start = da2/2
36
36
  end
37
- nc_line(r1, 0.0, r2, 0.0, 2)
37
+ x1, y1 = pr2c(inner_da_start, 0.0)
38
+ nc_line(x1, y1, r1, 0.0, 0.0)
38
39
 
39
40
  if outer_da_start == nil then
40
41
  outer_da_start = da1/2
41
42
  end
42
- nc_line(r2, 0.0, outer_da_start, 0.0, 0)
43
+ x2, y2 = pr2c(outer_da_start, 0.0)
44
+ nc_line(r2, 0.0, x2, y2, 0.0)
43
45
 
44
46
  if m.tot_num_slot > m.num_sl_gen then
45
- x4, y4 = pr2c(outer_da_start, alfa)
46
- nc_line(x1, y1, x2, y2, 2)
47
- nc_line(x4, y4, x2, y2, 0)
47
+ x3, y3 = pr2c(inner_da_end, alfa)
48
+ x4, y4 = pr2c(r1, alfa)
49
+ nc_line(x3, y3, x4, y4, 0, 0)
50
+
51
+ x3, y3 = pr2c(outer_da_end, alfa)
52
+ x4, y4 = pr2c(r2, alfa)
53
+ nc_line(x3, y3, x4, y4, 0, 0)
48
54
  end
49
55
 
50
- x0, y0 = pr2c(r2-ag/6, alfa/2)
56
+ x0, y0 = pr2c(r1-ag/6, alfa/2)
51
57
  create_mesh_se(x0, y0)
52
58
  x0, y0 = pr2c(r2+ag/6, alfa/2)
53
59
  create_mesh_se(x0, y0)
@@ -1,7 +1,7 @@
1
1
  -- prepare thermal model
2
2
 
3
3
  save_model('cont')
4
-
4
+ state_of_problem("therm_static")
5
5
  function get_xy(elkey)
6
6
  -- get element xy
7
7
  local x, y
@@ -45,7 +45,8 @@ stator_air = {} -- black, 8
45
45
  airgap = {} -- white, 8
46
46
  magnet_pocket_spel = {} -- red, 1
47
47
  non_uniform_airgap = {} -- white, 8
48
-
48
+ slot_opening = {}
49
+ slot_sreg_exist = 0
49
50
  -- search all components
50
51
  for i =1, #spel_keys do
51
52
  -- loop over all spel keys
@@ -87,10 +88,17 @@ for i =1, #spel_keys do
87
88
  table.insert(stator_air, spel_keys[i])
88
89
  def_mat_therm(xc, yc, 'yellow', 1.19,0.15,1007, 1)
89
90
  color_spel(spel_keys[i], 8)
90
-
91
+ key_exist_sl = get_sreg_key(xc, yc)
92
+ if key_exist_sl <= 0 and slot_sreg_exist == 0 then
93
+ def_new_sreg(xc, yc, 'Slot', 'yellow')
94
+ slot_sreg_exist = 1
95
+ else
96
+ add_to_sreg(xc, yc, 'Slot')
97
+ end
91
98
  elseif rc > da2/2 and rc < da1/2 then
92
99
  table.insert(airgap, spel_keys[i])
93
- def_mat_therm(xc, yc, 'yellow', 1.19,0.063,1007, 1)
100
+ def_mat_therm(xc, yc, 'yellow', 1.19,0.15,1007, 1)
101
+ add_to_sreg(xc, yc, 'Slot')
94
102
  color_spel(spel_keys[i], 7) -- white air
95
103
 
96
104
  -- elseif rc > dy2/2 then
@@ -104,14 +112,6 @@ for i =1, #spel_keys do
104
112
  if x0_shaft ~= nil and x0_shaft ~= 0.0 then
105
113
  table.insert(shaft_spel, spel_keys[i])
106
114
  def_mat_therm(xc, yc, 'lightgrey', shaft_density, shaft_thcond, shaft_thcap, 1)
107
- else
108
- -- is inner air
109
- table.insert(inner_air, spel_keys[i])
110
- %if model.get('htc_inner', 0):
111
- def_heat_transfer(xc,yc,yellow,${model['htc_inner']}, 1.0)
112
- %endif
113
- def_new_sreg(xc,yc, 'INAR', 'yellow')
114
- color_spel(spel_keys[i], 16) -- light grey inner air
115
115
  end
116
116
  end
117
117
  end
@@ -185,7 +185,8 @@ for i = 1, #rotor_air do
185
185
  table.insert(non_uniform_airgap, rotor_air[i])
186
186
  els = get_spel_data('elkeys', rotor_air[i])
187
187
  xc, yc = get_xy(els[1])
188
- def_mat_therm(xc, yc, 'yellow', 1.19,0.063,1007, 1)
188
+ def_mat_therm(xc, yc, 'yellow', 1.19,1.15,1007, 1)
189
+ add_to_sreg(xc, yc, 'Slot')
189
190
  color_spel(rotor_air[i], 7)
190
191
  end
191
192
  end
@@ -216,4 +217,138 @@ for i = 1, #rotor_air do
216
217
  end
217
218
  end
218
219
 
220
+
219
221
  save_metafile(model..'.ps')
222
+
223
+
224
+
225
+ ---------------------------------------------
226
+ -- material slot insulation
227
+ ---------------------------------------------
228
+
229
+ function get_boundary_node(num_slots)
230
+
231
+ local ctr
232
+ -- get the number of winding
233
+ get_wdg_keys("wkeys")
234
+ -- search subregions
235
+ local srkey_sl = {}
236
+ ctr = 1
237
+ for i = 1, #wkeys do
238
+ tmpksl = get_wdg_data("srkeys", wkeys[i])
239
+ for j = 1, #tmpksl do
240
+ srkey_sl[ctr] = tmpksl[j]
241
+ ctr = ctr + 1
242
+ end
243
+ end
244
+ -- search superelements
245
+ local sekey_sl = {}
246
+ ctr = 1
247
+ for k = 1, #srkey_sl do
248
+ sl_se = get_sreg_data("sekeys", srkey_sl[k])
249
+ for kk =1, #sl_se do
250
+ sl_nd = get_spel_data("bndkeys", sl_se[kk])
251
+ x, y = get_node_data("xy", sl_nd[1])
252
+ r, phi = c2pd(x, y)
253
+ if phi < 360/num_slots then
254
+ sekey_sl[ctr] = sl_se[kk]
255
+ ctr = ctr + 1
256
+ end
257
+ end
258
+ end
259
+
260
+ local xn = {}
261
+ local yn = {}
262
+ local node = {}
263
+ local bndnodes = {}
264
+ local bnd_unique = {}
265
+
266
+ ctr = 1
267
+
268
+ for i = 1, #sekey_sl do
269
+ bnd = get_spel_data("bndkeys", sekey_sl[i])
270
+
271
+ for j = 1, #bnd do
272
+ bndnodes[ctr] = bnd[j]
273
+ ctr = ctr + 1
274
+ if bnd_unique[bnd[j]] == true then
275
+ bnd_unique[bnd[j]] = false
276
+ else
277
+ bnd_unique[bnd[j]] = true
278
+ end
279
+ end
280
+ end
281
+
282
+ ctr = 1
283
+ for j = 1, #bndnodes do
284
+ x, y = get_node_data("xy", bndnodes[j])
285
+
286
+ r, phi = c2pd(x, y)
287
+ if (phi < 360/num_slots/2 - 0.05) and (bnd_unique[bndnodes[j]] == true) then
288
+
289
+ node[ctr] = bndnodes[j]
290
+ xn[ctr] = x
291
+ yn[ctr] = y
292
+ ctr = ctr + 1
293
+ end
294
+ end
295
+
296
+
297
+ local indx = {1, math.floor(#node/4), math.floor(#node/2), math.floor(#node/4*3), #node}
298
+
299
+ local x_new = {}
300
+ local y_new = {}
301
+
302
+ for i = 1, 10 do
303
+ x_new[i] = 0
304
+ y_new[i] = 0
305
+ end
306
+
307
+ for i = 1, #indx do
308
+ x_new[i] = xn[indx[i]]
309
+ y_new[i] = yn[indx[i]]
310
+ r, phi = c2pd(x_new[i], y_new[i])
311
+ x_new[10 - (i-1)], y_new[10 - (i-1)] = pd2c(r, 360/num_slots - phi)
312
+ end
313
+
314
+ local rn = {}
315
+ local phin = {}
316
+
317
+ for i = 1, #x_new do
318
+ rn[i], phin[i] = c2pd(x_new[i], y_new[i])
319
+ end
320
+ return rn, phin
321
+ end
322
+
323
+
324
+ rn, phin = get_boundary_node(m.tot_num_slot)
325
+ thickness = ${model.get('slot_insul', 0.15)}
326
+ conductivity = ${model.get('slot_insul_cond', 0.31)}
327
+
328
+ for i = 1,m.num_sl_gen do
329
+ x = {}
330
+ y = {}
331
+
332
+ for j = 1, #rn do
333
+ x[j], y[j] = pd2c(rn[j], phin[j] + (i-1)*360/m.tot_num_slot)
334
+ point(x[j], y[j],"black","x")
335
+ end
336
+
337
+ def_insulation_by_nodechain(thickness,conductivity,
338
+ x[1],y[1],
339
+ x[2],y[2],
340
+ x[3],y[3],
341
+ x[4],y[4],
342
+ x[5],y[5],
343
+ x[6],y[6],
344
+ x[7],y[7],
345
+ x[8],y[8],
346
+ x[9],y[9],
347
+ x[10],y[10],
348
+ x[1], y[1]
349
+ )
350
+
351
+ end
352
+ save_metafile('insulation.ps')
353
+
354
+ state_of_problem("mag_static")
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],
@@ -183,6 +179,10 @@ class Winding(object):
183
179
  nue = n
184
180
  else:
185
181
  nue = self.kw_order(n)
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)
186
186
  k = 2 if self.l == 1 else 1
187
187
  a = nue*k*np.pi/self.Q*Yk
188
188
  t = self.Q//Qb
@@ -244,14 +244,19 @@ class Winding(object):
244
244
 
245
245
  def slots(self, key):
246
246
  """returns slot indexes of winding key"""
247
- ngen = self.m*self.Q//np.gcd(self.Q, self.m*2*self.p)
248
247
  taus = 360/self.Q
249
-
250
- dim = int(self.l*ngen/self.m)
251
- slots = [(round((x-taus/2)/taus) + ngen*n) % self.Q + 1
252
- 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)
253
258
  for x in self.windings[key]['PHI'][:dim]]
254
- return np.array(slots).reshape((np.gcd(self.Q, self.p), -1))
259
+ return np.array(slots).reshape(t, -1)
255
260
 
256
261
  def axis(self, k=1):
257
262
  """returns axis angle of winding 1 in mechanical system"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: femagtools
3
- Version: 1.7.9
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,33 +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
- Requires-Dist: rdp ; extra == 'dxfsl'
52
- Provides-Extra: meshio
53
- Requires-Dist: meshio ; extra == 'meshio'
54
- Provides-Extra: mplot
55
- Requires-Dist: matplotlib ; extra == 'mplot'
49
+ Requires-Dist: dxfgrabber; extra == "dxfsl"
50
+ Requires-Dist: networkx; extra == "dxfsl"
56
51
  Provides-Extra: svgfsl
57
- Requires-Dist: dxfgrabber ; extra == 'svgfsl'
58
- Requires-Dist: networkx ; extra == 'svgfsl'
59
- Requires-Dist: lxml ; extra == 'svgfsl'
60
- Requires-Dist: rdp ; extra == 'svgfsl'
61
- Provides-Extra: test
62
- 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"
63
59
  Provides-Extra: vtk
64
- Requires-Dist: vtk ; extra == 'vtk'
60
+ Requires-Dist: vtk; extra == "vtk"
65
61
  Provides-Extra: zmq
66
- 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"
67
67
 
68
68
 
69
69
  # Introduction to Femagtools
@@ -1,7 +1,7 @@
1
- femagtools/__init__.py,sha256=ATMoeLjKbQNtu7mNeonzwYoT_GNWt_6-meukz6ptS4c,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,11 +13,11 @@ 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=fFKsKiwiajNU5FXQPODMb8Tx0pPSyMfLEy-nfo_upBg,44566
18
+ femagtools/femag.py,sha256=5zOcfUHkAgdhWsOROuAijLaTQMt7JF5xpszwQR_G7Zs,45990
19
19
  femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
20
- femagtools/fsl.py,sha256=5LsTXZ-fnos13HRycgu0i5claxyp5czL9xb61lpfRnM,37456
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
@@ -29,9 +29,9 @@ femagtools/jhb.py,sha256=stJxkmzHpfUIBVcFw7jWbV5KN9_EFqzOCgacyhUqWvM,1779
29
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=dK-SuH_dp1eN_wmFj_m1-PSEQdvT-g9roPu1s3zm4Ag,17700
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
@@ -46,33 +46,33 @@ 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=-pVnutzZNy9wKYDV_9AoOqW3285UuIpqJkoUgan6A-Q,23456
49
+ femagtools/windings.py,sha256=OYoEFIQci3f3sYJkcyRjBpBpDRtX2Y2aHZiRXOEgsls,23497
50
50
  femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
51
- femagtools/dxfsl/area.py,sha256=A5kwW937EAAjxGSamW_RhXPu-ZNIsLpG670_ghI4rrM,61852
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=XDy8eN3Ck9M_U4K-9746tv4Bu4APzv62tq47XsQR6UE,33759
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=uAa2oEQjiyiXpyU0-0I4WEnNK_V1-7zPHrCIOb0xxX8,27652
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=eYKe8PtWKl-4rcW570HVvOrDxX_CguMCupp8Mo60FQY,171680
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
66
+ femagtools/dxfsl/shape.py,sha256=kz68mPsK1m5jRnE-5iNS3FX2IkpSHOe0X3OdEklGR80,59970
67
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
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
75
+ femagtools/machine/sm.py,sha256=y_zPZN0gGKUQL8RCyhyyfeJE_cSRPK5Mmk93HQPzTFM,39379
76
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
@@ -84,14 +84,14 @@ femagtools/moo/test/ProblemTest.py,sha256=r5XEfY4LPscDb35TxxPd0lbP3nUmL6_G6vrRo1
84
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
90
+ femagtools/plot/mcv.py,sha256=ijZg6KPwZC7sDxEzGEUfVWvDoSEfgcaH-hzQMt7E90I,3671
91
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=Bf9miZqIrIf69mzfufPsHVkKGmPi-lYmBfgggw2yE7w,9816
94
- femagtools/svgfsl/converter.py,sha256=F0os2rqgLREQlnfARlVQrpFC1GDEC49jKux75BQqqcQ,3014
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,7 +111,7 @@ 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
114
+ femagtools/templates/gen_hairpin_winding.mako,sha256=mQ8TyFYzSyKazpu4uiyS0UdVrl4PobHN-J6FE74IWs8,5329
115
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
@@ -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=gN5YeckGb9khn7jqv9D1b06MnkKyZWCzYaK_5Y_uPFU,2528
124
- femagtools/templates/magnetIron2.mako,sha256=iO2Vlr9jA-ZngJ1LxwtFVou2tWi7_hxYOgdMqd4P0QM,2581
125
- femagtools/templates/magnetIron3.mako,sha256=OySuTGYbQvDgqCewwihhY9FZfYWrrq7l0-dujriGuqE,3471
126
- femagtools/templates/magnetIron4.mako,sha256=zJa8-9oqasrQib7ecM7q6OMEfM8qPyz2O2wb65npfGA,2568
127
- femagtools/templates/magnetIron5.mako,sha256=EzDgwrT3JhS68dXTOvipxgFknLwv0VQ-e1c5F-BhqfE,2531
128
- femagtools/templates/magnetIronV.mako,sha256=JWHitSk_EJMD38lmxxTREIGInLHa3VtPsxbtPEXCxOM,3363
129
- femagtools/templates/magnetSector.mako,sha256=nQ68Kxjz-pKNYeleMbbOngholLU_02znb6Yuf7Usbdw,3171
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,7 +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=VtuDTSoigimcmdnaiLwBz_qRPgIkxaCNF5LoANM3Sgw,6615
146
+ femagtools/templates/prepare_thermal.mako,sha256=H8YRqE8i5AiRPl-dE3obiMhiuO9vm5L7ASeqPJoUozg,9521
147
147
  femagtools/templates/psd_psq_fast.mako,sha256=7DQUZI6KOjdKQMFLKySGUlWXo4U_rZuHXFzLxiA1GGc,1339
148
148
  femagtools/templates/ring.mako,sha256=Cuc_FuCPWZM-g3TxHqzTdjknYEJSUgP-y64gp8pekDI,643
149
149
  femagtools/templates/rot_hsm.mako,sha256=eh50TbpWNUALK9_7wOOJ7KPewHos7JExAfMACbPlXYc,973
@@ -188,9 +188,8 @@ tests/test_losscoeffs.py,sha256=3EKmDFRuvn88z_8r0HxKFdB0lNXNnhEgaFshL8BkDjE,2012
188
188
  tests/test_machine.py,sha256=Woha6nfKaYQCxxoG57sUztpnpU6K9imXwn9B_KMhanw,12906
189
189
  tests/test_magncurv.py,sha256=wPf1dNACZ1BkqKHSqJxiNi6Dq8JP3QCRBY4ql_0YCyU,2608
190
190
  tests/test_magnet.py,sha256=BUHG_8SEi4d8j6yV9BSzcpYc2-UVMRFv50P_jgTTXoQ,276
191
- tests/test_mcv.py,sha256=qV52S82BAN3GRyD-z73RgOBK9-fQCKvrT4T9MXzArn0,283
191
+ tests/test_mcv.py,sha256=BdFdCkBL_tM88G2z_hbLsVlOaq7T83flS4m8YYLLPnc,4574
192
192
  tests/test_mcvreader.py,sha256=3cgq22b_iaWLrs4WWOUNHqJREnv0YoFivNpAb4teEJs,2118
193
- tests/test_mcvwriter.py,sha256=eKVCJ4TTjrykMvychffre8vBNjR4OZsYD_H5aLyrDrY,3986
194
193
  tests/test_me.py,sha256=En00OrOhZclBO4u74q5Os0FgVP4TGFLzz99LF0QHXHA,196
195
194
  tests/test_model.py,sha256=kYjjFgZPIex3foX3skiOdD5MCcmA2JP7oDDuE9txv_U,2698
196
195
  tests/test_nc.py,sha256=kIFUOlFy_jQUjLnS9wuy6c2YkPOrKyXlMtGxDIJnXsw,4205
@@ -203,7 +202,7 @@ tests/test_tksreader.py,sha256=8QtPAzxPJbkpxd1Nw2I7ggaTaKaL4WY55JJBHkZAzus,766
203
202
  tests/test_ts.py,sha256=tR2x5cKU9gw2fUprzaPgPbCvmDOHDO36JUPCCoTlY7Y,1833
204
203
  tests/test_vbfreader.py,sha256=-6oAhLJDb7K3Ui5O1mtHvbskawEfgyIH-Of5n-8u-fc,832
205
204
  tests/test_vtu.py,sha256=pGpHuAcaCk5zDYTBBp_akOEenZOpq-IzGl_kaMtodyA,1469
206
- tests/test_windings.py,sha256=qklMqzQZxqv0cdsO4yO1y38uXXpPuCoH9eiyqLDgVyA,5665
205
+ tests/test_windings.py,sha256=rZjAudsSCHedbo5BWt1ZVaU49ktxjOim1r7BzJmSdUo,5841
207
206
  tests/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
207
  tests/engines/test_amazon.py,sha256=4uy36NIo0epi3CgjUm8vl4snLpr4NRvUoWi6Zew_zcE,2014
209
208
  tests/engines/test_config.py,sha256=_I1Z5RuubgnOGQeZHjAsCsovt0WEMH0o4ILz032l_Bc,663
@@ -214,9 +213,9 @@ tests/moo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
213
  tests/moo/test_algorithm.py,sha256=Em8sFm2vzPmuIzRrBBnUQLU_TYuJHSf-kEeozw0XeX4,2563
215
214
  tests/moo/test_population.py,sha256=FvX9LRCxQx0_E2GxHQ5vKwOYFBQiNbT6Lmv5GmNWjTQ,5471
216
215
  tests/moo/test_problem.py,sha256=ALeP4u7g-dFhfwWL8vxivdrrYzVKPjHMCAXzzgyNZbs,467
217
- femagtools-1.7.9.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
218
- femagtools-1.7.9.dist-info/METADATA,sha256=3f-iDI4cc4uKilc09dDWOGK2XNY0F0bkUHqC1-3x2hM,6233
219
- femagtools-1.7.9.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
220
- femagtools-1.7.9.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
221
- femagtools-1.7.9.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
222
- femagtools-1.7.9.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.2.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5