setupEM 0.7.0__tar.gz → 0.7.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.
- {setupem-0.7.0/src/setupEM.egg-info → setupem-0.7.2}/PKG-INFO +12 -10
- {setupem-0.7.0 → setupem-0.7.2}/README.md +24 -2
- {setupem-0.7.0 → setupem-0.7.2}/README_pypi.md +9 -9
- {setupem-0.7.0 → setupem-0.7.2}/pyproject.toml +4 -1
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/__init__.py +1 -1
- setupem-0.7.2/src/setupEM/field_viewer.py +1159 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/layout_preview.py +104 -5
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/result_viewer.py +143 -51
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/setupEM.py +217 -53
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/setupThermal.py +138 -9
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/setup_common.py +236 -23
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/simplify_gds.py +20 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/stackupEditor.py +7 -1
- {setupem-0.7.0 → setupem-0.7.2/src/setupEM.egg-info}/PKG-INFO +12 -10
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM.egg-info/SOURCES.txt +1 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM.egg-info/entry_points.txt +1 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM.egg-info/requires.txt +2 -0
- {setupem-0.7.0 → setupem-0.7.2}/LICENSE +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/setup.cfg +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/__main__.py +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/data/SG13G2_100um.xml +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/data/SG13G2_200um.xml +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/data/SG13G2_200um_with_parameters.xml +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/data/SG13G2_nosub.xml +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/momentum_import.py +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/palace_results.py +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/stackup_writer.py +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM/thermal_results.py +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/src/setupEM.egg-info/dependency_links.txt +0 -0
- {setupem-0.7.0 → setupem-0.7.2}/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.7.
|
|
3
|
+
Version: 0.7.2
|
|
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,6 +21,8 @@ Requires-Dist: matplotlib
|
|
|
21
21
|
Requires-Dist: numpy
|
|
22
22
|
Requires-Dist: gdspy
|
|
23
23
|
Requires-Dist: meshio
|
|
24
|
+
Requires-Dist: pyvista
|
|
25
|
+
Requires-Dist: pyvistaqt
|
|
24
26
|
Dynamic: license-file
|
|
25
27
|
|
|
26
28
|
# Python GUI for gds2palace
|
|
@@ -35,7 +37,7 @@ An overview of the SetupEM user interface is given below in chapter "Using setup
|
|
|
35
37
|
|
|
36
38
|
Two more external tools are used by parts of the workflow, and are not installed automatically:
|
|
37
39
|
|
|
38
|
-
- [ParaView](https://www.paraview.org/) —
|
|
40
|
+
- [ParaView](https://www.paraview.org/) — optional, for viewing field-dump output (Palace/Elmer EM) and Elmer thermal result files with ParaView itself instead of the built-in 3D field viewer. Not required: the built-in viewer needs nothing extra installed and is the default.
|
|
39
41
|
- An MPI implementation — only needed for multi-process Elmer runs (the Elmer solver settings' multithreading option). Use OpenMPI or MPICH on Linux/macOS; on Windows, install [Microsoft MPI](https://learn.microsoft.com/en-us/message-passing-interface/microsoft-mpi) (setupEM checks for this and shows a download link if it's missing).
|
|
40
42
|
|
|
41
43
|
## Install
|
|
@@ -47,6 +49,12 @@ https://github.com/VolkerMuehlhaus/setupEM
|
|
|
47
49
|
|
|
48
50
|
## Recent changes
|
|
49
51
|
|
|
52
|
+
# What's New - September 14, 2026
|
|
53
|
+
|
|
54
|
+
Added a built-in **3D field viewer**, an in-app alternative to launching external ParaView, for setupEM (Palace and Elmer-as-EM-solver) and setupThermal (Elmer thermal) field-dump results: an axis-aligned clip plane with a **Find max.** button, standard CAD/ParaView-style axis-view buttons, tailored per-solver color defaults with a manual range override, opacity and mesh-edge overlay controls, and an arrow overlay with a size slider for vector fields. **View fields in Paraview...** and the previous separate 3D-viewer button are now one **View fields (...)...** button, whose label shows which viewer it opens - choose Built-in (new default) or ParaView on the new **Preferences > Viewer** tab, with automatic fallback to Built-in (and a log message) if ParaView isn't found.
|
|
55
|
+
|
|
56
|
+
Layout Preview now shows a via port's effective centerline when its drawn marker has finite size in both x and y, since gds2palace's `add_ports()` collapses the shorter axis down to its minimum edge (not the true center) when building the actual simulated port sheet.
|
|
57
|
+
|
|
50
58
|
# What's New - September 8-12, 2026
|
|
51
59
|
|
|
52
60
|
Added two reserved stackup materials that need no `<Materials>` entry: `PEC` (ideal conductor, on conductor/via/sheet Layers) and `AIR` (built-in default dielectric, overridable).
|
|
@@ -79,14 +87,6 @@ ParaView launching (Palace and Elmer EM field dumps, Elmer thermal results) now
|
|
|
79
87
|
|
|
80
88
|
The Frequencies tab's field-dump control is now solver-aware: Elmer mode shows a plain **"Enable field dump"** checkbox instead of a frequency list, since Elmer has no per-frequency `SaveStep` like Palace - any `fdump` value there dumps fields at *every* solved frequency (sweep and `fpoint` together), so listing specific frequencies was misleading. Palace mode is unchanged, keeping its per-frequency `fdump` list. This also sidesteps a gds2palace bug (see its own CHANGES.md) where a frequency listed in both the sweep and `fdump` was silently solved twice.
|
|
81
89
|
|
|
82
|
-
# What's New - September 5, 2026
|
|
83
|
-
|
|
84
|
-
Added a **View fields in Paraview...** button (Create Model tab), shown once `fdump` is set, to open Palace or Elmer EM field-dump results directly. "View Results..." is renamed to **View S-Parameters...** for clarity.
|
|
85
|
-
|
|
86
|
-
Fixed Elmer EM simulations failing to start on Windows: the run script never actually launched (silently, with no log output), and MPI-enabled runs now check that Microsoft MPI is installed first, with a clear message and download link if it's missing instead of a cryptic failure.
|
|
87
|
-
|
|
88
|
-
Fixed importing an existing model file and choosing to reuse its filename: it could silently rename the output to a different file than the one imported. Fixed `fdump`/`fpoint` showing raw Hz values instead of GHz after importing a model file. `fdump` is now usable in Elmer mode too (previously hidden).
|
|
89
|
-
|
|
90
90
|
Full history: [CHANGES.md](https://github.com/VolkerMuehlhaus/setupEM/blob/main/doc/CHANGES.md)
|
|
91
91
|
|
|
92
92
|
---
|
|
@@ -104,5 +104,7 @@ Full history: [CHANGES.md](https://github.com/VolkerMuehlhaus/setupEM/blob/main/
|
|
|
104
104
|
- numpy
|
|
105
105
|
- gdspy
|
|
106
106
|
- meshio
|
|
107
|
+
- pyvista
|
|
108
|
+
- pyvistaqt
|
|
107
109
|
|
|
108
110
|
(Other Python modules mentioned above are only needed to run standalone helper scripts in this repository, not to use the installed package.)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## What's New
|
|
4
4
|
|
|
5
|
-
Reserved PEC/AIR stackup materials, Layout Preview, Results viewer, Model Fit, GDSII Layout Simplification, XML Stackup Editor, setupThermal for Elmer thermal simulation.
|
|
5
|
+
Reserved PEC/AIR stackup materials, Layout Preview, Results viewer, Model Fit, built-in 3D field viewer, GDSII Layout Simplification, XML Stackup Editor, setupThermal for Elmer thermal simulation.
|
|
6
6
|
|
|
7
7
|
See [CHANGES.md](doc/CHANGES.md) for details.
|
|
8
8
|
|
|
@@ -18,7 +18,7 @@ An overview of the SetupEM user interface is given below in chapter "Using setup
|
|
|
18
18
|
|
|
19
19
|
Two more external tools are used by parts of the workflow, and are not installed automatically:
|
|
20
20
|
|
|
21
|
-
- [ParaView](https://www.paraview.org/) —
|
|
21
|
+
- [ParaView](https://www.paraview.org/) — optional, for viewing field-dump output (Palace/Elmer EM) and Elmer thermal result files with ParaView itself instead of the built-in 3D field viewer (see [3D Field Viewer](#3d-field-viewer) below). Not required: the built-in viewer needs nothing extra installed and is the default.
|
|
22
22
|
- An MPI implementation — only needed for multi-process Elmer runs (the Elmer solver settings' multithreading option). Use OpenMPI or MPICH on Linux/macOS; on Windows, install [Microsoft MPI](https://learn.microsoft.com/en-us/message-passing-interface/microsoft-mpi) (setupEM checks for this and shows a download link if it's missing).
|
|
23
23
|
|
|
24
24
|
|
|
@@ -86,6 +86,8 @@ The setupEM module also installs these dependencies:
|
|
|
86
86
|
- numpy
|
|
87
87
|
- gdspy
|
|
88
88
|
- meshio
|
|
89
|
+
- pyvista
|
|
90
|
+
- pyvistaqt
|
|
89
91
|
|
|
90
92
|
---
|
|
91
93
|
|
|
@@ -235,6 +237,26 @@ Once snp2le is available, Model Fit locates the raw (not `_dc`, not `_deembedded
|
|
|
235
237
|
|
|
236
238
|
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
239
|
|
|
240
|
+
## 3D Field Viewer
|
|
241
|
+
|
|
242
|
+
Once field-dump results are available (Palace: set `fdump`; Elmer: enable field dump), click **View fields (...)...** on the Create Model tab to open them - the "..." in the label shows which viewer it opens, **Built-in** or **ParaView**, per the setting described below.
|
|
243
|
+
|
|
244
|
+
<img src="./doc/png/fieldviewer1.png" alt="3D field viewer" width="750">
|
|
245
|
+
|
|
246
|
+
The built-in viewer has a single, axis-aligned clip plane (X/Y/Z + a position slider, shown in µm) to see a cross-section through the model, rather than a free-orientation drag-widget - **Find max.** jumps the plane straight to the largest value of the currently selected field along that axis. Standard CAD/ParaView-style **+X/-X/+Y/-Y/+Z/-Z** buttons snap the camera to look straight down each axis; the clip plane's kept side follows whichever of these you last used for its axis, so the exposed cut face always faces the camera instead of occasionally showing the model's untouched exterior surface.
|
|
247
|
+
|
|
248
|
+
The **Field** panel picks which array to color by, defaulting to E-field magnitude (log color scale) for Palace and Elmer-as-EM-solver mode, or temperature (linear) for Elmer thermal - the Min/Max fields let you override the color range manually, with a button to reset back to the data's own range. **Display** controls opacity (to see a hotspot through the surrounding material without losing the outer shape as context) and a mesh-edge overlay. If more than one equally-valid result file exists (e.g. Palace's main "driven" field dump and its separate "driven_boundary" one), a **Result File** picker lets you choose between them instead of guessing.
|
|
249
|
+
|
|
250
|
+
For a vector array (E/B-field, Poynting vector `S`, ...), **Show arrows** overlays direction arrows on top of the color, auto-scaled from the field's own magnitude on a log scale so both weak and strong regions stay visible instead of only the single hottest point - the **Arrow size** slider (0.5% steps) scales them to taste, and also controls how densely they're packed in, since smaller arrows can sit closer together than large ones without turning into a solid block.
|
|
251
|
+
|
|
252
|
+
<img src="./doc/png/fieldviewer2.png" alt="3D field viewer, vector arrows on the Poynting vector S" width="750">
|
|
253
|
+
|
|
254
|
+
Choose which viewer **View fields (...)...** opens - **Built-in** (default, needs nothing else installed) or **ParaView** - on **Preferences > Viewer**. If ParaView is selected but not found on your system, setupEM/setupThermal fall back to the built-in viewer automatically, with a message in the Log panel.
|
|
255
|
+
|
|
256
|
+
<img src="./doc/png/preferences_viewer1.png" alt="3D field viewer preference" width="500">
|
|
257
|
+
|
|
258
|
+
Also runnable standalone, without the full setupEM/setupThermal GUI, either directly (`python field_viewer.py <file_path> [--source palace|elmer_em|elmer_thermal]`) or via the `fieldViewer` console script installed with the package.
|
|
259
|
+
|
|
238
260
|
## Code
|
|
239
261
|
Behind the scenes, the setupEM user interface created Python model code for gds2palace, and you can check the resulting code on the "Code" tab.
|
|
240
262
|
|
|
@@ -10,7 +10,7 @@ An overview of the SetupEM user interface is given below in chapter "Using setup
|
|
|
10
10
|
|
|
11
11
|
Two more external tools are used by parts of the workflow, and are not installed automatically:
|
|
12
12
|
|
|
13
|
-
- [ParaView](https://www.paraview.org/) —
|
|
13
|
+
- [ParaView](https://www.paraview.org/) — optional, for viewing field-dump output (Palace/Elmer EM) and Elmer thermal result files with ParaView itself instead of the built-in 3D field viewer. Not required: the built-in viewer needs nothing extra installed and is the default.
|
|
14
14
|
- An MPI implementation — only needed for multi-process Elmer runs (the Elmer solver settings' multithreading option). Use OpenMPI or MPICH on Linux/macOS; on Windows, install [Microsoft MPI](https://learn.microsoft.com/en-us/message-passing-interface/microsoft-mpi) (setupEM checks for this and shows a download link if it's missing).
|
|
15
15
|
|
|
16
16
|
## Install
|
|
@@ -22,6 +22,12 @@ https://github.com/VolkerMuehlhaus/setupEM
|
|
|
22
22
|
|
|
23
23
|
## Recent changes
|
|
24
24
|
|
|
25
|
+
# What's New - September 14, 2026
|
|
26
|
+
|
|
27
|
+
Added a built-in **3D field viewer**, an in-app alternative to launching external ParaView, for setupEM (Palace and Elmer-as-EM-solver) and setupThermal (Elmer thermal) field-dump results: an axis-aligned clip plane with a **Find max.** button, standard CAD/ParaView-style axis-view buttons, tailored per-solver color defaults with a manual range override, opacity and mesh-edge overlay controls, and an arrow overlay with a size slider for vector fields. **View fields in Paraview...** and the previous separate 3D-viewer button are now one **View fields (...)...** button, whose label shows which viewer it opens - choose Built-in (new default) or ParaView on the new **Preferences > Viewer** tab, with automatic fallback to Built-in (and a log message) if ParaView isn't found.
|
|
28
|
+
|
|
29
|
+
Layout Preview now shows a via port's effective centerline when its drawn marker has finite size in both x and y, since gds2palace's `add_ports()` collapses the shorter axis down to its minimum edge (not the true center) when building the actual simulated port sheet.
|
|
30
|
+
|
|
25
31
|
# What's New - September 8-12, 2026
|
|
26
32
|
|
|
27
33
|
Added two reserved stackup materials that need no `<Materials>` entry: `PEC` (ideal conductor, on conductor/via/sheet Layers) and `AIR` (built-in default dielectric, overridable).
|
|
@@ -54,14 +60,6 @@ ParaView launching (Palace and Elmer EM field dumps, Elmer thermal results) now
|
|
|
54
60
|
|
|
55
61
|
The Frequencies tab's field-dump control is now solver-aware: Elmer mode shows a plain **"Enable field dump"** checkbox instead of a frequency list, since Elmer has no per-frequency `SaveStep` like Palace - any `fdump` value there dumps fields at *every* solved frequency (sweep and `fpoint` together), so listing specific frequencies was misleading. Palace mode is unchanged, keeping its per-frequency `fdump` list. This also sidesteps a gds2palace bug (see its own CHANGES.md) where a frequency listed in both the sweep and `fdump` was silently solved twice.
|
|
56
62
|
|
|
57
|
-
# What's New - September 5, 2026
|
|
58
|
-
|
|
59
|
-
Added a **View fields in Paraview...** button (Create Model tab), shown once `fdump` is set, to open Palace or Elmer EM field-dump results directly. "View Results..." is renamed to **View S-Parameters...** for clarity.
|
|
60
|
-
|
|
61
|
-
Fixed Elmer EM simulations failing to start on Windows: the run script never actually launched (silently, with no log output), and MPI-enabled runs now check that Microsoft MPI is installed first, with a clear message and download link if it's missing instead of a cryptic failure.
|
|
62
|
-
|
|
63
|
-
Fixed importing an existing model file and choosing to reuse its filename: it could silently rename the output to a different file than the one imported. Fixed `fdump`/`fpoint` showing raw Hz values instead of GHz after importing a model file. `fdump` is now usable in Elmer mode too (previously hidden).
|
|
64
|
-
|
|
65
63
|
Full history: [CHANGES.md](https://github.com/VolkerMuehlhaus/setupEM/blob/main/doc/CHANGES.md)
|
|
66
64
|
|
|
67
65
|
---
|
|
@@ -79,5 +77,7 @@ Full history: [CHANGES.md](https://github.com/VolkerMuehlhaus/setupEM/blob/main/
|
|
|
79
77
|
- numpy
|
|
80
78
|
- gdspy
|
|
81
79
|
- meshio
|
|
80
|
+
- pyvista
|
|
81
|
+
- pyvistaqt
|
|
82
82
|
|
|
83
83
|
(Other Python modules mentioned above are only needed to run standalone helper scripts in this repository, not to use the installed package.)
|
|
@@ -22,7 +22,9 @@ dependencies = [
|
|
|
22
22
|
"matplotlib",
|
|
23
23
|
"numpy",
|
|
24
24
|
"gdspy",
|
|
25
|
-
"meshio"
|
|
25
|
+
"meshio",
|
|
26
|
+
"pyvista",
|
|
27
|
+
"pyvistaqt"
|
|
26
28
|
]
|
|
27
29
|
requires-python = ">=3.9"
|
|
28
30
|
|
|
@@ -36,6 +38,7 @@ setupEM = "setupEM.setupEM:main"
|
|
|
36
38
|
setupThermal = "setupEM.setupThermal:main"
|
|
37
39
|
stackupEditor = "setupEM.stackupEditor:main"
|
|
38
40
|
resultViewer = "setupEM.result_viewer:main"
|
|
41
|
+
fieldViewer = "setupEM.field_viewer:main"
|
|
39
42
|
|
|
40
43
|
[tool.setuptools.dynamic]
|
|
41
44
|
version = {attr = "setupEM.__version__"}
|