adda
adda copied to clipboard
Rayleigh limit
Implement special Rayleigh mode, which enables some simplifications (like
using CG iterative solver and calculating only total polarizability
tensor). Use additional symmetries of the particle (rotation around y and x
axes by 90 degrees). See ideas of Budko & Samokhin (2005) for iterative
solvers. Also think, how to calculate the total static polarizability
tensor of the particle, using three different incident polarizations.
Original issue reported on code.google.com by yurkin
on 24 Dec 2008 at 7:10
The general overrelaxation method proposed by Budko & Samokhin (2005) should
not be better than the default QMR.
However there is another relevant idea, which is described by issue 121.
#121
Original comment by yurkin
on 6 Jan 2011 at 7:34
Currently, numerical instability happens inside ADDA when decreasing the size
of the scatterer. So the results are generally reliable down to d/lambda = 1e-5
for all iterative solvers except CSYM. For the latter problems start to appear
already at 1e-3 (reason unknown).
Original comment by yurkin
on 29 Mar 2013 at 7:23
- Added labels: Priority-High
- Removed labels: Priority-Medium
Another grand simplification is calculation for a range of the refractive index (equivalent to the spectrum of wavelengths - #35), which brings the problem to a shifted system with real symmetric original matrix. Efficient algorithms exist for that: Simoncini V, Szyld DB. Recent computational developments in Krylov subspace methods for linear systems. Num. Lin. Alg. Appl. 2007;14:1–59. doi: 10.1002/nla.499
Similar ideas can be applied to a range of refractive indices in full-wavelength case, as well. But there the original matrix is complex symmetric, which complicates the matter. But the relevant algorithms do exist (see above paper).
UPD: this is more relevant for #121.
Another idea in the framework of the Rayleigh (static) limit is the calculations of O(x^2) and O(x^3) corrections to the polarization to get the result for a small (nano-)particle. In principle, this can be done by one-two solutions of the static problems with different incident fields, based on the theory in Moskalensky A.E. and Yurkin M.A. A point electric dipole: from basic optical properties to the fluctuation-dissipation theorem, Rev. Phys. 6, 100047 (2021).
Similarly, calculating the static response to monomials of order one or two (as incident fields), one can obtain the "non-local" contribution to the polarizability (response to field derivatives), which was described in Bobylev D.A., Smirnova D.A., and Gorlach M.A. Nonlocal response of Mie-resonant dielectric particles, Phys. Rev. B 102, 115110 (2020).
This can potentially be also used for calculation of surfaces charges for complex objects, which is a first step to simulate charged particles in the DDA - see Kundracik F., Kocifaj M., Videen G., and Markoš P. Optical properties of charged nonspherical particles determined using the discrete dipole approximation, J. Quant. Spectrosc. Radiat. Transfer 254, 107245 (2020).
If such static DDA is implemented, care should be taken with respect to the use of static Green's tensor. While in most cases Im(G) can be safely neglected for sufficiently small particles, it is tightly related to the radiative correction of the polarizability. The two may become important when, for instance, the dipole source is placed inside a particle. But even then using fully static versions of both G and polarizability may lead to the correct result.