{MJC_Logo}

Light scattering calculator: coated sphere

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. The program is NOT INTENDED to be run on from a network location. See also other limitations.

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]


Program version

This document applies to program version 3.4. This version continues the use of options, a concept introduced in version 3.3 and clarifies management of the preferences and results directories.

In addition to introducing options, version 3.3 significantly modified the preferences system. Neither is compatible with earlier versions of the program. If the version of the calculator that you purchased is different from 3.4, please contact MJC Optical Technology (see Contact info for comments and questions) to obtain an update.
[Top]


User interface

The graphical user interface of the calculator is shown below. Any disabled (grayed) control of the interface implies that the operation associated with that control cannot be performed at the moment. The top-most element of this interface is the menu (see Menu). The main element of this interface, the page control located below the menu bar, contains two tabbed pages: Define parameters and Read parameters from file. Located below the page control, a bar is used to display the program's status messages. Longer messages, including those expecting the user action, are shown in their own dialog boxes.

User interface of the MJC coated sphere scattering calculator


[Top]

Menu

Options

Options define general features of the user interface, in contrast to preferences, which define what data should be used and which calculations should be performed. Options were introduced in version 3.3 of the MJC Light Scattering Calculator.

Options are saved in a binary file "LscCoatSph.opt" expected to be located in the folder (directory) containing the program. If this file exists on startup, can be successully read, and is consistent with the computer's directory structure, options contained in it are adopted for the user interface. If the file does not exist on startup, it is created by using hard-coded default options. If the options file exists, can be successully read when the program starts, but is not consistent with the computer's directory structure, the default directories are used instead (see also comments on the defective options file).

If the options file is found defective on startup (for example, at least one directory listed in the options file does not exist on the user's computer), the program tries to save it to an archive file "LscCoatSph.op~" and replaces it with the hard-coded default options. If the defective file cannot be archived, the user is asked whether to overwrite the defective options file with the default options.

There are several sets of options including: (1) the saved options, (2) the current options, and (3) the hard-coded default options.

The current options are used by the program during a calculation session. These options can be modified by either using the Options dialog or saving a preference or a results file to a directory different than that specified in the current options (see directories). The current options are saved:

The hard-coded default options are used to initialize options on program startup if the options file (see the saved options) is not available. To revert to the default options, delete the "LscCoatSph.opt" file in the program directory before starting the program.

Clicking the Options menu item in the program user interface form opens the options dialog:

The options dialog of the MJC coated sphere scattering calculator

The options dialog has the following functionality:

  • Save options when program terminates - otherwise the options have to be saved by clicking the Save button (see also saved options).
  • Startup page ... - allows one to select the default page of the page control (see User interface). This option can also be set by simply selecting a page of the program main form.
  • Always create preferences/results file name - when saving such a file. Otherwise, the last used file name is suggested, unless it is empty or default. In these two latter cases, the preferences/results file name is also created (see Setting preferences and Save preferences to a file for more detail). See also Truncate file name to ... characters ...)
  • Truncate file name to ... characters ... - causes truncation of the refractive index file name (see Output as a function of ... Wavelength) and the input data file name of the Read parameters from file mode before such names are included in the suggested preferences/results file name (see also Always create preferences/results file name).
  • Show full file path - when displaying the file name in a label of the main form.
  • Save preferences and results to the same directory - causes saving of the preferences and results of the same type (i.e. DPM or RFF) to a single directory.
  • Directories ... - this group box includes functionality for managing the preferences and results directories, with the exception of modifying these directories. These directories can be modified by (1) loading or saving a preferences file, or (2) saving a results file. Creating separate directories for preferences and/or results of different type is not required nor forced by the program. The directory structure depends entirely on the user (see also a comment on missing directories).
    • Show list of the directories. If any of these directories differs from the corresponding directory in the default options, then (1) an alert is shown to the right of the Show button, and (2) the Reset button of the Directories ... box is enabled.
    • Reset button (if enabled) causes all preferences and results directories to be reset to those contained in the default options.
  • This program is designed for use on a single computer (see also system requirements). Hence, the options file stores absolute paths to directories. If you save the options file on one computer and use this file on another computer with different directory structure, an error message (or messages, if more than one directories contained in the options file cannot be found) will appear when starting the program and preferences and/or results files may be saved to the program directory. See also a comment on defective options file
  • Reset replaces the current version of options with the default version and closes the options dialog.
  • Close the options dialog. If options were changed using this dialog, the changes are not applied. However, changes to directories (see Directories ...) made outside this dialog are not cancelled.
  • Apply closes the options dialog and applies changes to the current options but does not save them.
  • Save closes the options dialog and saves options (see also saved options).

