Light scattering calculator: homogeneous sphere
This program calculates the total (angle-integrated) attenuation, scattering, and absorption parameters, as well as the scattering matrix (Mueller matrix) of a single homogeneous sphere or a size distribution of spheres, according to Mie theory. The sphere material may absorb light. However, the medium surrounding the sphere is assumed to be nonabsorbing.
This program is intended to be used in the Windows environment. A screen resolution of 1024 x 768 or higher is expected.
If needed, modify the parameters displayed in the program main form (see User interface) and click the Run button to initiate calculations. The results will be displayed automatically. These results can be copied to the Windows clipboard (click Copy) and saved to a space-delimited text file (Save). You can also select a portion of the output text, copy it to the clipboard with CTRL-C, and paste it with CTRL-V to a Windows program that accepts text from the Windows clipboard.
Preferences are all user-adjustable program parameters. On program startup default preferences will be used. To save preferences, simply set the parameters in the program's main form and click the Preferences | Save menu item (this notation means the Save item of the Preferences submenu) or Preferences | Save As. The preferences system, intended as a convenience, can also be used to document the calculations if the results file name is synchronized with the preference file name.
The preferences are saved to a binary file. That file name is displayed in the Preferences file name box. Long file names are cut to fit into that box. Position the cursor over the abbreviated name to display it in full in a hint box that appears near the cursor tip. In order to simplify data archiving, the name of the results file proposed in the Save homogeneous sphere results file save dialog is the same as that of the current preferences file name. Hence, you should avoid including the "Pref" string or a similar string in the preferences file name.
When a preferences file is loaded, the values of the adjustable parameters of the program are used to update the main form. If you subsequently change any of these parameters, the "mod" indicator is shown in the Preferences file name ... section until you save the modified parameters to the same or another preferences file.
Save - saves the current preferences to a file (extension=pre)
Limits - displays the limits of the program parameters. The primary purpose of the limits is to prevent invalid numerical operations (for example, division by 0). However, even with the program adjustable parameters all within the limits, the calculation results may look strange, for example, all scattering properties reported may be identical to zero when integrating the scattering properties over particle size. This may prevent the proper completion of the calculations, namely the normalization of all elements of the scattering matrix other than M11 by that element. Strange-looking results or parameter values may certainly be also a result of the programming error. Hence, we would greatly appreciate your letting us know about it at email@example.com.
Edit x button opens the sphere size range editor.
If the output is requested to be the function of the scattering angle (theta, see Setting the output format), then only the start parameter of the size range is displayed. If the output is requested to be the function of the particle size (see Setting the output format), the remaining particle size range parameters: step, count, and end are displayed (and can be edited) in units implied by the status of the diam check box: if that box is unchecked, then the units are "nondimensional", otherwise these are the units of the wavelength [μm]. Based on these parameters, the relative particle size list is generated as follows
diam check box toggles the absolute/relative particle size definition.
mr and mi edits
Edit theta button opens the scattering angle range editor.
Range editors for the particle size and scattering angle accept any inputs that are consistent with an abstract range definition. Thus, range definitions may be accepted in a range editor form and displayed in the main form that do not fulfill either the program limits (see Miscellaneous menu items) of the relevant variables or the algorithm requirements. The data are verified for consistency with the light scattering algorithm only when the user clicks on the Run button. The user is advised about problems with the data if any.
One of the range parameters is always calculated. You can force a parameter to be calculated (which prevents it from being edited) by clicking on the corresponding radio button in the Calc column of the range editor form. You can preview the effects of changing a range parameter by clicking the Apply button to apply the change. If satisfied, click Ok to accept it. You can also click Ok right away after any parameter changes.
"Output integral properties as"
Please also see the Output section in this document for details.
"Output as a function of"
If the particle size scale is absolute (the diam checkbox is checked) and the output is set to be a function of the scattering angle (the Scattering angle in Output as a function of is selected) then you can integrate the scattering properties, weighed by the particle size distribution (PSD), over a particle diameter range as defined in the main form.
The integration results are displayed as the attenuation, scattering, and absorption coefficients (the total scattering properties) and the scattering (Mueller) matrix (the differential scattering properties). You can easily convert the M11 element of the scattering matrix into the volume scattering function of the dispersion of spherical particles characterized by the particle size distribution type and parameters chosen, by multiplying M11 by a factor of 1 / K 2, where K = 2 π / λ, where λ is the wavelength of light in the medium surrounding the particle.
The following PSDs are available:
The scale factor of the PSD (with a unit of 1 / µm3), which represents the particle concentration is assumed to be unity in both cases. You can easily convert the results to represent another particle concentration by multiplying them by the desired numerical value of the scale factor. Note that the particle diameter, D, in the above formulas for the particle size distribution is really a nondimensional diameter. It is made so by dividing it by the diameter of 1 µm. Hence, its numerical value remains identical to that of the absolute particle diameter.
As much as the single-particle calculations performed by this program can be considered numerically "exact", the integration results should be viewed as approximate. Such integration is performed numerically by using the trapezoidal rule. Its result depends on the particle diameter range step chosen by invoking the Edit diam button (note that this button caption is shown only when the diam checkbox is checked). Hence, you may want to "experiment" with the step size to find the minimum step size below which the integration results do not change to within the desired numerical accuracy.
Run button initiates the calculations of the scattering properties.
View opens the results display form.
If these latter three buttons are disabled (grayed), no results are yet available for the current set of values of the program parameters.
Note that the results can be conveniently displayed in pre-formatted, publication-ready graphs by using optional viewers for angle-dependent and particle size-dependent patterns (see the Graphical data viewers) in "Light scattering calculator: homogeneous sphere".
Messages displays status of the calculations.
The homogeneous sphere is assumed to be located in a uniform nonabsorbing and nonscattering medium illuminated by a plane monochromatic electromagnetic wave whose wavefront has infinite extent. In practical applications, this assumption translates to the following conditions:
The light scattering properties of a homogenous sphere are completely described by just two parameters: the refractive index of the sphere material relative to that of the surrounding medium and the sphere diameter. Click the Limits item of the menu to view the limits of these and other adjustable parameters.
The refractive index is a complex number:
where i 2 = -1. The real part of the refractive index characterizes the velocity of an electromagnetic wave in the sphere material. The imaginary part characterizes the absorption of light power by the sphere material. If the imaginary part is negative (in the sign convention adopted here), i.e. mi > 0, then the material absorbs light. The refractive index is a function of the wavelength of the electromagnetic wave. If the absolute particle size mode is selected by clicking on the diam check box, the refractive index is expected, but not checked, to correspond to the current value of the wavelength.
In this program, mr can assume walues from a range of 0 < mr < arbitray_value. The mi range is defined as 0 ≤ mi ≤ arbitrary_value.
where D is the sphere diameter and λ is the wavelength of light in the medium surrounding the sphere.
The program accepts the particle size as x (relative size) if the diam checkbox is not checked. Otherwise, the particle size is expected to be the absolute size (diameter) expressed in micrometers (10-6 m).
The scattering angle, θ [deg], referred to as theta in the program output, is defined as the angle between the direction of the incident wave (beam axis) and the observation direction. The angular pattern of light scattered by a sphere is axially symmetrical about the direction of the incident light. Thus, theta is the only directional parameter required.
This program calculates the light scattering properties of the homogeneous sphere following the Mie theory (Mie G 1908) with algorithms introduced by Deirmendijan D 1969, Kattawar GW and Plass 1967, and Wiscombe WJ 1980. A modern explanation of Mie theory is given, for example, by Bohren CF and Huffman 1983. In reference to Mie theory in its modern notation, the nondimensional versions of these properties are defined as follows:
where F_att, F_sca, F_abs, are referred to here an in the program outpus as factors for attenuation, scattering, and absorption, respectively, nMax is on the order of the relative particle size parameter, and
where a and b are functions of the particle size and refractive index, and π and τ are functions of the scattering angle. These functions are defined, for example, by Bohren CF and Huffman 1983. S1 and S2 are complex functions.
The program also calculates the nonzero elements of the scattering matrix, also referred to as the Mueller matrix, which for the sphere are M11, M12, M33, and M34. Although there is also another nonzero element, M22, it is identically equal to M11 and is not displayed for simplicity. These elements are defined as follows:
The scattering matrix completely describes the amplitude and polarization of light scattered by a particle. See, for example, Bohren CF and Huffman 1983, for an in-depth discussion of Mueller matrices and polarization effects.
The element M11 is shown in its absolute form, while the remaining elements are shown normalized by M11, which is a widely adopted convention.
Particle size is displayed in the output form as the relative size x [nondimensional] or diameter [µm], depending on whether the diam checkbox is unchecked or checked, respectively.
and the scattering matrix elements.
Multiply the efficiencies by the geometric cross section of the sphere (πD 2 / 4) in order to obtain the attenuation, scattering, and absorption cross sections. Multiply the scattering matrix element M11 by 1 / K 2, where K = 2π / λ, to obtain the differential cross section for scattering. For a dispersion of particle, a further multiplication by the number concentration of the particles (particles per unit volume) yields the volume scattering function of the dispersion.
The MJC light scattering calculator for homogeneous spheres can handle the relative particle size, x, down to ~4e-7. For the visible light (say the green light: the wavelength of ~500 nm), such x corresponds to a particle diameter D = ~6e-5 nm. For particles smaller than x = ~1e-7, numerical errors dominate when calculating the scattering properties of the sphere. The absorption efficiency (see Efficiencies) agrees with the small particle limit to within ~0.0001% throughout the entire small particle size range. Since in this range, the absorption of light dominates the attenuation of light by the sphere, the attenuation efficiency agrees to within the same accuracy with the small particle limit of the Mie theory.
The results agree with the small particle limit approximation of the Mie theory to within ~0.1% for x = ~5e-7. The agreement gets better (~0.001%) as the particle size increases. As the particle size increases further, the agreement with the small particle approximation worsens because the approximation is simply inadequate for the large particle sizes.
Here are samples of the calculator performance at the small particle size limit for:
For a large sphere, the Mie series have to be summed over a large number of terms. These terms are calculated by using recurrence-based calculations of functions related to Bessel functions. Such calculations are known to be unstable if traversed upwards, i.e. in the direction of the increasing summation index of the Mie series. Specifically, such instabilities may occur while calculating the A[n] function [in the notation of Deirmendijan D 1969] in the upper range of the summation index n. With an increase in the numerical precision from single floating point precision to double and long double precision the onset of such instabilities in the upward recurrence algorithms is merely postponed for particles typical of many natural and industrial processes.
One way to counteract such instabilities is to use downward recurrence for the Bessel-derived functions of a complex argument, specifically A[n]. Calculations for the refractive index mr < 1 (for example, an air bubble in water) specifically require downward recurrence or the use of the Lentz WJ 1976 algorithm that permits to calculate each value of A[n] independently. Downward recurrence in double precision is adopted in the present program for the calculations of the A[n] function. The "initial" value of that function at the maximum value of the summation index, n, is calculated by using the Lentz WJ 1976 method, with the iteration precision set to 10-12. This method gives, for example, A = 0.34728219013 - i 1.0813043393 in 25 iterations for m = 1.28 - i 1.37 and x = 62 in good agreement with a Lentz's sample case, as far as it can be assessed from his Fig. 1.
The user is nevertheless advised to exert caution when using this program in the extremities of the nominally allowed input data ranges. As a guidance the following rules should be observed:
These relationships must hold to within the relevant numerical precision, here generally on the order of 10-12. On request a diagnostic version of this program is available. That version
writes values of the key functions of the algorithm (vs. the summation index) to a text file that can be imported to a spreadsheet for examination. A simple spreadsheet viewer for these functions is also available.
Results of this program have been tested against the known behavior of the relevant functions and also compared with published results. Excellent correspondence has been obtained between this program results and those reported by Grehan G and Gouesbet 1979. This correspondence attests to the capability of the downward recursion combined with the Lentz WJ 1976 method for obtaining the initial value of the A[n]. The Grehan G and Gouesbet 1979 SUPERMIDI program is reported to use the Lentz method altogether.
Results of this program have also been compared with numerical results reported by Dave JV 1969. For example, this program generates Q_abs = 0.790966, vs. 0.7910 obtained by Dave, for x = 50π and m = 1.342 - i1.
Results obtained with this program also compare well with a range of other results available in graphical form. In some cases discrepancies have been noted. One source of such discrepancies, aside from the recurrence direction, is the manner by which the rounding errors accumulate during calculations. This dependes on the form of a particular implementation of the Mie algorithm.
Table 3 contains results for the attenuation efficiency and scattering efficiency (see Efficiencies) obtained with programs: MIEV0 - Wiscombe WJ 1996 (as quoted by Du Hong 2004), MIECPP - Du Hong 2004, and MJC Light Scattering Calculator for Homogeneous Sphere (HS). The results obtained with all these programs agree to within the numerical precision shown. The MIEV0 and HS calculate the the an and bn functions by using the A-function approach (as defined by Deirmendijan D 1969). The MIECPP calculates the an and bn functions by using ratios of the successive orders of the Ricatti-Bessel functions.
Table 4 contains results for the attenuation efficiency obtained with MJC Light Scattering Calculator for Homogeneous Sphere (HS) as compared to those obtained by Penndorf RB 1957.
Table 5 contains results for the attenuation efficiency and absorption efficiency obtained with MJC Light Scattering Calculator for Homogeneous Sphere (HS) as compared to those obtained and quoted by Fenn RW and Oser 1965, who developed one of the early coated-sphere scattering programs. The results listed by Fenn and Oser refer to the limiting case of the vanishing shell. Fenn and Oser do not state algorithm details.
Table 6 contains results for the | S1 |2 function at scattering angles of 0° and 180° obtained for a real refractive index with MJC Light Scattering Calculator for Homogeneous Sphere (HS) as compared to those obtained by a SUPERMIDI program (Grehan G and Gouesbet 1979). Table 7 contains results for various values of the complex relative refractive index.
In practical applications one frequently needs to calculate the total power P [W] (flux) of light attenuated, scattered, or absorbed by a sphere. This can be accomplished with the use of the attenuation, C_att, scattering, C_sca, and absorption, C_sca, cross sections as follows:
where Ein[W m-2] is the irradiance [power per unit area] of the light beam. Note that the program reports the cross sections in µm2. Hence, either these values needs to be converted to m2, or the irradiance should be converted to W µm-2. The cross sections are defined in Equations 14 through 16.
For M [m-3] identical particles per unit volume of the suspension, in which the multiple-scattering of light is negligible, we have (in the limit of the small changes) the reduction, dP, in the transmitted power due to attenuation by a suspension slab of thickness dz
where P is the power incident at the entrance face of a suspension volume and dz[m] is the thickness of the volume measured along the beam axis. The power transmitted through a suspension volume of thickness dz is reduced by dP. The effect of the interfaces of the illuminated volume (for example, water/air) is not accounted for.
The solution of this equation is
where the product M C_att is referred to as the attenuation coefficient, usually denoted by c [m-1].
By substituting C_sca for C_att, one can calculate in a similar manner the power scattered in all directions by a volume of the suspension.
If the suspension consists of particles with various diameters and refractive indices, the particle concentration M is replaced by the size-refractive index distribution of the particles and the
total powers become integrals of the respective cross sections weighed by that distribution. Such integration is discussed in Integrating scattering properties over a particle size range.
Similarly we can calculate the intensity (power per unit solid angle; units of W sr-1) of light scattered by a single sphere or suspension of spheres at a specific direction (theta) relative to that of the incident wave:
The product M11(theta) / K 2 is referred to as the differential cross section. Its dimension is m2sr-1.
If the acceptance solid angle of a detector, Ωdet [sr], about the direction of theta is known, the power of the scattered light received by that detector can be calculated as follows:
The scattering efficiency, Q_sca, of a particle of a given size is a function of its refractive index. This functional relationship can be read in reverse, i.e. with the refractive index being a function of the scattering efficiency. An example of such a relationship is shown in Fig. 2 for nonabsorbing particles in water and in Fig. 3 for nonabsorbing particles in air. This relationship forms the basis of the determination of the refractive index of particles from values of their scattering parameters. With monodisperse homogeneous particles, one can simply derive the scattering efficiency from measurements of light scattering by the particles and use a curve of the type shown in the following two figures to determine the refractive index of such particles given that the particle size is known.
Note that the relationship between Qsca and N may become multivalued for some particle sizes Fig. 3. This could be counteracted by adjusting the wavelength of light that changes the x-parameter (the relative size) of the particles and/or by using the angular light scattering pattern at optimized angles (for example, Tycko DH et al 1985) instead of the total (i.e., angle-integrated) light scattering properties such as Q_sca.
Arguments similar to those given in the preceding section can be given regarding the determination of the particle size, given the knowledge of the particle refractive index.
Arnold S., Neuman M., Pluchino A. B. 1984. Molecular spectroscopy of a single aerosol particle. Opt. Lett. 9, 4-6
Ashkin A., Dziedzic J. M. 1981. Observation of optical resonances of dielectric spheres by light scattering. Appl. Opt. 20, 1803-1814.
Bohren C. F., Huffman D. 1983. Absorption and scattering of light by small particles. Wiley, New York.
Dave J. V. 1969. Scattering of electromagnetic radiation by a large, absorbing sphere. IBM J. Res. Developm. 13, 302-313.
Deirmendijan D. 1969. Electromagnetic scattering on spherical polydispersions. Elsevier, Amsterdam
Du Hong 2004. Mie-scattering calculation. Appl. Opt. 43, 1951-1956.
Fenn R. W., Oser H. 1965. Scattering properties of concentric soot-water spheres for visible and infrared light. Appl. Opt. 4, 1504-1509.
Grehan G., Gouesbet G. 1979. Mie theory calculations: new progress, with emphasis on particle sizing. Appl. Opt. 18, 3489-3493.
Heintzenberg J., Charlson R. J. 1996. Design and application of the integrating nephelometer: a review. J. Atmos. Oceanic Technol. 13, 987-1000.
Jones A. R. 1983. Calculation of the ratios of complex Riccati-Bessel functions for Mie scattering. J. Phys. D: Appl. Phys. 16, L49-L52.
Kattawar G. W., Plass G. N. 1967. Electromagnetic scattering from absorbing spheres. Appl. Opt. 6, 1377-1382.
Lentz W. J. 1976. Generating Bessel functions in Mie scattering calculations using continued fractions. App. Opt. 15, 668-671.
Mie G. 1908. A contribution to the optics of turbid media special colloidal metal solutions (in German: Beitrage zur Optik trüber Medien speziell kolloidaler Metallösungen). Ann. Phys. 25, 377-445.
Penndorf R. B. 1957. New tables of total Mie scattering coefficients for spherical particles of real refractive indexes (1.33 < n < 1.50). J. Opt. Soc. Am. 47, 1010-1014.
Twardowski M. S., Boss E., MacDonald J. B., Pegau W. S., Barnard A. H., Zaneveld J. R. V. 2001. A model for estimating bulk refractive index from the optical backscattering ratio and the implications for understanding particle compositions in Case I and Case II waters. J. Geophys. Res. C 106, 14,129-14,142.
Tycko D. H., Metz M. H., Epstein E. A., Grinbaum A. 1985. Flow-cytometric light scattering measurements of red blood cell volume and hemoglobin concentration. Appl. Opt. 24, 1355-1365.
Wiscombe W. J. 1996. Mie scattering calculations: Advances in technique and fast, vector-speed computer codes. NCAR Tech. Note. NCAR/TN-140+STR, orig. publ. June 1979, NCAR, Atmos. Analysis Prediction Div., Boulder, CO, 64 pp.
Wiscombe W. J. 1980. Improved Mie scattering algorithms. Appl. Opt. 19, 1505-1509.
Please direct your comments and questions regarding this software, as well as questions on other MJC Optical Technology software and services to:
The information contained in this document is believed to be accurate. However, neither the author nor MJC Optical Technology guarantee the accuracy nor completeness of this information and neither the author nor MJC Optical Technology assumes responsibility for any omissions, and errors, or for damages which may result from using or misusing this information.
Last modified: . Copyright 2010-2000 MJC Optical Technology. All rights reserved.