Codes for electromagnetic scattering by spheres
Encyclopedia
Codes for electromagnetic scattering by spheres - this article list codes for electromagnetic scattering by a homogeneous sphere, layered sphere, and cluster of spheres. Some of the source codes may be available on http://code.google.com/p/scatterlib/.

Solution techniques

Majority of existing codes for calculaton of electromagnetic scattering by a single sphere is based on Mie theory
Mie theory
The Mie solution to Maxwell's equations describes the scattering of electromagnetic radiation by a sphere...

 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
Ray tracing
In computer graphics, ray tracing is a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters with virtual objects. The technique is capable of producing a very high degree of visual realism, usually higher than...

 (geometrical optics
Geometrical optics
Geometrical optics, or ray optics, describes light propagation in terms of "rays". The "ray" in geometric optics is an abstraction, or "instrument", which can be used to approximately model how light will propagate. Light rays are defined to propagate in a rectilinear path as far as they travel in...

), ray tracing including the effects of interference between rays, Airy theory, Rayleigh scattering
Rayleigh scattering
Rayleigh scattering, named after the British physicist Lord Rayleigh, is the elastic scattering of light or other electromagnetic radiation by particles much smaller than the wavelength of the light. The particles may be individual atoms or molecules. It can occur when light travels through...

, 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
Discrete dipole approximation
The discrete 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...

, 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

Year Name Authors References Language Short Description
1983 BHMIE Craig F. Bohren and Donald R. Huffman
Fortran IDLMatlab C Python
"Mie solutions" (infinite series) to scattering, absorption and phase function of electromagnetic waves by a homogeneous sphere.
2002 MiePlot Philip Laven Visual Basic MiePlot 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 a number of 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 IDL The 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. 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
IDL
- General :* International Date Line, the time zone date boundary* Intermediate density lipoprotein* John F. Kennedy International Airport, from when it was named "Idlewild Airport" * International Drivers License...

, 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

Year Name Authors References Language Short Description
1981 DMILAY Owen B. Toon and T. P. Ackerman Fortran Scattering by a stratified sphere (a particle with a spherical core surrounded by a spherical shell.
1983 BHCOAT Craig F. Bohren and Donald R. Huffman Fortran "Mie solutions" (infinite series) to scattering, absorption and phase function of electromagnetic waves by a homogeneous concentring shells.
1993 IFCS, LSCCS Thomas Kaiser and G. Schweiger Fortran Computes an internal field inside a coated sphere and the scattered field of a sphere with 0, 1 or 2 coatings.
1997 BART A. Quirantes Fortran Based on the Aden–Kerker theory to calculate light-scattering properties for coated spherical particles
2004 M. Jonasz GUI/Windows This 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.
2007 L. Liu, H. Wang, B. Yu, Y. Xu, J. Shen C Light scattering by a coated sphere (extinction efficiency, scattering efficiency, light scattering intensity)


Codes for electromagnetic scattering by cluster of spheres

Year Name Authors References Language Short Description
1998-2003 GMM Yu-lin Xu and Bo A. S. Gustafson Fortran Codes which calculate exactly electromagnetic scattering by an aggregate of spheres in a single orientation or at an average over individual orientations.

Relevant scattering codes

  • Discrete dipole approximation codes
    Discrete dipole approximation codes
    This article contains list of discrete dipole approximation codes and their applications.The discrete dipole approximation is a flexible technique for computing scattering and absorption by targets of arbitrary geometry. Given a target of arbitrary geometry, one seeks to calculate its scattering...

  • Codes for electromagnetic scattering by cylinders
    Codes for electromagnetic scattering by cylinders
    Codes for electromagnetic scattering by cylinders - this article list codes for electromagnetic scattering by a cylinder. Some of the source codes may be available on ....


Links

  • Scatterlib - Google Code
    Google Code
    Google Code is Google's site for developer tools, APIs and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products....

     repository of light scattering codes

See also

  • Computational electromagnetics
    Computational electromagnetics
    Computational electromagnetics, computational electrodynamics or electromagnetic modeling is the process of modeling the interaction of electromagnetic fields with physical objects and the environment....

  • Light scattering by particles
    Light scattering by particles
    Light scattering by particles is the process by which small particles such as ice crystals, dust, planetary dust, and blood cells cause observable phenomena such as rainbows, the color of the sky, and halos....

  • List of atmospheric radiative transfer codes
  • Optical properties of water and ice
    Optical properties of water and ice
    The refractive index of water at 20°C is 1.332986. The refractive index of normal ice is 1.31. In general, an index of refraction is a complex number with both a real and imaginary part, where the latter indicates the strength of absorption loss at a particular wavelength...

  • Mie theory
    Mie theory
    The Mie solution to Maxwell's equations describes the scattering of electromagnetic radiation by a sphere...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK