IF-DDA is a numerical tool for solving the electromagnetic scattering
problem in three dimensions. IF-DDA is based on the DDA (discrete
dipole approximation) which is a volume-integral equation method. The
DDA (also referred to as the coupled dipole method) was originally
proposed by by Purcell and Pennypacker where the object under study is
discretized into a set of small subunits and the field at each subunit
position is computed through a self consistent equation. Then the
diffracted field can be computed easily.
This method can be used to arbitrarily shaped, inhomogeneous,
anisotropic particles. The radiation condition is automatically
satisfied, because the Green's function satisfies the radiation
condition. The computation is confined to the volume of the scatterer,
hence this method does not need any PML (perfect matching layer).
IF-DDA has a very friendly guide user interface where many particles
(cuboid, sphere, ellipsoid, many spheres,...), beams (plane wave,
Gaussian wave, multiple plane waves,...) are accessible with a
drop-down menu. The studies are selected with the mouse:
- Cross section
- Poynting vector
- Microscopy (bright field, dark field,...
- Optical force
- Optical torque
- Near field
IF-DDAM is as IFDDA but the object can be placed in a multilayer that
may support guided waves or plasmon.
Examples of the GUI
The figure (left) below shows, how the beam and the object are
chosen. First of all the power and the waist (or diameter for the
laser beam) are fixed and then with the drop-down menu you choose the
beam (linear or circular plane wave, Gaussian wave, antenna, many
planes waves or arbitrary beam). Then you chose the object with the
drop-down menu (sphere, cuboid, cylinder, ellipsoid, inhomogeneous
sphere, concentric spheres, multiple spheres or arbitrary object) and
in clicking "Props" you fix the characteristics of the object (size)
and with "epsilon" and "iso" you choose the values of the permittivity
and if it is anisotrope. Discretization fixes the number of layer used
to represent the object. The figure on the right permits to choose the
Then we can use matlab or the graphical interface of the code to see
the results. With the graphical interface, see below on right, we
chose the results to see and the cut and then a figure appears (as
To get more images you can use this
IF-DDA(M) has been developed by
P. C. Chaumet, A. Sentenac, Aix-Marseille University (France).
D. Sentenac, UniversitÓ di Pisa (Italy).
The reader can find more details on the code with the user guide in
English or in French.
How to download the code
How to install the code
You should uncompressed the file with tar -xvzf cdm-x.x.x.tgz for
IF-DDA or tar -xvzf cdmsurf-x.x.x.tgz for IF-DDAM. A readme or install
is given in the tar file. Please read it to install the code on linux
system. Note that the code can be installed on windows system (it can
be tricky to install FFTW on the windows system, see
Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA
You are free to:
- Share, copy and redistribute the material in any medium or format
- Adapt, remix, transform, and build upon the material
- In addition, you undertake to include citation (see userguide)
whenever you present or publish results that are based on it.
- Licensees may copy, distribute, display, and perform the work and make
derivative works and remixes based on it only for non-commercial purposes.
- The CNRS makes no warranties of any kind on this software and shall in no event be liable
for damages of any kind in connection with the use and exploitation of this technology.
The licensor cannot revoke these freedoms as long as you follow
the license terms.