adda icon indicating copy to clipboard operation
adda copied to clipboard

Rayleigh limit

Open GoogleCodeExporter opened this issue 9 years ago • 6 comments

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

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

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

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

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

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

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.

myurkin avatar Feb 09 '16 07:02 myurkin

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).

myurkin avatar Sep 27 '20 17:09 myurkin

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).

myurkin avatar Jun 26 '21 11:06 myurkin

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.

myurkin avatar Nov 08 '22 13:11 myurkin