Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rapid calculation for many refractive indices #121

Open
GoogleCodeExporter opened this issue Aug 12, 2015 · 3 comments
Open

Rapid calculation for many refractive indices #121

GoogleCodeExporter opened this issue Aug 12, 2015 · 3 comments
Assignees
Labels
comp-Logic Related to internal code logic performance Simulation speed, memory consumption pri-Medium Worth assigning to a milestone
Milestone

Comments

@GoogleCodeExporter
Copy link

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 GoogleCodeExporter added OpSys-All comp-Logic Related to internal code logic performance Simulation speed, memory consumption pri-Medium Worth assigning to a milestone labels Aug 12, 2015
@myurkin myurkin added feature Allows new functionality and removed Type-Enhancement labels Aug 13, 2015
@myurkin myurkin self-assigned this Nov 12, 2015
@myurkin myurkin added this to the 1.6 milestone Jul 10, 2018
@myurkin myurkin removed the feature Allows new functionality label Apr 24, 2021
@myurkin
Copy link
Member

myurkin commented Mar 7, 2022

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
Copy link
Member

myurkin commented Mar 25, 2023

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
Copy link
Member

myurkin commented Oct 16, 2023

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp-Logic Related to internal code logic performance Simulation speed, memory consumption pri-Medium Worth assigning to a milestone
Projects
None yet
Development

No branches or pull requests

2 participants