Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize orientation averaging for symmetric particles #278

Open
myurkin opened this issue Nov 2, 2020 · 0 comments
Open

Optimize orientation averaging for symmetric particles #278

myurkin opened this issue Nov 2, 2020 · 0 comments
Labels
accuracy Improves simulation accuracy comp-Logic Related to internal code logic comp-UI Related to user interface (command line, input files) performance Simulation speed, memory consumption pri-Medium Worth assigning to a milestone
Milestone

Comments

@myurkin
Copy link
Member

myurkin commented Nov 2, 2020

Is your feature request related to a problem? Please describe.

Automatic orientation averaging in ADDA can be very inefficient, when applied to symmetric shapes. In short, ADDA places the particle in many equivalent orientations, wasting computations and leading to poor accuracy. That has been noted long ago, see e.g. this case, and there are some comments about it in avg_params.dat, but only for the case of axisymmetric particles.

Describe the solution you'd like

The more automatic - the better for the users. But the simplest solution is to provide optimal avg_params.dat (or comments inside this file) for various point group symmetries. These files will have a reduced angular ranges (mainly beta and gamma). It is important to note (for users) that the optimal (the largest) angular reduction will be based on reflection symmetries, and, thus, cause some elements of the Mueller matrix (that must be zero after averaging, like S14) to be non-zero. In other words, such elements must be manually discarded afterwards.

For example, a solution for the cube is to use

max=90
Jmax=Jmax-1
gamma:
max=45
Jmax=Jmax-3
equiv=false

which is approximately 16 times reduction in simulation time (not clear if can be made better, the total order of the cubical symmetry group with reflections is 48).

Alternative (or supplementary) solutions may be related to changing the averaging scheme inside ADDA, so it would be more robust with respect to particle symmetries. For instance, the averaging over gamma can be changed to simple trapezoid rule using some prime number of points.

@myurkin myurkin added comp-UI Related to user interface (command line, input files) accuracy Improves simulation accuracy comp-Logic Related to internal code logic performance Simulation speed, memory consumption pri-Medium Worth assigning to a milestone labels Nov 2, 2020
@myurkin myurkin added this to the 1.6 milestone Nov 2, 2020
@myurkin myurkin self-assigned this Nov 2, 2020
@myurkin myurkin removed their assignment Apr 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accuracy Improves simulation accuracy comp-Logic Related to internal code logic comp-UI Related to user interface (command line, input files) performance Simulation speed, memory consumption pri-Medium Worth assigning to a milestone
Projects
None yet
Development

No branches or pull requests

1 participant