xopto.pf.miemlfractal module

class MieMlFractal(alpha: float, nlayers: float, nmedium: float, diameters: float, wavelength: float, drange: Tuple[float, float] = (1e-08, 1e-05), nd: int = 1000, limit: Optional[int] = None)[source]

Bases: xopto.pf.miemlpd.MieMlPd

Scattering phase function of fractally distributed (number density) layered spherical particles:

p(d) = A \left(\frac{1}{d}\right)^\alpha

The value of parameter A is computed so as to normalize the integral of the number density function on the specified interval drange = (d_1, d_2) to 1:

A = \frac{d_1^{\alpha + 1}}/{\alpha(1 - \left(\frac{d_1}{d_2})^{\alpha + 1}\right)}

Parameters

Examples

Scattering phase function of fractally distributed hollow spherical particles with outer diameter from 10 nm to 10 um and parameter alpha=2.4. The wall thickness of spherical particles accounts for 5% of the outer particle diameter.

>>> from matplotlib import pyplot as pp
>>> import numpy as np
>>>
>>> cost_heta = np.linspace(-1.0, 1.0, 1000)
>>> nlayers=[1.0, 1.45]
>>> diameters=[0.9e-6, 1e-6]
>>> fmieml = MieMlFractal(alpha=2.4, drange=[10e-9, 10e-6], nlayers=nlayers, nmedium=1.33, diameters=diameters, wavelength=550e-9, nd=1000)
>>>
>>> pp.figure()
>>> pp.semilogy(cost_heta, fmieml(cost_heta))
>>>