This is a list of software packages for calculating scattering and absorption of light using Discrete dipole approximation (DDA).
Most of the software applies to arbitrary-shaped inhomogeneous nonmagnetic particles and particle systems in free space or homogeneous dielectric host medium. The calculated quantities typically include the Mueller matrices, integral cross-sections (extinction, absorption, and scattering), internal fields and angle-resolved scattered fields (phase function). There are some published comparisons of existing DDA codes.
General-purpose open-source software
These packages typically use regular grids (cubical or rectangular cuboid), conjugate gradient method to solve large systems of linear equations and FFT-acceleration of the matrix-vector products which uses convolution theorem. Complexity of this approach is almost linear in number of dipoles for both time and memory.
Implements fast and rigorous consideration of a plane substrate, and allows rectangular-cuboid voxels for highly oblate or prolate particles. Can also calculate emission (decay-rate) enhancement of point emitters. Also simulates electron-energy-loss spectroscopy and cathodoluminescence in arbitrary (including absorbing) host media. Near-fields calculation is not very efficient. Uses Message Passing Interface (MPI) parallelization and can run on GPU (OpenCL).
These list include software that do not qualify for the previous section. The reasons may include the following: source code is not available, FFT acceleration is absent or reduced, the code focuses on specific applications not allowing easy calculation of standard scattering quantities.
Name
Authors
References
Language
Updated
Features
DDSURF, DDSUB, DDFILM
Schmehl, Nebeker, and Zhang
Fortran
2008
Rigorous handling of semi-infinite substrate and finite films (with arbitrary particle placement), but only 2D FFT acceleration is used.
DDMM
Mackowski
Fortran
2002
Calculates T-matrix, which can then be used to efficiently calculate orientation-averaged scattering properties.
Simulates electron-energy loss spectroscopy and cathodoluminescence. Handles substrate through image approximation, but no FFT acceleration is used.
T-DDA
Edalatpour
Fortran
2015
Simulates near-field radiative heat transfer. The computational bottleneck is direct matrix inversion (no FFT acceleration is used). Uses OpenMP and MPI parallelization.
CDDA
Rosales, Albella, González, Gutiérrez, and Moreno
2021
Applies to chiral systems (solves coupled equations for electric and magnetic fields)
↑M. Shabaninezhad; M. G. Awan; G. Ramakrishna (2021). "MATLAB package for discrete dipole approximation by graphics processing unit: Fast Fourier Transform and Biconjugate Gradient". J. Quant. Spectrosc. Radiat. Transfer. 262 107501. Bibcode:2021JQSRT.26207501S. doi:10.1016/j.jqsrt.2020.107501. S2CID233839571.
↑Schmehl, Roland; Nebeker, Brent M.; Hirleman, E. Dan (1997-11-01). "Discrete-dipole approximation for scattering by features on surfaces by means of a two-dimensional fast Fourier transform technique". J. Opt. Soc. Am. A. 14 (11). The Optical Society: 3026–3036. Bibcode:1997JOSAA..14.3026S. doi:10.1364/josaa.14.003026.
↑B. M. Nebeker (1998). Modeling of light scattering from features above and below surfaces using the discrete-dipole approximation (PhD). Tempe, AZ, USA: Arizona State University.
↑V. L. Y. Loke; P. M. Mengüç; Timo A. Nieminen (2011). "Discrete dipole approximation with surface interaction: Computational toolbox for MATLAB". J. Quant. Spectrosc. Radiat. Transfer. 112 (11): 1711–1725. Bibcode:2011JQSRT.112.1711L. doi:10.1016/j.jqsrt.2011.03.012.
↑N. W. Bigelow; A. Vaschillo; V. Iberi; J. P. Camden; D. J. Masiello (2012). "Characterization of the electron- and photon-driven plasmonic excitations of metal nanorods". ACS Nano. 6 (8): 7497–7504. doi:10.1021/nn302980u. PMID22849410.
↑N. Geuquet; L. Henrard (2010). "EELS and optical response of a noble metal nanoparticle in the frame of a discrete dipole approximation". Ultramicroscopy. 110 (8): 1075–1080. doi:10.1016/j.ultramic.2010.01.013.