Light scattering calculator: coated sphere
Table of contents
This program calculates the scattering, absorption, and attenuation parameters, as well as the angular scattering patterns of a single coated sphere according to Aden-Kerker theory.
The program is intended to be used in the Windows environment. A minimum screen resolution of 1024 x 768 is expected.
Please note that in light scattering calculations, the absolute particle diameter, expressed - for example - in Ám, is converted to the relative particle size, i.e. the particle diameter relative to the wavelength of light in the medium surrounding the particle (see relative particle size). Hence, if the "relative particle size" or "relative size" is used in this document without qualification, it means that the size is relative to the wavelength. Otherwise, qualifiers are used, such as "core diameter relative to shell diameter".
If needed, modify the calculation parameters displayed in the main form (see User Interface) and click on the Run button to calculate the scattering properties. The results will be displayed automatically. Results can be copied to the Windows clipboard (Copy button of the results display form) and saved to a space-delimited text file (Save button of the results display form).
Preferences are a set of all user-adjustable calculation parameters. On program startup the default preferences are used. The preferences system, intended as a convenience, can also be used to document the calculations if the results file name is synchronized (by the user) with the preference file name.
The preferences are stored in a binary file (extension: "pre"). The preferences file name is displayed in the Preferences file name box. Long file names are truncated. Fly the cursor over the name to display the full file name in a hint box that appears near the cursor tip.
The following choices are available in the Preferences menu:
Edit x button
where m = 0 ... size_range_count - 1. The size range must fulfill this requirement: 0 < start <= end. See also the Range editors section.
abs. size check box
shell thickness / particle radius edit
Shell m' and m" edits
Core m' and m" edits
Edit theta button
Range editors for the particle size and scattering angle accept any inputs that are consistent with the abstract range definition. Thus, range definitions may be accepted and displayed in the main form that do not fulfill either the calculation parameters' limits (click the Limits menu item) for the relevant variables or algorithm requirements. The data are validated only when you click the Run button.
One of the range parameters is always calculated. You can force a parameter to be calculated (thus, not editable) 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 Apply to apply the change. If satisfied, click Ok to accept it. You can also click Ok right away after any parameter changes.
Output as a function of ...
Part. size: const. abs. shell thick. - the absolute shell thickness is fixed.
... via form
... from file
Refractive index file format and sample
Run button initiates the scattering properties calculations. Upon completion of the calculations, a display form opens showing the results.
Copy button of the display form copies the results to the Windows clipboard.
Save button of the display form saves the results to a space-delimited text file. The file is saved to the current directory. The prefix "Out" is suggested in the file name edit box of the save-file dialog.
This section does not apply to versions of the program prior to version 3.2.
Open this page by clicking on its tab or via loading a preference file that opens it automatically. At first, an "Open input file" button is displayed. Click it to show an Open file dialog to select an input data file, which contains specification(s) of coated sphere(s) to process.
The input data file is a tab-delimited, space-delimited, and/or comma-delimited text file. Multiple delimiters are treated as one delimiter, i.e. "2.0D2.2" is equivalent to "2.0DD2.2" (where D stands for a delimiter). In addition to the data, the file may contain text lines (such as the user comments, and heading(s)).
A line is considered a text line if it starts with an item (field) that cannot be converted to a numerical value. A text line may, for example, contain the user's column headings. Such headings are ignored and the program uses its own headings when displaying the data lines.
A line of the input file is considered a data line if it contains at least 7 items (fields) (if the scattering angle is not defined in the first data line) or 8 items (if the scattering angle is defined) that can be converted each to a numerical value. This is checked when the file is opened and the first data line is displayed. This line is referred to in the Read parameters from file page as the "first line". The first line defines the format of the entire file. Hence, if the first line contains 7 (or 8) items, all data lines following the first line must have at least 7 (or 8) data items.
IMPORTANT: If the first line contains 8 items, the 8th item is interpreted as the scattering angle. If your data file contains more than 7 numerical fields but you intend not to define the scattering angle (i.e. the 8th field), you must separate the first 7 fields from the remaining numerical fields by a text field.
The input data file can contain empty lines (although this may be confusing for the human reader and is not recommended).
Each of the first 7 (or 8, depending on the content of the first numerical data line encountered) data items of a data line must be convertible to a numerical value. These items must always be arranged in the following order (counting from the beginning of the line; the space denotes one of the approved delimiters, defined earlier in this section):
Wave DiaS DiaC MReS MImS MReC MImC ScaAng User's text or data here ...
All data items intended for use by this program must fall into their respective validity ranges. These ranges can be viewed by clicking the Limits menu item. The acceptable ranges of coated sphere diameters are expressed in the relative particle size scale when the limits are displayed.
An error is reported and the program stops processing the input data file if:
Here, the shell diameter (DiaS) is the variable data item, other items are kept constant.
Results of the calculations are written to a display form as a sequence of output lines. Each output line begins with the copy of the relevant input data line, except the scattering angle (if defined). The following output items may be appended next:
The angle-dependent output items can only be appended if the scattering angle data item is present in the first data line of the input data file. The ouput format is illustrated in sample output file.
For definitions of the these items, please refer to the Results section.
One can select one or more of these items by clicking the respective check boxes in the box entitled: "Select types of results to include in the output".
Once the output items are selected (see Setting the output format), the Run button is displayed. Calculations are initiated by clicking that button. The program displays (in the box containing the Run button) each data input line it processes.
If the Copy text lines to output check box is checked, text lines in the input data file are copied to the results. An initial block of text lines of the input data file, if it exists, is shown at the beginning, separated from the results by "---".
When calculations are completed, the Run button is disabled, the output display form is shown and the results can be viewed, copied as text, or saved to a text file. The Run button can be enabled again only by clicking the Open input file button. This prevents using the old copy of an input file by the program after the file has been modified and saved.
If an error is discovered in the input data, calculations stop and an error message is displayed under the input line. If the results display has been written to, the results obtained so far are shown.
The form displaying the results allows one to copy the (whole) results to the Windows clipboard (for transfer to a text-accepting Windows program) or save it to a space-delimited text file. The file is saved to the current directory. The prefix "Out" is suggested in the file name edit box of the save-file dialog. Hence, if the input data file name is, say, "MyData", the suggested name of the output file is "OutMyData".
Sample results obtained for the sample input data file are shown below (numerical values are truncated to 4 decimals for this webpage only; the program outputs results with a precision of 6 decimals):
The coated sphere is assumed to be located in a plane monochromatic electromagnetic wave whose wavefront has infinite extent. In practical applications this condition requires that:
The light scattering properties of a coated sphere are completely described by four parameters: the refractive indices of the sphere core and shell relative to that of the surrounding medium, as well as the whole sphere diameter and the shell thickness. Click the Limits menu item to view the acceptable ranges of these parameters.
The refractive index is a complex number:
where i 2 = -1. The real and imaginary parts of the complex refractive index may also be referred to in this document and in some output forms as "ReM" and "ImM" or "MRe" and "MIm", respectively, and the refractive index as a whole can be referred to as "RI".
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, m" is positive, i.e. m" > 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 the abs. size check box, the refractive index is expected, but not checked, to correspond to the wavelength value entered.
In this program, m' can assume values from a range of 0 < m' < arbitray_value. The m" range is defined as 0 <= m" <= arbitrary_value. The actual range definitions can be viewed by clicking the Limits menu item.
Spectral data for the complex refractive indices of the core and shell of the particle can be loaded from a text file if the option Output as a function of ... Wavelength is selected.
where D is the sphere diameter and λ is the wavelength of light in the medium surrounding the sphere. The wavelength range is limited to a range that can be viewed by clicking the Limits menu item.
The program accepts the particle size as x (relative size) if the abs. size checkbox is not checked. Otherwise, the particle size is expected to be the absolute size (diameter) expressed in micrometers (1 Ám = 10-6 m).
The shell thickness is expressed relative to the whole particle radius, i.e. the relative shell thickness = shell thickness [length unit] / particle radius [length unit].
The scattering angle, θ [deg], 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 symmerical about the direction of the incident light. Thus, theta is the only directional parameter required.
Valid ranges of input data are shown by clicking the Limits menu item. Please note that the values for the particle size and the refractive indices of the shell refer to the individual parameters taken in isolation. In light scattering calculations, stricter limits are imposed by interplay between shell diameter and complex refractive index. This is because the product of these two latter parameters is one of the key parameters used by the scattering calculation function of the program.
This way of presenting the validity ranges enables the user to explore the whole individual range of a parameter, provided that the parameter linked to it is set to a "safe" value. For example, one can explore nearly the entire range of the shell diameter, provided that the shell refractive index magnitude assures that the product of these two parameters is not smaller than the minimum value. Thus, we can have a shell relative diameter of 1.0e-7 when the shell refractive index magnitude evaluates to a value greater than unity, say 1.1 (as in 1.1 - i 0). However, we cannot (for example) set simultaneously the shell diameter to 1e-7 and the shell refractive index to 0.01 - i 0.
The magnitude of the minimum of the product, z, of the shell diameter and of the refractive index magnitude is related to the fact that the program does not use approximations but an "exact" algorithm for calculation of the scattering properties. This algorithm involves taking differences between functions of z. When z evaluates to a sufficiently small value, the differences between very large numbers are calculated. Given a limited number of decimal spaces in the computer representations of these numbers, these differences may evaluate to 0 when they should have a very small non-zero value. This may cause the algorithm to loose accuracy, as shown in the following figure, and even fail when z is allowed to decrease further.
Given the interplay between the particle sizes and refractive indices of a coates sphere, the user of this program is advised to exert caution when using this program in the extremities of the nominally allowed ranges of the input parameters. This applies especially to the cases where several input parameters are nearing their maxima allowed in isolation. For example:
As a guidance, the following rules should be observed:
This program calculates the light scattering properties of a coated sphere following the Toon and Ackerman 1981 algorithm. A similar algorithm has been more recently introduced by Kaiser and Schweiger 1993. These algorithms are based on the theory of light scattering by a coated sphere that was developed by Aden and Kerker 1951. In the notation borrowed from the theory of light scattering by homogeneous sphere, the nondimensional versions of these properties are defined as follows:
where the "Atn", "Sca" and "Abs" prefixes mean attenuation, scattering, and absorption, respectively. We also have:
where a[n] and b[n] are functions of the particle sizes and refractive indices, and π[n] and τ[n] are functions of the scattering angle. These functions are defined, for example, by Bohren and Huffman 1983. S1 and S2 are complex functions. Thus, their (real) magnitudes |S1| and |S2| are of interest in comparing results of calculations and an experiment. The squares of these magnitudes are displayed. M11, that is also displayed, is a real function of the scattering angle and is defined as follows:
This latter quantity is the element  of the Mueller matrix, which completely describes the amplitude and polarization of light scattered by a particle. See, for example, Bohren and Huffman 1983, for an in-depth discussion of Mueller matrices and polarization effects.
Angular patterns S1, S2, and M11 represent scattering of light polarized perpendicular to the scattering plane, parallel to the scattering plane, and unpolarized respectively. The scattering plane contains the incident beam and observation directions.
Multiply these efficiencies by the geometric cross section of the sphere (π D 2/ 4), where D is the whole sphere diameter, in order to obtain the attenuation, scattering, and absorption cross sections, respectively. This is done by the program when the abs. size check box is checked.
Note that one can also define efficiencies for the scattering angle-dependent quantities:
The algorithms of the coated sphere theory involve, as it is also the case with the homogeneous sphere theory, recurrence-based calculations of functions related to Bessel functions. Series of these functions are then summed to yield the desired results. Such calculations are known to be unstable if traversed upwards, i.e. in the direction of the increasing summation index. 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 or to use the Lentz 1976 algorithm that permits to calculate each of the values of the relevant functions independently. Downward recurrence in double precision is adopted in this program. The "initial" values of the functions at the maximum value of the summation index, n, are calculated by using the Lentz 1976 method, with the iteration precision set to 10-12.
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 Kaiser and Schweiger 1993, Bohren and Huffman 1983, and Fenn and Oser 1965. This correspondence attests to the capability of the downward recursion combined with the Lentz 1976 method for obtaining the initial values.
In addition, the results were checked against the results of the homogeneous sphere calculator, also available from MJC Optical Technology, for three cases:
The vanishing shell case was tested by using a composite water-carbon sphere with the carbon shell thickness decreasing to 0. The whole particle x = 70 was assumed, with the water refractive index N = 1.33 - i0, and the carbon refractive index N = 2 - i1. As expected, the efficiencies of the composite particle tend to the the limiting values for the homogeneous water sphere. These limiting efficiencies, obtained for the shell thickness of 1e-7 with the coated sphere MJC Optical Technology calculator, assume values of Qatt = 2.02147, Qsca = 2.02141 and Qabs = 0.0000566. The homogenous sphere MJC Optical Technology calculator yields Qatt = Qsca = 2.02141 and Qabs = 0.
The vanishing core case was tested by using a composite carbon-water sphere with the carbon core diameter decreasing to 0. The whole particle size was again x = 70, with the refractive index values the same as before. The limiting values of the efficiencies for the homogeneous sphere obtained with the coated sphere calculator for the shell thickness of 0.999999 are Qatt = 2.12599, Qsca = 1.30296, and Qabs = 0.823029.
The coated sphere calculator was also tested by vanishing the refractive index difference between the core and the shell in which case, the results should and do converge to the homogeneous particle case. For example, the efficiencies of a composite particle (water core, water shell) with x = 70, and a 50%-thick shell yield Qatt = 2.02147, Qsca = 2.02147, and Qabs = 3.71e-16, i.e. essentially 0 at the numerical precision involved. With the homogeneous sphere calculator we obtain Qatt = Qsca = 2.02141 and Qabs =~ 0.
Kattawar and Hood 1976 (cited by Toon and Ackerman 1981) note that calculations of light scattering by a coated sphere should be substitued by calculations of light scattering by a homogenous sphere when the contribution of core of the coated sphere to the scattering properties becomes insignificant. This suggestions stems from the fact that the core-related terms contributing to the coefficient of the series representing the scattering properties involve differences of very small numbers. Given limited numerical precision, these differences may carry significant errors.
The following figure shows angular patterns (M11, denoted by S11 in the vertical axis label (see the Results section for a definition of M11) for a water droplet with a whole x = 70, without and with a 1%-thick coating of carbon [core N = 1.33 - i 0 (water), shell N = 2 - i 1 (carbon, see Janzen 1979)]. These results suggest a substantial effect of a highly absorbing thin shell around a non-absorbing core on light scattering by this composite particle at most scattering angles.
In practical applications one frequently needs to calculate the total power F [W] (flux) of light attenuated, scattered, or absorbed by a sphere. This can be accomplished with the use of the attenuation, scattering, and absorption cross sections, Catn, Csca, and Cabs, respectively, as follows:
where Ein[W m-2] is the irradiance [power per unit area] of the light beam. Note that in physics, a quantity with a dimension of power per unit area is traditionally refered to as the intensity.
The cross sections [m2] are defined as follows:
where "xxx" stands for "Abs", "Atn", or "Sca" and k = 2 π / λ [m-1] is the wave number.
The cross sections can also be defined by using the efficiencies as follows:
where "xxx" stands for "Abs", "Att", or "Sca", and D is the whole particle diameter.
For N [m-3] identical particles per unit volume of the suspension, we have
where V [m3] is the illuminated volume of the suspension, A [m2] is the cross section area of the light beam, and z[m] is the thickness of the volume V measured along the beam axis. The power transmitted through a suspension volume of thickness z is reduced by Fatn. The effect of the suspension layer interfaces (for example, water/air) is not accounted for here. The product N Catn equals the attenuation coefficient, usually denoted by c [m-1].
In the limit of the small changes, a reduction, dF, in the transmitted power due to attenuation by a suspension slab of thickness dz, can be expressed as follows:
where F is the power incident at the entrance face of the slab. Again, the effect of reflection at the slab faces is not taken into account. The solution of this equation is
One can calculate in a similar manner the power scattered in all directions by a volume, V, of the suspension.
If the suspension consists of particles with various diameters and refractive indices, the particle concentration N is replaced by the size-refractive index distribution of the particles and the total power of light attenuated, scattered, or absorbed by the suspensions is expressed as a double integral of the respective cross section weighed by that distribution. In respect of the coated sphere scattering calulator, such integration must at present be provided off line, for example by using a spreadsheet.
Similarly we can calculate the radiometric intensity (power per unit solid angle; W sr-1) of light scattered by a single sphere or suspension of spheres at a specific direction (θ, φ) relative to that of the incident wave. Given the axial symmetry of light scattering by a coated sphere (about the direction of the incident light beam), the scattering direction can be defined by using only the scattering angle, θ. Hence:
The dimension of Csca(θ) is m2sr-1. The azimuthal angle φ is measured in a plane perpendicular to the wave direction (beam axis). The scattering pattern of a sphere is independent of the azimuthal angle.
Given the acceptance solid angle of a detector, Ωdet [sr], the power of scattered light received by that detector can be calculated as follows:
One may also be interested in obtaining the power scattered into an annular region between the angles of θ1 and θ2. This power equals:
where ∫t1t2 denotes integration over t in a range of t1 to t2.
Aden A. L., Kerker M. 1951. Scattering of electromagnetic waves from two concentric spheres. J. Appl. Phys. 22, 1242-1246.
Bohren C. F., Huffman D. 1983. Absorption and scattering of light by small particles. Wiley, New York.
Fenn R. W., Oser H. 1965. Scattering properties of concentric soot-water spheres for visible and infrared light. Appl. Opt. 4, 1504-1509.
Janzen J. 1979. The refractive index of colloidal carbon. J. Colloid Interface Sci. 69, 436-447.
Johnson P. B., Christy R. W. 1972. Optical constants of the noble metals. Phys. Rev. 6, 4370-4379.
Kaiser T., Schweiger G. 1993. Stable algorithm for computation of Mie coefficients for scattered and transmitted fields of a coated sphere. Computers in Physics 7, 682-686.
Kattawar G. W., Hood D. A. 1976. Electromagnetic scattering from a spherical polydispersion of coated spheres. Appl. Opt. 15, 1996-1999.
Khashan M. A., Nassif A. Y. 2001. Dispersion of the optical constants of quartz and polymethyl methacrylate glasses in a wide spectral range 0.2-3 Ám. Optics Commun. 188, 129-139.
Lentz W. J. 1976. Generating Bessel functions in Mie scattering calculations using continued fractions. Appl. Opt. 15, 668-671.
Malitson I. H. 1965. Interspecimen comparison of the refractive index of fused silica. J. Opt. Soc. Am. 55, 1205-1209.
Toon O. B., Ackerman T. P. 1981. Algorithms for the calculation of scattering by stratified sphere. Appl. Opt. 20, 3657-3660.
Touloukian Y. S., DeWitt D. P. 1972. Thermal properties of matter: Radiative (Vol. 8) Thermal radiative properties of nonmetallic solids. IFI/Plenum, New York, NY.
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, errors, and for damages which may result from using or misusing this information.
Last modified: . Copyright 2000-2014 MJC Optical Technology. All rights reserved.