Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] adei_v1_0.gz(16 Kbytes)
Manuscript Title: A Fortran code for the scattering of EM waves by a sphere with a nonconcentric spherical inclusion.
Authors: D. Ngo, G. Videen, P. Chylek
Program title: inclusion
Catalogue identifier: ADEI_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 99(1996)94
Programming language: Fortran.
Computer: SUN workstation.
Operating system: HP-UX, SUN-OS, Solaris, VMS.
RAM: 4M words
Keywords: Scattering electromagnet, Optics, Two sphere system.
Classification: 18.

Nature of problem:
This program calculates the Mueller scattering matrix (Sij), the extinction, scattering and absorption efficiencies and the asymmetry parameter for a set of initial inputs describing a sphere embedded within another sphere. The inputs are read from an input file and the output is written to an output file.

Solution method:
By matching boundary conditions at the surfaces of each sphere, we can obtain an analytic solution for this problem [1]. The center of the inclusion sphere must be located on the z axis. To make the solution completely general, the incident plane wave on the host sphere travels in any arbitrary direction.

Unusual features:
The program utilizes three subroutines modified from those given by Numerical Recipes (ludcmp, mprove and lubksb) [3]. The subroutines were modified to work within the program's parameters. Modified versions of subroutines (bessj and bessy) to calculate the complex spherical Bessel functions are also used.

Running time:
The size parameter of the host sphere is the greatest factor in determining the run time. The size parameter is defined as x = 2pia1/lambda, where a1 is the host sphere radius and lambda is the incident wavelength. From the definition of the size parameter, one can find the integer value for nbg, the number of orders of spherical harmonics needed for convergence. This value determines the running time of the program. The definition of nbg is taken from Wiscombe where it is defined as nbg = x + 4x**1/3 + 2 [2]. Table 1 gives a list of run time vs. size parameter on a SUN 4 workstation.

[1] G. Videen, D. Ngo, P. Chylek and R.G. Pinnick, "Light scattering from a sphere with an irregular inclusion," J. Opt. Soc. Am. A 12, 922-928.
[2] W.J. Wiscombe, "Improved Mie scattering algorithms," Appl. Opt. 19, 1505-1509 (1980).
[3] W.H. Press, B.P. Flannery, S.A. Teukolsky and W.T. Vetterling, Numerical Recipes (Cambridge Press, Cambridge, 1989).