Skip to content

Commit 71966a3

Browse files
committed
Moving directory tree one level higher.
1 parent 57f1079 commit 71966a3

60 files changed

Lines changed: 9206 additions & 10602 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

doc/README

Lines changed: 30 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
ADDA 0.77
2+
*********
3+
"Amsterdam DDA"
4+
5+
Maxim A. Yurkin(1,2) and Alfons G. Hoekstra(1)
6+
7+
(1) Faculty of Science, Section Computational Science,
8+
of the University of Amsterdam,
9+
Kruislaan 403, 1098 SJ, Amsterdam, The Netherlands,
10+
tel: +31-20-525-7530, fax: +31-20-525-7490
11+
12+
(2) Institute of Chemical Kinetics and Combustion,
13+
Siberian Branch of the Russian Academy of Sciences,
14+
Institutskaya 3, Novosibirsk 630090 Russia,
15+
tel: +7-383-333-3240, fax: +7-383-334-2350
16+
17+
email: adda@science.uva.nl
18+
19+
last revised: 4 April 2007
20+
21+
Copyright (C) 2006-2007 University of Amsterdam
22+
This software package is covered by the GNU General Public License.
23+
24+
125
## ##### ## ##### ## ##
226
/#### /##### /## /##### /## /####
327
/ ### // / / ### // / / ### / ###
@@ -17,31 +41,6 @@
1741
## ## ## ##
1842

1943

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-
email: adda@science.uva.nl
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-
4544
1. INTRODUCTION
4645
***************
4746

@@ -77,7 +76,6 @@ format. It contains instructions for:
7776
* specifying what scattering quantities should be calculated;
7877
* understanding the computational aspects and timing of the code;
7978
* understanding the command line options and formats of input and output files.
80-
* modifying the source code for added functionality
8179

8280

8381
2. AVAILABILITY
@@ -87,10 +85,8 @@ format. It contains instructions for:
8785
it will prove to be a useful tool. We ask only that:
8886

8987
* 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).
88+
of the code. Please contact the authors (adda@science.uva.nl) for the most
89+
recent reference.
9490

9591
* If you discover any errors in the code, please promptly communicate them to
9692
the authors.
@@ -118,11 +114,9 @@ doc/ - documentation
118114
copyleft - GNU General Public License
119115
history - complete history of ADDA development
120116
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
117+
manual.doc - Source of User Manual in MS Word format
118+
manual.pdf - User Manual for ADDA in PDF format
123119
README - this file
124-
todo.xls - source of the todo list in MS Excel format
125-
todo.pdf - todo list in PDF format
126120
input/ - default input files
127121
tables/ - 10 auxiliary files with tables of integrals
128122
alldir_params.dat - parameters for integral scattering quantities
@@ -139,8 +133,8 @@ src/
139133
Makefile, make_seq, make_mpi - makefiles
140134
ADDAmain.c, CalculateE.c, calculator.c, cmplx.h, const.h, crosssec.c/h,
141135
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
136+
make_particle.c, matvec.c, memory.c/h, os.h, param.c/h, prec_time.c/h,
137+
Romberg.c/h, timing.c/h, types.h, vars.c/h
144138
- source and header files of ADDA
145139
cfft99D.f - source file for Temperton FFT
146140
mt19937ar.c/h - source and header files for Mersenne Twister random generator.

doc/faq

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Frequently Asked Questions
2-
about ADDA
2+
about Amsterdam DDA
33

4-
$Date:: $
4+
last revised: 3 June 2007
55

66
Q: I have found a bug in ADDA. What should I do?
77
A: 1) Make sure you are using the latest version of ADDA (check the ADDA
@@ -14,7 +14,6 @@ A: 1) Make sure you are using the latest version of ADDA (check the ADDA
1414
parameters as possible without removing the bug. Also try to use defautl
1515
versions of input files, that you have modified.
1616
5) Send the results of (3) and (4) to the authors, together with all input
17-
1817
files and Makefiles that you have used for compilation. Do not forget to
1918
include all the relevant output files, at least 'log'. Please also include
2019
a brief description of your operation system and hardware. We will try to
@@ -71,14 +70,5 @@ A: The simplest is to specify your particle by a shape file. However, if your
7170
source files to the authors so they would be incorporated in the next
7271
release for the benefit of the community.
7372