[Top]

Limits

Clicking the Limits menu item displays the acceptable ranges of the calculation parameters. See also Valid ranges of input data. You can Copy all limits to the Windows clipboard and paste it to another Windows program which accepts text input. You can also copy part of the limits text. To do that, select that part with the mouse and click "ctrl-c". When you are ready to paste the selection to another Windows program, click "ctrl-v". You can also Save the limits to a text file.
[Top]

About

Clicking the About menu item displays the program info box, including the program version.
[Top]

Setting preferences

Preferences are a set of user-adjustable calculation parameters. On program startup, preferences stored in a binary file in the program directory are used. If that file does not exists, the program uses hard-coded default preferences and saves them to a binary preferences file. Since version 3.3, each of the two calculation modes ("Define parameters" mode [DPM] and "Read parameters from file" mode [RFF], see also the user interface form) has a separate set of preferences.

The preferences system can be used to document the calculations if the results file name is synchronized with the preference file name. Such synchronization is proposed by the program when you save results of calculations.

Preferences for the Define parameters page are stored in a binary file with extension "prd" in a directory specified in the current options (see Directories ...). These preferences are referred to as the DPM preferences (Define ParaMeters). The DPM preferences include the status of each control of the Define parameters page as well as the numerical/textual values of the calculation parameters. If the Wavelength choice is clicked in the Output as a function of ... of the Define parameters tab, both the refractive index file path and the data from the first data line of that file are updated in the preferences set.

The default DPM preferences are stored in the "DpmDft.prd" file in the program directory. These preferences may be (1) the hard-coded default preferences or (2) the user-defined default preferences.
In order to revert to the hard-coded default preferences, delete "DpmDft.prd" file in the program directory before starting the program.

Preferences for the Read parameters from file page are stored in a binary file with extension "prr" in a directory specified in the current options (see Directories ...). These preferences are referred to as the RFF preferences (Read parameters From File). The RFF preferences include only the input file path and the status of each checkbox of the Read parameters from file page.

The default RFF preferences are stored in the "RffDft.prr" file in the program directory. These preferences may be (1) the hard-coded default preferences or (2) the user-defined default preferences.
In order to revert to the hard-coded default preferences, delete "RffDft.prr" file in the program directory before starting the program.

The name of the currently used preferences file is displayed in the Preferences ... group box of each page of the page control (see User interface). Long file names are truncated. Fly the cursor over the file name label to display the full file name in a hint box that appears near the cursor tip. The file names can be displayed in two formats: the file name only or the full file path (including both the directory and the file name), depending on whether the check box Show full file paths in the options dialog is unchecked or checked, respectively. The file name display format can be changed on the fly. If no file name is displayed in the Preferences ... box, the preferences have been changed from the set of preferences most recently loaded or saved.
[Top]

