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
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
Built Distribution
File details
Details for the file jaxlayerlumos-0.3.1.tar.gz
.
File metadata
- Download URL: jaxlayerlumos-0.3.1.tar.gz
- Upload date:
- Size: 4.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c16f71dd979c0dbfc46531743f2ef8e0b44342b234cfbcd481d86392599e5e34 |
|
MD5 | ac62117f44b9db4432b20f419ee4add4 |
|
BLAKE2b-256 | 7b6e45e926b8e0b68ae503b20f4a144a1a4068ba9c449a2efc8a2ce826f5e697 |
File details
Details for the file jaxlayerlumos-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: jaxlayerlumos-0.3.1-py3-none-any.whl
- Upload date:
- Size: 208.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47ff296690e577c454d55e94dd70ccafdc8eac09f8ad96b637d05fb0eecb52dc |
|
MD5 | fc6aeac18b0fee8fcc61f8579cbfa5df |
|
BLAKE2b-256 | d3c5fd692bc6d8bffa8d4a1ce06e8f145945a3778622370d916a60a77a3c2e23 |