pyRFtk 2.0.3__tar.gz → 2.0.5__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 (231) hide show
  1. {pyrftk-2.0.3 → pyrftk-2.0.5}/.gitignore +1 -0
  2. {pyrftk-2.0.3 → pyrftk-2.0.5}/PKG-INFO +5 -5
  3. {pyrftk-2.0.3 → pyrftk-2.0.5}/README.md +3 -3
  4. pyrftk-2.0.5/logo/logo.svg +109 -0
  5. {pyrftk-2.0.3 → pyrftk-2.0.5}/pyproject.toml +1 -1
  6. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/ReadTSF.py +51 -19
  7. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/WriteTSF.py +2 -2
  8. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/__init__.py +2 -2
  9. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/config.py +1 -1
  10. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfTRL.py +2 -2
  11. {pyrftk-2.0.3 → pyrftk-2.0.5}/LICENCE +0 -0
  12. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/Makefile +0 -0
  13. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.buildinfo +0 -0
  14. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Arcs.doctree +0 -0
  15. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Deembedding.doctree +0 -0
  16. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Examples.doctree +0 -0
  17. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Installation.doctree +0 -0
  18. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Introduction.doctree +0 -0
  19. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Logging.doctree +0 -0
  20. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Touchstone.doctree +0 -0
  21. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/Tutorials.doctree +0 -0
  22. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/backup.doctree +0 -0
  23. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/environment.pickle +0 -0
  24. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/index.doctree +0 -0
  25. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/modules.doctree +0 -0
  26. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.doctrees/pyRFtk.doctree +0 -0
  27. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/.nojekyll +0 -0
  28. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Arcs.html +0 -0
  29. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Deembedding.html +0 -0
  30. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Examples.html +0 -0
  31. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Installation.html +0 -0
  32. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Introduction.html +0 -0
  33. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Logging.html +0 -0
  34. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Touchstone.html +0 -0
  35. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/Tutorials.html +0 -0
  36. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_downloads/b90e652aafe314ced71820d596828aed/Tomas-Ref_geo-R=200-Diel_eps=0500.s2p +0 -0
  37. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_downloads/bf8243189246eb0547daf197b1578bac/tomas_icrh_linear_2017-vacuum.s2p +0 -0
  38. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_images/RLC.png +0 -0
  39. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_images/RLCSC.png +0 -0
  40. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_images/SC.png +0 -0
  41. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_images/SimpleCircuit.png +0 -0
  42. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_images/TomasCircuit.png +0 -0
  43. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Arcs.rst.txt +0 -0
  44. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Deembedding.rst.txt +0 -0
  45. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Examples.rst.txt +0 -0
  46. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Installation.rst.txt +0 -0
  47. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Introduction.rst.txt +0 -0
  48. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Logging.rst.txt +0 -0
  49. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Touchstone.rst.txt +0 -0
  50. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/Tutorials.rst.txt +0 -0
  51. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/backup.rst.txt +0 -0
  52. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/index.rst.txt +0 -0
  53. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/modules.rst.txt +0 -0
  54. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_sources/pyRFtk.rst.txt +0 -0
  55. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  56. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/alabaster.css +0 -0
  57. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/basic.css +0 -0
  58. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/classic.css +0 -0
  59. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/badge_only.css +0 -0
  60. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  61. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  62. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  63. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  64. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/fontawesome-webfont.eot +0 -0
  65. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/fontawesome-webfont.svg +0 -0
  66. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  67. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/fontawesome-webfont.woff +0 -0
  68. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  69. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-bold-italic.woff +0 -0
  70. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  71. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-bold.woff +0 -0
  72. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-bold.woff2 +0 -0
  73. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-normal-italic.woff +0 -0
  74. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  75. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-normal.woff +0 -0
  76. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/fonts/lato-normal.woff2 +0 -0
  77. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/css/theme.css +0 -0
  78. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/custom.css +0 -0
  79. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/doctools.js +0 -0
  80. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/documentation_options.js +0 -0
  81. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/file.png +0 -0
  82. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/groundwork.css +0 -0
  83. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/gw_logo.png +0 -0
  84. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/jquery.js +0 -0
  85. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/js/badge_only.js +0 -0
  86. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/js/html5shiv-printshiv.min.js +0 -0
  87. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/js/html5shiv.min.js +0 -0
  88. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/js/theme.js +0 -0
  89. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/language_data.js +0 -0
  90. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/minus.png +0 -0
  91. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/plus.png +0 -0
  92. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/pygments.css +0 -0
  93. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/searchtools.js +0 -0
  94. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/sidebar.js +0 -0
  95. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/small_groundwork.css +0 -0
  96. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/_static/sphinx_highlight.js +0 -0
  97. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/backup.html +0 -0
  98. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/Deembedding.doctree +0 -0
  99. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/Examples.doctree +0 -0
  100. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/Installation.doctree +0 -0
  101. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/Introduction.doctree +0 -0
  102. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/TOMAS.doctree +0 -0
  103. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/Touchstone.doctree +0 -0
  104. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/Tutorials.doctree +0 -0
  105. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/backup.doctree +0 -0
  106. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/environment.pickle +0 -0
  107. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/index.doctree +0 -0
  108. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/modules.doctree +0 -0
  109. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/pyRFtk.doctree +0 -0
  110. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/doctrees/usage.doctree +0 -0
  111. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/genindex.html +0 -0
  112. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/.buildinfo +0 -0
  113. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/.nojekyll +0 -0
  114. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/Deembedding.html +0 -0
  115. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/Examples.html +0 -0
  116. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/Installation.html +0 -0
  117. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/Introduction.html +0 -0
  118. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/TOMAS.html +0 -0
  119. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/Touchstone.html +0 -0
  120. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/Tutorials.html +0 -0
  121. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/RLC.png +0 -0
  122. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/RLCSC.png +0 -0
  123. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/SC.png +0 -0
  124. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/SimpleCircuit.pdf +0 -0
  125. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/SimpleCircuit.png +0 -0
  126. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/TOMAS_ICRH_Antenna.png +0 -0
  127. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/TOMAS_ICRH_Circuit.png +0 -0
  128. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_images/TomasCircuit.png +0 -0
  129. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/Deembedding.rst.txt +0 -0
  130. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/Examples.rst.txt +0 -0
  131. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/Installation.rst.txt +0 -0
  132. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/Introduction.rst.txt +0 -0
  133. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/TOMAS.rst.txt +0 -0
  134. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/Touchstone.rst.txt +0 -0
  135. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/Tutorials.rst.txt +0 -0
  136. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/backup.rst.txt +0 -0
  137. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/index.rst.txt +0 -0
  138. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/modules.rst.txt +0 -0
  139. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/pyRFtk.rst.txt +0 -0
  140. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_sources/usage.rst.txt +0 -0
  141. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/alabaster.css +0 -0
  142. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/basic.css +0 -0
  143. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/classic.css +0 -0
  144. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/custom.css +0 -0
  145. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/doctools.js +0 -0
  146. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/documentation_options.js +0 -0
  147. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/file.png +0 -0
  148. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/language_data.js +0 -0
  149. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/minus.png +0 -0
  150. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/plus.png +0 -0
  151. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/pygments.css +0 -0
  152. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/searchtools.js +0 -0
  153. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/sidebar.js +0 -0
  154. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/_static/sphinx_highlight.js +0 -0
  155. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/backup.html +0 -0
  156. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/genindex.html +0 -0
  157. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/index.html +0 -0
  158. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/modules.html +0 -0
  159. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/objects.inv +0 -0
  160. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/py-modindex.html +0 -0
  161. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/pyRFtk.html +0 -0
  162. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/search.html +0 -0
  163. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/searchindex.js +0 -0
  164. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/html/usage.html +0 -0
  165. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/index.html +0 -0
  166. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/modules.html +0 -0
  167. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/objects.inv +0 -0
  168. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/py-modindex.html +0 -0
  169. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/pyRFtk.html +0 -0
  170. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/search.html +0 -0
  171. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/build/searchindex.js +0 -0
  172. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/make.bat +0 -0
  173. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Arcs.rst +0 -0
  174. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Deembedding.rst +0 -0
  175. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Drawings/SimpleCircuit.odg +0 -0
  176. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Examples.rst +0 -0
  177. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Files/Tomas-Ref_geo-R=200-Diel_eps=0500.s2p +0 -0
  178. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Files/tomas_icrh_linear_2017-vacuum.s2p +0 -0
  179. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/RLC.png +0 -0
  180. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/RLCSC.png +0 -0
  181. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/SC.png +0 -0
  182. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/SimpleCircuit.pdf +0 -0
  183. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/SimpleCircuit.png +0 -0
  184. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/TOMAS_ICRH_Antenna.png +0 -0
  185. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/TOMAS_ICRH_Circuit.png +0 -0
  186. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Images/TomasCircuit.png +0 -0
  187. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Installation.rst +0 -0
  188. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Introduction.rst +0 -0
  189. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Logging.rst +0 -0
  190. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Touchstone.rst +0 -0
  191. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/Tutorials.rst +0 -0
  192. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/backup.rst +0 -0
  193. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/conf.py +0 -0
  194. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/index.rst +0 -0
  195. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/modules.rst +0 -0
  196. {pyrftk-2.0.3 → pyrftk-2.0.5}/docs/source/pyRFtk.rst +0 -0
  197. {pyrftk-2.0.3 → pyrftk-2.0.5/logo}/logo.pdf +0 -0
  198. {pyrftk-2.0.3 → pyrftk-2.0.5/logo}/logo.png +0 -0
  199. {pyrftk-2.0.3 → pyrftk-2.0.5}/rfCommon.log +0 -0
  200. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/.gitignore +0 -0
  201. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/ConvertGeneral.py +0 -0
  202. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/ReadDictData.py +0 -0
  203. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/S_from_VI.py +0 -0
  204. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/S_from_Y.py +0 -0
  205. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/S_from_Z.py +0 -0
  206. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/Y_from_S.py +0 -0
  207. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/Z_from_S.py +0 -0
  208. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/_check_3D_shape_.py +0 -0
  209. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/circuit.py +0 -0
  210. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/codebase.py +0 -0
  211. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/compareSs.py +0 -0
  212. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/findpath.py +0 -0
  213. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/getlines.py +0 -0
  214. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/maxfun.py +0 -0
  215. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/plotVSWs.py +0 -0
  216. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/printMatrices.py +0 -0
  217. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/resolveTLparams.py +0 -0
  218. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfArcObj.py +0 -0
  219. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfBase.py +0 -0
  220. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfCircuit.py +0 -0
  221. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfCoupler.py +0 -0
  222. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfGTL.py +0 -0
  223. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfObject.py +0 -0
  224. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/rfRLC.py +0 -0
  225. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/str_dict.py +0 -0
  226. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/tictoc.py +0 -0
  227. {pyrftk-2.0.3 → pyrftk-2.0.5}/src/pyRFtk/whoami.py +0 -0
  228. {pyrftk-2.0.3 → pyrftk-2.0.5}/tests/WEST_TWA_7s_4_No_FS_protruding.s7p +0 -0
  229. {pyrftk-2.0.3 → pyrftk-2.0.5}/tests/rfCommon.log +0 -0
  230. {pyrftk-2.0.3 → pyrftk-2.0.5}/tests/routine.sh +0 -0
  231. {pyrftk-2.0.3 → pyrftk-2.0.5}/tests/tests.py +0 -0
