Discrete dipole approximation codes
This article contains list of discrete dipole approximation codes and their applications.
The discrete dipole approximation (DDA) is a flexible technique for computing scattering and absorption by targets of arbitrary geometry. Given a target of arbitrary geometry, one seeks to calculate its scattering and absorption properties. The DDA is an approximation of the continuum target by a finite array of polarizable points. The points acquire dipole moments in response to the local electric field. The dipoles of course interact with one another via their electric fields, so the DDA is also sometimes referred to as the coupled dipole approximation. It is closely related to method of moments, digitized Green's function, or volume integral equation method.
Classification
The compilation contains information about the discrete dipole approximation, relevant links, and their applications. There are reviews [1] [2] as well as published comparison of existing codes. [3]
General purpose public domain DDA codes
Name | Authors | References | Language | Short Description |
---|---|---|---|---|
DDSCAT [4][5] | B. T. Draine and P.J. Flatau | [1] | Fortran | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry and periodic particles. Last release 7.3.1, June 2015. |
DDSCAT.C++ | V. Choliy | [7] | C++ | Version of DDSCAT translated to C++ |
ADDA | M. A. Yurkin, A. G. Hoekstra, and others | [8] | C | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry. Can employ GPU and MPI to accelerate computations. |
OpenDDA | J. McDonald | [10] | C | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry. |
DDA-GPU | S. Kieß | [12] | C++ | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry, using GPU for acceleration. Algorithms are partly based on ADDA. |
Specialized DDA codes
Name | Authors | References | Language | Short Description |
---|---|---|---|---|
DDSURF | R. Schmehl and B. M. Nebeker | [13] | Fortran | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry on or in proximity to a surface. For the latter 2D FFT is used. |
D. W. Mackowski | [14] | Fortran | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry and calculates analytically orientationally averaged scattering properties. | |
CDA | M. D. McMahon | [15] | Matlab | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry. |
DDA-SI | V. L. Y. Loke | [16] | Matlab | Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry on or in proximity to a surface. No FFT acceleration is used. |
Relevant scattering codes
See also
- Computational electromagnetics
- Light scattering by particles
- List of atmospheric radiative transfer codes
References
- 1 2 B. T. Draine; P. J. Flatau (1994). "Discrete dipole approximation for scattering calculations". J. Opt. Soc. Am. A. 11 (4): 1491–1499. Bibcode:1994JOSAA..11.1491D. doi:10.1364/JOSAA.11.001491.
- ↑ M. A. Yurkin; A. G. Hoekstra (2007). "The discrete dipole approximation: an overview and recent developments" (PDF). J. Quant. Spectrosc. Radiat. Transfer. 106 (1-3): 558–589. arXiv:0704.0038. Bibcode:2007JQSRT.106..558Y. doi:10.1016/j.jqsrt.2007.01.034.
- ↑ A. Penttila; E. Zubko; K. Lumme; K. Muinonen; M. A. Yurkin; B. T. Draine; J. Rahola; A. G. Hoekstra; Y. Shkuratov (2007). "Comparison between discrete dipole implementations and exact techniques" (PDF). J. Quant. Spectrosc. Radiat. Transfer. 106 (1-3): 417–436. Bibcode:2007JQSRT.106..417P. doi:10.1016/j.jqsrt.2007.01.026.
- ↑ DDSCAT B. T. Draine page
- ↑ DDSCAT Google Code page
- ↑ B. T. Draine; P. J. Flatau (2008). "Discrete-dipole approximation for periodic targets: theory and tests". J. Opt. Soc. Am. A. 25 (11): 2693–2703. arXiv:0809.0338. Bibcode:2008JOSAA..25.2693D. doi:10.1364/JOSAA.25.002693.
- ↑ V. Y. Choliy (2013). "The discrete dipole approximation code DDscat.C++: features, limitations and plans". Adv. Astron. Space Phys. 3: 66–70. Bibcode:2013AASP....3...66C.
- ↑ M. A. Yurkin; V. P. Maltsev; A. G. Hoekstra (2007). "The discrete dipole approximation for simulation of light scattering by particles much larger than the wavelength" (PDF). J. Quant. Spectrosc. Radiat. Transfer. 106 (1-3): 546–557. arXiv:0704.0037. Bibcode:2007JQSRT.106..546Y. doi:10.1016/j.jqsrt.2007.01.033.
- ↑ M. A. Yurkin; A. G. Hoekstra (2011). "The discrete-dipole-approximation code ADDA: capabilities and known limitations" (PDF). J. Quant. Spectrosc. Radiat. Transfer. 112 (13): 2234–2247. Bibcode:2011JQSRT.112.2234Y. doi:10.1016/j.jqsrt.2011.01.031.
- ↑ J. McDonald; A. Golden; G. Jennings (2009). "OpenDDA: a novel high-performance computational framework for the discrete dipole approximation". Int. J. High Perf. Comp. Appl. 23 (1): 42–61. arXiv:0908.0863. doi:10.1177/1094342008097914.
- ↑ J. McDonald (2007). "OpenDDA - a novel high-performance computational framework for the discrete dipole approximation" (PDF). PhD thesis. National University of Ireland, Galway.
- ↑ M. Zimmermann; A. Tausendfreund; S. Patzelt; G. Goch; S. Kieß; M. Z. Shaikh; M. Gregoire; S. Simon (2012). "In-process measuring procedure for sub-100 nm structures". J. Laser Appl. 24 (4): 042010. Bibcode:2012JLasA..24d2010Z. doi:10.2351/1.4719936.
- ↑ R. Schmehl; B. M. Nebeker; E. D. Hirleman (1997). "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): 3026–3036. Bibcode:1997JOSAA..14.3026S. doi:10.1364/JOSAA.14.003026.
- ↑ D. W. Mackowski (2002). "Discrete dipole moment method for calculation of the T matrix for nonspherical particles". J. Opt. Soc. Am. A. 19 (5): 881–893. Bibcode:2002JOSAA..19..881M. doi:10.1364/JOSAA.19.000881.
- ↑ M. D. McMahon (2006). "Effects of geometrical order on the linear and nonlinear optical properties of metal nanoparticles" (PDF). PhD thesis. Vanderbilt University, Nashville, Tennessee.
- ↑ V. L. Y. Loke, P. M. Mengüç, and Timo A. Nieminen (2011). "Discrete dipole approximation with surface interaction: Computational toolbox for MATLAB". Journal of Quantitative Spectroscopy and Radiative Transfer. 112 (11): 1711–1725. Bibcode:2011JQSRT.112.1711L. doi:10.1016/j.jqsrt.2011.03.012.