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.
@@ -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[:-1])-np.mean(y[:-1]) > 0
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', 1)
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
- if response[0] in self.header or b'' in self.header:
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.4
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=vU0ig-0cH1u4MYLp5oY1knIx_P1ztRN-DjjooJ2MxnE,1600
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=7-Qd8BjxbYjNhmHbZtblsIW3FavjREiSE-RkAHA0TO4,74068
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=gku2PP8rEj8UWRUscD5jYB7kKzlA4lcbd-y2sTdRClQ,47291
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=p2Y4gu-WlGdN9v6aL4IUHPG0bANHUPSE4a9F64wIMoY,9050
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=wMwOxMhPLFRiGPMsKQwWWuGr6UZPzRBajhfVMfXptNU,6794
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=ZbsxMeZ5xh_rSIRX9lAS7EnfQivbicoxEsUSyDoPHNk,1597
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=oyPHnRc3tBkk5zCZuKiAlXnYX9ialYMuC5Z1QIxRhos,8584
51
+ femagtools/zmq.py,sha256=HY8U7dxXkgE48151nvLcnLPa8OFBZcZTrB2XcjBc0Y4,9413
52
52
  femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
53
- femagtools/dxfsl/area.py,sha256=CXLf4lagLGGMkGZLfwowpH50djsZkepYSU5F3Juyxqo,69679
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=9ki4PGyKuPpsSifKrBPu5_IvbhePv3sQU-Sq8A64s4w,12606
57
- femagtools/dxfsl/converter.py,sha256=5MwbWzrPfSuvGNX29mVfSpEOmAFxxj6JKhMEzYDqFng,43589
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=rDOgfYYkhwpR8lf30Tr1sTo-j7kZ300XBAX_gEHw79M,176516
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=4WEK2xB5GcjCTW4GyWN8q8PaQArbmbU0Yq4zmLJ79vo,26870
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=VswrQuGB_uGE4cYWIQSXLSEVJKrmSwNJdGlme7RPEno,20912
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=f0yNw9NhadltPIu7zRWwTAY6FgHKeq9ul-3UcnK8Fmk,949
87
- femagtools/plot/bch.py,sha256=_EEPPEqtEPeWco3xlQqUuZft1eF-IXbMNnXyd8pYEJs,28873
88
- femagtools/plot/char.py,sha256=gVWPQTJkU8VkbCGFD62zfmZA_K0KlZ7EjorhwshhnZA,12123
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.4.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
219
- femagtools-1.8.4.dist-info/METADATA,sha256=FJCB-k0wQYuV9--d33J03ysXZrIXdvLwXLMYy6VCiE4,6190
220
- femagtools-1.8.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
221
- femagtools-1.8.4.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
222
- femagtools-1.8.4.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
223
- femagtools-1.8.4.dist-info/RECORD,,
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,,