ADDA: Efficiency and user accessibility of computations of electromagnetic scattering from arbitrary particles


Key Personnel

PI/Co-I: Professor Joseph Ulanowski, Professor Martin Hardcastle - University of Hertfordshire

Technical: Georg Ritter - University of Hertfordshire

Relevant Documents

eCSE Technical Report: ADDA: Efficiency and user accessibility of computations of electromagnetic scattering from arbitrary particles

Project summary

Accurate modelling of how small particles interact with electromagnetic radiation is important in numerous disciplines, and vital to the understanding of processes and areas such as the Earth's atmosphere and climate, weather prediction, air and water quality, remote sensing, the manufacture of powder and colloids, combustions, aviation safety and many others.

Exact models exist for a few idealized particle shapes, such as spheres or symmetrical objects such as ellipsoids. This is a severe limitation, as the majority of particles in the environment or industrial processes have more complex shapes. Computing near-exact electromagnetic scattering solutions for particles with arbitrary shapes requires more generalized numeric methods in which the particle surface or volume are discretized and scattering solutions are computed iteratively. The difficulties arise immediately if the size of the particle is much larger than the wavelength, as the number of discretization elements (generally sub-wavelength), and consequently interactions between them, becomes large.

One prominent area where the computation of scattering from complex particles is growing in importance is atmospheric science and forecasting. Driven by demands for climate prediction, needs have arisen to accurately model the interaction of UV, visible and infra-red and microwave and sub-milimeter radiation with non-spherical aerosol and cloud particles. These interactions determine not only the radiation balance of the atmosphere, and hence climate, but also allow both in situ and remote measurement of the properties of cloud and aerosol particles. One practical application of this is atmospheric ice. In the last few decades shapes being considered in this area have evolved away from spheres to distorted, rough and irregular shapes.

While the need for suitable modelling tools is undeniable, and generic codes exist, progress in the UK will benefit from adaptation such codes for specific applications and computing resources, while ensuring efficient use of the resources.

Achievement of objectives

The main objective of the project was to make computations of electromagnetic scattering properties of small particles and structures of arbitrary shape more accessible to future users, and to ensure that the resources are used efficiently. This involved implementation, modernization and improvements to the publicly available open source version of the Discreet Dipole Approximation technique ADDA, providing user assistance through documentation, examples and a user interface to set up runs and providing post processing tools needed in atmospheric application.

The objectives of the project were achieved as follows: New users can quickly set up parallel runs and runs with varying parameters (e.g. scatterer orientations or wavelengths), extendible databases of parameters are included. The introduction of the netCDF format into the code and development of a climate and forecast (CF) compatible representation, allows storing scatterer geometries and their metadata in a very compact way. This makes data handling and organisation easier and allows to make use of existing infrastuctures for data archiving. Being able to visualise and inspect the files using already existing, widely used tools comes a side benefit of this. We also provide several smaller utilities and examples that will equip new coming users with a variety of ready-to-use problem solutions which can also serve as starting points for their own future developments.

Summary of the software

The software is publicly available on github under the open source license GPLv3.

This includes four repositories:

  1. A fork of the original ADDA-team version as the additions and changes provided are not yet incorporated into the main distribution (Adda-team),
  2. A repository containing the user assist tool (Qt based GUI to set up parameter studies and parallel runs),
  3. A graphical job supervision client, and
  4. a repository containing examples, extra converters and utilities for various languages.