# Log normal distributions - particle sizes in an aerosol

Statistics were never my strong point and it's my first question, so please be gentle :) I'm doing some research using Computational Fluid Dynamics, CFD, to model the flow of an oil aerosol through a fibrous filter. The aerosol has a droplet size distribution that is log-normal. The existing code only allows the specification of a single size, I have to add the log-normal support.

What I need to be able to do is if someone describes an aerosol flow as having, say, 10,000 droplets, an average droplet size of 425nm and a standard dev of 15, be able to, within my code, calculate that there are:

aaa particles of size 100nm
bbb particles of size 200nm
ccc particles of size 300nm
ddd particles of size 400nm
...
...
...
iii particles of size 900nm
jjj particles of size 1000nm

when we are looking at particles in the range 100nm - 1000nm with 100nm step sizes.

In turn I need to push this information, the particle counts, along with a lot of other stuff into the CFD solver and see what happens to the droplets. The big questions is, how do I calculate the number of particles for each step size. As I said, my stat's is quite limited, so I don't even know if saying the average is 425nm... is the right way to frame the input data.

My Masters supervisor has told me one thing, using the pdf, but my reading of the definition of log-normal, yes on Wikipedia, leads me to think he is wrong. Any thoughts on how I can work this out are greatly appreciated.

Andrew

Updated:
Thanks for the answers, but this is where my minimal stats shines through. OK so we rephrase that we have a GM of, say 328nm, and a GSD of 14.8nm. I then look at the definition of the cumulative dist func. and see:

cdf = 1/2 + 1/2 * erf[(ln(x) - mu) / sqrt(2 * sigma^2)] - From wikipedia

Am I correct in that mu = GM = 328nm and sigma = GSD = 14.8nm? Then in turn, what do I use for my x value? If I need to get values at 100nm, 200nm, 300nm,....., 900nm, 1000nm, do I use these values, lets just drop the "nm" part for now, as X, one at a time, or do I use a ln/log of them or some other magic number based upon the value in question? I don't need to actually code the erf() as c++ has a function call for it, it's just how I calculate the actual value that I pass into the c++ function that is causing me angst.

Am I correct in that when I can calculate the input to the erf function that I calculate the cfd values which will be in the range 0 -> 1 which I then multiply by my sample size to get the number of particles below the point in question. I then just subtract successive values to get the particles in a range - correct/sort of correct/wrong???

Once again, thanks for the help,

Andrew

-
can you use R ? (if yes i'll post a code that'll solve this problem). –  user603 Nov 17 '10 at 11:05
Heard of it, but in this case, not relevant - application code is C++, the OpenFOAM CFD package, and runs on a super computer. –  Bluey The Dog Nov 17 '10 at 15:44

As @onestop writes, the GM and GSD are natural parameters for a lognormal distribution. However, they can be estimated from the arithmetic mean ($\mu$) and (usual) SD ($\sigma$) just by solving the formulas

$$\mu = \exp(\nu+ \tau^2/2) \text{ and}$$

$$\sigma^2 = \left( \exp(\tau^2)-1\right) \exp(2 \nu+ \tau^2) = \left( \exp(\tau^2)-1\right) \mu^2$$

for $\nu$ (the logarithm of the GM) and $\tau$ (the logarithm of the GSD). Evidently

$$\tau^2 = \log{\frac{\sigma^2 + \mu^2}{\mu^2}} \text{ and}$$

$$\nu = \frac{1}{2} \log{\frac{\mu^4}{\sigma^2 + \mu^2}}.$$

The distribution of the logarithms of the particle sizes is Normal with mean $\nu$ and variance $\tau^2$, reducing your problem to the elementary one of computing (or looking up) values of the cumulative normal distribution.

-