environment.models.edlen#
Edlén (1966) Air Refractive Index Model (with NIST Modification).
This module provides functions to calculate the refractive index of air based on the seminal Edlén (1966) formulation. This implementation includes the NIST-recommended temperature correction for the water vapor term, which improves accuracy over a wider range of temperatures.
The original Edlén formulas require pressure in Torr (mmHg). This implementation accepts environmental conditions in SI units (Pascals, Celsius) and performs the necessary conversions internally.
References
Edlén, B. (1966). The Refractive Index of Air. Metrologia, 2(2), 71-80.
Stone, J. A., & Zimmerman, J. H. (2001). Index of Refraction of Air (NIST Web Page). https://emtoolbox.nist.gov/Wavelength/Documentation.asp
Kramer Harrison, 2025
Functions
|
Calculates refractive index using the modified Edlén (1966) model. |
- edlen_refractive_index(wavelength_um: float, conditions: EnvironmentalConditions) float[source]#
Calculates refractive index using the modified Edlén (1966) model.
This implementation uses the Edlén (1966) formula with the NIST temperature correction for the water vapor term to improve accuracy.
- Parameters:
wavelength_um – The wavelength of light in a vacuum, in micrometers (μm).
conditions – An EnvironmentalConditions object containing the temperature, pressure, relative humidity, and CO₂ concentration.
- Returns:
The phase refractive index of air (n).
- Raises:
ValueError – If wavelength is not positive.
TypeError – If conditions is not an EnvironmentalConditions object.
Example
>>> from optiland.environment import EnvironmentalConditions >>> nist_conditions = EnvironmentalConditions( ... temperature=20.0, ... pressure=101325.0, ... relative_humidity=0.0, ... co2_ppm=450.0, ... ) >>> n = edlen_refractive_index(0.633, nist_conditions) >>> print(f"Refractive index at 0.633 µm is {n:.8f}") Refractive index at 0.633 µm is 1.00027176