yogevb / a-dda

Automatically exported from code.google.com/p/a-dda
0 stars 0 forks source link

Incorrect radiation forces for Gaussian beam #135

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Part of the radiation force is produced by direct influence of the incident 
field on the point dipoles. When computing this part, ADDA currently assumes 
the standard plane wave. Therefore, the result is expected to be wrong for 
Gaussian beams. A correct evaluation of this part requires calculation of the 
spatial derivatives of the incident electric field, which also requires 
improvement of the corresponding source code for Gaussian beams. 

Since the code for calculation of radiation forces need to be completely 
rewritten anyway (issue 14), it is not clear whether this issue will be treated 
separately. However, fixing this issue to make calculation of the radiation 
forces by Gaussian beams accurate albeit slow can be a temporary measure.

Also, the current code may behave not correctly for tilted plane wave 
(propagating not along z-axis). This should be tested - and if present, can be 
fixed quickly.

Original issue reported on code.google.com by yurkin on 2 Nov 2011 at 10:28

GoogleCodeExporter commented 9 years ago
The only possible workaround requires a lot of manual calculations.

The basic idea is to take the resulting force, subtract the wrong  <Finc,i> 
(calculated for plane wave propagating along the z-axis) and add the correct 
one <Finc,i>. The formula for the latter is Eq.(3) in 
Hoekstra et al. Radiation forces in the discrete-dipole approximation. J. Opt. 
Soc. Am. A. 18: 1944–1953 (2001).
But the equivalent simpler expression can be found in Eq.(2) of 
Chaumet P.C. et al. Optical tweezers in interaction with an apertureless probe. 
J. Appl. Phys. 102: 024915 (2007). 
One should replace the product alpha*E in the last formula by P - dipole 
polarizations that can be obtained from -store_dip_pol command line option.

The derivatives of the incident field can be obtained by two ways: 
1) By analytical calculation deriving the formulae from expressions for barton5 
field (see the manual and GenerateB.c for references).
2) Get the field by -store_beam command line option and compute the required 
derivatives numerically (assuming that dipole size is small enough).

Original comment by yurkin on 2 Nov 2011 at 4:36

GoogleCodeExporter commented 9 years ago
Problem with tilted plane wave, mentioned in the end of issue description, was 
fixed by r1142. It also added an error message when radiation forces are 
requested for non-plane beams.

Original comment by yurkin on 22 May 2012 at 5:25

GoogleCodeExporter commented 9 years ago

Original comment by yurkin on 4 Feb 2013 at 5:37

GoogleCodeExporter commented 9 years ago
Another option is to calculate radiation force from a far-field integrals, 
which can be made very simple using spherical-harmonics expansion of both 
scattered field (issue 138) and Gaussian beams. The latter should be available, 
at least for simple cases.

Original comment by yurkin on 4 Jul 2013 at 9:52

GoogleCodeExporter commented 9 years ago
The computation of optical forces due to Gaussian beams by the DDA was 
implemented in L. Ling, F. Zhou, L. Huang, and Z.-Y. Li, “Optical forces on 
arbitrary shaped particles in optical tweezers,” J. Appl. Phys. 108, 073110 
(2010). http://dx.doi.org/10.1063/1.3484045 (along the lines discussed above). 
Unfortunately, the code is not readily available.

Original comment by yurkin on 14 Jan 2014 at 7:23