Codes for electromagnetic scattering by spheres

Last updated

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

Contents

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. [1]

Classification

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

Codes for electromagnetic scattering by a single homogeneous sphere

YearNameAuthorsReferencesLanguageShort Description
1983BHMIE [3] Craig F. Bohren and Donald R. Huffman [1]

Fortran IDL Matlab C Python

"Mie solutions" (infinite series) to scattering, absorption and phase function of electromagnetic waves by a homogeneous sphere.
2002MiePlot [4] Philip Laven [5] Visual 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.
2003 Mie_Single etc. Gareth Thomas and Don Grainger [6] IDLThe 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 [7] [8] [9] [10]

YearNameAuthorsRefLanguageLicenseShort Description
1981DMILAYOwen B. Toon and T. P. Ackerman [9] Fortran No license specified but open source (public domain)Scattering by a stratified sphere (a particle with a spherical core surrounded by a spherical shell).

Code dates from 1968 available here: [11]

1983BHCOATCraig F. Bohren and Donald R. Huffman [1] Fortran No specified but open source (public domain via [1] )"Mie solutions" (infinite series) to scattering, absorption and phase function of electromagnetic waves by a homogeneous concentring shells.
1997BART [12] A. Quirantes [13] Fortran Open source (own license)Based on the Aden–Kerker theory to calculate light-scattering properties for coated spherical particles
2004MjcLscCoatSph [14] M. JonaszGUI/WindowsProprietary / closed sourceThis program calculates the scattering, absorption, and attenuation parameters, as well as the angular scattering patterns of a single coated sphere according to Aden-Kerker theory.
2007L. Liu, H. Wang, B. Yu, Y. Xu, J. Shen [15] C UnknownLight scattering by a coated sphere (extinction efficiency, scattering efficiency, light scattering intensity)
2009-2022 Scattnlay O. Pena, U. Pal, K. Ladutenko [16] C++, Python, and JavaScript GPLv3Light scattering from a multilayered sphere based on the algorithm by W Yang. [17] Very robust and stable, slower than Toon and Ackerman. Evaluate integral parameters and angular patterns, near-field and power flow streamlines plotting. Has a compilation option to use Boost.Multiprecision for higher accuracy.

Web application is the part of package, available online on the website of Department of Physics and Engineering in ITMO University.

Codes for electromagnetic scattering by cluster of spheres

YearNameAuthorsReferencesLanguageShort Description
1998-2003GMMYu-lin Xu and Bo A. S. Gustafson [18] FortranCodes which calculate exactly electromagnetic scattering by an aggregate of spheres in a single orientation or at an average over individual orientations.
2013MSTMD. W. Mackowski [19] FortranCodes which calculate exactly electromagnetic scattering by an aggregate of spheres and spheres within spheres for complex materials. Works in parallel as well.
2015py_gmmG. Pellegrini [20] Python + 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. Mazzamuto [21] MATLAB + CUDARunning on NVIDIA GPUs, with high performance for many spheres.
2020QPMSM. Nečada [22] C, PythonMany-particle simulations in homogeneous media, supports various particle shapes in finite as well as infinite periodic configurations.
2021SMUTHIA. Egel et al. [23] [24] Python + Fortran + CUDAMany spheres in stratified media, other particle shapes are available.

Relevant scattering codes

See also

Related Research Articles

<span class="mw-page-title-main">Rayleigh scattering</span> Light scattering by small particles

Rayleigh scattering, named after the 19th-century British physicist Lord Rayleigh, is the predominantly elastic scattering of light, or other electromagnetic radiation, by particles with a size much smaller than the wavelength of the radiation. For light frequencies well below the resonance frequency of the scattering medium, the amount of scattering is inversely proportional to the fourth power of the wavelength, e.g., a blue color is scattered much more than a red color as light propagates through air.

<span class="mw-page-title-main">Scattering</span> Range of physical processes

Scattering is a term used in physics to describe a wide range of physical processes where moving particles or radiation of some form, such as light or sound, are forced to deviate from a straight trajectory by localized non-uniformities in the medium through which they pass. In conventional use, this also includes deviation of reflected radiation from the angle predicted by the law of reflection. Reflections of radiation that undergo scattering are often called diffuse reflections and unscattered reflections are called specular (mirror-like) reflections. Originally, the term was confined to light scattering. As more "ray"-like phenomena were discovered, the idea of scattering was extended to them, so that William Herschel could refer to the scattering of "heat rays" in 1800. John Tyndall, a pioneer in light scattering research, noted the connection between light scattering and acoustic scattering in the 1870s. Near the end of the 19th century, the scattering of cathode rays and X-rays was observed and discussed. With the discovery of subatomic particles and the development of quantum theory in the 20th century, the sense of the term became broader as it was recognized that the same mathematical frameworks used in light scattering could be applied to many other phenomena.

