Skip to main content

EM package to create inverse / generative designs for your photonic devices with ease and efficiency.

Project description

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 Last Update Tests Coverage

Core Features

  • 100% Python, free (MIT license) & open-source.
  • Modular architecture with a high-level API.
  • GPU-accelerated (but CPU-capable).
  • Built-in layout flow (GDSII import/export).
  • FDTD simulation in 2D and 3D.
  • Absorbing Layers, CPML (WIP), and PEC boundaries.
  • Sub-pixel smoothing (using super-sampling).
  • Gaussian and mode sources with TE and TM polarization.
  • Custom source time profiles.
  • 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 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. While currently still experimental, 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!

Project details


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.3.0.tar.gz (1.9 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.3.0-py3-none-any.whl (331.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for beamz-0.3.0.tar.gz
Algorithm Hash digest
SHA256 48e37fd9b4c82866b9ccb586cf4124f5fd3085e20adf648850754fdb96020750
MD5 ca10431267dd196d1b7aed699e07b6e2
BLAKE2b-256 48c038ac846ec811e2213bdaeb45d1dad374e33aa7ddcc5b98220d68646c5828

See more details on using hashes here.

File details

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

File metadata

  • Download URL: beamz-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 331.5 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7230a4cc239835187d1d3a2cd725ffd02bd9e29b5c7406970585ba9c01ac1a6f
MD5 669894caa9b1146b9d5b12013ee680e9
BLAKE2b-256 2d2789b97d9aeca1d0d22191bc798abebfe6ca4debe69a1247a47a4f9c4e0347

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