femagtools 1.8.17__py3-none-any.whl → 1.8.19__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.
femagtools/plot/nc.py CHANGED
@@ -37,18 +37,19 @@ def spel(isa, superelements=[], with_axis=False, with_wiredir=False, ax=0):
37
37
  # draw wire direction
38
38
  if se.subregion and with_wiredir:
39
39
  if se.subregion.curdir != 0:
40
- wkey = se.subregion.winding.key
41
- if se.subregion.curdir < 0:
42
- label = str(se.subregion.curdir*wkey)
43
- else:
44
- label = '+'+str(se.subregion.curdir*wkey)
45
-
46
- xy = np.array([n.xy
47
- for nc in se.nodechains
48
- for n in nc.nodes])
49
- cx, cy = np.mean(np.unique(xy[:, 0])), np.mean(np.unique(xy[:, -1]))
50
- ax.text(cx, cy, label, rotation=np.arctan2(cy, cx)/np.pi*180-90,
51
- horizontalalignment='center', verticalalignment='center')
40
+ wkey = se.subregion.winding.key
41
+ if se.subregion.curdir < 0:
42
+ label = str(se.subregion.curdir*wkey)
43
+ else:
44
+ label = '+'+str(se.subregion.curdir*wkey)
45
+
46
+ xy = np.array([n.xy
47
+ for nc in se.nodechains
48
+ for n in nc.nodes])
49
+ cx, cy = (np.mean(np.unique(xy[:, 0])),
50
+ np.mean(np.unique(xy[:, -1])))
51
+ ax.text(cx, cy, label, rotation=np.arctan2(cy, cx)/np.pi*180-90,
52
+ horizontalalignment='center', verticalalignment='center')
52
53
  except:
53
54
  pass
54
55
  ax.autoscale(enable=True)
@@ -86,7 +87,8 @@ def mesh(isa, with_axis=False, ax=0):
86
87
 
87
88
 
88
89
  def _contour(ax, title, elements, values, label='',
89
- cmap=DEFAULT_CMAP, isa=None, alpha=1):
90
+ cmap=DEFAULT_CMAP, isa=None, alpha=1,
91
+ relminrange=0.05):
90
92
  from matplotlib.patches import Polygon
91
93
  from matplotlib.collections import PatchCollection
92
94
  if ax == 0:
