gds2openEMS: FDTD simulation workflow for RFIC
The files provided here enable openEMS EM simulation with layouts created for the IHP SG13G2 RFIC technology.
Install
pip install gds2openEMS
Full documentation, installation guide, and usage walkthrough: https://github.com/VolkerMuehlhaus/gds2openEMS
Recent changes
24-Oct-2026
Bugfix: with settings['resonance_estimation'] = True, numpy could print "RuntimeWarning: overflow encountered in power" during a run. The results were not affected. The warning no longer appears.
Version 0.6.4.
23-Oct-2026
New option settings['engine'] to choose the openEMS engine, e.g. the new GPU engine of openEMS (Metal on macOS, HIP on AMD and NVIDIA GPUs):
settings['engine'] = 'gpu'
Without it, nothing changes: openEMS uses its default multithreaded CPU engine. The GPU engine is not in an openEMS release yet (v0.37.0 doesn't have it): openEMS has to be built from its current source code. openEMS without the GPU engine ignores 'gpu' and runs on the CPU; gds2openEMS warns about that. See Running on the GPU in the user's guide.
Bugfix: if openEMS failed during setup, gds2openEMS still reported "FDTD simulation completed successfully". It now stops with an error.
Version 0.6.3.
22-Oct-2026
Stackup XML Editor, ADS Momentum (*.ltd) import: metals with an EXPAND thickness operation now make the dielectric next to them thicker, as in ADS, instead of reaching into the dielectric below. Before, a thick EXPAND DOWN metal (e.g. MET1/MET2 in a GaAs stackup) overlapped the layers underneath it, and a via could end up with zero height. Files where long lines are wrapped or END_... markers follow the last entry on the same line now import too; before, they failed with "No usable dielectric slabs".
Full history: CHANGES.md
Note: the gds2openEMS PyPI package itself only requires:
- gdspy>1.6.0
- CSXCAD
- openEMS
- numpy
- shapely
- PySide6
(Other Python modules mentioned above are only needed to run the example/model scripts in this repository, not to use the installed package.)
Metadata
Release files for gds2openEMS 0.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gds2openems-0.6.4.tar.gz | 199.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gds2openems-0.6.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 402.3 kB
Release files / gds2openems-0.6.4.tar.gz
| Download URL | gds2openems-0.6.4.tar.gz |
|---|---|
| Size | 199.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d708758061832fa14fe436b9da2a11db0e6cbbffcd1089b7623fe7cd77c0632
|
|
BLAKE2b-256 checksum How to use checksums |
670babbe9d743bbba5fb7aa154a363d63ce278440f5f419c08a1f7576bce5992
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / gds2openems-0.6.4-py3-none-any.whl
| Download URL | gds2openems-0.6.4-py3-none-any.whl |
|---|---|
| Size | 202.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
acf7313f4fe56cc9fc0682076290256c3b771162459e506c6b911bdafb24c2cd
|
|
BLAKE2b-256 checksum How to use checksums |
da9a6767725a3fd91c880d595cba54900b4da859928e0ddf0c948a7e8e6bc613
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for gds2openEMS 0.6.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.