thin_film.tolerancing.core

Core tolerancing class for thin film stacks.

Manages operands (optical performance metrics) and perturbations, and provides evaluate / reset methods consumed by the analysis classes.

Classes

ThinFilmOperandSpec(property, wavelength_nm, ...)

Specification for a single operand.

ThinFilmTolerancing(stack)

Container for thin-film operands and perturbations.

class ThinFilmOperandSpec(property: Literal['R', 'T', 'A'], wavelength_nm: float, aoi_deg: float, polarization: str, target: float | None)[source]

Specification for a single operand.

aoi_deg: float
polarization: str
property: Literal['R', 'T', 'A']
target: float | None
wavelength_nm: float
class ThinFilmTolerancing(stack: ThinFilmStack)[source]

Container for thin-film operands and perturbations.

Parameters:

stack – The thin film stack to tolerance.

add_operand(property: Literal['R', 'T', 'A'], wavelength_nm: float, aoi_deg: float = 0.0, polarization: str = 'u', target: float | None = None) ThinFilmTolerancing[source]

Add a performance operand.

If target is None the current computed value is stored as the nominal reference.

Returns:

self for method chaining.

add_perturbation(layer_index: int, perturbation_type: Literal['thickness', 'index'] = 'thickness', sampler: BaseSampler | None = None, is_relative: bool = True) ThinFilmTolerancing[source]

Add a perturbation to a layer.

Returns:

self for method chaining.

evaluate() list[float][source]

Evaluate all operands and return their current values.

reset() None[source]

Reset all perturbations to nominal.