Skip to main content
BeamZ logo

BeamZ is a GPU-accelerated electromagnetic simulation framework for photonic chip designers using the FDTD method. It enables fast, large-scale simulations and offers a familiar, high-level API for fast prototyping with just a few lines of code as well as an inverse design module for gradient-based optimization using the adjoint method.

Homepage / Documentation / Example Library

License: Apache-2.0 Tests Coverage

Core Features

  • Python-first, free (Apache-2.0 license) & open-source, with a native Rust rasterizer.
  • FDTD simulation in 2D and 3D.
  • GPU-accelerated, achieving high GCUPS performance.
  • Multi-GPU runs, handling large-scale simulations with billions of cells.
  • CPU-capable for fast prototyping, even on your laptop.
  • Intuitive and familiar API.
  • Native FDFD mode solver with discrete Yee-grid refinement and validation.
  • CPML, absorbing layers and PEC boundaries.
  • Unidirectional mode sources (single freq. and broadband, Huygens fields + TFSF, TE/TM).
  • Gaussian sources, e.g. for grating coupler simulations.
  • Integrated rasterization module.
  • Sub-pixel averaging using super-sampling.
  • Custom source time profiles.
  • Built-in layout flow (GDSII import/export).
  • DFT monitors and S-parameter extraction workflow for compact modeling.
  • Streamlined parametric design module.
  • Optimization/autodiff utilities for gradient-based inverse-design with Jax.

Examples

Try out notebooks from our growing example library. It includes:

Integration

BeamZ is used by several other OSS packages as an FDTD engine:

  • SiEPIC's GDS FDTD, an EDA- and solver-agnostic 3D FDTD compact modeling framework.
  • Lumix, a research codebase for optical neural networks and matrix inverse design.

Installation

Install BeamZ using pip:

pip install beamz

Development uses uv. Clone the repository and sync the package with its contributor dependencies:

git clone https://github.com/beamzorg/beamz
cd beamz
uv sync --extra dev --extra test

For a ready-to-use CUDA and Jupyter development environment, see the Docker and RunPod guide.

About

BeamZ's mission is to be the pragmatic FDTD engine of choice for photonic chip designers.

It focuses on streamlined workflows over feature bloat to produce useful results without tedious setup or configuration files and bringing GPU-acceleration for maximum performance in large-scale simulations to everyone.

The project is actively maintained. We aim to keep the code in Python, minimize dependencies, keep the line-count low, commented, and features local within the code to make the code readable and development easy so that - if there is something that isn't working or missing - you can quickly add it yourself. The engine is grounded in hundreds of tests, verifiable simulations and benchmarks, replicating known results from the established literature. Beyond benchmarking the core engine stats, we aim to reduce friction for chip designers at every step - from installation, to setting up the sim using a familiar API, to optimizing the performance of the rasterizer, mode solver, compiler, optimization loop, and integration into the overall chip design workflow.

Contributing

We appreciate all contributions. If you are planning to contribute bug-fixes, please do so without any further discussion. If you would like to add new features, please first open an issue and discuss the feature with us. There may be ongoing work that could conflict with your changes, or we may be heading in a different direction and we don't want to waste your time working on something that might be rejected. - You can find more information here.

The simplest way to support the project of course is by giving this repo a star. Thank you!


Copyright © 2026 Quentin Wach — Apache-2.0

Release files for beamz 0.5.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 beamz 0.5.0
File Size Uploaded
beamz-0.5.0.tar.gz 341.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for beamz 0.5.0
File
beamz-0.5.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
beamz-0.5.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
beamz-0.5.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
beamz-0.5.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
beamz-0.5.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 6.6 MB

Release files / beamz-0.5.0.tar.gz

Download URL beamz-0.5.0.tar.gz
Size 341.4 kB
Tags Source
SHA-256 checksum
How to use checksums
47b7517d199ce5deb77f9fd972a7398a672ca84909a702087a9819303354b41e
BLAKE2b-256 checksum
How to use checksums
e17fe514dd357a573e580dcbf03702a0e82b357c9a11d129f77baf2685dd6cf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / beamz-0.5.0-cp310-abi3-win_amd64.whl

Download URL beamz-0.5.0-cp310-abi3-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
564321a5533faf03d5b7341c3a0c06810412d6976cbca7f2c38157d94221f318
BLAKE2b-256 checksum
How to use checksums
d84d28530d58d219a864c15b79d93780203c77dad4aa2d18858f50facd1f4cd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / beamz-0.5.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL beamz-0.5.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
7b3421a115bbf39e82ef66f101e25091f2410b68a73b83c616393efc0b3d0a65
BLAKE2b-256 checksum
How to use checksums
24ee70a8f6af1020da2067499fef87f9229e60fbbd645223e4fe709ffe7e4887
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / beamz-0.5.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL beamz-0.5.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
474341122da5bc3e7ff19f8ac5dcd24beef28e3730f6f8f4eb89a4447b848d3f
BLAKE2b-256 checksum
How to use checksums
f2a67fda1936f230d8137b32ff055559650d6b08535ee9cfeae429a5b597aa01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / beamz-0.5.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL beamz-0.5.0-cp310-abi3-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
466c0da123c851e0cb19eb529431f05b0a7bf8a6f2ad2b1fe2c0c721c8f23fc2
BLAKE2b-256 checksum
How to use checksums
8c3e435c62b6c769300f0a430630ab608cfb01b9f359ecdd6e3b4670371b30fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / beamz-0.5.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL beamz-0.5.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
88cf4a62dc2c1e84892b1fb89b1dde117abd95c07152b8fbf6b5e13a8436ce24
BLAKE2b-256 checksum
How to use checksums
3b5135eebaa5a57b20bf71f7afd1b28cdb48ce6513a8bda7b8811469b95e1a73
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.5.1

6 release files

This release

0.5.0 This release

6 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

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