adda-team / adda

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

Multi-layered substrate #235

Open myurkin opened 6 years ago

myurkin commented 6 years ago

After we finalize the implementation for a homogeneous semi-infinite substrate (basic surface mode) - #101, we need to think about extending it to multi-layered substrates. Here are several issues with that:

  1. the easiest is to keep the limitation of particle being completely above the substrate. Then the current two-component structure of the Green's tensor can be kept.
  2. the calculation of the Green's tensor will require a specialized (extended) code. However, all the optimization ideas from #176 apply.
  3. The surface plasmons or guided modes may become important for the layered structures. For the standard case it is described in #234, but in the case of the dielectric waveguide, the scattered intensity at 90° will not diminish (exponentially) with r. Hence, it may require some different treatment.

The relevant papers are:

myurkin commented 5 years ago

The FFT acceleration should not require significant changes. Now we have direct interaction, which is a function of (z1-z2), and reflected part, which is a function of (z1+z2) due to the imaginary source at -z1. For multi-layered case (even two layers + vacuum) there will be infinite number of imaginary sources, but since all of them are produced by multiple reflections - they are all located at positions ai +- z1, where set of ai depends only on the geometry of the multilayered structure (widhts), but not z1. Hence, the total interaction (computed by Sommerfeld-type integrals) can be expressed as A(z1-z2) + B(z1+z2). But that means that the FFT acceleration is the same, only computation of A and B differs.

This will similarly affect optimizations for calculation of Sommerfeld integrals. Now they all depend on z1+z2, in the future we need separate path for those depending on z1-z2.

myurkin commented 5 years ago

/cc @anna-ae

myurkin commented 5 years ago

Surface-plasmon polaritons (SPPs) may need separate consideration even in the case of homogeneous metallic substrate (with very low absorption). Although, they are not infinitely propagating scattering from or into SPPs may be relevant - comparable to scattering from/into slightly absorbing substrate. The relevant paper is: Evlyukhin A.B. and Bozhevolnyi S.I. Resonant unidirectional and elastic scattering of surface plasmon polaritons by high refractive index dielectric nanoparticles, Phys. Rev. B 92, 245419 (2015).

I am not sure what is the current limit of ADDA, when scattering angle approaches substrate from below. But most probably it is wrong (not SPP), since the attenuation constant for SPP is different from that in the bulk medium (assumed for scattering at any angle into the substrate).

myurkin commented 3 years ago

Here are two other projects, which struggle with the same problem with some success. So we may take some code or ideas from that:

But further analysis is needed to plan further actions.

myurkin commented 2 years ago

Another relevant project (suggested by @AmosEgel) is https://github.com/modelics/strata . Probably we can just link to it for computation of the Green's tensor for multi-layered substrates.