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.
- femagtools/__init__.py +1 -1
- femagtools/amela.py +2 -2
- femagtools/dxfsl/area.py +130 -26
- femagtools/dxfsl/conv.py +2 -14
- femagtools/dxfsl/converter.py +69 -12
- femagtools/dxfsl/fslrenderer.py +15 -13
- femagtools/dxfsl/geom.py +153 -82
- femagtools/dxfsl/journal.py +2 -2
- femagtools/dxfsl/machine.py +19 -15
- femagtools/dxfsl/shape.py +3 -0
- femagtools/ecloss.py +386 -2
- femagtools/femag.py +82 -9
- femagtools/fsl.py +52 -56
- femagtools/machine/pm.py +1 -1
- femagtools/machine/sm.py +16 -8
- femagtools/mcv.py +128 -124
- femagtools/me.py +13 -13
- femagtools/model.py +8 -2
- femagtools/plot/fieldlines.py +1 -1
- femagtools/plot/mcv.py +18 -0
- femagtools/plot/wdg.py +2 -2
- femagtools/svgfsl/converter.py +1 -1
- femagtools/templates/afm_rotor.mako +4 -0
- femagtools/templates/gen_hairpin_winding.mako +36 -45
- femagtools/templates/magnetIron.mako +1 -1
- femagtools/templates/magnetIron2.mako +1 -1
- femagtools/templates/magnetIron3.mako +1 -1
- femagtools/templates/magnetIron4.mako +1 -1
- femagtools/templates/magnetIron5.mako +1 -1
- femagtools/templates/magnetIronV.mako +1 -1
- femagtools/templates/magnetSector.mako +1 -1
- femagtools/templates/mesh-airgap.mako +12 -6
- femagtools/templates/prepare_thermal.mako +199 -61
- femagtools/windings.py +25 -20
- {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/METADATA +20 -20
- {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/RECORD +42 -43
- {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/WHEEL +1 -1
- tests/test_mcv.py +106 -1
- tests/test_windings.py +5 -0
- tests/test_mcvwriter.py +0 -96
- {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/LICENSE +0 -0
- {femagtools-1.7.9.dist-info → femagtools-1.8.1.dist-info}/entry_points.txt +0 -0
- {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=
|
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=
|
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=
|
16
|
+
femagtools/ecloss.py,sha256=kTsE9Lx6nt6Ez9PBfD58hPMcnH2PxSc95zJaYMCQd5Q,33957
|
17
17
|
femagtools/erg.py,sha256=IXKq76P9qLt_ssNOP78v8Qizk3J2Zg80yaKDSjzwoJE,1224
|
18
|
-
femagtools/femag.py,sha256=
|
18
|
+
femagtools/femag.py,sha256=m8mfMjzjkL_R-iqyInxM7y7F4jgKg6ZI7FfTQlbxtng,46988
|
19
19
|
femagtools/forcedens.py,sha256=7NNv75Vg9vQ_fy8W4kM2rlSO970zaSmeurhPmdAxsOU,8485
|
20
|
-
femagtools/fsl.py,sha256=
|
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=
|
33
|
-
femagtools/me.py,sha256=
|
34
|
-
femagtools/model.py,sha256=
|
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
|
49
|
+
femagtools/windings.py,sha256=OYoEFIQci3f3sYJkcyRjBpBpDRtX2Y2aHZiRXOEgsls,23497
|
50
50
|
femagtools/dxfsl/__init__.py,sha256=MywcCdpKPKs4qJBJJgeDsikJFJ2P48dbTuNk303f5pM,76
|
51
|
-
femagtools/dxfsl/area.py,sha256=
|
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
|
55
|
-
femagtools/dxfsl/converter.py,sha256=
|
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=
|
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=
|
63
|
-
femagtools/dxfsl/journal.py,sha256=
|
64
|
-
femagtools/dxfsl/machine.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
94
|
-
femagtools/svgfsl/converter.py,sha256=
|
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=
|
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=
|
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=
|
124
|
-
femagtools/templates/magnetIron2.mako,sha256=
|
125
|
-
femagtools/templates/magnetIron3.mako,sha256=
|
126
|
-
femagtools/templates/magnetIron4.mako,sha256=
|
127
|
-
femagtools/templates/magnetIron5.mako,sha256=
|
128
|
-
femagtools/templates/magnetIronV.mako,sha256=
|
129
|
-
femagtools/templates/magnetSector.mako,sha256=
|
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=
|
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=
|
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=
|
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=
|
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.
|
218
|
-
femagtools-1.
|
219
|
-
femagtools-1.
|
220
|
-
femagtools-1.
|
221
|
-
femagtools-1.
|
222
|
-
femagtools-1.
|
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,,
|
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
|
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
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()
|
File without changes
|
File without changes
|
File without changes
|