femagtools 1.8.12__py3-none-any.whl → 1.8.13__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/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/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,42 +1,14 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: femagtools
3
- Version: 1.8.12
3
+ Version: 1.8.13
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
- License: Copyright (c) 2016-2023, Semafor Informatik & Energie AG, Basel
7
- Copyright (c) 2023-2024, Gamma Technology LLC
8
- All rights reserved.
9
-
10
- Redistribution and use in source and binary forms, with or without
11
- modification, are permitted provided that the following conditions
12
- are met:
13
-
14
- Redistributions of source code must retain the above copyright notice,
15
- this list of conditions and the following disclaimer.
16
-
17
- Redistributions in binary form must reproduce the above copyright notice,
18
- this list of conditions and the following disclaimer in the documentation
19
- and/or other materials provided with the distribution.
20
-
21
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
25
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31
- THE POSSIBILITY OF SUCH DAMAGE.
32
-
6
+ License-Expression: BSD-3-Clause
33
7
  Classifier: Programming Language :: Python :: 3
34
8
  Classifier: Intended Audience :: Science/Research
35
- Classifier: License :: OSI Approved :: BSD License
36
9
  Classifier: Topic :: Scientific/Engineering
37
10
  Requires-Python: >=3.7
38
11
  Description-Content-Type: text/markdown
39
- License-File: LICENSE
40
12
  Requires-Dist: numpy
41
13
  Requires-Dist: scipy
42
14
  Requires-Dist: mako
@@ -1,9 +1,9 @@
1
- femagtools/__init__.py,sha256=wRK12H26MLJW_1cDk2ngqCP1fJGYZOWzt-2ugf0c9ao,1601
1
+ femagtools/__init__.py,sha256=HyXtrEg4fAUu0T0tWobt4wWZ6tzcYTlD4ap1kvNm0KA,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=ogdBxZhnUZuIcWOLNFODpD-jpUeTL-QSuwCRpjIMfj4,74768
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,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=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=kfIFBNV7xw1JUHKBdEck3bU3wD5JDKY02kfTlBDpkTo,44789
19
19
  femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
20
- femagtools/fsl.py,sha256=J1V1Kr-PZpWbLegYMAvgfUabj1WZOji_-JR9mlf23gg,37043
20
+ femagtools/fsl.py,sha256=h3wPDlTYUd6elcYutw0Tx-pOn97tDgqwkOZEWdN8vGM,38476
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
@@ -26,7 +26,7 @@ femagtools/heat_source_network.py,sha256=dz3nTK084SR2fyy1167wlpBlGrzv54OqCCGKPNW
26
26
  femagtools/hxy.py,sha256=PkiZ_-CRhtvtpkmLAP8iMtwvzh7CjKGGcAbOhFb4Nls,6275
27
27
  femagtools/isa7.py,sha256=HqTQmbOLmLi75ytXpkryeYiXqUChi07mBUNYYj9xOjk,66365
28
28
  femagtools/jhb.py,sha256=stJxkmzHpfUIBVcFw7jWbV5KN9_EFqzOCgacyhUqWvM,1779
29
- femagtools/job.py,sha256=sIRVXsyoupfRXqGsWyOHMetcKlWIyggxfVURjM8aD54,11322
29
+ femagtools/job.py,sha256=pc0IDskJ8d1aPLd1WO-2YKCNUAXnQiR5-lGPP91y6zk,11431
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
@@ -40,17 +40,17 @@ 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=Y3S1OUBVjAPhduQb08rNN2qHmQDJuI0yNsBuz6KMh6k,20548
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
48
+ femagtools/ts.py,sha256=yoYjpKrr_0b-tHfsX5azJEBXHUs9PN8P-SMhbjjRhCA,48381
49
49
  femagtools/utils.py,sha256=dJkQ5xsoVMzSEB5-2hEiwe2of9mLmsDo8nkrnSN-gPE,1643
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,13 +70,13 @@ 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=I71jrAGxE331x419y9iq3KxktNeDyTn9rJSFV03c_qA,8388
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
75
+ femagtools/machine/effloss.py,sha256=VzaJlMMVYWaSleEMqt5ipKji3Hm145UTZn0TxiZ_mw4,16447
76
+ femagtools/machine/im.py,sha256=rX4RTXtZuwK1sOhht1wz8YLcFVHxnRnozJSCBT0vF98,38324
77
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
78
+ femagtools/machine/sizing.py,sha256=vcm7wuokDtk21JAj5GHwMmlC4TaY-mYuXH-UD1nID-g,30172
79
+ femagtools/machine/sm.py,sha256=cr0lUvgDDdYashoX4EDBjaHP2Y6G-TGnqTj1N0qfST8,38961
80
80
  femagtools/machine/utils.py,sha256=25QNxP8lp31W7kB-gcIA1Vd_9UcYlxrahqZ-k3ALU_s,20985
