Python GUI for gds2palace
Install
pip install setupEM
Full documentation, installation guide, and usage walkthrough: https://github.com/VolkerMuehlhaus/setupEM
Recent changes
What's New - September 26, 2026
The AMR maximum DOF setting now shows an estimate of the RAM that Palace will need at that mesh size, both on the Mesh tab and in Preferences > Palace. The estimate is based on existing Palace results (about 12 GB per million DOF, up to 15 GB). On the Mesh tab, it turns into a warning when the worst case exceeds the "Stop Palace if memory exceeds" limit.
Stackup Preview: three or more layers at the same height (e.g. resistor sheets on top of Activ) are now drawn side by side instead of on top of each other, via labels sit near the upper end of the via, and sheet resistance labels show the correct unit (e.g. RHIGH: Rs=1360 Ω, was shown as 1360000 mΩ).
The bundled stackup files now include the latest parameterized gds2palace stackups for EM and thermal simulation: SG13G2_FEM_200um.xml, SG13G2_FEM_200um_passi3D.xml (conformal passivation around TopMetal2) and SG13CMOS5L_200um.xml. Chip and air height can be changed with the Override stackup Variables table. The previous SG13G2_100um.xml, SG13G2_200um.xml and SG13G2_nosub.xml are still included, so existing models keep working.
What's New - September 25, 2026
Added a Correction for via array cross section option on the Input Files tab, below via array merging, in setupEM (Palace and Elmer) and setupThermal. Merging fills the gaps between vias with via material, which overestimates the conductivity of a via array; when enabled, the conductivity of each merged via polygon (heat conductivity for thermal models) is multiplied by its fill factor (original via area / merged polygon area). This option requires gds2palace v0.7.0 or later and is hidden with an older version, which would silently ignore it.
What's New - September 22-24, 2026
Added a Conductor meshing option (Palace only) on the Mesh and Boundaries tab: Surface impedance (default, as before) or Solve inside (volume mesh), which models conductors as solid bulk-conductivity volumes instead - more accurate at low frequency, at the cost of more RAM/simulation time and reduced accuracy at higher frequencies. This option requires gds2palace v0.6.0 or later, earlier version silently ignore this setting.
Better display in Stackup Preview's for metals/vias that push outside their base dieelectric.
Palace's real memory usage is now measured directly from the running solver process(es) instead of parsed from its own log output, which could be inaccurate - this also makes the "Stop Palace if memory exceeds" kill switch more reliable.
The built-in 3D field viewer can now switch between the results of a multi-frequency Palace field-dump ("fdump") run: a new Cycle picker appears whenever the loaded result file has more than one solved frequency, and field_viewer.py --cycle <N> selects one from the command line. Previously the viewer could only ever show one fixed cycle of such a file, with no way to see the others.
Added File > New, which resets setupEM/setupThermal to the same blank state as a freshly started application - useful for starting a new model without restarting the app.
Full history: CHANGES.md
Note: the setupEM PyPI package itself requires:
- gds2palace>=0.7.0
- gds_prepare_for_EM>=1.2.0
- PySide6
- shiboken6
- scipy
- requests
- scikit-rf
- matplotlib
- numpy
- gdspy
- meshio
- pyvista
- pyvistaqt
(Other Python modules mentioned above are only needed to run standalone helper scripts in this repository, not to use the installed package.)
Metadata
Release files for setupEM 0.10.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| setupem-0.10.1.tar.gz | 302.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| setupem-0.10.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 620.7 kB
Release files / setupem-0.10.1.tar.gz
| Download URL | setupem-0.10.1.tar.gz |
|---|---|
| Size | 302.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31736bd05c54505c6960c26710a5901593f5cfde7c5cbc1b71dd16710599ae05
|
|
BLAKE2b-256 checksum How to use checksums |
85106300fbe64431adb4e09f9a9407bc7b700014f1263053aafa48b1e133e18f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / setupem-0.10.1-py3-none-any.whl
| Download URL | setupem-0.10.1-py3-none-any.whl |
|---|---|
| Size | 318.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
26c2f32312db7938098e09a86147f9174dd9b3dad6eccc5a6bce63d9738d6caa
|
|
BLAKE2b-256 checksum How to use checksums |
1c49ee24d9a7faff940cb1086387973066f651db2afdcdd62d4ae189bbdfe3ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|