femagtools 1.6.2a0__tar.gz → 1.6.2a1__tar.gz

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 (214) hide show
  1. {femagtools-1.6.2a0/src/femagtools.egg-info → femagtools-1.6.2a1}/PKG-INFO +1 -1
  2. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/__init__.py +1 -1
  3. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/pm.py +44 -35
  4. {femagtools-1.6.2a0 → femagtools-1.6.2a1/src/femagtools.egg-info}/PKG-INFO +1 -1
  5. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/LICENSE +0 -0
  6. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/MANIFEST.in +0 -0
  7. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/README.md +0 -0
  8. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/pyproject.toml +0 -0
  9. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/setup.cfg +0 -0
  10. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/airgap.py +0 -0
  11. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/amazon.py +0 -0
  12. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/amela.py +0 -0
  13. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/asm.py +0 -0
  14. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/bch.py +0 -0
  15. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/bchxml.py +0 -0
  16. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/condor.py +0 -0
  17. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/conductor.py +0 -0
  18. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/config.py +0 -0
  19. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/convert.py +0 -0
  20. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dakota.py +0 -0
  21. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dakota_femag.py +0 -0
  22. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dakotaout.py +0 -0
  23. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/docker.py +0 -0
  24. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/__init__.py +0 -0
  25. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/area.py +0 -0
  26. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/conv.py +0 -0
  27. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/converter.py +0 -0
  28. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/corner.py +0 -0
  29. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/dumprenderer.py +0 -0
  30. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/fslrenderer.py +0 -0
  31. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/functions.py +0 -0
  32. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/geom.py +0 -0
  33. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/machine.py +0 -0
  34. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/plotrenderer.py +0 -0
  35. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/dxfsl/shape.py +0 -0
  36. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/ecloss.py +0 -0
  37. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/erg.py +0 -0
  38. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/femag.py +0 -0
  39. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/forcedens.py +0 -0
  40. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/fsl.py +0 -0
  41. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/getset.py +0 -0
  42. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/gmsh.py +0 -0
  43. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/google.py +0 -0
  44. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/grid.py +0 -0
  45. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/hxy.py +0 -0
  46. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/isa7.py +0 -0
  47. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/jhb.py +0 -0
  48. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/job.py +0 -0
  49. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/losscoeffs.py +0 -0
  50. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/__init__.py +0 -0
  51. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/afpm.py +0 -0
  52. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/effloss.py +0 -0
  53. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/im.py +0 -0
  54. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/sizing.py +0 -0
  55. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/sm.py +0 -0
  56. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/machine/utils.py +0 -0
  57. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/magnet.py +0 -0
  58. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/mcv.py +0 -0
  59. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/me.py +0 -0
  60. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/model.py +0 -0
  61. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moo/__init__.py +0 -0
  62. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moo/algorithm.py +0 -0
  63. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moo/population.py +0 -0
  64. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moo/problem.py +0 -0
  65. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moo/test/AlgorithmTest.py +0 -0
  66. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moo/test/PopulationTest.py +0 -0
  67. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moo/test/ProblemTest.py +0 -0
  68. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/moproblem.py +0 -0
  69. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/multiproc.py +0 -0
  70. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/mxw2msh.py +0 -0
  71. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/nc.py +0 -0
  72. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/netlist.py +0 -0
  73. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/ntib.py +0 -0
  74. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/opt.py +0 -0
  75. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/parstudy.py +0 -0
  76. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/__init__.py +0 -0
  77. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/bch.py +0 -0
  78. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/char.py +0 -0
  79. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/fieldlines.py +0 -0
  80. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/fluxdens.py +0 -0
  81. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/forcedens.py +0 -0
  82. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/mcv.py +0 -0
  83. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/nc.py +0 -0
  84. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/phasor.py +0 -0
  85. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/plot/wdg.py +0 -0
  86. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/poc.py +0 -0
  87. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/FE-losses.mako +0 -0
  88. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/afm_rotor.mako +0 -0
  89. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/afm_stator.mako +0 -0
  90. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/airgapinduc.mako +0 -0
  91. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/asyn_motor.mako +0 -0
  92. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/basic_modpar.mako +0 -0
  93. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/bertotti.mako +0 -0
  94. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/calc_field_ts.mako +0 -0
  95. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/calc_therm_field.mako +0 -0
  96. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/cogg_calc.mako +0 -0
  97. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/colorgrad.mako +0 -0
  98. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/com_motor_sim.mako +0 -0
  99. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/conduct-data.mako +0 -0
  100. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/connect_models.mako +0 -0
  101. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/cu_losses.mako +0 -0
  102. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/ec-rotorbar.mako +0 -0
  103. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/fe-contr.mako +0 -0
  104. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/fieldcalc.mako +0 -0
  105. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/gen_winding.mako +0 -0
  106. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/inductances.mako +0 -0
  107. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/ld_lq_fast.mako +0 -0
  108. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/leak_dist_wind.mako +0 -0
  109. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/leak_evol_wind.mako +0 -0
  110. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/leak_tooth_wind.mako +0 -0
  111. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnet-data.mako +0 -0
  112. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetFC2.mako +0 -0
  113. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetIron.mako +0 -0
  114. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetIron2.mako +0 -0
  115. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetIron3.mako +0 -0
  116. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetIron4.mako +0 -0
  117. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetIron5.mako +0 -0
  118. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetIronV.mako +0 -0
  119. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetSector.mako +0 -0
  120. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetSectorLinear.mako +0 -0
  121. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetShell.mako +0 -0
  122. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/magnetShell2.mako +0 -0
  123. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/mesh-airgap.mako +0 -0
  124. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/modal_analysis.mako +0 -0
  125. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/modified_steinmetz.mako +0 -0
  126. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/mult_cal_fast.mako +0 -0
  127. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/new_model.mako +0 -0
  128. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/noloadflux-rot.mako +0 -0
  129. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/noloadflux.mako +0 -0
  130. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/noloadfluxdc.mako +0 -0
  131. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/open.mako +0 -0
  132. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/plots.mako +0 -0
  133. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/pm_sym_f_cur.mako +0 -0
  134. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/pm_sym_fast.mako +0 -0
  135. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/pm_sym_loss.mako +0 -0
  136. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/psd_psq_fast.mako +0 -0
  137. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/ring.mako +0 -0
  138. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/rot_hsm.mako +0 -0
  139. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/rotorAsyn.mako +0 -0
  140. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/rotorKs2.mako +0 -0
  141. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/rotor_msh.mako +0 -0
  142. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/rotor_winding.mako +0 -0
  143. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/shortcircuit.mako +0 -0
  144. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/srm.mako +0 -0
  145. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/stator1.mako +0 -0
  146. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/stator2.mako +0 -0
  147. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/stator3Linear.mako +0 -0
  148. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/stator4.mako +0 -0
  149. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/statorBG.mako +0 -0
  150. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/statorRing.mako +0 -0
  151. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/statorRotor3.mako +0 -0
  152. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/stator_msh.mako +0 -0
  153. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/therm-dynamic.mako +0 -0
  154. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/therm-static.mako +0 -0
  155. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/templates/torq_calc.mako +0 -0
  156. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/tks.py +0 -0
  157. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/ts.py +0 -0
  158. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/utils.py +0 -0
  159. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/vbf.py +0 -0
  160. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/vtu.py +0 -0
  161. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools/windings.py +0 -0
  162. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools.egg-info/SOURCES.txt +0 -0
  163. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools.egg-info/dependency_links.txt +0 -0
  164. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools.egg-info/entry_points.txt +0 -0
  165. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools.egg-info/requires.txt +0 -0
  166. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/femagtools.egg-info/top_level.txt +0 -0
  167. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/__init__.py +0 -0
  168. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/engines/__init__.py +0 -0
  169. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/engines/test_amazon.py +0 -0
  170. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/engines/test_config.py +0 -0
  171. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/geom/__init__.py +0 -0
  172. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/geom/test_functions.py +0 -0
  173. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/geom/test_point_inside.py +0 -0
  174. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/moo/__init__.py +0 -0
  175. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/moo/test_algorithm.py +0 -0
  176. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/moo/test_population.py +0 -0
  177. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/moo/test_problem.py +0 -0
  178. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_afpm.py +0 -0
  179. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_airgap_induction.py +0 -0
  180. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_amela.py +0 -0
  181. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_asm.py +0 -0
  182. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_bchreader.py +0 -0
  183. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_conductor.py +0 -0
  184. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_convert.py +0 -0
  185. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_effloss.py +0 -0
  186. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_erg.py +0 -0
  187. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_femag.py +0 -0
  188. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_forcedens.py +0 -0
  189. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_fsl.py +0 -0
  190. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_hxy.py +0 -0
  191. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_im.py +0 -0
  192. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_isa7.py +0 -0
  193. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_jhb.py +0 -0
  194. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_job.py +0 -0
  195. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_losscoeffs.py +0 -0
  196. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_machine.py +0 -0
  197. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_magncurv.py +0 -0
  198. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_magnet.py +0 -0
  199. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_mcv.py +0 -0
  200. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_mcvreader.py +0 -0
  201. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_mcvwriter.py +0 -0
  202. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_me.py +0 -0
  203. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_model.py +0 -0
  204. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_nc.py +0 -0
  205. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_parident.py +0 -0
  206. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_parstudy.py +0 -0
  207. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_pocfile.py +0 -0
  208. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_sizing.py +0 -0
  209. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_sm.py +0 -0
  210. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_tksreader.py +0 -0
  211. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_ts.py +0 -0
  212. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_vbfreader.py +0 -0
  213. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_vtu.py +0 -0
  214. {femagtools-1.6.2a0 → femagtools-1.6.2a1}/src/tests/test_windings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: femagtools