81
81
  femagtools/moo/__init__.py,sha256=zinmWEOrsEz6DmMX0Dbn4t6_1UR-p4bEGqyR1wUQk_Q,175
82
82
  femagtools/moo/algorithm.py,sha256=e-Cgp2rp_hG9DXqWqluzQGNIWvCfthUgLD8O-aVPofA,5763
@@ -86,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
@@ -113,13 +113,13 @@ femagtools/templates/conduct-data.mako,sha256=quT9S1cq2C2GyeoUe-erxV6w20KvRPuJVJ
113
113
  femagtools/templates/connect_models.mako,sha256=8j1hzBMeoDJ7-GL5BH-S5p53Bu5jtqqsC2_w6MSwWnI,663
114
114
  femagtools/templates/cu_losses.mako,sha256=EeNwINYuwBuhbo9LH3STdQOTxOyyWw_BANgh_BSV9TE,1339
115
115
  femagtools/templates/displ_stator_rotor.mako,sha256=dsf9qW0i79aWAbOxaHwWfiq-Tn6WCDx46PQyEvL3SMw,830
116
- femagtools/templates/ec-rotorbar.mako,sha256=RbA1TVNczEEddTNjvGLPxILExxp4rIgoxXe1YT6a4Is,1672
116
+ femagtools/templates/ec-rotorbar.mako,sha256=MDXUKL3I4pJRMrOjXnjb-aABBnoYd1D_u5uHknmbXV8,1798
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
- femagtools/templates/ld_lq_fast.mako,sha256=vO7_zLpZThNpBu_LSGnZ8k1S8eF87DEmxUse4rRVmmk,1448
122
+ femagtools/templates/ld_lq_fast.mako,sha256=zmgrsGJsJ70Jfi3F6kmYeh1ftq51IUW09H6lAxYdHp8,1449
123
123
  femagtools/templates/leak_dist_wind.mako,sha256=vs8fpxcM203kL8BVNuR8BKSmMsQM6U1_vTtYXZIfdSc,600
124
124
  femagtools/templates/leak_evol_wind.mako,sha256=JKff7ZEpndKmFYr7R0xaef_49YV6TG0tZeE8wQejR7Q,770
125
125
  femagtools/templates/leak_tooth_wind.mako,sha256=LYCPSXhSLApidthuuGNiApLh0EJZOPZmTX0LZ5cOblQ,431
@@ -135,12 +135,12 @@ femagtools/templates/magnetSector.mako,sha256=vSyZVkYtuX2Bct5kpRRGjqez3xnca5PJVP
135
135
  femagtools/templates/magnetSectorLinear.mako,sha256=ez2rkZslw66Zy4DCDiLjI2K45nEjGgunl0jsXseO_Zs,727
136
136
  femagtools/templates/magnetShell.mako,sha256=vpyZIZ5tOsrmUVM00Kime7zyu1lK9P61xq78jB8BLdo,1295
137
137
  femagtools/templates/magnetShell2.mako,sha256=4IJBfBTPxuYHr1SAcVvNdQoGd8emwsx8vMKQPI9pRlc,4080
138
- femagtools/templates/mesh-airgap.mako,sha256=bHmiz-Ul_S0x7mJH_b2VWXu6aH7FyXB7dcTwr5JAg9c,4022
138
+ femagtools/templates/mesh-airgap.mako,sha256=ANlKEEYgnyTVuPizTmZG75g1lP-5MAhoOMR4fUB_kAE,4095
139
139
  femagtools/templates/modal_analysis.mako,sha256=Thf62FBqL738qnp1ongPr196GJY27vwElKqPfMWF45s,2298
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=EAnE2giVjXsQUOqIOmXvbqZnlA5_kRGZHren40DIqG0,3906
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
@@ -159,6 +159,8 @@ femagtools/templates/rotorAsyn.mako,sha256=r_gce0oic24nPdI7BmERM1sokXpC5vvm8Sm0T
159
159
  femagtools/templates/rotorKs2.mako,sha256=PtWyvW71gObgWIUnnqS9VnMX1oCfxw_sF9eAwUzeAyQ,1908
160
160
  femagtools/templates/rotor_msh.mako,sha256=50nep93hyVFG-KOJujPnJpCaIrIsG9VL71Zy8WGuxa0,1910
161
161
  femagtools/templates/rotor_winding.mako,sha256=rK5CBX4AJ1_SS5vL02_xVLmlWDlU2fosw4pLTlDFLlk,866
162
+ femagtools/templates/rotor_winding_ks2.mako,sha256=9xSxJpgNHkLP21dDhIjkI-ssSWxMUY_ViX5ZHZshU7A,1007
163
+ femagtools/templates/rotor_winding_ks2_ecSimulation.mako,sha256=raP7HvmL1W45tGPi86FlkNpO72ZogBl6GqN1hdh0aJ0,1031
162
164
  femagtools/templates/shortcircuit.mako,sha256=Mr1zRtF_Y2QZ1qpTn8_-PASYrTFRYWpByhDzdWx87ys,1981
163
165
  femagtools/templates/srm.mako,sha256=NneriEFv1wurQCGBI2xozzF2pTzlzS8pEPqtKm0SASQ,2077
164
166
  femagtools/templates/stator1.mako,sha256=1sf0lzLXsjwiBNk3OGLwlio3GUVFogfxqEwaySVO6cs,761
@@ -166,7 +168,7 @@ femagtools/templates/stator2.mako,sha256=7Ae9sfaX7H4ummL6-g8iG42ArUvl6J809TW2tOd
166
168
  femagtools/templates/stator3Linear.mako,sha256=pNe3C1wT0W2C0qePo3sEyebW1z_dpTuJzg0r5kf3JQY,760
167
169
  femagtools/templates/stator4.mako,sha256=Jq8pfIuOmmpyGOL1z2aQZfbwMS5-Zyn6OGJ51LCBVKs,1179
168
170
  femagtools/templates/statorBG.mako,sha256=fh0cVOZVWyLojlGxWJoFz2pvdL6Yxy4xzhY-Joc2xeg,893
169
- femagtools/templates/statorRing.mako,sha256=sDgDmk71EoE8d4e9cmyqKqRldfC8uKMmpHEjXJGIt_k,2071
171
+ femagtools/templates/statorRing.mako,sha256=7NeweZX3VIVlEfUlwt3HIMeW2BAKlyRDmOmLZdKpnAY,2071
170
172
  femagtools/templates/statorRotor3.mako,sha256=6ycHlkSnk-TKFdoxiOqjpr6Pk0l634w3_O94vvRP4BI,4357
171
173
  femagtools/templates/stator_msh.mako,sha256=Neze1ielMCk7TrARyhOra91fFQVT8Phsgk2Omt_aMG8,1799
172
174
  femagtools/templates/therm-dynamic.mako,sha256=pEz7jrUpopK1-RqgulNnrkSaCZDjfLelsVo6cBqmpac,3142
@@ -177,15 +179,15 @@ tests/test_afpm.py,sha256=ge5CXnVQ7E5gVViTI9hQOC0hHetBci18pY9prbUCAqU,16849
177
179
  tests/test_airgap_induction.py,sha256=cmpy1og59oWEyCO4oF_zDuc1DUwCbdeebNL1ujpZza4,1065
178
180
  tests/test_amela.py,sha256=Oi_NURmXDI0s9Tw82KO8k5ZkK6sZ9b2DhafJ5SBnvkE,629
179
181
  tests/test_asm.py,sha256=NAMJ2Km4zi6byhooq5E7GZbkFeSNSTaLpJWt-jQF5cE,1398
180
- tests/test_bchreader.py,sha256=yFpjN0MIv_o_OD8XH9HxlOpcNtL79K_3bXMeupxO648,16843
182
+ tests/test_bchreader.py,sha256=YPU00nl2MXQiMr1i-W4UOgUvKheeW5tqv_OpTBBOK0g,16835
181
183
  tests/test_conductor.py,sha256=T7bmuSdI2Fowwm2Ht-8D0Qnfs1_lx1aoi9RhC2p5nYU,332
182
184
  tests/test_convert.py,sha256=oseuhm3Iw-9b4WzBjA_Og2lgXPqKYicLUnfadq5Yick,6497
183
185
  tests/test_dxfsl.py,sha256=DBAjtwNAwcB7VYZBjul7xf4ovu14n3Z0fxyreVzAW4A,383
184
186
  tests/test_effloss.py,sha256=-kJJNgS5c6saHXjNuhAe5GdWfr9mEYpPo8fE8OtjsNA,1142
185
187
  tests/test_erg.py,sha256=kRVzpXa6JDdbxTss18HUWKny9Dx8IMx9uGTrbQCnHwg,523
