Go to Page Main Content
NASA - Goddard Institute for Space Studies
FIND IT @ NASA
NASA Homepage Goddard Institute for Space Studies

T-Matrix Codes for Computing Electromagnetic Scattering by Nonspherical and Aggregated Particles

By Michael I. Mishchenko, Larry D. Travis, and Daniel W. Mackowski

This web site provides free public access to four T-matrix codes for the computation of electromagnetic scattering by homogeneous, rotationally symmetric nonspherical particles in fixed and random orientations, a superposition T-matrix code for randomly oriented two-sphere clusters with touching or separated components, and superposition T-matrix codes for multi-sphere clusters in fixed and random orientations. All codes are written in Fortran-77. Each code is extensively documented and provides all necessary references to relevant publications.

The double-precision and extended-precision versions of the regular T-matrix codes are essentially identical. The extended-precision versions are a factor of 5-8 slower than their double-precision equivalents, but allow computations for larger (a factor of 2-3) particles. The extended-precision codes have a more detailed documentation of all the subroutines used.

The regular T-matrix codes are applicable to rotationally symmetric particles with equivalent-sphere size parameters exceeding 100. At present, the T-matrix method is the fastest exact technique for the computation of nonspherical scattering based on a direct solution of Maxwell's equations. The T-matrix codes are orders of magnitude faster than those based on the DDA, VIEF, and FDTD techniques.

The regular T-matrix codes for randomly oriented particles are based on the analytical orientation averaging procedure described in the paper M. I. Mishchenko, J. Opt. Soc. Am. A 8, 871-882 (1991). This efficient procedure makes the codes 1 to 2 orders of magnitude faster than T-matrix codes based on the standard numerical averaging approach. The superposition bisphere and multi-sphere T-matrix codes are based on similar analytical approaches and are described in the papers M. I. Mishchenko and D. W. Mackowski, Opt. Lett., vol. 19, 1604- 1606 (1994) and D. W. Mackowski and M. I. Mishchenko, J. Opt. Soc. Amer. A., vol. 13, 2266-2278 (1996). In application to bispheres, the multi-sphere T-matrix code is slower than the bisphere code. However, it can be applied to clusters with a number of components larger than 2.

A general review of the T-matrix method can be found in the paper M. I. Mishchenko, L. D. Travis, and D. W. Mackowski, J. Quant. Spectrosc. Radiat. Transfer 55, 535-575 (1996) (available in the electronic form at www.giss.nasa.gov/~crmim/publications). To receive a reprint of this paper, leave a message at crmim@giss.nasa.gov indicating your name and mailing address. A detailed user guide to the regular random-orientation T-matrix codes was also published [JQSRT 60, 309-324 (1998)] and is available here in the pdf format. A user guide to the T-matrix codes for nonspherical particles in a fixed orientation [Appl. Opt. 39, 1026-1031 (2000)] is available here in the pdf format. A comprehensive account of light scattering, including a detailed description of the T-matrix codes, can be found in the recently published book on Scattering, Absorption, and Emission of Light by Small Particles, Cambridge University Press, Cambridge (2002). The book is now publicly available in the .pdf format here.

The users of the codes are encouraged to visit this page on a regular basis for information on latests developments, warnings, and/or errors found.

We would highly appreciate informing us of any problems and errors encountered with these codes. Please e-mail your questions and comments to crmim@giss.nasa.gov.

To retrieve a code, click on the code name and use the "Save As..." option from the "File" menu.

New LAPACK-based T-matrix codes

These codes are based on the LAPACK version of the LU-factorization procedure, contain no proprietary components, and are equivalent to the old NAG-based codes in terms of efficiency and performance. We thank Cory Davis (University of Edinburgh) for pointing out the possibility of replacing the proprietary NAG matrix inversion routine by the public-domain LAPACK equivalent.

Old Gauss-elimination- and NAG-based T-matrix codes Superposition T-matrix codes Double precision Lorenz-Mie scattering code for polydisperse spherical particles spher.f

Codes for the computation of the coefficients for the generalized Chebyshev shape by interpolating the values given in Table 1 of Chuang and Beard (1990), modified_double_precision_drop.f, modified_extended_precision_drop.f, developed by Dr. Hidde Leijnse

CONTACT

Please address all inquires about this research to Dr. Michael Mishchenko.

USA.gov

End of Page