Python module to simulate light behavior in optical multilayers.
Project description
optical_multilayer
Table of Contents
Installation
pip install optical-multilayer
License
optical-multilayer is distributed under the terms of the MIT license.
About
Created by David C. Heson, Jack Liu, and Dr. William M. Robertson over the 2022 MTSU Computational Sciences REU (NSF REU Award #1757493).
Codebase created to explore the optical properties of multilayers and optimize their design to achieve maximum sensibilities, using minimas of reflected light and RIU (Refractive Index Unit) as qualitative measurements. A new measurement called SWT (Shift With Thickness) was also introdued, which is defined as the degree or nanometer shift in the location of a Bloch Surface Wave when the bottom layer increases by 10 nanometers in thickness.
Currently, the entirety of the code is written in Python Anaconda 3-5.3.1.
For the scripted version, go to: https://github.com/davidcheson/optical_multilayer.
Functionalities
The current functionalities of the program are:
- Input any custom multilayer arrangement into the existing functions, including ones to dynamic indexes of refraction values.
- Graph reflection and transmission coefficients across multilayers with changing angle or wavelength, for specific polarisation mode.
- Graph the electric field profile accross a multilayer for a specific angle, wavelength, polarisation, and multilayer.
- Calculate RIU and SWT values for specified multilayer arrangements.
- Explore by force bruting a set of parameters for the multilayers, finding the best setups in terms of RIU/SWT and reflectivity dips.
- Simulate the properties of a multilayer using a dynamic index of refraction, which is wavelength dependent and corresponds to a user-defined function.
- More to come!
To Do
- Rewrite matrix calculations using Rust.
- Explore how to do a gradient descent on parameter regions of interest.
- Improve help and context messaging.
- Condense and improve the electric field calculation.
Please refer any questions, comments, or suggestions to dch376@msstate.edu.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file optical_multilayer-0.0.52.tar.gz.
File metadata
- Download URL: optical_multilayer-0.0.52.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
075dba477d0b1ffeee626eedc26f8981c52e41d025be8eccee757e0ab2237ed5
|
|
| MD5 |
7986d56d373569b4b125cff55032b22b
|
|
| BLAKE2b-256 |
71d4b63a8654e140b4f3378f886e16c64cdd22c54660dc8631e7abf9ad32223f
|
File details
Details for the file optical_multilayer-0.0.52-py3-none-any.whl.
File metadata
- Download URL: optical_multilayer-0.0.52-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85c9854db0c360f98ec675b08adf47f2989a735b036ab5c41d14e04024e0c75a
|
|
| MD5 |
f54ef6ea492e412881dac40a26d455f5
|
|
| BLAKE2b-256 |
e8eedb1a3759feb02d0be7022434abf0e9508dcdbc8f88a9db502ab615174607
|