Material (paos.util.material)

class Material(wl, Tambient=-218.0, Pambient=1.0, materials=None)[source]

Bases: object

Class for handling different optical materials for use in PAOS

Parameters:
  • Tambient (scalar) – Ambient temperature during operation (\(^{\circ} C\))

  • Pambient (scalar) – Ambient pressure during operation (atm)

  • wl (scalar or array) – wavelength in microns

  • materials (dict) – library of materials for optical use

sellmeier(par)[source]

Implements the Sellmeier 1 equation to estimate the glass index of refraction relative to air at the glass reference temperature \(T_{ref} = 20 ^{\circ}C\) and pressure \(P_{ref} = 1 \ atm\).

The Sellmeier 1 equation consists of three terms and is given as \(\displaystyle n^{2}(\lambda )=1+{\frac {K_{1}\lambda ^{2}}{\lambda ^{2}-L_{1}}}+ {\frac {K_{2}\lambda ^{2}}{\lambda ^{2}-L_{2}}}+{\frac {K_{3}\lambda ^{2}}{\lambda ^{2}-L_{3}}}\)

Parameters:

par (dict) – dictionary containing the \(K_1\), \(L_1\), \(K_2\), \(L_2\), \(K_3\), \(L_3\) parameters of the Sellmeier 1 model

Returns:

out – the refractive index

Return type:

scalar or array (same shape as wl)

static nT(n, D0, delta_T)[source]

Estimate the change in the glass absolute index of refraction with temperature as

\(n(\Delta T) = \Delta n_{abs} + n\)

where

\(\Delta n_{abs} = \frac{n^2 - 1}{2 n} D_0 \Delta T\)

Parameters:
  • n (scalar or array) – relative index at the reference temperature of the glass

  • D0 (scalar) – model parameter (constant provided by the glass manufacturer to describe the glass thermal behaviour)

  • delta_T (scalar) – change in temperature relative to the reference temperature of the glass. It is positive if the temperature is greater than the reference temperature of the glass

Returns:

out – the scaled relative index

Return type:

scalar or array (same shape as n)

nair(T, P=1.0)[source]

Estimate the air index of refraction at wavelength \(\lambda\), temperature \(T\), and relative pressure \(P\) as

\(n_{air} = 1 + \frac{\left(n_{ref} - 1\right) P}{1.0 + (T - 15) \cdot (3.4785 \times 10^{-3}) }\)

where

\(n_{ref} = 1 + \left[6432.8 + \frac{2949810 \lambda^{2}}{146 \lambda^{2} - 1} + \frac{25540 \lambda^{2}}{41 \lambda^{2} - 1} \right] \cdot 10^{-8}\)

This formula for the index of air is from F. Kohlrausch, Praktische Physik, 1968, Vol 1, page 408.

Parameters:
  • T (scalar) – temperature in \(^{\circ} C\)

  • P (scalar) – relative pressure in atmospheres (dimensionless in the formula). Defaults to 1 atm.

Returns:

out – the air index of refraction

Return type:

scalar or array (same shape as wl)

Note

  1. Air at the system temperature and pressure is defined to be 1.0, all other indices are relative

  2. PAOS can easily model systems used in a vacuum by changing the air pressure to zero

nmat(name)[source]

Given the name of an optical glass, returns the index of refraction in vacuum as a function of wavelength.

Parameters:

name (str) – name of the optical glass

Returns:

out – returns two arrays for the glass index of refraction at the given wavelengths: the index of refraction at \(T_{ref} = 20^{\circ} C\) (nmat0) and the index of refraction at \(T_{amb}\) (nmat)

Return type:

tuple(scalar, scalar) or tuple(array, array)

plot_relative_index(material_list=None, ncols=2, figname=None)[source]

Given a list of materials for optical use, plots the relative index in function of wavelength, at the reference and operating temperature.

Parameters:
  • material_list (list) – a list of materials, e.g. [‘SF11’, ‘ZNSE’]

  • ncols (int) – number of columns for the subplots

  • figname (str) – name of figure to save

Returns:

out – displays the plot output or stores it to the indicated plot path

Return type:

None

Examples

>>> from paos.util.material import Material
>>> Material(wl = np.linspace(1.8, 8.0, 1024)).plot_relative_index(material_list=['Caf2', 'Sf11', 'Sapphire'])