femagtools 1.8.12__py3-none-any.whl → 1.8.14__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.
@@ -2,11 +2,11 @@
2
2
 
3
3
  slot_div_angle = 360/m.tot_num_slot
4
4
 
5
- if m.xcoil_1 ~= nil and m.ycoil_1 ~= nil then
5
+ if m.xcoil_1 ~= nil and m.ycoil_1 ~= nil then
6
6
  rcoil, phi_coil = c2pd(m.xcoil_1, m.ycoil_1)
7
7
  else
8
8
  rcoil, phi_coil = da1/2 + m.slot_height/2, slot_div_angle/2
9
- end
9
+ end
10
10
 
11
11
  -- delete existing mesh in the slot
12
12
  for i = 1, m.num_sl_gen do
@@ -173,11 +173,11 @@ for i = 1, #winding do
173
173
  slot_nr = winding[i][2]
174
174
  layer = winding[i][3]
175
175
  direction = winding[i][4]
176
- if direction < 0 then
176
+ if direction < 0 then
177
177
  dir = 'wo'
178
178
  else
179
179
  dir = 'wi'
180
- end
180
+ end
181
181
  if i == 1 then
182
182
  if slot_nr <= m.num_sl_gen then
183
183
  wkey = def_new_wdg(wire_xy[slot_nr][layer].x, wire_xy[slot_nr][layer].y, cols[winding[i][1]], "Phase"..winding[i][1], 1, 0, 0, dir)
@@ -188,7 +188,7 @@ for i = 1, #winding do
188
188
  if slot_nr <= m.num_sl_gen then
189
189
  add_to_wdg (wire_xy[slot_nr][layer].x, wire_xy[slot_nr][layer].y, "wsamekey", dir, "wser")
190
190
  end
191
-
191
+
192
192
  else
193
193
  if slot_nr <= m.num_sl_gen then
194
194
  wkey = def_new_wdg(wire_xy[slot_nr][layer].x, wire_xy[slot_nr][layer].y, cols[winding[i][1]], "Phase"..winding[i][1], 1, 0, 0, dir)
@@ -197,4 +197,6 @@ for i = 1, #winding do
197
197
  end
198
198
  end
199
199
  end
200
- m.num_par_wdgs = ${model.get('num_par_wdgs', 1)}
200
+ m.num_par_wdgs = ${model.get('num_par_wdgs', 1)}
201
+
202
+ pre_models("gen_pocfile")
@@ -90,6 +90,7 @@ end
90
90
  if nrot == nil then
91
91
  nrot = nodes
92
92
  end
93
+ nrot=1 -- otherwise too long and only 1 is needed to have results
93
94
  curvec = {${','.join([str(x) for x in model['curvec']])}} -- A rms
94
95
 
95
96
  print("\nNo load flux simulation (DC) with rotation\n")
femagtools/ts.py CHANGED
@@ -149,7 +149,7 @@ class TimeRange(object):
149
149
 
150
150
 
151
151
  class Losses(object):
152
- def __init__(self, modelname, dirname):
152
+ def __init__(self, modelname, dirname, **kwargs):
153
153
  '''Loss calculation for FEMAG-TS simulations
154
154
  Parameters
155
155
  ----------
@@ -158,10 +158,23 @@ class Losses(object):
158
158
  ncmodel : object
159
159
 
160
160
  '''
161
- self.vtu_data = vtu.read(dirname)
161
+ try:
162
+ # when vtu files are present
163
+ self.vtu_data = vtu.read(dirname)
164
+ except:
165
+ self.vtu_data = None
162
166
  self.nc_model = femagtools.nc.read(modelname)
163
- # Read iron losses coefficients
164
- self.iron_loss_coefficients = self.nc_model.iron_loss_coefficients
167
+ try:
168
+ self.el_induc_idx = -1
169
+ if np.allclose(self.nc_model.el_fe_induction_1[:, :, 0, -1], 0.0):
170
+ # torq calc
171
+ self.el_induc_idx = 0
172
+ except:
173
+ pass
174
+
175
+ # read iron losses coefficients from user input/nc files
176
+ self.iron_loss_coefficients = kwargs.get("iron_loss_coefficients",
177
+ self.nc_model.iron_loss_coefficients)
165
178
  for c in self.iron_loss_coefficients:
166
179
  if c['cw_freq_exp'] == c['cw_ind_exp']:
