thin_film.layer

Layer data class for thin-film optics.

This class represents a single layer in a thin-film stack, including its material properties and thickness.

Corentin Nannini, 2025

Classes

Layer(material, thickness_um[, name])

Represents a thin-film layer.

class Layer(material: BaseMaterial, thickness_um: float, name: str | None = None)[source]

Represents a thin-film layer.

Parameters:
  • material (BaseMaterial) – Optiland material providing n(wavelength) and k(wavelength).

  • thickness_um (float) – Layer thickness in microns (µm).

  • name (str | None) – Optional label for display.

Examples

>>> from optiland.materials import IdealMaterial
>>> from optiland.thin_film import Layer
>>> sio2 = IdealMaterial(1.46)
>>> layer = Layer(sio2, thickness_um=0.1, name="SiO2 100 nm")
material: BaseMaterial
n_complex(wavelength_um)[source]

Complex index n~ = n + i k for one or multiple wavelengths.

name: str | None = None
phase_thickness(wavelength_um: float | be.ndarray, cos_theta_l: complex | be.ndarray, n_complex_l: complex | be.ndarray) complex | be.ndarray[source]

Phase δ = 2π/λ·n·d·cos(θ_l)

Inputs must be broadcastable over wavelength and AOI grids.

thickness_um: float
update_thickness(new_thickness_um: float) Layer[source]

Update the layer thickness.

Parameters:

new_thickness_um (float) – New layer thickness in microns (µm).

Returns:

self for chaining.

Return type:

Layer