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

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.3. This version introduces options and significantly modifies the preferences system. Neither is compatible with earlier versions of the program. If the version of your program is different from 3.3, 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. The top-most element of this interface is the menu (see Menu). The main element of this interface, the page control, contains two tabbed pages: Define parameters and Read parameters from file.

User interface of the MJC coated sphere scattering calculator

Below the page control, a status bar is located. Some program status messages are shown in that bar.
[Top]

Menu

Options

The options defines general features of the user interface. This construct was introduced in version 3.3 of the MJC Light Scattering Calculator. The options are saved in a binary file "LscCoatSph.opt" located in the directory containing the program. If this file exists when the program starts, options contained in it are adopted for the user interface. If the file did not exist on startup, it is created by using hard-coded defaults.

The program maintains several sets of options including: (1) the default options (i.e. the options that have been saved to the options file) and (2) the current options. The current options become default:

Finally, there are the hard-coded default options that are used to initialize the options on program startup. To revert to the hard-coded default options, delete the "LscCoatSph.opt" file in the program directory before starting the program.

Clicking the Options menu item opens the options dialog:

The options dialog of the MJC coated sphere scattering calculator

This dialog has the following functionality (any disabled control of the dialog implies that the operation associated with that control cannot be performed at the moment):

  • Save options when program terminates - otherwise the options have to be saved by clicking the Save button. The saved options become the default options (see also hard-coded defaults).
  • 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.
  • 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 (see Input data file) 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 a file name in a label of the main control panel.
  • Save preferences and results to the same directory - causes saving of the preferences and results of the same type (i.e. DPM preferences or RFF preferences) to a single directory.
  • Directories ... - this group box exposes currently used preferences and results directories. These directories cannot be modified from within the options dialog. They can be modified by (1) loading or saving a preferences file, or (2) saving a results file. Note that 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.
    • 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 causes all preferences and results directories to be reset to those contained in the default options.
  • Reset replaces the current version of the options with the default version and closes the options dialog.
  • Cancel closes the options dialog. If the options were changed using this dialog, these changes are not applied. Changes to directories (see Directories ...) made outside this dialog are not cancelled.
  • Apply closes the options dialog and applies changes but does not save them. Applying the changes causes the options to differ from the default options.
  • Save closes the options dialog and saves the options as defaults (see also hard-coded defaults).

[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 the default preferences are used. These preferences are stored in a binary file in the program directory. If that file does not exists, the program uses hard-coded preferences and saves them to the binary preferences file. Since version 3.3, each page of the page control of the main form (see User interface) 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 tab are stored in a binary file with extension: "prd" in a directory specified in the 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 ..., both the refractive index file path and the data from the first read-in 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 the hard-coded or 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 tab are stored in a binary file with extension: "prr" in a directory specified in the 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 the hard-coded or 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 tab 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), depening on whether the options check box Show full file paths is unchecked or checked, respectively (see Show full file path in Options). 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 perefences most recently loaded or saved.
[Top]

The following buttons are available in the Preferences group box of each tab (if a button is disabled, it signifies that the operation it is intended for cannot be performed at the moment):

  • 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 the Save button is clicked while the option Always create preferences file name is checked in the Options dialog (see Options), or if the preferences are default or have been modified, the proposed name is "Dpm" plus a truncated name of the Output as a function of radio button that is currently selected. If that button is Wavelength, an abbreviated refractive index file name is also appended. The length of the abbreviated file name is controlled by the options parameter Truncate file name to (see Options). Unlike in the RFF case, there are too many parameters to auto-create a compact file name by combining abbreviated names of all preferences selected.
        Once the preferences file is saved, the Save button is disabled. To enable it, you need to change any of the DPM preferences (for example, toggle the abs size checkbox).
      • Otherwise, the last used name of the preferences file is proposed.
    • RFF preferences
      • If the Save button is clicked while the option Always create preferences file name is checked in the Options dialog (see Options), or if the preferences are default or have been modified, 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. The length of the abbreviated file name is controlled by the options parameter Truncate file name to (see Options).
        Once the preferences file is saved, the Save button is disabled. To enable it, you need to change any of the RFF preferences.
      • Otherwise, the previously used name of the RFF preferences file is suggested.
  • Default - manages the default preferences. These preferences have the same format as all other preferences, except that (1) they are saved and read from the program directory and (2) their names cannot be chosen by the user. The names of the default preferences files are: DpmDft.prd (DPM preferences) and RffDft.prr (RFF preferences), respectively. These preferences can be user-defined or hard-coded. For instructions on how to revert to the hard-coded default preferences, please see DPM preferences and 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 control panel of the program).


Define parameters

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

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. 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 (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 <= x_max. The x_max valus 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.

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

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 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. See also the Range editors section.
[Top]


Range editors

Range editors for the particle size and scattering angle 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.

One of the range parameters is always calculated. You can force a parameter 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 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 change.

Editing of the start value alone may lead to inconsistent range definitions because in this case, the range editor does not verify the mathematical correctness of the range. For example, say that the range is defined as: start = 2, step = 0.1, count = 11, end = 3, and that only the start value is changed, say, to 3. When the calculation mode is changed to one that requires the whole 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.

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 as 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 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, 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. 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.

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, 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 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 for easy reference. Please see Directories ... for the location of the results files.
[Top]


Read parameters from file

Open this page of the page control (see User interface and the screen shot below) by clicking on its tab (or via loading a preference file that opens it automatically and presets the data and output handling parameters). A group box containing the Select input file button is displayed. If the file has not been selected, 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. 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 will be shown below. Click that button to process the input data file and calculate scattering properties of coated spheres specified in that file.

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 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 clipboard. To do that, select the data with the mouse and click ctrl-C. To paste the selection to another text-accepting Windows program, click ctrl-V when the cursor is located in the text-accepting area of that program.

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 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 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:
    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, 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: 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 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 (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 (see Miscellaneous menu items). 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 will 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 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 Select types of results to include in the output group box.
[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. 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 a data error occurs, calculations stop and an error message is displayed under the 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.

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 is displayed even if it is set to 0 in the input file. This is done to preserve to 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, 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 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, 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: 21-Mar-2015. Copyright 2000-2015 MJC Optical Technology. All rights reserved.