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.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 beamz 0.5.1
File Size Uploaded
beamz-0.5.1.tar.gz 395.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for beamz 0.5.1
File
beamz-0.5.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
beamz-0.5.1-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.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
beamz-0.5.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
beamz-0.5.1-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 6.8 MB

Release files / beamz-0.5.1.tar.gz

Download URL beamz-0.5.1.tar.gz
Size 395.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ba15c3ee3e23dbfa639b7038a5c6a4045f5d8d4e98c2f2a9368f50194f09696c
BLAKE2b-256 checksum
How to use checksums
4d58cfb2458c6fe950ac0254e0f4918b0a97b68884043528af5a6644bb0163a9
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.1-cp310-abi3-win_amd64.whl

Download URL beamz-0.5.1-cp310-abi3-win_amd64.whl
Size 1.2 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
5a924c318d740cdfeb183c740ebd71314da039cf00052990a558e37ac7518f07
BLAKE2b-256 checksum
How to use checksums
87a8c56a50acffeaad8508cbe7308641fb6a11f15d4279aaf462051f15635d56
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.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL beamz-0.5.1-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
daa13fd329aaaa68d87dd77896e6dc449eed3c5e6cbe637b242f2bf83d105262
BLAKE2b-256 checksum
How to use checksums
cdf502665a3038ce7af0a06721e57227d75723b3994dc7bbfb181b6861f9915a
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.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL beamz-0.5.1-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
fcb69e252e89222dd75e4c65f1e5bb842efef9550ff3d774e5505c7b8988fa36
BLAKE2b-256 checksum
How to use checksums
a99462194ffc2faa6fcb238b26d34b1e4e3ca7d52f1c50df7cd6423fdb4a686b
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.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL beamz-0.5.1-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
4691b687f0638aa3731a392c4d1384fd59665235aea17ef043558b5c1fb99a21
BLAKE2b-256 checksum
How to use checksums
44abc88d01f04ff0cb986386ce6150e7a182d158881eb72edc61193a38e18dae
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.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL beamz-0.5.1-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
61aa14d439f709a7ee750f1d25e9e61d549e9a1ccbddff73c04e6d36dbf8a31a
BLAKE2b-256 checksum
How to use checksums
e9da9c71da0503bcfd5210e87667c38ab982a1c377b18fe103f756bd41d48f85
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.5.1 This release

6 release files

0.5.0

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