refind - Refractive index related functions

A collection of functions related to the optical refractive index. Apart from providing tabulated indices for commonly used optical materials including dielectrics, common solvents and metals, this module defines functions for more general use. These include Kramers-Kronig transformations, the Lorentz oscillator model, general support for Sellmeier equations, inhomogeneous broadening and first, second and third order derivatives with respect to wavelength. Furthermore, functions for conversion from refractive index to group index and permittivity and vice versa are provided.

Note

All functions for tabulated refractive indices expect wavelength to be in um.

Change log:

01-29-2016:

  • Changed syntax in load_data in response to numpy V 1.10 changes.

02-09-2016:

  • Added gadolinium gallium garnet to n_glass.
  • Added polystyrene to n_polymer.
  • Updated kramers_kronig.

Conversion / Manipulation Functions

dN(N, wl, *args) First order derivative of the refractive index as function of wavelength using first-order finite difference.
d2N(N, wl, *args) Second order derivative of the refractive index as function of wavelength using first-order finite difference.
d3N(N, wl, *args) Third order derivative of the refractive index as function of wavelength using first-order finite difference.
n_group(N, wl, *args) Group velocity refractive index.
n_to_eps(n) Convert (complex) refractive index to (complex) permittivity.
eps_to_n(eps) Convert (complex) permittivity to (complex) refractive index.
kramers_kronig(nu, k[, dir]) Calculate the Kramers-Kronig transformation of extinction coefficient spectrum k as function of wavenumber nu (or frequency) and vice-versa.
applyInhomogeneousBroadening(x, y, dx) Convolute a refractive index / permittivity profile with a Gaussian to introduce inhomogeneous broadening.

Refractive Indices - Experimental

n_air(wl) Refractive index of standard air (dry, 15degC, 101325 Pa with 450ppm CO2).
n_coatings(wl[, type]) Refractive index of common materials used for optical coatings.
n_glass(wl[, type]) Refractive index of some common glasses using their respective Sellmeier coefficients.
n_liquid(wl[, type]) Refractive index of common solvents.
n_metal(wl[, type]) Returns refractive index of some metals (Au, Ag, Cu, Al, Cr).
n_polymer(wl[, type]) Refractive index of some polymers.

Refractive Indices - Model

n_LorOsc(wl, ebg, *p) Refractive index from Lorentz oscillator model.
alpha_LorOsc(wl, ebg, *p) Absorption coefficient from Lorentz oscillator model.
n_metal_model(wl, epsinf, lp, gp, *poles) Use the model presented in Etchegoin et al., J Chem Phys 125, 164705 (2006) to describe the refractive index of nobel metals using a combination of Drude and Lorentz models.
n_sellmeier(wl, *p) General Sellmeier-type of refractive index.