download e-DDA

This page contains the source code and installation instructions for the electron-driven discrete-dipole approximation (e-DDA) 1.1 code and the electron-driven cathodoluminescence discrete-dipole approximation (e-CL-DDA) 1.0 wrapper for simulating electron energy-loss spectroscopy (EELS) and cathodoluminescence (CL) experiments.  e-DDA v1.1 is built upon Draine’s DDSCAT v7.1 and e-CL-DDA v1.0 is built upon e-DDA v1.1.  We also make available our in-house JobLauncher 1.0 code, which is designed to improve calculation speed and efficiency by parallelizing the e-DDA across a cluster.

e-DDA and e-CL-DDA are gratis, subject to the GNU General Public License. You may copy, distribute, and/or modify the software identified as under this agreement. If you distribute copies of this software, you must give the recipients all the rights that you have.

If you use e-DDA then we request that you cite the following paper that explains its implementation:

Nicholas W. Bigelow, Alex Vaschillo, Vighter Iberi, Jon P. Camden, and David J. Masiello
Characterization of the Electron- and Photon-Driven Plasmonic Excitations of Metal Nanorods
ACS Nano
6, 7497 (2012).

If you use e-CL-DDA then we request that you additionally cite the following paper that explains its implementation:

Nicholas W. Bigelow, Alex Vaschillo, Jon P. Camden, and David J. Masiello
Signatures of Fano Interferences in the Electron Energy-Loss Spectroscopy and Cathodoluminescence of Symmetry-Broken Nanorod Dimers
ACS Nano 7, 4511 (2013).

You may install e-DDA and JobLauncher either by using this python script or manually by following these instructions:

EELS simulations via e-DDA:

You may download all e-DDA files by clicking  To install the code simply download DDSCAT v7.1 and move the e-DDA *.f90 files and Makefile into the DDSCAT /src directory.  Compile and run the code exactly as you would with DDSCAT.  The only difference is that you must use the supplied ddscat.par file, which contains new information such as the incident electron’s path trajectory and kinetic energy.


For your convenience we have also provided a program that will distribute e-DDA calculations across a computer cluster.  Download the source code and documentation from here, compile with the command “make all”, and read the documentation to learn about usage.

Cathodoluminescence simulations via e-CL-DDA:

You may download all e-CL-DDA source code by clicking eCLDDA.tar.gz. Download the file into an empty directory, untar and unzip, and compile the file eCLDDA.cpp with any C++ compiler. Compile the e-DDA source code in the directory "eDDA" with commands "make ddscat" followed by "make ddfield." Please read the documentation (CLwrapperDoc.pdf) for usage information.

Please email us if you have any questions.

This material is based upon work supported by the National Science Foundation under Grant Number CHE-1253775.  Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.