The following buttons are available in the Preferences group box of each page of the user interface form:

  • Load - loads preferences from a file
  • Save - saves preferences to a file
    . When saving preferences to a file, a name for the preferences file is proposed by the program as follows:
    • DPM preferences
      • If (1) the Save button is clicked while the option Always create preferences file name is checked in the options dialog, or (2) the default preferences are used, or (3) preferences have been modified, then the proposed name is "Dpm" plus a truncated name of the Output as a function of radio button that is currently selected. If the Wavelength radio button is selected, an abbreviated refractive index file name is also appended. The length of the abbreviated file name is controlled by the Truncate file name to ... parameter of the options.
      • Otherwise, the last used name of the preferences file is proposed.
    • RFF preferences
      • If (1) the Save button is clicked while the option Always create preferences file name is checked in the options dialog, or (2) the default preferences are used, or (3) preferences have been modified, then the RFF preferences file name is constructed by appending to "Rff" a truncated name of the input data file and abbreviated names of the RFF preferences selected (see detailed explanation). The length of the truncated file name is controlled by the Truncate file name to ... parameter of the options.
      • Otherwise, the previously used name of the RFF preferences file is suggested.
    Once the preferences file of a given type (DPM or RFF) is saved, the Save button is disabled. To enable it, you need to change any preference of that type.
  • Default - manages the default preferences. The default preferences file has the same format as that of all other preferences of a given type (DPM or RFF), except that (1) the file is saved to and read from the program directory and (2) its name cannot be chosen by the user. The names of the default preferences files are: DpmDft.prd (DPM preferences) and RffDft.prr (RFF preferences). These preferences can be user-defined or hard-coded. For instructions on how to revert to the hard-coded default preferences, please see revert to DPM preferences and revert to RFF preferences.
    • Load - if this button is enabled, there is a default preference file in the program directory. Click it to load the default preferences.
    • Save - if this button is enabled, you can save the current set of preferences (as shown in the respective page of the user interface form).


'Define parameters' calculation mode

Open this page of the page control (see User interface) by clicking on its tab or via loading a DPM preferences file that opens it automatically and presets the data and output handling parameters (see the description of the preferences box).

Modifying program input data

Note that editing of numerical data in edit boxes (such as wavelength) is not complete until the edit box looses focus, i.e. the cursor exits the edit box, or the RETURN key is pressed on the keyboard.

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.

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 containing the refractive index spectrum. If the read is successful, the wavelength defined in the first read line of the file is shown in the disabled edit.

Edit x button
This button opens the coated sphere (whole) size range editor (see Range editors). 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 using 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, sphere diameter, and shell diameter.

Edit diam button
replaces the Edit x button if the abs size check box is checked.