74-
Q: How is the Mueller matrix, produced by ADDA, defined and/or normalized?
75-
A: It is defined as in Bohren & Huffman "Absorption and scattering of Light by
76-
Small Particles" (1983), and it is not normalized. Some other codes may
77-
compute Stokes scattering matrix, which is normalized so that 1,1-element
78-
is equal to 1 after averaging over the whole solid angle. This matrix
79-
should be multiplied by (pi*Csca/(lambda^2)) to get Mueller matrix. Csca is
80-
the scattering cross section for unpolarized light, equal to average of
81-
scattering cross sections for any two perpendicular incident polarizations.
82-
8373
This list is far from being complete. Please send your questions to
8474
adda@science.uva.nl

doc/history

Lines changed: 2 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Ver. 0.74 - 29.03.06
1515
+ User manual improved.
1616
* 'buggy' beam type removed (obsolete).
1717
* '-nosym' and '-sym_enf' options combined to '-sym {no|enf}'.
18-
- In documentation there was option '-pol ldr avg' while actually it was
18+
- In documentation there was option '-pol ldr avg' while actually it was
1919
'-pol ldr avgpol'. It is averaging over incident polarizations
2020
(not directions). Documentation corrected.
2121
+ Internal fields are now automatically collected into one file, when running
@@ -96,7 +96,7 @@ Ver. 0.76 - 14.10.06
9696
+ Makefiles modified to include new compiler 'compaq'. New variables added to
9797
set path for FFTW3 header and library.
9898
* Default dpl is now calculated based on the maximum absolute value among given
99-
refractive indices, not the first one. dpl=10*max(|m|)
99+
refractive indices, not the first one. dpl=10*sqrt(max(|m|))
100100
- Removed requirement of full set of refractive indices to be given for multi-
101101
domain scatterers, if '-prognose' option is used. Produces information
102102
message when relevant.
@@ -183,94 +183,3 @@ Ver. 0.77 - (05.06.07)
183183
discuss in detail multi-core PCs. Sections "Applicability of DDA" and "System
184184
requirements" were extended to include recent benchmarking results and
185185
discussion. Thanks to Vitezslav Karasek and Liviu Clime for their feedback.
186-
187-
----------------------------------
188-
Ver. 0.78 - (19.03.08)
189-
190-
* Makefiles were improved to enable automatic compilation of both sequential and
191-
MPI versions from the same source folder. Name of MPI executable is now
192-
adda_mpi.
193-
+ New file parbas.h added. MPI version is now checked for conformity both during
194-
compilation and at runtime.
195-
+ Parallel executable for Win32, compiled with MPICH 2, is included in the
196-
package.
197-
+ sample/test.sge file was updated to run on DAS-3 cluster.
198-
+ Added explicit description of the used notation for the Euler angles in the
199-
manual, source code, help system, and parameter file.
200-
+ sample/test.pbs was slightly improved.
201-
+ File sinint.c added to calculate sine and cosine integrals.
202-
+ Function cEqual was added to cmplx.h, it replaces memcpy calls in many other
203-
files.
204-
+ Filtered coupled dipoles implemented (both full and quasistatic version). New
205-
arguments 'fcd' and 'fcd_st' for interaction term ('-int' command line option)
206-
and 'fcd' for polarization term ('-pol' command line option).
207-
+ To-do list added (both in xls and pdf format).
208-
+ Hands-on tutorial was added to the manual. It is based on the one carried out
209-
during the DDA Workshop in Bremen.
210-
- ADDA was crashing for certain incorrect parameters given with the -h command
211-
line option. Fixed.
212-
+ A few explicit statements that angles are specified in degrees were added to
213-
the help and input files.
214-
+ New command line option '-opt {speed|mem}' added. It allows to choose whether
215-
ADDA will optimize itself for maximum speed or for minimum memory usage.
216-
+ Stability of complex arithmetics slightly improved.
217-
+ Calculation of scattered fields is accelerated by more than 4 times (compiled
218-
with gcc). Thanks to R. Scott Brock for this idea. This may also significantly
219-
accelerate orientation averaging, depending on the problem. Intel compiler is
220-
now only 10-20% faster than gcc, for all parts of the code.
221-
- Minor bug in symmetry initialization of shape 'spherebox' is fixed.
222-
- Information messages, when no real dipoles were allocated to one of the
223-
processors, did not work. Fixed.
224-
* Information messages ("INFO:...") are now given without references to source
225-
files, which looks simpler.
226-
+ New command line option '-eq_rad <arg>' was added, it allows one to specify
227-
volume-equivalent radius.
228-
* Format of shape definitions in 'make_particle.c' was slightly changed.
229-
* Shapes 'box' and 'spherebox' no longer depend on the second and third argument
230-
of '-grid' option.
231-
+ Shape 'box' now accepts two optional arguments (y/x and z/x aspect ratios)
232-
defining a rectangular parallelepiped.
233-
+ Automatic line wrapping was added for most output to stdout and sderr. ADDA
234-
tries to get terminal width from COLUMNS environmental variables and, if
235-
fails, uses the default value.
236-
* '-pedantic' option for gcc was removed from Makefile, since it gave warnings
237-
about long predefined strings.
238-
- Shape 'line' was not working correcty in combination with '-jagged' or
239-
explicitely specified grid sizes along y- and z-axes. Fixed.
240-
+ Two new shapes were added: capsule and egg. They were implemented by Daniel
241-
Hahn and Richard I. Joseph.
242-
+ Description of predefined shapes in the manual was improved.
243-
* Now, if grid size is auto-initialized from default dpl, ADDA ensures that it
244-
is not smaller than 16.
245-
+ Limitation on positiveness of dipole coordinates in shape file was removed.
246-
Now ADDA automatically determines the minimum box around the particle and
247-
centers it as usual. It also ignores blank lines in the middle or in the end
248-
of shape file.
249-
+ Orientation averaging was optimized. When beta=0 or 180, gamma angle is not
250-
relevant but only combinations alpha+-gamma. If alpha is varied in a full
251-
range [0,360), only one value of gamma for these specific beta values is
252-
calculated, saving a few evaluations of internal fields. Thanks to Antti
253-
Penttila for this idea.
254-
+ Limited two-way compatibility with DDSCAT 6.1 geometry format was added,
255-
corresponding to its shape option FRMFIL and output of 'calltarget' utility.
256-
ADDA automatically detects DDSCAT format during reading of dipole file. When
257-
saving geometry to the file, the format is determined by new command line
258-
option '-sg_format {text|text_ext|ddscat}'.
259-
+ New argument 'auto' was added to '-sym' command line option to correspond to
260-
the general rule that one of the possible arguments is the default one. No
261-
functionality is changed for other arguments.
262-
263-
----------------------------------
264-
Ver. 0.78.1 - 08.04.08
265-
266-
- Critical bug in cDiv and cDivSelf functions in source file cmplx.h was fixed
267-
(introduced in version 0.78). This bug made BiCGSTAB and BiCG iterative
268-
solvers to fail. However, even when other two iterative solvers were used,
269-
erroneous results were calculated for certain values of refractive index.
270-
271-
----------------------------------
272-
Ver. 0.78.2 - 11.04.08
273-
274-
- An implementation of a new FCD polarization prescription (-pol fcd) was
275-
somewhat faulty. Correction terms of orders (kd)^2 and ln(...)(kd)^3 were
276-
interchanged. Fixed.