<span class="mw-page-title-main">Mie scattering</span> Scattering of an electromagnetic plane wave by a sphere

In electromagnetism, the Mie solution to Maxwell's equations describes the scattering of an electromagnetic plane wave by a homogeneous sphere. The solution takes the form of an infinite series of spherical multipole partial waves. It is named after German physicist Gustav Mie.

<span class="mw-page-title-main">Gustav Mie</span> German physicist (1868–1957)

Gustav Adolf Feodor Wilhelm Ludwig Mie was a German physicist.

<span class="mw-page-title-main">Physical optics</span> Branch of optics

In physics, physical optics, or wave optics, is the branch of optics that studies interference, diffraction, polarization, and other phenomena for which the ray approximation of geometric optics is not valid. This usage tends not to include effects such as quantum noise in optical communication, which is studied in the sub-branch of coherence theory.

Diffuse reflectance spectroscopy, or diffuse reflection spectroscopy, is a subset of absorption spectroscopy. It is sometimes called remission spectroscopy. Remission is the reflection or back-scattering of light by a material, while transmission is the passage of light through a material. The word remission implies a direction of scatter, independent of the scattering process. Remission includes both specular and diffusely back-scattered light. The word reflection often implies a particular physical process, such as specular reflection.

<span class="mw-page-title-main">Discrete dipole approximation</span>

Discrete dipole approximation (DDA), also known as coupled dipole approximation, is a method for computing scattering of radiation by particles of arbitrary shape and by periodic structures. Given a target of arbitrary geometry, one seeks to calculate its scattering and absorption properties by an approximation of the continuum target by a finite array of small polarizable dipoles. This technique is used in a variety of applications including nanophotonics, radar scattering, aerosol physics and astrophysics.

An atmospheric radiative transfer model, code, or simulator calculates radiative transfer of electromagnetic radiation through a planetary atmosphere.

Light scattering by particles is the process by which small particles scatter light causing optical phenomena such as the blue color of the sky, and halos.

Photothermal spectroscopy is a group of high sensitivity spectroscopy techniques used to measure optical absorption and thermal characteristics of a sample. The basis of photothermal spectroscopy is the change in thermal state of the sample resulting from the absorption of radiation. Light absorbed and not lost by emission results in heating. The heat raises temperature thereby influencing the thermodynamic properties of the sample or of a suitable material adjacent to it. Measurement of the temperature, pressure, or density changes that occur due to optical absorption are ultimately the basis for the photothermal spectroscopic measurements.

Multiangle light scattering (MALS) describes a technique for measuring the light scattered by a sample into a plurality of angles. It is used for determining both the absolute molar mass and the average size of molecules in solution, by detecting how they scatter light. A collimated beam from a laser source is most often used, in which case the technique can be referred to as multiangle laser light scattering (MALLS). The insertion of the word laser was intended to reassure those used to making light scattering measurements with conventional light sources, such as Hg-arc lamps that low-angle measurements could now be made. Until the advent of lasers and their associated fine beams of narrow width, the width of conventional light beams used to make such measurements prevented data collection at smaller scattering angles. In recent years, since all commercial light scattering instrumentation use laser sources, this need to mention the light source has been dropped and the term MALS is used throughout.

Codes for electromagnetic scattering by cylinders – this article list codes for electromagnetic scattering by a cylinder.

The Transition Matrix Method is a computational technique of light scattering by nonspherical particles originally formulated by Peter C. Waterman (1928–2012) in 1965. The technique is also known as null field method and extended boundary condition method (EBCM). In the method, matrix elements are obtained by matching boundary conditions for solutions of Maxwell equations. It has been greatly extended to incorporate diverse types of linear media occupying the region enclosing the scatterer. T-matrix method proves to be highly efficient and has been widely used in computing electromagnetic scattering of single and compound particles.

Atmospheric optics ray tracing codes - this article list codes for light scattering using ray-tracing technique to study atmospheric optics phenomena such as rainbows and halos. Such particles can be large raindrops or hexagonal ice crystals. Such codes are one of many approaches to calculations of light scattering by particles.

Atmospheric lidar is a class of instruments that uses laser light to study atmospheric properties from the ground up to the top of the atmosphere. Such instruments have been used to study, among other, atmospheric gases, aerosols, clouds, and temperature.

