toftul / refractiveindex

Easy Python interface to the RefractiveIndex.info database

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Easy Python interface to RefractiveIndex database

The original database
https://github.com/polyanskiy/refractiveindex.info-database

Database files parsing was made with a modified version of refractiveIndex.py from PyTMM project by Pavel Dmitriev.

Installation

pip install refractiveindex

Usage

from refractiveindex import RefractiveIndexMaterial

SiO = RefractiveIndexMaterial(shelf='main', book='SiO', page='Hass')

wavelength_nm = 600  # [nm]

SiO.get_epsilon(wavelength_nm)
# (3.8633404437869827+0.003931076923076923j)

SiO.get_refractive_index(wavelength_nm)
# (1.96553846)

SiO.get_extinction_coefficient(wavelength_nm)
# (0.001)

Notes:

  • here the time dependence is assumed to be $\mathrm{e}^{-\mathrm{i} \omega t}$, so $\mathrm{Im}(\varepsilon) > 0$ is responsible for the losses.
  • if there is a space in the name, one should write underscore instead of it, i.e. not page='Rodriguez-de Marcos' but page='Rodriguez-de_Marcos'.

How to get material page names

You can find the proper “page” name by hovering your cursor on the link in the Data section

How to get page name

Or you can look up folders in this repository
https://github.com/polyanskiy/refractiveindex.info-database

Simular projects for Julia

Julia interface to refractiveindex.info database
https://github.com/stillyslalom/RefractiveIndex.jl

Possible problems

Refractive index changed naming in its database, please upgrade the package

pip install --upgrade refractiveindex

and remove database folder at ~/.refractiveindex.info-database.

The database is currently limited to dispersion and extinction ('n-k') data.

About

Easy Python interface to the RefractiveIndex.info database

License:MIT License


Languages

Language:Python 100.0%