doc/manual.doc

-117 KB
Binary file not shown.

doc/manual.pdf

-97.3 KB
Binary file not shown.

doc/todo.pdf

-14.4 KB
Binary file not shown.

doc/todo.xls

-29 KB
Binary file not shown.

input/alldir_params.dat

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ eps=0
2727
equiv=true
2828
periodic=true
2929

30-
# all angles are specified in degrees
3130
# all values are precalculated; so high 'eps' does not decrease computational
3231
# time, but may decrease accuracy. If eps=0, Jmin is not used.
3332

input/avg_params.dat

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,12 @@
33
# This file should be manually modified by user.
44
# Program does not assume any symmetries of the particle.
55
# Therefore, possible symmetries should be considered by user and this can lead
6-
# to decrease of integration limits.
7-
# Here zyz-notation (or y-convention) is used for the Euler angles.
6+
# to decrease of integration limits
87

98
alpha:
109
# calculation for alpha is cheap but only precalculated, therefore
1110
# Jmax should be rather large.
1211
# Jmin and eps are really not used;
13-
# Do not change the range from default unless you have a good reason;
14-
# using only one value of gamma for beta=0,pi is done only when full
15-
# range is specified here to avoid possible inaccuracies.
1612
# default: min=0;max=360;Jmax=5;equiv=true;periodic=true
1713
min=0
1814
max=360
@@ -47,7 +43,6 @@ eps=1e-3
4743
equiv=true
4844
periodic=true
4945

50-
# all angles are specified in degrees
5146
# Jmin,Jmax are minimum and maximum numbers of refinement stages
5247
# Nmax = 2^Jmax + 1
5348
# for those with equiv=true Nmax is effectively less by 1

input/scat_params.dat

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ eps=0
5353
equiv=true
5454
periodic=true
5555

56-
# all angles are specified in degrees
5756
# all values are precalculated; so high 'eps' does not decrease computational
5857
# time, but may decrease accuracy
5958
# Jmin,Jmax are minimum and maximum numbers of refinement stages

0 commit comments

Comments
 (0)