Skip to main content

Scattering-Matrix method for multilayer optics

Project description

SMMO (Scattering-Matrix method for Multilayer Optics) is scattering matrix method [1-3] implementation for python.

Installation

pip install smmo

Parameters

config

  • wavenumber: The wavenumber of refractive index (or absorption coefficient) of layers. The unit is inverse centimeter (cm-1).
  • incidence: Angle of incidence ($0\leqq\theta<90$). The unit is arc degree.
  • polarization: Polarization of the incidence light. s is s-polarization and p is p-polarization.

layer

  • n: Refractive index of the layer
  • k: Absorption coefficient of the layer
  • thickness: Thickness of the layer. The unit is centimeter (cm).
  • coherence: Coherence in the layer. True is coherence and False is incoherence.

Example

import numpy as np
from smmo import make_config, make_layer, SMMO

config = make_config(
    wavenumber=np.arange(0, 10000, step=1000),
    incidence=0,
    polarization="s"
)

layers = [
    make_layer(
        n=np.full(10, 1),
        k=np.full(10, 0),
        thickness=0,
        coherence=False
    ),
    make_layer(
        n=np.full(10, 1.5),
        k=np.full(10, 0),
        thickness=0.01,
        coherence=True
    ),
    make_layer(
        n=np.full(10, 2),
        k=np.full(10, 0),
        thickness=0.05,
        coherence=False
    ),
    make_layer(
        n=np.full(10, 1),
        k=np.full(10, 0),
        thickness=0,
        coherence=False
    )
]

output = SMMO(layers, config)()
>>> print(output)
{'T': array([0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8]),
 'R': array([0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2])}

Citation

@article{lee2022machine,
  title={Machine learning analysis of broadband optical reflectivity of semiconductor thin film},
  author={Lee, Byeoungju and Yu, Kwangnam and Jeon, Jiwon and Choi, EJ},
  journal={Journal of the Korean Physical Society},
  pages={1--5},
  year={2022},
  publisher={Springer}
}

Reference

[1] Ko, D. Yuk Kei, and J. C. Inkson., Physical Review B 38.14 9945 (1988)
[2] Ko, D. Yuk Kei, and J. R. Sambles., JOSA A 5.11 1863-1866 (1988)
[3] Dyakov, Sergey A., et al., International Conference on Micro-and Nano-Electronics 2009 (2010)

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

smmo-0.0.4.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smmo-0.0.4-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file smmo-0.0.4.tar.gz.

File metadata

  • Download URL: smmo-0.0.4.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for smmo-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c9801a273ad8f700e6a678715809375c5339f2b656e01b5141dec8db47037008
MD5 fa5abb49da034eec13b57718bc2ad199
BLAKE2b-256 c75e65efc22fc6414d0f24e33d6ffddc0cbb1ff471d66d99ef4c6415c8b48095

See more details on using hashes here.

File details

Details for the file smmo-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: smmo-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for smmo-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 15ce522ea293e7ee43c32508f64fe36af0088ff3c076b6fe72c4ab1913354603
MD5 5f38f651cc153b7bff2a4b5d19da0843
BLAKE2b-256 b6a4d8af5c3254541fd258c88186cea22de0b45e112aa42f74eaddf4e1f84b82

See more details on using hashes here.

Supported by

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