Skip to main content
BEAMZ

BEAMZ is an electromagnetic simulation package for photonic chip designers using the FDTD method written in Jax. It features a high-level API for fast prototyping with just a few lines of code, an inverse design module for gradient-based optimization using the adjoint method with autodiff.

pip install beamz

License: Apache-2.0 Tests Coverage

Core Features

  • 100% Python, free (Apache-2.0 license) & open-source.
  • Modular architecture with a high-level API.
  • GPU-accelerated (but CPU-capable).
  • FDTD simulation in 2D and 3D.
  • CPML, absorbing layers and PEC boundaries.
  • Gaussian and mode sources with TE and TM polarization.
  • 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 and interactive 3D web-view.
  • Optimization/autodiff utilities for gradient-based inverse-design with Jax.

Examples

Read and try out our example notebooks (recommended) or download and run examples/ from this repository.

About

BEAMZ's goal is to become the pragmatic FDTD engine of choice for photonic chip designers.

It focuses on streamlined workflows to produce useful results without tedious setup or configuration files. The project is under active development yet this is not a research project with the goal to demo a novel framework we can publish, nor a costly, closed API that hides how it works and gives you no ownership. A modular architecture is chosen over a purely object-oriented architecture 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.

If any of this excites you or if have any questions, please open an issue on GitHub. Feel free to fork this project, to suggest or contribute new features, or simply support the project by giving this repo a star. Thank you!


Copyright © 2026 Quentin Wach — Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beamz-0.4.1.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

beamz-0.4.1-py3-none-any.whl (350.6 kB view details)

Uploaded Python 3

File details

Details for the file beamz-0.4.1.tar.gz.

File metadata

  • Download URL: beamz-0.4.1.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for beamz-0.4.1.tar.gz
Algorithm Hash digest
SHA256 f3cda08640604926be1f0f9f5f4d92b9d826cf5c24d3981f36c9b09253642517
MD5 92ffbe5773c8e02a7389751b6b97d6d7
BLAKE2b-256 d0a810eb1d82c5c99ac6c98e92bfe7e7bde7ba1d0a7c42c6b19ea174dcefb812

See more details on using hashes here.

File details

Details for the file beamz-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: beamz-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 350.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for beamz-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8751a174c1620e62d8dafe7fc9d855828000c31ef14aa21d3099f0c163291447
MD5 d2d12e4125055e22d2ab74071066194f
BLAKE2b-256 5f1845962bb900cbf6a2543f1bf887e4055c0e5291017db0b22af47bf87970d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page