0% found this document useful (0 votes)
11 views

Mie_Theory

This document provides a comprehensive overview of Mie theory, which is used to calculate the optical cross sections of spherical particles. It includes essential formulas and a Matlab code for practical application, aimed at simplifying the understanding of the theory. The author references key literature and offers a self-contained explanation of the necessary parameters and calculations involved.

Uploaded by

khaled safi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Mie_Theory

This document provides a comprehensive overview of Mie theory, which is used to calculate the optical cross sections of spherical particles. It includes essential formulas and a Matlab code for practical application, aimed at simplifying the understanding of the theory. The author references key literature and offers a self-contained explanation of the necessary parameters and calculations involved.

Uploaded by

khaled safi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Mie theory for metal nanoparticles

Guillaume Ba↵ou⇤
Chargé de recherche CNRS, Institut Fresnel, Université Aix-Marseille, France
(Dated: February 21, 2017)
In this work, I aim at giving a clear and self-sufficient description of Mie theory. This famous
theory is suited to compute accurately the optical cross sections of a spherical particle. One usually
needs to spend some time and read a couple of papers or books, fighting with the cgs and SI units,
before clearly understanding what the parameters mean and before making sure that one writes a
proper code. This document may help you saving some time. A Matlab code is also provided.
This work in now described in J. Phys. Chem. C 119, 28586–28596 (2015).

The reference document on this subject is the famous J⌫ and Y⌫ are the Bessel functions of first and second
textbook from Bohren and Hu↵man but the information order respectively. They are standard Matlab functions,
is not easy to extract.1 named respectively besselj and bessely. Note that
Consider a spherical particle of radius r0 , complex these functions are solutions of the Bessel di↵erential
electric permittivity " = n2 embedded in a dielectric equation:
medium of permittivity "m = n2m . This particle is il-
luminated by a plane wave of angular frequency ! = d2 y dy ⇥ 2 ⇤
2⇡ c/ 0 = k c/nm . x2 + 2x + x ⌫(⌫ + 1) y = 0
Let us define from now on a set of useful dimensionless dx2 dx
parameters:
m = n/nm while j and ⇠j are solutions of the following di↵erential
equation:
v = k r0
w = mv
d2 y ⇥ 2 ⇤
x2 + x j(j + 1) y = 0
dx2

In these conditions, the extinction, scattering and ab- j and ⇠j can be expressed as a sum of sines and cosines.
sorption cross sections are given by the formulae: For instance, the first terms read:
1
2⇡ X
ext = (2j + 1) Re(aj + bj ) (1) 0 (x) = sin(x)
k 2 j=1
1
⇠0 (x) = sin(x) i cos(x)
2⇡ X
sca = (2j + 1) (|aj |2 + |bj |2 ) (2) 1 (x) = sin(x)/x cos(x)
k 2 j=1 ⇠1 (x) = sin(x)/x i (cos(x)/x + sin(x))
abs = ext sca (3)
where In Eqs. (1) and (2), the sum over j can be restricted
0 0
to only a few terms, up to j = N . Bohren and Hu↵man1
m j (w) j (v) j (v) j (w) proposed the value N = v + 4 v 1/3 + 2.
aj = 0 0 (4)
m j (w) ⇠j (v) ⇠j (v) j (w) In Eqs. (4) and (5), the primes indicate di↵erentia-
0 0 tion with respect to the argument in parenthesis. The
j (w) j (v) m j (v) j (w)
bj = 0 0 (5) derivatives can be conveniently expressed as follows:
j (w) ⇠j (v) m ⇠j (v) j (w)

In these expressions, j and ⇠j are Ricatti–Bessel func- 0 j


tions defined as: j (x) = j 1 (x) j (x)
x
j
r ⇠j0 (x) = ⇠j 1 (x) ⇠j (x)
⇡x x
j (x) = J 1 (x)
2 j+ 2
r I wrote a Matlab code that can be found in the next
⇡x h i
⇠j (x) = Jj+ 12 (x) + i Yj+ 12 (x) page. Free to use. Enjoy.
2

⇤ 1
guillaume.ba↵[email protected] C. F. Bohren and D. R. Hu↵man, Absorption and scattering
of light by small particles (Wiley interscience, 1983)
%% SCATTERING BY A SPHERICAL GOLD NANOPARTICLE USING MIE THEORY
%% inputs

%n_m optical index of the medium


%lambda0 wavelength in nm
%r0 radius of the particle in nm
%N=5 maximum n-pole

function [Qext,Qsca,Qabs]=MieScattering2(lambda0,r0,n_m)

%% parameters

n_Au=indexRead(lambda0,'Au'); %any function that returns the optical index of gold


m=n_Au/n_m;
k=2*pi*n_m/lambda0;
x=k*r0;
z=m*x;
N=round(2+x+4*x^(1/3))

%% computation

j=(1:N);

sqr=sqrt(pi*x/2);
sqrm=sqrt(pi*z/2);

phi=sqr.*besselj(j+0.5,x);
xi=sqr.*(besselj(j+0.5,x)+i*bessely(j+0.5,x));
phim=sqrm.*besselj(j+0.5,z);
phi1=[sin(x), phi(1:N-1)];
phi1m=[sin(z), phim(1:N-1)];
y=sqr*bessely(j+0.5,x);
y1=[-cos(x), y(1:N-1)];

phip=(phi1-j/x.*phi);
phimp=(phi1m-j/z.*phim);
xip=(phi1+i*y1)-j/x.*(phi+i*y);
aj=(m*phim.*phip-phi.*phimp)./(m*phim.*xip-xi.*phimp);
bj=(phim.*phip-m*phi.*phimp)./(phim.*xip-m*xi.*phimp);

Qsca=sum( (2*j+1).*(abs(aj).*abs(aj)+abs(bj).*abs(bj)) );
Qext=sum( (2*j+1).*real(aj+bj) );

Qext=Qext*2*pi/(k*k);
Qsca=Qsca*2*pi/(k*k);
Qabs=Qext-Qsca;

You might also like