function plain_Millikan_mobility (millibar, Celsius, d {nm} : real) : real;
  {cm2 V-1 s-1, according to ISO15900 without diameter correction,
   the correction 0.3-0.6 can be added to the input value of d}
  const a = 1.165; b = 0.48; c = 1.001; {Jung et al, 2011}
  var Kelvin, Viscosity, FreePath, Kn, r1, r2, y : real;
  begin
    Kelvin := Celsius + 273.15;
    r1 := Kelvin / 296.15; r2 := 406.55 / (Kelvin + 110.4);
    Viscosity {microPa s} := 18.3245 * r1 * sqrt (r1) * r2;
    FreePath {nm} := 67.3 * sqr (r1) * (1013 / millibar) * r2;
    Kn := 2 * FreePath / (d);
    if Kn < 0.03 {underflow safe} then y := 0 else y := exp (- c / Kn);
    plain_millikan_mobility := 1.6022 * (1 + Kn * (a + b * y)) /
                                        (3 * PI * Viscosity * d);
  end;