Skip to main content

A JAX-based efficient transfer-matrix method framework for optical simulations

Project description

JaxLayerLumos: A JAX-based Efficient Transfer-Matrix Method Framework for Optical Simulations

DOI PyPI - Python Version License: MIT Code style: black

Overview

JaxLayerLumos is an open-source software designed for scientists, engineers, and researchers in optics and photonics. It provides a powerful yet intuitive interface for calculating the reflection and transmission (RT) of light through multi-layer optical structures. By inputting the refractive index, thickness of each layer, and the frequency vector, users can analyze how light interacts with layered materials, including the option to adjust for incidence angles.

Our mission is to offer a lightweight, flexible, and fast alternative to commercial software, enabling users to perform complex optical simulations with ease. JaxLayerLumos is built with performance and usability in mind, facilitating the exploration of optical phenomena in research and development settings.

Features

  • Lightweight and Efficient: Optimized for performance, JaxLayerLumos ensures rapid calculations without the overhead of large-scale commercial software.
  • Gradient Calculation: Calculates the gradients over any variables involved in RT, powered by Jax.
  • Flexibility: Accommodates a wide range of materials and structures by allowing users to specify complex refractive indices, layer thicknesses, and frequency vectors.
  • Angle of Incidence Support: Expands simulation capabilities to include angled light incidence, providing more detailed analysis for advanced optical designs.
  • Open Source and Community-Driven: Encourages contributions and feedback from the community, ensuring continuous improvement and innovation.
  • Comprehensive Material Database: Includes a growing database of materials with their optical properties, streamlining the simulation setup process.

Getting Started

Installation

JaxLayerLumos can be easily installed by the following command.

pip install jaxlayerlumos

Alternatively, JaxLayerLumos can be installed from source.

pip install .

Examples

A collection of examples in the examples directory exhibits various use cases and capabilities of JaxLayerLumos.

Comparisons to Ansys Optics

Simulation results of JaxLayerLumos are compared to the results of stackrt, which is included in Ansys Optics. Our results are matched to the Ansys Optics results with sufficiently small errors.




Supported Materials

Materials supported by JaxLayerLumos are described in this file.

License

JaxLayerLumos is released under the MIT License, promoting open and unrestricted access to software for academic and commercial use.

Acknowledgments

  • Thanks to all contributors and users for your support and feedback.

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

jaxlayerlumos-0.3.1.tar.gz (4.7 MB view hashes)

Uploaded Source

Built Distribution

jaxlayerlumos-0.3.1-py3-none-any.whl (208.2 kB view hashes)

Uploaded Python 3

Supported by

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