function Z_approx_air (millibar, Celsius, d {nm} : real) : real; {cm2 V-1 s-1} const a = 1.165; b = 0.483; c = 0.997; {ISO 15900} {Valid when d > 0.5 nm} var Viscosity, FreePath, Kn, r1, r2, y, dd : real; begin y := d + 0.00135 * Celsius - 1.28; dd := d + 0.611 - 0.205 * exp(-2.4 * y * y) - 0.071 / d; r1 := (Celsius + 273.15) / 296.15; r2 := 406.55 / (Celsius + 383.55); Viscosity {microPa s} := 18.3245 * r1 * sqrt (r1) * r2; {ISO 15900} FreePath {nm} := 67.3 * sqr (r1) * (1013 / millibar) * r2; {ISO 15900} Kn := 2 * FreePath / dd; if Kn < 0.03 {underflow safe} then y := 0 else y := exp (- c / Kn); Z_approx_air := 1.6022 * (1 + Kn * (a + b * y)) / (3 * PI * Viscosity * dd); end;