Welcome to OpenDDA
OpenDDA was designed, developed and written by James Mc Donald during his Ph.D. in the Centre for Astronomy, National University of Ireland, Galway. It is a highly optimised computational framework, written in the C language, for the Discrete Dipole Approximation, a numerical method for calculating the optical properties associated with a target of arbitrary geometry that is widely used in atmospheric, astrophysical and industrial simulations. OpenDDA is free for academic researchers where the only requirement pertaining to its use is that any subsequent work, use, modification and/or augmentation of the available software/source, or any part thereof, MUST cite the associated publication: OpenDDA: A Novel High-Performance Computational Framework for the Discrete Dipole Approximation, Mc Donald, J., Golden, A., Jennings, S. G., International Journal of High Performance Computing Applications (IJHPCA), Volume 23, No. 1, 42-61, 2009. Core optimisations include the bit-fielding of integer data and iterative methods that complement a new Discrete Fourier Transform (DFT) kernel, which efficiently calculates the matrix-vector products required by these iterative solution schemes. The new kernel performs the requisite 3D DFTs as ensembles of 1D transforms, and by doing so, is able to reduce the number of constituent 1D transforms by 60% and the memory by over 80%. The optimisations also facilitate the use of parallel techniques to further enhance the performance. Complete OpenMP-based shared-memory and MPI-based distributed-memory implementations have been created to take full advantage of the various architectures.