Light scattering calculator: coated sphereMiroslaw JonaszTable of contents

x[0] = x_{start}  (1)  
x[m] = x[m  1] + x_{step}  (2) 
abs. size check box
If this box is checked, the particle size is expressed as the sphere diameter (in µm). The wavelength edit box is then shown. Otherwise, the size is expressed as a relative size parameter, x. Checking or unchecking the abs. size check box does not affect the numerical value of the particle size as displayed in the main form.
shell thickness / particle radius edit
This edit enables modifying the sphere shell (coating) thickness. The shell thickness is expressed as a fraction of the whole particle radius. Hence, "shell thickness" refered to in this document without qualifiers means the relative shell thickness. Otherwise qualifiers are added. For example, "absolute shell thickness" means that the shell thickness is expressed in µm or in the relative particle size scale.
wavelength edit
This edit is displayed only when the abs. size check box is checked. It enables editing of the wavelength of light in the medium surrounding the sphere. If the option: Output as a function of ... Wavelength is selected, the wavelength is read instead from a text file. If the read is successful, the wavelength defined in the first read line of the file is shown in the disabled edit.
Shell m' and m" edits
Enable setting the real (m') and imaginary (m") parts of the sphere coating (shell) refractive index (defined as m'  i m") relative to the nonabsorbing medium surrounding the sphere. If the option Output as a function of ... Wavelength is selected, the shell refractive index is read from a text file. If the read is successful, the shell refractive index defined in the first read line of the file is shown in the disabled edits. Click the Show button to list the entire spectrum in a text display form.
Core m' and m" edits
Enable setting the real and imaginary parts of the sphere core refractive index relative to the nonabsorbing medium (i.e., a medium with the imaginary part of the refractive index equal to 0) surrounding the sphere. If the option Output as a function of ... Wavelength is selected, the shell refractive index is read from a text file. If the read is successful, the shell refractive index defined in the first read line of the file is shown in the disabled edits. Click the Show button to list the entire spectrum in a text display form.
Edit theta button
If one of the options in the Output as a function of ... Particle size ... group is selected or Output as a function of ... Wavelength is selected, then only the start value of the theta range can be edited.
If the output is selected to depend on the scattering angle (see Setting the output format), the remaing angle range parameters: step [deg], count, and end [deg] an also be edited. The scattering angle list is generated and displayed in the output form according to the prescription used for the size range. The start and and of the theta range must fulfill the following requirement: 0 <= start <= end <= 180 deg.
[Top]
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.
[Top]
Output as a function of ...
Scattering angle
Efficiencies and angular patterns (see Results) are displayed for a single particle size if this option is selected. The angular patterns are each shown as a function of the scattering angle. The output also includes the attenuation, scattering, and absorption factors (see Results) and (if the abs. size checkbox of the main form is checked) the attenuation, scattering, and absorption cross sections of the particle (see Results for definitions of these quantities).
Part. size: const. abs. shell thick.  the absolute shell thickness is fixed.
The shell thickness relative to the particle radius decreases with increasing particle size. If the abs. size. checkbox is checked (see Modifying program input data), the absolute shell thickness is expressed in µm. Otherwise, it is expressed in the relative particle size scale.
Part. size: const. rel. shell thick.  the relative shell thickness is fixed.
The absolute shell thickness increases with particle size.
Part. size: const. core var. shell  the core diameter is fixed.
Both the absolute and relative shell thicknesses increase with increasing particle size. The core diameter is calculated by using the value of the relative shell thickness (i.e. the shell thickness / particle radius), defined in the "shell thickness / particle radius" edit box (see Modifying program input data).
Part. size: const. total var. shell  the particle size, i.e. the shell diameter is fixed.
The shell thickness varies from the minimum shell thickness (~0) to the maximum shell thickness (~1). Click the Limits menu item to see the actual limits of the shell thickness range.
If the results are functions of particle size, the angular patterns (see Results) are displayed each for a single scattering angle. Particle size is displayed in the output form as the relative size x [nondim] or the absolute size if the abs. size check box is unchecked or checked, respectively.
Wavelength
Efficiencies and angular patterns (see Results) are displayed as functions of the wavelength when the Wavelength radio button is clicked. The calculations are carried on for a fixed shell diameter, which is expressed in µm in this case. The angular patterns are calculated for a fixed scattering angle. This output format contains more than one row only when the refractive index is defined as a function of the wavelength, i.e. as a refractive index spectrum. The refractive indices spectra are read from a text file. The whole file is read in at once. Upon selecting a refractive index data file, the file path is displayed under the File name heading of this group. Please also see additional comments in section Refractive index file format and sample.
... via form
With this form you can specify which row of data to start reading from and whether to stop at the first empty row or read till the end of the file. You can also specify the data field delimiter(s): space, tab, or comma. While in that form, click Open file to select a file and preview its contents. Set the file reading specification and click Get data to convert the text to numerical data. If the Show decoded data option of the input form is selected, these data, once read and decoded, will be shown in a separate text form. Then click OK.
... from file
Single heading line is mandatory when reading the file in this case. The program starts interpreting the data from the second line of the data file. Hence, if the heading line is not included, the first data line will be ignored. The (meaningful) heading is required in order to encourage the file creator to include information enabling proper interpretation of the data by a human reader.
[Top]
Refractive index file format and sample
Wavelengthdependent complex refractive indices of the shell and core of the coated sphere are to be supplied in a tabdelimited, spacedelimited, or commadelimited text file, formatted as follows:
wavelength_µm shell_m' shell_m" core_m' core_m"
where the complex refractive index is expressed as m = m'  i m".
The following sample file (gold shell on silica core in air) contains data obtained as follows. The refractive index of gold is taken from Johnson and Christy 1972 and the real refractive index of silica was evaluated by using a Sellmeiertype formula developed by Malitson IH 1965. The imaginary part of the refractive index of silica is set to 0 because it is quite low in the wavelength range considered (see, for example, Complex refractive index of fused quartz: Imaginary part data, which summarizes the results of Touloukian and Dewitt 1972 and Khashan and Nassif 2001 in this wavelength range).
The first line is a heading, strongly suggested to enable correct interpretation of archived refractive index files. This heading is not interpreted nor used by the program.
wavelength_um shell_m' shell_m" core_m' core_m"
0.20327 1.33 1.277 1.54624 0
0.20736 1.30 1.304 1.54132 0
0.21196 1.30 1.350 1.53626 0
0.21640 1.30 1.387 1.53180 0
0.22143 1.30 1.427 1.52719 0
0.22627 1.31 1.460 1.52313 0
0.23134 1.30 1.497 1.51924 0
0.23709 1.32 1.536 1.51522 0
0.24266 1.32 1.577 1.51167 0
0.24899 1.33 1.631 1.50800 0
0.25514 1.33 1.688 1.50475 0
0.26160 1.35 1.749 1.50164 0
0.26898 1.38 1.803 1.49842 0
0.27617 1.43 1.847 1.49558 0
0.28440 1.47 1.869 1.49263 0
0.29245 1.49 1.878 1.49002 0
0.30097 1.53 1.889 1.48752 0
0.31077 1.53 1.893 1.48493 0
0.32041 1.54 1.898 1.48265 0
0.33155 1.48 1.883 1.48028 0
0.34254 1.48 1.871 1.47819 0
0.35428 1.50 1.866 1.47619 0
0.36795 1.48 1.895 1.47412 0
0.38153 1.46 1.933 1.47229 0
0.39743 1.47 1.952 1.47040 0
0.41333 1.46 1.958 1.46873 0
0.43055 1.45 1.948 1.46714 0
0.45091 1.38 1.914 1.46550 0
0.47148 1.31 1.849 1.46405 0
0.49599 1.04 1.833 1.46255 0
0.52100 0.62 2.081 1.46123 0
0.54867 0.43 2.455 1.45997 0
0.58215 0.29 2.863 1.45866 0
0.61691 0.21 3.272 1.45750 0
0.65957 0.14 3.697 1.45628 0
0.70454 0.13 4.103 1.45519 0
0.75609 0.14 4.542 1.45412 0
0.82118 0.16 5.083 1.45296 0
0.89208 0.17 5.663 1.45187 0
0.98411 0.22 6.350 1.45062 0
1.08771 0.27 7.150 1.44935 0
[Top]
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 spacedelimited text file. The file is saved to the current directory. The prefix "Out" is suggested in the file name edit box of the savefile dialog.
[Top]
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.
[Top]
The input data file is a tabdelimited, spacedelimited, and/or commadelimited 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)).
[Top]
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.
All text lines are ignored. This enables the user to:
Wave DiaS DiaC MReS MImS MReC MImC This is heading 0 1.0 0.1 1.03 0.01 1.33 0 0 1.1 0.1 1.03 0.01 1.33 0 '0 1.2 0.1 1.03 0.01 1.33 0 This line is ignored
Wave DiaS DiaC MReS MImS MReC MImC _Relative shell diameter varies 0 1.0 0.1 1.03 0.01 1.33 0 0 1.1 0.1 1.03 0.01 1.33 0 _Relative core diameter varies 0 1.2 0.1 1.03 0.01 1.33 0 0 1.2 0.2 1.03 0.01 1.33 0
[Top]
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 ...
where
This is because the first user's data item will be interpreted as the scattering angle. User's data items do not need to be separated from the data items for this program in any data line following the first data line, although such separator may be included in each data line, as shown above, to preserve the alignment of the user's data columns.
Wave DiaS DiaC MReS MImS MReC MImC Separator User's data ... 0 1.0 0.1 1.03 0.01 1.33 0 _ 1.29 2.05e8 0 1.1 0.1 1.03 0.01 1.33 0 _ 4.29 3.05e1
Wave DiaS DiaC MReS MImS MReC MImC ScaAng User's data ... 0 1.0 0.1 1.03 0.01 1.33 0 90 1.29 2.05e8 0 1.1 0.1 1.03 0.01 1.33 0 90 4.29 3.05e1
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.
[Top]
An error is reported and the program stops processing the input data file if:
NOTE: The error message may look strange in this case, as shown by the following example. Say that the user intended to provide numerical data including the scattering angle:
However, the MReC data item (here equal to 1.33) has inadvertently been deleted. If it is deleted from the first line, then the program will interpret this line as follows:
Wave DiaS DiaC MReS MImS MReC MImC ScaAng 0 1.0 0.1 1.03 0.01 1.33 0 90
and will show (in this example) an error because MReC < minimum MRe.
Wave DiaS DiaC MReS MImS MReC MImC 0 1.0 0.1 1.03 0.01 0 90
If the numerical data for MImC and Sca Ang, now interpreted as MReC and MImC, happen to be both within the respective ranges for these latter data items, no error will be shown. However, results of the calculations may be not those which the user intended them to be.
If that item were deleted from one or more of the following data lines:
then the program will show a "notenoughdata" error, which is handled before checking the data validity. Indeed, in this example, the first line defines 8 data items, while the second line has only 7 items.
Wave DiaS DiaC MReS MImS MReC MImC ScaAng 0 1.0 0.1 1.03 0.01 1.33 0 90 0 1.0 0.1 1.03 0.01 0 90 ...
[Top]
Wave  DiaS  DiaC  MReS  MImS  MReC  MImC  ScaAng 
0  1.0  0.1  1.03  0.01  1.33  0  90 
0  1.1  0.1  1.03  0.01  1.33  0  90 
0  1.2  0.1  1.03  0.01  1.33  0  90 
Here, the shell diameter (DiaS) is the variable data item, other items are kept constant.
Sample results for this data file are shown here.
[Top]
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:
Q_atn, Q_sca, Q_abs
followed by a copy of the scattering angle from the input line and the angledependent items
S1^2, S2^2, M11
where
The angledependent 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".
[Top]
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 textaccepting Windows program) or save it to a spacedelimited text file. The file is saved to the current directory. The prefix "Out" is suggested in the file name edit box of the savefile dialog. Hence, if the input data file name is, say, "MyData", the suggested name of the output file is "OutMyData".
[Top]
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):
LscCoatSph v3.2 Run 20141103  
Wavelen_um  DiaS  DiaC  MReS  MImS  MReC  MImC  Q_atn  ScaAng  M11 
0.0000e+00  1.0000e+00  1.0000e01  1.0300e+00  1.0000e02  1.3300e+00  0.0000e+00  2.7614e02  9.0000e+01  1.5065e04 
0.0000e+00  1.1000e+00  1.0000e01  1.0300e+00  1.0000e02  1.3300e+00  0.0000e+00  3.0615e02  9.0000e+01  2.4281e04 
0.0000e+00  1.2000e+00  1.0000e01  1.0300e+00  1.0000e02  1.3300e+00  0.0000e+00  3.3655e02  9.0000e+01  3.6879e04 
[Top]
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:
[Top]
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:
m = m'  i m"  (3) 
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.
The sphere size in the algorithm is represented by the relative particle size x [nondimensional]
x = π D / λ  (4) 
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.
[Top]
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.0e7 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 1e7 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 nonzero 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.
The accuracy of the algorithm of Toon and Ackerman 1981 decreases for very small coated spheres (relative size ~1e8). Here, a coated sphere (shell thickness of 0.1) emulates a homogeneous sphere by having the refractive indices of the shell and core set at the same value (m = 1.33  0). Since the sphere material does not absorb light, the scattering efficiency (Q_sca), should equal the attenuation efficiency (Q_atn). This is increasingly not the case as the relative shell diameter (i.e. particle size) decreases. The homogeneous sphere Q_sca was calculated by using a formula shown in "Mie theory: Smallparticle limit equations" (http://www.tpdsci.com/tpc/MieTheSmallEq.php), cited after Bohren and Huffman 1983.
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:
Please also see section Validation Overview.
[Top]
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:
AtnFactor = Σ_{n = 1}^{nMax}( 2 n + 1) ( Re a[n] + Re b[n] )  (5)  
ScaFactor = Σ_{n = 1}^{nMax}( 2 n + 1) (  a[n] ^{ 2} +  b[n]  ^{2})  (6)  
AbsFactor = AtnFactor  ScaFactor  (7) 
where the "Atn", "Sca" and "Abs" prefixes mean attenuation, scattering, and absorption, respectively. We also have:
S1 = Σ_{n = 1}^{nMax}( 2 n + 1) ( a[n] π[n] + b[n] τ[n] )  (8)  
S2 = Σ_{n = 1}^{nMax}( 2 n + 1) ( a[n] τ[n] + b[n] π[n] )  (9) 
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:
M11 = (1 / 2) (  S2 ^{2} +  S1 ^{2} )  (10) 
This latter quantity is the element [1][1] 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 indepth discussion of Mueller matrices and polarization effects.
Note that element M12 of the scattering matrix can also be calculated (by the user) from the output provided by the program with the help of the following formula:
M12 = (1 / 2) (  S2 ^{2}   S1 ^{2} )  (10) 
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.
[Top]
Efficiencies
The attenuation, scattering, and absorption efficiencies are calculated and displayed in the output form:
Q_{atn} = ( 2 / x^{ 2}) AtnFactor  (11)  
Q_{sca} = ( 2 / x^{ 2}) ScaFactor  (12)  
Q_{abs} = Q_{att}  Q_{sca}  (13) 
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 angledependent quantities:
Q_{S1} = [ 1 / ( π x^{ 2}) ]  S1  ^{2}  (14)  
Q_{S2} = [ 1 / ( π x^{ 2} ) ]  S2  ^{2}  (15)  
Q_{M11} = [ 1 / ( π x^{ 2}) ]  M11 ^{ 2}  (16) 
[Top]
The algorithms of the coated sphere theory involve, as it is also the case with the homogeneous sphere theory, recurrencebased 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 Besselderived 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}.
Please also see section Valid ranges of input data.
[Top]
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 watercarbon 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 1e7 with the coated sphere MJC Optical Technology calculator, assume values of Q_{att} = 2.02147, Q_{sca} = 2.02141 and Q_{abs} = 0.0000566. The homogenous sphere MJC Optical Technology calculator yields Q_{att} = Q_{sca} = 2.02141 and Q_{abs} = 0.
The vanishing core case was tested by using a composite carbonwater 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 Q_{att} = 2.12599, Q_{sca} = 1.30296, and Q_{abs} = 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 Q_{att} = 2.02147, Q_{sca} = 2.02147, and Q_{abs} = 3.71e16, i.e. essentially 0 at the numerical precision involved. With the homogeneous sphere calculator we obtain Q_{att} = Q_{sca} = 2.02141 and Q_{abs} =~ 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 corerelated 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 nonabsorbing core on light scattering by this composite particle at most scattering angles.
[Top]
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, C_{atn}, C_{sca}, and C_{abs}, respectively, as follows:
F_{atn} = C_{atn} E_{in}  (17)  
F_{sca} = C_{sca} E_{in}  (18)  
F_{abs} = C_{abs} E_{in}  (19) 
where E_{in}[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 [m^{2}] are defined as follows:
C_{xxx} = ( 2 π / k^{2} ) xxxFactor  (20) 
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:
C_{xxx} = ( π D^{2} / 4 ) Q_{xxx}  (20a) 
where "xxx" stands for "Abs", "Att", or "Sca", and D is the whole particle diameter.
[Top]
For N [m^{3}] identical particles per unit volume of the suspension, we have
F_{atn} = N V C_{atn} E_{in}  
= N A z C_{atn} E_{in}  
= ( E_{in} A ) z N C_{atn}  
= F_{in} z N C_{atn}  (21) 
where V [m^{3}] is the illuminated volume of the suspension, A [m^{2}] 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 F_{atn}. The effect of the suspension layer interfaces (for example, water/air) is not accounted for here. The product N C_{atn} equals the attenuation coefficient, usually denoted by c [m^{1}].
c = N C_{atn}  (21a) 
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:
dF = F c dz  (22) 
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
F(z) = F(0) exp[c z]  (23) 
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 sizerefractive 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.
[Top]
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:
I(θ) = C_{sca}(θ) E_{in}  (24) 
where
C_{sca}(θ) = ( 1 / k^{2} ) M11(θ)  (25) 
The dimension of C_{sca}(θ) is m^{2}sr^{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:
F_{sca}(θ) = Ω_{det} I(θ)  (26) 
One may also be interested in obtaining the power scattered into an annular region between the angles of θ1 and θ2. This power equals:
F(θ1, θ2) = ∫_{θ1}^{θ2} ∫_{0}^{2 π} I(θ) dΩ  
= ∫_{θ1}^{θ2} ∫_{0}^{2 π} I(θ) sin(θ) dθ dφ  
= 2 π ∫_{θ1}^{θ2} I(θ) sin(θ) dθ  (27) 
where ∫_{t1}^{t2} denotes integration over t in a range of t1 to t2.
[Top]
Aden A. L., Kerker M. 1951. Scattering of electromagnetic waves from two concentric spheres. J. Appl. Phys. 22, 12421246.
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 sootwater spheres for visible and infrared light. Appl. Opt. 4, 15041509.
Janzen J. 1979. The refractive index of colloidal carbon. J. Colloid Interface Sci. 69, 436447.
Johnson P. B., Christy R. W. 1972. Optical constants of the noble metals. Phys. Rev. 6, 43704379.
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, 682686.
Kattawar G. W., Hood D. A. 1976. Electromagnetic scattering from a spherical polydispersion of coated spheres. Appl. Opt. 15, 19961999.
Khashan M. A., Nassif A. Y. 2001. Dispersion of the optical constants of quartz and polymethyl methacrylate glasses in a wide spectral range 0.23 µm. Optics Commun. 188, 129139.
Lentz W. J. 1976. Generating Bessel functions in Mie scattering calculations using continued fractions. Appl. Opt. 15, 668671.
Malitson I. H. 1965. Interspecimen comparison of the refractive index of fused silica. J. Opt. Soc. Am. 55, 12051209.
Toon O. B., Ackerman T. P. 1981. Algorithms for the calculation of scattering by stratified sphere. Appl. Opt. 20, 36573660.
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.
[Top]
Please direct your comments and questions regarding this software, as well as questions on other MJC Optical Technology software and services to:
Dr. Miroslaw Jonasz
MJC Optical Technology
217 Cadillac Street
Beaconsfield QC H9W 2W7
Canada
Internet: www.mjcopticaltech.com
email: m.jonasz@mjcopticaltech.com
fax +1 514 695 3315
[Top]
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.
[Top]
Last modified: . Copyright 20002014 MJC Optical Technology. All rights reserved.