[Back to B.T. Draine's home page.] Scattering and Absorption of Light by Small Particles

The Discrete Dipole Approximation for Scattering and Absorption of Light by Irregular Particles

DDSCAT, a Fortran code for calculating scattering and absorption of light by irregular particles, has been jointly developed by Bruce T. Draine (Dept. of Astrophysical Sciences, Princeton University) and Piotr J. Flatau (Scripps Institution of Oceanography, UCSD). The current version is DDSCAT 6.1 . This code is publicly available (see below). If you choose to use it, please send email to <draine@astro.princeton.edu> "registering" as a user; registered users of DDSCAT will be notified when updates to the code are made.

User Guide for DDSCAT.6.1

An extensive User Guide is available: "User Guide to the Discrete Dipole Approximation Code DDSCAT.6.1", by B.T. Draine and Piotr J. Flatau. A copy of this document (postscript or pdf) can be obtained from astro-ph/0409262 (gzipped postscript) or astro-ph/0409262 (pdf) and can be cited as

Downloading the DDSCAT Code

Two distributions of DDSCAT are available:

History of recent releases:

  • DDSCAT 6.1 was released 2004 September 10.
  • DDSCAT.6.0 was released 2003 September 2.
  • DDSCAT.5a10 was released 2000 August 9. It provides a new target option -- NSPHER -- to create targets consisting of the unions of N spheres (possibly overlapping) of arbitrary sizes and locations. It also uses a more recent version of the LAPACK code used by subroutine PRINAXIS.

  • DDSCAT.5a9 was released 1998 December 23. It fixes a bug in DDSCAT.5a8, which resulted in incorrect evaluation of elements of the Mueller scattering matrix (other than S_11, which was correct) for scattering planes other than phi=0.

    Benchmark Calculations

    Draine (2000) has published benchmark calculations for scattering by tetrahedral targets. Two target refractive indices have been considered: m=1.33+0.01i and m=1.70+0.10i . Scattering was calculated for one target orientation and two incident polarizations. In each case solutions were iterated until the DDA equations were satisfied with a fractional error < 1.e-5 . CPU times are reported below for a 600 MHz Pentium III system running Red Hat Linux 6.2, using the Portland Group pgf77 compiler.

    CPU time (s) on 600 MHz Pentium III System

    m=1.33+0.01i tetrahedron

    N x=5 x=10 x=15
    4030 31. -- --
    13426 141. 267. --
    31598 356. 639. 1106.
    61432 792. 1480. 2476.
    105832 1298. 2292. 4226.
    m=1.7+0.1i tetrahedron
    N x=5 x=10
    13426 377. --
    31598 939. 2104.
    61432 2115. 4429.
    105832 3585. 7335.

    For users wishing to repeat one or more of these calculations using DDSCAT.5a10 (which may be useful to reassure you that DDSCAT.5a10 is working properly on your computer), sample ddscat.par files are available for downloading:

    Please consult the DDSCAT UserGuide (see above) for an explanation of the parameters in the ddscat.par file.

    For additional information on other techniques for numerical calculation of electromagnetic scattering by finite targets, see also the SCATTERLIB library of light scattering codes maintained by Piotr Flatau.

    Back to B.T. Draine's home page.