yogevb / a-dda

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

Point-dipole incident field #149

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Implement incident field as a radiation of a point dipole. This is interesting 
from a fundamental viewpoint, but may also have certain practical implications 
(e.g. amplification of molecular, possibly Raman, scattering by metallic 
nanoparticles). 

For now workaround is possible by using '-beam read ...' command line option.

Original issue reported on code.google.com by yurkin on 6 Jun 2012 at 5:01

GoogleCodeExporter commented 9 years ago
This issue was discussed at TaCoNa Photonics 2012, see
http://dx.doi.org/10.1063/1.4750091
http://dx.doi.org/10.1063/1.4750119

Overall, ADDA is ready for such simulations using '-beam read ...'. Any 
singular field (e.g. general multipole) can be used, as long as the singularity 
is outside of the scatterer (nanoparticle). The internal fields produced by 
ADDA will be correct, but cross sections are not exactly what one might expect. 
Absorption cross section is the correct one, i.e. it exactly corresponds to the 
non-radiative part of the energy removed from emitter (or decreased emitter 
lifetime). However, the scattering (and extinction) cross sections correspond 
only to the dipoles inside the scatterer and do not include (all) interference 
with the emitting dipole.

In other words, the cross sections calculated by ADDA correspond to the energy 
flow through the scatterer surface, which is now not equal to that through the 
very large sphere (due to the singularity between these two surfaces). But it 
is the latter which correspond to the full power emitted by the system. I 
foresee two ways to compute it: 
1) through the electric field due to the scatterer on the emitting dipole. This 
should be quite easy to implement into ADDA, but will require separate formulae 
for different types of emitters (different multipoles, finite size, etc.).
2) by calculating the energy flow in the far-field. This can be done for any 
incident field, but requires it to be known not only on the scatterer surface, 
but also in the far-field. Alternatively, a multipole expansion of the incident 
field will be sufficient. For very small particles and dipole emitter 
considering only the total dipole moment of the system (emitter + nanoparticle) 
should be a fine approximation.

Finally, the extinction cross section should be calculated by the formulae for 
non-plane beams, which is not guaranteed if a field is generated by a code hack 
inside GenerateB.c - see AddingBeam for details.

Original comment by yurkin on 5 Nov 2012 at 5:17

GoogleCodeExporter commented 9 years ago
Stefania D'Agostino has recently published a paper, which describes the method 
(1) in the previous comment.
http://dx.doi.org/10.1007/s11468-013-9512-3

Original comment by yurkin on 2 Apr 2013 at 3:14

GoogleCodeExporter commented 9 years ago
Another similar paper is http://dx.doi.org/10.1103/PhysRevB.87.205413 , where 
convergence and accuracy of the simulations is carefully assessed, and a lot of 
examples are given.

Original comment by yurkin on 26 May 2013 at 8:26

GoogleCodeExporter commented 9 years ago
For a general implementation, suitable for multipole incident field, the 
multipole expansion of the scattered field (issue 138) can be useful. 

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

GoogleCodeExporter commented 9 years ago

Original comment by yurkin on 27 Jul 2013 at 5:24

GoogleCodeExporter commented 9 years ago
Another paper  http://dx.doi.org/10.1103/PhysRevLett.111.026803 shows that 
magnetic dipole is also relevant. This adds motivation for a general multipole 
formulation.

Original comment by yurkin on 27 Jul 2013 at 7:09

GoogleCodeExporter commented 9 years ago

Original comment by yurkin on 24 Sep 2013 at 6:55

GoogleCodeExporter commented 9 years ago
It is also related to issue 30. But solving the latter is only half of the 
problem, since it is not clear how to define the scattered fields (what would 
be the parallel and perpendicular directions?). 

One of the possibilities is to define the components of the scattered fields 
with respect to the laboratory reference frame, which is, in turn, connected to 
issue 170.

Original comment by yurkin on 25 Sep 2013 at 8:08

GoogleCodeExporter commented 9 years ago
First implementation of point-dipole incident field is given by r1265. Further 
improvements are on the way.

Original comment by yurkin on 26 Sep 2013 at 9:56

GoogleCodeExporter commented 9 years ago
Decay rate enhancements are can be calculated since r1266.

Original comment by yurkin on 3 Dec 2013 at 8:18

GoogleCodeExporter commented 9 years ago
It seem to work in surface mode (issue 101), but the dipole should be strictly 
above the surface, and absorption in the substrate is not properly accounted 
for (total rate is correct, but rad and nonrad parts are not).

Original comment by yurkin on 6 Feb 2014 at 10:24

GoogleCodeExporter commented 9 years ago
r1308 fixed a bug that caused deadlock for dipole incident field in MPI mode. 
Also, it changed the normalization of the incident dipole field. Now p0*k^3=1.

Original comment by yurkin on 16 Feb 2014 at 4:50

GoogleCodeExporter commented 9 years ago
With release 1.3b4 (see http://code.google.com/p/a-dda/wiki/Downloads ) this 
functionality is officially in beta-testing stage.

Original comment by yurkin on 20 Feb 2014 at 4:48

GoogleCodeExporter commented 9 years ago
Comparison of this feature with exact theory for a sphere shows perfect 
accuracy (with fine discretization) 
http://code.google.com/p/a-dda/wiki/ComparisonOtherCodes#Decay_rate_enhancements

Original comment by yurkin on 6 May 2014 at 9:34