Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adda-team/adda

ADDA - light scattering simulator based on the discrete dipole approximation
https://github.com/adda-team/adda

adda c99 dda discrete-dipole-approximation light-scattering mpi numerical-simulations opencl optics

Last synced: 6 days ago
JSON representation

ADDA - light scattering simulator based on the discrete dipole approximation

Awesome Lists containing this project

README

        

ADDA (pronounced /ˈɑddɑ/) is a C software package (console application) to calculate scattering and absorption of electromagnetic waves by particles of arbitrary shape and composition using the discrete dipole approximation (DDA). The particles can be located in a homogeneous medium or near a plane substrate; emission (decay-rate) enhancement of point emitters can also be calculated. The main feature of ADDA is the ability to run on a multiprocessor system or multicore processors (parallelizing a _single_ DDA simulation). It can also employ modern GPUs to accelerate computations. ADDA is intended to be a [versatile tool](https://github.com/adda-team/adda/wiki/Features), suitable for a wide variety of applications ranging from interstellar dust and atmospheric aerosols to metallic nanoparticles and biological cells. Its applicability is limited only by [available computer resources](https://github.com/adda-team/adda/wiki/LargestSimulations).

ADDA [originated](https://github.com/adda-team/adda/wiki/EarlyHistory) at the University of Amsterdam but has then evolved into an open-source international project. It is used in [about 30 countries](https://github.com/adda-team/adda/wiki/Publications), including 7 out of top 12 universities (according to [THE World University Rankings 2023](https://www.timeshighereducation.com/world-university-rankings/2023/world-ranking)). Corresponding papers have been published in [Science](https://doi.org/10.1126/science.abm7915), [Nature Photonics](https://doi.org/10.1038/s41566-022-00983-3), and [Nature Nanotechnology](https://doi.org/10.1038/nnano.2012.51), among many other journals. We recommend to start with one of the following:
* [Getting started (wikis)](https://github.com/adda-team/adda/wiki)
* [Java-based GUI](https://github.com/adda-team/adda-gui)
* [Manual](doc/manual.pdf)
* [FAQ](https://github.com/adda-team/adda/wiki/FAQ)
* [Features](https://github.com/adda-team/adda/wiki/Features)
* [Releases/Downloads](https://github.com/adda-team/adda/releases) (source code and 64-bit Windows executables)
* [Compiling ADDA](https://github.com/adda-team/adda/wiki/CompilingADDA)

If you choose to use ADDA, please [subscribe](mailto:[email protected]) to [announcement mailing list](http://groups.google.com/group/adda-announce); "registered" users of ADDA will be notified when updates to the code are made. If you publish results obtained using ADDA, you should acknowledge the source of the code. The general reference is - Yurkin M.A. and Hoekstra A.G. The discrete-dipole-approximation code ADDA: capabilities and known limitations, [_J. Quant. Spectrosc. Radiat. Transfer_ **112**, 2234–2247](http://doi.org/10.1016/j.jqsrt.2011.01.031) (2011).
Please also look at [a list of more specific references](https://github.com/adda-team/adda/wiki/References).

We encourage users to provide feedback in any possible way. If you have any questions, please [write](mailto:[email protected]) to the [discussion group](http://groups.google.com/group/adda-discuss). If you have any suggestions or a bug report, submit it directly to the [issue tracker](https://github.com/adda-team/adda/issues), taking advantage of the open development process. Please also provide feedback on the existing issues - you may upvote issues that you find important (GitHub account is required) and/or provide some meaningful comments.

### Directory structure

* `.github/` - GitHub-related settings
* `devtools/` - tools used by ADDA developers
* `doc/` – documentation
* `examples/` – examples of using ADDA
* `input/` – default input files
* `misc/` – additional tools, relatively independent from the main part of ADDA
* `sample/` – sample output and other files
* `src/` - source files and makefiles
* `tests/` - various tests to make the development of ADDA more robust
* `win64/` - executables for 64-bit (x86\_64) Windows
* `LICENSE` - GNU General Public License v3.0