Jump to content

Discrete dipole approximation codes

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Citation bot (talk | contribs) at 06:25, 10 February 2019 (Alter: issue, journal, title. Removed parameters. Formatted dashes. | You can use this bot yourself. Report bugs here. | User-activated.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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]

[6]

Fortran Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry and periodic particles. Last release 7.3.2, August 2016.
DDscat.C++ V. Choliy [7] C++ Version of DDSCAT translated to C++
ADDA M. A. Yurkin, A. G. Hoekstra, and others [8]

[9]

C Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry in free space or near a plane substrate. Can also calculate emission (decay-rate) enhancement of point emitters. Can employ GPU and MPI to accelerate computations.
OpenDDA J. McDonald [10]

[11]

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.
VIE-FFT Wei E.I. Sha [13] C/C++ Simulate electromagnetic/optical response from arbitrary-shaped three-dimensional nanostructures with lossy and dispersive materials, offering theoretical results of extinction cross section, absorption cross section, scattering pattern (radar cross section), near-field distribution, and material absorption. The full-wave frequency-domain solver is based on the biconjugate gradient stabilized (BICGSTAB) fast Fourier transform (FFT)-volume integral equation algorithm, which is as fast as FFT accelerated discrete-dipole approximation (DDA) approach. Updated at Jan. 3, 2019

Specialized DDA codes

Name Authors References Language Short Description
DDSURF R. Schmehl and B. M. Nebeker [14] 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 [15] Fortran Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry and calculates analytically orientationally averaged scattering properties.
CDA M. D. McMahon [16] Matlab Calculates scattering and absorption of electromagnetic waves by particles of arbitrary geometry.
DDA-SI V. L. Y. Loke [17] 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

References

  1. ^ a b 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.
  2. ^ 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.
  3. ^ 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.
  4. ^ DDSCAT B. T. Draine page
  5. ^ DDSCAT Google Code page
  6. ^ 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.
  7. ^ 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.
  8. ^ 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.
  9. ^ 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.
  10. ^ 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.
  11. ^ J. McDonald (2007). "OpenDDA - a novel high-performance computational framework for the discrete dipole approximation" (PDF). PhD Thesis. Archived from the original (PDF) on 2011-07-27. {{cite journal}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  12. ^ 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.
  13. ^ Wei E.I. Sha; Wallace C.H. Choy; Yongpin P. Chen; Weng Cho Chew (2011). "Optical Design of Organic Solar Cell with Hybrid Plasmonic System". Optics Express. 19 (17): 15908–15918. doi:10.1364/OE.19.015908.
  14. ^ 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.
  15. ^ 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.
  16. ^ M. D. McMahon (2006). "Effects of geometrical order on the linear and nonlinear optical properties of metal nanoparticles" (PDF). PhD Thesis.
  17. ^ V. L. Y. Loke; P. M. Mengüç; 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. {{cite journal}}: Unknown parameter |last-author-amp= ignored (|name-list-style= suggested) (help)