environment.models.kohlrausch#

Kohlrausch Air Refractive Index Model (Zemax Implementation).

This module provides a function to calculate the refractive index of air according to the specific formula used by Zemax OpticStudio. This formula is attributed to F. Kohlrausch, but the constants used are specific to the Zemax implementation.

The model consists of a Sellmeier-type dispersion equation for a reference condition and a linearized scaling factor to account for variations in temperature and pressure. It is a model for dry air and does not explicitly account for humidity or CO₂ variations.

References

Kramer Harrison, 2025

Functions

kohlrausch_refractive_index(wavelength_um, ...)

Calculates air refractive index using the Kohlrausch (Zemax) formula.

kohlrausch_refractive_index(wavelength_um: float, conditions: EnvironmentalConditions) float[source]#

Calculates air refractive index using the Kohlrausch (Zemax) formula.

This model ignores the humidity and CO₂ concentration from the conditions object, as it is designed for dry air.

Parameters:
  • wavelength_um – Wavelength of light in a vacuum, in micrometers (μm).

  • conditions – An EnvironmentalConditions object. Only temperature and pressure are used.

Returns:

The refractive index of air (n).

Raises:

ValueError – If the wavelength is zero or if the temperature results in a non-positive denominator in the scaling term.

Example

>>> from optiland.environment import EnvironmentalConditions
>>> conditions_std = EnvironmentalConditions(
...     temperature=15.0,
...     pressure=101325.0
... )
>>> n = kohlrausch_refractive_index(0.55, conditions_std)
>>> print(f"Refractive index at 0.55 µm is {n:.8f}")
Refractive index at 0.55 µm is 1.00271728