Skip to main content

Scattering-Matrix method for multilayer optics

Project description

Scattering-Matrix method 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.3.tar.gz (5.4 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.3-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smmo-0.0.3.tar.gz
  • Upload date:
  • Size: 5.4 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.3.tar.gz
Algorithm Hash digest
SHA256 8a1f7573970ea3aa8cefffeb6fd06edf867773ff41240dafd56229201048af0f
MD5 94972ea3f30a3972cb3c54764608af4c
BLAKE2b-256 3f9617eaaa7386921d8bdbba887181e99c53ea59c64b1774159bf2e97a00e9bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smmo-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 5.2 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 97de79762f4379588bb23d8f061bec1a5361eea093b2883831a093e763196abb
MD5 a8805c25073a6725af3c2164785aca01
BLAKE2b-256 0cce3d00a12fbc4dab089066cb0455dcec9f8adb5f1f548ce957400ef68d891f

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