Open GoogleCodeExporter opened 8 years ago
Currently, there is a workaround for simulating only "Y" incident polarization
by adding "-sym enf" in the command line. See section 6.7 (Particle symmetries)
of the manual for details about this option.
The idea is that ADDA will assume the symmetry and get the results that require
two incident polarizations (like Mueller of amplitude matrices) from one
incident polarization and two scattering planes. If the particle is
non-symmetric, these scattering quantities will be wrong. However, other ones
that are produced for each incident polarization independently (they usually
have Y in the filename) should be correct.
Moreover, any linear polarization can be transformed into Y polarization by a
proper rotation of particle (using "-orient ..." command line option).
Original comment by yurkin
on 9 Feb 2011 at 6:06
Addition to the previous comment:
To remove angle-resolved quantities completely, use "-scat_matr none". One may
also compute only the amplitude matrix in the yz-plane: "-scat_matr ampl".
Elements S2 and S4 of this matrix (corresponding to columns 4,5 and 8,9) of the
file 'ampl' in the obtained file would be correct, since they are computed from
Y-polarization of the incident field alone.
Original comment by yurkin
on 8 Nov 2011 at 6:24
Original comment by yurkin
on 28 Mar 2013 at 2:41
The one important implication of this issue is that circular incident
polarization is not fully supported. Scattered fields (far from particle) can
be obtained (for any incident polarization) from the computed amplitude and
Mueller matrices. Other linear (in incident field) scattering properties (like
dipole polarization, internal field) can be obtained by linear combination of
the results for two default linear incident polarizations.
However, there is problem with other quantities, like absorption and extinction
cross-sections or radiation forces, although (at least) some of them can be
computed from the far-fields. The possible workaround for this limitation is to
implement a small hack in the code, which will replace "Y" polarization by a
circular one (see AddingBeam). But then some changes will be required in other
places in the code that use incPolY variable.
Original comment by yurkin
on 10 Nov 2013 at 1:12
Concerning the circular (or arbitrary complex) incident polarization - there
actually exist a workaround for that. One can use '-beam read ...' to insert
the correct incident beam from file. The latter can be either generated
independently (really easy for the plane wave) or as a linear combination of
two linear polarizations, saved by command line option '-store_beam' from a
preliminary run for the same geometry (one can additionally add '-eps 0.01' to
this run to save computational time).
Original comment by yurkin
on 23 Nov 2013 at 5:29
Actually, Cext for circular incident polarization (of plane wave) can be
obtained from amplitude matrix at forward direction through extinction matrix -
see issue 192.
Original comment by yurkin
on 11 Mar 2014 at 2:15
Original issue reported on code.google.com by
yurkin
on 24 Dec 2008 at 6:55