adda-team / adda

ADDA - light scattering simulator based on the discrete dipole approximation
GNU General Public License v3.0
95 stars 56 forks source link

Reference frame for defining scattered angles with non-default incident direction #170

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Currently, we are working on DDA near surface, in which the laboratory 
reference frame (RF) will have larger emphasis, since it will be linked to the 
orientation of the surface. Therefore, we plan to define the scattering angles 
with respect to the laboratory RF, irrespective of the propagation direction 
(by the way, the default propagation direction is expected to be different too, 
along the _negative_ z-axis).

So, first, there will be different definitions of scattering angles for 
standard and near-surface modes. The idea of this issue is to merge them, i.e. 
to make the standard definition also with respect to the laboratory reference 
frame. However, there may be a lot of consequences of such changes (including, 
calculations of scat_grid and alldir), so a careful consideration is required. 
This may be connected to (simplified by) issue 138.

Original issue reported on code.google.com by yurkin on 6 Aug 2013 at 8:37

GoogleCodeExporter commented 9 years ago

Original comment by yurkin on 9 Aug 2013 at 12:28

GoogleCodeExporter commented 9 years ago
r1255 provides a lot towards implementing this issue. Moreover, it was decided 
to keep the default incident direction along +z axis in all cases.

Original comment by yurkin on 20 Aug 2013 at 12:14

myurkin commented 9 years ago

138

r1255 - a334ba60ee23526a7eb570d9eb405db7a3f7d9d7

myurkin commented 4 years ago

A small summary of the problem: Currently the specification of the scattering plane (in which the Mueller matrix is calculated and further saved to mueller) is controlled by two options (-yz and -scat_plane), which naming is not immediately straightforward. It corresponds to yz-plane in the beam reference frame and a plane in laboratory frame through incident direction and ez (xz-plane for default incidence). Moreover, these two options are exclusive, and if none is used the default behavior depends on -surf and -store_scat_grid (or -phi_integr).

So it makes sense to make a single option, e.g. -scat_plane with arguments to control this behavior. Moreover, as mentioned originally in this issue there is no (or very little) motivation to keep the scattering plane tied to the incident direction (as is now in free space). If we change that, there will actually be a difference between rotating a particle, or rotating a beam (since the scattering plane will be defined in the lab frame).