thin_film.optimization.operand.thin_film
Thin Film Operand Module
This module contains the ThinFilmOperand class with static methods for computing reflectance, transmittance, and absorptance values for thin film stacks. These operands are designed to work with the optimization framework.
Corentin Nannini, 2025
Classes
Operand functions for thin film stack optimization. |
- class ThinFilmOperand[source]
Operand functions for thin film stack optimization.
This class provides static methods that compute optical properties (reflectance, transmittance, absorptance) of thin film stacks. These methods are designed to be used as operand functions in the optimization framework.
- static absorptance(stack: ThinFilmStack, wavelength_nm: float | list[float], aoi_deg: float = 0.0, polarization: str = 'u') float[source]
Compute absorptance for optimization.
- Parameters:
stack – The thin film stack to analyze.
wavelength_nm – Wavelength(s) in nanometers.
aoi_deg – Angle of incidence in degrees. Defaults to 0.0.
polarization – Polarization state (‘s’, ‘p’, ‘u’). Defaults to ‘u’.
- Returns:
- The absorptance value. If multiple wavelengths are provided,
returns the mean absorptance.
- Return type:
float
- static absorptance_weighted(stack: ThinFilmStack, wavelengths_nm: list[float], weights: list[float], aoi_deg: float = 0.0, polarization: str = 'u') float[source]
Compute weighted absorptance over multiple wavelengths.
- Parameters:
stack – The thin film stack to analyze.
wavelengths_nm – List of wavelengths in nanometers.
weights – List of weights for each wavelength.
aoi_deg – Angle of incidence in degrees. Defaults to 0.0.
polarization – Polarization state (‘s’, ‘p’, ‘u’). Defaults to ‘u’.
- Returns:
The weighted absorptance value.
- Return type:
float
- static reflectance(stack: ThinFilmStack, wavelength_nm: float | list[float], aoi_deg: float = 0.0, polarization: str = 'u') float[source]
Compute reflectance for optimization.
- Parameters:
stack – The thin film stack to analyze.
wavelength_nm – Wavelength(s) in nanometers.
aoi_deg – Angle of incidence in degrees. Defaults to 0.0.
polarization – Polarization state (‘s’, ‘p’, ‘u’). Defaults to ‘u’.
- Returns:
- The reflectance value. If multiple wavelengths are provided,
returns the mean reflectance.
- Return type:
float
- static reflectance_weighted(stack: ThinFilmStack, wavelengths_nm: list[float], weights: list[float], aoi_deg: float = 0.0, polarization: str = 'u') float[source]
Compute weighted reflectance over multiple wavelengths.
- Parameters:
stack – The thin film stack to analyze.
wavelengths_nm – List of wavelengths in nanometers.
weights – List of weights for each wavelength.
aoi_deg – Angle of incidence in degrees. Defaults to 0.0.
polarization – Polarization state (‘s’, ‘p’, ‘u’). Defaults to ‘u’.
- Returns:
The weighted reflectance value.
- Return type:
float
- static transmittance(stack: ThinFilmStack, wavelength_nm: float | list[float], aoi_deg: float = 0.0, polarization: str = 'u') float[source]
Compute transmittance for optimization.
- Parameters:
stack – The thin film stack to analyze.
wavelength_nm – Wavelength(s) in nanometers.
aoi_deg – Angle of incidence in degrees. Defaults to 0.0.
polarization – Polarization state (‘s’, ‘p’, ‘u’). Defaults to ‘u’.
- Returns:
- The transmittance value. If multiple wavelengths are provided,
returns the mean transmittance.
- Return type:
float
- static transmittance_weighted(stack: ThinFilmStack, wavelengths_nm: list[float], weights: list[float], aoi_deg: float = 0.0, polarization: str = 'u') float[source]
Compute weighted transmittance over multiple wavelengths.
- Parameters:
stack – The thin film stack to analyze.
wavelengths_nm – List of wavelengths in nanometers.
weights – List of weights for each wavelength.
aoi_deg – Angle of incidence in degrees. Defaults to 0.0.
polarization – Polarization state (‘s’, ‘p’, ‘u’). Defaults to ‘u’.
- Returns:
The weighted transmittance value.
- Return type:
float