Idiot Friendly-Discrete Dipole Approximation


Electromagnetic scattering in three dimension

version 0.8.2 : IF-DDA for object in free space

version 0.8.2 : IF-DDAM for object in a multilayer system


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: 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 study asked.

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 below left).
To get more images you can use this link.

IF-DDA(M) has been developed by

P. C. Chaumet, A. Sentenac, Aix-Marseille University (France).
D. Sentenac, UniversitÓ di Pisa (Italy).

User Guide.

The reader can find more details on the code with the user guide in English or in French.
User Guide in English Userguide Userguide
User Guide in French Userguide Userguide

How to download the code

Download the tgz file IF-DDA IF-DDAM
Download with github IF-DDA IF-DDAM

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 for details.




Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
You are free to:
The licensor cannot revoke these freedoms as long as you follow the license terms.