setupEM 0.3.16__tar.gz → 0.5.0__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 (26) hide show
  1. {setupem-0.3.16/src/setupEM.egg-info → setupem-0.5.0}/PKG-INFO +51 -2
  2. {setupem-0.3.16 → setupem-0.5.0}/README.md +50 -1
  3. {setupem-0.3.16 → setupem-0.5.0}/README_pypi.md +50 -1
  4. {setupem-0.3.16 → setupem-0.5.0}/pyproject.toml +1 -0
  5. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/__init__.py +1 -1
  6. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/palace_results.py +199 -199
  7. setupem-0.5.0/src/setupEM/result_viewer.py +659 -0
  8. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/setupEM.py +188 -5
  9. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/setup_common.py +30 -21
  10. {setupem-0.3.16 → setupem-0.5.0/src/setupEM.egg-info}/PKG-INFO +51 -2
  11. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM.egg-info/SOURCES.txt +1 -0
  12. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM.egg-info/entry_points.txt +1 -0
  13. {setupem-0.3.16 → setupem-0.5.0}/LICENSE +0 -0
  14. {setupem-0.3.16 → setupem-0.5.0}/setup.cfg +0 -0
  15. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/__main__.py +0 -0
  16. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/data/SG13G2_100um.xml +0 -0
  17. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/data/SG13G2_200um.xml +0 -0
  18. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/data/SG13G2_200um_with_parameters.xml +0 -0
  19. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/data/SG13G2_nosub.xml +0 -0
  20. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/momentum_import.py +0 -0
  21. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/setupThermal.py +0 -0
  22. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/stackupEditor.py +0 -0
  23. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM/stackup_writer.py +0 -0
  24. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM.egg-info/dependency_links.txt +0 -0
  25. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM.egg-info/requires.txt +0 -0
  26. {setupem-0.3.16 → setupem-0.5.0}/src/setupEM.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: setupEM
3
- Version: 0.3.16
3
+ Version: 0.5.0
4
4
  Summary: Python tool for configuration of gds2palace workflow with GUI.
5
5
  Author-email: Volker Muehlhaus <volker@muehlhaus.com>
6
6
  License-Expression: GPL-3.0-or-later
@@ -21,9 +21,14 @@ Dynamic: license-file
21
21
 
22
22
  ## What's New
23
23
 
