{MJC_Logo}

Light scattering calculator: coated sphere

Miroslaw Jonasz

Table of contents


Introduction

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".
[Top]


Quick start

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).
[Top]


User interface

Setting preferences

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.
[Top]

The following choices are available in the Preferences menu:

  • Save - saves the preference to the currently active preferences file
  • Save As - saves the preferences to a file named by the user
  • Load - loads the preferences from a preferences file
  • Default - loads default pereferences.

Miscellaneous menu items

  • Limits - displays the acceptable ranges of the calculation parameters. See also Valid ranges of input data
  • About - displays the program info box.

[Top]


Page "Define parameters"

Modifying program input data

Edit x button
This button opens the coated sphere (whole) size range editor. The Edit x caption is shown if the abs. size check box is unchecked. The whole sphere size (including the coating/shell thickness) is then expressed by the relative size parameter x (see also Definitions of the input data). In the following text, the whole sphere size is used interchangeably with the sphere size and sphere diameter.
The button caption is modified to Edit diam if the abs. size check box is checked.

If the output is to be a function of the scattering angle (theta, i.e. an option Output as a function of ... Scattering angle is selected) only the start parameter of the size range can be edited. If the output is requested to be a function of the particle size (see Setting the output format), the remaining particle size range parameters: step, count, and end are also displayed (and need to be specified) in units implied by the status of the abs. size check box. Based on these parameters, the relative size list is generated and displayed (on the calculations' completion) in the output form as follows:

 x[0] = xstart  (1)
 x[m] = x[m - 1] + xstep  (2)

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
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

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]


Setting the output format

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 [non-dim] or the absolute size if the abs. size check box is un-checked 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
Wavelength-dependent complex refractive indices of the shell and core of the coated sphere are to be supplied in a tab-delimited, space-delimited, or comma-delimited 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 Sellmeier-type 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]


Runing calculations, displaying, and saving results

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.

[Top]


Page "Read parameters from file"

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]

Input data file

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)).
[Top]

Text lines

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:

  • exclude from processing a data line of an input data file by inserting an apostrophe ( ' ) as the first character of that line to prevent conversion of the first item of the line to a numerical value:
    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
  • organize visually the data file into groups of data lines for the human reader by adding group heading lines. The group heading line must begin with an underscore ( _ ), as shown in the sample input data file below. A single group heading line per group of data lines is expected. If there are more than one group headings per group of data lines, only the last group heading is used for that group.
    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]

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.

[Top]

File structure

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

  • Wave (required parameter) is the wavelength of the incident light in the medium surrounding the particle. It is defined in micrometers (Ám).
    • If the wavelength is less than or equal to zero, then:
      • the shell and core diameters (DiaS, DiaC) are assumed to be expressed in the relative particle size scale, x = diameter * PI / wavelength
      • it must remain <=0 in all data lines following the first data line
    • If the wavelength is within the acceptable wavelength range (click the Limits menu item), then:
      • the shell and core diameters (DiaS, DiaC) are assumed to be expressed in micrometers (Ám)
  • DiaS (required parameter) is the particle (i.e. shell) diameter
  • DiaC (required parameter) is the core diameter
  • MReS and MImS (required parameters) define the complex refractive index of the shell (MReS - iMImS ), relative to the (real) refractive index of the surrounding medium
  • MReC and MImC (required parameters) define the complex refractive index of the core (MReC - iMImC ), relative to the (real) refractive index of the surrounding medium
  • ScaAng (optional parameter) is the scattering angle in degrees.
  • User's data items are data which are not intended for the use of this program. If such data items are to be included in the first data line when the intent is to provide only the Wave, DiaS, DiaC, MReS, MImS MReC, MImC data items, then the user's data items must be separated by a text item (for example, "_") from the data items used by this program, for example:
    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.05e-8
    0 1.1 0.1 1.03 0.01 1.33 0 _ 4.29 3.05e-1
    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.

    A text field (separator) is not required if the scattering angle is defined (recall that the program only looks for the first eight numerical fields in a data line in this case), so the following input is correct:
    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.05e-8
    0 1.1 0.1 1.03 0.01 1.33 0 90 4.29 3.05e-1

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]

Handling of input data errors

An error is reported and the program stops processing the input data file if:

  • the file is empty
  • the file contains only text lines
  • the first data line contains less than 7 data items
  • a required item of a data line cannot be interpreted as a number
  • the data items count in a line is less than 7 (or 8 - if the scattering angle has been defined in the first line)
    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:
    Wave DiaS DiaC MReS MImS MReC MImC ScaAng
    0 1.0 0.1 1.03 0.01 1.33 0 90
    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
    0 1.0 0.1 1.03 0.01 0 90
    and will show (in this example) an error because MReC < minimum MRe.
    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:
    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  
    ...              
    then the program will show a "not-enough-data" 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.
  • data item value is outside a valid range
  • wavelength, which was declared <= 0 in the first data line, assumes a positive value

[Top]

Sample input data file
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]


Setting the output format

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 angle-dependent items
 
   |S1|^2, |S2|^2, M11
 

where

  • Q_atn is the attenuation efficiency
  • Q_sca is the scattering efficiency
  • Q_abs is the absorption efficiency
  • ScaAng is the scattering angle in degrees
  • |S1|^2 is the value of |S1|^2 at ScaAng
  • |S2|^2 is the value of |S2|^2 at ScaAng
  • M11 is the value of M11 at ScaAng.

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".
[Top]


