Open myurkin opened 6 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.
/cc @anna-ae
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).
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.
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:
The relevant papers are: