femagtools 1.7.9__py3-none-any.whl → 1.8.1__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.
Files changed (43) hide show
  1. femagtools/__init__.py +1 -1
  2. femagtools/amela.py +2 -2
  3. femagtools/dxfsl/area.py +130 -26
  4. femagtools/dxfsl/conv.py +2 -14
  5. femagtools/dxfsl/converter.py +69 -12
  6. femagtools/dxfsl/fslrenderer.py +15 -13
  7. femagtools/dxfsl/geom.py +153 -82
  8. femagtools/dxfsl/journal.py +2 -2
  9. femagtools/dxfsl/machine.py +19 -15
  10. femagtools/dxfsl/shape.py +3 -0
  11. femagtools/ecloss.py +386 -2
  12. femagtools/femag.py +82 -9
  13. femagtools/fsl.py +52 -56
  14. femagtools/machine/pm.py +1 -1
  15. femagtools/machine/sm.py +16 -8
  16. femagtools/mcv.py +128 -124
  17. femagtools/me.py +13 -13
  18. femagtools/model.py +8 -2
  19. femagtools/plot/fieldlines.py +1 -1
  20. femagtools/plot/mcv.py +18 -0
  21. femagtools/plot/wdg.py +2 -2
  22. femagtools/svgfsl/converter.py +1 -1
  23. femagtools/templates/afm_rotor.mako +4 -0
  24. femagtools/templates/gen_hairpin_winding.mako +36 -45
  25. femagtools/templates/magnetIron.mako +1 -1
  26. femagtools/templates/magnetIron2.mako +1 -1
  27. femagtools/templates/magnetIron3.mako +1 -1
  28. femagtools/templates/magnetIron4.mako +1 -1
  29. femagtools/templates/magnetIron5.mako +1 -1
  30. femagtools/templates/magnetIronV.mako +1 -1
  31. femagtools/templates/magnetSector.mako +1 -1
  32. femagtools/templates/mesh-airgap.mako +12 -6
  33. femagtools/templates/prepare_thermal.mako +199 -61
  34. femagtools/windings.py +25 -20
  35. {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/METADATA +20 -20
  36. {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/RECORD +42 -43
  37. {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/WHEEL +1 -1
  38. tests/test_mcv.py +106 -1
  39. tests/test_windings.py +5 -0
  40. tests/test_mcvwriter.py +0 -96
  41. {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/LICENSE +0 -0
  42. {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/entry_points.txt +0 -0
  43. {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
- femagtools/__init__.py,sha256=ATMoeLjKbQNtu7mNeonzwYoT_GNWt_6-meukz6ptS4c,1600
1
+ femagtools/__init__.py,sha256=8qBE3W14xsW2ubtd47GQKlMz2Q3iiSOKk2UAcacUMJI,1600
2
2
  femagtools/airgap.py,sha256=hELJXe52yUw82JwZ1tGUXUtRhMG2_WSUBVeGkTZSAM8,1900
3
3
  femagtools/amazon.py,sha256=O1ICuv21XDAJi1qK1Sigs2TdS6hDZP19OzvmE2t76wU,12069
4
- femagtools/amela.py,sha256=pHjfXzpANI-7oz8MtrqNcyDZ6PxVM91vCJuvYhHy1rk,13891
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=gaZ8JmlFVoP6IYe79YXPXvZSULm8IZr6bPBdKuyKaIo,12832
16
+ femagtools/ecloss.py,sha256=kTsE9Lx6nt6Ez9PBfD58hPMcnH2PxSc95zJaYMCQd5Q,33957
17
17
  femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
18
- femagtools/femag.py,sha256=fFKsKiwiajNU5FXQPODMb8Tx0pPSyMfLEy-nfo_upBg,44566
18
+ femagtools/femag.py,sha256=m8mfMjzjkL_R-iqyInxM7y7F4jgKg6ZI7FfTQlbxtng,46988
19
19
  femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
20
- femagtools/fsl.py,sha256=5LsTXZ-fnos13HRycgu0i5claxyp5czL9xb61lpfRnM,37456
20
+ femagtools/fsl.py,sha256=XktbwR4KvUVv-Fq_9FMPbigBvrHYfSdL6P0kcwAx5Mg,36929
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=Y5tCBEhm6k64m9xQ-salId5e-U29nNTz-iH4MHTbE5Y,40673
33
- femagtools/me.py,sha256=XNK0l-aroNYfKyxV_uslE8q3vJb_KuntAYTWd-4FQaQ,1833
34
- femagtools/model.py,sha256=dK-SuH_dp1eN_wmFj_m1-PSEQdvT-g9roPu1s3zm4Ag,17700
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=-pVnutzZNy9wKYDV_9AoOqW3285UuIpqJkoUgan6A-Q,23456
49
+ femagtools/windings.py,sha256=OYoEFIQci3f3sYJkcyRjBpBpDRtX2Y2aHZiRXOEgsls,23497
50
50
  femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
51
- femagtools/dxfsl/area.py,sha256=A5kwW937EAAjxGSamW_RhXPu-ZNIsLpG670_ghI4rrM,61852
51
+ femagtools/dxfsl/area.py,sha256=d991y_mLGapilCQyp3ZK6mXbUeXEt-nAkJWJ5P0yxXo,65227
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=Z_jf4OTxikr-SoUuBew_wrEj32qcGPyEp7VMtkRJx9M,10747
55
- femagtools/dxfsl/converter.py,sha256=XDy8eN3Ck9M_U4K-9746tv4Bu4APzv62tq47XsQR6UE,33759
54
+ femagtools/dxfsl/conv.py,sha256=-d03mQiDWF_MD4T0TIH7k-zNa6p7w9rtc6QE2Bz1Q7s,10362
55
+ femagtools/dxfsl/converter.py,sha256=8Bm3JQaK6IwZBil6n5avaydd7Nkvj8tRNGbqWU4EHU8,35525
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=uAa2oEQjiyiXpyU0-0I4WEnNK_V1-7zPHrCIOb0xxX8,27652
60
+ femagtools/dxfsl/fslrenderer.py,sha256=v2z6GJPuuI0FDxHENw_Oteejz5GZzgc5nr0fjffH3q8,27904
61
61
  femagtools/dxfsl/functions.py,sha256=teJHtVxoViGs66AB8_4BxRrFQx9SbPT2azIrKyhJHOc,12005
62
- femagtools/dxfsl/geom.py,sha256=eYKe8PtWKl-4rcW570HVvOrDxX_CguMCupp8Mo60FQY,171680
63
- femagtools/dxfsl/journal.py,sha256=S17B7wsrq5QzIUbjgg0ntvnpgH0thHq9aQXO7GdYlQQ,4265
64
- femagtools/dxfsl/machine.py,sha256=NoUtAg-li3djMHg0jMqNoFp-aupSlrM_yrQ9kM4ip28,50222
62
+ femagtools/dxfsl/geom.py,sha256=Q0pxdT3qtUs7lg3RmJ-_7RhlnM9n9_xE_LRjJeNpf4E,174555
63
+ femagtools/dxfsl/journal.py,sha256=4LMSW5wCYlETzid6SIF8b5DH-DCgtH4nFx-xIxjtbfg,4265
64
+ femagtools/dxfsl/machine.py,sha256=vaELJixMKrjJTOe5QNb5aXVG17vN0KbMQaI1arNzYd0,50580
65
65
  femagtools/dxfsl/plotrenderer.py,sha256=q2cORuxJEf1Ws6oCY9c0gF6N3kDrcI6WOz3u5Vl6R_c,13823
66
- femagtools/dxfsl/shape.py,sha256=ZmWw7VTSJs5rcY1Lh99MKo804mO7dSGHdKMIh-nVBow,59904
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=iAi2iVk5REPB51Tz_mLrItofFBVQ2ZWzDsqlsu08ldM,68129
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=Lb1urOMl-RoPFqxaMb9fN-aHqlNsMyUWabhn1O2jlos,38807
75
+ femagtools/machine/sm.py,sha256=Y6g4KPm-2bhzMYjGarojokEzaNgOmFR2G4DIKBtVQOs,39210
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,16 +84,16 @@ 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=QtKF4nhnQ_FHHGh9Qez3GVmym0CLhW1ZyIKtk4pzos4,1136
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=NwDBe40PQgKqWh_rM89k-vsxRmvyjetv4y7elXzTPZU,3099
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=Bf9miZqIrIf69mzfufPsHVkKGmPi-lYmBfgggw2yE7w,9816
94
- femagtools/svgfsl/converter.py,sha256=F0os2rqgLREQlnfARlVQrpFC1GDEC49jKux75BQqqcQ,3014
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
- femagtools/templates/afm_rotor.mako,sha256=fY-dlZvRLN9UAy5V6Q_inWghkSUe8pzrCYjJdNgfNXs,3112
96
+ femagtools/templates/afm_rotor.mako,sha256=4yoEA4fOq9FRcwxOMRw1oX4Bs_jcrtyHOY6kHPYJ5MY,3175
97
97
  femagtools/templates/afm_stator.mako,sha256=l1xEwxffZ1jyx5wuJ3rhVbVlZirJzD2K8n4i5Dvbxuc,5344
98
98
  femagtools/templates/airgapinduc.mako,sha256=aCMLZ7P4vjeSGikIetkwymgDjESdftPN_aYx2LfjfsY,246
99
99
  femagtools/templates/asyn_motor.mako,sha256=vvZ0SIJj4ORaCbE1Hl5NeCU_j2CWdOltVpSKP7ESJTQ,2879
@@ -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=U8ZBe49WoRyUivcFgoJpwFRhQKlBQJthhCGVSf9emgY,5871
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=gN5YeckGb9khn7jqv9D1b06MnkKyZWCzYaK_5Y_uPFU,2528
124
- femagtools/templates/magnetIron2.mako,sha256=iO2Vlr9jA-ZngJ1LxwtFVou2tWi7_hxYOgdMqd4P0QM,2581
125
- femagtools/templates/magnetIron3.mako,sha256=OySuTGYbQvDgqCewwihhY9FZfYWrrq7l0-dujriGuqE,3471
126
- femagtools/templates/magnetIron4.mako,sha256=zJa8-9oqasrQib7ecM7q6OMEfM8qPyz2O2wb65npfGA,2568
127
- femagtools/templates/magnetIron5.mako,sha256=EzDgwrT3JhS68dXTOvipxgFknLwv0VQ-e1c5F-BhqfE,2531
128
- femagtools/templates/magnetIronV.mako,sha256=JWHitSk_EJMD38lmxxTREIGInLHa3VtPsxbtPEXCxOM,3363
129
- femagtools/templates/magnetSector.mako,sha256=nQ68Kxjz-pKNYeleMbbOngholLU_02znb6Yuf7Usbdw,3171
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=9fESevBQJSIf0uCWJIRqhZaj-2-HEjR3nJl-YfKebPo,3685
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=VtuDTSoigimcmdnaiLwBz_qRPgIkxaCNF5LoANM3Sgw,6615
146
+ femagtools/templates/prepare_thermal.mako,sha256=V3W6BGW7gjY8Lg2qzvGDi8rxx3JvPzrWoABDvHKyq54,9539
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=qV52S82BAN3GRyD-z73RgOBK9-fQCKvrT4T9MXzArn0,283
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=qklMqzQZxqv0cdsO4yO1y38uXXpPuCoH9eiyqLDgVyA,5665
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.7.9.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
218
- femagtools-1.7.9.dist-info/METADATA,sha256=3f-iDI4cc4uKilc09dDWOGK2XNY0F0bkUHqC1-3x2hM,6233
219
- femagtools-1.7.9.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
220
- femagtools-1.7.9.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
221
- femagtools-1.7.9.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
222
- femagtools-1.7.9.dist-info/RECORD,,
216
+ femagtools-1.8.1.dist-info/LICENSE,sha256=NaQe4uvkszQPJmiRPHecfk-Ab9VSRXo8xQLGNVHTeFo,1362
217
+ femagtools-1.8.1.dist-info/METADATA,sha256=vMKM0Pd8bfajkKv7bXpXco4_dmISFQXGJKQRtQDb9xE,6198
218
+ femagtools-1.8.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
219
+ femagtools-1.8.1.dist-info/entry_points.txt,sha256=jrvOkZPiN44u1sASeu271VRaVIv5V-uRpN0_N5U_R8c,248
220
+ femagtools-1.8.1.dist-info/top_level.txt,sha256=Ri4YWtU8MZTzNje9IKyXhTakNbsrCynuWdon4Yq94Dc,17
221
+ femagtools-1.8.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.2.0)
2
+ Generator: setuptools (75.6.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
tests/test_mcv.py CHANGED
@@ -1,6 +1,10 @@
1
+ import sys
2
+ import os
3
+ import pytest
4
+ import numpy as np
1
5
  import femagtools.mcv
2
6
 
3
- def test_write_poc(tmpdir):
7
+ def test_write_mcv_magcrv(tmpdir):
4
8
  filename = f"{tmpdir}/mcvData"
5
9
 
6
10
  B = [3e-02, 7e-02, 2e-01, 2.31]
@@ -8,3 +12,104 @@ def test_write_poc(tmpdir):
8
12
  mcvData = dict(curve=[dict(bi=B,hi=H)])
9
13
  mcv = femagtools.mcv.MagnetizingCurve(mcvData)
10
14
  mcv.writefile(filename)
15
+ mcvr = femagtools.mcv.Reader()
16
+ ext = '.MC' if sys.platform == 'win32' else '.MCV'
17
+ mcvr.readMcv(filename+ext)
18
+ assert mcvr['version_mc_curve'] == 0
19
+ mcvr['ctype'] == femagtools.mcv.MAGCRV
20
+ assert mcvr['curve'][0]['bi'] == pytest.approx(B, 1e-3)
21
+ assert mcvr['curve'][0]['hi'] == pytest.approx(H, 1e-3)
22
+ assert len(mcvr['curve']) == 1
23
+
24
+ def test_write_mcv_orient_crv(tmpdir):
25
+ filename = f"{tmpdir}/mcvData"
26
+
27
+ B = [3e-02, 7e-02, 2e-01, 2.31]
28
+ H = [1e+02, 2e+02, 5e+02, 3e+05]
29
+ mcvData = dict(curve=[dict(bi=B,hi=H), dict(bi=B,hi=H)])
30
+ mcv = femagtools.mcv.MagnetizingCurve(mcvData)
31
+ mcv.writefile(filename)
32
+ ext = '.MC' if sys.platform == 'win32' else '.MCV'
33
+ mcvr = femagtools.mcv.Reader()
34
+ mcvr.readMcv(filename+ext)
35
+ assert mcvr['version_mc_curve'] == 1
36
+ assert mcvr['ctype'] == femagtools.mcv.ORIENT_CRV
37
+ assert mcvr['curve'][0]['bi'] == pytest.approx(B, 1e-3)
38
+ assert mcvr['curve'][0]['hi'] == pytest.approx(H, 1e-3)
39
+ assert mcvr['curve'][1]['bi'] == pytest.approx(B, 1e-3)
40
+ assert mcvr['curve'][1]['hi'] == pytest.approx(H, 1e-3)
41
+ assert len(mcvr['curve']) == 2
42
+
43
+ def test_read_mcv_magcrv():
44
+ testPath = os.path.split(__file__)[0]
45
+ if not testPath:
46
+ testPath = '.'
47
+ filename = "data/TKS_NO_20.MCV"
48
+ reader = femagtools.mcv.Reader()
49
+ reader.readMcv('{0}/{1}'.format(testPath, filename))
50
+ r = reader.get_results()
51
+ assert r['desc'] == u'PowerCore\xae NO 20 ;ThyssenKrupp Steel Eur'
52
+ assert r['fillfac'] == pytest.approx(0.92, 1e-6)
53
+ assert len(r['curve'][0]['bi']) == 24
54
+ assert r['curve'][0]['bi'][0] == 0.0
55
+ assert r['curve'][0]['bi'][-1] == pytest.approx(1.836, 1e-3)
56
+
57
+ def test_read_write_mcv_with_losses():
58
+ testPath = os.path.split(__file__)[0]
59
+ if not testPath:
60
+ testPath = '.'
61
+ filename = "data/TKM270-50A-LOSS.MCV"
62
+ reader = femagtools.mcv.Reader()
63
+ reader.readMcv('{0}/{1}'.format(testPath, filename))
64
+ r = reader.get_results()
65
+ assert r['name'] == u'TKM270-50A-LOSS'
66
+ assert len(r['curve'][0]['bi']) == 35
67
+ assert r['curve'][0]['bi'][-1] == pytest.approx(2.638, 1e-3)
68
+ assert set(r['losses'].keys()) == {'B', 'f', 'pfe', 'Bo', 'fo',
69
+ 'cw', 'cw_freq', 'b_coeff', 'ch', 'ch_freq'}
70
+ assert len(r['losses']['pfe']) == 20
71
+ assert len(r['losses']['pfe'][8]) == 19
72
+ assert r['losses']['pfe'][8][18] == pytest.approx(3097.6, 0.1)
73
+
74
+ # test mcv writer
75
+ filename_out = "data/TKS_LOSS.MCV"
76
+ writer = femagtools.mcv.Writer(r)
77
+ writeMcvFile = '{0}/{1}'.format(testPath, filename_out)
78
+ writer.writeMcv(writeMcvFile)
79
+ # TEST
80
+ reader2 = femagtools.mcv.Reader()
81
+ reader2.readMcv(writeMcvFile)
82
+
83
+ for attr in ['version_mc_curve', 'mc1_curves', 'mc1_title']:
84
+ assert getattr(reader, attr) == getattr(reader2, attr)
85
+ for attr in ['mc1_remz', 'mc1_bsat', 'mc1_bref', 'mc1_fillfac',
86
+ 'fo', 'Bo', 'ch', 'ch_freq', 'cw',
87
+ 'cw_freq', 'b_coeff', 'rho', 'fe_sat_mag']:
88
+ assert getattr(reader, attr) == getattr(reader2, attr)
89
+ for attr in ['hi', 'bi']:
90
+ assert reader.curve[0][attr] == reader2.curve[0][attr]
91
+ np.testing.assert_almost_equal(reader.losses['f'],
92
+ reader2.losses['f'], 5)
93
+ np.testing.assert_almost_equal(reader.losses['B'],
94
+ reader2.losses['B'], 5)
95
+
96
+ def test_extrapol():
97
+ mcv = {'name':"M222",
98
+ 'curve':[{
99
+ 'bi':[0.0, 0.09, 0.179, 0.267, 0.358,
100
+ 0.45, 0.543, 0.6334, 0.727,
101
+ 0.819, 0.9142, 1.0142, 1.102,
102
+ 1.196, 1.314, 1.3845, 1.433,
103
+ 1.576, 1.677, 1.745, 1.787,
104
+ 1.81, 1.825, 1.836],
105
+
106
+ 'hi':[0.0, 22.16, 31.07, 37.25, 43.174,
107
+ 49.54, 56.96, 66.11, 78.291,
108
+ 95, 120.64, 164.6, 259.36,
109
+ 565.86, 1650.26, 3631.12, 5000, 10000,
110
+ 15000, 20000, 25000, 30000, 35000, 40000]}]}
111
+ c = femagtools.mcv.extrapol(mcv['curve'][0])
112
+ assert len(c['bi']) > len(mcv['curve'][0]['bi'])
113
+ assert len(c['hi']) > len(mcv['curve'][0]['hi'])
114
+ assert np.all(np.diff(c['bi']) > 0)
115
+ assert np.all(np.diff(c['hi']) > 0)
tests/test_windings.py CHANGED
@@ -158,3 +158,8 @@ def test_num_layers():
158
158
 
159
159
  assert w.l == 2
160
160
  assert w.yd == 4
161
+
162
+ def test_zoneplan():
163
+ w = femagtools.windings.Winding(
164
+ {'Q': 60, 'p': 32, 'm': 3, 'l': 1})
165
+ assert [1, -2, 3, -4, 5, -6, -17, 18, -19, 20] == w.zoneplan()[0][0]
tests/test_mcvwriter.py DELETED
@@ -1,96 +0,0 @@
1
- #!/usr/bin/env python3
2
- #
3
- import unittest
4
- import os
5
- import femagtools.mcv
6
- import numpy as np
7
-
8
-
9
- class McvWriterTest(unittest.TestCase):
10
- def test_read_write_mcv(self):
11
- testPath = os.path.split(__file__)[0]
12
- if not testPath:
13
- testPath = '.'
14
- filename = "data/TKS_NO_20.MCV"
15
- filename_out = "data/TKS_NO_20_out.MCV"
16
- reader = femagtools.mcv.Reader()
17
- reader.readMcv('{0}/{1}'.format(testPath, filename))
18
- r = reader.get_results()
19
- self.assertEqual(r['desc'],
20
- u'PowerCore\xae NO 20 ;ThyssenKrupp Steel Eur')
21
- self.assertEqual(len(r['curve'][0]['bi']), 24)
22
- self.assertEqual(r['curve'][0]['bi'][0], 0.0)
23
- self.assertAlmostEqual(r['curve'][0]['bi'][-1], 1.836, 3)
24
-
25
- # test mcv writer
26
- writer = femagtools.mcv.Writer(r)
27
- # writer.setData(r)
28
- writeMcvFile = '{0}/{1}'.format(testPath, filename_out)
29
- writer.writeMcv(writeMcvFile)
30
- self.assertNotEqual(writer, None)
31
-
32
- # TEST
33
- reader2 = femagtools.mcv.Reader()
34
- reader2.readMcv(writeMcvFile)
35
-
36
- for attr in ['version_mc_curve', 'mc1_curves', 'mc1_title']:
37
- self.assertAlmostEqual(getattr(reader, attr),
38
- getattr(reader2, attr))
39
- for attr in ['mc1_remz', 'mc1_bsat', 'mc1_bref', 'mc1_fillfac',
40
- 'fo', 'Bo', 'ch', 'ch_freq', 'cw',
41
- 'cw_freq', 'b_coeff', 'rho', 'fe_sat_mag']:
42
- self.assertAlmostEqual(getattr(reader, attr),
43
- getattr(reader2, attr), 3)
44
- for attr in ['hi', 'bi']:
45
- self.assertAlmostEqual(reader.curve[0][attr],
46
- reader2.curve[0][attr], 3)
47
-
48
- def test_read_write_mcv_with_losses(self):
49
- testPath = os.path.split(__file__)[0]
50
- if not testPath:
51
- testPath = '.'
52
- filename = "data/TKM270-50A-LOSS.MCV"
53
- filename_out = "data/TKS_LOSS.MCV"
54
- reader = femagtools.mcv.Reader()
55
- reader.readMcv('{0}/{1}'.format(testPath, filename))
56
- r = reader.get_results()
57
- self.assertEqual(r['name'],
58
- u'TKM270-50A-LOSS')
59
- self.assertEqual(len(r['curve'][0]['bi']), 35)
60
- self.assertAlmostEqual(r['curve'][0]['bi'][-1], 2.638, 3)
61
- self.assertEqual(set(r['losses'].keys()),
62
- set({'B', 'f', 'pfe', 'Bo', 'fo',
63
- 'cw', 'cw_freq', 'b_coeff', 'ch', 'ch_freq'}))
64
- self.assertEqual(len(r['losses']['pfe']), 20)
65
- self.assertEqual(len(r['losses']['pfe'][8]), 19)
66
- self.assertAlmostEqual(r['losses']['pfe'][8][18], 3097.6, 1)
67
-
68
- # test mcv writer
69
- writer = femagtools.mcv.Writer(r)
70
- # writer.setData(r)
71
- writeMcvFile = '{0}/{1}'.format(testPath, filename_out)
72
- writer.writeMcv(writeMcvFile)
73
- self.assertNotEqual(writer, None)
74
-
75
- # TEST
76
- reader2 = femagtools.mcv.Reader()
77
- reader2.readMcv(writeMcvFile)
78
-
79
- for attr in ['version_mc_curve', 'mc1_curves', 'mc1_title']:
80
- self.assertAlmostEqual(getattr(reader, attr),
81
- getattr(reader2, attr))
82
- for attr in ['mc1_remz', 'mc1_bsat', 'mc1_bref', 'mc1_fillfac',
83
- 'fo', 'Bo', 'ch', 'ch_freq', 'cw',
84
- 'cw_freq', 'b_coeff', 'rho', 'fe_sat_mag']:
85
- self.assertAlmostEqual(getattr(reader, attr),
86
- getattr(reader2, attr), 3)
87
- for attr in ['hi', 'bi']:
88
- self.assertAlmostEqual(reader.curve[0][attr],
89
- reader2.curve[0][attr], 3)
90
- np.testing.assert_almost_equal(reader.losses['f'],
91
- reader2.losses['f'], 5)
92
- np.testing.assert_almost_equal(reader.losses['B'],
93
- reader2.losses['B'], 5)
94
-
95
- if __name__ == '__main__':
96
- unittest.main()