Skip to main content

Python GUI for gds2palace

Intro

Install

pip install setupEM

Full documentation, installation guide, and usage walkthrough: https://github.com/VolkerMuehlhaus/setupEM

Recent changes

What's New - October 16, 2026

Boundary conditions per side: Advanced... next to Boundary conditions on the Mesh and Boundaries tab opens a table with the six sides of the simulation box. Each side can have its own boundary condition (Absorbing, PEC or PMC) and air layer thickness; a blank entry uses the value from the tab. For example, PEC at zmin with 0 µm air models a backside ground plane at the box boundary. This replaces the "same on all sides / different per side" choice for the air layer, which now lives in the same table.

Loading a model with different boundary conditions per side no longer changes it to one condition for all sides: before, a single PEC side turned all six sides into PEC.

Stackup Editor: while the stackup has errors, the cross-section preview can't be redrawn and keeps the last valid drawing. It is now marked as not up to date: dimmed, crossed by a thin red line, with a banner above it. Show errors in the banner opens the editor's XML Preview tab, which lists the errors. The status line now points there too, instead of to Save.

What's New - October 12, 2026

3D Field Viewer: value markers. Check Probe in the View box (or press P), then click the model to place a numbered marker with the field value at that exact point. Clicking works from any angle, on the full model, the clipped solid, its cut face or the 2D plane only section; dragging still rotates. Markers are drawn on top of the model, so a marker on a buried body stays visible. A Markers list opens beside the view with the marker number, value and x / y / z in µm, plus Remove, Clear and Copy (tab-separated, for spreadsheets). For Elmer thermal temperatures, a dropdown switches the list and labels between K, °C and ΔT (rise above the lowest temperature in the model, in K). Right-click the model for Jump to Maximum in Cut Plane (with the clip plane on), Jump to Maximum on Surface of Body N (the outer surface of the body you clicked, e.g. the chip; results without body IDs use the whole shown surface), Add Marker Here, Remove Marker N and Clear Markers. Markers are updated when you change the field, result file or cycle; markers outside the new model are removed. Ported from EMStudio's field viewer.

3D Field Viewer: keys. With the 3D view focused: R / F / Home reset camera, I isometric, X / Y / Z axis views (Shift: negative side), + / − zoom, arrow keys pan, O parallel projection, M find max., A arrows on/off, P probe, PgUp / PgDn move the clip plane. VTK's own letter keys (e.g. w wireframe, 3 stereo, q / e which stopped the interactor) no longer do anything. The right-click menu now opens only on a click: a right-drag zooms without the menu popping up afterwards.

3D Field Viewer: the Cycle picker of a Palace field dump showed Palace's extra AMR error-indicator cycle as a frequency, e.g. "999 GHz (cycle 2)". It is now listed as "error indicator (cycle 2)". This happened when that cycle stores its Indicator/Rank values as point data. Dumps that store them as cell data were already listed as "geometry".

3D Field Viewer: running field_viewer.py / fieldViewer standalone with a window failed in Python environments that also have PyQt5 installed. Fixed.

Port de-embedding in scripts/combine_extend_snp.py fixed (the _deembedded.sNp and _dc_deembedded.sNp files): the negative inductance of all ports was put in series at port 1, and the other ports were not de-embedded. For a 3-port, port 1 got the sum of all three values. Now each port gets the value for its own port number; a port without geometry data in port_information.json is not de-embedded. The raw .sNp and the _dc.sNp files were not affected. Please run combine_snp again to create the de-embedded files again. The same bug was fixed in gds2palace, where Gianluca Simone and David Lurz (FAU) found it.

What's New - October 8, 2026

Loading the wrong kind of model: setupEM and setupThermal now tell you when a file belongs to the other app. A *.simcfg file opened in setupThermal or a *.tsimcfg file opened in setupEM shows a message naming the app to use instead. An imported *.py model script that is a thermal model (create_elmer_thermal, heat sources) in setupEM, or an EM model (create_palace/create_elmer, ports) in setupThermal, asks for confirmation first; the default is not to import.

Full history: CHANGES.md


Note: the setupEM PyPI package itself requires:

  • gds2palace>=0.8.0
  • gds_prepare_for_EM>=1.3.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.13.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for setupEM 0.13.1
File Size Uploaded
setupem-0.13.1.tar.gz 347.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for setupEM 0.13.1
File Interpreter ABI Platform
setupem-0.13.1-py3-none-any.whl Python 3 none any Details

Total release size: 698.4 kB

Release files / setupem-0.13.1.tar.gz

Download URL setupem-0.13.1.tar.gz
Size 347.1 kB
Tags Source
SHA-256 checksum
How to use checksums
03d1a71ba8fe0323ea48b98de964bec815fb833cc42dc972523c4f737cea2c15
BLAKE2b-256 checksum
How to use checksums
35440a8afa3d7daaa6cd89d34fa40c0dd3d68da9a72b33250d7f5e6855b4d38e
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.13.1-py3-none-any.whl

Download URL setupem-0.13.1-py3-none-any.whl
Size 351.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2fe2f236ec724da4b2fceea6cfebac5fd02f0c9df8da385970f5095272e65b81
BLAKE2b-256 checksum
How to use checksums
51ba03800702d925e33c302329d1715cc09ffa5fa65746daf2951a2dd5405d34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.13.1 This release

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.0

2 release files

0.6.4

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page