pyRFtk 2.0.0__tar.gz → 2.0.2__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 (229) hide show
  1. {pyrftk-2.0.0 → pyrftk-2.0.2}/PKG-INFO +2 -2
  2. pyrftk-2.0.2/docs/build/.doctrees/Installation.doctree +0 -0
  3. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/Touchstone.doctree +0 -0
  4. pyrftk-2.0.2/docs/build/.doctrees/environment.pickle +0 -0
  5. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Installation.html +2 -9
  6. {pyrftk-2.0.0/docs/build/html → pyrftk-2.0.2/docs/build}/_sources/Installation.rst.txt +2 -12
  7. pyrftk-2.0.2/docs/build/searchindex.js +1 -0
  8. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Installation.rst +2 -12
  9. {pyrftk-2.0.0 → pyrftk-2.0.2}/pyproject.toml +2 -2
  10. pyrftk-2.0.2/rfCommon.log +67 -0
  11. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/__init__.py +1 -1
  12. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/plotVSWs.py +2 -2
  13. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/resolveTLparams.py +2 -2
  14. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfBase.py +2 -2
  15. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfCircuit.py +22 -3
  16. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfCoupler.py +15 -7
  17. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfObject.py +13 -1
  18. pyrftk-2.0.2/tests/rfCommon.log +100 -0
  19. {pyrftk-2.0.0 → pyrftk-2.0.2}/tests/tests.py +57 -2
  20. pyrftk-2.0.0/docs/build/.doctrees/environment.pickle +0 -0
  21. pyrftk-2.0.0/docs/build/doctrees/Installation.doctree +0 -0
  22. pyrftk-2.0.0/docs/build/searchindex.js +0 -1
  23. {pyrftk-2.0.0 → pyrftk-2.0.2}/LICENCE +0 -0
  24. {pyrftk-2.0.0 → pyrftk-2.0.2}/README.md +0 -0
  25. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/Makefile +0 -0
  26. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.buildinfo +0 -0
  27. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/Arcs.doctree +0 -0
  28. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/Deembedding.doctree +0 -0
  29. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/Examples.doctree +0 -0
  30. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/Introduction.doctree +0 -0
  31. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/Logging.doctree +0 -0
  32. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/Tutorials.doctree +0 -0
  33. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/backup.doctree +0 -0
  34. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/index.doctree +0 -0
  35. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/modules.doctree +0 -0
  36. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.doctrees/pyRFtk.doctree +0 -0
  37. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/.nojekyll +0 -0
  38. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Arcs.html +0 -0
  39. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Deembedding.html +0 -0
  40. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Examples.html +0 -0
  41. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Introduction.html +0 -0
  42. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Logging.html +0 -0
  43. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Touchstone.html +0 -0
  44. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/Tutorials.html +0 -0
  45. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_downloads/b90e652aafe314ced71820d596828aed/Tomas-Ref_geo-R=200-Diel_eps=0500.s2p +0 -0
  46. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_downloads/bf8243189246eb0547daf197b1578bac/tomas_icrh_linear_2017-vacuum.s2p +0 -0
  47. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_images/RLC.png +0 -0
  48. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_images/RLCSC.png +0 -0
  49. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_images/SC.png +0 -0
  50. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_images/SimpleCircuit.png +0 -0
  51. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_images/TomasCircuit.png +0 -0
  52. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/Arcs.rst.txt +0 -0
  53. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/Deembedding.rst.txt +0 -0
  54. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/Examples.rst.txt +0 -0
  55. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/Introduction.rst.txt +0 -0
  56. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/Logging.rst.txt +0 -0
  57. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/Touchstone.rst.txt +0 -0
  58. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/Tutorials.rst.txt +0 -0
  59. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/backup.rst.txt +0 -0
  60. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/index.rst.txt +0 -0
  61. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/modules.rst.txt +0 -0
  62. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_sources/pyRFtk.rst.txt +0 -0
  63. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  64. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/alabaster.css +0 -0
  65. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/basic.css +0 -0
  66. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/classic.css +0 -0
  67. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/badge_only.css +0 -0
  68. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  69. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  70. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  71. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  72. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/fontawesome-webfont.eot +0 -0
  73. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/fontawesome-webfont.svg +0 -0
  74. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  75. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/fontawesome-webfont.woff +0 -0
  76. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  77. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-bold-italic.woff +0 -0
  78. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  79. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-bold.woff +0 -0
  80. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-bold.woff2 +0 -0
  81. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-normal-italic.woff +0 -0
  82. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  83. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-normal.woff +0 -0
  84. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/fonts/lato-normal.woff2 +0 -0
  85. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/css/theme.css +0 -0
  86. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/custom.css +0 -0
  87. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/doctools.js +0 -0
  88. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/documentation_options.js +0 -0
  89. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/file.png +0 -0
  90. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/groundwork.css +0 -0
  91. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/gw_logo.png +0 -0
  92. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/jquery.js +0 -0
  93. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/js/badge_only.js +0 -0
  94. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/js/html5shiv-printshiv.min.js +0 -0
  95. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/js/html5shiv.min.js +0 -0
  96. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/js/theme.js +0 -0
  97. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/language_data.js +0 -0
  98. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/minus.png +0 -0
  99. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/plus.png +0 -0
  100. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/pygments.css +0 -0
  101. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/searchtools.js +0 -0
  102. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/sidebar.js +0 -0
  103. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/small_groundwork.css +0 -0
  104. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/_static/sphinx_highlight.js +0 -0
  105. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/backup.html +0 -0
  106. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/Deembedding.doctree +0 -0
  107. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/Examples.doctree +0 -0
  108. {pyrftk-2.0.0/docs/build/.doctrees → pyrftk-2.0.2/docs/build/doctrees}/Installation.doctree +0 -0
  109. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/Introduction.doctree +0 -0
  110. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/TOMAS.doctree +0 -0
  111. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/Touchstone.doctree +0 -0
  112. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/Tutorials.doctree +0 -0
  113. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/backup.doctree +0 -0
  114. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/environment.pickle +0 -0
  115. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/index.doctree +0 -0
  116. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/modules.doctree +0 -0
  117. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/pyRFtk.doctree +0 -0
  118. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/doctrees/usage.doctree +0 -0
  119. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/genindex.html +0 -0
  120. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/.buildinfo +0 -0
  121. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/.nojekyll +0 -0
  122. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/Deembedding.html +0 -0
  123. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/Examples.html +0 -0
  124. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/Installation.html +0 -0
  125. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/Introduction.html +0 -0
  126. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/TOMAS.html +0 -0
  127. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/Touchstone.html +0 -0
  128. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/Tutorials.html +0 -0
  129. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/RLC.png +0 -0
  130. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/RLCSC.png +0 -0
  131. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/SC.png +0 -0
  132. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/SimpleCircuit.pdf +0 -0
  133. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/SimpleCircuit.png +0 -0
  134. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/TOMAS_ICRH_Antenna.png +0 -0
  135. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/TOMAS_ICRH_Circuit.png +0 -0
  136. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_images/TomasCircuit.png +0 -0
  137. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/Deembedding.rst.txt +0 -0
  138. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/Examples.rst.txt +0 -0
  139. {pyrftk-2.0.0/docs/build → pyrftk-2.0.2/docs/build/html}/_sources/Installation.rst.txt +0 -0
  140. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/Introduction.rst.txt +0 -0
  141. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/TOMAS.rst.txt +0 -0
  142. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/Touchstone.rst.txt +0 -0
  143. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/Tutorials.rst.txt +0 -0
  144. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/backup.rst.txt +0 -0
  145. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/index.rst.txt +0 -0
  146. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/modules.rst.txt +0 -0
  147. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/pyRFtk.rst.txt +0 -0
  148. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_sources/usage.rst.txt +0 -0
  149. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/alabaster.css +0 -0
  150. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/basic.css +0 -0
  151. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/classic.css +0 -0
  152. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/custom.css +0 -0
  153. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/doctools.js +0 -0
  154. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/documentation_options.js +0 -0
  155. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/file.png +0 -0
  156. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/language_data.js +0 -0
  157. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/minus.png +0 -0
  158. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/plus.png +0 -0
  159. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/pygments.css +0 -0
  160. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/searchtools.js +0 -0
  161. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/sidebar.js +0 -0
  162. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/_static/sphinx_highlight.js +0 -0
  163. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/backup.html +0 -0
  164. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/genindex.html +0 -0
  165. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/index.html +0 -0
  166. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/modules.html +0 -0
  167. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/objects.inv +0 -0
  168. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/py-modindex.html +0 -0
  169. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/pyRFtk.html +0 -0
  170. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/search.html +0 -0
  171. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/searchindex.js +0 -0
  172. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/html/usage.html +0 -0
  173. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/index.html +0 -0
  174. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/modules.html +0 -0
  175. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/objects.inv +0 -0
  176. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/py-modindex.html +0 -0
  177. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/pyRFtk.html +0 -0
  178. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/build/search.html +0 -0
  179. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/make.bat +0 -0
  180. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Arcs.rst +0 -0
  181. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Deembedding.rst +0 -0
  182. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Drawings/SimpleCircuit.odg +0 -0
  183. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Examples.rst +0 -0
  184. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Files/Tomas-Ref_geo-R=200-Diel_eps=0500.s2p +0 -0
  185. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Files/tomas_icrh_linear_2017-vacuum.s2p +0 -0
  186. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/RLC.png +0 -0
  187. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/RLCSC.png +0 -0
  188. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/SC.png +0 -0
  189. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/SimpleCircuit.pdf +0 -0
  190. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/SimpleCircuit.png +0 -0
  191. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/TOMAS_ICRH_Antenna.png +0 -0
  192. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/TOMAS_ICRH_Circuit.png +0 -0
  193. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Images/TomasCircuit.png +0 -0
  194. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Introduction.rst +0 -0
  195. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Logging.rst +0 -0
  196. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Touchstone.rst +0 -0
  197. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/Tutorials.rst +0 -0
  198. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/backup.rst +0 -0
  199. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/conf.py +0 -0
  200. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/index.rst +0 -0
  201. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/modules.rst +0 -0
  202. {pyrftk-2.0.0 → pyrftk-2.0.2}/docs/source/pyRFtk.rst +0 -0
  203. {pyrftk-2.0.0 → pyrftk-2.0.2}/logo.png +0 -0
  204. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/.gitignore +0 -0
  205. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/ConvertGeneral.py +0 -0
  206. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/ReadDictData.py +0 -0
  207. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/ReadTSF.py +0 -0
  208. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/S_from_VI.py +0 -0
  209. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/S_from_Y.py +0 -0
  210. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/S_from_Z.py +0 -0
  211. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/Y_from_S.py +0 -0
  212. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/Z_from_S.py +0 -0
  213. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/_check_3D_shape_.py +0 -0
  214. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/circuit.py +0 -0
  215. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/codebase.py +0 -0
  216. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/compareSs.py +0 -0
  217. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/config.py +0 -0
  218. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/findpath.py +0 -0
  219. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/getlines.py +0 -0
  220. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/maxfun.py +0 -0
  221. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/printMatrices.py +0 -0
  222. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfArcObj.py +0 -0
  223. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfGTL.py +0 -0
  224. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfRLC.py +0 -0
  225. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/rfTRL.py +0 -0
  226. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/str_dict.py +0 -0
  227. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/tictoc.py +0 -0
  228. {pyrftk-2.0.0 → pyrftk-2.0.2}/src/pyRFtk/whoami.py +0 -0
  229. {pyrftk-2.0.0 → pyrftk-2.0.2}/tests/routine.sh +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyRFtk
3
- Version: 2.0.0
3
+ Version: 2.0.2
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>
7
7
  License-File: LICENCE
8
8
  Classifier: Operating System :: OS Independent
9
9
  Classifier: Programming Language :: Python
10
- Requires-Python: >=3.10
10
+ Requires-Python: >=3.8
11
11
  Description-Content-Type: text/markdown
12
12
 
13
13
  # pyRFtk
@@ -86,17 +86,10 @@
86
86
  <h1>Installation<a class="headerlink" href="#installation" title="Link to this heading"></a></h1>
87
87
  <section id="pip">
88
88
  <h2>Pip<a class="headerlink" href="#pip" title="Link to this heading"></a></h2>
89
- <p>The program has a pre-build version which can be installed using pip, as this program is not yet made available in the python database,
90
- to install the program you’ll have to first clone the repository:</p>
91
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">LPP</span><span class="o">-</span><span class="n">ERM</span><span class="o">-</span><span class="n">KMS</span><span class="o">/</span><span class="n">pyRFtk</span><span class="o">.</span><span class="n">git</span>
89
+ <p>The program has a pre-build version which can be installed using pip:</p>
90
+ <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">pyRFtk</span>
92
91
  </pre></div>
93
92
  </div>
94
- <p>Then navigate to the folder “dist” where the
95
- install file is located, and run</p>
96
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>(.venv) $pip install pyrftk2-2.0.0-py3-none-any.whl
97
- </pre></div>
98
- </div>
99
- <p>which installs the program</p>
100
93
  </section>
101
94
  <section id="source">
102
95
  <h2>Source<a class="headerlink" href="#source" title="Link to this heading"></a></h2>
@@ -2,21 +2,11 @@ Installation
2
2
  ==================================
3
3
  Pip
4
4
  ---
5
- The program has a pre-build version which can be installed using pip, as this program is not yet made available in the python database,
6
- to install the program you'll have to first clone the repository:
5
+ The program has a pre-build version which can be installed using pip:
7
6
 
8
7
  .. code-block::
9
8
 
10
- git clone https://github.com/LPP-ERM-KMS/pyRFtk.git
11
-
12
- Then navigate to the folder "dist" where the
13
- install file is located, and run
14
-
15
- .. code-block::
16
-
17
- (.venv) $pip install pyrftk2-2.0.0-py3-none-any.whl
18
-
19
- which installs the program
9
+ pip install pyRFtk
20
10
 
21
11
  Source
22
12
  ------