If the output is to be a function of the scattering angle (referred to as theta, i.e. 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 ... countsize range - 1. For example, if the size range contains n values, the countsize range = n. The size range must fulfill this requirement: 0 < xstart <= xmax. Parameter xmax is defined in the Limits. See also the Range editors section.

shell thickness / particle radius edit
This edit is displayed when the Output as a function of ... is different than Part. diam.: const total var. shell (see Output as a function of ... particle size).
This edit enables modifying the sphere shell (coating) thickness. The shell thickness is expressed as a fraction of the whole particle radius. Hence, the "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.

shell thickness step count edit
This edit is displayed when when the Output as a function of ... is Part. diam.: const total var. shell (see Output as a function of ... particle size. In this case, the sphere shell (coating) thickness range is divided into shell thickness step count - 1 steps.

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 non-absorbing medium (i.e., a medium with m" = 0) surrounding the sphere. If the choice 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 non-absorbing medium (i.e., a medium with a medium with m" = 0) surrounding the sphere. If the choice 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 choices 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 remaining angle range parameters: step [deg], count, and end [deg] can also be edited. The scattering angle list is generated and displayed in the output form according to the prescription equivalent to that used for the size range. The start and and of the theta range must fulfill the following requirement: 0 <= thetastart <= thetaend <= 180 deg. See also the Range editors section.
[Top]


Range editors

Range editors for the particle size and scattering angle (see a sample scattering angle editor, named Theta range editor) accept any inputs that are consistent with the abstract range definition (with one exception detailed further in this section). 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.

Scattering angle range editor

One of the range items is always calculated. This item's Calc radio button is selected. You can force an item to be calculated (i.e. not editable) by clicking the corresponding radio button in the Calc column of the range editor form. You can preview the effects of changing a range item by clicking Apply to apply the change. If satisfied, click Ok to accept it. You can also click Ok right away after any parameter change.

If a calculation setup implies that only the start value of a range can be edited (for example, the start value of the particle size range while the Output as a function of ... is Scattering angle ...), editing that value can lead to inconsistent range definitions in other cases of Output as a function of ... because in such a setup, the range editor does not verify the mathematical correctness of the range. For example, say that the particle size range was once defined as: start = 2, step = 0.1, count = 11, end = 3, and Output as a function of ... was changed to Scattering angle .... This enables the user to change the start value to, say, 3. When the calculation mode is changed to a mode that requires the whole particle size range definition, the modified range: start = 3, step = 0.1, count = 11, end = 3 will be inconsistent. However, this error will only be flagged when the Run button is clicked.
[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 (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. Please see info on a Microsoft ExcelTM spreadsheet (results viewers) pre-formatted to display such results in numerical and publication-ready graphical forms.

Particle 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.
  • const. rel. shell thick. - the relative shell thickness is fixed.
    The absolute shell thickness increases with particle 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).
  • 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 for a single scattering angle. Particle size is displayed in the output form as the relative size x [non-dim] or as the absolute size if the abs size check box is un-checked or checked, respectively.

Please see info on a Microsoft ExcelTM spreadsheet (results viewers) pre-formatted to display such results in numerical and publication-ready graphical forms.

Wavelength
Efficiencies and angular patterns (see Results) are displayed as functions of the wavelength when the Wavelength radio button is clicked. Calculations are carried on for a fixed shell diameter, (which is expressed in Ám in this case) and 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. Spectra of the refractive indices 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 the Get refractive index spectra ... group box (see the screen shot below). Please also see additional comments in section Refractive index file format and sample.

User interface of the MJC coated sphere scattering calculator: Output as a function of wavelength

Two buttons in Get refractive index spectra ... group box are available for the refractive index spectra import:

... 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 in that file is mandatory in this case, because 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. A meaningful heading enables proper interpretation of the data by a human reader.

Once the refractive index file is read in, the refractive index edits (such as shell m') are filled with the data from the first data line of that file. The wavelength edit is filled with the wavelength from that first data line. These edits are disabled in the Wavelength mode.
[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 (note that the wavelength is expected to be given in Ám):

   wavelength_Ám shell_m' shell_m" core_m' core_m"

where the complex refractive index is expressed as m = m' - i m". The refractive index must be relative to the refractive inde of the (non-absorbing) medium surrounding the coated sphere.

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, Touloukian and DeWitt 1972 and Khashan and Nassif 2001 in this wavelength range).

The first line of this file is a heading, strongly suggested to enable correct interpretation of archived refractive index files. In fact, when using the ... from file method of importing the refractive index spectra, the heading is mandatory, as the program starts reading the file from the second line of text. 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 it is disabled and a display form opens showing the results. If you close the results display form, the View results button will be shown as long as you do not modify the calculation parameters. Click this button to redisplay the results form without repeating the calculations.

Once you modify the calculation parameters, the Run button has to be clicked in order to recalculate and view the results.

Copy button of the display form copies all the results to the Windows clipboard. You can also copy a section of the results by simply selecting that section with the mouse and clicking "ctrl-c". When you are ready to paste the results in a Windows program accepting text, click "ctrl-v".

Save button of the display form saves the results to a space-delimited text file. The file name suggested by the Save As dialog box is that of the DPM preferences file (with extension "txt"). This enables synchronization of the names of the preferences file (see Setting preferences) and the corresponding results file. Please see Directories ... for the location of the results files.
[Top]


'Read parameters from file' calculation mode

Open this page of the page control (see User interface and the screen shot below) by clicking on its tab or via loading a RFF preferences file that opens it automatically and presets the calculations (see the description of the preferences box).

Once the page is shown, a group box containing the Select input file button is displayed (see also Input data file). If the input data file has not been pre-selected by loading a preferences file, this group contains only the Select input file button. Click it to open the Select input data file dialog. This dialog enables one to select an input data file which contains specification(s) of coated sphere(s) to process. The selected file is evaluated for correctness. If the evaluation is successful, i.e. if:

  • one or more data lines is/are found in that file, and
  • the first data line contains no error

then, the Select types of results to include in the output: group box will be shown. If the check box for any result type is checked, a group box containg the Run button is shown below. Click that button to process the input data file and calculate scattering properties of coated sphere(s) specified therein.

Rff page of the user interface of the MJC coated sphere scattering calculator

During calculations, the currently processed data line of the input data file is displayed in the Run button box, next to the Line # label, where # is the number of the data line in the file. This detail is not shown in the screen shot above. The number of the first line of the file is 1. The line count includes all lines (i.e. the text lines and data lines).

Once the calculations are completed, the Run button is disabled, and a results form opens. You can copy all results to the Windows clipboard (click the Copy button) or save the results to a text file (click the Save button). Note that you can also copy selected results to the WindowsTM clipboard. To do that, select the data with the mouse and click ctrl-c. To paste the selection to another text-accepting WindowsTM program, click ctrl-v when the cursor is located in the text-accepting area of that program's window.

If the results form is closed, a View results button is displayed. This makes possible re-viewing of the results without repeating the calculations. This button is not shown if a data error is encountered.

If a data error is encountered in the input file (see Handling of input data errors), the calculations stop and an error message is displayed below the last processed data line. The results form will show the results calculated thus far.
[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 required by the program, the file may contain text lines, such as the user comments, and heading(s), as well as additional data (see User's data) in each or some data lines.
[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. Note that the program uses its own headings when displaying the results. However, the user's heading can be included in the output file if the Copy text lines to output check box in the 'Read parameters from file' calculation mode is checked.

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 a 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 for the human reader into groups of data lines 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. Avoid using multiple group headings per group of data lines or position the group heading to use as the last heading in the stack of group headings. Otherwise results may be less meaningful than intended, as implied by the following sample (this help file comments that are not part of the text line are shown in []):
    Wave DiaS DiaC MReS MImS MReC MImC    
    _Relative shell diameter varies [This is a group 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    
    _Relative core diameter varies [Ignored group heading]
    _in the following group [This group heading is used]
    0 1.2 0.1 1.03 0.01 1.33 0  
    0 1.2 0.2 1.03 0.01 1.33 0  
Here, the intention was to separate the two data groups by a group heading which is split into two lines: "_Relative core diameter varies" and "_in the following group". However, given that the last group heading line is used by the program, the resulting group heading is: "_in the following group".

Note that Copy text lines to output check box must be checked in order to include the group heading(s) in the output.

If the Copy text lines to output check box in the Read parameters from file tab is checked, all text lines are copied to the output. The initial block of text lines is copied to the beginning of the output. This block of text lines is shown at the beginning, separated from the results. Lines beginning with an underline ("_") are embedded in the output at the same locations as those in the input file.
[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 data line". The first data line defines the setup of the entire file. Hence, if the first data 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 data line contains 8 items, the 8th item is interpreted as the scattering angle. Hence, if the first data line of 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 (see User's data).

[Top]

File structure

The input data file can contain empty lines, although this may be confusing for the human reader and is not recommended. If you would like to separate groups of data lines visually for the human reader, please use group headings.

Each of the first 7 (or 8, if the scattering angle is defined) 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: space, tab, or comma):

   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 range (click the Limits menu item for the numerical values of the limits of the input data), 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 (optional) 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
    The user data are normally not copied to the output file. To copy the user data to the output file, you need to check the Copy user data to output check box in the Read parameters from file page once that box becomes visible. User data are copied verbatum to the output. Please note that the maximum number of characters (per output line) that the user data can occupy is "Max output line length" - 181, assuming that all output items (see Setting the output format) are included in each output line. The number 181 represents the maximum number of characters taken by data items: Wave through ScaAng. The "Max output line length" can be seen by clicking the Limits menu item. If the length of the user data section of a data line is greater than "Max output line length" - 181 then the user data are truncated without notice.

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 data 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 data 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 ScaAng, 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 a following data line, like in this example:
    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 would show a "not-enough-data" error, which is handled before checking the data validity. Indeed, in this example, the first data line defines 8 data items, while the second data line has only 7 items.
  • data item cannot be converted to a numerical value (a double)
    NOTE: Such an error in the first item (the wavelength) of a line intended to be the first data line cannot be identified because the line that contains such an ill-defined wavelength is treated as a text line and ignored. This is shown the the following example, where the second line of the file was intended to be the first data line but the wavelength string in that line was accidentally "contaminated" by an alphanumeric character ("a"):
    Wave DiaS DiaC MReS MImS MReC MImC ScaAng [This line is ignored]
    a2 1.0 0.1 1.03 0.01 1.33 0 100 [This line is ignored]
    3 1.0 0.1 1.03 0.01 1.33 0 100  
    '4 1.0 0.1 1.03 0.01 1.33 0 100 [This line is ignored]
    The next line contains a wavelength string ("3") that can be converted to a number. This line becomes the first data line and marks the beginning of the data section. If any following line contains a non-convertible wavelength item, this item will cause data error, unless that item begins with an apostrophe ( ' ) or underline ( _ ) (see Text lines).

    Note that an item beginning with a digit, or the + or - sign will not be converted to a numerical value if it contains a character different from a digit, e or E, and + or - sign or space after the e or E.
  • 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 to an output text line if the scattering angle data item is present in the first data line of the input data file. The output 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 Select types of results to include in the output group box (see Read parameters from file).
[Top]


Running calculations, copying, and saving results

Once the output items are selected (see Setting the output format), the Run button is displayed (see Read parameters from file). 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 (see Read parameters from file), text lines in the input data file are copied to the results. See details in the Text lines section. If the Copy user data to output check box is checked, the user data (the part of a data line following the items required by the program) are copied to the output. See User's data for more detail.

When calculations are completed without a data error, the output display form is shown and the results can be viewed, copied as text, or saved to a text file.

If the "Always create preferences/results name" check box in the options dialog is checked, the program will auto-create the RFF preferences file name as follows:

"Rff" (RFF file name prefix) +
input file name (truncated to the length selected in the "Truncate file name to ..." in the options dialog) +
"Qatn" (if the "Qatn" box is checked in the "Read parameters from file" page of the user interface) +
"Qsca" (if the "Qsca" box is checked in the "Read parameters from file" page) +
"Qabs" (if the "Qabs" box is checked in the "Read parameters from file" page) +
"S1" (if the "S1" box is checked in the "Read parameters from file" page) +
"S2" (if the "S2" box is checked in the "Read parameters from file" page) +
"M11" (if the "M11" box is checked in the "Read parameters from file" page) +
"Ctl" (if the "Copy text lines to output" box is checked in the "Read parameters from file" page) +
"Cud" (if the "Copy used data to output" box is checked in the "Read parameters from file" page)
This file name will be suggested as the results file name (extension "txt") when the results are chosen to be saved.

If a data error occurs, calculations stop and an error message is displayed under the last read-in input line. The results obtained so far are shown in a separate output form. All items in the RFF page, except the Select input file button, are disabled (but remain visible). In particular, the Run button is disabled. It can only be enabled again by clicking the Select input file button (see Read parameters from file).

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. Please see Directories ... for the location of the results files.
[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). The wavelength is displayed even if it is set to 0 in the input file. This is done to preserve the structure of the block of fields of the input data.

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 to correspond to the wavelength value entered.

In this program, m' can assume values from a range of 0 < m' < m'max. The m" range is defined as 0 <= m" <= m"max, where the upper limits are arbitrarily chosen. 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, θ 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 5e-6 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 5e-6 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, 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 according to 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 running 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 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 published results

Results of this program have been tested against the known behavior of the relevant functions and also compared with published results ofg light scattering calculations. Excellent correspondence has been obtained between this program results and those reported, for example, by Kaiser and Schweiger 1993, Bohren and Huffman 1983. This correspondence attests to the capability of the downward recursion combined with the Lentz 1976 method for obtaining the initial values. Comparisons with other published results are detailed in the following text.

Table 1 contains results for the attenuation efficiency and scattering efficiency obtained with a program developed by Liu Lei et al 2007 and the MJC Light Scattering Calculator for Coated Sphere (CSS). The results obtained with these programs agree to within the numerical precision shown.
 

Table 1. Results of calculations of the attenuation efficiency, Qc, and scattering efficiency, Qb, of coated spheres. Column x1 contains the relative particle size, i.e. the relative size (diameter) of the shell. Column ts contains the shell thickness as a fraction of the shell radius. The core relative size x2 = 0.5. The refractive indices of the shell and the core (relative to that of the surrounding non-absorbing medium) are respectively m1 = 1.33 − i 0 and m2 = 1.59 − i 0.66. The values of the efficiencies have been obtained with a program developed by Liu Lei et al 2007 (program code) and MJC Light Scattering Calculator for Coated Sphere (CSS). The results obtained with both these programs agree to within the numerical precision shown.
This table illustrates the case of the vanishing core. Given the values of the refractive indices, it is the core which contributes to the absorption of light by the whole particle. As the fractional shell thickness increases towards unity, the contribution of the core to the absorption of light by the particle decreases. Hence, the values of Qc and Qb converge.
 
x1 ts Qc Qb
1 0.5  0.366043  0.124027
10 0.95  2.210291  2.206762
40 0.9875  1.987762  1.987576
70 0.992857  2.021424  2.021344
100 0.995  2.101052  2.101013
500 0.999  2.030372  2.030371
1000 0.9995  2.016579  2.016578
5000 0.9999  2.005736  2.005736

 

Table 2 compares results for the absorption efficiency obtained by Fenn RW and Oser 1965 and those obtained with the MJC Light Scattering Calculator for Coated Sphere (CSS). The absorption efficiency values tend to diverge as the particle size increases. When the particle size increases, the calculations involve an increasingly larger number of terms, suggesting that convergence problems in the program used by Fenn RW and Oser might be the source of this divergence. Similar trend can be observed when comparing results shown in Pilat MJ 1967 (his Fig. 2, middle panel) with those of the CSS program: the two sets of results diverge substantially for the relative particle size greater than ~1. Oscillations that appear beyond the first maxima of the efficiencies in the Pilat results do not seem to be consistent with significant absorption of light in a thick shell of the particle because absorption typically dampens such oscillations. Independent calculations (D. Zelmanovic, personal communication) confirm the CSS result. As shown in Table 1, results obtained with CSS and another program independently developed by Liu Lei et al 2007 for significantly greater particle sizes agree to 7 decimals.
 

Table 2. Results of calculations of the absorption efficiency, Qa, of coated spheres: water shell on "carbon" core. Column λ contains the wavelength of light in vacuum, column m2 contains the complex refractive index of water, as reported by Fenn RW and Oser 1965 (their Table II). Column xc and column xs contain the relative sizes of the core and shell, respectively. The ratio of xs to xc equals 17. The shell thickness, relative to the shell radius of rs = 0.368 Ám, equals 0.9411764. The refractive index of the core (relative to that of the surrounding non-absorbing medium) is m2 = 1.59 − i 0.66 (as given by Fenn RW and Oser). Column Qa (FO1965) contains the absorption efficiency, Qa, obtained by Fenn RW and Oser 1965 (their Table I, column b/a = 17, a = 0.368). Column Qa (CSS) contains Qa obtained with the MJC Light Scattering Calculator for Coated Sphere (CSS). Note that the absorpion efficiency values tend to diverge as the relastive particle size increases (yellow colored cells). When the particle size increases, the calculations involve an increasingly larger number of terms, suggesting that the convergence problems in the Fenn RW and Oser program might have been the source of this divergence.
 
λ, Ám m2 xc xs Qa (FO1965) Qa (CSS)
1.35 1.327 - i 3.223e-5 1.7176471 29.2 0.0121 0.0189836
1.5 1.323 - i 0.316e-3 1.5411765 26.2 0.0493 0.04201250
2.0 1.304 - i 0.111e-2 1.1588235 19.7 0.0851 0.09237532
3.0 1.409 - i 0.1747 0.7705882 13.1 1.1846 1.184963
3.2 1.473 - i 0.1690 0.7235294 12.3 1.1910 1.191040
3.4 1.438 - i 0.1690 0.6823529 11.6 1.0153 1.209690
4.5 1.342 - i 0.0160 0.5117647 8.7 0.5022 0.496285
5.47 1.297 - i 0.0146 0.4235294 7.2 0.3734 0.374065
6.0 1.311 - i 0.1011 0.3882352 6.6 1.1312 1.132952
7.0 1.327 - i 0.0451 0.3294117 5.6 0.7384 0.737012
10.0 1.208 - i 0.0560 0.2294117 3.9 0.5757 0.571803


Sun Wenbo et al 2004 provide a set of values of the attenuation efficiency, Qc, scattering efficiency, Qb, and absorption efficiency, Qa, of a coated sphere with a relative size of 10 and 12 for the core and shell, respectively, and with the complex refractive indices of 1.2 - i 0.1 and 1.1 - i 0.05 for the core and shell, respectively (relative to the refractive index of the surrounding, non-absorbing medium). These values:

 Qc = 2.162570  (1a)
 Qb = 1.143033  (1b)
 Qa = 1.019536  (1c)

match very well those obtained with the MJC Light Scattering Calculator for Coated Sphere:

 Qc = 2.162570  (2a)
 Qb = 1.143034  (2b)
 Qa = 1.019536  (2c)


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 in air with the carbon shell thickness decreasing to 0. The whole particle x = 70 was assumed, with the water refractive index m = 1.33 - i0, and the carbon refractive index m = 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 in air 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 (the latter value is 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 m = 1.33 - i 0 (water), shell m = 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.

Scattering by water sphere coated with carbon

[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 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" means either "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" means either "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. Such integration must at present be provided off line, for example by using a spreadsheet.
[Top]


Angular scattering pattern

Similarly one 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. The azimuthal angle φ is measured in a plane perpendicular to the wave direction (beam axis). 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.

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)

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

Liu Lei, Wang H., Yu B., Xu Yamin, Shen J. 2007. Improved algorithm of light scattering by a coated sphere. China Particuol. 5, 230-236.

Malitson I. H. 1965. Interspecimen comparison of the refractive index of fused silica. J. Opt. Soc. Am. 55, 1205-1209.

Pilat M. J. 1967. Optical efficiency factors for concentric spheres. Appl. Opt. 6, 1555-1558.

Sun Wenbo, Loeb N. G., Fu Q. 2004. Light scattering by coated sphere immersed in absorbing medium: a comparison between the FDTD and analytic solutions. J. Quantit. Spectrosc. Radiative Transfer 83, 483-492.

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: 24 May 2016.
Copyright 2000-2016 MJC Optical Technology. All rights reserved.