pyrcel.distributions.Lognorm

class pyrcel.distributions.Lognorm(mu, sigma, N=1.0, base=2.718281828459045)

Lognormal size distribution.

An instance of Lognorm contains a construction of a lognormal distribution and the utilities necessary for computing statistical functions associated with that distribution. The parameters of the constructor are invariant with respect to what length and concentration unit you choose; that is, if you use meters for mu and cm**-3 for N, then you should keep these in mind when evaluating the pdf() and cdf() functions and when interpreting moments.

Parameters:
mufloat

Median/geometric mean radius, length unit.

sigmafloat

Geometric standard deviation, unitless.

Nfloat, optional (default=1.0)

Total number concentration, concentration unit.

Attributes:
median, meanfloat

Pre-computed statistical quantities

Methods

pdf(x)

Evaluate size distribution density dN/dx (not logarithmic) at a particular radius x

pdfloge(x)

Evaluate size distribution logarithmic density dN/dln(x) at a particular radius x

pdflog10(x)

Evaluate size distribution logarithmic density dN/dlog(x) at a particular radius x

cdf(x)

Evaluate cumulative concentration up to a particular radius x

moment(k)

Compute the k-th moment of the lognormal distribution.

__init__(mu, sigma, N=1.0, base=2.718281828459045)
cdf(x)

Cumulative density function

\[\text{CDF} = \frac{N}{2}\left(1.0 + \text{erf}(\frac{\ln(x/\mu)}{\sqrt{2}\ln{\sigma}}) \right)\]
Parameters:
xfloat

Radius (must match unit of mu)

Returns:
cumulative concentration up to radius x
invcdf(y)

Inverse of cumulative density function.

Parameters:
yfloat

CDF value, between (0, 1)

Returns:
radius (same unit as mu) corresponding to given CDF value
moment(k)

Compute the k-th moment of the lognormal distribution

\[F(k) = N\mu^k\exp\left( \frac{k^2}{2} \ln^2 \sigma \right)\]
Parameters:
kint

Moment to evaluate

Returns:
moment of distribution
pdf(x)

Distribution density function dN/dx (not logarithmic)

\[\text{pdf} = \frac{N}{\sqrt{2\pi}\ln(\sigma) x}\exp\left( -\frac{\ln^2(x/\mu)}{2\ln^2\sigma} \right)\]
Parameters:
xfloat

Radius (must match unit of mu)

Returns:
distribution density value at radius x
pdflog10(x)

Distribution density function dN/dlog(x) (base 10 logarithm)

\[\text{pdf} = \frac{N\ln 10}{\sqrt{2\pi}\ln\sigma}\exp\left( -\frac{\ln^2(x/\mu)}{2\ln^2\sigma} \right)\]
Parameters:
xfloat

Radius (must match unit of mu)

Returns:
distribution logarithmic density value at radius x
pdfloge(x)

Distribution density function dN/dln(x) (natural logarithm)

\[\text{pdf} = \frac{N}{\sqrt{2\pi}\ln\sigma}\exp\left( -\frac{\ln^2(x/\mu)}{2\ln^2\sigma} \right)\]
Parameters:
xfloat

Radius (must match unit of mu)

Returns:
distribution logarithmic density value at radius x
stats()

Compute useful statistics for a lognormal distribution

Returns:
dict

Dictionary containing the stats mean_radius, total_diameter, total_surface_area, total_volume, mean_surface_area, mean_volume, and effective_radius