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.
- femagtools/__init__.py +1 -1
- femagtools/amela.py +2 -2
- femagtools/dxfsl/area.py +129 -25
- femagtools/dxfsl/conv.py +2 -9
- femagtools/dxfsl/converter.py +33 -10
- femagtools/dxfsl/fslrenderer.py +6 -12
- femagtools/dxfsl/geom.py +31 -9
- femagtools/dxfsl/journal.py +2 -2
- femagtools/dxfsl/machine.py +14 -13
- femagtools/dxfsl/shape.py +3 -0
- femagtools/ecloss.py +381 -2
- femagtools/femag.py +41 -0
- femagtools/fsl.py +31 -50
- femagtools/machine/pm.py +1 -1
- femagtools/machine/sm.py +14 -0
- femagtools/mcv.py +128 -124
- femagtools/me.py +13 -13
- femagtools/model.py +8 -2
- femagtools/plot/fieldlines.py +1 -1
- femagtools/plot/mcv.py +18 -0
- femagtools/plot/wdg.py +2 -2
- femagtools/svgfsl/converter.py +1 -1
- femagtools/templates/gen_hairpin_winding.mako +36 -45
- femagtools/templates/magnetIron.mako +1 -1
- femagtools/templates/magnetIron2.mako +1 -1
- femagtools/templates/magnetIron3.mako +1 -1
- femagtools/templates/magnetIron4.mako +1 -1
- femagtools/templates/magnetIron5.mako +1 -1
- femagtools/templates/magnetIronV.mako +1 -1
- femagtools/templates/magnetSector.mako +1 -1
- femagtools/templates/mesh-airgap.mako +12 -6
- femagtools/templates/prepare_thermal.mako +148 -13
- femagtools/windings.py +25 -20
- {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/METADATA +20 -20
- {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/RECORD +41 -42
- {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/WHEEL +1 -1
- tests/test_mcv.py +106 -1
- tests/test_windings.py +5 -0
- tests/test_mcvwriter.py +0 -96
- {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/LICENSE +0 -0
- {femagtools-1.7.9.dist-info → femagtools-1.8.0.dist-info}/entry_points.txt +0 -0
- {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')
|
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')
|
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')
|
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')
|
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')
|
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')
|
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')
|
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
|
-
|
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
|
-
|
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
|
-
|
46
|
-
|
47
|
-
nc_line(
|
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(
|
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.
|
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,
|
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
|
-
|
35
|
+
qbb = Qb if l==2 else Qb//2
|
36
36
|
pb = p//t
|
37
|
-
if
|
38
|
-
q2 = (
|
37
|
+
if qbb//m % 2: # odd
|
38
|
+
q2 = (qbb + m)//(2*m) - 1
|
39
39
|
q1 = q2 + 1
|
40
40
|
else:
|
41
|
-
q2 = (
|
41
|
+
q2 = (qbb)//(2*m)
|
42
42
|
q1 = q2
|
43
43
|
n = 1
|
44
|
-
while (n*
|
44
|
+
while (n*qbb + 1) % pb:
|
45
45
|
n += 1
|
46
|
-
Yk = (n*
|
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
|
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]+
|
136
|
-
for k in slots[i]]
|
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
|
-
|
251
|
-
|
252
|
-
|
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(
|
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.
|
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
|
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
|
46
|
-
Provides-Extra:
|
47
|
-
Requires-Dist:
|
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
|
50
|
-
Requires-Dist: networkx
|
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
|
58
|
-
Requires-Dist: networkx
|
59
|
-
Requires-Dist: lxml
|
60
|
-
|
61
|
-
|
62
|
-
|
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
|
60
|
+
Requires-Dist: vtk; extra == "vtk"
|
65
61
|
Provides-Extra: zmq
|
66
|
-
Requires-Dist: pyzmq
|
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=
|
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=
|
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=
|
16
|
+
femagtools/ecloss.py,sha256=0nD2_R7ISl6OGG_l8FLi27ynLG9SlzhJBy13sBoR8Ts,33743
|
17
17
|
femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
|
18
|
-
femagtools/femag.py,sha256=
|
18
|
+
femagtools/femag.py,sha256=5zOcfUHkAgdhWsOROuAijLaTQMt7JF5xpszwQR_G7Zs,45990
|
19
19
|
femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
|
20
|
-
femagtools/fsl.py,sha256=
|
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=
|
33
|
-
femagtools/me.py,sha256=
|
34
|
-
femagtools/model.py,sha256=
|
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
|
49
|
+
femagtools/windings.py,sha256=OYoEFIQci3f3sYJkcyRjBpBpDRtX2Y2aHZiRXOEgsls,23497
|
50
50
|
femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
|
51
|
-
femagtools/dxfsl/area.py,sha256=
|
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=
|
55
|
-
femagtools/dxfsl/converter.py,sha256=
|
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=
|
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=
|
63
|
-
femagtools/dxfsl/journal.py,sha256=
|
64
|
-
femagtools/dxfsl/machine.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
94
|
-
femagtools/svgfsl/converter.py,sha256=
|
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=
|
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=
|
124
|
-
femagtools/templates/magnetIron2.mako,sha256=
|
125
|
-
femagtools/templates/magnetIron3.mako,sha256=
|
126
|
-
femagtools/templates/magnetIron4.mako,sha256=
|
127
|
-
femagtools/templates/magnetIron5.mako,sha256=
|
128
|
-
femagtools/templates/magnetIronV.mako,sha256=
|
129
|
-
femagtools/templates/magnetSector.mako,sha256=
|
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=
|
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=
|
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=
|
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=
|
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.
|
218
|
-
femagtools-1.
|
219
|
-
femagtools-1.
|
220
|
-
femagtools-1.
|
221
|
-
femagtools-1.
|
222
|
-
femagtools-1.
|
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,,
|