2024-07-11 –, Function (4.1)
We present CoupledElectricMagneticDipoles.jl, a Julia package implementing the coupled electric and magnetic dipole (CEMD) or discrete dipole approximation (DDA) method for electromagnetic multiple scattering calculations, as well as a plethora of side functionalities that might be useful for preparing such calculations or analyzing the obtained results.
Authors: Augustin Muster, Diego R. Abujetas, Frank Scheffold, Luis S. Froufe-Pérez
Affiliation: Department of Physics, University of Fribourg, 1700 Fribourg, Switzerland
The coupled electric and magnetic dipole (CEMD) and the discrete dipole approximation (DDA) methods are used extensively in nano-photonics or nano-optics, addressing problems of electromagnetic scattering in complex systems or on single discretized targets [1]. Nowadays, implementations of both CEMD and DDA methods can be found in almost all common programming languages [2], but not in the Julia language, renowned for its performance, simplicity and dynamism.
In order to remedy this, we introduce CoupledElectricMagneticDipoles.jl, a Julia Package implementing the CEMD and DDA methods, as well as all the side functionalities that are needed to do simulations using these two methods. The package is organized in 8 modules organized around the main one, DDACore. This module allows to define and solve CEMD (DDA) problems using either CPU or GPU. The other modules can be used to give input to the functions of the DDACore module (with the Alphas, Geometries and InputFields modules), or for analyzing the obtained results (with the PostProcessing and Forces modules). Moreover, two modules are implemented as utilities, GreenTensors and MieCoeff.
We shall discuss the performances of CoupledElectricMagneticDipoles.jl, as well as its simplicity of use, showing typical examples from nano-photonics and nano-optics.
[1] Bruce T. Draine and Piotr J. Flatau, "Discrete-Dipole Approximation For Scattering Calculations". J. Opt. Soc. Am. A 11, 1491-1499 (1994)
[2] P.C. Chaumet, “The Discrete Dipole Approximation: A Review”. Mathematics, 10, 3049 (2022)
Augustin Muster is PhD student in theoretical/numerical physics in the Soft Matter and Photonics research group at the University of Fribourg, Switzerland.