View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Sphere scattering

5.0 | 5 ratings Rate this file 28 Downloads (last 30 days) File Size: 32.4 KB File ID: #31119 Version: 1.2
image thumbnail

Sphere scattering



19 Apr 2011 (Updated )

Solutions to the plane wave scattered by a dielectric sphere and a multi-layer sphere.

| Watch this File

File Information

Certain electromagnetic scattering problems have analytical solutions. In the spherical coordinate, the solutions are expressed in the series form of the products of the Riccati-Bessel functions, associative Legendre polynomials, and exponential functions. This package contains the code that implements the field solutions as

a) a planewave is scattered by a dielectric sphere,
b) a planewave is scattered by a multi-layer concentric sphere.

The solutions are acquired through the formulation of the radial component of the magnetic and vector potentials [Harrington]. The scattering problem of a homogenous dielectric sphere is on pp. 297 of [Harrington]. The solutions to the the scattering problem of a multi-layer sphere is acquired similarly by solving a linear system for the field coefficients, which is constructed from the boundary conditions. A discussion how to solve this problem is available in [Chew]. There are also wealthy amount of works on acquiring the coefficients of the scattered fields to calculate the scattered and absorbed power of absorbing multi-layer spheres. See [Pena] and the reference there in.

The following scripts demonstrate the use of this package:

plotSphereRCS.m (radar cross-section of a conducting sphere and a dielectric sphere [Djordjevic])



This code provides the visualization of the exact field both inside and outside the sphere. It may also serve to verify the implementations of the numerical methods to solve the Maxwell equations in 3D, such as the finite-difference and finite-element method.


[Chew] W. C. Chew, Waves and Fields in Inhomogeneous Media. Piscataway, NJ: IEEE Press, 1995.

[Djordjevic] M. Djordjevic and B. M. Notaros, "Double higher order method of moments for surface integral equation model of metallic and dielectric antennas and scatterers," IEEE Journal on Antennas and Propagation, vol. 52, no. 8, pp. 2118-2129, 2004.

[Harrington] R. F. Harrington, Time-Harmonic Electromagnetic Fields. Piscataway, NJ: IEEE Press, 2001.

[Pena] O. Pena and U. Pal, “Scattering of electromagnetic radiation by a multilayered sphere,” Computer Physics Communications , vol. 180, no. 11, pp. 2348-2354, 2009.

MATLAB release MATLAB 7.10 (R2010a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (10)
12 Apr 2016 hapseeker

11 Mar 2016 Yael GV

how does I define a metalic layer?

Comment only
26 Nov 2015 Claudio

Dear Kevin

plotSphereRCS.m doesn't work. It gives an error when using besselj.


Comment only
29 Apr 2015 Chen tongjie

27 Apr 2015 Zhaoyi

Zhaoyi (view profile)

Thank you very much for your excellent job. I'm just interested if you have considered multiple scattering rather than single scattering.

Thanks again.

06 Feb 2015 Tao

Tao (view profile)

it can not run

Comment only
03 Dec 2012 Simone Winkler

16 Jul 2011 G. Kevin Zhu

I am glad to know that. You cannot directly get the scattering coefficients without digging through the code more in depth. The coefficients are labeled as b_n, c_n in getDielectricSphereFieldUnderPlaneWave.m

This code is primarily written for visualization, but not for further post-processing. A word of caution is that you need to make sure that these coefficients are normalized properly if you want to calculate the scattering efficiency.

The reference [Pena2009] is a good place for this kind of calculation.

Comment only
15 Jul 2011 Masoud Rostami

15 Jul 2011 Masoud Rostami

This file was really useful for me. Thanks a lot. I also need scattering coefficients. I do not know how I can have scattering coefficients from this file.

Comment only
04 Feb 2012 1.2

Minor update to replace the function cart2sph.m by cartToSph.m to avoid overloading the Matlab native cart2sph.m function.

Contact us