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
-
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