@@ -0,0 +1 @@
1
+ Search.setIndex({"docnames": ["Arcs", "Deembedding", "Examples", "Installation", "Introduction", "Logging", "Touchstone", "Tutorials", "backup", "index", "modules", "pyRFtk"], "filenames": ["Arcs.rst", "Deembedding.rst", "Examples.rst", "Installation.rst", "Introduction.rst", "Logging.rst", "Touchstone.rst", "Tutorials.rst", "backup.rst", "index.rst", "modules.rst", "pyRFtk.rst"], "titles": ["Arc Detection", "Deembedding", "Examples", "Installation", "Introduction", "Logging", "Touchstone files", "Tutorials", "S-matrix and combining circuits", "Welcome to pyRFtk\u2019s documentation!", "pyRFtk", "pyRFtk package"], "terms": {"de": 1, "embed": 1, "i": [1, 3, 4, 6, 8, 9, 11], "post": 1, "measur": [1, 6], "process": 1, "minim": [1, 11], "error": [1, 11], "reveal": 1, "inform": [1, 11], "about": 1, "devic": 1, "under": [1, 9], "test": 1, "when": [1, 11], "composit": 1, "fixtur": 1, "combin": 1, "you": [1, 3, 4], "can": [1, 3, 4, 6, 8, 9, 11], "us": [1, 3, 4, 6, 8, 9, 11], "isol": 1, "perform": [1, 11], "extract": 1, "emb": 1, "from": [1, 4, 6, 8, 11], "what": [1, 4, 6, 11], "thi": [1, 4, 6, 8, 11], "mean": [1, 4, 11], "context": 1, "our": [1, 4], "softwar": [1, 3, 4], "follow": [1, 3, 4, 6, 11], "sai": [1, 4, 6], "we": [1, 4, 6, 8], "have": [1, 3, 4, 6, 11], "circuit": [1, 4, 6, 9, 10], "structur": [1, 4, 11], "sextern": 1, "sintern": [1, 11], "deemb": [1, 10, 11], "ip": 1, "dpi": 1, "dpe": 1, "ep": 1, "here": [1, 4, 8, 11], "know": [1, 4, 6], "scatter": [1, 11], "matric": [1, 8, 11], "se": 1, "sd": 1, "want": [1, 6, 11], "find": [1, 6, 11], "matrix": [1, 4, 6, 11], "intern": [1, 11], "compon": 1, "si": 1, "intport": [1, 11], "extport": [1, 11], "mai": [1, 4, 11], "function": [1, 11], "rfcircuit": [1, 4, 6, 8, 10], "object": [1, 4, 11], "solv": [1, 4, 10, 11], "As": [1, 4, 8], "an": [1, 3, 4, 8, 9, 11], "exampl": [1, 8], "ll": [1, 3, 4, 6], "toma": [1, 6], "icrh": [1, 6], "system": 1, "again": 1, "The": [3, 4, 8, 9, 11], "program": [3, 4, 8], "ha": [1, 3, 8, 11], "pre": [3, 6], "build": [3, 4, 9, 11], "version": [3, 11], "which": [3, 4, 6, 8, 9, 11], "yet": 11, "made": [], "avail": 11, "python": 9, "databas": [], "first": [4, 6, 11], "clone": 3, "repositori": [], "navig": [], "folder": 3, "dist": [], "where": [4, 6, 8, 11], "file": [7, 9, 11], "locat": 11, "run": 4, "venv": [], "pyrftk2": [], "2": [4, 6, 8, 11], "0": [1, 4, 6, 8, 11], "py3": [], "none": 11, "ani": [9, 11], "whl": [], "If": [3, 11], "re": 3, "plan": 3, "modifi": [3, 11], "code": [3, 4, 6, 8, 11], "contribut": 3, "project": 3, "your": 3, "own": 3, "benefit": 3, "easili": 3, "access": 3, "add": [3, 4, 11], "path": [3, 11], "rel": [3, 11], "adress": 3, "pyrftk": [3, 4, 6, 8], "src": [3, 11], "pythonpath": 3, "e": [3, 4, 6, 8, 11], "g": [3, 6, 8, 11], "ad": [3, 6, 11], "zshrc": 3, "export": 3, "numpi": [3, 11], "scipi": [3, 11], "matplotlib": [3, 4, 8], "start": [4, 11], "creat": [4, 6, 8, 9, 11], "simpl": [4, 6, 11], "given": [4, 8, 11], "below": [4, 6, 8], "import": [4, 6, 8], "pyplot": [4, 8], "plt": [4, 8], "rftrl": [4, 6, 8, 10], "rfrlc": [4, 6, 10], "plotvsw": [4, 8, 10], "trl1": [4, 8], "l": [4, 6, 8, 11], "1": [4, 6, 8, 11], "od": [4, 6, 11], "230": 4, "id": [4, 6, 8, 11], "100": 4, "130": 4, "dx": [4, 6, 11], "360": 4, "conic": 4, "tl": [1, 4, 11], "trl2": [4, 8], "z0tl": [4, 11], "40": 4, "trl3": [4, 8], "port": [1, 4, 6, 11], "t": [1, 4], "zbase": [4, 11], "just": [4, 11], "fun": 4, "rlc2": 4, "cp": [4, 6, 11], "100e": 4, "12": [4, 6, 11], "ct": [4, 6, 11], "addblock": [4, 6, 8, 10, 11], "tl1": [4, 8], "relpo": [4, 6, 8, 11], "tl2": [4, 8], "tl3": [4, 8], "cap": [1, 4], "oc": 4, "connect": [1, 4, 6, 8, 10, 11], "termin": [4, 6, 8, 10, 11], "y": [4, 11], "open": [4, 9, 11], "z": [4, 6, 11], "10": 4, "finit": 4, "imped": [4, 11], "maxv": [4, 8, 10, 11], "vsw": [4, 8, 11], "f": [1, 4, 6, 8, 11], "55e6": 4, "show": [4, 8], "variou": [4, 9], "step": [4, 11], "happen": 4, "let": [4, 6], "": [4, 6, 11], "explain": [4, 6], "them": 4, "one": [4, 11], "make": [4, 6, 8], "radio": 4, "frequenc": [4, 8, 11], "transmiss": [4, 8, 11], "line": [4, 8, 11], "argument": [4, 6], "length": [4, 8, 11], "section": [4, 6, 11], "outer": [4, 11], "diamet": [4, 11], "inner": [4, 11], "characterist": [4, 11], "refer": [4, 11], "repres": [4, 11], "dimension": [4, 11], "along": [4, 11], "telegraphist": [4, 11], "seen": [4, 8], "definit": [4, 6], "specifi": [4, 11], "leftmost": 4, "side": [4, 11], "rightmost": 4, "13": 4, "With": [4, 9, 11], "being": [4, 11], "p": [4, 11], "kwarg": [4, 11], "ar": [1, 4, 6, 8, 9, 11], "50": [1, 4, 6, 11], "ohm": [4, 11], "name": [4, 8, 11], "rp": [4, 11], "parallel": [4, 11], "resist": [4, 11], "inf": [4, 11], "lp": [4, 11], "induct": [4, 11], "h": [4, 6, 11], "capac": [4, 11], "r": [1, 4, 6, 11], "seri": [4, 11], "c": [4, 6, 8, 11], "onli": [1, 4, 11], "implement": [4, 11], "capacitor": [4, 6], "now": 4, "block": [4, 11], "time": 4, "put": 4, "togeth": [1, 4, 8], "To": [4, 6], "do": [4, 11], "instanc": 4, "call": [4, 6, 11], "label": 4, "point": [4, 11], "analog": 4, "addit": 4, "other": [1, 4], "both": 4, "same": [4, 11], "input": [4, 8, 11], "output": [4, 6, 8, 11], "note": [4, 6, 11], "alreadi": 4, "itself": 4, "contain": [4, 6, 11], "sourc": [4, 6, 7, 9, 11], "afterward": 4, "place": 4, "part": [4, 11], "1m": 4, "awai": 4, "These": 4, "need": [4, 11], "all": [4, 11], "proce": 4, "leav": [1, 4, 11], "righthand": 4, "zero": [4, 6], "admitt": [4, 11], "In": [4, 11], "end": [4, 11], "thu": [4, 11], "look": 4, "like": [4, 11], "appli": [4, 6], "signal": [4, 6], "55mhz": 4, "get": [4, 8, 10, 11], "back": 4, "maxim": 4, "voltag": [4, 6, 11], "over": [4, 11], "full": [4, 11], "stand": [4, 11], "wave": [4, 8, 11], "arrai": [4, 11], "valu": [4, 11], "data": [4, 11], "how": [4, 11], "chang": 4, "distanc": 4, "plot": 4, "set": [4, 10, 11], "apart": 4, "rf": [4, 6, 9, 11], "circuitri": [4, 9], "applic": 4, "cuq": 4, "certain": 4, "node": [4, 6, 11], "whole": [4, 11], "should": 4, "window": 4, "shown": [4, 6, 11], "give": [4, 8, 11], "clear": 4, "insight": 4, "incorpor": [6, 9], "rfobject": [1, 6, 10], "class": [6, 11], "showcas": 6, "capabl": [6, 8], "match": [6, 11], "diagram": 6, "power": [6, 11], "goe": [6, 11], "differenti": 6, "coupler": 6, "through": [6, 11], "coaxial": [1, 6, 11], "cabl": [6, 8], "4": [6, 8, 11], "probe": 6, "after": [6, 11], "box": 6, "Then": 6, "antenna": [1, 6], "final": [6, 11], "ca": 6, "tomas_icrh_linear_2017": 6, "vacuum": 6, "s2p": [1, 6], "construct": 6, "def": 6, "caval": 6, "150": 6, "1e": [1, 6, 11], "cpval": 6, "47": 6, "94": 6, "csval": 6, "133": 6, "rfcoupler": 6, "trlstov3": 6, "235": 6, "041": 6, "017": 6, "500": 6, "trlv3tov2": 6, "66": 6, "trlv2tov1": 6, "795": 6, "trlv1tov0": 6, "trlv0tom": 6, "load": [6, 11], "rlcleft": 6, "caright": 6, "tomas_icrh": 6, "stov3": 6, "v3": 6, "v3tov2": 6, "v2": 6, "v2tov1": 6, "v1": [6, 11], "v1tov0": 6, "v0": [6, 11], "v0tom": 6, "m": [6, 11], "endoflin": 6, "rloss": 6, "out": [6, 11], "prematch": 6, "A": [8, 11], "ground": [6, 11], "return": [6, 11], "resistor": 6, "simul": 6, "effect": 6, "plasma": 6, "would": [6, 11], "3": [1, 6, 8], "5kw": 6, "25mhz": 6, "25": 6, "1e6": [6, 8], "solut": [6, 10, 11], "np": [6, 11], "sqrt": 6, "5": [6, 8, 11], "1e3": 6, "v0tov1": 6, "v2tov3": 6, "v": [6, 11], "ab": 6, "print": [6, 8, 11], "indic": 6, "excit": [6, 8, 11], "element": 6, "wa": 6, "request": [6, 11], "becaus": 6, "vf": [6, 11], "vr": [6, 11], "also": 6, "why": 6, "omit": 6, "directli": 6, "obtain": 6, "instal": [7, 9], "pip": [7, 9], "depend": [7, 9, 11], "introduct": [7, 9], "touchston": [1, 7, 9, 11], "deembed": [7, 9, 11], "calcul": [8, 11], "printmatric": [8, 10], "printma": [8, 10, 11], "ta": 8, "b": 8, "tb": 8, "consist": 8, "left": [8, 11], "right": [8, 11], "each": 8, "two": [1, 8], "lenght": [8, 11], "coax": 8, "wire": 8, "1mhz": 8, "funciton": 8, "posibl": 8, "complex": [8, 11], "easi": 8, "read": [8, 11], "format": [8, 11], "6": 8, "180": 8, "impi": 8, "rho": [8, 11], "theta": 8, "pi": 8, "config": [8, 10], "setloglevel": [8, 10, 11], "1a": 8, "1b": 8, "2a": 8, "2b": 8, "ct1": 8, "3a": 8, "3b": 8, "trl4": 8, "4a": 8, "4b": 8, "ct2": 8, "rc": [8, 11], "5j": 8, "ct3": 8, "ct4": 8, "duh": 8, "trl5": 8, "5a": 8, "5b": 8, "debug": [8, 11], "45e6": 8, "critic": 8, "1v": 8, "5v": 8, "eupl": 9, "licens": 9, "librari": 9, "analys": 9, "modul": [9, 10], "abil": 9, "examin": 9, "almost": 9, "imagin": 9, "intend": 9, "audienc": 9, "experienc": 9, "engin": 9, "peopl": 9, "interest": 9, "field": 9, "willing": 9, "learn": 9, "activ": 9, "develop": 9, "tutori": 9, "index": 9, "search": [9, 11], "page": 9, "packag": [1, 10], "submodul": 10, "convertgener": 10, "readdictdata": 10, "readdictstr": [10, 11], "readtsf": 10, "s_from_vi": 10, "s_from_i": 10, "s_from_z": 10, "y_from_": 10, "z_from_": 10, "get_internalsmatrix": [10, 11], "copi": [10, 11], "ext": [10, 11], "listblock": [10, 11], "codebas": 10, "list1dir": [10, 11], "comparess": 10, "cleanuplogfil": [10, 11], "fscale": [10, 11], "get_class_that_defined_method": [10, 11], "ident": [10, 11], "logid": [10, 11], "findpath": 10, "existspath": [10, 11], "getlin": 10, "maxfun": 10, "scalevsw": [10, 11], "strvsw": [10, 11], "printdb": [10, 11], "printm": [10, 11], "printr": [10, 11], "printri": [10, 11], "strm": [10, 11], "resolvetlparam": 10, "tlresolv": [10, 11], "rf3dbhybrid": 10, "rfarcobj": 10, "get1": [10, 11], "rfbase": 10, "add_debug_cod": [10, 11], "asstr": [10, 11], "tsf2str": [10, 11], "write_tsf": [10, 11], "findobj": [10, 11], "getpo": [10, 11], "resolve_xpo": [10, 11], "rfgtl": 10, "processgtl": [10, 11], "getsgtl": [10, 11], "convert2newzbas": [10, 11], "process_kwarg": [10, 11], "read_tsf": [10, 11], "sortport": [10, 11], "visw": [10, 11], "solvevi": [10, 11], "str_dict": 10, "tictoc": 10, "tic": [10, 11], "toc": [10, 11], "whoami": 10, "content": 10, "arnold": [], "law": [], "document": [], "exist": 11, "doesn": [], "doe": 11, "date": [], "useless": [], "transcend": [], "18": [], "dec": [], "2020": [], "author": [], "freder": [], "z2": 11, "s1": 11, "z1": 11, "type1": 11, "type2": 11, "covertgener": 11, "convert": 11, "n": 11, "scalar": 11, "1d": 11, "list": 11, "must": 11, "correspond": 11, "number": 11, "differ": 11, "2d": 11, "shape": 11, "nf": 11, "matri": 11, "x": 11, "ce": 11, "nfreq": 11, "nport": 11, "3d": 11, "type": 11, "zk": 11, "imag": 11, "ak": 11, "vk": 11, "ik": 11, "bk": 11, "wavezk": 11, "gener": 11, "orfanidi": 11, "real": 11, "s2": 11, "text": 11, "fact": [], "dict": 11, "comment": 11, "strip": [], "durodi": [], "11": [], "apr": [], "2014": [], "2015": [], "aug": [], "26": [], "signatur": [], "compat": 11, "new": 11, "fpath": 11, "userdir": 11, "envvar": 11, "appdir": 11, "missingok": 11, "true": 11, "verbos": 11, "fals": 11, "model": 11, "mod4pj": 11, "ciamod": 11, "special": 11, "str": 11, "top": 11, "bottom": 11, "tupl": 11, "int": 11, "up": 11, "down": 11, "rem": 11, "marker": 11, "17": [], "feb": [], "2021": [], "z0": 11, "30": 11, "imed": 11, "vi": 11, "transform": 11, "i2": [], "i1": 11, "defin": 11, "oposit": 11, "sign": 11, "abov": 11, "standard": 11, "alwai": 11, "ndarrai": 11, "unless": 11, "base": 11, "deprec": 11, "sinc": 11, "been": [1, 11], "replac": 11, "kept": 11, "legaci": 11, "manipul": 11, "method": 11, "attribut": 11, "float": 11, "string": 11, "__len__": 11, "integ": 11, "hz": [1, 11], "param": 11, "smatric": 11, "singl": 11, "smatrix": 11, "result": 11, "els": 11, "default": 11, "arg": 11, "rfobj": 11, "unus": 11, "automat": 11, "becom": 11, "extern": 11, "try": 11, "self": 11, "flag": 11, "pair": 11, "fequenc": 11, "its": 11, "current": 11, "flow": 11, "forward": 11, "reflect": 11, "quantiti": 11, "express": 11, "map": 11, "pf": 11, "portnam": 11, "ommit": 11, "paramet": 11, "suppli": 11, "xpo": 11, "posit": 11, "well": 11, "state": 11, "recurs": 11, "fill": 11, "futur": 11, "extesns": 11, "nov": [], "level": 11, "ss": 11, "lbl": 11, "figkwarg": 11, "20": [], "frm": 11, "meth": 11, "messag": 11, "d": 11, "printarg": 11, "stacklev": 11, "gmail": [], "com": [], "filepath": [], "more": 11, "predict": [], "restrict": 11, "manner": 11, "27": [], "second": 11, "allow": [], "partial": [], "keep": [], "former": [], "fpattern": 11, "origin": [], "rais": 11, "except": 11, "empti": 11, "envar": 11, "basenam": 11, "environ": 11, "variabl": 11, "separ": 11, "directori": 11, "order": 11, "appear": 11, "usersdir": 11, "next": 11, "ioerror": 11, "maxlev": 11, "scale": 11, "indent": 11, "23": [], "jul": [], "telenet": [], "pfmt": 11, "7": 11, "3f": 11, "1f": 11, "printzero": 11, "pretti": 11, "3fj": 11, "pfun": 11, "lambda": 11, "write": 11, "8": 11, "5f": 11, "2f": 11, "possibli": 11, "func": 11, "parent": 11, "__init__": 11, "__copy__": 11, "__deepcopy__": 11, "__getstate__": 11, "__setstate__": 11, "__str__": 11, "present": 11, "multilin": 11, "represent": 11, "collect": 11, "tfmt": 11, "mhz": 11, "ma": 11, "zref": 11, "overrul": 11, "tsbasenam": 11, "todo": 11, "renam": 11, "rethink": 11, "check": 11, "logic": 11, "statu": 11, "snp": 11, "evalu": 11, "anywai": 11, "subblock": 11, "so": 11, "than": 11, "previous": 11, "explicitli": 11, "known": 11, "size": 11, "port_new": 11, "extens": 11, "tri": 11, "underli": 11, "blkid": 11, "sdict": 11, "similar": 11, "further": 11, "chain": 11, "nest": 11, "attr": 11, "rfcircuita": 11, "rfrlc1": 11, "rfcircuitb": 11, "rftrl1": 11, "20e": 11, "9": 11, "purpos": 11, "formal": 11, "kw": 11, "attr1": 11, "val1": 11, "attr2": 11, "val2": 11, "abl": 11, "multipl": 11, "onc": 11, "case": 11, "val": 11, "work": 11, "formul": 11, "loop": 11, "cancel": 11, "sol": 11, "either": 11, "some": 11, "fmhz": 11, "gtl_data": 11, "gtl": 11, "provid": 11, "option": 11, "p1": 11, "substitut": 11, "addblockgtl": 11, "tlid1": 11, "1st": 11, "general_tl": 11, "properti": 11, "tlidn": 11, "tlid": 11, "path2model": 11, "objkei": 11, "templat": [], "obsolet": [], "glorifi": 11, "lut": 11, "creation": 11, "done": 11, "sever": 11, "simplest": 11, "produc": 11, "ansi": 11, "hfss": 11, "myobject": 11, "path_to_touchston": 11, "anoth": 11, "tabl": 11, "manual": 11, "fhz": 11, "main": 11, "port1": 11, "a1": 11, "vamx": 11, "newzbas": 11, "convert_zbas": 11, "target": 11, "lossless": 11, "assum": 11, "pass": 11, "slot": 11, "wrapper": 11, "__lt__": 11, "mar": [], "gnd": 11, "identifi": 11, "could": 11, "log": 11, "warn": 11, "total": 11, "72": 11, "axi": 11, "intiti": 11, "estim": 11, "nth": 11, "wavelength": 11, "taken": 11, "initi": 11, "refin": 11, "fit": 11, "necessari": 11, "odeparam": 11, "rtol": 11, "atol": 11, "figur": 11, "constant": 11, "split": 11, "len": 11, "segment": 11, "piec": [1, 11], "wise": 11, "linear": 11, "vari": 11, "paramt": 11, "continu": 11, "long": 11, "treat": 11, "boundari": 11, "linarli": 11, "interpol": 11, "extrapol": 11, "nearest": 11, "invok": 11, "solver": 11, "equat": 11, "otherwis": 11, "propag": 11, "deriv": 11, "form": 11, "global": 11, "ltl": 11, "ctl": 11, "capacit": 11, "rtl": 11, "rtlo": 11, "conductor": 11, "rtli": 11, "mho": 11, "medium": 11, "conduct": 11, "attenu": 11, "adb": 11, "db": 11, "specif": 11, "rhoo": 11, "rhoi": 11, "muro": 11, "mu0": 11, "permeabl": 11, "muri": 11, "properi": 11, "sigma": 11, "tand": 11, "dielectr": 11, "loss": 11, "tangent": 11, "epsr": 11, "epsilon0": 11, "permit": 11, "mur": 11, "etar": 11, "eta0": 11, "c0": 11, "veloc": 11, "geometr": 11, "circular": 11, "qtl": 11, "w": 11, "qtlo": 11, "qtli": 11, "nice": 11, "describ": 11, "mandatori": 11, "expand": 11, "remov": [1, 11], "condit": 11, "i0": 11, "see": 11, "prior": 11, "integr": 11, "odeint": 11, "atribut": 11, "non": [1, 11], "correctli": 11, "telegraph": 11, "sink": 11, "u": 11, "14": [], "adict": 11, "t0": 11, "pname": 11, "dframe": 11, "mathemat": 1, "affect": 1, "behavior": 1, "commonli": 1, "vna": 1, "dut": 1, "board": 1, "trace": 1, "backplan": 1, "channel": 1, "semiconductor": 1, "connector": 1, "discret": 1, "andrea": 1, "henkel": 1, "product": 1, "manag": 1, "network": 1, "analysi": 1, "rohd": 1, "schwarz": 1, "iter": 11, "descriptor": 11, "git": [], "http": [], "github": [], "lpp": [], "erm": [], "km": [], "strap": 1, "a2ca1_l": 1, "1715": 1, "a2ca1_z": 1, "t2cs1_l": 1, "121": 1, "t2cs1_z": 1, "tsstrap": 1, "ref_geo": 1, "200": 1, "diel_ep": 1, "0500": 1, "avoid": 1, "divis": 1, "arc": [], "detect": [], "download": [], "doc": [], "dowload": []}, "objects": {"": [[11, 0, 0, "-", "pyRFtk"]], "pyRFtk": [[11, 0, 0, "-", "ConvertGeneral"], [11, 0, 0, "-", "ReadDictData"], [11, 0, 0, "-", "ReadTSF"], [11, 0, 0, "-", "S_from_VI"], [11, 0, 0, "-", "S_from_Y"], [11, 0, 0, "-", "S_from_Z"], [11, 0, 0, "-", "Y_from_S"], [11, 0, 0, "-", "Z_from_S"], [11, 0, 0, "-", "circuit"], [11, 0, 0, "-", "codebase"], [11, 0, 0, "-", "compareSs"], [11, 0, 0, "-", "config"], [11, 0, 0, "-", "findpath"], [11, 0, 0, "-", "getlines"], [11, 0, 0, "-", "maxfun"], [11, 0, 0, "-", "plotVSWs"], [11, 0, 0, "-", "printMatrices"], [11, 0, 0, "-", "resolveTLparams"], [11, 0, 0, "-", "rfArcObj"], [11, 0, 0, "-", "rfBase"], [11, 0, 0, "-", "rfCircuit"], [11, 0, 0, "-", "rfGTL"], [11, 0, 0, "-", "rfObject"], [11, 0, 0, "-", "rfRLC"], [11, 0, 0, "-", "rfTRL"], [11, 0, 0, "-", "str_dict"], [11, 0, 0, "-", "tictoc"], [11, 0, 0, "-", "whoami"]], "pyRFtk.ConvertGeneral": [[11, 1, 1, "", "ConvertGeneral"]], "pyRFtk.ReadDictData": [[11, 1, 1, "", "ReadDictData"], [11, 1, 1, "", "ReadDictString"]], "pyRFtk.ReadTSF": [[11, 1, 1, "", "ReadTSF"]], "pyRFtk.S_from_VI": [[11, 1, 1, "", "S_from_VI"]], "pyRFtk.S_from_Y": [[11, 1, 1, "", "S_from_Y"]], "pyRFtk.S_from_Z": [[11, 1, 1, "", "S_from_Z"]], "pyRFtk.Y_from_S": [[11, 1, 1, "", "Y_from_S"]], "pyRFtk.Z_from_S": [[11, 1, 1, "", "Z_from_S"]], "pyRFtk.circuit": [[11, 2, 1, "", "circuit"]], "pyRFtk.circuit.circuit": [[11, 3, 1, "", "Get_internalSmatrix"], [11, 3, 1, "", "Solution"], [11, 3, 1, "", "addblock"], [11, 3, 1, "", "connect"], [11, 3, 1, "", "copy"], [11, 3, 1, "", "extS"], [11, 3, 1, "", "getS"], [11, 3, 1, "", "listBlocks"], [11, 3, 1, "", "maxV"], [11, 3, 1, "", "set"], [11, 3, 1, "", "solve"], [11, 3, 1, "", "terminate"]], "pyRFtk.codebase": [[11, 1, 1, "", "list1dir"]], "pyRFtk.compareSs": [[11, 1, 1, "", "compareSs"]], "pyRFtk.config": [[11, 1, 1, "", "CleanUpLogFile"], [11, 1, 1, "", "fscale"], [11, 1, 1, "", "get_class_that_defined_method"], [11, 1, 1, "", "ident"], [11, 1, 1, "", "logident"], [11, 1, 1, "", "setLogLevel"]], "pyRFtk.findpath": [[11, 1, 1, "", "existspath"], [11, 1, 1, "", "findpath"]], "pyRFtk.getlines": [[11, 1, 1, "", "getlines"]], "pyRFtk.maxfun": [[11, 1, 1, "", "maxfun"]], "pyRFtk.plotVSWs": [[11, 1, 1, "", "plotVSWs"], [11, 1, 1, "", "scaleVSW"], [11, 1, 1, "", "strVSW"]], "pyRFtk.printMatrices": [[11, 1, 1, "", "printDB"], [11, 1, 1, "", "printM"], [11, 1, 1, "", "printMA"], [11, 1, 1, "", "printR"], [11, 1, 1, "", "printRI"], [11, 1, 1, "", "strM"]], "pyRFtk.resolveTLparams": [[11, 2, 1, "", "TLresolver"]], "pyRFtk.rfArcObj": [[11, 2, 1, "", "rfArcObj"]], "pyRFtk.rfArcObj.rfArcObj": [[11, 3, 1, "", "get1S"]], "pyRFtk.rfBase": [[11, 1, 1, "", "add_debug_code"], [11, 2, 1, "", "rfBase"]], "pyRFtk.rfBase.rfBase": [[11, 3, 1, "", "asstr"], [11, 3, 1, "", "copy"], [11, 3, 1, "", "get1S"], [11, 3, 1, "", "getS"], [11, 3, 1, "", "maxV"], [11, 3, 1, "", "set"], [11, 3, 1, "", "tsf2str"], [11, 3, 1, "", "write_tsf"]], "pyRFtk.rfCircuit": [[11, 2, 1, "", "rfCircuit"]], "pyRFtk.rfCircuit.rfCircuit": [[11, 3, 1, "", "Get_internalSmatrix"], [11, 3, 1, "", "Solution"], [11, 3, 1, "", "addblock"], [11, 3, 1, "", "connect"], [11, 3, 1, "", "deembed"], [11, 3, 1, "", "extS"], [11, 3, 1, "", "findObj"], [11, 3, 1, "", "getS"], [11, 3, 1, "", "getpos"], [11, 3, 1, "", "listBlocks"], [11, 3, 1, "", "maxV"], [11, 3, 1, "", "resolve_xpos"], [11, 3, 1, "", "set"], [11, 3, 1, "", "solve"], [11, 3, 1, "", "terminate"]], "pyRFtk.rfGTL": [[11, 1, 1, "", "processGTL"], [11, 2, 1, "", "rfGTL"]], "pyRFtk.rfGTL.rfGTL": [[11, 3, 1, "", "copy"], [11, 3, 1, "", "getS"], [11, 3, 1, "", "getSgtl"]], "pyRFtk.rfObject": [[11, 2, 1, "", "rfObject"]], "pyRFtk.rfObject.rfObject": [[11, 3, 1, "", "S_from_Y"], [11, 3, 1, "", "S_from_Z"], [11, 3, 1, "", "convert2newZbase"], [11, 3, 1, "", "copy"], [11, 3, 1, "", "deembed"], [11, 3, 1, "", "getS"], [11, 3, 1, "", "maxV"], [11, 3, 1, "", "process_kwargs"], [11, 3, 1, "", "read_tsf"], [11, 3, 1, "", "setS"], [11, 3, 1, "", "sortports"]], "pyRFtk.rfRLC": [[11, 2, 1, "", "rfRLC"]], "pyRFtk.rfRLC.rfRLC": [[11, 3, 1, "", "asstr"], [11, 3, 1, "", "copy"], [11, 3, 1, "", "getS"], [11, 3, 1, "", "maxV"], [11, 3, 1, "", "set"]], "pyRFtk.rfTRL": [[11, 2, 1, "", "rfTRL"]], "pyRFtk.rfTRL.rfTRL": [[11, 3, 1, "", "VISWs"], [11, 3, 1, "", "asstr"], [11, 3, 1, "", "copy"], [11, 3, 1, "", "getS"], [11, 3, 1, "", "maxV"], [11, 3, 1, "", "set"], [11, 3, 1, "", "solveVI"]], "pyRFtk.str_dict": [[11, 1, 1, "", "str_dict"]], "pyRFtk.tictoc": [[11, 1, 1, "", "tic"], [11, 1, 1, "", "toc"]], "pyRFtk.whoami": [[11, 1, 1, "", "whoami"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"deembed": 1, "exampl": 2, "instal": 3, "pip": 3, "sourc": 3, "depend": 3, "introduct": 4, "touchston": 6, "file": 6, "tutori": 7, "": [8, 9], "matrix": 8, "combin": 8, "circuit": [8, 11], "multipl": 8, "port": 8, "log": [5, 8], "welcom": 9, "pyrftk": [9, 10, 11], "document": 9, "content": [9, 11], "indic": 9, "tabl": 9, "packag": 11, "submodul": 11, "convertgener": 11, "modul": 11, "readdictdata": 11, "readtsf": 11, "s_from_vi": 11, "s_from_i": 11, "s_from_z": 11, "y_from_": 11, "z_from_": 11, "codebas": 11, "comparess": 11, "config": 11, "findpath": 11, "getlin": 11, "maxfun": 11, "plotvsw": 11, "printmatric": 11, "resolvetlparam": 11, "rf3dbhybrid": 11, "rfarcobj": 11, "rfbase": 11, "rfcircuit": 11, "rfgtl": 11, "rfobject": 11, "rfrlc": 11, "rftrl": 11, "str_dict": 11, "tictoc": 11, "whoami": 11, "arc": 0, "detect": 0}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Introduction": [[4, "introduction"]], "S-matrix and combining circuits": [[8, "s-matrix-and-combining-circuits"]], "Multiple ports and Logging": [[8, "multiple-ports-and-logging"]], "Welcome to pyRFtk\u2019s documentation!": [[9, "welcome-to-pyrftk-s-documentation"]], "Contents": [[9, "contents"]], "Indices and tables": [[9, "indices-and-tables"]], "pyRFtk": [[10, "pyrftk"]], "Tutorials": [[7, "tutorials"]], "Arc Detection": [[0, "arc-detection"]], "Deembedding": [[1, "deembedding"]], "Logging": [[5, "logging"]], "Examples": [[2, "examples"]], "Installation": [[3, "installation"]], "Pip": [[3, "pip"]], "Source": [[3, "source"]], "Dependencies": [[3, "dependencies"]], "Touchstone files": [[6, "touchstone-files"]], "pyRFtk package": [[11, "pyrftk-package"]], "Submodules": [[11, "submodules"]], "pyRFtk.ConvertGeneral module": [[11, "module-pyRFtk.ConvertGeneral"]], "pyRFtk.ReadDictData module": [[11, "module-pyRFtk.ReadDictData"]], "pyRFtk.ReadTSF module": [[11, "module-pyRFtk.ReadTSF"]], "pyRFtk.S_from_VI module": [[11, "module-pyRFtk.S_from_VI"]], "pyRFtk.S_from_Y module": [[11, "module-pyRFtk.S_from_Y"]], "pyRFtk.S_from_Z module": [[11, "module-pyRFtk.S_from_Z"]], "pyRFtk.Y_from_S module": [[11, "module-pyRFtk.Y_from_S"]], "pyRFtk.Z_from_S module": [[11, "module-pyRFtk.Z_from_S"]], "pyRFtk.circuit module": [[11, "module-pyRFtk.circuit"]], "pyRFtk.codebase module": [[11, "module-pyRFtk.codebase"]], "pyRFtk.compareSs module": [[11, "module-pyRFtk.compareSs"]], "pyRFtk.config module": [[11, "module-pyRFtk.config"]], "pyRFtk.findpath module": [[11, "module-pyRFtk.findpath"]], "pyRFtk.getlines module": [[11, "module-pyRFtk.getlines"]], "pyRFtk.maxfun module": [[11, "module-pyRFtk.maxfun"]], "pyRFtk.plotVSWs module": [[11, "module-pyRFtk.plotVSWs"]], "pyRFtk.printMatrices module": [[11, "module-pyRFtk.printMatrices"]], "pyRFtk.resolveTLparams module": [[11, "module-pyRFtk.resolveTLparams"]], "pyRFtk.rf3dBHybrid module": [[11, "pyrftk-rf3dbhybrid-module"]], "pyRFtk.rfArcObj module": [[11, "module-pyRFtk.rfArcObj"]], "pyRFtk.rfBase module": [[11, "module-pyRFtk.rfBase"]], "pyRFtk.rfCircuit module": [[11, "module-pyRFtk.rfCircuit"]], "pyRFtk.rfGTL module": [[11, "module-pyRFtk.rfGTL"]], "pyRFtk.rfObject module": [[11, "module-pyRFtk.rfObject"]], "pyRFtk.rfRLC module": [[11, "module-pyRFtk.rfRLC"]], "pyRFtk.rfTRL module": [[11, "module-pyRFtk.rfTRL"]], "pyRFtk.str_dict module": [[11, "module-pyRFtk.str_dict"]], "pyRFtk.tictoc module": [[11, "module-pyRFtk.tictoc"]], "pyRFtk.whoami module": [[11, "module-pyRFtk.whoami"]], "Module contents": [[11, "module-pyRFtk"]]}, "indexentries": {"cleanuplogfile() (in module pyrftk.config)": [[11, "pyRFtk.config.CleanUpLogFile"]], "convertgeneral() (in module pyrftk.convertgeneral)": [[11, "pyRFtk.ConvertGeneral.ConvertGeneral"]], "get_internalsmatrix() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.Get_internalSmatrix"]], "get_internalsmatrix() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.Get_internalSmatrix"]], "readdictdata() (in module pyrftk.readdictdata)": [[11, "pyRFtk.ReadDictData.ReadDictData"]], "readdictstring() (in module pyrftk.readdictdata)": [[11, "pyRFtk.ReadDictData.ReadDictString"]], "readtsf() (in module pyrftk.readtsf)": [[11, "pyRFtk.ReadTSF.ReadTSF"]], "s_from_vi() (in module pyrftk.s_from_vi)": [[11, "pyRFtk.S_from_VI.S_from_VI"]], "s_from_y() (in module pyrftk.s_from_y)": [[11, "pyRFtk.S_from_Y.S_from_Y"]], "s_from_y() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.S_from_Y"]], "s_from_z() (in module pyrftk.s_from_z)": [[11, "pyRFtk.S_from_Z.S_from_Z"]], "s_from_z() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.S_from_Z"]], "solution() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.Solution"]], "solution() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.Solution"]], "tlresolver (class in pyrftk.resolvetlparams)": [[11, "pyRFtk.resolveTLparams.TLresolver"]], "visws() (pyrftk.rftrl.rftrl method)": [[11, "pyRFtk.rfTRL.rfTRL.VISWs"]], "y_from_s() (in module pyrftk.y_from_s)": [[11, "pyRFtk.Y_from_S.Y_from_S"]], "z_from_s() (in module pyrftk.z_from_s)": [[11, "pyRFtk.Z_from_S.Z_from_S"]], "add_debug_code() (in module pyrftk.rfbase)": [[11, "pyRFtk.rfBase.add_debug_code"]], "addblock() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.addblock"]], "addblock() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.addblock"]], "asstr() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.asstr"]], "asstr() (pyrftk.rfrlc.rfrlc method)": [[11, "pyRFtk.rfRLC.rfRLC.asstr"]], "asstr() (pyrftk.rftrl.rftrl method)": [[11, "pyRFtk.rfTRL.rfTRL.asstr"]], "circuit (class in pyrftk.circuit)": [[11, "pyRFtk.circuit.circuit"]], "comparess() (in module pyrftk.comparess)": [[11, "pyRFtk.compareSs.compareSs"]], "connect() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.connect"]], "connect() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.connect"]], "convert2newzbase() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.convert2newZbase"]], "copy() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.copy"]], "copy() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.copy"]], "copy() (pyrftk.rfgtl.rfgtl method)": [[11, "pyRFtk.rfGTL.rfGTL.copy"]], "copy() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.copy"]], "copy() (pyrftk.rfrlc.rfrlc method)": [[11, "pyRFtk.rfRLC.rfRLC.copy"]], "copy() (pyrftk.rftrl.rftrl method)": [[11, "pyRFtk.rfTRL.rfTRL.copy"]], "deembed() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.deembed"]], "deembed() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.deembed"]], "existspath() (in module pyrftk.findpath)": [[11, "pyRFtk.findpath.existspath"]], "exts() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.extS"]], "exts() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.extS"]], "findobj() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.findObj"]], "findpath() (in module pyrftk.findpath)": [[11, "pyRFtk.findpath.findpath"]], "fscale() (in module pyrftk.config)": [[11, "pyRFtk.config.fscale"]], "get1s() (pyrftk.rfarcobj.rfarcobj method)": [[11, "pyRFtk.rfArcObj.rfArcObj.get1S"]], "get1s() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.get1S"]], "gets() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.getS"]], "gets() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.getS"]], "gets() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.getS"]], "gets() (pyrftk.rfgtl.rfgtl method)": [[11, "pyRFtk.rfGTL.rfGTL.getS"]], "gets() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.getS"]], "gets() (pyrftk.rfrlc.rfrlc method)": [[11, "pyRFtk.rfRLC.rfRLC.getS"]], "gets() (pyrftk.rftrl.rftrl method)": [[11, "pyRFtk.rfTRL.rfTRL.getS"]], "getsgtl() (pyrftk.rfgtl.rfgtl method)": [[11, "pyRFtk.rfGTL.rfGTL.getSgtl"]], "get_class_that_defined_method() (in module pyrftk.config)": [[11, "pyRFtk.config.get_class_that_defined_method"]], "getlines() (in module pyrftk.getlines)": [[11, "pyRFtk.getlines.getlines"]], "getpos() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.getpos"]], "ident() (in module pyrftk.config)": [[11, "pyRFtk.config.ident"]], "list1dir() (in module pyrftk.codebase)": [[11, "pyRFtk.codebase.list1dir"]], "listblocks() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.listBlocks"]], "listblocks() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.listBlocks"]], "logident() (in module pyrftk.config)": [[11, "pyRFtk.config.logident"]], "maxv() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.maxV"]], "maxv() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.maxV"]], "maxv() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.maxV"]], "maxv() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.maxV"]], "maxv() (pyrftk.rfrlc.rfrlc method)": [[11, "pyRFtk.rfRLC.rfRLC.maxV"]], "maxv() (pyrftk.rftrl.rftrl method)": [[11, "pyRFtk.rfTRL.rfTRL.maxV"]], "maxfun() (in module pyrftk.maxfun)": [[11, "pyRFtk.maxfun.maxfun"]], "module": [[11, "module-pyRFtk"], [11, "module-pyRFtk.ConvertGeneral"], [11, "module-pyRFtk.ReadDictData"], [11, "module-pyRFtk.ReadTSF"], [11, "module-pyRFtk.S_from_VI"], [11, "module-pyRFtk.S_from_Y"], [11, "module-pyRFtk.S_from_Z"], [11, "module-pyRFtk.Y_from_S"], [11, "module-pyRFtk.Z_from_S"], [11, "module-pyRFtk.circuit"], [11, "module-pyRFtk.codebase"], [11, "module-pyRFtk.compareSs"], [11, "module-pyRFtk.config"], [11, "module-pyRFtk.findpath"], [11, "module-pyRFtk.getlines"], [11, "module-pyRFtk.maxfun"], [11, "module-pyRFtk.plotVSWs"], [11, "module-pyRFtk.printMatrices"], [11, "module-pyRFtk.resolveTLparams"], [11, "module-pyRFtk.rfArcObj"], [11, "module-pyRFtk.rfBase"], [11, "module-pyRFtk.rfCircuit"], [11, "module-pyRFtk.rfGTL"], [11, "module-pyRFtk.rfObject"], [11, "module-pyRFtk.rfRLC"], [11, "module-pyRFtk.rfTRL"], [11, "module-pyRFtk.str_dict"], [11, "module-pyRFtk.tictoc"], [11, "module-pyRFtk.whoami"]], "plotvsws() (in module pyrftk.plotvsws)": [[11, "pyRFtk.plotVSWs.plotVSWs"]], "printdb() (in module pyrftk.printmatrices)": [[11, "pyRFtk.printMatrices.printDB"]], "printm() (in module pyrftk.printmatrices)": [[11, "pyRFtk.printMatrices.printM"]], "printma() (in module pyrftk.printmatrices)": [[11, "pyRFtk.printMatrices.printMA"]], "printr() (in module pyrftk.printmatrices)": [[11, "pyRFtk.printMatrices.printR"]], "printri() (in module pyrftk.printmatrices)": [[11, "pyRFtk.printMatrices.printRI"]], "processgtl() (in module pyrftk.rfgtl)": [[11, "pyRFtk.rfGTL.processGTL"]], "process_kwargs() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.process_kwargs"]], "pyrftk": [[11, "module-pyRFtk"]], "pyrftk.convertgeneral": [[11, "module-pyRFtk.ConvertGeneral"]], "pyrftk.readdictdata": [[11, "module-pyRFtk.ReadDictData"]], "pyrftk.readtsf": [[11, "module-pyRFtk.ReadTSF"]], "pyrftk.s_from_vi": [[11, "module-pyRFtk.S_from_VI"]], "pyrftk.s_from_y": [[11, "module-pyRFtk.S_from_Y"]], "pyrftk.s_from_z": [[11, "module-pyRFtk.S_from_Z"]], "pyrftk.y_from_s": [[11, "module-pyRFtk.Y_from_S"]], "pyrftk.z_from_s": [[11, "module-pyRFtk.Z_from_S"]], "pyrftk.circuit": [[11, "module-pyRFtk.circuit"]], "pyrftk.codebase": [[11, "module-pyRFtk.codebase"]], "pyrftk.comparess": [[11, "module-pyRFtk.compareSs"]], "pyrftk.config": [[11, "module-pyRFtk.config"]], "pyrftk.findpath": [[11, "module-pyRFtk.findpath"]], "pyrftk.getlines": [[11, "module-pyRFtk.getlines"]], "pyrftk.maxfun": [[11, "module-pyRFtk.maxfun"]], "pyrftk.plotvsws": [[11, "module-pyRFtk.plotVSWs"]], "pyrftk.printmatrices": [[11, "module-pyRFtk.printMatrices"]], "pyrftk.resolvetlparams": [[11, "module-pyRFtk.resolveTLparams"]], "pyrftk.rfarcobj": [[11, "module-pyRFtk.rfArcObj"]], "pyrftk.rfbase": [[11, "module-pyRFtk.rfBase"]], "pyrftk.rfcircuit": [[11, "module-pyRFtk.rfCircuit"]], "pyrftk.rfgtl": [[11, "module-pyRFtk.rfGTL"]], "pyrftk.rfobject": [[11, "module-pyRFtk.rfObject"]], "pyrftk.rfrlc": [[11, "module-pyRFtk.rfRLC"]], "pyrftk.rftrl": [[11, "module-pyRFtk.rfTRL"]], "pyrftk.str_dict": [[11, "module-pyRFtk.str_dict"]], "pyrftk.tictoc": [[11, "module-pyRFtk.tictoc"]], "pyrftk.whoami": [[11, "module-pyRFtk.whoami"]], "read_tsf() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.read_tsf"]], "resolve_xpos() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.resolve_xpos"]], "rfarcobj (class in pyrftk.rfarcobj)": [[11, "pyRFtk.rfArcObj.rfArcObj"]], "rfbase (class in pyrftk.rfbase)": [[11, "pyRFtk.rfBase.rfBase"]], "rfcircuit (class in pyrftk.rfcircuit)": [[11, "pyRFtk.rfCircuit.rfCircuit"]], "rfgtl (class in pyrftk.rfgtl)": [[11, "pyRFtk.rfGTL.rfGTL"]], "rfobject (class in pyrftk.rfobject)": [[11, "pyRFtk.rfObject.rfObject"]], "rfrlc (class in pyrftk.rfrlc)": [[11, "pyRFtk.rfRLC.rfRLC"]], "rftrl (class in pyrftk.rftrl)": [[11, "pyRFtk.rfTRL.rfTRL"]], "scalevsw() (in module pyrftk.plotvsws)": [[11, "pyRFtk.plotVSWs.scaleVSW"]], "set() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.set"]], "set() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.set"]], "set() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.set"]], "set() (pyrftk.rfrlc.rfrlc method)": [[11, "pyRFtk.rfRLC.rfRLC.set"]], "set() (pyrftk.rftrl.rftrl method)": [[11, "pyRFtk.rfTRL.rfTRL.set"]], "setloglevel() (in module pyrftk.config)": [[11, "pyRFtk.config.setLogLevel"]], "sets() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.setS"]], "solve() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.solve"]], "solve() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.solve"]], "solvevi() (pyrftk.rftrl.rftrl method)": [[11, "pyRFtk.rfTRL.rfTRL.solveVI"]], "sortports() (pyrftk.rfobject.rfobject method)": [[11, "pyRFtk.rfObject.rfObject.sortports"]], "strm() (in module pyrftk.printmatrices)": [[11, "pyRFtk.printMatrices.strM"]], "strvsw() (in module pyrftk.plotvsws)": [[11, "pyRFtk.plotVSWs.strVSW"]], "str_dict() (in module pyrftk.str_dict)": [[11, "pyRFtk.str_dict.str_dict"]], "terminate() (pyrftk.circuit.circuit method)": [[11, "pyRFtk.circuit.circuit.terminate"]], "terminate() (pyrftk.rfcircuit.rfcircuit method)": [[11, "pyRFtk.rfCircuit.rfCircuit.terminate"]], "tic() (in module pyrftk.tictoc)": [[11, "pyRFtk.tictoc.tic"]], "toc() (in module pyrftk.tictoc)": [[11, "pyRFtk.tictoc.toc"]], "tsf2str() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.tsf2str"]], "whoami() (in module pyrftk.whoami)": [[11, "pyRFtk.whoami.whoami"]], "write_tsf() (pyrftk.rfbase.rfbase method)": [[11, "pyRFtk.rfBase.rfBase.write_tsf"]]}})
@@ -2,21 +2,11 @@ Installation
2
2
  ==================================
3
3
  Pip
4
4
  ---
5
- The program has a pre-build version which can be installed using pip, as this program is not yet made available in the python database,
6
- to install the program you'll have to first clone the repository:
5
+ The program has a pre-build version which can be installed using pip:
7
6
 
8
7
  .. code-block::
9
8
 
10
- git clone https://github.com/LPP-ERM-KMS/pyRFtk.git
11
-
12
- Then navigate to the folder "dist" where the
13
- install file is located, and run
14
-
15
- .. code-block::
16
-
17
- (.venv) $pip install pyrftk2-2.0.0-py3-none-any.whl
18
-
19
- which installs the program
9
+ pip install pyRFtk
20
10
 
21
11
  Source
22
12
  ------
@@ -3,14 +3,14 @@ requires = ["hatchling","numpy","matplotlib","logging"]
3
3
  build-backend = "hatchling.build"
4
4
  [project]
5
5
  name = "pyRFtk"
6
- version = "2.0.0"
6
+ version = "2.0.2"
7
7
  authors = [
8
8
  { name="Frederic Durodie", email="frederic.durodie@rma.ac.be" },
9
9
  { name="Arthur Adriaens", email="arthur.adriaens@mil.be" },
10
10
  ]
11
11
  description = "Design tool for RF antennae networks"
12
12
  readme = "README.md"
13
- requires-python = ">=3.10"
13
+ requires-python = ">=3.8"
14
14
  classifiers = [
15
15
  "Programming Language :: Python",
16
16
  "Operating System :: OS Independent",
@@ -0,0 +1,67 @@
1
+ DEBUG - config.py setLogLevel [ 39]: Change loglevel from CRITICAL to DEBUG
2
+ DEBUG - rfCircuit.py __init__ [ 60]: [ 0] > __init__
3
+ DEBUG - rfBase.py __init__ [ 70]: [ 1] | > __init__
4
+ DEBUG - rfBase.py __init__ [ 114]: [ 2] | | self.fs=[]
5
+ DEBUG - rfBase.py __init__ [ 138]: [ 1] | < __init__
6
+ DEBUG - rfCircuit.py __init__ [ 110]: [ 0] < __init__
7
+ DEBUG - rfCircuit.py addblock [ 533]: [ 0] > [circuit.addblock] name= TL1, RFobj= rfTRL_1, ports= None, params={}, kwargs= {}
8
+ DEBUG - rfCircuit.py addblock [ 698]: [ 0] < [circuit.addblock] (inserted a new block)
9
+ DEBUG - rfCircuit.py addblock [ 533]: [ 0] > [circuit.addblock] name= TL2, RFobj= rfTRL_1, ports= None, params={}, kwargs= {}
10
+ DEBUG - rfCircuit.py addblock [ 698]: [ 0] < [circuit.addblock] (inserted a new block)
11
+ DEBUG - rfCircuit.py connect [ 748]: [ 0] > [circuit.connect] ports= ('TL1.1', 'TL2.1', '1')
12
+ DEBUG - rfCircuit.py connect [ 821]: [ 0] < [circuit.connect]
13
+ DEBUG - rfCircuit.py connect [ 748]: [ 0] > [circuit.connect] ports= ('TL1.2', 'TL2.2', '2')
14
+ DEBUG - rfCircuit.py connect [ 821]: [ 0] < [circuit.connect]
15
+ DEBUG - rfCircuit.py getS [ 1203]: [ 0] > [circuit.getS] fs= 10000000.0, Zbase= None, params= {}, flags= {}
16
+ DEBUG - rfCircuit.py get1S [ 1228]: [ 1] | not using sNp: no sNp
17
+ DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL1
18
+ DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL2
19
+ DEBUG - rfCircuit.py extS [ 949]: [ 1] | > [circuit.extS]
20
+ DEBUG - rfCircuit.py extS [ 955]: [ 2] | | M is not square (10, 12)
21
+ DEBUG - rfCircuit.py extS [ 993]: [ 2] | | Portnames= ['1', '2']
22
+ DEBUG - rfCircuit.py extS [ 994]: [ 2] | | ports= ['1', '2']
23
+ DEBUG - rfCircuit.py extS [ 1021]: [ 2] | | S:
24
+ DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | [2,2]
25
+ DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | 0.15417 -104.89°, 0.98804 -14.89°,
26
+ DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | 0.98804 -14.89°, 0.15417 -104.89°,
27
+ DEBUG - rfCircuit.py extS [ 1030]: [ 1] | < [circuit.extS]
28
+ DEBUG - rfCircuit.py getS [ 1282]: [ 1] | Ss: 1 matrix
29
+ DEBUG - rfCircuit.py getS [ 1286]: [ 1] | f= 10000000.0 Hz
30
+ DEBUG - rfCircuit.py getS [ 1293]: [ 1] | [2,2]
31
+ DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 0.15417 -104.89°, 0.98804 -14.89°,
32
+ DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 0.98804 -14.89°, 0.15417 -104.89°,
33
+ DEBUG - rfCircuit.py getS [ 1295]: [ 0] < [circuit.getS]
34
+ DEBUG - rfCircuit.py <lambda> [ 840]: [ 0] > [circuit.terminate] port= "1", kwargs= {'Z': 0}
35
+ DEBUG - rfCircuit.py terminate [ 883]: [ 1] | port was an external port
36
+ DEBUG - rfCircuit.py <lambda> [ 840]: [ 1] | "1" -> idxA: 8, idxB: 9
37
+ DEBUG - rfCircuit.py terminate [ 885]: [ 1] | self.E["1"] = 10
38
+ DEBUG - rfCircuit.py terminate [ 888]: [ 1] | self.M[8] -> (1+0j)
39
+ DEBUG - rfCircuit.py terminate [ 934]: [ 0] < [circuit.terminate]
40
+ DEBUG - rfCircuit.py getS [ 1203]: [ 0] > [circuit.getS] fs= 10000000.0, Zbase= None, params= {}, flags= {}
41
+ DEBUG - rfCircuit.py get1S [ 1228]: [ 1] | not using sNp: no sNp
42
+ DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL1
43
+ DEBUG - rfCircuit.py get1S [ 1235]: [ 1] | getting S for TL2
44
+ DEBUG - rfCircuit.py extS [ 949]: [ 1] | > [circuit.extS]
45
+ DEBUG - rfCircuit.py extS [ 993]: [ 2] | | Portnames= ['2']
46
+ DEBUG - rfCircuit.py extS [ 994]: [ 2] | | ports= ['2']
47
+ DEBUG - rfCircuit.py extS [ 1021]: [ 2] | | S:
48
+ DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | [1,1]
49
+ DEBUG - rfCircuit.py extS [ 1028]: [ 2] | | 1.00000 +167.86°,
50
+ DEBUG - rfCircuit.py extS [ 1030]: [ 1] | < [circuit.extS]
51
+ DEBUG - rfCircuit.py getS [ 1282]: [ 1] | Ss: 1 matrix
52
+ DEBUG - rfCircuit.py getS [ 1286]: [ 1] | f= 10000000.0 Hz
53
+ DEBUG - rfCircuit.py getS [ 1293]: [ 1] | [1,1]
54
+ DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 1.00000 +167.86°,
55
+ DEBUG - rfCircuit.py getS [ 1295]: [ 0] < [circuit.getS]
56
+ DEBUG - rfCircuit.py getS [ 1203]: [ 0] > [circuit.getS] fs= 10000000.0, Zbase= None, params= {}, flags= {}
57
+ DEBUG - rfCircuit.py get1S [ 1228]: [ 1] | not using sNp: no sNp
58
+ DEBUG - rfCircuit.py getS [ 1282]: [ 1] | Ss: 1 matrix
59
+ DEBUG - rfCircuit.py getS [ 1286]: [ 1] | f= 10000000.0 Hz
60
+ DEBUG - rfCircuit.py getS [ 1293]: [ 1] | [1,1]
61
+ DEBUG - rfCircuit.py getS [ 1293]: [ 1] | 1.00000 +167.86°,
62
+ DEBUG - rfCircuit.py getS [ 1295]: [ 0] < [circuit.getS]
63
+ DEBUG - rfCircuit.py __init__ [ 60]: [ 0] > __init__
64
+ DEBUG - rfBase.py __init__ [ 70]: [ 1] | > __init__
65
+ DEBUG - rfBase.py __init__ [ 114]: [ 2] | | self.fs=[]
66
+ DEBUG - rfBase.py __init__ [ 138]: [ 1] | < __init__
67
+ DEBUG - rfCircuit.py __init__ [ 110]: [ 0] < __init__
@@ -1,4 +1,4 @@
1
- __updated__ = "2023-09-21 12:05:32"
1
+ __updated__ = "2023-09-22 15:55:47"
2
2
 
3
3
  from .config import tLogger, setLogLevel, logit, ident, _newID, logident
4
4
  from .rfBase import rfBase
@@ -1,10 +1,9 @@
1
- __updated__ = '2022-10-27 10:36:29'
1
+ __updated__ = '2023-11-08 13:25:07'
2
2
 
3
3
  import numpy as np
4
4
  import matplotlib.pyplot as plt
5
5
 
6
6
  from pyRFtk.config import setLogLevel, logit, tLogger, ident
7
- from pyRFtk.str_dict import str_dict
8
7
 
9
8
  #===============================================================================
10
9
  #
@@ -255,6 +254,7 @@ def strVSW(VSW, indent=0):
255
254
  if __name__ == '__main__':
256
255
  import pickle
257
256
  from pprint import pprint
257
+ # from . import str_dict
258
258
 
259
259
  with open('../../pyRFtk test/Launcher_VSWs.bin','rb') as f:
260
260
  VSWs = pickle.load(f)
@@ -1,4 +1,4 @@
1
- __updated__ = "2021-11-04 14:53:51"
1
+ __updated__ = "2023-11-09 11:11:56"
2
2
 
3
3
  from inspect import signature
4
4
 
@@ -255,7 +255,7 @@ class TLresolver():
255
255
  # resonable assumptions as we found nothing until now ...
256
256
  ('mur', (), 0., _ct_1_), #53
257
257
  ('epsr', (), 0., _ct_1_), #54
258
- ('Z0TL', (), 0., lambda w, x: self.Zbase), #55
258
+ ('Z0TL', (), 0., lambda w=0, x=0: self.Zbase), #55
259
259
  #-- ----------------------------------------------------------- --
260
260
  # these are a bit iffy but in case there is nothing else ...
261
261
 
@@ -1,4 +1,4 @@
1
- __updated__ = '2022-04-18 08:27:39'
1
+ __updated__ = '2023-11-07 16:56:18'
2
2
 
3
3
  if __name__ == '__main__':
4
4
  import sys
@@ -215,7 +215,7 @@ class rfBase():
215
215
  """set attributes of the object if present
216
216
  """
217
217
  modified = False
218
- for kw, val in kwargs:
218
+ for kw, val in kwargs.items():
219
219
  try:
220
220
  if kw in self.attrs:
221
221
  if hasattr(self, kw):
@@ -1,4 +1,4 @@
1
- __updated__ = "2023-09-22 13:39:21"
1
+ __updated__ = "2023-11-09 10:00:05"
2
2
 
3
3
  import numpy as np
4
4
  import matplotlib.pyplot as plt
@@ -753,6 +753,8 @@ class rfCircuit(rfBase):
753
753
 
754
754
  # create possibly missing nodes
755
755
  newports = [p for p in ports if ('->'+p) not in self.waves]
756
+ _debug_ and tLogger.debug(ident(f'new ports: {", ".join(newports)}', 0))
757
+
756
758
  if len(newports) > 1:
757
759
  raise ValueError(
758
760
  f'{whoami(__package__)}: cannot have more than one new port'
@@ -763,6 +765,7 @@ class rfCircuit(rfBase):
763
765
  )
764
766
 
765
767
  oldports = [p for p in ports if ('->'+p) in self.waves]
768
+ _debug_ and tLogger.debug(ident(f'old ports: {", ".join(oldports)}', 0))
766
769
 
767
770
  for p in newports:
768
771
  self.waves.append('->'+p)
@@ -771,6 +774,9 @@ class rfCircuit(rfBase):
771
774
  # here we need to make assumptions on the position of the new port
772
775
  # -> we take the position of the first port in the list
773
776
  self.xpos.append(self.getpos(oldports[0]))
777
+
778
+ _debug_ and tLogger.debug(ident(f'self.ports = {", ".join(self.ports)}', 0))
779
+
774
780
 
775
781
  # do we need to reverse '->' and '<-' for new ports
776
782
  idxAs, idxBs = [], []
@@ -787,7 +793,10 @@ class rfCircuit(rfBase):
787
793
  _kp = self.ports.index(_p)
788
794
  self.ports.pop(_kp)
789
795
  self.xpos.pop(_kp)
790
-
796
+ _debug_ and tLogger.debug(ident(f'deleted port {_p}', 0))
797
+
798
+ _debug_ and tLogger.debug(ident(f'self.ports -> {", ".join(self.ports)}', 0))
799
+
791
800
  # now we need to expand M for the new variables
792
801
  self.M = np.hstack((
793
802
  self.M, np.zeros((self.M.shape[0],2*len(newports)))
@@ -817,6 +826,8 @@ class rfCircuit(rfBase):
817
826
 
818
827
  for SJrc, idxB in zip(SJr,idxBs):
819
828
  self.M[-1, idxB] = SJrc
829
+
830
+ self.invM, self.S = None, None
820
831
 
821
832
  _debug_ and tLogger.debug(ident(
822
833
  f'< [circuit.connect]', -1
@@ -899,7 +910,12 @@ class rfCircuit(rfBase):
899
910
  self.invM = None
900
911
  self.S = None
901
912
 
902
- elif port in self.C:
913
+ elif False and (port in self.C):
914
+
915
+ # 2023/11/08 : (FDe) disabled this branch with "False and ..."
916
+ # trying to terminate a port newly created would erroneously cause
917
+ # a port already connected error
918
+
903
919
  _debug_ and tLogger.debug(ident(f'port already connected !'))
904
920
  raise ValueError(
905
921
  f'{whoami(__package__)}: port {port} already conneccted'
@@ -913,6 +929,7 @@ class rfCircuit(rfBase):
913
929
  _kp = self.ports.index(port)
914
930
  self.ports.pop(_kp)
915
931
  self.xpos.pop(_kp)
932
+
916
933
  except IndexError:
917
934
  raise ValueError(
918
935
  f'{whoami(__package__)}: port {port} already in use'
@@ -930,6 +947,8 @@ class rfCircuit(rfBase):
930
947
  self.eqns.append(f'T: {port}')
931
948
 
932
949
  self.T[port] = idxA, idxB, self.M.shape[0] - 1
950
+
951
+ self.invM, self.S = None, None
933
952
 
934
953
  _debug_ and tLogger.debug(ident(
935
954
  f'< [circuit.terminate]', -1
@@ -1,12 +1,12 @@
1
- __updated__ = '2023-09-21 12:06:35'
1
+ __updated__ = '2023-11-08 11:26:40'
2
2
 
3
3
  import numpy as np
4
4
  degSign = u'\N{DEGREE SIGN}'
5
5
 
6
6
  if False and __name__ == '__main__':
7
- from pyRFtk import rfBase
8
- from pyRFtk.config import logit, logident
9
- from pyRFtk.whoami import whoami
7
+ from pyRFtk import rfBase # @UnresolvedImport
8
+ from pyRFtk.config import logit, logident # @UnresolvedImport
9
+ from pyRFtk.whoami import whoami # @UnresolvedImport
10
10
  else:
11
11
  from . import rfBase
12
12
  from .config import logit, logident
@@ -132,7 +132,13 @@ class rfCoupler(rfBase):
132
132
  q = "'"
133
133
  for p, xpos in zip(self.ports, self.xpos):
134
134
  s += f'| {q+p+q:{lmax+2}s} @ {xpos:7.3f}m '+ '\n'
135
- s = s[:-1]
135
+ # s = s[:-1]
136
+
137
+ if self.S is not None:
138
+ s += f'|\n+ last evaluation at {self.f:_.1f} Hz: \n'
139
+ for sk in str(self.S).split('\n'):
140
+ s += '| ' + sk + '\n'
141
+
136
142
  s += '\n^'
137
143
  return s
138
144
 
@@ -155,12 +161,14 @@ class rfCoupler(rfBase):
155
161
 
156
162
  _debug_ and logident('<')
157
163
 
158
- return np.array(
164
+ self.f = f
165
+ self.S = np.array(
159
166
  [[0., A, B, 0.],
160
167
  [A, 0., 0., B],
161
168
  [B, 0., 0., A],
162
169
  [0., B, A, 0.]])
163
-
170
+
171
+ return self.S
164
172
  #===============================================================================
165
173
  #
166
174
  # _ _ m a i n _ _
@@ -1,4 +1,4 @@
1
- __updated__ = "2023-02-21 08:53:47"
1
+ __updated__ = "2023-11-08 11:19:50"
2
2
 
3
3
  if __name__ == '__main__':
4
4
  import sys
@@ -129,6 +129,8 @@ class rfObject():
129
129
  self.read_tsf(self.touchstone, **Tkwargs)
130
130
 
131
131
  self.interpOK = False
132
+
133
+ self.f, self.S = None, None
132
134
 
133
135
  #===========================================================================
134
136
  #
@@ -223,6 +225,12 @@ class rfObject():
223
225
  #FIXME: adhere to format compatible with rfTRL, rfRLC, circuit, ...
224
226
  s = self.__repr__() + '\n'
225
227
  s += '# %d frequencies\n' % len(self.fs)
228
+
229
+ if self.S is not None:
230
+ s += f'|\n+ last evaluation at {self.f:_.1f} Hz: \n'
231
+ for sk in str(self.S).split('\n'):
232
+ s += '| ' + sk + '\n'
233
+
226
234
  return s
227
235
 
228
236
  #===========================================================================
@@ -456,11 +464,15 @@ class rfObject():
456
464
  tS if Zbase == self.Zbase
457
465
  else ConvertGeneral(Zbase, tS, self.Zbase)
458
466
  )
467
+ self.f, self.S = f, Ss[-1]
468
+
459
469
  else:
460
470
  tS = get1S(fs)
461
471
  Ss = (tS if Zbase == self.Zbase
462
472
  else ConvertGeneral(Zbase, tS, self.Zbase))
463
473
 
474
+ self.f, self.S = fs, Ss
475
+
464
476
  debug and tLogger.debug(ident('< [rfObject.getS]',-1))
465
477
  return np.array(Ss)
466
478