@@ -1,2 +1,3 @@
1
1
  /.project
2
2
  /.pydevproject
3
+ /.dist
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: pyRFtk
3
- Version: 2.0.3
3
+ Version: 2.0.5
4
4
  Summary: Design tool for RF antennae networks
5
5
  Project-URL: Homepage, https://lpp-erm-kms.github.io/pyrftk/
6
6
  Author-email: Frederic Durodie <frederic.durodie@rma.ac.be>, Arthur Adriaens <arthur.adriaens@mil.be>
@@ -12,14 +12,14 @@ Description-Content-Type: text/markdown
12
12
 
13
13
  # pyRFtk
14
14
  [![DOI](https://zenodo.org/badge/702980029.svg)](https://zenodo.org/doi/10.5281/zenodo.10391750)
15
- ![logo](logo.png)
15
+ ![logo](https://github.com/LPP-ERM-KMS/pyRFtk/blob/master/logo/logo.svg)
16
16
  ## About
17
17
 
18
18
  pyRFtk is a Python library able to build and analyse RF circuits, originally designed for ICRH antennae but now widely deployable.
19
19
  you can:
20
20
  - Incorporate touchstone files to create your own elements
21
- - See the maximum current throughout your circuit
22
- - Compute the S-matrix
21
+ - See the currents throughout your circuit
22
+ - Compute S-matrices
23
23
  - Detect Arcs
24
24
  - Deembed systems
25
25
  - ...
@@ -1,13 +1,13 @@
1
1
  # pyRFtk
2
2
  [![DOI](https://zenodo.org/badge/702980029.svg)](https://zenodo.org/doi/10.5281/zenodo.10391750)
3
- ![logo](logo.png)
3
+ ![logo](https://github.com/LPP-ERM-KMS/pyRFtk/blob/master/logo/logo.svg)
4
4
  ## About
5
5
 
6
6
  pyRFtk is a Python library able to build and analyse RF circuits, originally designed for ICRH antennae but now widely deployable.
7
7
  you can:
8
8
  - Incorporate touchstone files to create your own elements
9
- - See the maximum current throughout your circuit
10
- - Compute the S-matrix
9
+ - See the currents throughout your circuit
10
+ - Compute S-matrices
11
11
  - Detect Arcs
12
12
  - Deembed systems
13
13
  - ...
@@ -0,0 +1,109 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ version="1.1"
6
+ id="svg1"
7
+ width="853.33331"
8
+ height="429.33334"
9
+ viewBox="0 0 853.33331 429.33334"
10
+ sodipodi:docname="logo.pdf"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ xmlns:svg="http://www.w3.org/2000/svg">
15
+ <defs
16
+ id="defs1" />
17
+ <sodipodi:namedview
18
+ id="namedview1"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#000000"
21
+ borderopacity="0.25"
22
+ inkscape:showpageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ inkscape:deskcolor="#d1d1d1">
26
+ <inkscape:page
27
+ x="0"
28
+ y="0"
29
+ id="page1"
30
+ width="853.33331"
31
+ height="429.33334"
32
+ margin="0"
33
+ bleed="0" />
34
+ </sodipodi:namedview>
35
+ <g
36
+ id="g1"
37
+ inkscape:groupmode="layer"
38
+ inkscape:label="">
39
+ <path
40
+ id="path1"
41
+ d="m 96.414,77.684 c 4.492,-0.301 7.867,1.453 10.129,5.254 0.5,43.535 0.5,87.07 0,130.601 -0.043,5.02 -2.547,7.52 -7.504,7.508 -3.297,-0.149 -5.805,-1.649 -7.504,-4.504 -0.25,-6.754 -0.5,-13.512 -0.75,-20.266 -1.613,-1.457 -3.488,-1.832 -5.625,-1.125 -0.707,7.465 -4.707,10.719 -12.008,9.758 -1.875,-0.875 -3.25,-2.254 -4.125,-4.129 -0.125,-16.519 -0.5,-33.035 -1.125,-49.539 -2.093,-1.949 -4.222,-1.949 -6.379,0 -0.027,9.578 -0.527,19.086 -1.5,28.524 -2.808,2.82 -6.187,3.695 -10.128,2.625 -2.29,-1.539 -3.665,-3.664 -4.125,-6.379 -0.5,-17.766 -0.5,-35.528 0,-53.293 1.96,-4.996 5.585,-6.871 10.878,-5.629 3.204,1.965 4.829,4.84 4.875,8.633 2.25,3.004 4.504,3.004 6.754,0 0.25,-9.008 0.5,-18.016 0.75,-27.02 2.387,-4.305 6.012,-5.683 10.879,-4.129 1.813,1.246 3.188,2.871 4.125,4.879 0.25,27.27 0.5,54.543 0.75,81.813 2.004,2 4.004,2 6.004,0 0.25,-32.774 0.5,-65.551 0.75,-98.328 1.27,-2.145 2.899,-3.895 4.879,-5.254 z"
42
+ style="fill:#343434;fill-opacity:1;fill-rule:evenodd;stroke:none"
43
+ transform="scale(1.3333333)" />
44
+ <path
45
+ id="path2"
46
+ d="m 119.672,77.684 c 4.492,-0.301 7.871,1.453 10.129,5.254 0.25,6.757 0.5,13.511 0.75,20.269 1.355,1.422 2.98,1.797 4.879,1.125 1.008,-2.652 2.132,-5.277 3.375,-7.883 5.269,-4.172 9.769,-3.422 13.504,2.254 0.25,16.262 0.5,32.524 0.75,48.785 1.566,2.762 3.57,3.012 6.003,0.75 0.25,-8.504 0.5,-17.011 0.75,-25.519 2.418,-5.887 6.547,-7.512 12.379,-4.879 0.965,1.062 1.84,2.187 2.625,3.379 0.504,18.765 0.504,37.531 0,56.293 -3.566,6.074 -8.066,6.828 -13.504,2.254 -0.96,-2.75 -2.085,-5.375 -3.374,-7.883 -1.899,-0.672 -3.524,-0.297 -4.879,1.125 -0.25,9.258 -0.5,18.515 -0.75,27.773 -3.504,4.899 -7.883,5.774 -13.129,2.625 -1.024,-1.457 -1.649,-3.086 -1.875,-4.879 -0.25,-27.019 -0.5,-54.039 -0.75,-81.062 -2.004,-2 -4.004,-2 -6.004,0 -0.25,32.277 -0.5,64.551 -0.75,96.828 -1.344,5.824 -4.973,7.949 -10.879,6.379 -1.875,-0.875 -3.25,-2.254 -4.129,-4.129 -0.5,-44.535 -0.5,-89.07 0,-133.605 1.273,-2.145 2.898,-3.895 4.879,-5.254 z"
47
+ style="fill:#ff7427;fill-opacity:1;fill-rule:evenodd;stroke:none"
48
+ transform="scale(1.3333333)" />
49
+ <path
50
+ id="path3"
51
+ d="m 319.816,97.902 c -3.441,0 -6.878,0.016 -10.32,0.047 v 72.809 c 6.059,0.472 11.809,-0.028 17.258,-1.5 V 136.98 c 1.676,-0.222 3.176,0.028 4.5,0.75 8.398,10.903 16.902,21.786 25.512,32.653 6.5,0.5 13.004,0.5 19.507,0 0.715,-0.539 0.836,-1.164 0.375,-1.879 -6.152,-7.426 -12.027,-15.059 -17.632,-22.891 -5.711,-0.843 -11.461,-1.593 -17.258,-2.254 -3.02,-0.91 -5.524,-2.535 -7.504,-4.875 -0.406,-0.05 -0.656,-0.296 -0.75,-0.754 3.215,-0.742 6.465,-0.996 9.754,-0.75 3.801,-0.3 7.551,-0.925 11.254,-1.875 6.449,-2.199 10.574,-6.574 12.383,-13.136 2.332,-13.231 -3.047,-21.114 -16.133,-23.641 -10.313,-0.285 -20.629,-0.426 -30.946,-0.426 z m 13.797,0.27 c 10.016,0.14 14.731,6.199 14.149,18.168 1.297,14.84 -5.457,21.469 -20.258,19.89 V 98.703 c 2.219,-0.379 4.254,-0.558 6.109,-0.531 z"
52
+ style="fill:#353535;fill-opacity:1;fill-rule:evenodd;stroke:none"
53
+ transform="scale(1.3333333)" />
54
+ <path
55
+ id="path4"
56
+ d="m 419.039,133.227 c 5.023,-0.247 10.027,0.007 15.004,0.753 -8.234,0.75 -16.488,1 -24.758,0.75 -1.25,0 -2.5,0 -3.75,0 0,12.008 0,24.02 0,36.028 -5.754,0 -11.508,0 -17.258,0 0,-24.27 0,-48.539 0,-72.809 17.758,-0.125 35.516,0 53.27,0.379 0.859,5.57 0.984,11.199 0.375,16.887 -0.602,0.976 -1.477,1.476 -2.625,1.5 -1.957,-0.477 -3.703,-1.352 -5.254,-2.625 -5.609,-5.18 -11.363,-10.184 -17.254,-15.012 -3.746,-0.375 -7.496,-0.5 -11.254,-0.375 0,11.508 0,23.016 0,34.524 4.5,0 9,0 13.504,0 z"
57
+ style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none"
58
+ transform="scale(1.3333333)" />
59
+ <path
60
+ id="path5"
61
+ d="m 199.395,112.914 c -2.567,0 -5.129,0.016 -7.696,0.047 -0.742,19.211 -0.992,38.477 -0.75,57.797 5.946,0.234 11.821,-0.012 17.633,-0.75 0.375,-6.5 0.5,-13.008 0.375,-19.516 5.527,0.028 11.031,-0.347 16.508,-1.125 5.539,-0.824 9.918,-3.453 13.129,-7.883 5.754,-15.886 0.379,-25.269 -16.133,-28.144 -7.688,-0.285 -15.375,-0.426 -23.066,-0.426 z m 11.667,1.461 c 4.696,0.133 7.872,2.664 9.524,7.594 1.703,7.648 1.203,15.152 -1.5,22.519 -2.422,3.649 -5.801,5.153 -10.129,4.504 v -34.527 c 0.734,-0.078 1.434,-0.11 2.105,-0.09 z"
62
+ style="fill:#353535;fill-opacity:1;fill-rule:evenodd;stroke:none"
63
+ transform="scale(1.3333333)" />
64
+ <path
65
+ id="path6"
66
+ d="m 244.969,112.961 c 6.297,-0.227 12.551,0.023 18.758,0.754 5.628,10.258 11.253,20.515 16.882,30.773 2.766,-4.039 5.149,-8.293 7.129,-12.761 -2.613,-5.227 -5.242,-10.481 -7.879,-15.762 -0.367,-0.969 -0.492,-1.969 -0.375,-3.004 6.254,0 12.504,0 18.758,0 0.121,1.277 -0.004,2.527 -0.375,3.754 -5.754,10.508 -11.504,21.015 -17.258,31.523 -0.25,7.258 -0.5,14.512 -0.75,21.77 -5.754,1 -11.504,1 -17.257,0 -0.25,-7.758 -0.5,-15.512 -0.75,-23.27 -6.164,-10.465 -12.043,-21.097 -17.633,-31.898 0.187,-0.676 0.437,-1.301 0.75,-1.879 z"
67
+ style="fill:#353535;fill-opacity:1;fill-rule:evenodd;stroke:none"
68
+ transform="scale(1.3333333)" />
69
+ <path
70
+ id="path7"
71
+ d="m 447.551,112.961 c 17.004,-0.125 34.015,0 51.019,0.379 0.739,7.566 0.989,15.199 0.75,22.89 -2.117,0.313 -3.742,-0.437 -4.879,-2.25 -3.953,-6.71 -8.203,-13.214 -12.753,-19.515 -0.25,18.512 -0.5,37.027 -0.75,55.543 -5.063,0.859 -10.196,0.984 -15.379,0.375 -0.621,-18.586 -1,-37.223 -1.129,-55.918 -4.793,6.551 -9.293,13.305 -13.504,20.265 -1.301,1.579 -2.801,1.829 -4.5,0.75 -0.5,-7.003 -0.5,-14.011 0,-21.015 0.539,-0.406 0.914,-0.91 1.125,-1.504 z"
72
+ style="fill:#363636;fill-opacity:1;fill-rule:evenodd;stroke:none"
73
+ transform="scale(1.3333333)" />
74
+ <path
75
+ id="path8"
76
+ d="m 511.324,112.961 c 5.446,-0.231 10.821,0.019 16.133,0.754 0.621,18.941 0.496,37.832 -0.375,56.668 -5.687,0.609 -11.316,0.484 -16.883,-0.375 -0.5,-18.516 -0.5,-37.031 0,-55.543 0.539,-0.406 0.914,-0.91 1.125,-1.504 z"
77
+ style="fill:#353535;fill-opacity:1;fill-rule:evenodd;stroke:none"
78
+ transform="scale(1.3333333)" />
79
+ <path
80
+ id="path9"
81
+ d="m 542.836,112.961 c 8.004,0 16.008,0 24.012,0 0.117,1.035 -0.008,2.035 -0.375,3.004 -6.379,7.758 -12.758,15.512 -19.133,23.269 6.98,9.36 14.109,18.618 21.383,27.77 0.757,1.148 1.132,2.398 1.125,3.754 -7.082,0.332 -14.086,-0.043 -21.008,-1.125 -5.844,-8.098 -11.969,-15.981 -18.383,-23.645 -0.363,-0.711 -0.488,-1.461 -0.375,-2.25 4.523,0.403 8.777,-0.476 12.754,-2.629 3.781,-3.527 7.277,-7.277 10.504,-11.257 -3.535,-4.946 -7.16,-9.825 -10.879,-14.637 -0.352,-0.809 -0.227,-1.563 0.375,-2.254 z"
82
+ style="fill:#353535;fill-opacity:1;fill-rule:evenodd;stroke:none"
83
+ transform="scale(1.3333333)" />
84
+ <path
85
+ id="path10"
86
+ d="m 201.453,191.773 c 17.258,0 34.516,0 51.77,0 0,0.75 0,1.5 0,2.254 -17.254,0 -34.512,0 -51.77,0 0,-0.754 0,-1.504 0,-2.254 z"
87
+ style="fill:#3a3a3a;fill-opacity:1;fill-rule:evenodd;stroke:none"
88
+ transform="scale(1.3333333)" />
89
+ <path
90
+ id="path11"
91
+ d="m 507.574,191.773 c 17.254,0 34.512,0 51.77,0 0,0.75 0,1.5 0,2.254 -17.258,0 -34.516,0 -51.77,0 0,-0.754 0,-1.504 0,-2.254 z"
92
+ style="fill:#3a3a3a;fill-opacity:1;fill-rule:evenodd;stroke:none"
93
+ transform="scale(1.3333333)" />
94
+ <text
95
+ id="text11"
96
+ xml:space="preserve"
97
+ transform="matrix(1.3333333,0,0,1.3338481,353.27835,264.36785)"><tspan
98
+ style="font-variant:normal;font-weight:normal;font-size:20.0078px;font-family:'Hack Nerd Font';writing-mode:lr-tb;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none"
99
+ x="0 12.205783 24.431574 36.637356 48.84314 61.08894 73.294724 85.500504 97.726295 109.93208 122.13786 134.36365 146.56944 158.79523 171.02103 183.22681 195.43259 207.65837 219.86417"
100
+ y="0"
101
+ sodipodi:role="line"
102
+ id="tspan11">RF circuit modeling</tspan></text>
103
+ <path
104
+ id="path12"
105
+ d="m 403.902,132.238 h 31.227 v 2.977 h -31.227 z"
106
+ style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none"
107
+ transform="scale(1.3333333)" />
108
+ </g>
109
+ </svg>
@@ -3,7 +3,7 @@ requires = ["hatchling","numpy","matplotlib","logging"]
3
3
  build-backend = "hatchling.build"
4
4
  [project]
5
5
  name = "pyRFtk"
6
- version = "2.0.3"
6
+ version = "2.0.5"
7
7
  authors = [
8
8
  { name="Frederic Durodie", email="frederic.durodie@rma.ac.be" },
9
9
  { name="Arthur Adriaens", email="arthur.adriaens@mil.be" },
@@ -1,7 +1,11 @@
1
- __updated__ = "2023-09-12 10:02:08"
1
+ __updated__ = "2024-12-20 14:21:08"
2
2
 
3
3
  import numpy as np
4
4
  import re
5
+ import os
6
+ from warnings import warn
7
+ _warn_skips = (os.path.dirname(__file__),)
8
+
5
9
  from .getlines import getlines
6
10
  from .config import tLogger, logit, ident
7
11
  from .config import fscale
@@ -183,7 +187,7 @@ def ReadTSF(src, **kwargs):
183
187
  pvars = {}
184
188
  GENERAL_MIXED = False
185
189
  source = re.findall(
186
- '(?i)! Touchstone file exported from HFSS (\d{4}\.\d+\.\d+)',
190
+ r'(?i)! Touchstone file exported from HFSS (\d{4}\.\d+\.\d+)',
187
191
  comments[0])
188
192
  debug and tLogger.debug(ident(f'source = {source}'))
189
193
 
@@ -209,7 +213,7 @@ def ReadTSF(src, **kwargs):
209
213
  lineno += 1
210
214
  aline = comments[lineno]
211
215
  while aline.strip() != '!':
212
- varline = re.findall('!\s*([\$]?[A-Za-z0-9_]+)\s*=\s*(.+)',
216
+ varline = re.findall(r'!\s*([\$]?[A-Za-z0-9_]+)\s*=\s*(.+)',
213
217
  aline)
214
218
  if varline:
215
219
  pvars[varline[0][0]] = varline[0][1]
@@ -235,8 +239,8 @@ def ReadTSF(src, **kwargs):
235
239
 
236
240
  re_compile = True # check if compiling regexes is faster ... not really
237
241
  if re_compile:
238
- reGline = re.compile('(?i)\s*(?:Gamma)\s+!?(.+)')
239
- reZline = re.compile('(?i)\s*(?:Port Impedance)(.+)')
242
+ reGline = re.compile(r'(?i)\s*(?:Gamma)\s+!?(.+)')
243
+ reZline = re.compile(r'(?i)\s*(?:Port Impedance)(.+)')
240
244
 
241
245
  for aline in comments[got_marker:]:
242
246
  # check for gamma or port impedance lines
@@ -252,8 +256,8 @@ def ReadTSF(src, **kwargs):
252
256
  Gline = reGline.search(rest)
253
257
  Zline = reZline.search(rest)
254
258
  else:
255
- Gline = re.findall('(?i)\s*(Gamma)\s+!?(.+)',rest)
256
- Zline = re.findall('(?i)\s*(Port Impedance)(.+)',rest)
259
+ Gline = re.findall(r'(?i)\s*(Gamma)\s+!?(.+)',rest)
260
+ Zline = re.findall(r'(?i)\s*(Port Impedance)(.+)',rest)
257
261
 
258
262
 
259
263
  if Gline or (lastline == 'gamma' and not Zline):
@@ -339,6 +343,36 @@ def ReadTSF(src, **kwargs):
339
343
  Ss = 10**(Ss.real/20.) * np.exp(1j * Ss.imag * np.pi / 180.)
340
344
  else: # datafmt == 'RI':
341
345
  pass
346
+
347
+ ## do some checking
348
+ if nZcs := Zcs.shape[1]:
349
+ # Zcs (and probably gammas) were present in the file
350
+ if Zbase is not None:
351
+ # there was also a R ... in the format
352
+ if (nZbase := len(Zbase) if hasattr(Zbase, '__iter__') else 1) != nZcs :
353
+ warn(f'\nInconsistent length of the Zcs ({nZcs}) comments and the '
354
+ f'format supplied reference impedance R ({nZbase})',
355
+ stacklevel=4)
356
+ else:
357
+ # numbers match ... but do the values
358
+ if nZbase == 1:
359
+ errfs = np.max(np.abs([(Zbase - Zcs_k)/Zbase for Zcs_k in Zcs[:,0]]))
360
+ else:
361
+ errfs = np.max(np.abs([
362
+ [(Zbase_l - Zcs_kl)/Zbase_l for Zbase_l, Zcs_kl in zip(Zbase, Zcs_k)]
363
+ for Zcs_k in Zcs
364
+ ]))
365
+
366
+ if (tol := 1e-3) < errfs:
367
+ warn(
368
+ f'\nInconsistent values for the reference impedances from Zcs comments'
369
+ f' and the one supplied in the format parameter R (rel. err. = {errfs:0.2g} > {tol:0.2g})',
370
+ stacklevel=4)
371
+
372
+ if nZbase == 1 and nZcs != 1:
373
+ err = []
374
+
375
+
342
376
 
343
377
  # if the data type is Z or Y we need to convert to S
344
378
 
@@ -354,20 +388,18 @@ def ReadTSF(src, **kwargs):
354
388
 
355
389
  else: # datatype == 'S':
356
390
 
357
- if Zbase is not None:
358
- if not hasattr(Zbase,'__iter__'):
359
- if Zbase != TZbase:
360
- Ss = ConvertGeneral(TZbase, Ss, Zbase, 'V', 'V')
391
+ if nZcs: # prefer the Zcs data over the format line R data
392
+ Ss = ConvertGeneral(TZbase if TZbase else 50., Ss, Zcs, 'P', 'V')
361
393
 
362
- else:
363
- Ss = ConvertGeneral(TZbase, Ss, Zbase, 'P', 'V')
394
+ elif Zbase is not None and (nZbase == 1 or nZbase == Ss.shape[1]):
395
+ Ss = ConvertGeneral(TZbase if TZbase else 50., Ss, Zbase, 'P', 'V')
364
396
 
365
- else: # Zbase is None:
366
- if len(Zcs[0]) == N:
367
- Ss = ConvertGeneral(TZbase, Ss, Zcs, 'P', 'V')
368
- else:
369
- logit['ERROR'] and tLogger.error(f'len(Zcs)[{len(Zcs)}] != N[{N}]')
370
- logit['ERROR'] and tLogger.error(f'Zcs={Zcs}')
397
+ elif Zbase is None: # No Zcs and Zbase is None:
398
+ Ss = ConvertGeneral(TZbase if TZbase else 50., Ss, Zcs, 'P', 'V')
399
+
400
+ else:
401
+ logit['ERROR'] and tLogger.error(f'len(Zcs)[{len(Zcs)}] != N[{N}]')
402
+ logit['ERROR'] and tLogger.error(f'Zcs={Zcs}')
371
403
 
372
404
 
373
405
  # set the portnames
@@ -1,4 +1,4 @@
1
- __updated__ = "2024-08-29 15:46:08"
1
+ __updated__ = "2024-12-20 14:21:10"
2
2
 
3
3
  import numpy as np
4
4
  import re
@@ -50,7 +50,7 @@ def WriteTSF(object, path2tsf=None,
50
50
  try:
51
51
  zref = float(
52
52
  re.findall(
53
- '^.*?R\s*([-+]?(?:\d*[\.])?\d+(?:[eE][-+]?\d+)?).*?$',
53
+ r'^.*?R\s*([-+]?(?:\d*[\.])?\d+(?:[eE][-+]?\d+)?).*?$',
54
54
  tsf_format
55
55
  )[0]
56
56
  )
@@ -1,6 +1,6 @@
1
- __updated__ = "2024-08-29 09:55:04"
1
+ __updated__ = "2024-12-20 14:11:19"
2
2
 
3
- print('using local copy of pyRFtk')
3
+ print('\n*** using local copy of pyRFtk ***\n')
4
4
 
5
5
  from .config import tLogger, setLogLevel, logit, ident, _newID, logident
6
6
  from .rfBase import rfBase
@@ -195,7 +195,7 @@ rcparams = {
195
195
  'funit' : 'Hz', # 'Hz' | 'kHz' | 'MHz' | 'GHz' # keep to Hz for the moment
196
196
  'fs' : (35e6, 60e6, 251),
197
197
  'interp' : 'MA', # 'MA' | 'RI' | 'dB'
198
- 'interpkws' : {'kind': 1,
198
+ 'interpkws' : {'kind': 3,
199
199
  'fill_value':'extrapolate'
200
200
  },
201
201
  }
@@ -191,7 +191,7 @@ class rfTRL():
191
191
  self.odeparams = kwargs.pop('odeparams',{'rtol':1E-12, 'atol':1E-12})
192
192
  self.sNp = kwargs.pop('sNp', None)
193
193
  self.constant = True
194
- self.f = np.NaN
194
+ self.f = np.nan
195
195
  self.S = None
196
196
  self.attrs = ['L']
197
197
 
@@ -319,7 +319,7 @@ class rfTRL():
319
319
  else:
320
320
  s += f'| ODE integration parameters: {self.odeparams} \n'
321
321
 
322
- self.TLP.f0 = self.f if self.f != np.NaN else None
322
+ self.TLP.f0 = self.f if self.f != np.nan else None
323
323
  for _s in self.TLP.__str__(full).split('\n'):
324
324
  s += f'| {_s}\n'
325
325
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes