Python Implementation of Rigorous Coupled Wave Analysis
Project description
Getting Started
Installation
The recommended way to install this software is with pip
:
pip install rcwa
And that's it!
Hello World Program
To run a simple example, run:
python -m rcwa.examples.bragg_mirror
This should run an example with a 10-layer bragg mirror (also known as a dielectric mirror), which can have very high reflectance near its design wavelength, and output the reflectance as a function of wavelength, as seen below:
Features
- Implements 1D Transfer Matrix Method for homogenous layers
- Implements full rectangular 2D RCWA for periodic layers
- Huge material database for n/k values in optical range built-in based on refractiveindex.info, including metals, plastics, glass, and ceramics
- Compute reflection and transmission spectra at arbitrary incidence and polarization
- Compute spectroscopic ellipsometry curves
- Exactly solves Maxwell's Equations for arbitrary layer stacks of any thickness
- Compute reflected power, transmitted power, and S-parameters
- Easy to use class-based syntax
- Large, fast-to-run test suite
- Extremely fast narrowband, rigorously correct simulations well suited for resonant devices
Example Uses
- Compute reflected and transmitted power from a thin film stack
- Determine resonant frequency of a VCSEL
- Determine reflectance of a bragg mirror, on or off-axis
- Find diffraction efficiencies for a 1D or 2D diffraction grating
- Compute reflected power from a metallic mirror
Documentation
This project is documented on Read The Docs. For additional information, including downloading examples, you can view this project on github.
Author: Jordan Edmunds, UC Irvine Alumnus, UC Berkeley Ph.D. Student
Date Started: 2020/01/05
License
This project is distributed under the MIT license.
Dependencies
Dependencies are comprehensively covered by the setup.py file, and the most recent set of dependencies can be found there. Currently, this requires numpy, scipy, pandas, matplotlib, and pyyaml. The documentation is built using Sphinx and hosted on readthedocs.io.
Acknowledgements / References
This work is based primarily on a set of lectures and associated course material by Professor Raymond Rumpf at the University of Texas, El Paso.
[1] Rakić, Aleksandar D., Aleksandra B. Djurišić, Jovan M. Elazar, and Marian L. Majewski. "Optical properties of metallic films for vertical-cavity optoelectronic devices." Applied optics 37, no. 22 (1998): 5271-5283.
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
File details
Details for the file rcwa-0.1.97.tar.gz
.
File metadata
- Download URL: rcwa-0.1.97.tar.gz
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c87056c4ec5e84c2783441f0bb74bc2932d9b75f8930fa5ea1a09d327b3f1abe |
|
MD5 | 868e7b4ffdf8e83951bdcec8a70567e1 |
|
BLAKE2b-256 | 74098fff8fa619913f628e4a7d42a710d5735d36e39df53d25aad506f857ab97 |
File details
Details for the file rcwa-0.1.97-py3-none-any.whl
.
File metadata
- Download URL: rcwa-0.1.97-py3-none-any.whl
- Upload date:
- Size: 4.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e35df500d46922a18809c152f836558b1885e9496be0365208c6e6a304381150 |
|
MD5 | 9016c56aab0640bab8c9266278527f63 |
|
BLAKE2b-256 | 504288404bb4f9e795f1eff7e77ed699de694e833d2f044dfffff088ad15fa54 |