167
180
  c['kw'] = losscoeff_frequency_to_time(
@@ -172,6 +185,8 @@ class Losses(object):
172
185
  warnings.warn(
173
186
  'Waterfall method not possible, specify parameter kw')
174
187
  kw = 0.0
188
+ self.iron_lossdens_el = []
189
+
175
190
 
176
191
  def ohm_lossenergy_el(self, el, supel):
177
192
  '''Ohmic loss energy of an element
@@ -594,7 +609,12 @@ class Losses(object):
594
609
  sw = self.iron_loss_coefficients[ldi]['spec_weight']*1000
595
610
  ff = self.iron_loss_coefficients[ldi]['fillfactor']
596
611
 
597
- bx_vec_0 = self.vtu_data.get_data_vector('b', el.key)[0]
612
+ try:
613
+ bx_vec_0 = self.vtu_data.get_data_vector('b', el.key)[0]
614
+ except:
615
+ # read flux density from nc file: remove last point
616
+ bx_vec_0 = self.nc_model.el_fe_induction_1[el.key-1, :, -1, self.el_induc_idx][0:-1]
617
+
598
618
  if not self.times.equidistant:
599
619
  bx_vec = np.interp(self.times.vector_equi,
600
620
  self.times.vector, bx_vec_0,
@@ -609,7 +629,12 @@ class Losses(object):
609
629
  bx_spec[0] = bx_spec[0]/2
610
630
  bx_phi = np.arctan2(spx.imag, spx.real)
611
631
 
612
- by_vec_0 = self.vtu_data.get_data_vector('b', el.key)[1]
632
+ try:
633
+ by_vec_0 = self.vtu_data.get_data_vector('b', el.key)[1]
634
+ except:
635
+ # read flux density from nc file: remove last point
636
+ by_vec_0 = self.nc_model.el_fe_induction_2[el.key-1, :, -1, self.el_induc_idx][0:-1]
637
+
613
638
  if not self.times.equidistant:
614
639
  by_vec = np.interp(self.times.vector_equi,
615
640
  self.times.vector, by_vec_0,
@@ -710,6 +735,9 @@ class Losses(object):
710
735
  (se.elements[0].mag[0] == 0.0 and se.elements[0].mag[1] == 0.0):
711
736
  for el in se.elements:
712
737
  ellosses = self.iron_losses_fft_el(el, se)
738
+ self.iron_lossdens_el.append(dict(key=el.key,
739
+ area=el.area,
740
+ losses=ellosses))
713
741
  sehystlosses = sehystlosses + \
714
742
  ellosses['hysteresis'] * scale_factor
715
743
  seeddylosses = seeddylosses + \
@@ -791,7 +819,10 @@ class Losses(object):
791
819
  self.vtu_data.set_time_window(start, end)
792
820
 
793
821
  data_list = ['b']
794
- self.vtu_data.read_data(data_list)
822
+ try:
823
+ self.vtu_data.read_data(data_list)
824
+ except:
825
+ pass
795
826
  self.times = TimeRange(self.vtu_data, self.nc_model)
796
827
 
797
828
  losseslist = []
femagtools/utils.py CHANGED
@@ -10,7 +10,10 @@ def fft(pos, y, pmod=0):
10
10
  pmod: number of poles in model (ignored if 0)
11
11
  """
12
12
  model_angle = pos[-1] - pos[0]
13
- ntiles = int(round(360/model_angle))
13
+ if 360/model_angle < 1:
14
+ ntiles=1
15
+ else:
16
+ ntiles = int(round(360/model_angle))
14
17
 
15
18
  if pmod:
16
19
  negative_periodic = pmod % 2
@@ -51,6 +54,7 @@ def fft(pos, y, pmod=0):
51
54
  alfa0 = np.angle(Y[i])
52
55
  alfa = np.angle(Y[:nmax])
53
56
 
57
+
54
58
  return {'a': a, 'a0': a0, 'T0': T0, 'alfa0': alfa0,
55
59
  'alfa': alfa,
56
60
  'nue': (2*np.abs(Y[:nmax])/N).tolist(),
femagtools/zmq.py CHANGED
@@ -189,6 +189,9 @@ class SubscriberTask(threading.Thread):
189
189
  SubscriberTask.notify_send_header.add('progress_logger')
190
190
  response[0] = b'progress_logger'
191
191
  SubscriberTask.notify_send_data['progress_logger'] = response
192
+ while self.protId >= len(SubscriberTask.percent_list):
193
+ # keep old progressbar working
194
+ SubscriberTask.percent_list.append(0)
192
195
  SubscriberTask.percent_list[self.protId] = json.loads(response[1].decode()).get('percent')
193
196
  continue
194
197
 
@@ -223,7 +226,7 @@ class SubscriberTask(threading.Thread):
223
226
 
224
227
  if socks.get(self.controller) == zmq.POLLIN:
225
228
  req = self.controller.recv()
226
- self.logger.info("subscriber %s", req)
229
+ self.logger.debug("subscriber %s", req)
227
230
  break
228
231
  self.subscriber.close()
229
232
  self.controller.close()
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: femagtools
3
- Version: 1.8.12
3
+ Version: 1.8.14
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
@@ -64,6 +64,7 @@ Provides-Extra: test
64
64
  Requires-Dist: pytest; extra == "test"
65
65
  Provides-Extra: all
66
66
  Requires-Dist: femagtools[dxfsl,meshio,mplot,svgfsl,test,vtk,zmq]; extra == "all"
67
+ Dynamic: license-file
67
68
 
68
69
 
69
70
  # Introduction to Femagtools
@@ -1,9 +1,9 @@
1
- femagtools/__init__.py,sha256=wRK12H26MLJW_1cDk2ngqCP1fJGYZOWzt-2ugf0c9ao,1601
1
+ femagtools/__init__.py,sha256=gJcP88c10j1_CgFqstAAzR2NxPFwt_-dkoYUz5i2-yk,1601
2
2
  femagtools/airgap.py,sha256=hELJXe52yUw82JwZ1tGUXUtRhMG2_WSUBVeGkTZSAM8,1900
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=wLuYbxNPpZ8b-74O_m-85qmbW2pg0ozEXfd2DD7-gvY,74388
6
+ femagtools/bch.py,sha256=TC1DKNHuYS9QQNVdBdM1QiMmF6qlT3RnRA4uDMa270c,75623
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
@@ -13,20 +13,20 @@ 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=nES8mtXNFitmxDvKL5o39hZl6qu-HfR6kUh9eBA9zxQ,34660
16
+ femagtools/ecloss.py,sha256=3qwfb_9qpWw99asUDcQgdbP51VGXp4MlLQZDhywWHEk,35051
17
17
  femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
18
- femagtools/femag.py,sha256=ScrZ9gbWQIy4eIhF0Wmi41lSFm7-WRtiLcJOvkITcHo,44864
18
+ femagtools/femag.py,sha256=ejagYsOG9CJDcJQvldq3v3NcZ0OdMC5aipZenc-5MI4,44868
19
19
  femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
20
- femagtools/fsl.py,sha256=J1V1Kr-PZpWbLegYMAvgfUabj1WZOji_-JR9mlf23gg,37043
20
+ femagtools/fsl.py,sha256=AWyc7mIgUL2tjqw_kmK22y-gZXhTzOccyhjJLwCqKcg,37736
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
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=HqTQmbOLmLi75ytXpkryeYiXqUChi07mBUNYYj9xOjk,66365
27
+ femagtools/isa7.py,sha256=qtmBx53IIbn4rO2pCTFqn0h1f-REbQ0uEWAJ9T85LgI,67033
28
28
  femagtools/jhb.py,sha256=stJxkmzHpfUIBVcFw7jWbV5KN9_EFqzOCgacyhUqWvM,1779
29
- femagtools/job.py,sha256=sIRVXsyoupfRXqGsWyOHMetcKlWIyggxfVURjM8aD54,11322
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
@@ -34,23 +34,23 @@ femagtools/mcv.py,sha256=nVemXwRPHkvlz7IIwnUONfQglnOcTnp3CsPwU1eG3OI,48604
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
37
- femagtools/multiproc.py,sha256=Y8nx0W4NgRoG6UWO6TUD1drx216xnzSYuBbisCHhqrY,9107
37
+ femagtools/multiproc.py,sha256=XSYe18kZOaY6C_9gH_neWR0H3S8q2l8dda3dbXlNb54,9265
38
38
  femagtools/mxw2msh.py,sha256=CIIqAvfs8U-A0OfuOAoDaqNSmoMSHSI_tW1CPFRCP5E,2151
39
39
  femagtools/nc.py,sha256=sKfFaeT8hPVUCb1axPIwfUVxuUsnrHygdfqiHv7G_YA,15216
40
40
  femagtools/netlist.py,sha256=CSCl8setLZ_L8DCnNWaNA3-wLe1yo-fmzARZoVvYfaA,2052
41
41
  femagtools/ntib.py,sha256=76g1ZO3Fq_kN-HTMBvaKvJmMMlJMyEPFeNAcJPq3w7Y,3099
42
42
  femagtools/opt.py,sha256=wBU0yh3hZlNti_zfIvtKcPg1EJrnE3I1BqmVxLGWixU,8753
43
- femagtools/parstudy.py,sha256=kYUUX7wGggt5FEkH2jChl_BhAmKqBACCFYF_LN5mHeA,20045
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=B1gfxItKLv2qDgdHQkDWaSAAHsNwXdDD7Hu8mysIekY,14001
46
+ femagtools/shortcircuit.py,sha256=ZugEzPnofsVb2ZLInEbjkjwEVzLL1dNTJtqSueaHc8A,14301
47
47
  femagtools/tks.py,sha256=mDi45S5go9-jwALh6rS9RWPoOFBORZm0-XL4ECjSf_8,7531
48
- femagtools/ts.py,sha256=x9aCMVASjdBZuyI2pJGMyi1dveGFd_pWQ20cZ-l_moc,47216
49
- femagtools/utils.py,sha256=dJkQ5xsoVMzSEB5-2hEiwe2of9mLmsDo8nkrnSN-gPE,1643
48
+ femagtools/ts.py,sha256=yoYjpKrr_0b-tHfsX5azJEBXHUs9PN8P-SMhbjjRhCA,48381
49
+ femagtools/utils.py,sha256=yZYgAKHsvK7QyY2-ijE3gSzXlE3vfuhD5dx7myyw434,1703
50
50
  femagtools/vbf.py,sha256=9XGfhftmD9carU8ByQ5DwqoR4daq5mJ39eMqruwml0Q,2444
51
51
  femagtools/vtu.py,sha256=Sf83dHIfCKY2km-MIUHKKoj-JKN4PDX7kkPLZXyIYY4,10723
52
52
  femagtools/windings.py,sha256=p7BkIbi8mMc_CmWqAjOZNKz1-GlQb4kON4rWhvlARf8,27498
53
- femagtools/zmq.py,sha256=HY8U7dxXkgE48151nvLcnLPa8OFBZcZTrB2XcjBc0Y4,9413
53
+ femagtools/zmq.py,sha256=62x5VRk0TMNER0-EZ8E28IdLKzsttlbxy1U_3wocNLc,9618
54
54
  femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
55
55
  femagtools/dxfsl/area.py,sha256=CpTMRBF8_AJmJMkkn-LgRv27U5xJ5Ohhd2ppRvESPNU,69757
56
56
  femagtools/dxfsl/areabuilder.py,sha256=6dfWryYjXzGIVDOsX2zb1VKIhUzmpL43XhF-wtdesAg,35882
@@ -70,14 +70,14 @@ femagtools/dxfsl/plotrenderer.py,sha256=q2cORuxJEf1Ws6oCY9c0gF6N3kDrcI6WOz3u5Vl6
70
70
  femagtools/dxfsl/shape.py,sha256=uQqbgXIA2_KP2XRdhCfVfGWjcjwzhJ5t9RhiqR9R98c,61668
71
71
  femagtools/dxfsl/svgparser.py,sha256=RY2TU9MK6gOaNmI6w6RNqcw7H9YGmK-NUwvdylKBcsE,3763
72
72
  femagtools/dxfsl/symmetry.py,sha256=dXfZVIqT49nbMirY5YVaRPi8kNB8reaiq-eIbhw1Z54,43936
73
- femagtools/machine/__init__.py,sha256=B7yeRZzf29NWCWy8C8iJFdTr9bszAoMRcVEpblhCeg4,7256
73
+ femagtools/machine/__init__.py,sha256=xDY9QSUVL2Y17I4fq-nXsb5uMHCIxnCmGVIiL0fZZYE,7447
74
74
  femagtools/machine/afpm.py,sha256=ZkYk-acfmwV2ebhU8BUE6dKYkDrCR8UKp1plxEdZ4v8,40223
75
- femagtools/machine/effloss.py,sha256=6mPm4Y_3lVXc1hOyCgTfRkGK3IAeC8gSxNnbSPL7or8,15508
76
- femagtools/machine/im.py,sha256=isMSoCnIk4Hj47MwBNP5PW7a2rI-7N35A9zHGOSl43s,38111
77
- femagtools/machine/pm.py,sha256=PTzQDIjHzKSoO2WT1jYH5cvCUCdAkmlmCfd2N35EbIs,69967
78
- femagtools/machine/sizing.py,sha256=6IUSdp6HNGHlSaWMy0mjzLGxp3UtxFLfdzQ_4MYx7TI,30069
79
- femagtools/machine/sm.py,sha256=SLaSuGJ8zXIFq6uBR2iu4uLXyWJZjA3iHAaTC8Jm-gw,39117
80
- femagtools/machine/utils.py,sha256=25QNxP8lp31W7kB-gcIA1Vd_9UcYlxrahqZ-k3ALU_s,20985
75
+ femagtools/machine/effloss.py,sha256=vDFKscFTWuW2ro4DRfNdmehQRhMBvqUG7iTm3YaARi8,16431
76
+ femagtools/machine/im.py,sha256=UeN1e0JTwsbaFjGhJFBmhwRDlgckNNf8_A69YmG6ABE,39545
77
+ femagtools/machine/pm.py,sha256=hXG71o2TqTxqy-FRy1WoeSOT-KysOGeZlCCnaLfISuE,70026
78
+ femagtools/machine/sizing.py,sha256=QO-k-UALmSPFNf8ajJPDnzKtlbkiAhX1DqWCRLr-H9k,32306
79
+ femagtools/machine/sm.py,sha256=hQC_guN6qCJPrFWyECNyJyVmu13wzPxTioqXnGT4AtA,39191
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
83
83
  femagtools/moo/population.py,sha256=krIl8tOJXPhCgBemkqn-jwvZg1VzsGniqMN_KAFxbuw,10203
@@ -86,7 +86,7 @@ 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=c2zSrtUyQWeKoxcJPGsuNvQ59veyXlvD-Fu4UBdmAyU,34078
89
+ femagtools/plot/bch.py,sha256=EhW_YRgMZU4K1Az_XAK1XGG0JAtrDwmwZ6SHdvPi4-c,34085
90
90
  femagtools/plot/char.py,sha256=xv4cNOTorK-fy7eUFhmyR-013TFI2A2999xXKgL2AnA,12469
91
91
  femagtools/plot/fieldlines.py,sha256=_7ykKhnQLeS4fz34pnzovH1gIhcUSKJ3gl1GUgWYix8,1137
92
92
  femagtools/plot/fluxdens.py,sha256=NlexRJ3f_8CgKoWrV82ZIsAXPrLhwj98uOe8_fUks7A,1082
@@ -97,7 +97,7 @@ femagtools/plot/nc.py,sha256=E7_7WNG3MNrV4QPJJqng1nfuXf3ZbjAGeonthqQlMss,11349
97
97
  femagtools/plot/phasor.py,sha256=5QG1GkXKVksc8P6Q4thKADf6W1l8rDKeArIHFYvbXlw,4858
98
98
  femagtools/plot/wdg.py,sha256=Orw2XGThHpOuJ_raSRnQTzj5tOmwllNWweByoOXbA7I,9820
99
99
  femagtools/svgfsl/converter.py,sha256=5q4LognshXNTpUWLnU5rtgCfAwZnEuPzqsgyeRYC-VM,3019
100
- femagtools/templates/FE-losses.mako,sha256=Rql5_8Q6_uthpr-uFXMUo7tdHehfZYND-7M-ohJXVU8,874
100
+ femagtools/templates/FE-losses.mako,sha256=cfDlO11vWovz2muPLg9X2rgeHD9Ihaz8PRiz63MRr88,819
101
101
  femagtools/templates/afm_rotor.mako,sha256=4yoEA4fOq9FRcwxOMRw1oX4Bs_jcrtyHOY6kHPYJ5MY,3175
102
102
  femagtools/templates/afm_stator.mako,sha256=l1xEwxffZ1jyx5wuJ3rhVbVlZirJzD2K8n4i5Dvbxuc,5344
103
103
  femagtools/templates/airgapinduc.mako,sha256=aCMLZ7P4vjeSGikIetkwymgDjESdftPN_aYx2LfjfsY,246
@@ -116,7 +116,7 @@ femagtools/templates/displ_stator_rotor.mako,sha256=dsf9qW0i79aWAbOxaHwWfiq-Tn6W
116
116
  femagtools/templates/ec-rotorbar.mako,sha256=RbA1TVNczEEddTNjvGLPxILExxp4rIgoxXe1YT6a4Is,1672
117
117
  femagtools/templates/fe-contr.mako,sha256=Gj4EFpAk_SVW_SIeW5eRRJAsYXTTpl-djuyb47n3Dj8,1898
118
118
  femagtools/templates/fieldcalc.mako,sha256=bEtff9HeD6hTpB9t3COt40V1oGeT0a_6ouWTQlKIGX8,749
119
- femagtools/templates/gen_hairpin_winding.mako,sha256=mQ8TyFYzSyKazpu4uiyS0UdVrl4PobHN-J6FE74IWs8,5329
119
+ femagtools/templates/gen_hairpin_winding.mako,sha256=O3up0yjj3BDqFgpIY28fILKt7NX9NbgXTbd0sb3MM6A,5340
120
120
  femagtools/templates/gen_winding.mako,sha256=kVMRkonDLHRB12bJ5e0Pwb1-8hBGVMM4dn1FEo70bok,3984
121
121
  femagtools/templates/inductances.mako,sha256=OpcW3E7LW09J8eoXylzfq2R16LKKxzJDr0PGCdHzixM,560
122
122
  femagtools/templates/ld_lq_fast.mako,sha256=vO7_zLpZThNpBu_LSGnZ8k1S8eF87DEmxUse4rRVmmk,1448
@@ -140,7 +140,7 @@ femagtools/templates/modal_analysis.mako,sha256=Thf62FBqL738qnp1ongPr196GJY27vwE
140
140
  femagtools/templates/modified_steinmetz.mako,sha256=qrJ18XtoU39kjbcdywCJCLObQGaO-eC3Cl-1P4xLZWg,1327
141
141
  femagtools/templates/mult_cal_fast.mako,sha256=TTEPmWKpqq8rSO_usYvHl9rTMopHNGoEhmRuhEgYTrg,1344
142
142
  femagtools/templates/new_model.mako,sha256=P7658h99bKrA6YbP1D365ImIZPGEAZoBeYCdq0DT0AA,345
143
- femagtools/templates/noloadflux-rot.mako,sha256=BiAtTL0mj8ukbRiPKKyH80PpzugGIJKZhvay7yxnSp8,3209
143
+ femagtools/templates/noloadflux-rot.mako,sha256=Rcoq0qTR4hzPaG--5IbgqFaX6b4u04AGvyHOP-M0WjU,3275
144
144
  femagtools/templates/noloadflux.mako,sha256=vYUpZRLOAixNoBbB-Nc-Y9niPYsSUEPvBCOjw26uFdg,4661
145
145
  femagtools/templates/noloadfluxdc.mako,sha256=n3M4gNxf4Q-i7B8ft69Ism9lquRqh-pf4ET4KYwdQb0,3146
146
146
  femagtools/templates/open.mako,sha256=Zl5yvdwT5BflJIPVmReggzSrTQhepbef62EoCuw_mQg,344
@@ -172,12 +172,13 @@ femagtools/templates/stator_msh.mako,sha256=Neze1ielMCk7TrARyhOra91fFQVT8Phsgk2O
172
172
  femagtools/templates/therm-dynamic.mako,sha256=pEz7jrUpopK1-RqgulNnrkSaCZDjfLelsVo6cBqmpac,3142
173
173
  femagtools/templates/therm_static.mako,sha256=ulevp4AP-kZ1_qdScPMaX9tLqvvP0t9lFflWTXgUxaE,1310
174
174
  femagtools/templates/torq_calc.mako,sha256=et6O9ZEkPMOYcaJVpYtH2u3aoU0iyhRCPkfN4ZLdjxA,2353
175
+ femagtools-1.8.14.dist-info/licenses/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
175
176
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
176
177
  tests/test_afpm.py,sha256=ge5CXnVQ7E5gVViTI9hQOC0hHetBci18pY9prbUCAqU,16849
177
178
  tests/test_airgap_induction.py,sha256=cmpy1og59oWEyCO4oF_zDuc1DUwCbdeebNL1ujpZza4,1065
178
179
  tests/test_amela.py,sha256=Oi_NURmXDI0s9Tw82KO8k5ZkK6sZ9b2DhafJ5SBnvkE,629
179
180
  tests/test_asm.py,sha256=NAMJ2Km4zi6byhooq5E7GZbkFeSNSTaLpJWt-jQF5cE,1398
180
- tests/test_bchreader.py,sha256=yFpjN0MIv_o_OD8XH9HxlOpcNtL79K_3bXMeupxO648,16843
181
+ tests/test_bchreader.py,sha256=YPU00nl2MXQiMr1i-W4UOgUvKheeW5tqv_OpTBBOK0g,16835
181
182
  tests/test_conductor.py,sha256=T7bmuSdI2Fowwm2Ht-8D0Qnfs1_lx1aoi9RhC2p5nYU,332
182
183
  tests/test_convert.py,sha256=oseuhm3Iw-9b4WzBjA_Og2lgXPqKYicLUnfadq5Yick,6497
183
184
  tests/test_dxfsl.py,sha256=DBAjtwNAwcB7VYZBjul7xf4ovu14n3Z0fxyreVzAW4A,383
@@ -185,7 +186,7 @@ tests/test_effloss.py,sha256=-kJJNgS5c6saHXjNuhAe5GdWfr9mEYpPo8fE8OtjsNA,1142
185
186
  tests/test_erg.py,sha256=kRVzpXa6JDdbxTss18HUWKny9Dx8IMx9uGTrbQCnHwg,523
186
187
  tests/test_femag.py,sha256=l7-av3eitLm7bwTuunEmVeTspi82ifPrlz7f1boGdVI,1934
187
188
  tests/test_forcedens.py,sha256=Yzl3SAmJNkZN9dA3aLxRvwY8fKsw077Fl0iJm6zJ5Sk,536
188
- tests/test_fsl.py,sha256=pjgqRo5fhrKYWg-bWjPm_O6-kwVyr-ZK-oOFUgYtyso,16623
189
+ tests/test_fsl.py,sha256=oe5dHxR0G3sfGvsRtO6fEIn0R3oQFugsSkGzhyFPQR4,16624
189
190
  tests/test_heat_source_network.py,sha256=TC-Gl4iy9jnMGfsY_24XjwlP-SDxP345JKVT8xRwsFo,690
190
191
  tests/test_hxy.py,sha256=pVb6ZfDhBy5-DXa3gh7RQmLFG8p5cSYB8gdGLC8kjAk,640
191
192
  tests/test_im.py,sha256=55wfCoA8_PuogI_RsC3AjUQCpR84T-HddtHuU1NxfPc,662
@@ -221,9 +222,8 @@ tests/moo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
222
  tests/moo/test_algorithm.py,sha256=Em8sFm2vzPmuIzRrBBnUQLU_TYuJHSf-kEeozw0XeX4,2563
222
223
  tests/moo/test_population.py,sha256=FvX9LRCxQx0_E2GxHQ5vKwOYFBQiNbT6Lmv5GmNWjTQ,5471
223
224
  tests/moo/test_problem.py,sha256=ALeP4u7g-dFhfwWL8vxivdrrYzVKPjHMCAXzzgyNZbs,467
224
- femagtools-1.8.12.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
225
- femagtools-1.8.12.dist-info/METADATA,sha256=Y7Cxd_Wdj5H25nX8oaFX9ZWBxCvupQPDWKZTnJc-nGM,6191
226
- femagtools-1.8.12.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
227
- femagtools-1.8.12.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
228
- femagtools-1.8.12.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
229
- femagtools-1.8.12.dist-info/RECORD,,
225
+ femagtools-1.8.14.dist-info/METADATA,sha256=BrabUwTwkjyUIeeY3Ln1RIyfy1FQefxu8EgDckCsobA,6213
226
+ femagtools-1.8.14.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
227
+ femagtools-1.8.14.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
228
+ femagtools-1.8.14.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
229
+ femagtools-1.8.14.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.1.0)
2
+ Generator: setuptools (80.4.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
tests/test_bchreader.py CHANGED
@@ -92,7 +92,7 @@ class BchReaderTest(unittest.TestCase):
92
92
  self.assertAlmostEqual(bch.dqPar['i1'][1], 49.992, 3)
93
93
  self.assertAlmostEqual(bch.dqPar['ld'][0], 9.9e-3, 6)
94
94
  self.assertAlmostEqual(bch.dqPar['ld'][0], 9.9e-3, 6)
95
- self.assertAlmostEqual(bch.dqPar['u1'][1], 358.38, 2)
95
+ self.assertAlmostEqual(bch.dqPar['u1'][1], 358.10, 2)
96
96
  self.assertAlmostEqual(bch.dqPar['torque'][0], 65.3, 1)
97
97
 
98
98
  self.assertAlmostEqual(bch.machine['i1'], 50.0)
@@ -163,7 +163,7 @@ class BchReaderTest(unittest.TestCase):
163
163
  self.assertAlmostEqual(bch.dqPar['i1'][1], 49.992, 3)
164
164
  self.assertAlmostEqual(bch.dqPar['ld'][0], 0.86688e-3, 6)
165
165
  self.assertAlmostEqual(bch.dqPar['ld'][0], 0.86688e-3, 6)
166
- self.assertAlmostEqual(bch.dqPar['u1'][1], 2409.142, 2)
166
+ self.assertAlmostEqual(bch.dqPar['u1'][1], 2394.0, 2)
167
167
  self.assertAlmostEqual(bch.dqPar['torque'][0], 1137.92, 1)
168
168
 
169
169
  np.testing.assert_almost_equal(bch.losses[-1]['fft']['stajo']['order_el'],
@@ -317,8 +317,8 @@ class BchReaderTest(unittest.TestCase):
317
317
  self.assertEqual(bch.psidq['losses']['styoke_excess'][0], [2.235, 2.235, 2.839])
318
318
  self.assertEqual(bch.psidq['losses']['stteeth_excess'][0], [6.58, 6.576, 7.176])
319
319
  self.assertEqual(bch.psidq['losses']['rotor_excess'][0], [0.0, 0.0, 0.0])
320
-
321
- def test_read_pm_sym_outer_rotor(self):
320
+
321
+ def test_read_pm_sym_outer_rotor(self):
322
322
  bch = self.read_bch('pm_sym_fast_outer_rotor.BATCH')
323
323
  self.assertEqual(bch.losses[-1]['staza'], 54.219)
324
324
  self.assertEqual(bch.losses[-1]['stajo'], 8.853)
@@ -330,7 +330,7 @@ class BchReaderTest(unittest.TestCase):
330
330
  self.assertEqual(list(bch.losses[-1]['fft']['stajo']['order_mech']), [4, 12, 20, 28, 36])
331
331
  self.assertEqual(list(bch.losses[-1]['fft']['stajo']['eddy']), [7.845, 0.64, 0.311, 0.044, 0.011])
332
332
 
333
- def test_read_ldlq_outer_rotor(self):
333
+ def test_read_ldlq_outer_rotor(self):
334
334
  bch = self.read_bch('ldlq_outer_rotor.BATCH')
335
335
  self.assertEqual(bch.ldq['losses']['styoke_eddy'][0], [63.32, 39.69, 42.85, 65.62])
336
336
  self.assertEqual(bch.ldq['losses']['styoke_hyst'][0], [0.0, 0.0, 0.0, 0.0])
tests/test_fsl.py CHANGED
@@ -304,12 +304,12 @@ class FslBuilderTest(unittest.TestCase):
304
304
  self.m['stator']['ffactor'] = 1.1
305
305
  model = femagtools.MachineModel(self.m)
306
306
  fsl = self.builder.create_fe_losses(model)
307
- self.assertEqual(len(fsl), 21)
307
+ self.assertEqual(len(fsl), 19)
308
308
  ffact = [float(f.split('=')[1])
309
309
  for f in fsl if f.startswith('m.ffactor')][0]
310
310
  self.assertEqual(ffact, self.m['stator']['ffactor'])
311
311
  feloss = [f.split('"')[1]
312
- for f in fsl if f.find('pre_models') > 0][0]
312
+ for f in fsl if f.find('pre_models') >= 0][0]
313
313
  self.assertEqual(feloss, 'FE-Losses-1')
314
314
 
315
315
  def test_run_models(self):