Capabilities of the ADDA code for nanophotonics
Résumé
The open-source code ADDA (https://github.com/adda-team/adda) is based on the discrete dipole approximation (DDA) – a numerically exact method derived from the frequency-domain volume-integral formulation of the Maxwell equations [1]. It can simulate interaction of electromagnetic fields (scattering and absorption) with finite 3D objects of arbitrary shape and composition. Besides standard sequential execution on a CPU or a GPU, ADDA can run on a multiprocessor distributed-memory system, parallelizing a single DDA calculation. This together with almost linear scaling of computational complexity with the number of dipoles (discretization voxels) allows huge system sizes and/or fine discretization levels. The code is written in C99, is highly portable, and includes a graphical user interface. ADDA provides full control over the scattering geometry (particle morphology and orientation, incident beam) and allows one to calculate a wide variety of integral and angle-resolved quantities. In addition to far-field scattering by various beams (including built-in Gaussian and Bessel ones), this includes near fields as well as excitation by a point dipole or a fast electron. Moreover, ADDA can rigorously and efficiently simulate the scattering by particles near a plane homogeneous substrate or placed in a homogeneous absorbing host medium. It also incorporates many DDA improvements aimed at increasing both the accuracy and computational speed. At the conference we will describe the main features of ADDA, including the ones still in development, with special emphasis on nanoparticles. They include a wide range of built-in Bessel beams [2] and simulations of electron energy-loss spectroscopy (EELS) and cathodoluminescence [3]. The latter two can be computed in an arbitrary passive host medium, even when the electron emits the Cherenkov radiation, or for particles on top of a semi-infinite substrate (under certain approximations). These capabilities also generalize the concept of the Purcell effect, which ADDA can rigorously compute in free space or near a substrate. Placing a point source inside a nanoparticle allows one to calculate near-field radiative heat transfer or Casimir forces between two objects. Recent numerical improvements include block- or shifted iterative methods to accelerate computations for multiple incident beams (e.g., particle orientations) or refractive indices. References: [1] M.A. Yurkin and A.G. Hoekstra, “The discrete-dipole-approximation code ADDA: Capabilities and known limitations,” J. Quant. Spectrosc. Radiat. Transfer 112, 2234–2247 (2011). [2] S.A. Glukhova and M.A. Yurkin, “Vector Bessel beams: General classification and scattering simulations,” Phys. Rev. A 106, 033508 (2022). [3] A.A. Kichigin and M.A. Yurkin, “Simulating electron energy-loss spectroscopy and cathodoluminescence for particles in arbitrary host medium using the discrete dipole approximation,” J. Phys. Chem. C 127, 4154–4167 (2023).
| Origine | Fichiers produits par l'(les) auteur(s) |
|---|---|
| Licence |