femagtools 1.8.4__py3-none-any.whl → 1.8.6__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- femagtools/__init__.py +1 -1
- femagtools/bch.py +5 -2
- femagtools/dxfsl/area.py +3 -0
- femagtools/dxfsl/conv.py +1 -8
- femagtools/dxfsl/converter.py +60 -147
- femagtools/dxfsl/geom.py +49 -0
- femagtools/femag.py +5 -2
- femagtools/machine/afpm.py +339 -12
- femagtools/machine/utils.py +2 -1
- femagtools/multiproc.py +2 -1
- femagtools/plot/__init__.py +1 -0
- femagtools/plot/bch.py +57 -3
- femagtools/plot/char.py +19 -8
- femagtools/plot/machine.py +100 -0
- femagtools/poc.py +10 -0
- femagtools/utils.py +3 -1
- femagtools/zmq.py +22 -5
- {femagtools-1.8.4.dist-info → femagtools-1.8.6.dist-info}/METADATA +1 -1
- {femagtools-1.8.4.dist-info → femagtools-1.8.6.dist-info}/RECORD +23 -22
- {femagtools-1.8.4.dist-info → femagtools-1.8.6.dist-info}/LICENSE +0 -0
- {femagtools-1.8.4.dist-info → femagtools-1.8.6.dist-info}/WHEEL +0 -0
- {femagtools-1.8.4.dist-info → femagtools-1.8.6.dist-info}/entry_points.txt +0 -0
- {femagtools-1.8.4.dist-info → femagtools-1.8.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,100 @@
|
|
1
|
+
"""
|
2
|
+
Create longitudinal drawing of radial flux machine
|
3
|
+
"""
|
4
|
+
import matplotlib.pyplot as plt
|
5
|
+
import matplotlib.patches as pch
|
6
|
+
|
7
|
+
def _draw_shaft(ax, dy2, lfe):
|
8
|
+
xx = (0.0, lfe, lfe, 0.0)
|
9
|
+
yy = (dy2/2, dy2/2, -dy2/2, -dy2/2)
|
10
|
+
ax.fill(xx, yy,
|
11
|
+
facecolor='lightgrey',
|
12
|
+
edgecolor='black',
|
13
|
+
linewidth=0)
|
14
|
+
xx = (-lfe/4, lfe+lfe/4, lfe+lfe/4, -lfe/4)
|
15
|
+
yy = (dy2/4, dy2/4, -dy2/4, -dy2/4)
|
16
|
+
ax.fill(xx, yy,
|
17
|
+
facecolor='lightgrey',
|
18
|
+
edgecolor='black',
|
19
|
+
linewidth=0)
|
20
|
+
|
21
|
+
def _draw_rotor(ax, da1, dy2, lfe):
|
22
|
+
ag = 0.02*da1
|
23
|
+
xx = (0.0, lfe, lfe, 0.0)
|
24
|
+
yy = (dy2/2, dy2/2, da1/2-ag, da1/2-ag)
|
25
|
+
ax.fill(xx, yy,
|
26
|
+
facecolor='skyblue',
|
27
|
+
edgecolor='black',
|
28
|
+
linewidth=0)
|
29
|
+
yy = (-dy2/2, -dy2/2, -da1/2+ag, -da1/2+ag)
|
30
|
+
ax.fill(xx, yy,
|
31
|
+
facecolor='skyblue',
|
32
|
+
edgecolor='black',
|
33
|
+
linewidth=0)
|
34
|
+
|
35
|
+
def _draw_stator(ax, da1, dy1, lfe):
|
36
|
+
xx = (0.0, lfe, lfe, 0.0)
|
37
|
+
yy = (da1/2, da1/2, dy1/2, dy1/2)
|
38
|
+
# yoke
|
39
|
+
ax.fill(xx, yy,
|
40
|
+
facecolor='skyblue',
|
41
|
+
edgecolor='black',
|
42
|
+
linewidth=0)
|
43
|
+
|
44
|
+
yy = (-da1/2, -da1/2, -dy1/2, -dy1/2)
|
45
|
+
ax.fill(xx, yy,
|
46
|
+
facecolor='skyblue',
|
47
|
+
edgecolor='black',
|
48
|
+
linewidth=0)
|
49
|
+
|
50
|
+
# winding
|
51
|
+
yh = (dy1-da1)/2
|
52
|
+
xx = (-yh/2, 0, 0, -yh/2)
|
53
|
+
yy = (da1/2, da1/2, dy1/2-yh/2, dy1/2-yh/2)
|
54
|
+
ax.fill(xx, yy, facecolor='gold',
|
55
|
+
edgecolor='black',
|
56
|
+
linewidth=0)
|
57
|
+
|
58
|
+
xx = (lfe, lfe+yh/2, lfe+yh/2, lfe)
|
59
|
+
ax.fill(xx, yy, facecolor='gold',
|
60
|
+
edgecolor='black',
|
61
|
+
linewidth=0)
|
62
|
+
|
63
|
+
yy = (-da1/2, -da1/2, -dy1/2+yh/2, -dy1/2+yh/2)
|
64
|
+
ax.fill(xx, yy, facecolor='gold',
|
65
|
+
edgecolor='black',
|
66
|
+
linewidth=0)
|
67
|
+
|
68
|
+
xx = (-yh/2, 0, 0, -yh/2)
|
69
|
+
ax.fill(xx, yy, facecolor='gold',
|
70
|
+
edgecolor='black',
|
71
|
+
linewidth=0)
|
72
|
+
|
73
|
+
def machine(machine, ax):
|
74
|
+
dy2 = machine['inner_diam']*1e3
|
75
|
+
dy1 = machine['outer_diam']*1e3
|
76
|
+
da1 = machine['bore_diam']*1e3
|
77
|
+
lfe = machine['lfe']*1e3
|
78
|
+
|
79
|
+
_draw_rotor(ax, da1, dy2, lfe)
|
80
|
+
_draw_stator(ax, da1, dy1, lfe)
|
81
|
+
_draw_shaft(ax, dy2, lfe)
|
82
|
+
ax.set_aspect('equal')
|
83
|
+
|
84
|
+
for loc, spine in ax.spines.items():
|
85
|
+
spine.set_color('none') # don't draw spine
|
86
|
+
#ax.yaxis.set_ticks([])
|
87
|
+
#ax.xaxis.set_ticks([])
|
88
|
+
|
89
|
+
|
90
|
+
if __name__ == '__main__':
|
91
|
+
machine1 = {
|
92
|
+
"outer_diam": 0.2442,
|
93
|
+
"bore_diam": 0.179,
|
94
|
+
"inner_diam": 0.06,
|
95
|
+
"airgap": 0.7e-3,
|
96
|
+
"lfe": 0.083,
|
97
|
+
}
|
98
|
+
fig, ax = plt.subplots()
|
99
|
+
machine(machine1, ax)
|
100
|
+
plt.show()
|
femagtools/poc.py
CHANGED
@@ -75,6 +75,7 @@ class Poc:
|
|
75
75
|
if self.pole_pitch:
|
76
76
|
content.append("{0}".format(self.pole_pitch))
|
77
77
|
if self.pocType in ['fun', 'har', 'hsp']:
|
78
|
+
self.data_check()
|
78
79
|
func_steps = len(self.func_current)
|
79
80
|
content += [f"{self.pocType}", f"{func_steps}"]
|
80
81
|
if (self.pocType == 'fun' and
|
@@ -122,6 +123,7 @@ class Poc:
|
|
122
123
|
import re
|
123
124
|
for i in range(func_steps-1):
|
124
125
|
l = re.split(';|\t|,| ', pocfile.readline().strip())
|
126
|
+
l = [i for i in l if i] # remove empty items
|
125
127
|
if len(l) > 2:
|
126
128
|
self.harmonic_id.append(int(l[0]))
|
127
129
|
self.func_current.append(float(l[1]))
|
@@ -129,6 +131,7 @@ class Poc:
|
|
129
131
|
else:
|
130
132
|
self.func_current.append(float(l[0]))
|
131
133
|
self.func_phi.append(float(l[1]))
|
134
|
+
self.data_check()
|
132
135
|
else:
|
133
136
|
self.shape_current=self.pocType
|
134
137
|
self.pocType='Function'
|
@@ -139,6 +142,13 @@ class Poc:
|
|
139
142
|
except ValueError:
|
140
143
|
pass
|
141
144
|
|
145
|
+
def data_check( self ):
|
146
|
+
"""simple phi data increasing check"""
|
147
|
+
import numpy as np
|
148
|
+
if (not np.all(np.diff(self.func_phi) > 0)
|
149
|
+
and np.all(np.diff(self.func_current) > 0)):
|
150
|
+
self.func_phi, self.func_current = self.func_current, self.func_phi
|
151
|
+
|
142
152
|
def getProps( self ):
|
143
153
|
keys=['key_winding',
|
144
154
|
'phi_voltage_winding',
|
femagtools/utils.py
CHANGED
@@ -17,7 +17,7 @@ def fft(pos, y, pmod=0):
|
|
17
17
|
else:
|
18
18
|
#negative_periodic = np.abs(y[0] - y[-1])/np.max(y) > 1
|
19
19
|
# count zero crossings
|
20
|
-
ypos = np.asarray(y
|
20
|
+
ypos = np.asarray(y)-np.mean(y) > 0
|
21
21
|
nypos = ~ypos
|
22
22
|
nzc = len(((ypos[:-1] & nypos[1:])
|
23
23
|
| (nypos[:-1] & ypos[1:])).nonzero()[0])
|
@@ -49,7 +49,9 @@ def fft(pos, y, pmod=0):
|
|
49
49
|
nmax = min(9*npoles, N//2)
|
50
50
|
|
51
51
|
alfa0 = np.angle(Y[i])
|
52
|
+
alfa = np.angle(Y[:nmax])
|
52
53
|
|
53
54
|
return {'a': a, 'a0': a0, 'T0': T0, 'alfa0': alfa0,
|
55
|
+
'alfa': alfa,
|
54
56
|
'nue': (2*np.abs(Y[:nmax])/N).tolist(),
|
55
57
|
'yi': yx.tolist()}
|
femagtools/zmq.py
CHANGED
@@ -80,6 +80,9 @@ class SubscriberTask(threading.Thread):
|
|
80
80
|
notify = None
|
81
81
|
notify_send_header = set()
|
82
82
|
notify_send_data = dict()
|
83
|
+
# progress, xydata and this entries of this list
|
84
|
+
# will send only only once per timestep
|
85
|
+
simple_data = ['license']
|
83
86
|
|
84
87
|
def __init__(self, **kwargs):
|
85
88
|
threading.Thread.__init__(self)
|
@@ -92,7 +95,8 @@ class SubscriberTask(threading.Thread):
|
|
92
95
|
self.header = kwargs.get('header')
|
93
96
|
self.num_cur_steps = kwargs.get('num_cur_steps', None)
|
94
97
|
SubscriberTask.curve_label = kwargs.get('curve_label', '')
|
95
|
-
SubscriberTask.timestep = kwargs.get('timestep',
|
98
|
+
SubscriberTask.timestep = kwargs.get('timestep', 2)
|
99
|
+
|
96
100
|
if not self.host:
|
97
101
|
self.host = 'localhost'
|
98
102
|
if not self.header:
|
@@ -145,22 +149,28 @@ class SubscriberTask(threading.Thread):
|
|
145
149
|
SubscriberTask.percent_list = []
|
146
150
|
|
147
151
|
def send_notify():
|
148
|
-
logger.debug(f"Send loop: {SubscriberTask.notify_send_loop}")
|
152
|
+
logger.debug(f"Send loop: {SubscriberTask.notify_send_loop}, timestep: {SubscriberTask.timestep}")
|
149
153
|
while SubscriberTask.notify_send_loop:
|
150
|
-
logger.debug(f"Send data: {SubscriberTask.notify_send_header}")
|
151
154
|
if 'progress_logger' in SubscriberTask.notify_send_header:
|
152
155
|
# collect data from different threads
|
153
156
|
SubscriberTask.notify_send_header.remove('progress_logger')
|
154
157
|
numTot = len(SubscriberTask.percent_list)
|
155
158
|
d = json.loads(SubscriberTask.notify_send_data.get('progress_logger')[1])
|
156
159
|
d['percent'] = sum(SubscriberTask.percent_list) / numTot
|
157
|
-
d['subtitle'] = f"{SubscriberTask.percent_list.count(100)} of {numTot}"
|
160
|
+
d['subtitle'] = f"{SubscriberTask.percent_list.count(100)} of {numTot}" if numTot > 1 else ''
|
158
161
|
SubscriberTask.notify(['progress_logger', json.dumps(d)])
|
159
162
|
if 'xyplot' in SubscriberTask.notify_send_header:
|
160
163
|
SubscriberTask.notify([s.decode('latin1')
|
161
164
|
for s in SubscriberTask.notify_send_data.get('xyplot')])
|
162
165
|
SubscriberTask.notify_send_header.remove('xyplot')
|
163
166
|
|
167
|
+
# simple
|
168
|
+
for sdata in SubscriberTask.simple_data:
|
169
|
+
if sdata in SubscriberTask.notify_send_header:
|
170
|
+
SubscriberTask.notify([s.decode('latin1')
|
171
|
+
for s in SubscriberTask.notify_send_data.get(sdata)])
|
172
|
+
SubscriberTask.notify_send_header.remove(sdata)
|
173
|
+
|
164
174
|
time.sleep(abs(SubscriberTask.timestep))
|
165
175
|
logger.debug(f"Send Finished loop: {SubscriberTask.notify_send_loop}")
|
166
176
|
|
@@ -197,7 +207,14 @@ class SubscriberTask(threading.Thread):
|
|
197
207
|
SubscriberTask.notify_send_header.add('xyplot')
|
198
208
|
continue
|
199
209
|
|
200
|
-
|
210
|
+
# simple
|
211
|
+
for sdata in SubscriberTask.simple_data:
|
212
|
+
if response[0] == sdata.encode() and sdata.encode() in self.header:
|
213
|
+
SubscriberTask.notify_send_header.add(sdata)
|
214
|
+
SubscriberTask.notify_send_data[sdata] = response
|
215
|
+
continue
|
216
|
+
|
217
|
+
if response[0] not in self.header:
|
201
218
|
self.notify([s.decode('latin1') for s in response])
|
202
219
|
|
203
220
|
except Exception:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: femagtools
|
3
|
-
Version: 1.8.
|
3
|
+
Version: 1.8.6
|
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
|
@@ -1,9 +1,9 @@
|
|
1
|
-
femagtools/__init__.py,sha256=
|
1
|
+
femagtools/__init__.py,sha256=2SMaY7V-Yp8JBGAb9m9bsHhX8WWkzbzADhc7yCeh0Lw,1600
|
2
2
|
femagtools/airgap.py,sha256=hELJXe52yUw82JwZ1tGUXUtRhMG2_WSUBVeGkTZSAM8,1900
|
3
3
|
femagtools/amazon.py,sha256=O1ICuv21XDAJi1qK1Sigs2TdS6hDZP19OzvmE2t76wU,12069
|
4
4
|
femagtools/amela.py,sha256=RFTuQ5EcX19G2YJchnktr6j62mNptrdTreShQDOeuKA,13874
|
5
5
|
femagtools/asm.py,sha256=CiL0KWaF4P7O6-VwmGLdva_icwmPrPiI-TFQ19XYTKk,7660
|
6
|
-
femagtools/bch.py,sha256=
|
6
|
+
femagtools/bch.py,sha256=PSQmGp2zuAqMYnE9r-zZdehxVcS8BKtAunpBEZTn9uA,74131
|
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=kTsE9Lx6nt6Ez9PBfD58hPMcnH2PxSc95zJaYMCQd5Q,33957
|
17
17
|
femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
|
18
|
-
femagtools/femag.py,sha256=
|
18
|
+
femagtools/femag.py,sha256=MDCw2k6MHF69N99turE_5T5qaciKqnREocev6x_6_fU,47479
|
19
19
|
femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
|
20
20
|
femagtools/fsl.py,sha256=Bq6bVykmU0Ih5YTbxhRAlCMn2fx1UE2G2UxGI83EKGQ,37072
|
21
21
|
femagtools/getset.py,sha256=yJ6Em35DeWK7WNZW0qjjS5s7LUkVh5mbgxF59HHm5FM,3017
|
@@ -33,35 +33,35 @@ femagtools/mcv.py,sha256=1yXaQIQEC63WmInnt0HggeFKRk2PmrPC90_uGd5-dOw,41696
|
|
33
33
|
femagtools/me.py,sha256=z6RJkvSbgMmorCQTxKvq44uIYKh82uYYExjkNePJCmE,1813
|
34
34
|
femagtools/model.py,sha256=dk9x-iqRzgOTdTCeU_ynUZGb1bt4FvU1ZGMPXytMbUg,17965
|
35
35
|
femagtools/moproblem.py,sha256=kOP8pRdD8YXz28_M2WKnFgl3eeJ7tqg49ohoazsmUOg,2825
|
36
|
-
femagtools/multiproc.py,sha256=
|
36
|
+
femagtools/multiproc.py,sha256=Y8nx0W4NgRoG6UWO6TUD1drx216xnzSYuBbisCHhqrY,9107
|
37
37
|
femagtools/mxw2msh.py,sha256=CIIqAvfs8U-A0OfuOAoDaqNSmoMSHSI_tW1CPFRCP5E,2151
|
38
38
|
femagtools/nc.py,sha256=bAj3iurE9WaovoCi76ry2aJZJ6rC1zO6xWrfsSD6lrc,15160
|
39
39
|
femagtools/netlist.py,sha256=CSCl8setLZ_L8DCnNWaNA3-wLe1yo-fmzARZoVvYfaA,2052
|
40
40
|
femagtools/ntib.py,sha256=76g1ZO3Fq_kN-HTMBvaKvJmMMlJMyEPFeNAcJPq3w7Y,3099
|
41
41
|
femagtools/opt.py,sha256=wBU0yh3hZlNti_zfIvtKcPg1EJrnE3I1BqmVxLGWixU,8753
|
42
42
|
femagtools/parstudy.py,sha256=lLz2SIxUJRc1YV54vW-Zl1h_MvP9mHMtl1RJa_ich3c,19734
|
43
|
-
femagtools/poc.py,sha256=
|
43
|
+
femagtools/poc.py,sha256=yPWmpi8Q2g7NmpAi2YV5ezyo0VUj67EK0tcX2wikerw,7207
|
44
44
|
femagtools/semi_fea.py,sha256=WZtYKrzhDruETyuEW2kpiNp9OaA7Hheq3qJiAIYtsjg,3475
|
45
45
|
femagtools/tks.py,sha256=C3lDdS91Yikf3cMnW-OEqmie-q6S24T81cCFrzwOyeI,7532
|
46
46
|
femagtools/ts.py,sha256=x9aCMVASjdBZuyI2pJGMyi1dveGFd_pWQ20cZ-l_moc,47216
|
47
|
-
femagtools/utils.py,sha256=
|
47
|
+
femagtools/utils.py,sha256=dJkQ5xsoVMzSEB5-2hEiwe2of9mLmsDo8nkrnSN-gPE,1643
|
48
48
|
femagtools/vbf.py,sha256=9XGfhftmD9carU8ByQ5DwqoR4daq5mJ39eMqruwml0Q,2444
|
49
49
|
femagtools/vtu.py,sha256=Sf83dHIfCKY2km-MIUHKKoj-JKN4PDX7kkPLZXyIYY4,10723
|
50
50
|
femagtools/windings.py,sha256=RS3QSx1JY0FXzItDuWimC9zYzRxq9n6BbY5fZt1dMFg,23780
|
51
|
-
femagtools/zmq.py,sha256=
|
51
|
+
femagtools/zmq.py,sha256=HY8U7dxXkgE48151nvLcnLPa8OFBZcZTrB2XcjBc0Y4,9413
|
52
52
|
femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
|
53
|
-
femagtools/dxfsl/area.py,sha256=
|
53
|
+
femagtools/dxfsl/area.py,sha256=CpTMRBF8_AJmJMkkn-LgRv27U5xJ5Ohhd2ppRvESPNU,69757
|
54
54
|
femagtools/dxfsl/areabuilder.py,sha256=6dfWryYjXzGIVDOsX2zb1VKIhUzmpL43XhF-wtdesAg,35882
|
55
55
|
femagtools/dxfsl/concat.py,sha256=F6scwesxyOmfmKQ5kGspNCxA71Yz6QgxFL7lTj3hsaI,13385
|
56
|
-
femagtools/dxfsl/conv.py,sha256=
|
57
|
-
femagtools/dxfsl/converter.py,sha256=
|
56
|
+
femagtools/dxfsl/conv.py,sha256=rAG_r2twWtcZyLKe8L8gYcC-n-JMG-dK1iMmd9yviTQ,12237
|
57
|
+
femagtools/dxfsl/converter.py,sha256=PQ92kyRIxKWdrlVpNSvIq_Ska-RDMC26RVM1rluPVk0,40826
|
58
58
|
femagtools/dxfsl/corner.py,sha256=-XPBcnEau-2-SRHLYzlBqCQGaFfgm_DH2qR1mSaFoAs,1311
|
59
59
|
femagtools/dxfsl/dumprenderer.py,sha256=n4AvInjvGIaC2iKZtQaYXXDyJVSQ3uEOFOLD4-xfKRY,1861
|
60
60
|
femagtools/dxfsl/dxfparser.py,sha256=kyXG0kZfNyOgn96MqBgP8RhOQhppfB5NbyRNNybs1C0,13451
|
61
61
|
femagtools/dxfsl/femparser.py,sha256=O8940Q1Mz8MKng6W8M3s9KfTvhDLJ56tfQWtZEW3xMM,2134
|
62
62
|
femagtools/dxfsl/fslrenderer.py,sha256=gaHBJwqPt7fVz-fyphCb-xppmIFvu72zBpeB18eAvko,27826
|
63
63
|
femagtools/dxfsl/functions.py,sha256=1RFT2YPR_rTJSKtTqIoO8Z-s_kXKIp95zed83SM0gZg,12784
|
64
|
-
femagtools/dxfsl/geom.py,sha256=
|
64
|
+
femagtools/dxfsl/geom.py,sha256=bUa_5103OdNJTzEexYYPvMs9Kx1BSNbvWL9ekETWmI4,178082
|
65
65
|
femagtools/dxfsl/journal.py,sha256=r4z52av3k95MjwzypgUJpj8sSAeQoJsS81Uqs1IBLVw,4265
|
66
66
|
femagtools/dxfsl/machine.py,sha256=_GmGQdrH7yCkRdCCdkm4yALHS1Gwof77zJOZbWtgRPo,57990
|
67
67
|
femagtools/dxfsl/plotrenderer.py,sha256=q2cORuxJEf1Ws6oCY9c0gF6N3kDrcI6WOz3u5Vl6R_c,13823
|
@@ -69,13 +69,13 @@ femagtools/dxfsl/shape.py,sha256=uQqbgXIA2_KP2XRdhCfVfGWjcjwzhJ5t9RhiqR9R98c,616
|
|
69
69
|
femagtools/dxfsl/svgparser.py,sha256=RY2TU9MK6gOaNmI6w6RNqcw7H9YGmK-NUwvdylKBcsE,3763
|
70
70
|
femagtools/dxfsl/symmetry.py,sha256=dXfZVIqT49nbMirY5YVaRPi8kNB8reaiq-eIbhw1Z54,43936
|
71
71
|
femagtools/machine/__init__.py,sha256=B7yeRZzf29NWCWy8C8iJFdTr9bszAoMRcVEpblhCeg4,7256
|
72
|
-
femagtools/machine/afpm.py,sha256=
|
72
|
+
femagtools/machine/afpm.py,sha256=rUByVyzNhT0BEUgTCj-HuU4Wbi4PWVAOeOZfa23Cejk,37980
|
73
73
|
femagtools/machine/effloss.py,sha256=gOgVdAr703Vh9T2Ht14of_I-95QOkH5qXmm11bfHK7s,14414
|
74
74
|
femagtools/machine/im.py,sha256=isMSoCnIk4Hj47MwBNP5PW7a2rI-7N35A9zHGOSl43s,38111
|
75
75
|
femagtools/machine/pm.py,sha256=C4vDdPIsIRUKtzY3b1RNT1v37p1uP3pMUduftNejcPc,68129
|
76
76
|
femagtools/machine/sizing.py,sha256=6IUSdp6HNGHlSaWMy0mjzLGxp3UtxFLfdzQ_4MYx7TI,30069
|
77
77
|
femagtools/machine/sm.py,sha256=SLaSuGJ8zXIFq6uBR2iu4uLXyWJZjA3iHAaTC8Jm-gw,39117
|
78
|
-
femagtools/machine/utils.py,sha256=
|
78
|
+
femagtools/machine/utils.py,sha256=25QNxP8lp31W7kB-gcIA1Vd_9UcYlxrahqZ-k3ALU_s,20985
|
79
79
|
femagtools/moo/__init__.py,sha256=zinmWEOrsEz6DmMX0Dbn4t6_1UR-p4bEGqyR1wUQk_Q,175
|
80
80
|
femagtools/moo/algorithm.py,sha256=e-Cgp2rp_hG9DXqWqluzQGNIWvCfthUgLD8O-aVPofA,5763
|
81
81
|
femagtools/moo/population.py,sha256=krIl8tOJXPhCgBemkqn-jwvZg1VzsGniqMN_KAFxbuw,10203
|
@@ -83,12 +83,13 @@ femagtools/moo/problem.py,sha256=McIGKAXK97Jygumns0qmFeYxTG6KDRSQj2aENeC9F9A,239
|
|
83
83
|
femagtools/moo/test/AlgorithmTest.py,sha256=KzR1og4bu6NOE61DDKjEMTQdsysmho4LCYmJ6WZoILo,2535
|
84
84
|
femagtools/moo/test/PopulationTest.py,sha256=lG9NeWo0xrslfQRa4tgy1Nj23VJMFIlg_vQ9KUBYnRA,5529
|
85
85
|
femagtools/moo/test/ProblemTest.py,sha256=r5XEfY4LPscDb35TxxPd0lbP3nUmL6_G6vrRo1I3RSg,505
|
86
|
-
femagtools/plot/__init__.py,sha256=
|
87
|
-
femagtools/plot/bch.py,sha256=
|
88
|
-
femagtools/plot/char.py,sha256=
|
86
|
+
femagtools/plot/__init__.py,sha256=LFrHy_9L6FxJqhYND2z1534s3ebPXkfXVagFeNA1wWk,978
|
87
|
+
femagtools/plot/bch.py,sha256=Sdy6S_XT6bGnl21V-1XscqTkFUCIy-fCX8PivShI9GY,30754
|
88
|
+
femagtools/plot/char.py,sha256=xv4cNOTorK-fy7eUFhmyR-013TFI2A2999xXKgL2AnA,12469
|
89
89
|
femagtools/plot/fieldlines.py,sha256=_7ykKhnQLeS4fz34pnzovH1gIhcUSKJ3gl1GUgWYix8,1137
|
90
90
|
femagtools/plot/fluxdens.py,sha256=NlexRJ3f_8CgKoWrV82ZIsAXPrLhwj98uOe8_fUks7A,1082
|
91
91
|
femagtools/plot/forcedens.py,sha256=Vloi9czy7qbGXI-Vm7Cow6IfHTsFhCLI1YWduFOR55c,4075
|
92
|
+
femagtools/plot/machine.py,sha256=fVLOZTc19Ru8eXLdtoTeIYsHRWhGLkn_YVZ6qO6KgrE,2654
|
92
93
|
femagtools/plot/mcv.py,sha256=ijZg6KPwZC7sDxEzGEUfVWvDoSEfgcaH-hzQMt7E90I,3671
|
93
94
|
femagtools/plot/nc.py,sha256=kfTifzAMReQZu4UmbHZo1caAK0n7N51lkPj7BU7l1lU,10876
|
94
95
|
femagtools/plot/phasor.py,sha256=5QG1GkXKVksc8P6Q4thKADf6W1l8rDKeArIHFYvbXlw,4858
|
@@ -215,9 +216,9 @@ tests/moo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
215
216
|
tests/moo/test_algorithm.py,sha256=Em8sFm2vzPmuIzRrBBnUQLU_TYuJHSf-kEeozw0XeX4,2563
|
216
217
|
tests/moo/test_population.py,sha256=FvX9LRCxQx0_E2GxHQ5vKwOYFBQiNbT6Lmv5GmNWjTQ,5471
|
217
218
|
tests/moo/test_problem.py,sha256=ALeP4u7g-dFhfwWL8vxivdrrYzVKPjHMCAXzzgyNZbs,467
|
218
|
-
femagtools-1.8.
|
219
|
-
femagtools-1.8.
|
220
|
-
femagtools-1.8.
|
221
|
-
femagtools-1.8.
|
222
|
-
femagtools-1.8.
|
223
|
-
femagtools-1.8.
|
219
|
+
femagtools-1.8.6.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
|
220
|
+
femagtools-1.8.6.dist-info/METADATA,sha256=tI4Q7eHYpIQea6ThRR-t4cUGHGolUaBOwmzxfHktp_E,6190
|
221
|
+
femagtools-1.8.6.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
222
|
+
femagtools-1.8.6.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
|
223
|
+
femagtools-1.8.6.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
|
224
|
+
femagtools-1.8.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|