24
- - **setupThermal**, a companion app for Elmer thermal simulation, alongside setupEM
24
+ setupEM includes two built-in tools for working with simulation results directly, without external scripts:
25
+
26
+ - **Result Viewer** (Create Model tab > View Results...) plots Touchstone S-parameter results - dB/phase, Smith chart, zoomed Smith chart - without leaving setupEM. See section "[Result Viewer](#result-viewer)".
27
+ - **Model Fit** (Create Model tab > Model Fit...) launches [snp2le](https://github.com/iic-jku/snp2le), an external open-source tool that extracts a lumped-element SPICE/Spectre netlist from S-parameter results - offering to install it via pip if it isn't already present. See section "[Model Fit](#model-fit)".
28
+
25
29
  - A graphical **Stackup XML Editor** (Tools > Edit Stackup XML...), including Variables, Reference-relative positioning, Derived Layers, and Thermal Tables
26
30
  - Input Files tab can now **override stackup Variables** (e.g. `total_thickness`) directly, without hand-editing the XML or the generated model
31
+ - **setupThermal**, a companion app for Elmer thermal simulation, alongside setupEM
27
32
 
28
33
  See [CHANGES.md](https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/CHANGES.md) for details.
29
34
 
@@ -194,6 +199,8 @@ The buttons are used top down: You can first preview the resulting model geometr
194
199
 
195
200
  To start simulation, use the "Run palace" button. If you are on Linux, this will start Palace using script "run_sim". If you are on Windows, this will start the Linux Subsystem for Windows (WSL) and open a command prompt in the simulation directory.
196
201
 
202
+ If the output directory already has results from a previous run, you are asked whether to delete or keep them before starting - default is to delete, so a rerun with different settings doesn't leave stale results mixed in with the new ones.
203
+
197
204
  <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/createmodel3.png" alt="create" width="700">
198
205
 
199
206
  To start simulation on Linux, it is required that you have configured a script "run_sim" as described in the [gds2palace documentation](https://github.com/VolkerMuehlhaus/gds2palace_ihp_sg13g2/blob/main/doc/gds2palace_workflow_userguide.pdf). You can find a template [here](https://github.com/VolkerMuehlhaus/gds2palace_ihp_sg13g2/tree/main/scripts) in the gds2palace repository.
@@ -205,6 +212,48 @@ To start simulation on Windows from the WSL terminal, type
205
212
 
206
213
  To **create Touchstone SnP output** from simulation results, please have a look at the scripts directory. Script "combine_snp" runs Python code "combine_extend_snp.py", which scans your directories (working directory and below) and converts simulation results to Touchstone file format. Supported input file format: Palace and Elmer S-parameter data.
207
214
 
215
+ ## Result Viewer
216
+
217
+ Once you have Touchstone SnP results, click **View Results...** on the Create Model tab to open the built-in **Result Viewer** - no need to run the standalone `plot_snp.py` script by hand.
218
+
219
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer_button.png" alt="view results button" width="700">
220
+
221
+ The Result Viewer recursively scans the Target Directory for `.sNp` Touchstone files and lists them in a tree, grouped by the folder each file came from. Check individual files to overlay them, or check/uncheck a whole run's group entry to select or deselect every file below it at once.
222
+ The **Include _dc files** / **Include _deembedded files** checkboxes filter out DC-extrapolated and de-embedded variants created by `combine_extend_snp.py`, so you can start with just the raw result and bring in the others only when needed.
223
+
224
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer1.png" alt="result viewer" width="750">
225
+
226
+ Pick which S-parameters to plot from the S-Parameters grid.
227
+ Checking files across several runs, or a whole run group, overlays all of them at once:
228
+
229
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer2.png" alt="result viewer multi-file overlay" width="750">
230
+
231
+ For reflection parameters (S11, S22, ...), the Display panel can switch to a **Smith chart** or a **zoomed Smith chart** instead of dB+phase.
232
+
233
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer3.png" alt="result viewer smith chart" width="750">
234
+
235
+ The matplotlib toolbar above the plot (pan/zoom/save as PNG) works as usual. A file with only a single simulated frequency point is marked with a dot instead of a line, since there is nothing to draw a line between.
236
+
237
+ Result Viewer can also be run standalone, without the full setupEM GUI, either directly (`python result_viewer.py [target_dir]`) or via the `resultViewer` console script installed with the package.
238
+
239
+ ## Model Fit
240
+
241
+ Click **Model Fit...** on the Create Model tab (next to **View Results...**) to extract a lumped-element netlist from the current run's S-parameter result, using [snp2le](https://github.com/iic-jku/snp2le) - an external, open-source tool, not part of setupEM.
242
+
243
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer_button.png" alt="model fit button" width="700">
244
+
245
+ If snp2le isn't installed, setupEM offers to install it for you via pip:
246
+
247
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/modelfit1.png" alt="snp2le not installed" width="350">
248
+
249
+ Choosing **Install** runs `pip install snp2le` in the Log panel and, once it succeeds, continues automatically - no need to click Model Fit a second time. Choosing **Cancel** logs the manual install command and the project link instead.
250
+
251
+ Once snp2le is available, Model Fit locates the raw (not `_dc`, not `_deembedded`) Touchstone result file for the current run and launches the snp2le GUI in that file's directory. snp2le's GUI has no command-line option to preload a file, so the exact path is printed to the Log panel - load it via snp2le's own file picker:
252
+
253
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/modelfit2.png" alt="snp2le starting" width="700">
254
+
255
+ If no raw result file exists yet (no simulation has been run), Model Fit shows a warning instead of starting snp2le - run a simulation first.
256
+
208
257
  ## Code
209
258
  Behind the scenes, the setupEM user interface created Python model code for gds2palace, and you can check the resulting code on the "Code" tab.
210
259
 
@@ -2,9 +2,14 @@
2
2
 
3
3
  ## What's New
4
4
 
5
- - **setupThermal**, a companion app for Elmer thermal simulation, alongside setupEM
5
+ setupEM includes two built-in tools for working with simulation results directly, without external scripts:
6
+
7
+ - **Result Viewer** (Create Model tab > View Results...) plots Touchstone S-parameter results - dB/phase, Smith chart, zoomed Smith chart - without leaving setupEM. See section "[Result Viewer](#result-viewer)".
8
+ - **Model Fit** (Create Model tab > Model Fit...) launches [snp2le](https://github.com/iic-jku/snp2le), an external open-source tool that extracts a lumped-element SPICE/Spectre netlist from S-parameter results - offering to install it via pip if it isn't already present. See section "[Model Fit](#model-fit)".
9
+
6
10
  - A graphical **Stackup XML Editor** (Tools > Edit Stackup XML...), including Variables, Reference-relative positioning, Derived Layers, and Thermal Tables
7
11
  - Input Files tab can now **override stackup Variables** (e.g. `total_thickness`) directly, without hand-editing the XML or the generated model
12
+ - **setupThermal**, a companion app for Elmer thermal simulation, alongside setupEM
8
13
 
9
14
  See [CHANGES.md](doc/CHANGES.md) for details.
10
15
 
@@ -175,6 +180,8 @@ The buttons are used top down: You can first preview the resulting model geometr
175
180
 
176
181
  To start simulation, use the "Run palace" button. If you are on Linux, this will start Palace using script "run_sim". If you are on Windows, this will start the Linux Subsystem for Windows (WSL) and open a command prompt in the simulation directory.
177
182
 
183
+ If the output directory already has results from a previous run, you are asked whether to delete or keep them before starting - default is to delete, so a rerun with different settings doesn't leave stale results mixed in with the new ones.
184
+
178
185
  <img src="./doc/png/createmodel3.png" alt="create" width="700">
179
186
 
180
187
  To start simulation on Linux, it is required that you have configured a script "run_sim" as described in the [gds2palace documentation](https://github.com/VolkerMuehlhaus/gds2palace_ihp_sg13g2/blob/main/doc/gds2palace_workflow_userguide.pdf). You can find a template [here](https://github.com/VolkerMuehlhaus/gds2palace_ihp_sg13g2/tree/main/scripts) in the gds2palace repository.
@@ -186,6 +193,48 @@ To start simulation on Windows from the WSL terminal, type
186
193
 
187
194
  To **create Touchstone SnP output** from simulation results, please have a look at the scripts directory. Script "combine_snp" runs Python code "combine_extend_snp.py", which scans your directories (working directory and below) and converts simulation results to Touchstone file format. Supported input file format: Palace and Elmer S-parameter data.
188
195
 
196
+ ## Result Viewer
197
+
198
+ Once you have Touchstone SnP results, click **View Results...** on the Create Model tab to open the built-in **Result Viewer** - no need to run the standalone `plot_snp.py` script by hand.
199
+
200
+ <img src="./doc/png/resultviewer_button.png" alt="view results button" width="700">
201
+
202
+ The Result Viewer recursively scans the Target Directory for `.sNp` Touchstone files and lists them in a tree, grouped by the folder each file came from. Check individual files to overlay them, or check/uncheck a whole run's group entry to select or deselect every file below it at once.
203
+ The **Include _dc files** / **Include _deembedded files** checkboxes filter out DC-extrapolated and de-embedded variants created by `combine_extend_snp.py`, so you can start with just the raw result and bring in the others only when needed.
204
+
205
+ <img src="./doc/png/resultviewer1.png" alt="result viewer" width="750">
206
+
207
+ Pick which S-parameters to plot from the S-Parameters grid.
208
+ Checking files across several runs, or a whole run group, overlays all of them at once:
209
+
210
+ <img src="./doc/png/resultviewer2.png" alt="result viewer multi-file overlay" width="750">
211
+
212
+ For reflection parameters (S11, S22, ...), the Display panel can switch to a **Smith chart** or a **zoomed Smith chart** instead of dB+phase.
213
+
214
+ <img src="./doc/png/resultviewer3.png" alt="result viewer smith chart" width="750">
215
+
216
+ The matplotlib toolbar above the plot (pan/zoom/save as PNG) works as usual. A file with only a single simulated frequency point is marked with a dot instead of a line, since there is nothing to draw a line between.
217
+
218
+ Result Viewer can also be run standalone, without the full setupEM GUI, either directly (`python result_viewer.py [target_dir]`) or via the `resultViewer` console script installed with the package.
219
+
220
+ ## Model Fit
221
+
222
+ Click **Model Fit...** on the Create Model tab (next to **View Results...**) to extract a lumped-element netlist from the current run's S-parameter result, using [snp2le](https://github.com/iic-jku/snp2le) - an external, open-source tool, not part of setupEM.
223
+
224
+ <img src="./doc/png/resultviewer_button.png" alt="model fit button" width="700">
225
+
226
+ If snp2le isn't installed, setupEM offers to install it for you via pip:
227
+
228
+ <img src="./doc/png/modelfit1.png" alt="snp2le not installed" width="350">
229
+
230
+ Choosing **Install** runs `pip install snp2le` in the Log panel and, once it succeeds, continues automatically - no need to click Model Fit a second time. Choosing **Cancel** logs the manual install command and the project link instead.
231
+
232
+ Once snp2le is available, Model Fit locates the raw (not `_dc`, not `_deembedded`) Touchstone result file for the current run and launches the snp2le GUI in that file's directory. snp2le's GUI has no command-line option to preload a file, so the exact path is printed to the Log panel - load it via snp2le's own file picker:
233
+
234
+ <img src="./doc/png/modelfit2.png" alt="snp2le starting" width="700">
235
+
236
+ If no raw result file exists yet (no simulation has been run), Model Fit shows a warning instead of starting snp2le - run a simulation first.
237
+
189
238
  ## Code
190
239
  Behind the scenes, the setupEM user interface created Python model code for gds2palace, and you can check the resulting code on the "Code" tab.
191
240
 
@@ -2,9 +2,14 @@
2
2
 
3
3
  ## What's New
4
4
 
5
- - **setupThermal**, a companion app for Elmer thermal simulation, alongside setupEM
5
+ setupEM includes two built-in tools for working with simulation results directly, without external scripts:
6
+
7
+ - **Result Viewer** (Create Model tab > View Results...) plots Touchstone S-parameter results - dB/phase, Smith chart, zoomed Smith chart - without leaving setupEM. See section "[Result Viewer](#result-viewer)".
8
+ - **Model Fit** (Create Model tab > Model Fit...) launches [snp2le](https://github.com/iic-jku/snp2le), an external open-source tool that extracts a lumped-element SPICE/Spectre netlist from S-parameter results - offering to install it via pip if it isn't already present. See section "[Model Fit](#model-fit)".
9
+
6
10
  - A graphical **Stackup XML Editor** (Tools > Edit Stackup XML...), including Variables, Reference-relative positioning, Derived Layers, and Thermal Tables
7
11
  - Input Files tab can now **override stackup Variables** (e.g. `total_thickness`) directly, without hand-editing the XML or the generated model
12
+ - **setupThermal**, a companion app for Elmer thermal simulation, alongside setupEM
8
13
 
9
14
  See [CHANGES.md](https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/CHANGES.md) for details.
10
15
 
@@ -175,6 +180,8 @@ The buttons are used top down: You can first preview the resulting model geometr
175
180
 
176
181
  To start simulation, use the "Run palace" button. If you are on Linux, this will start Palace using script "run_sim". If you are on Windows, this will start the Linux Subsystem for Windows (WSL) and open a command prompt in the simulation directory.
177
182
 
183
+ If the output directory already has results from a previous run, you are asked whether to delete or keep them before starting - default is to delete, so a rerun with different settings doesn't leave stale results mixed in with the new ones.
184
+
178
185
  <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/createmodel3.png" alt="create" width="700">
179
186
 
180
187
  To start simulation on Linux, it is required that you have configured a script "run_sim" as described in the [gds2palace documentation](https://github.com/VolkerMuehlhaus/gds2palace_ihp_sg13g2/blob/main/doc/gds2palace_workflow_userguide.pdf). You can find a template [here](https://github.com/VolkerMuehlhaus/gds2palace_ihp_sg13g2/tree/main/scripts) in the gds2palace repository.
@@ -186,6 +193,48 @@ To start simulation on Windows from the WSL terminal, type
186
193
 
187
194
  To **create Touchstone SnP output** from simulation results, please have a look at the scripts directory. Script "combine_snp" runs Python code "combine_extend_snp.py", which scans your directories (working directory and below) and converts simulation results to Touchstone file format. Supported input file format: Palace and Elmer S-parameter data.
188
195
 
196
+ ## Result Viewer
197
+
198
+ Once you have Touchstone SnP results, click **View Results...** on the Create Model tab to open the built-in **Result Viewer** - no need to run the standalone `plot_snp.py` script by hand.
199
+
200
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer_button.png" alt="view results button" width="700">
201
+
202
+ The Result Viewer recursively scans the Target Directory for `.sNp` Touchstone files and lists them in a tree, grouped by the folder each file came from. Check individual files to overlay them, or check/uncheck a whole run's group entry to select or deselect every file below it at once.
203
+ The **Include _dc files** / **Include _deembedded files** checkboxes filter out DC-extrapolated and de-embedded variants created by `combine_extend_snp.py`, so you can start with just the raw result and bring in the others only when needed.
204
+
205
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer1.png" alt="result viewer" width="750">
206
+
207
+ Pick which S-parameters to plot from the S-Parameters grid.
208
+ Checking files across several runs, or a whole run group, overlays all of them at once:
209
+
210
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer2.png" alt="result viewer multi-file overlay" width="750">
211
+
212
+ For reflection parameters (S11, S22, ...), the Display panel can switch to a **Smith chart** or a **zoomed Smith chart** instead of dB+phase.
213
+
214
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer3.png" alt="result viewer smith chart" width="750">
215
+
216
+ The matplotlib toolbar above the plot (pan/zoom/save as PNG) works as usual. A file with only a single simulated frequency point is marked with a dot instead of a line, since there is nothing to draw a line between.
217
+
218
+ Result Viewer can also be run standalone, without the full setupEM GUI, either directly (`python result_viewer.py [target_dir]`) or via the `resultViewer` console script installed with the package.
219
+
220
+ ## Model Fit
221
+
222
+ Click **Model Fit...** on the Create Model tab (next to **View Results...**) to extract a lumped-element netlist from the current run's S-parameter result, using [snp2le](https://github.com/iic-jku/snp2le) - an external, open-source tool, not part of setupEM.
223
+
224
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/resultviewer_button.png" alt="model fit button" width="700">
225
+
226
+ If snp2le isn't installed, setupEM offers to install it for you via pip:
227
+
228
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/modelfit1.png" alt="snp2le not installed" width="350">
229
+
230
+ Choosing **Install** runs `pip install snp2le` in the Log panel and, once it succeeds, continues automatically - no need to click Model Fit a second time. Choosing **Cancel** logs the manual install command and the project link instead.
231
+
232
+ Once snp2le is available, Model Fit locates the raw (not `_dc`, not `_deembedded`) Touchstone result file for the current run and launches the snp2le GUI in that file's directory. snp2le's GUI has no command-line option to preload a file, so the exact path is printed to the Log panel - load it via snp2le's own file picker:
233
+
234
+ <img src="https://raw.githubusercontent.com/VolkerMuehlhaus/setupEM/main/doc/png/modelfit2.png" alt="snp2le starting" width="700">
235
+
236
+ If no raw result file exists yet (no simulation has been run), Model Fit shows a warning instead of starting snp2le - run a simulation first.
237
+
189
238
  ## Code
190
239
  Behind the scenes, the setupEM user interface created Python model code for gds2palace, and you can check the resulting code on the "Code" tab.
191
240
 
@@ -27,6 +27,7 @@ requires-python = ">=3.9"
27
27
  setupEM = "setupEM.setupEM:main"
28
28
  setupThermal = "setupEM.setupThermal:main"
29
29
  stackupEditor = "setupEM.stackupEditor:main"
30
+ resultViewer = "setupEM.result_viewer:main"
30
31
 
31
32
  [tool.setuptools.dynamic]
32
33
  version = {attr = "setupEM.__version__"}
@@ -24,4 +24,4 @@ A Python tool for EM setup using gds2palace.
24
24
  from .setupEM import main
25
25
 
26
26
  __all__ = ["main"]
27
- __version__ = "0.3.16"
27
+ __version__ = "0.5.0"