3
- Version: 1.6.2a0
3
+ Version: 1.6.2a1
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
@@ -2,7 +2,7 @@
2
2
 
3
3
  """
4
4
  __title__ = 'femagtools'
5
- __version__ = '1.6.2a'
5
+ __version__ = '1.6.2a1'
6
6
  __author__ = 'Ronald Tanner'
7
7
  __license__ = 'BSD'
8
8
  __copyright__ = 'Copyright 2016-2022 SEMAFOR Informatik & Energie AG'
@@ -154,10 +154,6 @@ class PmRelMachine(object):
154
154
  return torque - self.mtpa(i1)[2]
155
155
  i1 = so.fsolve(func, res.x[0])[0]
156
156
  return self.mtpa(i1)[:2]
157
- def func(iq):
158
- return torque - self.torque_iqd(iq, 0)
159
- return so.fsolve(func, 0)[0]
160
-
161
157
 
162
158
  def tqiq(iq):
163
159
  return torque - self.torque_iqd(float(iq), 0)
@@ -169,29 +165,36 @@ class PmRelMachine(object):
169
165
  if np.abs(torque) < 1e-2:
170
166
  return (0, 0)
171
167
  if np.isscalar(iqd0):
172
- i0 = self.io
168
+ tx = self.tmech_iqd(self.io[0], 0, n)
169
+ iq0 = min(0.9*self.i1range[1]/np.sqrt(2),
170
+ np.abs(torque)/tx*self.io[0])
171
+ if torque < 0:
172
+ i0 = (-iq0, 0)
173
+ else:
174
+ i0 = (iq0, 0)
175
+ logger.debug("initial guess i0 %f -> %s tx %f torque %f",
176
+ self.io[0], i0, tx, torque)
173
177
  else:
174
178
  i0 = iqd0
175
179
 
176
180
  if with_mtpa:
177
- res = so.minimize(
178
- lambda iqd: la.norm(iqd), i0, method='SLSQP',
179
- constraints=({'type': 'eq',
180
- 'fun': lambda iqd:
181
- self.tmech_iqd(*iqd, n) - torque}))
182
- if res.success:
183
- return res.x
184
-
185
- #logger.warning("n: %s, torque %s: %s %s",
186
- # 60*n, torque, res.message, i0)
187
- # try a different approach:
188
- #raise ValueError(
189
- # f'Torque {torque:.1f} speed {60*n:.1f} {res.message}')
190
- def func(i1):
191
- return torque - self.mtpa_tmech(i1, n)[2]
192
- i1 = so.fsolve(func, res.x[0])[0]
193
- return self.mtpa_tmech(i1, n)[:2]
194
-
181
+ k=0
182
+ while k < 5:
183
+ res = so.minimize(
184
+ lambda iqd: la.norm(iqd), i0, method='SLSQP',
185
+ constraints=({'type': 'eq',
186
+ 'fun': lambda iqd:
187
+ self.tmech_iqd(*iqd, n) - torque}))
188
+ if res.success:
189
+ return res.x
190
+ # make new initial guess:
191
+ tx = self.tmech_iqd(*i0, n)
192
+ logger.debug("k %d new guess i0 %s tx %f torque %f",
193
+ k, i0, tx, torque)
194
+ i0=(min(0.9*self.i1range[1]/np.sqrt(2), torque/tx*i0[0]), 0)
195
+ k += 1
196
+ raise ValueError(
197
+ f'Torque {torque} speed {n} {i0} {res.message}')
195
198
  def tqiq(iq):
196
199
  return torque - self.tmech_iqd(float(iq), 0, n)
197
200
  iq = so.fsolve(tqiq, (i0[0],))[0]
@@ -351,13 +354,13 @@ class PmRelMachine(object):
351
354
  beta)[0], i1)
352
355
 
353
356
  res = so.minimize(lambda iqd: np.linalg.norm(iqd), i0, method='SLSQP',
354
- constraints=(
355
- {'type': 'eq',
356
- 'fun': lambda iqd:
357
- self.tmech_iqd(*iqd, n) - torque},
358
- {'type': 'ineq',
359
- 'fun': lambda iqd:
360
- np.sqrt(2)*u1max - la.norm(self.uqd(w1, *iqd))}))
357
+ constraints=(
358
+ {'type': 'eq',
359
+ 'fun': lambda iqd:
360
+ self.tmech_iqd(*iqd, n) - torque},
361
+ {'type': 'ineq',
362
+ 'fun': lambda iqd:
363
+ np.sqrt(2)*u1max - la.norm(self.uqd(w1, *iqd))}))
361
364
  iq, id = res.x
362
365
  else:
363
366
  iq, id = i0
@@ -365,12 +368,15 @@ class PmRelMachine(object):
365
368
  try:
366
369
  log((iq,id))
367
370
  except:
368
- pass # logger is not correct
369
- logger.debug("iqd_tmech_umax w1=%f torque=%f %f iq=%f id=%f u1 u1 %f %f",
371
+ pass
372
+ logger.debug("iqd_tmech_umax w1=%f torque=%f %f iq=%f id=%f u1 %f %f",
370
373
  w1, torque, self.torque_iqd(iq, id), iq, id,
371
374
  u1max, np.linalg.norm(
372
375
  self.uqd(w1, iq, id))/np.sqrt(2))
373
- return iq, id, self.tmech_iqd(iq, id, n)
376
+ u1 = np.linalg.norm(
377
+ self.uqd(w1, iq, id))/np.sqrt(2)
378
+ tq = self.tmech_iqd(iq, id, n)
379
+ return iq, id, tq
374
380
 
375
381
  def iqd_torque_umax(self, torque, w1, u1max, log=0, with_mtpa=True):
376
382
  """return d-q current and torque at stator frequency and max voltage
@@ -1143,7 +1149,11 @@ class PmRelMachineLdq(PmRelMachine):
1143
1149
  if np.any(beta[beta > np.pi]):
1144
1150
  beta[beta > np.pi] = beta - 2*np.pi
1145
1151
 
1146
- self.io = iqd((np.min(beta)+max(beta))/2, np.max(i1)/2)
1152
+ self.betarange = min(beta), max(beta)
1153
+ if min(beta) < -np.pi/2 and max(beta) > -np.pi/2:
1154
+ self.io = iqd(-np.pi/4, np.max(i1)/2)
1155
+ else:
1156
+ self.io = iqd((np.min(beta)+max(beta))/2, np.max(i1)/2)
1147
1157
  kx = ky = 3
1148
1158
  if len(i1) < 4:
1149
1159
  ky = len(i1)-1
@@ -1165,7 +1175,6 @@ class PmRelMachineLdq(PmRelMachine):
1165
1175
  logger.warning("loss map missing: %s", e)
1166
1176
  pass
1167
1177
  if 'psid' in kwargs:
1168
- self.betarange = min(beta), max(beta)
1169
1178
  self.i1range = (0, np.max(i1))
1170
1179
  self.psid = ip.RectBivariateSpline(
1171
1180
  beta, i1, np.sqrt(2)*np.asarray(kwargs['psid']),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: femagtools
3
- Version: 1.6.2a0
3
+ Version: 1.6.2a1
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
File without changes
File without changes
File without changes
File without changes