Skip to main content
BeamZ logo

BeamZ is a differentiable, GPU-accelerated electromagnetic simulation framework for photonic chip designers using the FDTD method. Its engine 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.

Homepage / Documentation / Example Library

License: Apache-2.0 Tests Coverage

Core Features

  • Python-first with an intuitive and familiar API.
  • Free and open-source FDTD simulation in true 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.
  • Dedicated CUDA-backend for acceleration beyond default Jax.
  • CPML, absorbing layers and PEC boundaries.
  • Unidirectional mode sources (single freq. and broadband, Huygens fields + TFSF, TE/TM).
  • 3D Gaussian sources, e.g. for grating coupler simulations.
  • DFT monitors and S-parameter extraction workflow for compact modeling.
  • Integrated FDFD mode solver and rasterization module.
  • Regular and rectilinear meshing.
  • Full-tensor and diagonal Farjadpour (polarized averaging) subpixel-smoothing.
  • Simple GDS, GMSH and STL import and export.
  • Streamlined, integrated parametric design module.
  • Projection kernels and utilies for inverse design via auto-diff and adjoint-method workflow.

Examples

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

Integration

BeamZ is used by several other OSS packages as an FDTD engine and integrates with workflows across the open-source photonics ecosystem:

  • SiEPIC's GDS FDTD, an EDA- and solver-agnostic 3D FDTD compact modeling framework using BeamZ as the default engine.
  • Lumix, a research codebase for optical neural networks and matrix inverse design, using BeamZ as the main solver.
  • GDSFactory, the most popular open-source layout package for chip design for which BeamZ provides a simple workflow from PDK import to compact modeling.

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.

Mission

BeamZ aims to become the FDTD engine of choice for photonic simulations in industry and research, including photonic circuits, inverse design, metamaterials, fiber optics, nanophotonics, sensors (planned), active photonic devices (planned), and RF (planned), focusing on streamlined workflows and bringing multi-physics GPU-acceleration for maximum performance in large-scale simulations to everyone. - Detailed roadmap coming soon.

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!

Citation

If you use BeamZ in your research, please cite:

Quentin Wach. BeamZ: CUDA-accelerated Differentiable FDTD for Photonics. https://github.com/beamzorg/beamz

@software{wach_beamz,
  author = {Wach, Quentin},
  title = {{BeamZ}: {CUDA}-accelerated Differentiable {FDTD} for Photonics},
  url = {https://github.com/beamzorg/beamz}
}

Citation metadata is available in CITATION.cff. Please also report the version or commit used in your work. Zenodo archiving is planned to begin with the next release; its DOI and a DOI badge will be added once the archive is published. For reproducible research, use the DOI of the specific release you used.


Copyright © 2026 Quentin Wach — Apache-2.0

Metadata

Release files for beamz 0.5.2

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.2
File Size Uploaded
beamz-0.5.2.tar.gz 486.1 kB Details

Built distributions (wheels)

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

Total release size: 8.0 MB

Release files / beamz-0.5.2.tar.gz

Download URL beamz-0.5.2.tar.gz
Size 486.1 kB
Tags Source
SHA-256 checksum
How to use checksums
41ec37c622bb7e7643fe457e62ceecce32f0f54ce84576b285e08d05d154c6a1
BLAKE2b-256 checksum
How to use checksums
64a35482b423302c26b3e67d1fa4398b55434fae83eb5bb4d022df7bbe6877b9
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.2-cp310-abi3-win_amd64.whl

Download URL beamz-0.5.2-cp310-abi3-win_amd64.whl
Size 1.4 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
8cad88a18b6dec06631df620e3ba5dc867ce50718e6d121524d72040afa65427
BLAKE2b-256 checksum
How to use checksums
d6b0814ab8ab3f7b2705d7133f5d5a749d134fe41bc34feaff7c92c36f370ae1
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.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL beamz-0.5.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
087b6ec442f29f6c92cce266f16c9223897ab2b16b4e3cad3620bb478a5e78ef
BLAKE2b-256 checksum
How to use checksums
631861cb99f6a72d6eb83c5bbee308bb6034730b348d6dfb2c8c878c968741d8
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.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL beamz-0.5.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
938e59303f82aa7de6442491e9240114c0eb17e9e55cc10cf84f115c95d64da7
BLAKE2b-256 checksum
How to use checksums
3c320573e2801a6e3ce76cbc8c70db22e3b6f8caa194dd7b37691c6da6fcbfb8
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.2-cp310-abi3-macosx_11_0_arm64.whl

Download URL beamz-0.5.2-cp310-abi3-macosx_11_0_arm64.whl
Size 1.4 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
209c07ce37128e99f3d8bf762304700b8034ccf400c801f0c423ad6e2db1563a
BLAKE2b-256 checksum
How to use checksums
2b19ecd3dc7b7031d34f82353f8ff4801ff5cf4a86db886e4cb30877335a4672
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.2-cp310-abi3-macosx_10_12_x86_64.whl

Download URL beamz-0.5.2-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
48639b256164df264d087f0c48e3e6cc96334ee2edadc261fb7455c3ed1897c1
BLAKE2b-256 checksum
How to use checksums
105617835f11d36ab1ae76af87bb9596b13a8cd193d6d475d8f820bfe4dc6d2b
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.3

6 release files

This release

0.5.2 This release

6 release files

0.5.1

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