Skip to content
Surf Wiki
Save to docs
general/science-related-lists

From Surf Wiki (app.surf) — the open knowledge base

Codes for electromagnetic scattering by spheres


Codes for electromagnetic scattering by spheres - this article list codes for electromagnetic scattering by a homogeneous sphere, layered sphere, and cluster of spheres.

Solution techniques

Majority of existing codes for calculation of electromagnetic scattering by a single sphere is based on Mie theory which is an analytical solution of Maxwell's equations in terms of infinite series. Other approximations to scattering by a single sphere include: Debye series, ray tracing (geometrical optics), ray tracing including the effects of interference between rays, Airy theory, Rayleigh scattering, diffraction approximation. There are many phenomena related to light scattering by spherical particles such as resonances, surface waves, plasmons, near-field scattering. Even though Mie theory offers convenient and fast way of solving light scattering problem by homogeneous spherical particles, there are other techniques, such as discrete dipole approximation, FDTD, T-matrix, which can also be used for such tasks.

Classification

The compilation contains information about the electromagnetic scattering by spherical particles, relevant links, and applications.

Codes for electromagnetic scattering by a single homogeneous sphere

YearNameAuthorsReferencesLanguageShort Description
1983BHMIECraig F. Bohren and Donald R. Huffman"Mie solutions" (infinite series) to scattering, absorption and phase function of electromagnetic waves by a homogeneous sphere.
2002MiePlotPhilip LavenVisual BasicMiePlot offers the following mathematical models for the scattering of light by a sphere: Mie solutions, Debye series, ray tracing (based on geometrical optics), ray tracing including the effects of interference between rays, Airy theory, Rayleigh scattering, diffraction, surface waves. In addition to single-wavelength calculations, MiePlot can also perform calculations for some wavelengths, thus approximating a continuous spectrum (such as sunlight) to produce simulations of atmospheric optical effects such as rainbows, coronas and glories.
2003Mie_Single etc.Gareth Thomas and Don GraingerIDLThe Sub-Department of Atmospheric Oceanic and Planetary Physics in the University of Oxford maintains an archive of Mie scattering routines for both single spheres and populations of particles in which sizes follow a log-normal distribution. The code is also available for calculating the analytical derivatives of Mie scattering (i.e. the derivative of the extinction and scattering coefficients, and the intensity functions with respect to size parameter and complex refractive index). The routines are written in IDL, but a Fortran-based DLM version (which substantially reduces runtime) of the single-sphere code is also available.

Codes for electromagnetic scattering by a layered sphere

Algorithmic literature includes several contributions

YearNameAuthorsRefLanguageLicenseShort Description
1981DMILAYOwen B. Toon and T. P. AckermanFortranNo license specified but open source (public domain)
1983BHCOATCraig F. Bohren and Donald R. HuffmanFortranNo specified but open source (public domain via )
1997BARTA. QuirantesA Quirantes and A V Delgado, The scattering of light by a suspension of coated sphericalFortranOpen source (own license)
2004MjcLscCoatSphM. JonaszGUI/WindowsProprietary / closed source
2007L. Liu, H. Wang, B. Yu, Y. Xu, J. ShenCUnknown
2009-2022ScattnlayO. Pena, U. Pal, K. LadutenkoC++, Python, and JavaScriptGPLv3

Codes for electromagnetic scattering by cluster of spheres

YearNameAuthorsReferencesLanguageShort Description
1998-2003GMMYu-lin Xu and Bo A. S. GustafsonFortranCodes which calculate exactly electromagnetic scattering by an aggregate of spheres in a single orientation or at an average over individual orientations.
2013MSTMD. W. MackowskiFortranCodes which calculate exactly electromagnetic scattering by an aggregate of spheres and spheres within spheres for complex materials. Works in parallel as well.
2015py_gmmG. PellegriniPython + FortranA Python + Fortran 90 implementation of the Generalized Multiparticle Mie method, especially suited for plasmonics and near field computation.
2017CELESA. Egel, L. Pattelli and G. MazzamutoMATLAB + CUDARunning on NVIDIA GPUs, with high performance for many spheres.
2020QPMSM. NečadaC, PythonMany-particle simulations in homogeneous media, supports various particle shapes in finite as well as infinite periodic configurations.
2021SMUTHIA. Egel et al.Python + Fortran + CUDAMany spheres in stratified media, other particle shapes are available.

Relevant scattering codes

  • Discrete dipole approximation codes
  • Codes for electromagnetic scattering by cylinders

References

References

  1. Bohren, Craig F. and Donald R. Huffman, Absorption and scattering of light by small particles, New York : Wiley, 1998, 530 p., {{ISBN. 0-471-29340-7, {{ISBN. 978-0-471-29340-8 (second edition)
  2. (2009). "Light scattering theories and computer codes". [[Journal of Quantitative Spectroscopy and Radiative Transfer]].
  3. This code is maintained as part of scatterlib, and can be downloaded from http://scatterlib.wikidot.com/mie
  4. The MiePlot program can be downloaded from http://www.philiplaven.com/mieplot.htm
  5. Philip Laven, "Simulation of Rainbows, Coronas, and Glories by use of Mie Theory", Applied Optics Vol. 42, 3, 436-444 (January 2003) plus various other published papers (all available at http://www.philiplaven.com/Publications.html).
  6. (2004). "The Calculation of Mie Derivatives". Appl. Opt..
  7. (1990). "Internal absorption cross sections in a stratified sphere". Applied Optics.
  8. (2003). "Improved recursive algorithm for light scattering by a multilayered sphere". Applied Optics.
  9. (1981). "Algorithms for the calculation of scattering by stratified spheres". Applied Optics.
  10. (2007). "Improved algorithm of light scattering by a coated sphere". China Particuology.
  11. (15 October 1981). "Algorithms for the calculation of scattering by stratified spheres". Applied Optics.
  12. /http://www.ugr.es/~aquiran/ciencia/codigos/bart.f
  13. "||".
  14. (2007). "Improved algorithm of light scattering by a coated sphere". China Particuology.
  15. O Pena and U Pal, Scattering of EM radiation by a multilayer sphere, Computer Physics Communications, 180, 2348-2354, 2009
  16. W Yang, Improved recursive algorithm for light scattering by a multilayered sphere, Applied Optics, Vol. 42, No. 9, 2003
  17. Yu-lin Xu, Bo A.S. Gustafson, A generalized multiparticle Mie-solution: further experimental verification, Journal of Quantitative Spectroscopy & Radiative Transfer 70 (2001) 395–419
  18. "Scatcodes".
  19. (2019-02-11). "A Generalized Multiparticle Mie code, especially suited for plasmonics: Gevero/py_gmm".
  20. (2019-02-14). "CELES: CUDA-accelerated electromagnetic scattering by large ensembles of spheres: Disordered-photonics/celes".
  21. (2022). "QPMS: Electromagnetic multiple scattering library and toolkit.".
  22. (2022-01-21). "SMUTHI: Scattering by multiple particles in thin-film systems".
  23. Amos Egel, Krzysztof M. Czajkowski, Dominik Theobald, Konstantin Ladutenko, Alexey S. Kuznetsov, Lorenzo Pattelli, SMUTHI: A python package for the simulation of light scattering by multiple particles near or between planar interfaces, Journal of Quantitative Spectroscopy and Radiative Transfer, Volume 273, p. 107846 (2021) [https://doi.org/10.1016/j.jqsrt.2021.107846 DOI]
Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Codes for electromagnetic scattering by spheres — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report