186
- tests/test_femag.py,sha256=l7-av3eitLm7bwTuunEmVeTspi82ifPrlz7f1boGdVI,1934
188
+ tests/test_femag.py,sha256=55cCx90tJ1BEeu_-DOit37y26hFGVSYwkT81s9-p28E,1934
187
189
  tests/test_forcedens.py,sha256=Yzl3SAmJNkZN9dA3aLxRvwY8fKsw077Fl0iJm6zJ5Sk,536
188
- tests/test_fsl.py,sha256=pjgqRo5fhrKYWg-bWjPm_O6-kwVyr-ZK-oOFUgYtyso,16623
190
+ tests/test_fsl.py,sha256=5l-L-6eONQAgRReMtyoUNEpy9-hMKfmX7iZbhxW61xw,16623
189
191
  tests/test_heat_source_network.py,sha256=TC-Gl4iy9jnMGfsY_24XjwlP-SDxP345JKVT8xRwsFo,690
190
192
  tests/test_hxy.py,sha256=pVb6ZfDhBy5-DXa3gh7RQmLFG8p5cSYB8gdGLC8kjAk,640
191
193
  tests/test_im.py,sha256=55wfCoA8_PuogI_RsC3AjUQCpR84T-HddtHuU1NxfPc,662
@@ -221,9 +223,8 @@ tests/moo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
221
223
  tests/moo/test_algorithm.py,sha256=Em8sFm2vzPmuIzRrBBnUQLU_TYuJHSf-kEeozw0XeX4,2563
222
224
  tests/moo/test_population.py,sha256=FvX9LRCxQx0_E2GxHQ5vKwOYFBQiNbT6Lmv5GmNWjTQ,5471
223
225
  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,,
226
+ femagtools-1.8.13.dist-info/METADATA,sha256=WrG9IMqMZCl8Fmuqe5N2Do4-KOhzC_ybE7kwj-m0MS4,4571
227
+ femagtools-1.8.13.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
228
+ femagtools-1.8.13.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
229
+ femagtools-1.8.13.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
230
+ femagtools-1.8.13.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.1.0)
2
+ Generator: setuptools (80.3.1)
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_femag.py CHANGED
@@ -70,7 +70,7 @@ def test_run_script(monkeypatch, tmpdir):
70
70
  magnetizingCurves=mcv, magnets=magnetmat)
71
71
 
72
72
  fsl = femag.create_fsl(machine, simulation)
73
- assert len(fsl) == 94
73
+ assert len(fsl) == 95
74
74
  assert femag.model.magnet['temp_prop']['magntemp'] == 60.0
75
75
 
76
76
  r = femag(machine, simulation)
tests/test_fsl.py CHANGED
@@ -315,7 +315,7 @@ class FslBuilderTest(unittest.TestCase):
315
315
  def test_run_models(self):
316
316
  feapars['calculationMode'] = "cogg_calc"
317
317
  fsl = self.builder.create_analysis(feapars)
318
- self.assertEqual(len(fsl), 28)
318
+ self.assertEqual(len(fsl), 29)
319
319
 
320
320
  feapars['calculationMode'] = "pm_sym_fast"
321
321
  fsl = self.builder.create_analysis(feapars)
@@ -327,13 +327,13 @@ class FslBuilderTest(unittest.TestCase):
327
327
 
328
328
  feapars['calculationMode'] = "torq_calc"
329
329
  fsl = self.builder.create_analysis(feapars)
330
- self.assertEqual(len(fsl), 28)
330
+ self.assertEqual(len(fsl), 29)
331
331
 
332
332
  def test_run_existing_model(self):
333
333
  model = femagtools.MachineModel('data/magnsec')
334
334
  feapars['calculationMode'] = "cogg_calc"
335
335
  fsl = self.builder.create(model, feapars)
336
- self.assertEqual(len(fsl), 67)
336
+ self.assertEqual(len(fsl), 68)
337
337
 
338
338
  def test_create_plots(self):
339
339
  pars = copy.deepcopy(feapars)
@@ -1,26 +0,0 @@
1
- Copyright (c) 2016-2023, Semafor Informatik & Energie AG, Basel
2
- Copyright (c) 2023-2024, Gamma Technology LLC
3
- All rights reserved.
4
-
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions
7
- are met:
8
-
9
- Redistributions of source code must retain the above copyright notice,
10
- this list of conditions and the following disclaimer.
11
-
12
- Redistributions in binary form must reproduce the above copyright notice,
13
- this list of conditions and the following disclaimer in the documentation
14
- and/or other materials provided with the distribution.
15
-
16
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
18
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
20
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26
- THE POSSIBILITY OF SUCH DAMAGE.