mie_abcd

pyvsim.MieUtils.mie_abcd(m, x)[source]

Computes a matrix of Mie coefficients:

\[a_n, b_n, c_n, d_n\]

of orders \(n=1\) to \(n_{max}\), complex refractive index \(m=m^\prime + im^{\prime\prime}\), and size parameter \(x=k_0\cdot r\), where \(k_0\) is the wave number in the ambient medium, \(r\) sphere radius;

Reference: p. 100, 477 in Bohren and Huffman (1983) BEWI:TDD122

There is a limitation for the maximum allowable \(x\) for this function. I have not yet verified from where it comes from (limit: \(x = 180\), which yields a maximum particle size of about \(30\mu m\) in air)

Adapted from Matlab code (Dec 2012) Vectorized (Apr 2013)

Parameters :

m : real or complex

The particle refractive index.

x : numpy.array (M)

The Mie parameter, defined as \(x = k_0 r = {{2 \pi r} \over \lambda}\) (where \(r\) is the particle radius and \(\lambda\) is the light wavelength)

Returns :

(an, bn) : numpy.array (\(n_{max}\), M)

The Mie \(a\) and \(b\) parameters calculated for \(n_{max}\) factors, used to calculate an approximation of the scattered light far field.

Raises :

ValueError :

If the particle diameter which is being calculated forces the creation of too big matrices (happens when \(x\) is higher than approximately 180)

This Page