adda icon indicating copy to clipboard operation
adda copied to clipboard

Rapid calculation for many refractive indices

Open GoogleCodeExporter opened this issue 9 years ago • 3 comments

An interesting idea was proposed to optimize multiple runs of iterative solver 
when only the refractive index is varied.

N.V. Budko and R.F. Remis, “Electromagnetic inversion using a reduced-order 
three-dimensional homogeneous model,” Inv. Probl. 20, S17-S26 (2004).
http://dx.doi.org/10.1088/0266-5611/20/6/S02

This is relevant for:
1) construction of databases of scattering properties of different particles.
2) calculation of absorption/scattering/etc. spectra of particles much smaller 
than the wavelength.

Original issue reported on code.google.com by yurkin on 6 Jan 2011 at 7:33

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter

Similar algorithms are discussed in: 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

Most efficient are the algorithms for the Rayleigh case, but they 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).

myurkin avatar Mar 07 '22 13:03 myurkin

Two more ideas are described in Asenchik O.D. Using the method of discrete dipoles to approximate solutions of the problems of light scattering and absorption by particles, Opt. Spectrosc. 122, 294–302 (2017). One is the direct evaluation by "shifting" the inverse of the interaction matrix (using its decomposition in spherical harmonics), another is three-point interpolation using specially designed functional form. Both work fine for tests with Rayleigh particles.

myurkin avatar Mar 25 '23 06:03 myurkin

Konstantin Inzhevatrkin (@inzhevatkin) has implemented a solution to this issue on a development branch: https://github.com/inzhevatkin/adda/tree/Shifted_CG

It is based on the shifted conjugate gradient iterative method. Current capabilities and limitations are discussed at: https://groups.google.com/g/adda-discuss/c/qvZUdZAiWmM

myurkin avatar Oct 16 '23 08:10 myurkin