@@ -105,7 +107,15 @@ def _contour(ax, title, elements, values, label='',
105
107
  patches = np.array([Polygon(xy) for xy in vertices])[valid_values]
106
108
  p = PatchCollection(patches, match_original=False,
107
109
  cmap=cmap, alpha=alpha)
108
- p.set_array(np.asarray(values)[valid_values])
110
+ z = values[valid_values]
111
+ clim = np.min(z), np.max(z)
112
+ n = np.max(np.abs(clim))
113
+ if not np.isclose(n, 0):
114
+ relrange = (clim[1]-clim[0])/n
115
+ if relrange < relminrange: # prevent strange color pattern
116
+ c = (clim[1]+clim[0])/2
117
+ p.set_clim([(1-relminrange)*c, (1+relminrange)*c])
118
+ p.set_array(z)
109
119
  ax.add_collection(p)
110
120
  cb = plt.colorbar(p, shrink=0.9)
111
121
 
@@ -118,7 +128,7 @@ def _contour(ax, title, elements, values, label='',
118
128
  ax.axis('off')
119
129
 
120
130
 
121
- def demag(isa, cmap=DEFAULT_CMAP, ax=0):
131
+ def demag(isa, cmap=DEFAULT_CMAP, relminrange=0.05, ax=0):
122
132
  """plot demag of NC/I7/ISA7 model
123
133
  Args:
124
134
  isa: Isa7/NC object
@@ -126,11 +136,12 @@ def demag(isa, cmap=DEFAULT_CMAP, ax=0):
126
136
  emag = [e for e in isa.elements if e.is_magnet()]
127
137
  demag = np.array([e.demagnetization(isa.MAGN_TEMPERATURE) for e in emag])
128
138
  _contour(ax, f'Demagnetization at {isa.MAGN_TEMPERATURE} °C (max -{np.max(demag):.1f} kA/m)',
129
- emag, demag, '-H / kA/m', cmap, isa)
139
+ emag, demag, '-H / kA/m', cmap=cmap, isa=isa,
140
+ relminrange=relminrange)
130
141
  logger.info("Max demagnetization %f", np.max(demag))
131
142
 
132
143
 
133
- def remanence(isa, cmap=DEFAULT_CMAP, ax=0):
144
+ def remanence(isa, cmap=DEFAULT_CMAP, relminrange=0.05, ax=0):
134
145
  """plot remanence of NC/I7/ISA7 model
135
146
  Args:
136
147
  isa: Isa7/NC object
@@ -139,17 +150,20 @@ def remanence(isa, cmap=DEFAULT_CMAP, ax=0):
139
150
  rem = np.linalg.norm([e.remanence(isa.MAGN_TEMPERATURE)
140
151
  for e in emag], axis=1)
141
152
  _contour(ax, f'Remanence at {isa.MAGN_TEMPERATURE} °C (min {np.min(rem):.1f} T)',
142
- emag, rem, 'T', cmap, isa)
153
+ emag, rem, 'T', cmap=cmap, isa=isa, relminrange=relminrange)
143
154
  logger.info("Min remanence %f", np.min(rem))
144
155
 
145
156
 
146
- def demag_pos(isa, pos=-1, icur=-1, ibeta=-1, cmap=DEFAULT_CMAP, ax=0):
157
+ def demag_pos(isa, pos=-1, icur=-1, ibeta=-1, cmap=DEFAULT_CMAP,
158
+ relminrange=0.05, ax=0):
147
159
  """plot demag of NC/I7/ISA7 model at rotor position
148
160
  Args:
149
161
  isa: Isa7/NC object
150
162
  pos: rotor position in degree (maximum h if -1)
151
163
  icur: cur amplitude index or last index if -1
152
164
  ibeta: beta angle index or last index if -1
165
+ cmap: colormap
166
+ relminrange: rel minimum range for colorbar
153
167
  """
154
168
  emag = [e for e in isa.elements if e.is_magnet()]
155
169
  demag = np.array([isa.demagnetization(e, icur, ibeta)[1]
@@ -166,9 +180,12 @@ def demag_pos(isa, pos=-1, icur=-1, ibeta=-1, cmap=DEFAULT_CMAP, ax=0):
166
180
  hpol = demag[:, i]
167
181
  hmax = np.max(hpol)
168
182
  hpol[hpol == 0] = np.nan
169
- _contour(ax, f'Demagnetization at pos. {round(x/np.pi*180):.1f}°, '
170
- f'{isa.MAGN_TEMPERATURE} °C (max -{hmax:.1f} kA/m)',
171
- emag, hpol, '-H / kA/m', cmap, isa)
183
+ isa.rotate(isa.pos_el_fe_induction[i])
184
+ _contour(ax, f'Demagnetization at pos. {round(x/np.pi*180, 1):.1f}°, '
185
+ f'{isa.MAGN_TEMPERATURE} °C (max -{hmax:.1f} kA/m)',
186
+ emag, hpol, '-H / kA/m', cmap=cmap, isa=isa,
187
+ relminrange=relminrange)
188
+ isa.rotate(0)
172
189
  logger.info("Max demagnetization %f kA/m", np.nanmax(hpol))
173
190
 
174
191
 
@@ -185,7 +202,8 @@ def __elements_of_subreg(isa, subreg):
185
202
  yield e
186
203
 
187
204
 
188
- def flux_density(isa, subreg=[], cmap=DEFAULT_CMAP, ax=0):
205
+ def flux_density(isa, subreg=[], cmap=DEFAULT_CMAP,
206
+ relminrange=0.05, ax=0):
189
207
  """plot flux density of NC/I7/ISA7 model
190
208
 
191
209
  Args:
@@ -193,16 +211,18 @@ def flux_density(isa, subreg=[], cmap=DEFAULT_CMAP, ax=0):
193
211
  subreg: list of subregion names (all if empty)
194
212
  icur: cur index or last index if -1
195
213
  ibeta: beta angle index or last index if -1
214
+ relminrange: rel minimum range for colorbar
196
215
  """
197
216
  elements = [e for e in __elements_of_subreg(isa, subreg)]
198
217
  fluxd = np.array([np.linalg.norm(e.flux_density()) for e in elements])
199
218
  _contour(ax, f'Flux Density T (max {np.max(fluxd):.1f} T)',
200
- elements, fluxd, '', cmap)
219
+ elements, fluxd, '', cmap=cmap, relminrange=relminrange)
201
220
  logger.info("Max flux dens %f", np.max(fluxd))
202
221
 
203
222
 
204
223
  def flux_density_eccentricity(isa, subreg=[], icur=-1, ibeta=-1,
205
- cmap='plasma_r', ax=0, alpha=0.75):
224
+ cmap='plasma_r', ax=0, alpha=0.75,
225
+ relminrange=0.05):
206
226
  """plot eccentricity (axis ratio) of flux density in lamination
207
227
 
208
228
  Args:
@@ -210,6 +230,7 @@ def flux_density_eccentricity(isa, subreg=[], icur=-1, ibeta=-1,
210
230
  subreg: list of subregion names (all if empty)
211
231
  icur: cur amplitude index or last index if -1
212
232
  ibeta: beta angle index or last index if -1
233
+ relminrange: rel minimum range for colorbar
213
234
  """
214
235
  from ..utils import fft
215
236
  elements = []
@@ -248,10 +269,12 @@ def flux_density_eccentricity(isa, subreg=[], icur=-1, ibeta=-1,
248
269
  ecc.append(b/a) #np.sqrt(1-b**2/a**2))
249
270
 
250
271
  _contour(ax, '', #'Eccentricity of Flux Density',
251
- elements, ecc, 'axis ratio', cmap, alpha=alpha)
272
+ elements, ecc, 'axis ratio', cmap=cmap, alpha=alpha,
273
+ relminrange=relminrange)
252
274
 
253
275
 
254
- def flux_density_pos(isa, ipos, subreg=[], icur=-1, ibeta=-1, cmap=DEFAULT_CMAP, ax=0):
276
+ def flux_density_pos(isa, ipos, subreg=[], icur=-1, ibeta=-1, cmap=DEFAULT_CMAP,
277
+ relminrange=0.05, ax=0):
255
278
  """plot flux density at rotor pos for each element of NC/I7/ISA7 model
256
279
 
257
280
  Args:
@@ -259,7 +282,7 @@ def flux_density_pos(isa, ipos, subreg=[], icur=-1, ibeta=-1, cmap=DEFAULT_CMAP,
259
282
  ipos: position index
260
283
  icur: cur index or last index if -1
261
284
  ibeta: beta angle index or last index if -1
262
-
285
+ relminrange: rel minimum range for colorbar
263
286
  """
264
287
  elements = [e for e in __elements_of_subreg(isa, subreg)
265
288
  if e not in isa.airgap_center_elements]
@@ -272,7 +295,7 @@ def flux_density_pos(isa, ipos, subreg=[], icur=-1, ibeta=-1, cmap=DEFAULT_CMAP,
272
295
  pos = isa.pos_el_fe_induction[ipos]*180/np.pi
273
296
  isa.rotate(isa.pos_el_fe_induction[ipos])
274
297
  _contour(ax, f'Flux Density T at {pos:.1f}° (max {np.max(fluxd):.1f} T)',
275
- elements, fluxd, '', cmap)
298
+ elements, fluxd, '', cmap=cmap, relminrange=relminrange)
276
299
  logger.info("Max flux dens %f", np.max(fluxd))
277
300
  isa.rotate(0)
278
301
 
@@ -282,6 +305,9 @@ def airgap_flux_density_pos(isa, ipos, icur=-1, ibeta=-1, ax=0):
282
305
 
283
306
  Args:
284
307
  isa: Isa7/NC object
308
+ ipos: index of rotor position
309
+ icur: index of current
310
+ ibeta: index of beta
285
311
  """
286
312
  bx = []
287
313
  by = []
@@ -300,21 +326,27 @@ def airgap_flux_density_pos(isa, ipos, icur=-1, ibeta=-1, ax=0):
300
326
  logger.info("Max flux dens %f", np.max(np.abs(bx)))
301
327
 
302
328
 
303
- def loss_density(isa, subreg=[], cmap=DEFAULT_CMAP, ax=0):
329
+ def loss_density(isa, subreg=[], cmap=DEFAULT_CMAP, relminrange=0.05, ax=0):
304
330
  """plot loss density of NC/I7/ISA7 model
305
331
 
306
332
  Args:
307
333
  isa: Isa7/NC object
334
+ subreg: array of subregions (all if empty)
335
+ cmap: color map
336
+ relminrange: rel minimum range for colorbar
308
337
  """
309
338
  elements = [e for e in __elements_of_subreg(isa, subreg)]
310
339
  lossd = np.array([e.loss_density*1e-3 for e in elements])
311
- _contour(ax, 'Loss Density kW/m³', elements, lossd, '', cmap)
340
+ _contour(ax, 'Loss Density kW/m³', elements, lossd, '', cmap=cmap,
341
+ relminrange=relminrange)
342
+
312
343
 
313
- def temperature_distribution(isa, ax=0, cmap='plasma'):
344
+ def temperature_distribution(isa, ax=0, cmap='plasma', relminrange=0.05):
314
345
  """plot temperature distribution of NC/I7/ISA7 model
315
346
 
316
347
  Args:
317
348
  isa: Isa7/NC object
349
+ relminrange: rel minimum range for colorbar
318
350
  """
319
351
  temp = []
320
352
  elements = [e for e in isa.elements]
@@ -325,7 +357,8 @@ def temperature_distribution(isa, ax=0, cmap='plasma'):
325
357
  tmp += n.vpot[-1]
326
358
  ctr = ctr + 1
327
359
  temp.append(tmp/ctr)
328
- _contour(ax, 'Temperature in K', elements, temp, '', cmap)
360
+ _contour(ax, 'Temperature in K', elements, temp, '', cmap=cmap,
361
+ relminrange=relminrange)
329
362
 
330
363
  def punchdist(isa, cmap=DEFAULT_CMAP, ax=0):
331
364
  """plot punching border distances of NC/I7/ISA7 model
@@ -334,4 +367,4 @@ def punchdist(isa, cmap=DEFAULT_CMAP, ax=0):
334
367
  """
335
368
  elam, pdist = isa.punchdist()
336
369
  _contour(ax, 'Punching Border Distances / mm)',
337
- elam, pdist*1e3, 'mm', cmap, isa)
370
+ elam, pdist*1e3, 'mm', cmap=cmap, isa=isa)
@@ -93,6 +93,7 @@ def shortcircuit(femag, machine, bch, simulation, engine=0):
93
93
  builder = femagtools.fsl.Builder(femag.templatedirs)
94
94
  fslcmds = (builder.open_model(femag.model) +
95
95
  builder.create_shortcircuit(simulation))
96
+ # ['save_model("cont")'])
96
97
  fslfile = 'shortcircuit.fsl'
97
98
  (pathlib.Path(femag.workdir)/fslfile).write_text(
98
99
  '\n'.join(fslcmds),
@@ -107,11 +108,11 @@ def shortcircuit(femag, machine, bch, simulation, engine=0):
107
108
  bchsc.scData['demag'] = bchsc.demag
108
109
  if simulation.get('sim_demagn', 0):
109
110
  dd = {'displ': [d['displ']
110
- for d in bchsc.demag if 'displ' in d],
111
- 'H_max': [d['H_max']
112
- for d in bchsc.demag if 'H_max' in d],
113
- 'H_av': [d['H_av']
114
- for d in bchsc.demag if 'H_av' in d]}
111
+ for d in bchsc.demag if 'displ' in d],
112
+ 'H_max': [d['H_max']
113
+ for d in bchsc.demag if 'H_max' in d],
114
+ 'H_av': [d['H_av']
115
+ for d in bchsc.demag if 'H_av' in d]}
115
116
  x1 = bchsc.demag[0]['current_1']
116
117
  x2 = bchsc.demag[0]['current_2']
117
118
  def func(phi):
@@ -120,6 +121,7 @@ def shortcircuit(femag, machine, bch, simulation, engine=0):
120
121
  i1max = x1/np.cos(phi)
121
122
 
122
123
  phirot = dd['displ'][0]/180*np.pi
124
+ logger.info("i1max %g phi %g phirot %g", i1max, phi, phirot)
123
125
  bchsc.scData['demag'] = demag(
124
126
  femag, machine, simulation,
125
127
  i1max, phirot, phi, engine)
@@ -140,6 +142,8 @@ def shortcircuit(femag, machine, bch, simulation, engine=0):
140
142
  simulation['i1max'] = 5*bch.machine['i1']
141
143
  logger.info("2phase short circuit simulation i1max = %.0f",
142
144
  simulation['i1max'])
145
+ if 'magn_temp' not in simulation:
146
+ simulation['magn_temp'] = bch.magnet.get('Tmag', 20)
143
147
  scdata = shortcircuit_2phase(femag, machine, simulation, engine)
144
148
 
145
149
  else:
@@ -193,7 +197,7 @@ def shortcircuit_2phase(femag, machine, simulation, engine=0):
193
197
  else:
194
198
  simulation.update(flux_sim)
195
199
  simulation['curvec'] = i1vec.tolist()
196
- results = femag(machine, simulation)
200
+ results = femag(machine, simulation, fslfile='2ph_shortcircuit.fsl')
197
201
  class Task:
198
202
  def __init__(self, workdir):
199
203
  self.directory = workdir
@@ -316,7 +320,7 @@ def shortcircuit_2phase(femag, machine, simulation, engine=0):
316
320
  # rotor position at maximum current:
317
321
  trot = min(iav[0], iap[0])
318
322
  phirot = wm*trot + phi0
319
- logger.info("phi %.1f")
323
+ logger.debug("phirot %.1f", phirot)
320
324
 
321
325
  scData = {
322
326
  'ia': ia.tolist(),
@@ -342,7 +346,7 @@ def demag(femag, machine, simulation, i1max, phirot, phi, engine=0):
342
346
  """demag simulation using psi-torq-rem-rot"""
343
347
  logger.info("Demagnetization processing")
344
348
  i1min = simulation.get('i1min', abs(i1max/3))
345
- num_steps = 7
349
+ num_steps = simulation.get('num_demag_cur_steps', 7)
346
350
  b = (i1min-abs(i1max))/np.log(i1min/abs(i1max))
347
351
  a = abs(i1max)/b
348
352
  xtab = np.linspace(i1min/abs(i1max),
@@ -362,9 +366,13 @@ def demag(femag, machine, simulation, i1max, phirot, phi, engine=0):
362
366
  'phi': phirot,
363
367
  'magntemp': simulation['Tmag'],
364
368
  'curvec': curvec})
365
- _ = femag(machine, simulation)
369
+ try:
370
+ del simulation['airgap_induc']
371
+ except KeyError:
372
+ pass
373
+ _ = femag(machine, simulation, fslfile='demag.fsl')
366
374
 
367
- ptr = np.loadtxt(femag.workdir / "psi-torq-rem.dat")
375
+ ptr = np.loadtxt(pathlib.Path(femag.workdir) / "psi-torq-rem.dat")
368
376
  i1 = np.concat(([0], np.max(ptr[:,1:4], axis=1)))
369
377
  rr = np.concat(([1], ptr[:,-1]))
370
378
  dmag = {'Hk': simulation['Hk'],
@@ -82,14 +82,14 @@ rotate({
82
82
  mode = "save" -- save initial model state
83
83
  })
84
84
 
85
+ rotate({angle=phi, mode="absolute"})
86
+
85
87
  file_psi = io.open("psi-torq-rem.dat","w")
86
88
  for i=1, #curvec do
87
- print(string.format(" current: %d/%d %g, %g, %g\n",
88
- i, #curvec, curvec[i][1], curvec[i][2], curvec[i][3]))
89
-
90
- rotate({angle=phi, mode="absolute"})
91
89
  psi, tq, rr = calc_flux_torq_rem(curvec[i])
92
90
 
91
+ print(string.format(" current: %d/%d %g, %g, %g torque %g rr %g\n",
92
+ i, #curvec, curvec[i][1], curvec[i][2], curvec[i][3], tq, rr))
93
93
  file_psi:write(string.format("%g ", phi))
94
94
  for k=1, 3 do
95
95
  file_psi:write(string.format("%g ", curvec[i][k]))
@@ -0,0 +1,43 @@
1
+
2
+ m.yoke_diam = dy1
3
+ m.inside_diam = da1
4
+
5
+ m.wdg_location = -1 -- for gen_windings
6
+
7
+ m.slot_angle = ${model['slot_angle']*1e3}
8
+ m.slot_height = ${model['slot_height']*1e3}
9
+ m.slot_h1 = ${model['slot_h1']*1e3}
10
+ m.slot_h2 = ${model['slot_h2']*1e3}
11
+ m.slot_bk = ${model['slot_bk']*1e3}
12
+ m.slot_width = ${model['slot_width']*1e3}
13
+ m.slot_r1 = ${model['slot_r1']*1e3}
14
+ m.slot_r2 = ${model['slot_r2']*1e3}
15
+ m.middle_line = ${model.get('middle_line',0)}
16
+ m.tooth_width = ${model.get('tooth_width',0)*1e3}
17
+ m.slot_topwidth = ${model.get('slot_topwidth',0)*1e3}
18
+
19
+ m.zeroangl = ${model.get('zeroangle',0)}
20
+ m.rlength = ${model.get('rlength',1)*100}
21
+
22
+ % if model.get('ac_loss', False):
23
+ m.ac_loss = ${model.get('ac_loss', 6)}
24
+ % endif
25
+ m.mcvkey_yoke = mcvkey_yoke
26
+
27
+ pre_models("STATOR_KS1")
28
+
29
+ if mcvkey_teeth ~= nil then
30
+ if m.inside_diam > m.yoke_diam then
31
+ r = (m.inside_diam - m.slot_height)/2
32
+ else
33
+ r = (m.inside_diam + m.slot_height)/2
34
+ end
35
+ x0, y0 = pr2c(r, 2*math.pi/m.tot_num_slot + m.zeroangl/180*math.pi)
36
+ def_mat_fm_nlin(x0, y0, "blue", mcvkey_teeth, m.rlength)
37
+ end
38
+
39
+ %if model.get('thcond', 0) and model.get('thcap', 0):
40
+ stator_thcond = ${model.get('thcond', 24)}
41
+ stator_thcap = ${model.get('thcap', 480)}
42
+ stator_density = ${model.get('density', 7700)}
43
+ %endif
femagtools/utils.py CHANGED
@@ -24,6 +24,8 @@ def fft(pos, y, pmod=0):
24
24
  nypos = ~ypos
25
25
  nzc = len(((ypos[:-1] & nypos[1:])
26
26
  | (nypos[:-1] & ypos[1:])).nonzero()[0])
27
+ if np.isclose(y[0], 0, atol=1e-2):
28
+ nzc += 1
27
29
  negative_periodic = nzc == 0 or nzc % 2 == 1
28
30
 
29
31
  if negative_periodic:
@@ -36,13 +38,13 @@ def fft(pos, y, pmod=0):
36
38
 
37
39
  N = len(yx)
38
40
  # compute DFT from induction (eliminate DC offset)
39
- a0 = np.mean(yx)
41
+ a0 = float(np.mean(yx))
40
42
  Y = np.fft.fft(yx-a0)
41
43
 
42
44
  # find the peak (amplitude of base harmonic)
43
45
  i = np.argmax(np.abs(Y[:N//2]))
44
46
 
45
- a = 2*np.abs(Y[i])/N
47
+ a = float(2*np.abs(Y[i])/N)
46
48
  freq = np.fft.fftfreq(N, d=360/N)
47
49
  nmax = min(18*ntiles, N//2)
48
50
  T0 = 0
@@ -51,10 +53,9 @@ def fft(pos, y, pmod=0):
51
53
  npoles = 2*int(360/T0)
52
54
  nmax = min(9*npoles, N//2)
53
55
 
54
- alfa0 = np.angle(Y[i])
56
+ alfa0 = float(np.angle(Y[i]))
55
57
  alfa = np.angle(Y[:nmax])
56
58
 
57
-
58
59
  return {'a': a, 'a0': a0, 'T0': T0, 'alfa0': alfa0,
59
60
  'alfa': alfa,
60
61
  'nue': (2*np.abs(Y[:nmax])/N).tolist(),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: femagtools
3
- Version: 1.8.17
3
+ Version: 1.8.19
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
@@ -38,7 +38,7 @@ Requires-Python: >=3.7
38
38
  Description-Content-Type: text/markdown
39
39
  License-File: LICENSE
40
40
  Requires-Dist: numpy
41
- Requires-Dist: scipy
41
+ Requires-Dist: scipy<=1.14.1
42
42
  Requires-Dist: mako
43
43
  Requires-Dist: six
44
44
  Requires-Dist: lmfit
@@ -1,9 +1,9 @@
1
- femagtools/__init__.py,sha256=am_tyjdDpW3WrLQwY_5hXT4qkmY962_B8s3ffUfabsg,1601
2
- femagtools/airgap.py,sha256=hELJXe52yUw82JwZ1tGUXUtRhMG2_WSUBVeGkTZSAM8,1900
1
+ femagtools/__init__.py,sha256=k1SL4nzTdLCU7dFO7Qd0V59z23xi1pUBL0lTp770Lho,1601
2
+ femagtools/airgap.py,sha256=ROm4uhZjYiO0CxmFnpgiaNY9x3khlO8LBLmp5Yh5RLk,1973
3
3
  femagtools/amazon.py,sha256=O1ICuv21XDAJi1qK1Sigs2TdS6hDZP19OzvmE2t76wU,12069
4
4
  femagtools/amela.py,sha256=2q-Xsj6i6nQ3iKheBR1vQ4FulJfF1i-L8w3a3U8GYWo,4362
5
5
  femagtools/asm.py,sha256=CiL0KWaF4P7O6-VwmGLdva_icwmPrPiI-TFQ19XYTKk,7660
6
- femagtools/bch.py,sha256=e6kKyp4iaGb-GPMxwq5LgcyA0GQxteRJDfZsLZVfLyw,75732
6
+ femagtools/bch.py,sha256=RHdQreeO2KuJaAVTXy2OUOgPGyHMtLlnKqYjPnZJRuY,76757
7
7
  femagtools/bchxml.py,sha256=KrRjAdrUPZXmiWvonu9HhpG_NvImMBpiXWTL4iSr4kE,3142
8
8
  femagtools/condor.py,sha256=J8z9iBdvrGu3I1eFNoyKV8AXzRoTEPGLSak6cXUQxAM,10766
9
9
  femagtools/conductor.py,sha256=rXO7c7Qh_s7JpgILmLd4IbG64vP6Eh143YF9u25Mdwg,1076
@@ -15,7 +15,7 @@ femagtools/dakotaout.py,sha256=6nn0PXsB40mPKiQLenqAtHy0KXCO7kvqqQ-aD2JhQvw,5573
15
15
  femagtools/docker.py,sha256=XDVmLBB0z4sZZpcrx7Wbm84xl4ksj7aqn5-ZOPxdxm4,7460
16
16
  femagtools/ecloss.py,sha256=3qwfb_9qpWw99asUDcQgdbP51VGXp4MlLQZDhywWHEk,35051
17
17
  femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
18
- femagtools/femag.py,sha256=rJ_n1Fvu8RcL-6LTH5o-lvV8pP0kpsqmx6RggsiJMhU,45013
18
+ femagtools/femag.py,sha256=v85KRdG-TAqGXl7QdHZnas8umAovl7gkHfucWfA4BeE,45576
19
19
  femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
20
20
  femagtools/fsl.py,sha256=JSalCD21wyYnlwwXeZjUfTca80RnYezrLvDcewlUH-Q,37976
21
21
  femagtools/getset.py,sha256=yJ6Em35DeWK7WNZW0qjjS5s7LUkVh5mbgxF59HHm5FM,3017
@@ -24,13 +24,13 @@ 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=8nQtl9Rcceyay9fSlhWu5zeigCyQ7rFQkPLWrYLU1bw,68345
27
+ femagtools/isa7.py,sha256=_bJzDLDTAt6qiXks5UF-xdTuuSjMebmSPiQvB6KJzdE,68552
28
28
  femagtools/jhb.py,sha256=stJxkmzHpfUIBVcFw7jWbV5KN9_EFqzOCgacyhUqWvM,1779
29
29
  femagtools/job.py,sha256=sh4yk8RVEFai7YDBMsVg19p9xEd6_sfyNX5WQSY7HEY,11726
30
30
  femagtools/leakinduc.py,sha256=4IGZaV8S1ZG6L3hgZsCXqMsMNRH4F88l9EsvUjSXDSE,999
31
31
  femagtools/losscoeffs.py,sha256=7B29VdEsmv8HSP749X3QBb_E-XN6Z9dvNleKiRLWaMI,7721
32
32
  femagtools/magnet.py,sha256=Nuk060bT4Wa3lX74HdefqTTtUxLaERDSBYTTpbi6KP4,1093
33
- femagtools/mcv.py,sha256=nVemXwRPHkvlz7IIwnUONfQglnOcTnp3CsPwU1eG3OI,48604
33
+ femagtools/mcv.py,sha256=ICXXbF5KGUsi91HktYuxzKcII-i96aBXkJzNtwkLy1Q,48740
34
34
  femagtools/me.py,sha256=z6RJkvSbgMmorCQTxKvq44uIYKh82uYYExjkNePJCmE,1813
35
35
  femagtools/model.py,sha256=dk9x-iqRzgOTdTCeU_ynUZGb1bt4FvU1ZGMPXytMbUg,17965
36
36
  femagtools/moproblem.py,sha256=kOP8pRdD8YXz28_M2WKnFgl3eeJ7tqg49ohoazsmUOg,2825
@@ -43,40 +43,40 @@ femagtools/opt.py,sha256=wBU0yh3hZlNti_zfIvtKcPg1EJrnE3I1BqmVxLGWixU,8753
43
43
  femagtools/parstudy.py,sha256=eHOcHHZAQMPnYwyQpnX9daZIMKhZZl8aDeEPXBgSS-k,20550
44
44
  femagtools/poc.py,sha256=yPWmpi8Q2g7NmpAi2YV5ezyo0VUj67EK0tcX2wikerw,7207
45
45
  femagtools/semi_fea.py,sha256=WZtYKrzhDruETyuEW2kpiNp9OaA7Hheq3qJiAIYtsjg,3475
46
- femagtools/shortcircuit.py,sha256=ZugEzPnofsVb2ZLInEbjkjwEVzLL1dNTJtqSueaHc8A,14301
46
+ femagtools/shortcircuit.py,sha256=9wulzRQamfgbRdjH90eukqjuxOgO6UU2m97W7LkGFP8,14734
47
47
  femagtools/tks.py,sha256=mDi45S5go9-jwALh6rS9RWPoOFBORZm0-XL4ECjSf_8,7531
48
48
  femagtools/ts.py,sha256=yoYjpKrr_0b-tHfsX5azJEBXHUs9PN8P-SMhbjjRhCA,48381
49
- femagtools/utils.py,sha256=yZYgAKHsvK7QyY2-ijE3gSzXlE3vfuhD5dx7myyw434,1703
49
+ femagtools/utils.py,sha256=G9U-C8ULcdGq9Ix6VEtDZ9dw7hjJHBjG3Otlka4wmU0,1787
50
50
  femagtools/vbf.py,sha256=9XGfhftmD9carU8ByQ5DwqoR4daq5mJ39eMqruwml0Q,2444
51
51
  femagtools/vtu.py,sha256=Sf83dHIfCKY2km-MIUHKKoj-JKN4PDX7kkPLZXyIYY4,10723
52
52
  femagtools/windings.py,sha256=eGRoDbi9yruiWHqZysamBLPJefw8IQX3Lq4KpG4oIKo,28216
53
53
  femagtools/zmq.py,sha256=62x5VRk0TMNER0-EZ8E28IdLKzsttlbxy1U_3wocNLc,9618
54
54
  femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
55
- femagtools/dxfsl/area.py,sha256=xre3SotFmcNcoGCTTKtFzSRWU_40Xn3BKWHtkXts210,70481
56
- femagtools/dxfsl/areabuilder.py,sha256=6dfWryYjXzGIVDOsX2zb1VKIhUzmpL43XhF-wtdesAg,35882
55
+ femagtools/dxfsl/area.py,sha256=ccRBlD3IeZOW5oiu23ROhtfnpx1LpjQ_E7MbV_HoArU,70646
56
+ femagtools/dxfsl/areabuilder.py,sha256=H416_u2796F8nJwqa6EI2gCw-5Ay7cCpRRz3_39u42k,37916
57
57
  femagtools/dxfsl/concat.py,sha256=F6scwesxyOmfmKQ5kGspNCxA71Yz6QgxFL7lTj3hsaI,13385
58
58
  femagtools/dxfsl/conv.py,sha256=rAG_r2twWtcZyLKe8L8gYcC-n-JMG-dK1iMmd9yviTQ,12237
59
- femagtools/dxfsl/converter.py,sha256=FZcvK0qB1_xgUbUqx68l08My-nxTIjNCrv8SuD9eUZc,41360
59
+ femagtools/dxfsl/converter.py,sha256=LCzKF9dAKywJcjCPCavSM2jxilyO6R_kDMdctF4KRJE,41695
60
60
  femagtools/dxfsl/corner.py,sha256=-XPBcnEau-2-SRHLYzlBqCQGaFfgm_DH2qR1mSaFoAs,1311
61
61
  femagtools/dxfsl/dumprenderer.py,sha256=n4AvInjvGIaC2iKZtQaYXXDyJVSQ3uEOFOLD4-xfKRY,1861
62
62
  femagtools/dxfsl/dxfparser.py,sha256=kyXG0kZfNyOgn96MqBgP8RhOQhppfB5NbyRNNybs1C0,13451
63
63
  femagtools/dxfsl/femparser.py,sha256=O8940Q1Mz8MKng6W8M3s9KfTvhDLJ56tfQWtZEW3xMM,2134
64
- femagtools/dxfsl/fslrenderer.py,sha256=QwfR3i20ossNByfAtM7GyTz5yvcR3vnpL2T3-HOeebk,27855
64
+ femagtools/dxfsl/fslrenderer.py,sha256=L8qymxhrxDvNg9LLwAQgDXM1EU3yA1L3BoYpkenECEs,28005
65
65
  femagtools/dxfsl/functions.py,sha256=1RFT2YPR_rTJSKtTqIoO8Z-s_kXKIp95zed83SM0gZg,12784
66
- femagtools/dxfsl/geom.py,sha256=VXml10ndn0xxUFZJDdnkvFZwCDNEhnVv_O59i2wDWi4,178717
66
+ femagtools/dxfsl/geom.py,sha256=d-HU4yV6j9RA8PeIvesMDvXBc4xIrKXphmBI2e3_QxA,186927
67
67
  femagtools/dxfsl/journal.py,sha256=r4z52av3k95MjwzypgUJpj8sSAeQoJsS81Uqs1IBLVw,4265
68
- femagtools/dxfsl/machine.py,sha256=qNfim-hpRiSUnC-cUaywpgMs3d_xzL1aFvbhEOfTD3U,58317
68
+ femagtools/dxfsl/machine.py,sha256=wtUqLAmq4Imd6uoPwrhZ5h0MCku3Mihrpqx7QycFYng,63062
69
69
  femagtools/dxfsl/plotrenderer.py,sha256=q2cORuxJEf1Ws6oCY9c0gF6N3kDrcI6WOz3u5Vl6R_c,13823
70
70
  femagtools/dxfsl/shape.py,sha256=uQqbgXIA2_KP2XRdhCfVfGWjcjwzhJ5t9RhiqR9R98c,61668
71
71
  femagtools/dxfsl/svgparser.py,sha256=RY2TU9MK6gOaNmI6w6RNqcw7H9YGmK-NUwvdylKBcsE,3763
72
- femagtools/dxfsl/symmetry.py,sha256=dXfZVIqT49nbMirY5YVaRPi8kNB8reaiq-eIbhw1Z54,43936
73
- femagtools/machine/__init__.py,sha256=xDY9QSUVL2Y17I4fq-nXsb5uMHCIxnCmGVIiL0fZZYE,7447
72
+ femagtools/dxfsl/symmetry.py,sha256=bGDSZhs6VOS-gp4C9eW0tjyMMec4BVFVZ0NpGXV3H0U,44660
73
+ femagtools/machine/__init__.py,sha256=RjJdy1J_9-_FEvdqdBtIjGjqF93NRzDfU5VS-z_6ARI,7557
74
74
  femagtools/machine/afpm.py,sha256=_Ei1FMuoC1GiI0z90qnyuxNrefkmeRdtDZKm20glzNY,40711
75
- femagtools/machine/effloss.py,sha256=meQ3bsAORtmn1nMEUfJSiu4YsyfDE5PHc-YNaxnstU4,17093
75
+ femagtools/machine/effloss.py,sha256=jNgo9OGOnLRoZ6Mw2Lf8xOpAQWOBxX5HH4F-WzPOW0A,17687
76
76
  femagtools/machine/im.py,sha256=5wYjsEQIiKR62M2M0rA8zmybWQDVjpoazXJPRKyQOvM,40331
77
- femagtools/machine/pm.py,sha256=hXG71o2TqTxqy-FRy1WoeSOT-KysOGeZlCCnaLfISuE,70026
77
+ femagtools/machine/pm.py,sha256=fKKNsnUQkO9_zz3-SC9u9OCjw3hw7Lj4FImB4ZlHrWQ,71040
78
78
  femagtools/machine/sizing.py,sha256=QO-k-UALmSPFNf8ajJPDnzKtlbkiAhX1DqWCRLr-H9k,32306
79
- femagtools/machine/sm.py,sha256=qZfCIbm02ELH-RsenzqvjZuqRZ-U7OXQq85iOfZphwo,40671
79
+ femagtools/machine/sm.py,sha256=SwidHYI-BEGiZQMm9rYTnIuqJN121RgIQ9QetYl3fic,41066
80
80
  femagtools/machine/utils.py,sha256=HRM9UHY0UwuBWyK2dAfwlPuvMkXYBVqHlmEsUIdSNJk,21694
81
81
  femagtools/moo/__init__.py,sha256=zinmWEOrsEz6DmMX0Dbn4t6_1UR-p4bEGqyR1wUQk_Q,175
82
82
  femagtools/moo/algorithm.py,sha256=e-Cgp2rp_hG9DXqWqluzQGNIWvCfthUgLD8O-aVPofA,5763
@@ -86,14 +86,14 @@ femagtools/moo/test/AlgorithmTest.py,sha256=KzR1og4bu6NOE61DDKjEMTQdsysmho4LCYmJ
86
86
  femagtools/moo/test/PopulationTest.py,sha256=lG9NeWo0xrslfQRa4tgy1Nj23VJMFIlg_vQ9KUBYnRA,5529
87
87
  femagtools/moo/test/ProblemTest.py,sha256=r5XEfY4LPscDb35TxxPd0lbP3nUmL6_G6vrRo1I3RSg,505
88
88
  femagtools/plot/__init__.py,sha256=LFrHy_9L6FxJqhYND2z1534s3ebPXkfXVagFeNA1wWk,978
89
- femagtools/plot/bch.py,sha256=EhW_YRgMZU4K1Az_XAK1XGG0JAtrDwmwZ6SHdvPi4-c,34085
90
- femagtools/plot/char.py,sha256=8eA1sEt-xKAqOZNlB6tx33DNXVsO3N7ius5KcV9lSv4,12771
89
+ femagtools/plot/bch.py,sha256=bd5HygPdwEfGN6QvqzYw20myCCWSbO9xIEImzbt4d6M,34137
90
+ femagtools/plot/char.py,sha256=XTRs25EKIrcQhUe_BQPwkYdaT8rnukPVjMOY5afj-08,12346
91
91
  femagtools/plot/fieldlines.py,sha256=_7ykKhnQLeS4fz34pnzovH1gIhcUSKJ3gl1GUgWYix8,1137
92
92
  femagtools/plot/fluxdens.py,sha256=NlexRJ3f_8CgKoWrV82ZIsAXPrLhwj98uOe8_fUks7A,1082
93
93
  femagtools/plot/forcedens.py,sha256=Vloi9czy7qbGXI-Vm7Cow6IfHTsFhCLI1YWduFOR55c,4075
94
94
  femagtools/plot/machine.py,sha256=fVLOZTc19Ru8eXLdtoTeIYsHRWhGLkn_YVZ6qO6KgrE,2654
95
95
  femagtools/plot/mcv.py,sha256=ijZg6KPwZC7sDxEzGEUfVWvDoSEfgcaH-hzQMt7E90I,3671
96
- femagtools/plot/nc.py,sha256=OWmO8-WF303z5-zeBGkNJ8N09RJvH7sEYgOuK3LJaR8,11630
96
+ femagtools/plot/nc.py,sha256=qNEKgxw9ChImHE1UzntYVJw9vB8-_kbrxiSiP5p_l1w,13080
97
97
  femagtools/plot/phasor.py,sha256=5QG1GkXKVksc8P6Q4thKADf6W1l8rDKeArIHFYvbXlw,4858
98
98
  femagtools/plot/wdg.py,sha256=uTEtpW_xCXueGnkWx8fTQHruBiayw62AVTXkc9vz9iM,10536
99
99
  femagtools/svgfsl/converter.py,sha256=5q4LognshXNTpUWLnU5rtgCfAwZnEuPzqsgyeRYC-VM,3019
@@ -151,7 +151,7 @@ femagtools/templates/pm_sym_loss.mako,sha256=FNAvi_gmTXsGylrpi7lLKPoOOcNCV1mG6rc
151
151
  femagtools/templates/prepare_thermal.mako,sha256=V3W6BGW7gjY8Lg2qzvGDi8rxx3JvPzrWoABDvHKyq54,9539
152
152
  femagtools/templates/psd_psq_fast.mako,sha256=IOZx04JhVleAAbBOPWk9gEwDyT28z0zkF9tyEBteRPU,1428
153
153
  femagtools/templates/psi-torq-rem-rot.mako,sha256=A1KOsYNSJhIJfumF-egnU-HUfNMPeX-XSPL_WsoE1Cw,3579
154
- femagtools/templates/psi-torq-rem.mako,sha256=N9AcWV0_c2jvZCr-LOW6QqDC7QIbZ-cVZ2fQ_Jw61KA,3099
154
+ femagtools/templates/psi-torq-rem.mako,sha256=2HnPoipTeb9I69ysvgidwdHR0DxBKPxr2W0YJEmwXoU,3121
155
155
  femagtools/templates/psi-torq-rot.mako,sha256=_iT-IbgeC28wQzMVfi7uIN0cfp5pZ6d1mpLsoQrMx2c,2646
156
156
  femagtools/templates/ring.mako,sha256=Cuc_FuCPWZM-g3TxHqzTdjknYEJSUgP-y64gp8pekDI,643
157
157
  femagtools/templates/rot_hsm.mako,sha256=eh50TbpWNUALK9_7wOOJ7KPewHos7JExAfMACbPlXYc,973
@@ -166,13 +166,14 @@ femagtools/templates/stator2.mako,sha256=7Ae9sfaX7H4ummL6-g8iG42ArUvl6J809TW2tOd
166
166
  femagtools/templates/stator3Linear.mako,sha256=pNe3C1wT0W2C0qePo3sEyebW1z_dpTuJzg0r5kf3JQY,760
167
167
  femagtools/templates/stator4.mako,sha256=Jq8pfIuOmmpyGOL1z2aQZfbwMS5-Zyn6OGJ51LCBVKs,1179
168
168
  femagtools/templates/statorBG.mako,sha256=fh0cVOZVWyLojlGxWJoFz2pvdL6Yxy4xzhY-Joc2xeg,893
169
+ femagtools/templates/statorKS1.mako,sha256=uqisqazTzopmhjUR8O660yIfsexqxj4ISHaNZIdwTSo,1285
169
170
  femagtools/templates/statorRing.mako,sha256=_X8t9oAD_6SZ_MlLc450SkN4C6pH4dG5LS09D8bv9SE,2071
170
171
  femagtools/templates/statorRotor3.mako,sha256=6ycHlkSnk-TKFdoxiOqjpr6Pk0l634w3_O94vvRP4BI,4357
171
172
  femagtools/templates/stator_msh.mako,sha256=Neze1ielMCk7TrARyhOra91fFQVT8Phsgk2Omt_aMG8,1799
172
173
  femagtools/templates/therm-dynamic.mako,sha256=pEz7jrUpopK1-RqgulNnrkSaCZDjfLelsVo6cBqmpac,3142
173
174
  femagtools/templates/therm_static.mako,sha256=ulevp4AP-kZ1_qdScPMaX9tLqvvP0t9lFflWTXgUxaE,1310
174
175
  femagtools/templates/torq_calc.mako,sha256=PH2IXg9ysi0w8N_8YB0IsE3rRj2VE2AYkGortQxFGfQ,2424
175
- femagtools-1.8.17.dist-info/licenses/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
176
+ femagtools-1.8.19.dist-info/licenses/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
176
177
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
178
  tests/test_afpm.py,sha256=ge5CXnVQ7E5gVViTI9hQOC0hHetBci18pY9prbUCAqU,16849
178
179
  tests/test_airgap_induction.py,sha256=cmpy1og59oWEyCO4oF_zDuc1DUwCbdeebNL1ujpZza4,1065
@@ -194,7 +195,7 @@ tests/test_isa7.py,sha256=GJhRj2nncrUpNTIlM4jvG4kKZS7cK19hhQg9KbM3b5Q,3001
194
195
  tests/test_jhb.py,sha256=aDzwr2ZaXlizrPnlLlcI_IT3OpSxuKu-FzBBkIALEDg,824
195
196
  tests/test_job.py,sha256=1tCTPqd2LUeeVNuzC07lsPz4ffr0WAVX_BykyXQ2mZY,981
196
197
  tests/test_losscoeffs.py,sha256=3EKmDFRuvn88z_8r0HxKFdB0lNXNnhEgaFshL8BkDjE,2012
197
- tests/test_machine.py,sha256=BBaeypcFCpGZfJM52_rUIrA3uu17n4_IT1Y05W_caSA,12960
198
+ tests/test_machine.py,sha256=lSAAfi7CXroaj5T7d4szWWMP3f7fLiop8ioXrPO6C-o,12907
198
199
  tests/test_magncurv.py,sha256=wPf1dNACZ1BkqKHSqJxiNi6Dq8JP3QCRBY4ql_0YCyU,2608
199
200
  tests/test_magnet.py,sha256=BUHG_8SEi4d8j6yV9BSzcpYc2-UVMRFv50P_jgTTXoQ,276
200
201
  tests/test_mcv.py,sha256=Vv51WU3WU0AkgcSpyujMdJ2KvSdLNsks5HGtY0pWMOY,4749
@@ -222,8 +223,8 @@ tests/moo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
223
  tests/moo/test_algorithm.py,sha256=Em8sFm2vzPmuIzRrBBnUQLU_TYuJHSf-kEeozw0XeX4,2563
223
224
  tests/moo/test_population.py,sha256=FvX9LRCxQx0_E2GxHQ5vKwOYFBQiNbT6Lmv5GmNWjTQ,5471
224
225
  tests/moo/test_problem.py,sha256=ALeP4u7g-dFhfwWL8vxivdrrYzVKPjHMCAXzzgyNZbs,467
225
- femagtools-1.8.17.dist-info/METADATA,sha256=mCopiSFOllthSV5m6Stpw-B_n2P1BplX-DI3MpMXXl4,6213
226
- femagtools-1.8.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
227
- femagtools-1.8.17.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
228
- femagtools-1.8.17.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
229
- femagtools-1.8.17.dist-info/RECORD,,
226
+ femagtools-1.8.19.dist-info/METADATA,sha256=t50AFbbiCAWPpTQ6fp1FO25ZkCOY1QJMUtN-WX2Lyu0,6221
227
+ femagtools-1.8.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
228
+ femagtools-1.8.19.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
229
+ femagtools-1.8.19.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
230
+ femagtools-1.8.19.dist-info/RECORD,,
tests/test_machine.py CHANGED
@@ -140,7 +140,6 @@ def test_char_psid_array():
140
140
  assert r['beta'][0] == pytest.approx(-38.01, rel=1e-1)
141
141
  assert r['cosphi'][0] == pytest.approx(0.788, rel=1e-1)
142
142
 
143
- @pytest.mark.skip(reason="fixit: returns currently 0")
144
143
  def test_char_ldd_fieldweakening():
145
144
  m = dict(
146
145
  p=6,
@@ -169,7 +168,7 @@ def test_char_ldd_fieldweakening():
169
168
  assert r['beta'][0] == pytest.approx(-30.0, rel=1e-1)
170
169
  assert r['cosphi'][0] == pytest.approx(0.729, rel=1e-1)
171
170
 
172
- @pytest.mark.skip(reason="fixit: returns currently 0")
171
+ @pytest.mark.skip(reason="fixit: returns currently nan")
173
172
  def test_i1beta_char():
174
173
  m = dict(
175
174
  p=4,