Skip to main content

Python Implementation of Rigorous Coupled Wave Analysis

Project description

Build codecov docs PyPI versionDOI

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:

Bragg Mirror Plot

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 Github Pages. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rcwa-0.1.127.tar.gz (5.6 MB view details)

Uploaded Source

Built Distribution

rcwa-0.1.127-py3-none-any.whl (4.6 MB view details)

Uploaded Python 3

File details

Details for the file rcwa-0.1.127.tar.gz.

File metadata

  • Download URL: rcwa-0.1.127.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for rcwa-0.1.127.tar.gz
Algorithm Hash digest
SHA256 c219790872cace004daab886e87a1bede6b0312de0df89290c53c6ee32cda5f8
MD5 b63588f1521d9d62b62d2ff2229f6d8c
BLAKE2b-256 bcffa02f707225a0f5ad69e0c9c522debcd91bdbb92cff0ffe9469dbe0df6d6e

See more details on using hashes here.

File details

Details for the file rcwa-0.1.127-py3-none-any.whl.

File metadata

  • Download URL: rcwa-0.1.127-py3-none-any.whl
  • Upload date:
  • Size: 4.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for rcwa-0.1.127-py3-none-any.whl
Algorithm Hash digest
SHA256 addb114867346330e238eb976bdfa6d3141390eab4c0501f3a7473a814c9223e
MD5 69b7eb543b6c0fc4c3d2c8f3e92450b7
BLAKE2b-256 e599bf828d075912e9b8811400c714776369229dcdec637e7602a213218edf95

See more details on using hashes here.

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