Open myurkin opened 6 years ago
Recently, this idea has been discussed in
And it is implemented in open-source VoxScatter - should be easy to perform additional tests if needed.
The conclusion is somewhat mixed. For very oblate or prolate particles, it definitely helps, since 1D and 2D circulant preconditioners are used (they do not require a lot of extra resources for such problems). But it is not clear, how this extends to 3D shapes with comparable dimensions along different axes. For them 1D and 2D preconditioners are too slow per each matrix-vector multiplication (scale worse with size, i.e. with larger power), while 3D ones incur a lot of approximations - hence, do not significantly reduce Niter.
Another case, where circulant preconditioners lead to significant improvement is for a particle inside a multi-layered substrate, since then the FFT along the z-axis cannot be employed anyway. See: Chaumet P.C., Maire G., and Sentenac A. Accelerating the discrete dipole approximation by initializing with a scalar solution and using a circulant preconditioning, J. Quant. Spectrosc. Radiat. Transfer 298, 108505 (2023).
Follows from #24. The keywords to start searching are "Strohner-type" and "Chan-type".
S.A. Goreinov mentioned at ELS 12 conference that they had very positive experience with such preconditioners for very similar problems - the ones described in
A. Shcherbakov et al. "Novel approach for modeling optical properties of systems containing large number of metal nanoparticles", in Electromagnetic and Light Scattering XII: Conference Proceedings, pp. 274-277 (2010). http://www.helsinki.fi/els/articles/69/