thin_film.tolerancing.perturbation

Thin film perturbation classes.

Applies thickness or refractive-index perturbations to individual layers of a ThinFilmStack. Reuses the sampler hierarchy from optiland.tolerancing.

Classes

ThinFilmPerturbation(stack, layer_index, ...)

Perturbation applied to a single layer of a thin-film stack.

class ThinFilmPerturbation(stack: ThinFilmStack, layer_index: int, perturbation_type: Literal['thickness', 'index'], sampler: BaseSampler, is_relative: bool = True)[source]

Perturbation applied to a single layer of a thin-film stack.

Parameters:
  • stack – The thin film stack containing the layer to perturb.

  • layer_index – Index of the layer to perturb.

  • perturbation_type"thickness" or "index".

  • sampler – A sampler instance (RangeSampler, DistributionSampler, etc.) that generates perturbation values.

  • is_relative – If True (default), perturbation is multiplicative (nominal * (1 + delta)). If False, the sampled value replaces the nominal directly.

apply() None[source]

Sample a perturbation value and apply it to the layer.

reset() None[source]

Restore the layer to its nominal state.