Skip to main content

Create AWS Palace FEM Models from GDSII layout files

Intro

The files provided here enable RFIC FEM simulation using AWS Palace from GDSII layouts created in IHP SG13G2 RFIC technology.

Palace, is an open-source, parallel finite element code for full-wave 3D electromagnetic simulations. It can be scaled from single computer to large high performance simulation clusters and cloud-based computing.
https://awslabs.github.io/palace/stable/

In addition to AWS Palace, gds2palace can also generate models for Elmer FEM, as an additional workflow option for EM (S-parameter) simulation as well as steady-state thermal simulation. See CHANGES.md for this and other recent additions.

The gds2palace workflow in this repository is pre-configured for GDSII layout files in the IHP SG13G2 Open PDK. Special thanks to IHP and the public funded German project FMD-QNC (16ME0831) https://www.elektronikforschung.de/projekte/fmd-qnc for financial support, which has contributed to this work.

Install

pip install gds2palace

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

Recent changes

0.7.0 (25-26 September 2026)

settings['fill_factor_correction'] is a new option for improved accuracy when using via array merging (merge_polygon_size > 0). Merging fills the gaps between vias with via material, so the merged via block has a larger cross section and lower resistance than the real via array. With this option, each merged via polygon's conductivity is multiplied by its fill factor (original via area / merged polygon area). It applies to Palace and to Elmer (EM and thermal) and is not active by default.

API change: gds_polygon.is_via and the is_via parameter of all_polygons_list.add_rectangle()/add_polygon() were removed: they were never set when reading GDSII and never used. Scripts that pass is_via= to these functions need to drop that argument.

0.6.0 (22-23 September 2026)

settings['filled_metals'] is a new option for Palace: volume meshing inside conductors instead of a surface impedance on the conductor surfaces. This gives more accurate conductor loss at low frequency, where the skin depth is no longer small compared to the conductor cross section. It is not the recommended default, because it needs more RAM and simulation time.

settings['adaptive_mesh_conformal'] is a new experimental option (default False) for conformal instead of non-conformal (hanging node) adaptive mesh refinement.

combine_extend_snp.py now handles an interrupted Palace run (e.g. stopped by a memory limit): missing S-parameters are written as 0.0 dB / 0 deg with a warning, instead of crashing or writing invalid Touchstone data.

Full history: CHANGES.md


Note: the gds2palace PyPI package itself only requires:

  • gdspy>1.6.0
  • gmsh
  • numpy
  • shapely>=2.0

(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 gds2palace 0.7.0

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

Source distribution (sdist)

Source distribution for gds2palace 0.7.0
File Size Uploaded
gds2palace-0.7.0.tar.gz 89.7 kB Details

Built distribution (wheel)

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

Total release size: 180.9 kB

Release files / gds2palace-0.7.0.tar.gz

Download URL gds2palace-0.7.0.tar.gz
Size 89.7 kB
Tags Source
SHA-256 checksum
How to use checksums
91c75d7f5e83aa360b1367435f8bf0be89ef02e847e4a55ef960641048bf2a6d
BLAKE2b-256 checksum
How to use checksums
b3e8d3861a20376fd550473018394b851869c8d474444e6dd3a6178c76a7de42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / gds2palace-0.7.0-py3-none-any.whl

Download URL gds2palace-0.7.0-py3-none-any.whl
Size 91.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a729cdcea5705f154ca1186a04ee61366cb672816773ef6dfc6a09b472889cf
BLAKE2b-256 checksum
How to use checksums
8b7816e316c49fb7b0cca44a6553cd3a1e4e8a9d811e089d9d895c6c10a4349e
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

0.8.0

2 release files

This release

0.7.0 This release

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.1

2 release files

0.4.0

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.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.19

2 release files

0.1.17

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

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

0.1.0

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