Running calculations, copying, and saving results

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".
[Top]


Sample output file

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 2014-11-03
Wavelen_um DiaS DiaC MReS MImS MReC MImC Q_atn ScaAng M11
0.0000e+00 1.0000e+00 1.0000e-01 1.0300e+00 1.0000e-02 1.3300e+00 0.0000e+00 2.7614e-02 9.0000e+01 1.5065e-04
0.0000e+00 1.1000e+00 1.0000e-01 1.0300e+00 1.0000e-02 1.3300e+00 0.0000e+00 3.0615e-02 9.0000e+01 2.4281e-04
0.0000e+00 1.2000e+00 1.0000e-01 1.0300e+00 1.0000e-02 1.3300e+00 0.0000e+00 3.3655e-02 9.0000e+01 3.6879e-04

[Top]


Assumptions

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 beam illuminating the particle has a plane wave front in the vicinity of the particle. Usually such a beam is "collimated" i.e. its divergence is limited. However, the wavefront in the focus of a lens is also plane. Therefore, the theory of light scattering by coated sphere applies to situations where the particle(s) is(are) illuminated by a focused beam - this can greatly increase the incident irradiance (power per unit area) and thus increase the power of light scattered by the particle. This typically applies to an arrangement where light scattering by a single particle is measured.
  • The diameter of the beam is large as compared with the particle.
  • The particle is located near the beam axis to avoid edge effects.
  • The medium surrounding the sphere must not absorb light, i.e. its complex refractive index must be expressed as m' - i 0.

[Top]


Definitions of the input data

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 [non-dimensional]

 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

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.


Small size limit of the scattering efficiency

The accuracy of the algorithm of Toon and Ackerman 1981 decreases for very small coated spheres (relative size ~1e-8). 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: Small-particle 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:

  • if both the particle size and shell thickness are near their lower limits, a loss of accuracy may be expected.
  • if the real part of the refractive index of the shell is very high, the imaginary part is near 0, and the particle size is high, calculation time may increase considerably or even lead to an effectively infinite loop in the calculation of initial values of certain terms [specifically, the eta1n(z) term, see Toon and Ackerman for 1981 for the definition]

As a guidance, the following rules should be observed:

  • Qatn should equal Qsca if m" = 0 for both the core and shell
  • Qatn should be greater than Qsca if m" > 0 for either or both the core and shell.
  • Qatn should tend to 2 for particles with the large relative size.
  • |S1|^2 should tend to |S2|^2 when the scattering angle decreases to 0 or increases to 180░.

Please also see section Validation Overview.
[Top]


Results

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 = 1nMax( 2 n + 1) ( Re a[n] + Re b[n] )  (5)
 ScaFactor = Σn = 1nMax( 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 = 1nMax( 2 n + 1) ( a[n] π[n] + b[n] τ[n] )  (8)
 S2 = Σn = 1nMax( 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 in-depth 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:

 Qatn = ( 2 / x 2) AtnFactor  (11)
 Qsca = ( 2 / x 2) ScaFactor  (12)
 Qabs = Qatt - Qsca  (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 angle-dependent quantities:

 QS1 = [ 1 / ( π x 2) ] | S1 | 2  (14)
 QS2 = [ 1 / ( π x 2 ) ] | S2 | 2  (15)
 QM11 = [ 1 / ( π x 2) ] | M11 | 2  (16)

[Top]


Validation

Overview

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.

Please also see section Valid ranges of input data.
[Top]


Comparison with other published results

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.


Homogeneous sphere limits

In addition, the results were checked against the results of the homogeneous sphere calculator, also available from MJC Optical Technology, for three cases:

  • vanishing shell
  • vanishing core
  • vanishing refractive index difference

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.


Sample results

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.

{short description of image}

[Top]


Applications

Single particle

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:

 Fatn = Catn Ein  (17)
 Fsca = Csca Ein  (18)
 Fabs = Cabs Ein  (19)

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:

 Cxxx = ( 2 π / k2 ) 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:

 Cxxx = ( π D2 / 4 ) Qxxx  (20a)

where "xxx" stands for "Abs", "Att", or "Sca", and D is the whole particle diameter.
[Top]


Suspension

For N [m-3] identical particles per unit volume of the suspension, we have

 Fatn = N V Catn Ein  
   = N A z Catn Ein  
   = ( Ein A ) z N Catn  
   = Fin z N Catn  (21) 

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].

 c = N Catn  (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 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.
[Top]


Angular scattering pattern

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(θ) = Csca(θ) Ein  (24)

where

 Csca(θ) = ( 1 / k2 ) M11(θ)  (25)

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:

 Fsca(θ) = Ω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θ202 π I(θ)  
   = ∫θ1θ202 π I(θ) sin(θ)  
   = 2 πθ1θ2 I(θ) sin(θ)  (27)

where ∫t1t2 denotes integration over t in a range of t1 to t2.

[Top]


References

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.

[Top]


Contact info for comments and questions

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
e-mail: m.jonasz@mjcopticaltech.com

fax +1 514 695 3315
[Top]


Disclaimer

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 2000-2014 MJC Optical Technology. All rights reserved.