Rayleigh–Gans approximation, also known as Rayleigh–Gans–Debye approximation and Rayleigh–Gans–Born approximation, is an approximate solution to light scattering by optically soft particles. Optical softness implies that the relative refractive index of particle is close to that of the surrounding medium. The approximation holds for particles of arbitrary shape that are relatively small but can be larger than Rayleigh scattering limits.

<span class="mw-page-title-main">Surface equivalence principle</span>

In electromagnetism, surface equivalence principle or surface equivalence theorem relates an arbitrary current distribution within an imaginary closed surface with an equivalent source on the surface. It is also known as field equivalence principle, Huygens' equivalence principle or simply as the equivalence principle. Being a more rigorous reformulation of the Huygens–Fresnel principle, it is often used to simplify the analysis of radiating structures such as antennas.

In mathematics, Lentz's algorithm is an algorithm to evaluate continued fractions and compute tables of spherical Bessel functions.

Milton Kerker was an American physical chemist and former professor at department of chemistry at Clarkson University. He is best known for his work on aerosol, interface and colloid science, as well as for pioneering surface-enhanced Raman spectroscopy. Kerker effect in optics is named after him.

Akira Ishimaru is a Japanese-American electrical engineer and professor emeritus at Department of Electrical and Computer Engineering at University of Washington. He is best known for his contributions to the theory of wave scattering in random media.

References

  1. 1 2 3 4 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. Wriedt, T. (2009). "Light scattering theories and computer codes". Journal of Quantitative Spectroscopy and Radiative Transfer. 110 (11): 833–843. Bibcode:2009JQSRT.110..833W. doi:10.1016/j.jqsrt.2009.02.023. S2CID   33734719.
  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. Grainger, R.G.; Lucas, J.; Thomas, G.E.; Ewan, G. (2004). "The Calculation of Mie Derivatives". Appl. Opt. 43 (28): 5386–5393. Bibcode:2004ApOpt..43.5386G. doi:10.1364/AO.43.005386. PMID   15495430.
  7. Mackowski, D.W.; Altenkirch, R. A.; Menguc, M. P. (1990). "Internal absorption cross sections in a stratified sphere". Applied Optics. 29 (10): 1551–1559. Bibcode:1990ApOpt..29.1551M. doi:10.1364/ao.29.001551. PMID   20563039.
  8. Yang, W (2003). "Improved recursive algorithm for light scattering by a multilayered sphere". Applied Optics. 42 (9): 1710–1720. Bibcode:2003ApOpt..42.1710Y. doi:10.1364/ao.42.001710. PMID   12665102.
  9. 1 2 Toon, O. B.; Ackerman, T. P. (1981). "Algorithms for the calculation of scattering by stratified spheres". Applied Optics. 20 (20): 3657–3660. Bibcode:1981ApOpt..20.3657T. doi:10.1364/ao.20.003657. PMID   20372235.
  10. Liu, L.; Wang, H.; Yu, B.; Xua, Y.; Shen, J. (2007). "Improved algorithm of light scattering by a coated sphere". China Particuology. 5 (3): 230–236. doi:10.1016/j.cpart.2007.03.003.
  11. Toon, Owen B.; Ackerman, T. P. (15 October 1981). "Algorithms for the calculation of scattering by stratified spheres". Applied Optics. 20 (20): 3657. Bibcode:1981ApOpt..20.3657T. doi:10.1364/AO.20.003657.
  12. /http://www.ugr.es/~aquiran/ciencia/codigos/bart.f
  13. A Quirantes and A V Delgado, The scattering of light by a suspension of coated spherical particles: effects of polydispersity on cross sections, J. Phys. D: Appl. Phys. 30 (1997) 2123–2131.
  14. "||".
  15. Liu, L.; Wang, H.; Yu, B.; Xu, Y.; Shen, J. (2007). "Improved algorithm of light scattering by a coated sphere". China Particuology. 5 (3): 230–236. doi:10.1016/j.cpart.2007.03.003.
  16. O Pena and U Pal, Scattering of EM radiation by a multilayer sphere, Computer Physics Communications, 180, 2348-2354, 2009
  17. W Yang, Improved recursive algorithm for light scattering by a multilayered sphere, Applied Optics, Vol. 42, No. 9, 2003
  18. 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
  19. "Scatcodes".
  20. "A Generalized Multiparticle Mie code, especially suited for plasmonics: Gevero/py_gmm". GitHub . 2019-02-11.
  21. "CELES: CUDA-accelerated electromagnetic scattering by large ensembles of spheres: Disordered-photonics/celes". GitHub . 2019-02-14.
  22. "QPMS: Electromagnetic multiple scattering library and toolkit". QPMS. 2022.
  23. "SMUTHI: Scattering by multiple particles in thin-film systems". 2022-01-21.
  24. 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) DOI