vignettes/05_quadrature_averaging/05_quadrature_averaging.Rmd
05_quadrature_averaging.Rmd
Here we compare analytical orientation averaging of far-field cross-sections with a numerical cubature.
This simulation uses the following input
file
ModeAndScheme 2 3
MultipoleCutoff 5
Wavelength 300 700 200
Medium 1.7689 # epsilon of water
Incidence file incidence
OutputFormat HDF5 cross_sections
Scatterers 4
Au 100.0000 0.00000 -30 20.0
Au 80.9017 58.77853 -10 20.0
Au 30.9017 95.10565 10 20.0
Au -30.9017 95.10565 30 20.0
Incidence angles and the corresponding weights are specified in an
external file incidence
,
38
0.00000000 1.57079633 0.00000000 0.00952381
3.14159265 1.57079633 0.00000000 0.00952381
1.57079633 1.57079633 0.00000000 0.00952381
-1.57079633 1.57079633 0.00000000 0.00952381
1.57079633 0.00000000 0.00000000 0.00952381
1.57079633 3.14159265 0.00000000 0.00952381
0.78539816 0.95531662 0.00000000 0.03214286
0.78539816 2.18627604 0.00000000 0.03214286
-0.78539816 0.95531662 0.00000000 0.03214286
-0.78539816 2.18627604 0.00000000 0.03214286
2.35619449 0.95531662 0.00000000 0.03214286
2.35619449 2.18627604 0.00000000 0.03214286
-2.35619449 0.95531662 0.00000000 0.03214286
-2.35619449 2.18627604 0.00000000 0.03214286
1.09313802 1.57079633 0.00000000 0.02857143
-1.09313802 1.57079633 0.00000000 0.02857143
2.04845464 1.57079633 0.00000000 0.02857143
-2.04845464 1.57079633 0.00000000 0.02857143
0.47765831 1.57079633 0.00000000 0.02857143
-0.47765831 1.57079633 0.00000000 0.02857143
2.66393434 1.57079633 0.00000000 0.02857143
-2.66393434 1.57079633 0.00000000 0.02857143
0.00000000 0.47765831 0.00000000 0.02857143
0.00000000 2.66393434 0.00000000 0.02857143
3.14159265 0.47765831 0.00000000 0.02857143
3.14159265 2.66393434 0.00000000 0.02857143
0.00000000 1.09313802 0.00000000 0.02857143
0.00000000 2.04845464 0.00000000 0.02857143
3.14159265 1.09313802 0.00000000 0.02857143
3.14159265 2.04845464 0.00000000 0.02857143
1.57079633 0.47765831 0.00000000 0.02857143
1.57079633 2.66393434 0.00000000 0.02857143
-1.57079633 0.47765831 0.00000000 0.02857143
-1.57079633 2.66393434 0.00000000 0.02857143
1.57079633 1.09313802 0.00000000 0.02857143
1.57079633 2.04845464 0.00000000 0.02857143
-1.57079633 1.09313802 0.00000000 0.02857143
-1.57079633 2.04845464 0.00000000 0.02857143
This file was obtained using the cubs
package,
with the following command:
terms::export_cubature(cubs::cubs(N = 38, 'lebedev'), out = 'incidence')
The command to run the example is simply
../../build/terms input > log
The full log contains basic details of the calculations, and finishes with the timing.
readInputFile> Parsing file input
readInputFile> Detected keyword ModeAndScheme
mode=2 => spectrum_FF for far-field quantities
scheme=3 => Seek T^(j) using Mackowski's approach
readInputFile> Detected keyword MultipoleCutoff
Supplied ncut(1)= 5
Setting ncut(2)= ncut(1)
Setting ncut(3)= -8
readInputFile> Detected keyword Wavelength
Wavelength LB (nm): 300.000000
Wavelength UB (nm): 700.000000
nsteps, step: 200 2.0000
readInputFile> Detected keyword Medium
Constant host epsilon= 1.7689E+0
readInputFile> Detected keyword Incidence
Incidence filename= incidence
Expected incidence count= 38
Incident Euler angles and weights:
alpha beta gamma weight
0.00000000 1.57079633 0.00000000 0.00952381
3.14159265 1.57079633 0.00000000 0.00952381
...
termsProgram> Program run time (CPU & real in s): 1.056E+01 9.246E+00
The output consists as usual of a number of files storing the far-field cross-sections, for each angle of incidence.