propagation#

optika.materials.matrices.propagation(wavelength, direction, thickness, n)[source]#

Compute the propagation matrix, which propagates the electric field through a homogenous slab.

Parameters:
Return type:

Cartesian2dMatrixArray

Examples

Compute the propagation matrix for \(s\)-polarized light normally incident on a layer of silicon dioxide

import astropy.units as u
import named_arrays as na
import optika

# Define the wavelength of the incident light
wavelength = 100 * u.AA

# Initialize a representation of silicon dioxide
sio2 = optika.chemicals.Chemical("SiO2")

# Compute the propagation matrix
optika.materials.matrices.propagation(
    wavelength=wavelength,
    direction=1,
    thickness=10 * u.nm,
    n=sio2.n(wavelength),
)
Cartesian2dMatrixArray(
    x=Cartesian2dVectorArray(
        x=ScalarArray(
            ndarray=1.09465461+0.10596849j ,
            axes=(),
        ),
        y=0,
    ),
    y=Cartesian2dVectorArray(
        x=0,
        y=ScalarArray(
            ndarray=0.90504869-0.08761361j ,
            axes=(),
        ),
    ),
)

Notes

The propagation matrix for a homogenous slab is given by Yeh [1988] Equation 5.1-24,

(1)#\[\begin{split}U = \begin{pmatrix} e^{-i \beta} & 0 \\ 0 & e^{i \beta} \\ \end{pmatrix},\end{split}\]

where

(2)#\[\beta = \frac{2 \pi}{\lambda} n h \cos \theta\]

is the phase change from propagating through the material, \(n\) is the index of refraction inside the material, \(\lambda\) is the wavelength of the incident light in vacuum, \(h\) is the thickness of the material, and \(\theta\) is the angle between the surface normal and the propagation direction of the incident light.