|
| 1 | + ## ##### ## ##### ## ## |
| 2 | + /#### /##### /## /##### /## /#### |
| 3 | + / ### // / / ### // / / ### / ### |
| 4 | + /## / / / ### / / / ### /## |
| 5 | + / ## / / ### / / ### / ## |
| 6 | + / ## ## ## ## ## ## ## / ## |
| 7 | + / ## ## ## ## ## ## ## / ## |
| 8 | + / ## ## ## ## ## ## ## / ## |
| 9 | + / ## ## ## ## ## ## ## / ## |
| 10 | + /######## ## ## ## ## ## ## /######## |
| 11 | + / ## # ## ## # ## ## / ## |
| 12 | + # ## / / / / # ## |
| 13 | + /#### ## /###/ / /###/ / /#### ## |
| 14 | + / #### ## / / ########/ / ########/ / #### ## / |
| 15 | + / ## #/ / #### / #### / ## #/ |
| 16 | + # # # # |
| 17 | + ## ## ## ## |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + Maxim A. Yurkin |
| 22 | + |
| 23 | + Institute of Chemical Kinetics and Combustion, |
| 24 | + Siberian Branch of the Russian Academy of Sciences, |
| 25 | + Institutskaya 3, Novosibirsk, 630090, Russia, |
| 26 | + tel: +7-383-333-3240, fax: +7-383-334-2350 |
| 27 | + |
| 28 | + Alfons G. Hoekstra |
| 29 | + |
| 30 | + Faculty of Science, Section Computational Science, |
| 31 | + of the University of Amsterdam, |
| 32 | + Kruislaan 403, 1098 SJ, Amsterdam, The Netherlands, |
| 33 | + tel: +31-20-525-7530, fax: +31-20-525-7490 |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | + $Date:: $ |
| 39 | + |
| 40 | + Copyright (C) 2006-2008 University of Amsterdam |
| 41 | + This software package is covered by the GNU General Public License. |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | + 1. INTRODUCTION |
| 46 | + *************** |
| 47 | + |
| 48 | + ADDA is a C software package to calculate scattering and absorption of |
| 49 | +electromagnetic waves by particles of arbitrary geometry using the Discrete |
| 50 | +Dipole Approximation (DDA). In this approximation the volume of the scatterer |
| 51 | +is divided into small cubical subvolumes ("dipoles"), interaction of which is |
| 52 | +considered approximately based on the integral equation for the electric field. |
| 53 | +Initially DDA (sometimes referred to as the "coupled dipole approximation") was |
| 54 | +proposed replacing the scatterer by a set of point dipoles (hence the name of |
| 55 | +the technique). |
| 56 | + |
| 57 | + ADDA is a C implementation of the DDA developed by the authors. The |
| 58 | +development has been conducted by Hoekstra and coworkers for more than 10 years |
| 59 | +at the University of Amsterdam. From the very beginning the code was intended to |
| 60 | +run on a multiprocessor system (parallelizing a single DDA simulation). Recently |
| 61 | +the code was significantly rewritten and improved by Yurkin. ADDA is intended to |
| 62 | +be a versatile tool, suitable for a wide variety of applications ranging from |
| 63 | +interstellar dust and atmospheric aerosols to biological particles; its |
| 64 | +applicability is limited only by available computer resources. As provided, ADDA |
| 65 | +should be usable for many applications without modification, but the program is |
| 66 | +written in a modular form, so that modifications, if required, should be fairly |
| 67 | +straightforward. |
| 68 | + |
| 69 | + Detailed instructions for using ADDA and all relevant issues are contained in |
| 70 | +the User Manual for ADDA. The User Manual is in the file "manual.pdf" in PDF |
| 71 | +format. It contains instructions for: |
| 72 | +* compiling and linking the code; |
| 73 | +* running a sample simulation; |
| 74 | +* defining a scatterer and its orientation; |
| 75 | +* specifying the type and propagation direction of the incident beam; |
| 76 | +* specifying the DDA formulation; |
| 77 | +* specifying what scattering quantities should be calculated; |
| 78 | +* understanding the computational aspects and timing of the code; |
| 79 | +* understanding the command line options and formats of input and output files. |
| 80 | +* modifying the source code for added functionality |
| 81 | + |
| 82 | + |
| 83 | + 2. AVAILABILITY |
| 84 | + *************** |
| 85 | + |
| 86 | + The authors make this code openly available to others, in the hope that |
| 87 | +it will prove to be a useful tool. We ask only that: |
| 88 | + |
| 89 | +* If you publish results obtained using ADDA, you should acknowledge the source |
| 90 | + of the code. We recommend the following general reference: |
| 91 | + M. A. Yurkin, V. P. Maltsev, and A.G. Hoekstra, "The discrete dipole |
| 92 | + approximation for simulation of light scattering by particles much larger than |
| 93 | + the wavelength", J. Quant. Spectros. Radiat. Transf. 106, 546-557 (2007). |
| 94 | + |
| 95 | +* If you discover any errors in the code, please promptly communicate them to |
| 96 | + the authors. |
| 97 | + |
| 98 | +* You comply with the "copyleft" agreement (more formally, the GNU General |
| 99 | + Public License) of the Free Software Foundation: you may copy, distribute, |
| 100 | + and/or modify the software identified as coming under this agreement. If |
| 101 | + you distribute copies of this software, you must give the recipients all the |
| 102 | + rights which you have. See the file "copyleft" distributed with the ADDA |
| 103 | + software. |
| 104 | + |
| 105 | + We also strongly encourage you to send email to the authors identifying |
| 106 | +yourself as a user of ADDA; this will enable the authors to notify you of any |
| 107 | +bugs, corrections, or improvements in ADDA. |
| 108 | + |
| 109 | + |
| 110 | + 3. OBTAINING THE SOURCE CODE |
| 111 | + **************************** |
| 112 | + |
| 113 | + The recent version can be downloaded from: |
| 114 | +http://www.science.uva.nl/research/scs/Software/adda/ |
| 115 | +The package contains the following: |
| 116 | + |
| 117 | +doc/ - documentation |
| 118 | + copyleft - GNU General Public License |
| 119 | + history - complete history of ADDA development |
| 120 | + faq - frequently asked questions |
| 121 | + manual.doc - source of User Manual in MS Word format |
| 122 | + manual.pdf - user Manual for ADDA in PDF format |
| 123 | + README - this file |
| 124 | + todo.xls - source of the todo list in MS Excel format |
| 125 | + todo.pdf - todo list in PDF format |
| 126 | +input/ - default input files |
| 127 | + tables/ - 10 auxiliary files with tables of integrals |
| 128 | + alldir_params.dat - parameters for integral scattering quantities |
| 129 | + avg_params.dat - parameters for orientation averaging |
| 130 | + scat_params.dat - parameters for grid of scattering angles |
| 131 | +misc/ - additional files, not supported by the authors. |
| 132 | +sample/ - sample output and other files |
| 133 | + run000_sphere_g16m1_5/ - sample output directory, contains "log", "mueller", |
| 134 | + and "CrossSec-Y". |
| 135 | + test.pbs - sample PBS script for MPI system |
| 136 | + test.sge - sample SGE script for MPI system |
| 137 | + stdout - stdout of a sample simulation |
| 138 | +src/ |
| 139 | + Makefile, make_seq, make_mpi - makefiles |
| 140 | + ADDAmain.c, CalculateE.c, calculator.c, cmplx.h, const.h, crosssec.c/h, |
| 141 | + comm.c/h, debug.c/h, fft.c, function.h, GenerateB.c, io.c/h, iterative.c, |
| 142 | + make_particle.c, matvec.c, memory.c/h, os.h, param.c/h, parbas.h, |
| 143 | + prec_time.c/h, Romberg.c/h, sinint.c, timing.c/h, types.h, vars.c/h |
| 144 | + - source and header files of ADDA |
| 145 | + cfft99D.f - source file for Temperton FFT |
| 146 | + mt19937ar.c/h - source and header files for Mersenne Twister random generator. |
| 147 | + |
| 148 | + |
| 149 | + 4. COMPILING AND LINKING |
| 150 | + ************************ |
| 151 | + |
| 152 | + On Unix systems, while positioned in src/, type |
| 153 | + > make seq |
| 154 | +or |
| 155 | + > make mpi |
| 156 | +for sequential and MPI versions respectively. By default you need FFTW to be |
| 157 | +installed (www.fftw.org) on your system. |
| 158 | + |
| 159 | + Please read the User Manual (manual.pdf). |
0 commit comments