function Boltzmann_probability {of charge qe on a particle of diameter d} (q {number of elementary charges}: integer; d {particle diameter : nm}, T {air temperature : K} : real) : real; const k = 1.38e-23; {Boltzmann constant} e = 1.6e-19; {elementary charge} eps = 8.85e-12; {electric constant} var i : integer; a, x, s : real; begin a := e * e / (4 * pi * eps * d * 1e-9 * k * T); i := 0; s := 0; repeat i := i + 1; x := exp (-i * i * a); s := s + x; until x < 1e-9; Boltzmann_probability := exp (-q * q * a) / ( 1 + 2 * s); end;