Environment

```
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.2.1
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
scipy v0.19.1
geopandas v0.3.0
MATLAB R2017b (Home Edition)
ADDA v.1.3b6
```

This article is related to ADDA (light scattering simulator based on the discrete dipole approximation).

### avg_params.dat

See [B.2 avg_params.dat] in the manual.pdf for the setting of the file.

### Evaluations for different values of [Jmin] and [Jmax] of the [beta] and [gamma] for "Non adaptive approach"(EPS=0)

In order to compare different orientation averaging schemes (e.g. Icosahedral Nodes, Hammersley Nodes, etc), averaging results using the [avg_params.dat] are used.

According to the following post, the recommendation is to set EPS=0 and set Jmax to obtain orientation averaging with non-adaptive-approach for the above purpose.

avg_params.dat > different Jmin and Jmax with same [number of evaluations]

Followings are the table obtained by setting [EPS=0] and [Jmax] for (beta, gamma).

Jmax | Jmax | evaluations |
---|---|---|

gamma 2 | beta 2 | 14 |

gamma 2 | beta 3 | 30 |

gamma 3 | beta 3 | 58 |

gamma 3 | beta 4 | 122 |

gamma 4 | beta 4 | 242 |

gamma 4 | beta 5 | 498 |

gamma 5 | beta 5 | 994 |

gamma 5 | beta 6 | 1986 |

gamma 6 | beta 6 | 4034 |

### Example of the input file

avg_params.dat

```
# Description of the parameters for orientation averaging
#
# this file should be manually modified by user
# Program does not assume any symmetries of the particle. Therefore, possible symmetries should be considered by user
# and this can lead to decrease of integration limits.
# Here zyz-notation (or y-convention) is used for the Euler angles.
alpha:
# calculation for alpha is cheap but only precalculated, therefore Jmax should be rather large.
# Jmin and eps are really not used.
# Completely irrelevant, when only cross sections are calculated ('-scat_matr none').
# Do not change the range from default unless you have a good reason; using only one value of gamma for beta=0,pi is
# done only when full range is specified here to avoid possible inaccuracies.
# default: min=0;max=360;Jmax=5;equiv=true;periodic=true
min=0
max=360
Jmin=2
Jmax=5
eps=0
equiv=true
periodic=true
beta:
# default: min=0;max=180;Jmin=2;Jmax=4;eps=1e-3;equiv=false;periodic=false
# xy - symmetry plane: max=90;Jmax=3
# Do not use periodic=true since the function is multiplied by sin(beta) before integration.
min=0
max=180
Jmin=2
Jmax=6
eps=0
equiv=false
periodic=false
gamma:
# default: min=0;max=360;Jmin=2;Jmax=4;eps=1e-3;equiv=true;periodic=true
# axysymmetrical: max=0
# more precisely: max=45;Jmax=2;equiv=false
min=0
max=360
Jmin=2
Jmax=6
eps=0
equiv=true
periodic=true
# all angles are specified in degrees
# Jmin,Jmax are minimum and maximum numbers of refinement stages
# Nmax = 2^Jmax + 1
# for those with equiv=true Nmax is effectively less by 1
# total calls of function <= Nmax_theta * Nmax_phi
# equiv means whether it is assumed that max and min values are completely equivalent. If true only one of them is
# calculated.
# periodic means whether function is periodic in the integrated interval. If true trapezoid rule is used; it is possible
# that interval is half of the function period.
# axysymmetrical <=> particle with z - axis of symmetry
```