Professional Documents
Culture Documents
In this course we will use two different software packages to calculate electromagnetic
fields and responses associated with two and three-dimensional objects. This document
provides a brief introduction to common numerical methods used to solve Maxwells
equations, which are coupled partial differential equations. In Lecture 5, more information will be provided about each of these methods and the particular software programs
that we will use for solving certain homework problems related to guided waves (Lecture
10), plasmonics (Lecture 11), and scattering (Lecture 13).
Finite difference time domain method
The Finite difference time domain (FDTD) method solves the coupled Faradays and
Amp`ere-Maxwell laws in differential form over a grid-domain using Taylor expansions of
the derivatives
~
E
~ J,
~
=H
t
(1)
~
H
~
= E.
t
The FDTD method is a direct space method, first introduced by Yee in 19662 , and is now
widely used for solving electromagnetic problems. The principles and improvements to
this method have been reported extensively3 . It mainly consists on the resolution of the
discrete curl-Maxwells equations by iteration over the time. With a spatial discretization
x and a temporal discretization t, we obtain the standard recursion equations for
the electric and magnetic fields in a p-polarization:
t
Ex |ni,j+1 Ex |ni,j + Ey |ni,j Ey |ni+1,j ,
x
t
n+1/2
n+1/2
n
Ex |n+1
=
E
|
+
H
|
H
|
,
x i,j
z i,j
z i,j1
i,j
i,j x
t
n+1/2
n+1/2
n
Ey |n+1
=
E
|
+
H
|
H
|
,
y
z
z
i,j
i,j
i1,j
i,j1
i,j x
n+1/2
Hz |i,j
n1/2
= Hz |i,j
(2)
where and are the permittivity and permeability of the material, respectively, and
i is the permittivity at position x = ix, any field U at position x = ix and for the
instant t = nt being represented by U |ni . The upper limit for t is given by the current
time step tc = x
, where N is the dimension of the problem and c is the speed of light.
Nc
For lossy dielectric materials such as metals, a value of t [0.9tc : 0.95tc ] is generally
adequate.
1
The FDTD technique is well adapted for spectroscopic studies, provided that an accurate dielectric function is available over the frequency range of the study. For example,
Drudes model gives an acceptable description of the dispersion function for wavelengths
above approximately 600 nm for gold, due to multiple interband transitions below 600
nm4 . For spectroscopic studies of gold nanostructures in the wavelength range between
600 up to about 1000 nm, an additional Lorentzian term is needed in order to properly
describe the dispersion function, which is expressed as
() =
p2
2L
,
2
( + ip ) ( 2L ) + iL
(3)
where p is the plasma frequency and p is the damping coefficient for Drudes model, L
and L stand for the oscillator strength and the spectral width of the Lorentz oscillators,
respectively and can be interpreted as a weighting factor.
In this course, we will use a commercial FDTD code (FDTD Solutions, Lumerical,
Inc.) to simulate some common three-dimensional structures. Each student must install
Lumericals products and the License Manager on their personal computer. After installation, each student must enter the following activation code into the License Manager
Activation utility. For more information, see the following resources:
Product installation packages: https://www.lumerical.com/downloads/customer.html
Installation instructions: http://docs.lumerical.com/en/index.html?installationandsetup.html
Installation video: https://www.youtube.com/watch?v=vtwW9GNG6c
Installation and licensing technical support: install@lumerical.com
Application technical support: Contact the course technical liaison
Lumerical CUE course license:
Contact: Professor Edwin Carlen at CUE 2015: University of Tsukuba [LS-14993]
Product: FDTD Solutions Package, Quota: 1
Start date: Mar 25, 2015
End date: Aug 15, 2015
Activation code: See Professor Carlen for details
L. Le Thi Ngoc, et al., Plasmon-modulated photoluminescence from gold nanostructures and its dependence on plasmon resonance, excitation energy, and band structure. Opt. Express 23, 5547,
2015
E k 2 E
(4)
In FEM, the domain is divided into elements that are suited to the problem geometry
~ is approximated using a basis function
and are often tetrahedral. Within each element E
expansion,
n
X
~
~ j j ,
E=
A
(5)
j=1
(6)
where lj is length of edge j and the i are the simplex coordinates of node i (where nodes
i1 and i2 are the end-points of edge j). Higher order basis functions can be constructed
by multiplying this equation by Lagrange polynomials.
FEM is ideal for modeling irregular geometries as well as efficiently simulating large
domains containing fine details. The latter is accomplished by using small elements in
regions where material properties change abruptly and fields are expected to significantly
vary and large elements everywhere else. Because of this flexibility, problems that typically require multiple CPUs to solve by other methods can be solved using FEM on a
single machine. We will not use the FEM to solve Maxwells equations in this course.
J. Zhao, et al., Methods for describing the electromagnetic properties of silver and gold nanoparticles,
Acc. Chem. Res.41,1710-1720, 2008
6
J. Jin, The Finite Element Method in Electromagnetics, 2nd ed.; Wiley: New York, 2002.
(7)
where ri is the location of each cubic element of the divided cluster and Eloc is the sum
of the contributions from the incident field and all other dipoles
X
Eloc (ri ) = Eloc,i = Einc,i + Edipole,i = E0 eikri
Aij Pj ,
(8)
i6=j
where E0 is the amplitude of the incident wave, and Aij Pj is the interaction matrix, which is used to calculate Eloc for all dipoles relative to each other using a radial
dependence and is calculated using
"
#
1
ikr
eikrij
ij
2
2
Aij Pj = 3
k 2 rij
Pj +
rij
Pj 3rij (rij Pj ) .
(9)
2
rij
rij
For an N dipole system, a 3N -dimensional vector describing the polarization of all N
dipoles in the cartesian coordinate system (x, y, z). Once the polarization P is calculated,
the extinction and absorption scattering cross-sections are calculated
N
4k X
Cext =
(Einc,i ),
|E0 |2
i=1
N
4k X
2 3
Pi Pi
2
Cabs =
Im
k |Pi | .
|E0 |2
i
3
(10)
i=1
such that |m|kd < 0.5, where m = n + i k (|m| = n2 + k 2 ). The dipole separation is
determined with
1/3
V
d=
,
(11)
N
where V is the volume of the particle. An effective radius is used based on a spherical
model, thus
3V 3
aef f =
.
(12)
4
Another constraint is that the overall size of the target must be small compared to the
wavelength of incident light, which ensures that the quasi-static approximation holds
and only dipolar modes are excited, which is subject to the inequality
aef f
< 9.88
|m|
N
106
1/3
.
(13)
Cabs
,
a2ef f
Qsca =
Csca
,
a2ef f
(14)
B. T. Draine and P. J. Flatau, User guide for the discrete dipole approximation code DDSCAT 7.3, 29
May 2013.
|m|
106
N 1/3
.
aef f < 9.88
|m| 106
(15)
The next most important step is the position the particle in the Lab Frame (LF), which
means the Target Frame (TF) is to aligned to the LF. The coordinated and angles of the
LF are shown in Figure 1. Orientation of the target relative to the incident radiation
is done by specifying the direction of a
1 and a
2 in the LF using angles , , and ,
which are specified in the file ddscat.par. The target is oriented such that the polar
angles and specify the direction of a
1 relative to the incident direction x
LF , where
the x
LF , yLF plane has = 0. Once the direction of a
1 is specified, the angle then
specifies how the target is to rotated around the axis a
1 to fully specify its orientation.
is the angle between a
1 and x
LF . When = 1, a
1 will lie in the x
LF , yLF plane.
When is nonzero, it will refer to the rotation of a
1 around x
LF ; e.g. , = 90o puts a
1
in the x
LF , zLF plane. When = 0, a
2 will lie in the x
LF , a
1 plane, in such a way that
when = 0 and = 0, a
2 is in the yLF direction; e.g., = 90o , = 0, and = 0 has
a
1 = yLF and a
2 =
xLF . Nonzero introduces an additional rotation of a
2 around
a
1 ; e.g., = 0o , = 0, and = 90o has a
1 = yLF and a
2 = zLF . The coordinate
transformations are as follows
a
1 = x
LF cos + yLF sin cos + zLF sin sin
(16)
a
2 =
xLF sin cos + yLF [cos cos sin sin ] +
(17)
(18)
a
3 = x
LF sin sin yLF [cos sin cos + cos sin ]
(19)
(20)
The relevant information can be added to the configuration file (ddscat.par). Additionally, refractive index for your material over the wavelength range of your simulation
is required. The extinction, absorption, and scattering efficiencies are listed as a function
of wavelength in the generation file: qtable. Check the DDSCAT User Guide for more
detailed information.
6
19
TARGET ORIENTATION
35
Figure 7: Target orientation in the Lab Frame. x = x LF is the direction of propagation of the incident radiation, and y = y LF
is the direction of the real component (at xLF = 0, t = 0) of the first incident polarization mode. In this coordinate system, the
2 is then
1 is specified by angles and . With target axis a
1 fixed, the orientation of target axis a
orientation of target axis a
1 . When = 0, a
2 lies in the a
1 ,
determined by angle specifying rotation of the target around a
xLF plane.
Downloading and installing DDSCAT 7.3 is very easy, and is available for Unix/Linux,
MACOSX, and Windows operating systems. Since most students the Windows operat19.1
Orientation
Target
in the Lab
Frame
ing system, the
simplest
wayoftothe
get
DDSCAT
7.3
is download a self-extracting executable
1 and a
for
DDSCAT
uses
three
angles,
,
,
and
,
to
specify
the
directions
of unit
vectors a
LF
which includes a pre-compiled, ready-to-run, DDSCAT
executable
Microsoft
Win2 in the
(see Fig. 7).
dows (on http://code.google.com/p/ddscat/).
The
advantage
is
that
the
user
avoids
1 and x
LF .
is the angle between a
1 will lie in thestep,
LF , y
LF
1
When =
0, a
x
plane.has
Whenimmediate
is nonzero, it will
refer to the
of a
the possibly difficult
compilation
and
access
torotation
DDSCAT.
This will
LF : e.g., = 90 puts a
1 in the x
LF , z
LF plane.
around x
install a Windows
well
as source
2 executable
LF ,ddscat.exe
1 plane, in such as
2documentation,
Whennative
= 0, a
will lie in the x
a
a way
that when
= 0 and code,
= 0, a
is in
LF direction: e.g, = 90 , = 0, = 0 has a
1 = y
LF and a
2 = x
LF . Nonzero introduces
the y
and relevant test
examples.
This
is
by
far
the
the
simplest
way
to
get
DDSCAT
running
2 around a
1 : e.g., = 90 , = 0, = 90 has a
1 = y
LF and a
2 = z
LF .
an additional rotation of a
on a Windows system.
However, we provide only single precision version without optiMathematically:
mization. The executable
the
which
1 should
LF cosbe
LF sin cos using
LF sin
a
= x
+executed
y
+z
sinwindows cmd command
(29)
2 =
One
LF [cos
a
x
cos +has
y
cos cos directory
sin sin ] to where DDSCAT is
opens a separate shell window.
to change
LF sin then
zLF [cos cos sin + sin cos ]
(30)
placed, and execute DDSCAT+invoking
ddscat.exe.
3
a
LF sin sin
LF [cos sin cos
x
y
LF [cos sin sin
z
cos cos ]
+ cos sin ]
(31)