User Guide for the Discrete Dipole
Approximation Code DDSCAT 7.3
Bruce T. Draine
Princeton University Observatory
Princeton NJ 08544-1001
and
Piotr J. Flatau
University of California San Diego
Scripps Institution of Oceanography
La Jolla CA 92093-0221
last revised: 2016 August 25
Abstract
DDSCAT 7.3 is a freely available open-source Fortran-90 software package applying the “discrete
dipole approximation” (DDA) to calculate scattering and absorption of electromagnetic waves by targets
with arbitrary geometries and complex refractive index. The targets may be isolated entities (e.g., dust
particles), but may also be 1-d or 2-d periodic arrays of “target unit cells”, which can be used to study
absorption, scattering, and electric fields around arrays of nanostructures.
The DDA approximates the target by an array of polarizable points. The theory of the DDA and its
implementation in DDSCAT is presented in Draine (1988) and Draine & Flatau (1994), and its extension
to periodic structures in Draine & Flatau (2008). Efficient near-field calculations are carried out as
described in Flatau & Draine (2012). DDSCAT 7.3 allows accurate calculations of electromagnetic
scattering from targets with “size parameters” 2πa
eff
/λ
<
∼
25 provided the refractive index m is not
large compared to unity (|m − 1|
<
∼
2). DDSCAT 7.3 includes support for MPI, OpenMP, and the
Intel
R
Math Kernel Library (MKL).
DDSCAT supports calculations for a variety of target geometries (e.g., ellipsoids, regular tetrahedra,
rectangular solids, finite cylinders, hexagonal prisms, etc.). Target materials may be both inhomoge-
neous and anisotropic. It is straightforward for the user to “import” arbitrary target geometries into the
code. DDSCAT automatically calculates total cross sections for absorption and scattering and selected
elements of the Mueller scattering intensity matrix for specified orientation of the target relative to the
incident wave, and for specified scattering directions. DDSCAT 7.3 can calculate scattering and absorp-
tion by targets that are periodic in one or two dimensions. DDSCAT 7.3 can calculate and store E and B
throughout a user-specified rectangular volume containing the target. A Fortran-90 code ddpostprocess
to support postprocessing of P, and nearfield E and B, is included in the distribution.
DDSCAT 7.3 differs from DDSCAT 7.2 by offering two new options: (1) The “Filtered Coupled
Dipole” method (Piller & Martin 1998; Gay-Balmaz & Martin 2002) for DDA calculations. (2) Fast near-
field calculations of B. In addition, a new postprocessing code DDPOSTPROCESS.f90 is provided
that is well-documented, and much more easily modifiable by the user. As distributed, ddpostprocess
calculates the Poynting vector.
This User Guide explains how to use DDSCAT 7.3 (release 7.3.2) to carry out electromagnetic
scattering calculations. If you publish results calculated using DDSCAT 7.3, please cite relevant pub-
lications describing the methods, e.g., Draine & Flatau (1994), Draine & Flatau (2008), and Flatau &
Draine (2012).
1
评论0