MATLAB package for discrete dipole approximation by graphics processing unit: Fast Fourier Transform and Biconjugate Gradient
Abstract
A MATLAB package describing discrete dipole approximation (MPDDA) is introduced to calculate the optical properties of arbitrary shaped plasmonic nanoparticles (NPs). The polarizability function, induced dipoles, and dipole interaction matrix are discussed. To calculate the dipole moments, Fast Fourier Transform (FFT) and Biconjugate Gradient (BCG) were used to reduce the computational time and memory. To further accelerate the computational procedure, we used MATLAB functions and toolboxes supported by the graphics processing unit (GPU) and execute them on GPU by supplying a "gpuArray" argument. Using the GPU, the computation cost significantly decreased when compared to the CPU. We also simulated the optical properties of plasmonic NPs, such as extinction, absorption, and scattering efficiencies, electric field enhancement around monomeric and dimeric structures using this package. The accuracy and capabilities of the code have been confirmed by comparing with Mie theory (exact solution) and ADDA code (a DDA package developed in C).
- Publication:
-
Journal of Quantitative Spectroscopy and Radiative Transfer
- Pub Date:
- March 2021
- DOI:
- Bibcode:
- 2021JQSRT.26207501S
- Keywords:
-
- DDA;
- MATLAB package;
- GPU;
- FFT;
- Plasmonics;
- Hot Spot