Numerical Electromagnetics The FDTD Method
Numerical Electromagnetics The FDTD Method
Numerical Electromagnetics
The FDTD Method
Beginning with the development of Finite Difference Equations, and leading to the
complete FDTD algorithm, this is a coherent introduction to the FDTD method (the
method of choice for modeling Maxwell’s equations). It provides students and profes-
sional engineers with everything they need to know to begin writing FDTD simulations
from scratch and to develop a thorough understanding of the inner workings of commer-
cial FDTD software. Stability, numerical dispersion, sources, and boundary conditions
are all discussed in detail, as are dispersive and anisotropic materials. A comparative
introduction of the finite volume and finite element methods is also provided. All con-
cepts are introduced from first principles, so no prior modeling experience is required,
and they are made easier to understand through numerous illustrative examples and the
inclusion of both intuitive explanations and mathematical derivations.
This book is what has been needed to teach in a systematic fashion the theoretical
developments and numerical implementations of one of the most powerful numerical
techniques in computational electromagnetic with vast applications in a variety of disci-
plines. The authors have elegantly and masterfully presented the FDTD method from the
Maxwell’s equations with sufficient rigor to make the book very reachable by students
and practicing researchers.
Yahya Rahmat-Samii, Distinguished Professor,
University of California at Los Angeles
Numerical Electromagnetics
The FDTD Method
UMRAN S. INAN
Stanford University∗
ROBERT A. MARSHALL
Boston University
www.cambridge.org
Information on this title: www.cambridge.org/9780521190695
⃝
C Cambridge University Press 2011
A catalog record for this publication is available from the British Library
To my brother Pete.
RM
Contents
1 Introduction 1
1.1 Why FDTD? 1
1.2 Other methods 2
1.2.1 Finite volume time domain 2
1.2.2 Finite difference frequency domain 3
1.2.3 Finite element methods 4
1.2.4 Spectral methods 5
1.3 Organization 5
References 6
Index 385
Preface
encourage the students to modify the basic codes outlined in the problems in order to
explore problems of interest to them.
Acknowledgments
The material presented in this book was initially put together as class notes for the
EE256 Numerical Electromagnetics course, newly introduced and taught by one of us
(USI) at Stanford University in the spring quarter of 1999. The course was then taught
regularly every other year, for graduate students from Electrical Engineering, Applied
Physics, and Physics. Then Ph.D. student Dr. Michael Chevalier served as the Teaching
Assistant (TA) for the course in the spring of 1999, 2001, and 2003, while the other one
of us (RAM) served as TA in the spring of 2005 and 2007 and also taught the course in
the summer of 2008. Ph.D. student Forrest Foust served as the TA in spring 2009, when
the course was taught for the last time by one of us (USI). The original set of course
notes from 1999 significantly improved over the years, with the help of the TAs cited
above, and by the feedback, comments, and suggestions of the many students who took
the course. We would like to extend our sincere gratitude especially to Forrest Foust,
who put in countless hours of proofreading on short notice and made many valuable
suggestions. Sarah Matthews, Julie Lancashire, and Emma Walker at Cambridge were
extraordinarily helpful and patient during the development of this text. Finally, both of
us want to acknowledge our families for their patience and encouragement during the
process.
With the continued growth of computing power, modeling and numerical simulation has
grown immensely as a tool for understanding and analyzing just about any problem in
science. Where in the mid-twentieth century, detailed analyses were required to get any
meaningful insight out of complex problems, today we can simply plug the governing
differential equations into a computer, the results of which can provide an immense
amount of information, which is of course complementary to theoretical analyses. The
growth of computing power has brought with it a smorgasbord of modeling methods,
applicable in any number of fields. The problem, then, is knowing when to use which
method.
In electromagnetic problems, which are of interest to us in this book, there are quite a
number of useful numerical methods, including the Method of Moments, Finite Volume
methods, Finite Element methods, and Spectral methods, just to name a few. The FDTD
method, however, grew to become the method of choice in the 1990s, for a number
of reasons. First, it has always had the advantage of being a very simple method; we
shall see in Chapter 3 that the derivation of difference equations is very straightforward.
However, before the 1990s, the FDTD method was hindered by the need to discretize
the simulation space on sub-wavelength scales, with time steps commensurately small.
Hence, any reasonable problem would require a large amount of computer memory and
time. Since the 1990s, however, with the growth of computing power, the FDTD method
has taken off.
As an example, a typical 3D problem would require, at minimum, 100 grid cells
in each dimension, or 106 grid cells total. With a minimum of six fields to compute
(three components each of the electric field ! and magnetic field "), and 2 bytes per
value (for 16-bit resolution), we require 12 MB of memory. As for computation time, our
simulation might require 1,000 time steps. Each of six equations will have four additions
and two multiplications (at minimum, for the free-space algorithm in Chapter 4) at each
of the 1 million grid cells, for ∼36 billion operations over the time of our simulation. In
1990, 12 MB of memory and 36 billion operations was a significant calculation; today,
you could quite easily run this simulation on your mobile phone.1
1 More accurately, this simulation used 48 MB on a desktop PC running Matlab, since it stored the arrays at
8-byte doubles; and it ran 1,000 time steps in under 5 minutes.
2 Introduction
FDTD method is easily understandable and directly follows from the differential form
of Maxwell’s equations. The stability and dispersion characteristics of the method also
! Explicit nature. In the traditional explicit FDTD method, no linear algebra or matrix
follow from a simple, intuitive understanding of the updating procedure.
inversions are required, and as such there is no inherent limit to the size of a simulation;
computer time is the only limitation.
! Computational time. In the FDTD method, the time step at which we advance the
suited to these complex geometries.
solution is limited by the spatial size, and cannot be larger than a certain maximum
size, as we will derive in Chapter 5. For simulations with large spaces or multiple
scales (largely varying wavelengths), this means the simulation must be run for a very
long time. Other methods can often be better at dealing with multiscale problems.
This book covers the FDTD method in detail, with little coverage of other methods.
As mentioned above, this is due to the increasing prevalence of the FDTD method
in electromagnetic problems. However, any good engineer or scientist should have a
good understanding of other available methods, and should develop knowledge of the
appropriate conditions under which different methods are used. Here we provide a brief
mention of some other methods commonly used in electromagnetic problems.
is formulated. We will see in Chapter 15 that FDTD methods can be developed around
irregular grids; however, the FVTD method is another way of working around irregular
structures.
In short, the FVTD method defines the fields ! and " in small volumes of space,
rather than at the nodes of grid cells as in the FDTD method. These small volumes
can be arbitrarily defined, but are typically taken to be tetrahedra in 3D or triangles in
2D. These shapes simplify the resulting equations and can be designed around curved
and complex structures quite well. The FVTD method then uses the integral forms of
Maxwell’s equations to conserve the field quantities. For example, in a small volume Ve
with surface area Ae , any change in the electric or magnetic flux inside the volume from
one time step to the next must be balanced by the flux moving across the boundary area
Ae , which moves into (or out of) the adjacent cells.
An introduction to the Finite Volume method for electromagnetics is provided in
the book by S. Rao [3], and we will introduce it in some detail in Chapter 15. The
method has the obvious advantage that irregular structures can be modeled quite easily.
The simulation time is typically very similar to the FDTD method. Disadvantages
include the need to create and define an irregular grid of tetrahedral cells, which is quite
cumbersome outside of commercial software.
vary with frequency in a way that cannot be easily modeled in FDTD. In Chapter 10 we
will discuss modeling of dispersive materials in the FDTD method, where methods have
been derived for some typical dispersion characteristics.
2 The same Courant for whom the Courant-Friedrichs-Lewy (CFL) condition in FDTD is named.
1.3 Organization 5
1.3 Organization
This book is intended to be used as a teaching tool, and has thus been written in the
order that we feel is most appropriate for a one-semester course on the FDTD method.
The book can be thought of as loosely organized into three sections.
Chapters 2 to 6 introduce the basics required to create, and understand, a simple
FDTD problem. Chapter 2 provides a review of Maxwell’s equations and the elements
6 Introduction
of electromagnetic theory that are essential to understanding the FDTD method, and
numerical electromagnetics in general. Chapter 3 describes the methods by which par-
tial differential equations (PDEs) are discretized and transformed into finite difference
equations (FDEs). The Yee cell and the FDTD algorithm are introduced in Chapter 4, in
one, two, and three dimensions, as well as in other coordinate systems and in lossy mater-
ials. The stability and accuracy of the FDTD method are discussed in Chapters 5 and
6, respectively. An understanding of the accuracy of an FDTD simulation is extremely
crucial; too often modelers simply run a simulation for stability, and ignore the loss of
accuracy that comes with many of the inherent assumptions.
Chapters 7 to 11 provide the next level of understanding required for FDTD simula-
tions. Chapter 7 describes methods by which sources are introduced into the simulation,
including the total-field / scattered-field formulation. Chapter 8 introduces some ana-
lytical boundary conditions, used to absorb fields at the edge of the simulation space.
While these methods are introduced partially for historical and mathematical interest,
in many cases they are still the best choice in certain scenarios. The perfectly matched
layer (PML) boundary condition is discussed in Chapter 9; the PML is the state of the art
in absorbing boundary conditions. Chapter 10 describes methods for simulating wave
propagation in dispersive (frequency-dependent) materials, and Chapter 11 describes
the FDTD method in anisotropic materials, including materials that are both dispersive
and anisotropic.
Chapters 12 to 15 introduce some more advanced topics. We have chosen topics that
should be of interest to the general audience, rather than choosing particular applica-
tions. Chapter 12 describes a variety of topics, including modeling periodic structures;
modeling structures that are smaller than the grid cell size; the bodies of revolution
(BOR) method for modeling cylindrical structures; and the near-to-far field trans-
formation for calculating the far-field pattern of a scattering or radiation problem.
Chapter 13 introduces implicit FDTD methods, which circumvent the stability
restriction of the classic explicit method. The finite difference frequency domain
method, mentioned briefly above, is introduced in some detail in Chapter 14. Finally,
Chapter 15 provides an overview of nonuniform, nonorthogonal, and irregular grids,
which can be used to improve accuracy and efficiency near complex structures, as well
as brief introductions to the finite volume, finite element, and discontinuous Galerkin
methods for electromagnetics.
References
[1] V. Shankar and W. F. Hall, “A time domain differential solver for electromagnetic scattering,”
in URSI National Meeting, Boulder, CO, 1988.
[2] N. K. Madsen and R. W. Ziolkowski, “Numerical solutions of Maxwell’s equations in the time
domain using irregular nonorthogonal grids,” Waves Motion, vol. 10, pp. 538–596, 1988.
[3] S. M. Rao, ed., Time Domain Electromagnetics. Academic Press, 1999.
[4] G. Pelosi, “The finite-element method, part i: R. I. Courant,” IEEE Antennas and Propagation
Magazine, vol. 49, pp. 180–182, 2007.
References 7
[5] Q. H. Liu, “The PSTD algorithm: A time-domain method requiring only two cells per wave-
length,” Microwave Opt. Technol. Lett., vol. 15, pp. 158–165, 1997.
[6] O. H. Liu, “Large-scale simulations of electromagnetic and acoustic measurements using the
pseudospectral time-domain (PSTD) algorithm,” IEEE Micro. Guided Wave Lett., vol. 37,
pp. 917–926, 1999.
[7] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
[8] J. S. Hesthaven, S. Gottlieb, and D. Gottlieb, Spectral Methods for Time-Dependent Problems.
Cambridge University Press, 2007.
2 Review of electromagnetic theory
1 For an excellent account with passages quoted from Maxwell’s papers, see [1, Ch. 5].
2 For a collected English translation of this and other papers by H. Hertz, see [5].
3 The English translation of [6] is remarkably readable and is available in a collection of original papers [7].
4 Maxwell’s formulation was in fact one of the major motivating factors which led to the development of
the theory of special relativity. The fact that Galilean relativity was consistent with classical mechanics but
inconsistent with electromagnetic theory suggested either that Maxwell’s equations were incorrect or that
the laws of mechanics needed to be modified. For discussions of the relationship between electromagnetism
and the special theory of relativity, see [8, Sec. 15]; [9, Ch. 10]; [1, Ch. 2]; [10, Ch. 11].
Review of electromagnetic theory 9
1. Faraday’s law is based on the experimental fact that time-changing magnetic flux
induces electromotive force:
! "
∂# ∂#
! · dl = − · ds ∇ ×!=− , (2.1)
C S ∂t ∂t
where the contour C is that which encloses the surface S, and where the sense of the
line integration over the contour C (i.e., direction of dl) must be consistent with the
direction of the surface vector ds in accordance with the right-hand rule.
2. Gauss’s law is a mathematical expression of the experimental fact that electric charges
attract or repel one another with a force inversely proportional to the square of the
distance between them (i.e., Coulomb’s law):
! "
$ · ds = ρ̃ dv ∇ · $ = ρ̃, (2.2)
S V
where the surface S encloses the volume V . The volume charge density is represented
with ρ̃ to distinguish it from its phasor form ρ used in the time-harmonic version of
Maxwell’s equations.
3. Maxwell’s third equation is a generalization of Ampère’s law, which states that the
line integral of the magnetic field over any closed contour must equal the total current
5 Numerous books on fundamental electromagnetics have extensive discussion of Coulomb’s law, Ampère’s
law, Faraday’s law, and Maxwell’s equations. For a recent reference that provides a physical and experimen-
tally based point of view, see [3, Ch. 4–7].
10 Review of electromagnetic theory
where the surface S encloses the volume V . This equation can actually be derived
[3, Sec. 6.5–6.7] from the Biot-Savart law, so it is not completely independent.6
6 Note that Equation (2.4) can be derived from Equation (2.1) by taking the divergence of the latter and using
the vector identity of ∇ · (∇ × &) ≡ 0, which is true for any vector &. We find
# $
∂# ∂(∇ · #)
∇ · (∇ × !) = −∇ · → 0=− → const. = ∇ · #
∂t ∂t
The constant can then be shown to be zero by the following argument. If we suppose that the # field was
produced a finite time ago, i.e., it has not always existed, then, if we go back far enough in time, we have
# = 0 and therefore ∇ · # = 0. Hence it would appear that
!
∇ · # = 0 and # · ds = 0
S
2.1 Constitutive relations and material properties 11
theorem, both of which are valid for any arbitrary vector field &. Stokes’s theorem states
that the flux of the curl of a field & through the surface S is equal to the line integral
of the field along the closed contour C enclosing S:
! "
& · dl = (∇ × &) · ds (Stokes’s theorem), (2.6)
C S
where, as stated, the contour C encloses the surface S. The divergence theorem states
that the divergence of a field &, over the volume V , is equal to the flux of that field across
the surface S:
! "
& · ds = (∇ · &) dv (Divergence theorem), (2.7)
S V
The “constitutive relations” relate the electric field intensity ! to the electric flux density
$, and similarly the magnetic field intensity # to the magnetic flux density ":
$ = ϵ̃ !
# = µ̃ ".
These two constitutive relations (the latter of which is more properly expressed as
" = µ̃−1 # since, in the magnetostatic case, " is the medium-independent quantity [3,
Sec. 6.2.3, 6.8.2, footnote 71]) govern the manner by which the electric and magnetic
fields, ! and #, are related to the medium-independent quantities, $ and ", in material
media, where, in general, the permittivity ϵ̃ ̸= ϵ0 and the permeability µ̃ ̸= µ0 . The
electrical current density % is in general given by % = %i + %c , where %i represents the
externally impressed source currents, while %c = σ̃ ! represents the conduction current
which flows in electrically conducting media (with conductivity σ̃ ̸= 0) whenever there
is an electric field present in the material. The volume charge density ρ̃ represents the
sources from which electric fields originate.
Note that the permittivity ϵ̃, the permeability µ̃, and the conductivity σ̃ are macro-
scopic parameters that describe the relationships among macroscopic field quantities,
but they are based on the microscopic behavior of the atoms and molecules in response
to the fields. These parameters are simple constants only for simple material media,
which are linear, homogeneous, time-invariant, and isotropic. Otherwise, for complex
material media that are nonlinear, inhomogeneous, time-variant, and/or anisotropic, ϵ̃,
µ̃, and σ̃ may depend on the magnitudes of ! and # (nonlinear), on spatial coordinates
(x, y, z) (inhomogeneous), on frequency (dispersive), on time (time-variant), or on the
orientations of ! and " (anisotropic). For anisotropic media, ϵ̃, µ̃, and σ̃ are generally
expressed as matrices (i.e., as tensors) whose entries relate each component (e.g., the x, y,
or z components) of ! (or ") to the other three components (e.g., x, y, and z components)
of $ or % (or #); for example, while in free space $x = ϵ0 !x , in an isotropic medium
12 Review of electromagnetic theory
there may be cross terms such as $x = ϵ̃x,z !z . In ferromagnetic materials, the magnetic
field # is determined by the past history of the field " rather than by its instantaneous
value; as such the medium is time-variant. Such substances are said to exhibit hysteresis.
Some hysteresis effects can also be seen in certain dielectric materials.
It is possible to eliminate the vectors $ and " from Maxwell’s equations by substi-
tuting for them as follows:
#
"= − (, (2.9)
µ0
∂#
∇ ×!=− (2.10a)
∂t
1
∇ ·!= (ρ̃ − ∇ · ') (2.10b)
ϵ̃
% &
∂! ∂'
∇ × # = ϵ̃ µ̃ + µ̃ % + +∇ ×( (2.10c)
∂t ∂t
∇ · # = 0. (2.10d)
The preceding equations are completely general, but are expressed in a way that
stresses the contributions of the medium. Note that the presence of matter has the effect
of adding the bound volume charge density −∇ · ', the polarization current density
∂'/∂t, and the equivalent volume magnetization current density ∇ × (. Note that ρ̃ is
free charge density, while the electrical current density % could be a source current %i
and/or an electrical conduction current given by %c = σ̃ !.
One of the important features of the FDTD method (as compared to other techniques)
that we shall study in this book is the ease with which it can be applied to numerical
solution of electromagnetic problems involving propagation or scattering in media that
are not simple, i.e., that may be inhomogeneous, dispersive, anisotropic, and/or nonlinear
media. For inhomogeneous materials, the constitutive relations are valid at each point
and at all times, i.e.,
In this case, it is simply necessary to specify the medium parameters ϵ̃(r, t), µ̃(r, t),
and σ̃ (r, t) separately at each of the grid points in the FDTD solution space, so that the
2.2 Time-harmonic Maxwell’s equations 13
where χ̃e (r, t) is the electric susceptibility, i.e., the inverse Fourier transform of χe (ω).
The quantity ϵ∞ is the relative permittivity at the upper end of the frequency band
considered in the particular application. Note that the particular frequency dependence
of χe (and thus of ϵ) is dependent upon the particular material properties. We will explore
the details of FDTD simulations of anisotropic and dispersive materials in Chapters 10
and 11; we will not deal explicitly with nonlinear materials in this book.
While the FDTD algorithm uses Maxwell’s equations in their time domain form, as
shown above, there are occasions when understanding of the time-harmonic (i.e., fre-
quency domain) versions of these equations is useful. For example, numerous practical
applications (e.g., broadcast radio and TV, radar, optical, and microwave applications)
involve transmitting sources that operate in such a narrow band of frequencies that the
behavior of all the field components is very similar to that of the central single-frequency
sinusoid (i.e., the carrier).7 Most generators also produce sinusoidal voltages and cur-
rents, and hence electric and magnetic fields that vary sinusoidally with time. In many
applications, the transients involved at the time the signal is switched on (or off) are not
of concern, so the steady-state sinusoidal approximation is most suitable. For example,
for an AM broadcast station operating at a carrier frequency of 1 MHz, any turn-on
transients would last only a few µs and are of little consequence to the practical applica-
tion. For all practical purposes, the signal propagating from the transmitting antenna to
the receivers can be treated as a sinusoid, with its amplitude modulated within a narrow
bandwidth (e.g., ±5 kHz) around the carrier frequency. Since the characteristics of the
propagation medium do not vary significantly over this bandwidth, we can describe the
propagation behavior of the AM broadcast signal by studying a single sinusoidal carrier
at a frequency of 1 MHz.
7 In many of these cases, the astute engineer would find it more practical to use finite difference frequency
domain (FDFD) approaches, which we will introduce in Chapter 14.
14 Review of electromagnetic theory
∂#
∇ ×!=− ∇ × E = − jωB (2.13a)
∂t
∇ · $ = ρ̃ ∇ ·D=ρ (2.13b)
∂$
∇ ×"=%+ ∇ × H = J + jωD (2.13c)
∂t
∇ ·#=0 ∇ · B = 0. (2.13d)
Note that in Equations (2.13a)–(2.13d), the field vectors !, $, ", and # are real
(measurable) quantities that can vary with time, whereas the vectors E, D, H, and B are
complex phasors that do not vary with time. In general, we can obtain the former from
the latter by multiplying by e jωt and taking the real part. For example,
Note that the same is true for all of the other phasor quantities. For example,
Note that for dispersive materials, for which ϵ, µ, and σ are functions of frequency
(i.e., frequency-dependent), the phasor forms of the constitutive relations are valid at
each frequency, so that we have:
Note that the convolution Equation (2.12) was obtained by taking the inverse Fourier
transform of Equation (2.14a). It is evident that similar convolution relations would result
from inverse transformation of Equations (2.14b) and (2.14c), as would be required for
dispersive magnetic materials and materials for which the electrical conductivity is a
function of frequency. The latter is the case for metals in the optical frequency range,
often known as Drude materials.
8 The actual derivation of the time-harmonic form, for example, for Equation (2.13a) is as follows:
∂#
∇ ×!=−
∂t
∂
→ ∇ × [)e{E(x, y, z)e jωt }] = − [)e{B(x, y, z)e jωt }]
' () * ∂t ' () *
! #
jωt jωt
→ )e{e ∇ × E} = )e{− jωe B} → ∇ × E = − jωB.
2.3 Complex permittivity: dielectric losses 15
In most dielectrics that are good insulators, the direct conduction current (which is due
to finite conductivity) is usually negligible. However, at high frequencies, an alternating
current that is in phase with the applied field is present because the rapidly varying
applied electric field has to do work against molecular forces in alternately polarizing
the bound electrons. As a result, materials that are good insulators at low frequencies
can consume considerable energy when they are subjected to high-frequency fields. The
heat generated as a result of such radio-frequency heating is used in molding plastics;
in microwave cooking; and in microwave drying of paper, printing ink, glued products,
leather, textile fibers, wood, foundry materials, rubbers, and plastics [15].
The microphysical bases of such effects are different for solids, liquids, and gases and
are too complex to be summarized here. When an external time-varying field is applied
to a material, displacement of bound charges occurs, giving rise to volume polarization
density P. At sinusoidal steady state, the polarization P varies at the same frequency
as the applied field E. At low frequencies, P is also in phase with E, both quantities
reaching their maxima and minima at the same points in the radio-frequency cycle. As
the frequency is increased, however, the inertia of the charged particles (not just because
of their mass but also because of the elastic and frictional forces that keep them attached
to their molecules) tends to prevent the polarization P from keeping in phase with the
applied field. The work that must be done against the frictional damping forces causes
the applied field to lose power, and this power is deposited in the medium as heat.
This condition of out-of-phase polarization that occurs at higher frequencies can be
characterized by a complex electric susceptibility χe , and hence a complex permittivity
ϵc . In such cases, both the frictional damping and any other ohmic losses (e.g., due to
nonzero electrical conductivity σ ) are included in the imaginary part of the complex
dielectric constant ϵc :
ϵc = ϵ ′ − jϵ ′′
We can analyze the resultant effects by substituting the preceding ϵc into Equa-
tion (2.13c):
∇ × H = + jωϵc E = (ωϵ ′′ )E + jωϵ ′ E. (2.15)
Note that we have assumed J = σ E = 0 since the effects of any nonzero σ are
included in ϵ ′′ . It thus appears that the imaginary part of ϵc (namely, ϵ ′′ ) leads to a
volume current density term that is in phase with the electric field, as if the material had
an effective conductivity σeff = ωϵ ′′ . At low frequencies, ωϵ ′′ is small due to ω being
small and due to the fact that ϵ ′′ is itself small so that the losses are largely negligible.
However, at high frequencies, ωϵ ′′ increases and produces the same macroscopic effect
as if the dielectric had effective conductivity σeff = ωϵ ′′ . When a steady current J = σ E
flows in a conducting material in response to a constant applied field E, the electrical
power per unit volume dissipated in the material is given by E · J = σ |E|2 in units of
W-m−3 . Similarly, when a dielectric is excited at frequencies high enough for ωϵ ′′ to be
appreciable, an alternating current density of ωϵ ′′ E flows (in addition to the displacement
16 Review of electromagnetic theory
ε′E UHF to
microwaves
Ionic
Electronic
ε0
ω
ε″
Figure 2.1 Dielectric constant as a function of frequency. The real and imaginary parts of the
dielectric constant go through resonances, where the real part settles to a new value and the
imaginary part increases, leading to absorption. Adapted from [16].
where T p is the period of oscillation. This dissipated power density is the basis for
microwave heating of dielectric materials. Since the values of ϵ ′′ are often determined
by measurement, it is not necessary to distinguish between losses due to nonzero con-
ductivity σ and the dielectric losses discussed here.
In general, both ϵ ′ and ϵ ′′ can depend on frequency in complicated ways, exhibiting
several resonances over wide frequency ranges. The typical behavior in the vicinity of
resonances is enhanced losses (i.e., large values of ϵ ′′ ) and a reduction of ϵ ′ to a new
level. As an example, Figure 2.1 shows the real and imaginary parts of the dielectric
constant (ϵ ′ and ϵ ′′ respectively) for a hypothetical dielectric. This example exhibits
sharp resonances, at each of which the real part changes dramatically before settling
to a new constant value, and the imaginary part exhibits a peak, demonstrating higher
absorption. For example, strong resonances in the atmosphere at high altitude, due
primarily to ozone and nitrogen, cause high absorption of ultraviolet (UV) energy from
the sun, protecting us from harmful UV radiation.
2.5 Equivalent magnetic currents 17
Although our discussion above dealt exclusively with lossy dielectrics, an analogous
effect also occurs in magnetic materials, although it is of less importance for electro-
magnetic wave applications. If a magnetic field is suddenly applied to a paramagnetic9
material, the magnetization exhibits some inertia and does not immediately reach its
static value, but instead approaches it gradually. Similar inertial delay also occurs when
the field is turned off. The inertia exhibited is attributable to the energy exchanges
between the spinning electrons and the lattice vibrations as well as energy exchanges
between neighboring spins. For further details, see [1, Sec. 7.16] and [19, Ch. 16].
In analogy with dielectric relaxation, such effects can be described by introducing a
complex permeability µc such that
µc = µ′ − jµ′′
To represent the fact that this effect would lead to power dissipation in the medium,
consider the time rate of change of magnetic energy density, or
# $
∂wm ∂ 1 1
= "·# → jω(H · B).
∂t ∂t 2 2
With B = (µ′ − jµ′′ )H, we have
1 1 1
jω(H · B) = ( jωµ′ )H 2 + ωµ′′ H 2 ,
2 2 2
where H = |H|. For a time-harmonic magnetic field, the real part of the preceding
quantity represents the time-average power dissipated in a medium. We note that the real
part of the first term is zero; that is, this term simply represents the volume density of
energy stored in the magnetic field per unit time. The second term, on the other hand, is
purely real and represents the time-average power density of the magnetization loss.
In principle, diamagnetic materials also exhibit time-varying relaxation behavior.
Although the resultant effects are so small that one might think such phenomena are of
little practical interest, resonant absorption in diamagnetic liquids is the cause of the
phenomenon of nuclear magnetic resonance,10 which in turn is the basis for magnetic
resonance imaging (MRI) technology [see, e.g., 20].
In solving electromagnetic problems, it is often useful to view the fields ! and ", as
given by Equations (2.13a) and (2.13c), as being specified by the “current” terms on the
9 Paramagnetic materials are those for which the permeability µ is slightly above µ0 ; see [17, Ch. 9] and
[18, Ch. 14].
10 Resonant absorption occurs because of the highly frequency-dependent nature of the permeability µ,
similar to the resonances for permittivity in Figure 2.1. For further discussion and relevant references, see
[19, Ch. 16].
18 Review of electromagnetic theory
left-hand side. In this connection, we can view the curl of the magnetic field intensity
" as being determined by the sum of three different electric current sources, namely,
an externally impressed electrical source current Ji , the electrical conduction current Jc ,
and a displacement current Jd :
∇ × H = Ji + Jc + Jd
= Ji + σ E + jωϵ E.
Jd = jωϵc E = jωϵ ′ E + ωϵ ′′ E
To the best of our knowledge at this time, magnetic “charges” do not exist in nature,
thus there cannot be any free magnetic charge or magnetic conduction current, equivalent
respectively to ρ in Equation (2.13b) and Jc . However, there are many electromagnetic
problems11 for which it is useful to use fictitious magnetic currents and charges. In such
problems, the electric and magnetic fields actually produced by distributions of electric
charges and currents can be more easily computed from an “equivalent” distribution
of fictitious magnetic currents and charges. To allow for the possible use of magnetic
currents, we can rewrite Equations (2.13a) and (2.13b) as follows:
Note that the quantity ωµ′′ H arises from the physical effects which occur in some
materials due to magnetic hysteresis or high-frequency magnetic relaxation.12 In the con-
text of our discussions of numerical electromagnetics in the FDTD method, recognition
of the possible presence of magnetic as well as electric losses is particularly important.
We shall see in Chapter 9 that such losses can be introduced artificially at the boundaries
of the FDTD solution space in order to absorb the incident fields and eliminate unwanted
reflections.
11 Examples of such problems are those which involve radiation from “aperture antennas,” or from distributions
of electric and magnetic fields over a given surface.
12 For a brief note on magnetic relaxation see [3, pp. 616–617]; for further details, see [1, Sec. 7.16] and [19,
Ch. 16].
2.6 Electromagnetic potentials 19
13 The derivation is given in many advanced electromagnetics texts, including [21, Ch. 8].
20 Review of electromagnetic theory
Noting that the scalar potential for the electrostatic case was defined on the basis of
the fact that ∇ × ! = 0 (in the absence of time-varying fields) as ! = −∇ *, ˜ we can
˜
now define the scalar potential * for time-varying fields as:
∂* ˜ ˜ − ∂* .
!+ = −∇ * → ! = −∇ *
∂t ∂t
Note that the above expression for ! recognizes two possible sources for the electric
field, namely, charges (represented by the * ˜ term) and time-varying magnetic fields
(represented by the ∂*/∂t term).
In order for the vector potential * to be uniquely specified, we must specify its
divergence (in addition to its curl, which is already specified as ∇ × * = #). The
˜ and to solutions of
choice that leads to the simplest differential equations for * and *,
˜
* and * in the form of retarded potentials as given in Equation (2.18), is
∂*˜
∇ · * = −µϵ
. (2.19)
∂t
This condition, known as the Lorentz condition or the Lorentz gauge, is also consistent
with the source charge and current distributions being related through the continuity
equation. Using Equation (2.19), and Maxwell’s equations, the wave equations can be
˜ as:
written in terms of * and *
∂ 2*
∇ 2 * − µϵ = −µ% (2.20a)
∂t 2
2 ˜
∇ 2*˜ − µϵ ∂ * = − ρ̃ . (2.20b)
∂t 2 ϵ
The fact that the retarded potentials as given in Equation (2.18) are indeed the solutions
of Equation (2.20) can be verified by direct substitution14 of Equation (2.18) into the
respective differential equations given by Equation (2.20), although this process is rather
involved mathematically.
The time-harmonic forms of Equations (2.20) are given as
∇ 2 A + ω2 µϵ A = −µ J (2.21a)
ρ
∇ 2 * + ω2 µϵ * = − . (2.21b)
ϵ
Note that the magnetic vector potential A which originates from electrical currents
completely specifies the time-harmonic electric and magnetic fields:
B=∇ ×A
∇(∇ · A)
E = − jωA + ,
jωϵµ
where we have used Equation (2.19).
14 Such substitution must be done with considerable care; see [22, p. 164, footnote]. Expressions for A and *
which satisfy Equation (2.18) can also be written with (t + R/v p ) instead of (t − R/v p ) in Equation (2.18),
and are called advanced potentials. However, their use would clearly violate causality, implying that the
potentials at a given time and place depend on later events elsewhere.
2.7 Electromagnetic boundary conditions 21
∇ 2 F + ω2 µϵF = −ϵ M
and that it is therefore related to the magnetic current sources via the following equation
analogous to Equation (2.18a):
"
ϵ M(r′ )e− jβ R ′
F(r) = dv
4π V ′ R
"
ϵ ((r′ , t − R/v p ) ′
→ +(r, t) = dv .
4π V ′ R
The electric and magnetic fields originating from magnetic current distributions can
be written in terms of the electric vector potential as:
1
E=− ∇ ×F
ϵ
∇(∇ · F)
H = − jωF + .
jωϵµ
The interfaces between materials are where the interesting interactions of electromag-
netic waves occur. It is at these interfaces, of course, that reflection and refraction occur,
the physical laws for which are described in many electromagnetic texts. In FDTD simu-
lations, we are often interested in the interactions of electromagnetic waves with surfaces
that cannot be easily described analytically. However, the basic rules for the electric and
magnetic field vectors at these interfaces are well defined, and are summarized here.
The integral forms of Equations (2.1) through (2.4) can be used to derive the rela-
tionships between electric- and magnetic field components on both sides of interfaces
between two different materials (i.e., different µ, ϵ, and/or σ ).
The electromagnetic boundary conditions can be summarized as follows:
1. It follows from applying the integral form of Equation (2.1) to a contour C, as shown
in Figure 2.2b, and letting +h tend toward zero (so the area in the right-hand side
of the integral goes to zero), that the tangential component of the electric field ! is
22 Review of electromagnetic theory
ε1 , µ1
1n
n̂ ε1 , µ1
1t
n̂ ε2 , µ2
∆s ∆h
∆h 2t
∆w
ε2 , µ2
2n
(a) (b)
Figure 2.2 Interfaces between two different materials. The boundary conditions for the
electromagnetic fields are derived by applying the surface integrals to the cylindrical surface as
shown in (a) and the line integrals to the rectangular contour in (b). The normal and tangential
components of a general vector A are shown for reference.
where n̂ is the unit vector perpendicular to the interface and outward from medium
2 (shown as n̂ in Figure 2.2b).
2. It can be shown by similarly applying the integral form of Equation (2.3) to the same
contour C in Figure 2.2b that the tangential component of the magnetic field " is
continuous across any interface:
except where surface currents (%s ) may exist, such as at the surface of a perfect
conductor (i.e., σ = ∞):
n̂ × "1 = %s , (2.24)
Noting that the field "2 inside the perfect conductor is zero.15
3. It can be shown by applying the integral form of Equation (2.2) to the surface of the
cylinder shown in Figure 2.2a, and again letting +h tend toward zero, that the normal
component of electric flux density $ is continuous across interfaces, except where
surface charge (ρ̃s ) may exist, such as at the surface of a metallic conductor or at the
interface between two lossy dielectrics (σ1 ̸= 0, σ2 ̸= 0):
4. A consequence of similarly applying the integral form of Equation (2.4) to the surface
of the cylinder in Figure 2.2a is that the normal component of the magnetic field #
15 The interior of a solid perfect conductor is void of both static and dynamic magnetic fields; for a discussion
at an appropriate level see [3, Sec. 6.8.4].
2.8 Electromagnetic waves 23
5. It follows from applying the integral form of Equation (2.5) to the surface of the
cylinder in Figure 2.2a that, at the interface between two lossy media (i.e., σ1 ̸= 0,
σ2 ̸= 0), the normal component of the electric current density % is continuous, except
where time-varying surface charge may exist, such as at the surface of a perfect
conductor or at the interface between lossy dielectrics (ϵ1 ̸= ϵ2 and σ1 ̸= σ2 ):
∂ ρ̃s ∂ ρ̃s
n̂ · [%1 − %2 ] = − → %1n − %2n = − . (2.27)
∂t ∂t
Note that Equation (2.27) is not completely independent of Equations (2.22) through
(2.26), since Equation (2.5) is contained in Equations (2.1) through (2.4), as mentioned
previously. For the stationary case (∂/∂t = 0), Equation (2.27) implies %1n = %2n , or
σ1 !1n = σ2 !2n , which means that at the interface between lossy dielectrics (i.e., ϵ1 ̸=
ϵ2 and σ1 ̸= σ2 ) there must in general be finite surface charge (i.e., ρ̃s ̸= 0) because
otherwise Equation (2.25) demands that ϵ1 !1n = ϵ2 !2n .
C C
!, $ !, $ !, $ !, $
t=0
Figure 2.3 Plausibility of electromagnetic wave propagation as dictated by Equations (2.1) and
(2.3). Starting with a time-varying magnetic field at the location of the dashed line, electric and
magnetic fields are successively generated at surrounding regions.
creating a wave. Because of the finite velocity of the wave, a finite time elapses before
the disturbance causes the water particles at distant points to move. Thus, the initial
disturbance produces, at distant points, effects that are retarded in time. The water wave
consists of ripples that move along the surface away from the disturbance. Although the
motion of any particular water particle is essentially a small up-and-down movement
(i.e., a transverse wave, where the motion is perpendicular to the direction of the wave
propagation), the cumulative effects of all the particles produce the wave which moves
radially outward from the point at which the pebble is dropped. Another excellent
example of wave propagation is the motion of sound through a medium. In air, this
motion occurs through the to-and-fro movement of the air molecules (i.e., a longitudinal
wave, where the motion is parallel to the direction of the wave propagation), but these
molecules do not actually move along with the wave.
Electromagnetic waves consist of time-varying electric and magnetic fields. Suppose
an electrical disturbance, such as a change in the current through a conductor, occurs
at some point in space. The time-changing electric field resulting from the disturbance
generates a time-changing magnetic field. The time-changing magnetic field, in turn,
produces an electric field. These time-varying fields continue to generate one another in
an ever-expanding sphere, and the resulting wave propagates away from the source. When
electromagnetic waves propagate in a pure vacuum, there is no vibration of physical
particles, as in the case of water and sound waves. The velocity of electromagnetic wave
propagation in free space is that of the speed of light, so that the fields produced at
distant points are retarded in time with respect to those near the source.
Careful examination of Equations (2.1) to (2.4) provides a qualitative understanding
of the plausibility of electromagnetic wave propagation in space. Consider, for example,
Equations (2.1) and (2.3) in a nonconducting medium (i.e., σ = 0) and in the absence
of impressed sources (i.e., %i , ρ̃ = 0). According to Equation (2.1), any magnetic field
# that varies with time generates an electric field along a contour C surrounding it, as
shown in Figure 2.3. On the other hand, according to Equation (2.3), this electric field
!, which typically varies in time because # is taken to be varying with time, in turn
generates a magnetic field along a contour C surrounding itself. This process continues
indefinitely, as shown in Figure 2.3. It thus appears that if we start with a magnetic field at
2.8 Electromagnetic waves 25
!z
"z
"
!
"
! !y
!x "
"y
"x !
Figure 2.4 Geometrical relationship between ! and " fields. Note that electric fields are
encircled by magnetic fields and vice versa.
one point in space and vary it with time, Maxwell’s equations dictate that magnetic fields
and electric fields are created at surrounding points — i.e., that the disturbance initiated
by the changing magnetic field propagates away from its point of origin, indicated by
the dashed line in Figure 2.3.
Note that although Figure 2.3 shows propagation toward the left and right, the same
sequence of events takes place in all directions. In fact, all components of the electric field
are encircled by loops of magnetic fields and vice versa, as depicted in Figure 2.4. This
geometrical relationship between the ! and # fields is the key to the FDTD algorithm,
as we shall see in later chapters.
∂" ∂!
∇ × ! = −µ and ∇ ×"=ϵ .
∂t ∂t
Taking the curl of the first equation, and inserting the second, we find:
∂ ∂ 2!
∇ × ∇ × ! = −µ ∇ × " = −µϵ 2 ,
∂t ∂t
26 Review of electromagnetic theory
where we have taken advantage of the fact that spatial and temporal derivative operators
can be applied in any order. Finally, using the vector identity
∇ × ∇ × * = ∇(∇ · *) − ∇ 2 *
∂ 2!
∇ 2 ! − µϵ = 0. (2.28)
∂t 2
Equation (2.28) is the simplest form of the Wave Equation. It can become significantly
more complicated in complex media, whether they are dispersive, anisotropic, nonlinear,
time-dependent, or include sources. In such cases, for example, we may not be able to
move the constants µ and ϵ outside of the time derivatives, and we may find ∇ · ! ̸= 0.
Consider the 1D case, with ! = !x and ∂/∂ y = ∂/∂ x = 0. The general solution of
the wave equation is given by the simple relation:
This equation describes two fluctuations of the electric field, given by the general
functions f and g, which are propagating in the +z and −z directions, respectively,
√
with a phase velocity given by v p = 1/ µϵ. Simple substitution of Equation (2.29) into
Equation (2.28) demonstrates that this is a solution of the wave equation. For the time-
harmonic Maxwell’s equations, where ∂/∂t → jω and we have assumed sinusoidally
varying electric and magnetic fields, the 1D wave equation has the form:
∂ 2 !x
+ k 2 !x = 0, (2.30)
∂z 2
where k 2 = ω2 µϵ. The general solution of this equation has the form:
+ ,
!x (z, t) = )e (C1 e− jkz + C2 e jkz )e jωt
= C1 cos(kz − ωt) + C2 cos(kz + ωt), (2.31)
where k = 2π/λ is the wavenumber and ω = 2π f is the angular frequency of the wave.
This equation describes two sinusoids traveling in the ±z directions. The phase velocity
of the wave can be found by following a point on the wave in time, or equivalently,
following the argument of the cosine:
dz ω
ωt ± kz = constant → vp = = . (2.32)
dt k
The relationship v p = ω/k is often used as the definition of the phase velocity, and is
the relationship used to derive the phase velocity in more complex media. For example,
in dispersive media the frequency ω can be a complicated function of k, and when the
ratio ω/k is evaluated, we find that the phase velocity is also a function of k.
2.8 Electromagnetic waves 27
16 /A+ B0 /A− B0
cos A + cos B = 2 cos cos .
2 2
17 While this statement is most often accurate and convenient for illustrative purposes, the group velocity is
not always the speed of energy propagation. In some lasers, for example, the group velocity can be made
to exceed c; however, in those cases the phase velocity is less than c and the signal travels at this speed
[e.g., 23].
28 Review of electromagnetic theory
Envelope
vg
vp
!x = !x,1 + !x,2
Figure 2.5 Concept of phase and group velocities. The figure shows the sum of two waves with
slightly different frequencies, from which arises the envelope amplitude. This envelope
propagates at the group velocity vg .
The phase and group velocities are illustrated in Figure 2.5. In the simple medium
where there is no dispersion and ω = ±v p k, we find that vg = dω/dk = ±v p , and the
phase and group velocities are the same, and independent of frequency. In the more
general case, however, the phase and group velocities are both functions of frequency.
Furthermore, in the case of discretized versions of Maxwell’s equations, such as in the
FDTD method, we often find that the numerical phase and group velocities are not
identical to the continuous cases, in which case we have numerical dispersion. This
numerical dispersion is the subject of Chapter 6.
The properties of uniform plane waves are identical over all of the electromagnetic
spectrum that has been investigated experimentally, frequencies ranging from milli-
hertz to 1024 Hz. Regardless of their frequency, all uniform plane electromagnetic
waves propagate in unbounded free space with the same velocity, namely, v p = c ≃ 3 ×
108 m/s, but with different wavelengths, as determined by λ = c/f . Table 2.1, adapted
from [16], lists the various designated frequency and wavelength ranges of the electro-
magnetic spectrum and selected applications for each range. Maxwell’s equations and
the results derived from them thus encompass a truly amazing range of physical phe-
nomena and applications that affect nearly every aspect of human life and our physical
environment.
At frequencies in the ultraviolet range and higher, physicists are more accustomed to
thinking in terms of the associated energy level of the photon (a quantum of radiation),
which is given by h f , where h ≃ 6.63 × 10−34 J-s is Planck’s constant. Gamma rays,
which are photons at energies of 1 MeV or greater, are constantly present in our universe;
they ionize the highest reaches of Earth’s atmosphere and help maintain the ionosphere
2.9 The electromagnetic spectrum 29
Table 2.1 The electromagnetic spectrum and related applications; adapted from [16]
Wavelength
Frequency Designation Selected applications (in free space)
at night, in the absence of solar radiation. Short-duration bursts of γ -rays, which bathe
our solar system (and our galaxy) about three times a day, are believed to be produced
in the most powerful explosions in the universe, releasing (within a few seconds or
minutes) energies of 1051 ergs — more energy than our sun will produce in its entire
10 billion years of existence [24].
30 Review of electromagnetic theory
It is also interesting to note that only a very narrow portion of the electromagnetic
spectrum is perceptible to human vision, namely, the visible range. We can also “feel”
infrared as heat, and our bodies can be damaged by excessive amounts of UV, microwave
radiation, X-rays, and γ -rays. Applications of X-rays, UV, visible, and infrared light are
far too numerous to be commented on here and include vision, lasers, optical fiber
communications, and astronomy.
At present, a relatively unexplored part of the electromagnetic spectrum is the tran-
sition region between the low-frequency end of infrared and the high-frequency end of
the millimeter range. The frequency in this region is measured in terahertz (THz), or
1012 Hz, with the corresponding wavelengths being in the submillimeter range. Fabri-
cation of antennas, transmission lines, and other receiver components usable in these
frequencies requires the use of novel quasi-optical techniques. At present, the terahertz
region is primarily used in astronomy and remote sensing; however, industrial, medical,
and other scientific applications are currently under investigation.
Each decade of the electromagnetic spectrum below the millimeter range of fre-
quencies is divided18 into designated ranges, with the acronyms indicated in Table 2.1:
extremely high frequency (EHF); super high frequency (SHF); ultra high frequency
(UHF); very high frequency (VHF); high frequency (HF); medium frequency (MF);
low frequency (LF); very low frequency (VLF); ultra low frequency (ULF); super low
frequency (SLF); extremely low frequency (ELF).
The microwave band of frequencies is vaguely defined as the range from 300 MHz up to
1 THz, including the millimeter range. It is extensively utilized for radar, remote sensing,
and a host of other applications too numerous to cite here. In radar work, the microwave
band is further subdivided into bands with alphabetical designations, which are listed in
Table 2.1. The VLF range of frequencies is generally used for global navigation and naval
communications, using transmitters that utilize huge radiating structures. Although VLF
transmissions are used for global communications with surface ships and submarines
near the water surface, even lower frequencies are required for communication with
deeply submerged submarines.
The lowest frequencies of the experimentally investigated electromagnetic spectrum
are commonly used to observe so-called micropulsations, which are electromagnetic
waves at frequencies 0.001 to 10 Hz generated as a result of large-scale currents flowing
in the Earth’s auroral regions and by the interaction between the Earth’s magnetic field
and the energetic particles that stream out of the sun in the form of the solar wind.
2.10 Summary
This chapter introduced Maxwell’s equations, electric and magnetic losses, boundary
conditions, and the wave equation. The Finite Difference Time Domain (FDTD) method
18 There is a certain arbitrariness in the designations of these frequency ranges. In geophysics and solar
terrestrial physics, the designation ELF is used for the range 3 Hz to 3 kHz, while ULF is used to describe
frequencies typically below 3 Hz.
2.10 Summary 31
∂#
∇ ×!=− (Faraday’s law)
∂t
∇ · $ = ρ̃ (Gauss’s law)
∂$
∇ ×"=%+ (Ampère’s law)
∂t
∇ ·#=0 (Gauss’s magnetic law)
∂ ρ̃
∇ ·%=− (Continuity equation)
∂t
where each of the fields is a function of time and space, i.e., ! = !(x, y, z, t). The
equations above hold for a general medium, which may be inhomogeneous, dispersive,
anisotropic, and/or nonlinear; the fields are related through the constitutive relations:
∂ 2!
∇ 2 ! − µϵ = 0. (Wave equation)
∂t 2
32 Review of electromagnetic theory
The phase velocity is the speed at which wavefronts propagate through the medium,
and is given by
ω
vp = (Phase velocity)
k
where ω = 2π f is the wave angular frequency and k = 2π/λ is the wavenumber. When
the wavenumber is a function of frequency, so is the phase velocity. The group velocity
of a wave is the speed at which energy propagates through the medium, and it is given
by
∂ω
vg = . (Group velocity)
∂k
In a simple medium in which the wavenumber is not a function of frequency, we find
vg = ∂ω/∂k = ∂(v p k)/∂k = v p .
2.11 Problems
2.7. Dispersion relation. Starting with the frequency domain Maxwell’s equations,
derive a dispersion relation (i.e., a relationship between k and ω) for a lossy
medium with frequency-dependent conductivity σ (ω). Write this relationship as
k = k0 f (ω), where k0 is the wavenumber in free space. Plot the real and imaginary
parts of the resulting relationship for 0 ≤ (σ/ωϵ) ≤ 1 assuming σ is constant with
frequency.
References
Most physical systems are described by one or more partial differential equations, which
can be derived by direct application of the governing physical laws. For electromagnetic
phenomena, the governing physical laws are experimentally based and include Faraday’s
law, Ampère’s law, Coulomb’s law, and the conservation of electric charge. Application
of these laws leads to Maxwell’s equations, as described in the previous chapter. In this
chapter, we will look at different types of differential equations; Maxwell’s equations
are an example of a set of coupled partial differential equations. We will also look at
how these equations are discretized in order to be solved in a discrete space (i.e., on a
computer).
In these introductory chapters, we will occasionally revert to a description of waves
on transmission lines, as discussed in detail in [1, Ch. 2–3]. As shown in Figure 3.1,
voltage and current signals propagate along transmission lines as waves, similar to
electromagnetic waves. In this case, however, the waves are confined to one spatial
dimension, and so provide a simple but realistic 1D example.
For voltage and current waves on transmission lines, application of Kirchoff ’s voltage
and current laws (which are contained in Maxwell’s equations) leads to the telegrapher’s
equations:1
∂, ∂-
= −R - − L (3.1a)
∂x ∂t
∂- ∂,
= −G , − C (3.1b)
∂x ∂t
where ,(x, t) and -(x, t) are respectively the line voltage and current, while R, L, G, and
C are respectively the distributed resistance, inductance, conductance, and capacitance
of the line, in units of //m, H/m, S/m, and F/m, respectively. A segment of a transmission
line is shown in Figure 3.1, showing the equivalent circuit diagram for a short piece of
the line. Manipulation of Equations (3.1a) and (3.1b) leads to the general wave equation
for a transmission line:
∂ 2, ∂, ∂ 2,
= RG , + (RC + LG) + LC . (3.2)
∂x2 ∂t ∂t 2
1 We will use x as the spatial variable in this and future chapters when discussing the telegrapher’s equations,
in order to be consistent with the 1D versions of Maxwell’s equations, which will be addressed in the next
chapter.
Partial differential equations and physical systems 35
L∆x
I(x,t) R∆ x I(x+∆ x,t)
+ +
C∆ x
V(x,t) G∆ x V(x+∆ x,t)
– –
∆x
x
I(x,t) I(x+∆x,t)
L∆x R ∆x
+ +
V(x,t) G∆ x C∆x V(x+∆ x,t)
– –
∆x z
x x+∆x
Figure 3.1 Voltage and current waves on a transmission line. Voltage and current propagate along
the transmission line as waves, as though through a medium with parameters R, G, C, and L.
Each small segment of the transmission line +x can be treated as a small lumped-circuit
element.
Note that making the substitution , ↔ - in (3.2) gives the wave equation in terms of
current -(x, t).
A similar wave equation can be derived in terms of the electric field ! by manipulating
Equations (2.1) and (2.3), for simple media for which ϵ, µ, σ , and σm are simple
constants, and Equation (2.9) is used with M = σm H :
∂! ∂ 2!
∇ 2 ! = σ σm ! + (µσ + ϵσm ) + µϵ 2 . (3.3)
∂t ∂t
The corresponding equation for the magnetic field " can be obtained by making
the substitution ! ↔ ". Note that while Equation (3.2) is a scalar wave equation,
Equation (3.3) for the ! field is a vector wave equation.
General solutions of Equations (3.2) and (3.3) are in general quite complex, except
in special cases. Solutions for Equation (3.2) take a simple and analytically tractable
form when we assume that the variations in time are sinusoidal (time-harmonic), or
when we assume that the loss terms (i.e., those involving R, G in Equation (3.2)) are
zero. Solutions for Equation (3.3) also become tractable for the time-harmonic and
lossless (assuming that terms involving σ , σm in Equation (3.3) are zero) cases, if we
make additional simplifying assumptions about the direction and spatial dependency of
!(x, y, z, t).
36 Partial differential equations and physical systems
Partial differential equations arise in a variety of ways and in the context of a wide range
of different physical problems, remarkably having forms quite similar to Equations (3.1)
and (2.1) through (2.5). The basic reason for the commonality of the form of governing
equations for different physical systems is the fact that most of classical physics is based
on principles of conservation, whether it be principle of conservation of mass, energy,
momentum, or electric charge.
For example, application of the principle of conservation of momentum to an incre-
mental volume of a compressible fluid (e.g., a gas such as air) gives the “Telegrapher’s
equations” for acoustic waves:
∂, ∂- ∂- ∂,
Transmission-line waves = −L = −C
∂x ∂t ∂x ∂t
∂u x 1 ∂p ∂p ∂u x
Acoustic waves =− = −ρv (3.4)
∂x γg pa ∂t ∂x ∂t
where u x (in m/s) is the velocity in the x direction, p (in kg/m/s2 ) is the variation in
pressure (above an ambient level), ρv is the mass per unit volume, γg (unitless) is the
ratio of specific heats for the gas at constant pressure and constant volume, and pa is the
ambient pressure. The similarity between Equation (3.4) and the analogous transmission
line equations, which are the lossless forms (i.e., R = 0 and G = 0) of Equation (3.1), is
obvious. The two Equations (3.4) can be combined to find the wave equation for acoustic
waves, written below in both 1D and 3D form:
∂ 2, ∂ 2, ∂ 2!
Trans. line / Electromagnetic = LC ∇ 2 ! = µϵ
∂x2 ∂t 2 ∂t 2
∂2 p ρv ∂ 2 p ρv ∂ 2 p
Acoustic wave equation = ∇2 p = . (3.5)
∂x2 γg pa ∂t 2 γg pa ∂t 2
The fact that the equations for electromagnetic and voltage waves are identical to that
for acoustic waves indicates that wave-like solutions will result in both cases.
Similarly, application of the principles of conservation of mass and the continuity
of mass to problems involving diffusion of one substance into another, leads to the
telegrapher’s equations for the diffusion process:
∂, ∂- ∂,
Transmission line = −R - = −C
∂x ∂x ∂t
∂c 1 ∂m vx ∂c
Diffusion process = − m vx =− (3.6)
∂x D ∂x ∂t
where c is the mass density in kg/m3 , m vx is the mass transfer per unit area in the x
direction (in units of kg/m2 /s), and D is a constant known as the diffusivity or diffusion
constant, which has units of m2 /s. Combining Equations (3.6) gives the equation for
3.1 Classification of partial differential equations 37
∂ 2, ∂, ∂!
Trans. line / Electromagnetic 2
= RC ∇ 2 ! = µσ (3.7a)
∂x ∂t ∂t
∂ 2c 1 ∂c 1 ∂c
Diffusion equation = ∇ 2c = . (3.7b)
∂x2 D ∂t D ∂t
Equations (3.7b) also describe the conduction of heat, if we take c(x) (or c(r) in the
3D case) to be the temperature distribution, and the “diffusion” coefficient D to be the
product of the thermal capacity and thermal resistance of the material (in which heat is
conducted). In the transmission-line context, Equation (3.7a) arises in cases when the
line inductance is negligible, i.e., L = 0, and the line conductance G is also zero (the
leakage conductance is usually small in most cases). Such lines, sometimes called RC
lines, occur commonly in practice; for example, most on-chip interconnect structures
and some thin film package wires exhibit negligible values of L, and have significant
resistance, often much larger than the characteristic impedance. Some telephone lines,
particularly closely packed lines and twisted-pair lines, can also be treated as RC lines.
When an RC line is excited at its input, the line voltage does not exhibit oscillatory
behavior (as expected due to the absence of inductance); rather, the voltage builds up
along the line in a manner entirely analogous to the diffusion which occurs in heat-flow
problems.2 The underlying process is the same as that of diffusion of electrons and holes
in semiconductors. The solutions of equations such as (3.6) and (3.7) thus exhibit an
entirely different character than those of Equations (3.4) and (3.5).
The general form of a quasi-linear (i.e., linear in its highest-order derivative) second-
order partial differential equation (PDE) is:
∂2 f ∂2 f ∂2 f ∂f ∂f
A 2
+ B + C 2
+D +E +F f =G (3.8)
∂x ∂ x∂ y ∂y ∂x ∂y
where the coefficients A, B, and C can be functions of x, y, f , ∂ f /∂ x, and ∂ f /∂ y, the
coefficients D and E may be functions of x, y, and f , and the coefficients F and G may
be functions of x and y.
The classification of PDEs is based on the analogy between the form of the discrim-
inant B 2 − 4AC for a PDE as given in Equation (3.8) and the form of the discrimi-
nant B 2 − 4AC that classifies conic sections, described by the second-order algebraic
equation:
Ax 2 + Bx y + C y 2 + Dx + E y + F = 0 (3.9)
2 For example, when a solid heated object is dropped into cold water, heat slowly diffuses out to the surrounding
body of water. For a detailed discussion and a formulation of 1D heat flow in terms of diffusion, see
[2, Ch. 18].
38 Partial differential equations and physical systems
where the relationship between Equations (3.8) and (3.9) should be obvious, by
substituting x ↔ ∂ f /∂ x and y ↔ ∂ f /∂ y. The type of conic section described by
Equation (3.9) depends on the sign of the discriminant:
B2 − 4AC Conic type
Negative Ellipse
Zero Parabola
Positive Hyperbola
Simply on the basis of the analogy between Equations (3.8) and (3.9), partial dif-
ferential equations are classified as elliptic, parabolic, and hyperbolic. We now briefly
discuss examples of the different type of PDEs.
3 The ∂,/∂t term implies E = 1 in Equation (3.8); however, it does not affect the type of PDE.
3.1 Classification of partial differential equations 39
Equation (2.3) is negligibly small, and the electromagnetic wave Equation (3.3) effec-
tively reduces to the diffusion wave Equation (3.7).
where f (·) and g(·) are two different arbitrary functions. The two terms in (3.12)
respectively represent waves traveling in the +x and −x directions. The solution of this
second-order wave equation requires the specification of two initial conditions:
Note that Equation (3.13a) amounts to specifying the voltage at t = 0 at all points x
along the line, while Equation (3.13b) specifies the initial time derivative of the voltage
at all points x.5 Substituting Equation (3.13) into (3.12) gives:
where the primes denote differentiation of f (·) and g(·) with respect to their arguments.
We can now integrate Equation (3.14b) to find:
" x
1
− f (x) + g(x) = θ (ζ )dζ. (3.15)
v p −∞
4 In the interest of completeness, note that in most practical cases, equations are neither strictly parabolic nor
hyperbolic; when loss terms are added, equations are often referred to as “strongly hyperbolic” or “weakly
hyperbolic.”
5 Or, as we shall see shortly, when we consider coupled hyperbolic equations, this second initial condition is
actually the current at t = 0.
40 Partial differential equations and physical systems
This elegant and exact solution of the 1D wave equation is known as D’Alembert’s
solution6 and is particularly applicable to problems involving vibrating systems such as
a stretched string.
It is useful to note that the wave Equation (3.11) can be factored and expressed as a
product of two first-order hyperbolic equations:
∂ 2, 2
2 ∂ ,
− v p =0 (3.18a)
∂t 2 ∂x2
# $# $
∂ ∂ ∂ ∂
+ vp − vp ,=0 (3.18b)
∂t ∂x ∂t ∂x
' () *' () *
.+ .−
where the two operators .− and .+ are successively applied to ,(x, t). It thus appears
that the wave equation is in fact a combination of two equations:
∂, ∂,
+ vp =0 → ,(x, t) = f (x − v p t) (3.19a)
∂t ∂x
∂, ∂,
− vp =0 → ,(x, t) = g(x + v p t). (3.19b)
∂t ∂x
While the wave Equation (3.11) supports waves propagating in either +x or −x
directions, Equations (3.19) are known as the one-way wave equations and only allow
for waves traveling respectively in the +x and −x directions. Note that since the operators
.+ and .− may be applied in any order, any solution that is a linear combination of
positive and negative going waves, i.e., ,(x, t) = a f (x − v p t) + bg(x − v p t), is also a
solution of the wave Equation (3.18a).
Equations of the type (3.19a) and (3.19b) are also hyperbolic PDEs, but under a
somewhat different classification criterion7 than that which was described above in
connection with Equation (3.8). In fact, one-way wave equations of the form:
∂f ∂f
+ vp =0 (3.20)
∂t ∂x
are the prototype for all hyperbolic equations. Equation (3.20) is known as the convection
equation since it arises when the property of a fluid (i.e., whatever the quantity f
represents) is convected in the +x direction at a speed v p .
In our applications of Finite Difference Time Domain methods to electromagnetic
problems, we shall typically find it more convenient to work with the original Maxwell’s
Equations (2.1) and (2.3), rather than the wave Equation (3.3). Written out in their
1D form for TEM8 waves, Maxwell’s equations in free space consist of two coupled
first-order convection equations:
∂! y 1 ∂"z
+ =0 (3.21a)
∂t ϵ ∂x
∂"z 1 ∂! y
+ = 0. (3.21b)
∂t µ ∂x
Note that Equations (3.21) are identical to the coupled voltage-current equations for
a lossless transmission line (i.e., Equation (3.1) with R = 0 and G = 0), when we make
the substitutions , → ! y , - → "z , ϵ → C, and µ → L.
8 The nomenclature TEM, TE, and TM are defined differently in FDTD compared to traditional waveguide
modes; these will be discussed in detail in later chapters.
42 Partial differential equations and physical systems
f(t) f(t)
1 2 3 n
n=0
∆t ∆t t
t=0 tn
tn tn+1 t tn-1 tn tn+1 tn+2 t
(a) (b) (c)
Figure 3.2 Finite difference integration of an ODE. (a) The time-mesh. (b) First-order Euler
method. The shaded region is the approximation to the integral under the curve between t n and
t n+1 . (c) Leapfrog method. The shaded area is the approximation to the integral under the curve
between t n and t n+2 .
where +t = t n+1 − t n is the time increment on our mesh. Integrating Equation (3.22)
on the time-mesh between the time points t n and t n+1 allows us to relate two successive
values of y(t) as:
" t n+1
n+1 n
y =y − f (y, t) dt. (3.24)
tn
In this method, we are simply approximating the value of the function f (y, t) as
f (y n , t n ) over the interval [t n , t n+1 ], as shown in Figure 3.2. With the initial condition
specified as y 0 = yinit , Equation (3.25) can be straightforwardly used to determine all
the subsequent values of y(t) at our time-mesh points t n . Clearly, we must make sure that
+t is sufficiently small, so that errors do not build up, i.e., that the method is stable. To
determine the conditions under which the first-order Euler method is stable, we assume
that the value of y n at time t n contains an error of ϵn and determine whether the error
ϵ n+1 in y n+1 is larger, i.e., whether the finite differencing procedure amplifies the error.
We define this amplification or growth factor q as follows:
ϵ n+1 = q ϵ n . (3.26)
For small errors, i.e., |ϵ n | ≪ |y n |, we can expand the function f into a Taylor series9
around y n :
3
n n n n n n n n ∂f 3
3
f (y + ϵ , t ) = f (y , t ) + (y + ϵ − y ) + O(ϵ n ) (3.28)
∂ y 3n
where the notation O(ϵ n ), to be read as “order ϵ n ”, denotes the remainder term and
indicates that it depends linearly (in this case) on ϵ n , i.e., that it approaches zero as
the first power of ϵ n . Using Equation (3.28) together with (3.25), we find an equation
describing the amplification of a small error:
3 3
∂f 3 ϵ n+1 ∂ f 33
ϵ n+1 = ϵ n − +t ϵ n 33 + O(ϵ n ) → q = n ≃ 1 − +t . (3.29)
∂y n ϵ ∂ y 3n
In order for the method to be stable, errors must not grow in time, i.e., we must have
|q| ≤ 1. Assuming that [∂ f /∂ y]n is positive, we then have:
3
∂ f 33 2
|q| ≤ 1 → +t 3 ≤2 → +t ≤ . (3.30)
∂y n [∂ f /∂ y]n
As an example, consider the case when f (y, t) = τ −1 y, i.e., the simple ODE describ-
ing a first-order system exhibiting exponential decay (e.g., a lumped electrical circuit
consisting of a resistance and capacitance):
dy y
+ =0 (3.31)
dt τ
with an initial condition y(0) = 1. We know that the analytical solution of Equation
(3.31) is:
y(t) = e−t/τ .
For this case, we have [∂ f /∂ y]n = τ −1 , so that the criterion in Equation (3.30) reduces
to:
+t ≤ 2τ, (3.32)
revealing the physically sensible result that the integration time increment must be
smaller than the characteristic time described by the ODE. Experimentation with differ-
ent values of +t to determine the degree of stability is the topic of Problem 3 at the end
of this chapter.
The first-order Euler method is stable as long as Equation (3.30) is satisfied; what’s
more, the accuracy of the numerical solution can be arbitrarily increased by using smaller
and smaller values of the time increment +t. Such is not the case, however, for ODEs
that have an oscillatory type of solution, for which the first-order Euler method is always
(i.e., for any value of +t) unstable. Consider the second-order differential equation for
a lumped LC circuit:
d 2,
+ ω02 , = 0 (3.33)
dt 2
where ω0 = (LC)−1/2 is the frequency of oscillation. We can factor this equation in the
same manner as was done in Equation (3.18):
# $# $
d d
+ jω0 − jω0 , = 0. (3.34)
dt dt
The general solution of Equation (3.33) consists of a linear superposition of the
solutions of the two first-order Equations contained in Equation (3.34). Consider the
first one:
d,
+ jω0 , = 0. (3.35)
dt
Note that (3.35) is same as the general first-order ODE given in Equation (3.22), when
we note that y ↔ , and f (,, t) ↔ jω0 ,. Noting that we then have [∂ f /∂ y]n = jω0 ,
the error amplification factor from Equation (3.29) is:
which is clearly always larger than unity for any time increment +t, indicating that
the first-order Euler method is unconditionally unstable and is thus not appropriate for
purely oscillatory solutions.
It is clear that y n+1 and y n+2 can in turn be used to determine y n+3 , proceeding in this
“leapfrog” fashion.
10 The leapfrog method was first introduced apparently by [3] for the solution of parabolic PDEs. Ironically,
it turns out that the leapfrog method is unstable for parabolic PDEs, but is well suited for the solution of
hyperbolic PDEs such as (3.20) and in fact forms the basis of most FDTD solutions of electromagnetic
problems.
3.2 Numerical integration of ordinary differential equations 45
One difficulty with the leapfrog method is that it requires the specification of not just
the initial condition y 0 = y(0), but also the value at the second time-mesh point, namely
y 1 . It is possible simply to use a less accurate method to determine y 1 and then proceed
using Equation (3.36) for the rest of the time increments. However, the overall accuracy
of the leapfrog method is actually sensitively dependent on the value of y 1 , so that in
practice one needs to determine y 1 with an even higher-order method.
To analyze the stability of the leapfrog scheme, we can apply the same type of error
propagation analysis used for the first-order Euler method to one of the Equations (3.36).
In this case, the errors at the three time-mesh points t n−1 , t n , and t n+1 are related so that
we have:
3
n+1 n−1 n∂f 3
3
ϵ =ϵ − 2+t ϵ (3.37)
∂ y 3n
3
ϵ n+1 ϵ n−1 ∂ f 33
→ = n −2+t
n
' ϵ() * ' ϵ() * ∂ y 3n
q q −1
3
∂ f 33
→ q 2 ≃ 1 − 2q +t (3.38)
∂ y 3n
3
4 ∂ f 33
→ q = −ζ ± ζ 2 + 1 where ζ = +t .
∂ y 3n
It is interesting to note that for equations with non-oscillatory solutions, for example
the exponential decay Equation (3.31), we have ζ = τ −1 +t, which is purely real, so
that one of the roots of Equation (3.38) is always larger than unity. Thus, it seems that
the leapfrog scheme may not be appropriate for equations with decay-type solutions.
However, for equations with oscillatory solutions, such as Equation (3.33), we have
ζ = jωo +t, so that we have:
4
q = − j(ω0 +t) ± −(ω0 +t)2 + 1
→ |q|2 = qq ∗ = 1 for (ω0 +t) ≤ 1
1
→ +t ≤ .
ω0
Thus, the leapfrog method is stable for oscillatory solutions, as long as the time step
we use is less than the characteristic time of the oscillation, i.e., ω0−1 .
k1 = +t f (y n , t n ) (3.40a)
n n
k2 = +t f (y + αk1 , t + α+t). (3.40b)
and the constant α can be varied, but is frequently taken to be α = 1/2. Now, like the
Euler method, the RK2 method is unconditionally unstable for oscillatory solutions;
however, the RK2 method is far less unstable: for 100 time steps and ω+t = 0.2, the
solution is amplified only 2%.
The most commonly used RK method is RK4, which is fourth-order accurate. The
complete algorithm is given by:
1 1 1 1
y n+1 = y n + k1 + k2 + k3 + k4 (3.41a)
6 3 3 6
k1 = +t f (y n , t n ) (3.41b)
k2 = +t f (y n + k1 /2, t n + +t/2) (3.41c)
n n
k3 = +t f (y + k2 /2, t + +t/2) (3.41d)
n n
k4 = +t f (y + k3 , t + +t). (3.41e)
Figure 3.3 shows the stability diagrams for the RK2 and RK4 methods. Notice that
RK2 does not enclose the imaginary axis, which is why it is unstable for oscillatory
solutions (complex λ). The RK4 method, however, encloses part of the imaginary axis,
and so it is stable for oscillatory solutions, albeit for |λ+t| ≤ 2.83.
We are now ready to tackle the discretization of partial differential equations, which will
ultimately lead us to discretization of Maxwell’s equations. The main goal of a finite
difference method applied for the solution of a partial differential equation (or set of
equations) is to transform a calculus problem into an algebra problem by discretizing the
continuous physical domain and time, and by approximating the exact partial derivatives
with finite difference approximations. In other words, we aim to transform the equation(s)
from the continuous domain, where one deals with differential equations, to the discrete
domain, whereupon it becomes a difference equation. This procedure approximates a
3.3 Finite difference approximations of partial differential equations 47
3 RK2 2.83
RK4
2 √3
1
Im(λ∆t)
−1 −2.79
−2
−3
−3 −2 −1 0 1
Re(λ∆t)
Figure 3.3 Stability of Runge-Kutta methods. The diagrams show the stability regions for the
general ODE given by dy/dt = λy. When λ is complex, oscillatory solutions result; only the
RK4 method is stable under these circumstances.
partial differential equation (PDE) with a finite difference equation (FDE), which can
then be readily implemented on a computer.
The simplest example of a 1D finite difference grid is shown in Figure 3.4. Note
that when we refer to it as being “one-dimensional” we are referring to its one spatial
dimension; since these equations are also functions of time, this results in a 2D grid. The
intersections of the gridlines shown are the grid points. It is customary to use subscript
i to denote the spatial location of the grid lines in the x dimension, i.e., xi = (i − 1)+x.
The gridlines in time are indicated by a superscript n, i.e., t n = n+t. Thus, the grid point
(i, n) corresponds to location (xi , t n ) on the finite difference grid. In this simplest case,
the spatial grid lines are equally spaced and perpendicular to a principal axis, i.e., the
x axis. In some problems, it is necessary to use nonuniform grids in which +x varies
with i. It is also possible to use various transformations and work with grids that are not
perpendicular to a principal coordinate axis; these advanced techniques will be briefly
introduced in Chapter 15.
The solution to the finite difference equation is obtained by time marching, i.e., using
past, present, and sometimes future values of the physical quantity (e.g., voltage or
electric field) to determine its values at grid points corresponding to increasingly higher
n. Although the discretization of the time axis is usually uniform, nonuniform time-
stepping may be necessary in cases when the decay rates of the physical quantity are
exceptionally rapid [5, Sec. 3.6.10].
Note that extension of the finite difference grid to 2D or 3D physical spaces is
straightforward; for example, in 3D physical space, the grid point (i, j, k, n) corresponds
to location (xi , y j , z k , t n ) on the finite difference grid.
48 Partial differential equations and physical systems
t Time-marching
nmax
∆t
n+1
n
n–1
2
1
0
∆x imax x
1 2 3 i
i–1 i+1
Figure 3.4 The finite difference grid. Note that we have indexed in i starting with 1, and in time
starting with zero; t = 0 (the lower edge) represents the initial condition at all x.
The first step in any finite-difference problem is the establishment of a grid as described
above; we will have much more to say on this process in later chapters. Once the finite
difference grid is established, the next step is to approximate partial derivatives with
finite differences; i.e., transform from PDEs to FDEs. This is typically achieved by
using Taylor series expansions of the function around different grid points in time and
space. The next sections illustrate this procedure.
Consider the Taylor series expansion in time (i.e., in time index n) of f in+1 around the
grid point (i, n):
3n 3
2 3n
n+1 n n+1
3 1 n+1
n ∂f 3 n 2 ∂ f 3
fi = f i + (t −t ) + (t −t ) +··· . (3.43)
' () * ∂t 3i 2 ' () * ∂t 2 3i
+t (+t)2
3.3 Finite difference approximations of partial differential equations 49
Equation (3.43) follows directly from (3.42), where the time point n corresponds to
t0 and the time point n + 1 corresponds to time t. We can now solve (3.43) for [∂ f /∂t]in
to obtain
3 3
∂ f 33n f in+1 − f in 1 ∂ 2 f 33n
= − +t −··· . (3.44)
∂t 3i +t 2 ∂t 2 3i
' () *
O(+t)
It is clear that all the other terms are multiplied by higher powers of +t, so that the
“order” of the remaining term is first-order in +t; i.e., the remainder (or error) increases
linearly with +t. A finite difference approximation to the first derivative in time is
obtained by dropping the error terms; i.e.,
3 1
∂ f 33n+ 2 f in+1 − f in
≃ . (3.49)
∂t 3i +t
The reader should notice two things about this result. First, the right-hand side of the
equation is identical to that of Equation (3.44); however, Equation (3.48) is second-order
accurate, while Equation (3.44) is only first-order accurate. Hence, the fraction on the
right-hand side is a better approximation of the derivative at time step n + 12 than at time
step n. Second, Equations (3.47) and (3.48) are essentially the same if one considers that
the time step +t is simply halved in the latter case.
Finite difference approximations for the second derivatives in time can be obtained in
a similar manner, using the various Taylor series expansions. Consider Equation (3.43),
rewritten below for convenience:
3n 3
2 3n
3
3 3n
n+1 n n+1 n ∂f 3
3 1 n+1 n 2 ∂ f 3 1 n+1 n 3 ∂ f 3
fi = f i + (t −t ) + (t −t ) + (t −t ) +···
' () * ∂t 3i 2 ' () * ∂t 2 3i 6 ' () * ∂t 3 3i
+t (+t)2 (+t)3
3 3n 3n
∂ f 33n 1 2
2∂ f
3 1 3
3 + (+t)3 ∂ f
3
f in+1 n
= f i + +t + (+t) 3 +··· . (3.50)
∂t 3i 2 ∂t 2 3 6
i ∂t 3 3
i
Now consider the Taylor series expansion of f in−1 around the grid point (i, n):
3n 3
2 3n 3 3n
3
n−1 n n−1 n ∂f 3
3 1 n−1 n 2 ∂ f 3 1 n−1 n 3 ∂ f 3
fi = f i + (t −t ) + (t −t ) + (t −t ) +···
' () * ∂t 3i 2 ' () * ∂t 2 3i 6 ' () * ∂t 3 3i
−+t (−+t)2 (−+t)3
3 3n 3n
∂ f 33n 1 ∂2 f 3 1 3
3 − (+t)3 ∂ f
3
f in−1 = f in − +t 3 + (+t)2 2 3 6
3 +··· .
3 (3.51)
∂t i 2 ∂t i ∂t 3 i
Adding Equations (3.50) and (3.51) allows us to cancel the second terms on the right-
hand side of each of these equations, the terms proportional to +t; rearranging terms
11 This is particularly the case for the solution of Maxwell’s equations using FDTD methods, since the electric
and magnetic field components are interleaved spatially and temporally and advanced in time in a leapfrog
manner using intermediate half-time steps.
3.3 Finite difference approximations of partial differential equations 51
we find:
3
∂ 2 f 33n f in+1 − 2 f in + f in−1
= + O[(+t)2 ]. (3.52)
∂t 2 3i (+t)2
Dropping the error terms gives us a second-order centered difference approximation
to the second derivative in time:
Other variations of these second derivatives follow similar derivations; some of these
will be discussed in later chapters. Similarly, higher-order derivatives can be found along
similar lines.
Dropping the error term from the above expression gives the second-order centered
difference approximation for [∂ f /∂ x]in :
Other approximations for the first spatial derivative can be obtained by manipulations
of different Taylor series expansions. One approximation that gives the first derivate at
an intermediate half-time step is:
3 1 % &
∂ f 33n+ 2 1 f i+1
n+1 n+1
− f i−1 n
f i+1 n
− f i−1
≃ + (3.58)
∂ x 3i 2 2+x 2+x
Note that this is simply the average of the second-order centered difference approxi-
mations at time steps n and n + 1.
The finite difference approximations for the second spatial derivative can be obtained
using a procedure similar to that followed for the second derivative in time. We find:
∂, 1 ∂ 2,
− =0
∂t RC ∂ x 2
which after the appropriate substitutions becomes:
n
,in+1 − ,in−1 1 ,i+1 − 2,in + ,i−1
n
− = 0. (3.61)
2+t RC (+x)2
3.4 Finite difference solutions of the convection equation 53
As the simplest example of a PDE, we consider finite difference solutions of the con-
vection Equation (3.60). As mentioned before, this equation constitutes the simplest
prototype for hyperbolic equations, and is also highly relevant for our FDTD analyses
of Maxwell’s equations, since it has the same form as the component curl equations that
we shall solve in FDTD solutions of electromagnetic problems. Consider the convection
equation written in terms of voltage on a transmission line:
∂, ∂,
+ vp =0 (3.63)
∂t ∂x
where v p ≃ 1 ft-(ns)−1 , i.e., the speed of light in free space.12 As mentioned in
Section 3.1.3, the exact solution of this convection equation is:
,(x, t) = ,+ (x − v p t) (3.64)
12 Note that the well-known speed of light in a vacuum is 2.9979 × 108 m-s−1 , which is equivalent to
0.984 ft-(ns)−1 ; as such 1 ft-(ns)−1 makes a very accurate and convenient approximation.
54 Partial differential equations and physical systems
,(z,t)
(V)
8
t=0 t = 0.25 ns
6
t = 0.75 ns
vp
2
z (ft)
Figure 3.5 Exact solution of the convection equation for a triangular initial voltage distribution.
The triangular distribution simply moves to the right at the speed v p ≃ 1 ft-(ns)−1 .
In other words, the initial voltage distribution is simply convected (or propagated) in
the positive x-direction (i.e., to the right) at the velocity v p , preserving its magnitude
and shape.
We shall now consider finite difference solutions of Equation (3.63), using v p ≃
1 ft-(ns)−1 , for a particular initial voltage distribution:
⎧
⎪
⎨12 x
⎪ V 0 ≤ x ≤ 0.5 ft,
,(x, 0) = *(x) = −12 (1 − x) V 0.5 ft ≤ x ≤ 1.0 ft, (3.66)
⎪
⎪
⎩0 V elsewhere.
The exact solution is simply the triangular pulse with a peak of 6 V, moving to the
right at the speed of v p ≃ 1 ft-(ns)−1 , as shown in Figure 3.5.
We now proceed to numerically solve for ,(x, t), using two different methods, namely
(i) the forward-time centered space method, and (ii) the leapfrog method.
Forward-time
t Leapfrog
t centered-space
nmax nmax
∆t ∆t
d/dt
n+1 n+1
n d/dz n
n–1 n–1
2 2
1 1
0 0
∆z ∆z imax z
1 2 3 i imax z 1 2 3 i
i–1 i+1 i –1 i +1
(a) (b)
Figure 3.6 Mesh diagram for the forward-time centered space and leapfrog methods. The grid
points which are involved in the evaluation of the time derivative are indicated as open circles,
whereas those used in calculating the space derivatives are indicated by open squares.
We thus have:
∂, ∂, ,in+1 − ,in ,n − ,i−1
n
+ vp =0 → + v p i+1 = 0. (3.67)
∂t ∂x +t 2+x
We now solve (3.67) for ,in+1 to find:
This result is known as the “update equation” for the field or parameter ,; the field is
“updated” in time by stepping forward in increments of +t. Note that each of the voltage
components on the right side of the equation is at time step n, and the “updated” voltage
on the right is at time step n + 1. In comparing different finite difference methods, it is
useful to graphically depict the grid points involved in the evaluation of the time and
space derivatives. Such a mesh diagram is given in Figure 3.6, for both the methods used
in this section.
For our first attempt at a solution of Equation (3.68), we choose +x = 0.05 ft,
and +t = 0.025 ns. Given that our triangular “wave” is about 1 ft long, this gives us
20 sample points in one “wavelength”. The resulting solution is given in the left-
hand column of Figure 3.7, depicting the ,(x, t) across the spatial grid at time instants
t = 0.25, 0.5, 0.75, and 1.0 ns. The exact solution (i.e., the triangular pulse of Figure 3.5,
appropriately shifted to the right at a speed of 1 ft-ns−1 ) is also shown for comparison.
56 Partial differential equations and physical systems
8 8
6 6
4 4 t = 0.5 ns
t = 0.5 ns
2 2
8 8
6 6
4 4 t = 0.75 ns
t = 0.75 ns
2 2
,(x,t)
8 8 (V)
6 6
t = 1 ns
4 t = 1 ns 4
2 2
x (ft)
Figure 3.7 FDTD solutions of the one-dimensional convection equation. Time snapshots of
,(x, t) determined with the forward-time centered space (left) and leapfrog (right) methods are
shown. With v p ≃ 1 ft-(ns)−1 , the solutions shown correspond to +x = 0.05 ft, and +t = 0.025
ns. The exact solution (i.e., the triangular pulse) is also shown for comparison.
The fact that the amplitude of the solution increases as the wave propagates to the right
indicates that the method is unstable. We will examine stability of these methods in great
detail in Chapter 5. In fact, as we shall see later, the forward-time centered space method
is unconditionally unstable when applied to the convection equation, regardless of the
value of the spatial grid size (i.e., +x).
3.4 Finite difference solutions of the convection equation 57
We now solve (3.27) for ,in+1 to find the update equation for ,:
Leapfrog
# $
v p +t 9 n :
,in+1 = ,in−1 − n
,i+1 − ,i−1 . (3.70)
+x
The mesh diagram corresponding to the leapfrog method is given in Figure 3.6. Note
in this case that we use the previous time point (i.e., ,n−1 ) as well as the next time
point (i.e., ,n+1 ) to evaluate the derivative at the current time point (n). Thus, while the
equation involves derivatives about n, we actually solve for the field at time step n + 1;
however, this requires knowledge of , two time steps back, and thus extra storage in
computer memory.
The solution of (3.70), for the same parameters as those used for the forward-time
centered space method (i.e., +x = 0.05 ft, and +t = 0.025 ns), is given in the right-
hand column of Figure 3.7. As before, ,(x, t) is depicted across the spatial grid at time
instants t = 0.25, 0.5, 0.75, and 1.0 ns, and the exact solution (i.e., the triangular pulse
of Figure 3.5) is also shown for comparison. It is clear that unlike the forward-time
centered space method, the leapfrog technique is stable, at least for the chosen values
of +x and +t. Because of its stability, this method is also far more accurate than
the forward-time centered space method; the accuracy is a direct result of the higher-
order terms that are dropped from the Taylor series expansions in Equations (3.46) and
(3.56). We will have much more to say on the accuracy of finite difference methods in
Chapter 6.
It is instructive at this point to investigate the dependence of the solution on the chosen
values of +t and +x. Plots of the line voltage distribution at t ≃ 0.25 ns are shown
in Figure 3.8, calculated with the leapfrog method using different values of +t, with
+x = 0.05 ft. It is clear that the leapfrog method remains stable and reasonably accurate
as the time step is increased from +t = 0.025 ns to +t slightly less than 0.05 ns. The
result for +t = 0.05 ns appears to be stable, but is substantially less accurate than that
of +t = 0.0475 ns, and when +t is increased to 0.0525 ns, the solution becomes very
unstable. In fact, the result for +t = 0.06 ns is not shown since none of its values lie in
the range of the plots! Thus, it appears that for this set of parameters (i.e., our choice
of +x = 0.05 ft and the known value of v p ), a condition for stability of the numerical
method is +t ≤ 0.05 ns. It is interesting to note from (3.28) that with v p = 1 ft-(ns)−1
58 Partial differential equations and physical systems
,(x,t) at t ≈ 0.25 ns
(V)
8 8
6 6
4 4 ∆ t = 0.0500 ns
∆t = 0.0250 ns
2 2
x (ft)
8 8
6 6
∆t = 0.0475 ns ∆t = 0.0525 ns
4 4
2 2
Figure 3.8 Dependence of the leapfrog method solution on +t. The voltage distribution
,(x, t ≃ 0.25 ns) is shown for different values of +t. The spatial grid size +z was kept
constant at +x = 0.05 ft.
v p +t (1)(0.05)
+t ≤ 0.05 ns → ≤ = 1. (3.71)
+x 0.05
This condition, that v p +t/+x must be less than 1, is known as the Courant-Friedrichs-
Lewy (CFL) stability condition, and will be derived more formally in Chapter 5 by using
the von Neumann method for analyzing the stability of finite difference schemes.
Note that since the only dependence of the finite difference algorithm (3.28) on +t
and +x is in terms of the ratio v p +t/+x, one might at first think that the results given
in Figure 3.8 for fixed +x and varying +t also represent corresponding results for fixed
+t and different values of +x; in other words, one might suppose that we can simply
halve (or double) both +t and +x together and get the same results. That this is not the
case is illustrated in Figure 3.9, where we illustrate snapshots of ,(x, t) at t = 1 ns for
triangular pulses of different lengths and also for different values of +x.
The left column shows solutions using +x = 0.05 ft as before, and the first three also
use +t = 0.025 ns, similar to the top left solution in Figure 3.8. However, the pulse
width has been shortened from (a) 1 ns to (b) 0.4 ns and finally to (c) 0.2 ns. In the
fourth example (d), the time step +t has been cut in half to 0.0125 ns. In the first three
solutions in the right column, the spatial grid size has been halved to +x = 0.025 ft
and the time step +t has been progressively increased, (f) close to, and (g) beyond, the
CFL condition. The last solution on the right (h) should be compared to the bottom left
3.4 Finite difference solutions of the convection equation 59
,(x,t) at t ≈1 ns
8 (V) 8 ∆t = 0.0125 ns
∆x = 0.025 ft
6 6
∆t = 0.025 ns
(a) 4
(e)
4
∆x = 0.05 ft
2 2
x (ft)
0.5 1 1.5 2 2.5 0.5 1 1.5 2 2.5
−2 −2
8 ∆t = 0.025 ns 8 ∆t = 0.02375 ns
∆x = 0.05 ft ∆x = 0.025 ft
6 6
4 (b) 4 (f)
2 2
8 ∆t = 0.025 ns 8 ∆t = 0.0255 ns
∆x = 0.05 ft ∆x = 0.025 ft
6 6
4 (c) 4
(g)
2 2
8 ∆t = 0.0125 ns 8 ∆t = 0.0475 ns
∆x = 0.05 ft ∆x = 0.05 ft
6 6
4 (d) 4 (h)
2 2
Figure 3.9 Leapfrog technique applied to different initial voltage distributions. (a) ,(x, t = 1 ns)
for triangular pulse of beginning-to-end length of 1 ns. (b) Same for a 0.4 ns pulse. (c) Same for
a 0.2 ns pulse, with (+t/+x) = 0.5. (d) Same as (c) but with +t halved, (+t/+x) = 0.25.
(e) Same as (c) but with both +x and +t halved; (+t/+x) = 0.5. (f) Same as (c) but with +x
reduced by a factor of two; (+t/+x) = 0.95. (g) Same as (f) but (+t/+x) = 1.02. (h) Same as
(c) but with +t approximately doubled; (+t/+x) = 0.95.
60 Partial differential equations and physical systems
solution of Figure 3.8; the parameters are the same, but the pulse has been reduced to
0.2 ns.
We can make a number of important observations from Figure 3.9:
1. For any given set of values of (+t, +x), the accuracy of the leapfrog algorithm
deteriorates as the duration of the input pulse becomes shorter.
2. For a short pulse, e.g., the 0.2 ns pulse in Figure 3.9c, better results are obtained
by decreasing the mesh size +x (i.e., Figure 3.9f) rather than decreasing +t (i.e.,
Figure 3.9d).
3. For any given mesh size +x, better results are obtained when the ratio (+t/+x) is
closer to unity, although the method becomes unstable when (+t/+x) exceeds unity
by even a small amount. This can be seen by comparing panels (e) and (f): although
(f) has a larger time step, its accuracy seems better than (e).
4. For a fixed ratio (+t/+x), better results are obtained if both +t and +x are reduced
by the same factor, as can be seen by comparing panels (c) and (e).
The fundamental reason for the behavior of the finite difference solution as illustrated
in Figure 3.9 pertains to our sampling of the initial waveform. This is properly inter-
preted as the phenomenon of numerical dispersion, which occurs because of the fact
that components of the signal at different frequencies (and thus different wavelengths)
propagate at different numerical velocities. The triangular pulse contains energy in a
range of frequencies, though most of its energy is around the frequency corresponding
to the wavelength of 1 ft (i.e., 1 GHz). In simple terms, although the finite differencing
scheme used may well be stable, we still have to ensure that the spatial mesh size used is
fine enough to properly resolve the full spectrum of wavelengths contained in the signal.
The original triangular input voltage distribution (Figure 3.9a) can either be thought of
in terms of its beginning-to-end spatial extent, which is 1 ft, or in terms of its temporal
duration, as would be observed at a fixed point. In this case, the voltage distribution
would pass by an observer in 1 ns, since the propagation speed is v p ≃ 1 ft-(ns)−1 . The
frequency components of such a 1 ns pulse are contained in a narrow band centered
around ∼ (1 ns)−1 =1 GHz, corresponding to a wavelength (with v p ≃ 1 ft-(ns)−1 ) of
λ = v p /(1 GHz) ≃ 1 ft. In practice, it is typically necessary to select a mesh size so
that the principal frequency components are resolved with at least 10 mesh points per
wavelength.
The numerical dispersion properties of different finite difference methods will be
more formally studied in Chapter 6.
The mesh diagram showing the various derivatives used in the Lax-Wendroff one-step
method is shown in Figure 3.10. Note that the time derivative is essentially evaluated in
a forward manner, whereas the space derivative is evaluated in a centered manner using
three points. Now, one might be tempted to think that this method is third-order accurate,
since the error term that is dropped from (3.33) is O[(+t)3 ]; however, since both of the
spatial derivatives used in (3.34) are second-order accurate, the resulting algorithm is
also second-order accurate.
Lax-Wendroff Lax-Wendroff
t one-step two-step
nmax
∇ ∆t
t
n+1
d/dt
n+1
n d/dz n
n–1
n–1
2
1
∆x
0 ∇
x imax x i–1 i+1
1 2 3 i i
i–1 i+1
(a) (b)
Figure 3.10 Mesh diagram for the one- and two-step Lax-Wendroff methods. The grid points
which are involved in the evaluation of the time derivative are indicated as open circles, whereas
those used in calculating the space derivatives are indicated by open squares.
Maxwell’s equations), the one-step method becomes too complicated, and different two-
step methods have been proposed which are simpler and more accurate. Since Maxwell’s
equations are clearly linear, we shall generally not need to resort to such methods in
this course. However, we list one such method here for illustration, as it may be useful
in modeling electromagnetic problems involving nonlinear media. In fact, this two-step
Lax-Wendroff algorithm has a number of other desirable properties, including minimal
numerical dissipation and dispersion.
The two-step Lax-Wendroff method, first proposed by Richtmeyer [7] and then modi-
fied by Burstein [8] who applied it over half-mesh spacings, is evaluated by first solving
for the field , at time step n + 1/2, at both spatial points i + 1/2 and i − 1/2, using the
forward-time centered space method:
# $
n+1/2 1 n 1 v p +t 9 n :
,i+1/2 = [,i+1 + ,in ] − ,i+1 − ,in (3.78)
2 2 +x
# $
n+1/2 1 1 v p +t 9 n :
,i−1/2 = [,in + ,i−1 n
]− n
,i − ,i−1 . (3.79)
2 2 +x
Note that the first term on the right-hand side of both equations is effectively the
n
previous value of the field at the same spatial point, i.e., ,i+1/2 in Equation (3.78) and
n
,i−1/2 in Equation (3.79); both are found by spatial averaging of the field at known,
integer grid points. Next, these two equations are used in the leapfrog method (3.70),
using half-steps, to advance from time step n + 1/2 to time step n + 1:
Lax-Wendroff two-step
# $; <
v p +t n+1/2 n+1/2
,in+1 = ,in − ,i+1/2 − ,i−1/2 (3.80)
+x
3.5 Finite difference methods for two coupled first-order convection equations 63
Written in terms of only the known, integer-location fields, we can write the two-step
Lax-Wendroff method as:
# $ # $
n+1 n 1 v p +t 9 n n
: 1 v p +t 2 9 n :
,i = ,i − ,i+1 − ,i−1 + ,i+1 − 2,in + ,i−1n
.
2 +x 2 +x
(3.81)
Hence, note that while the method is inherently a two-step method, the two “half-
steps” can be combined into a single equation, leaving what is essentially a one-step
method – and, we should note, is exactly the same as the one-step method! Thus, we see
that for the simple case of linear PDEs such as the convection equation, the two-step
method collapses to the one-step method; however, this is not the case for nonlinear
PDEs or systems of PDEs.
The mesh diagram showing the various derivatives used in the Lax-Wendroff two-step
method is shown in Figure 3.10. Note that the time derivative is essentially evaluated in
a forward manner, whereas the space derivative is evaluated in a centered manner using
three points.
We have seen in previous sections that single PDEs can be converted to FDEs by
straightforward replacement of time and space derivatives with appropriate finite dif-
ference approximations. In the same manner, we can convert two coupled PDEs into
their equivalent two coupled FDEs and then algebraically solve them to determine an
algorithm to use for time-marching type of solutions. As an example of two coupled
first-order convection equations, we consider the telegrapher’s Equations (3.4) for a
lossless transmission line, rewritten in a slightly different form:
∂, 1 ∂-
+ =0 (3.82a)
∂t C ∂x
∂- 1 ∂,
+ = 0. (3.82b)
∂t L ∂x
Directly applying Equation (3.47) for the time derivatives and Equation (3.57) for the
space derivatives and manipulating, we find:
Whereas using (3.48) for the time derivatives and (3.58) for the space derivatives yields
the leapfrog algorithm:
Leapfrog
# $
+t 9 n :
,in+1 = ,in−1 − n
-i+1 − -i−1
C +x
# $ . (3.84)
+t 9 n :
-in+1 = -in−1 − n
,i+1 − ,i−1
L +x
In practice, when advancing (in time) two different variables , and -, which are
related to one another through their derivatives in time and space, interleaving the
finite difference meshes for the two variables often leads to better results, as one might
intuitively expect. In this case, the first-order coupled Equations (3.82) are converted to
finite difference approximations at different grid points; the voltage , is discretized at
integer grid points in both time and space (i, n), while the current - is discretized at half
grid points (i + 1/2, n + 1/2):
n+1/2 n+1/2
,in+1 − ,in 1 -i+1/2 − -i−1/2
+ =0 (3.85a)
+t C +x
n+1/2 n−1/2 n
-i+1/2 − -i+1/2 1 ,i+1 − ,in
+ = 0. (3.85b)
+t L +x
Note that the first equation is discretized at time step n + 1/2 and spatial step i, while
the second equations is discretized at time step n and spatial step i + 1/2. Rearranging,
this leads to the interleaved leapfrog algorithm:
Interleaved leapfrog
# $; <
+t n+1/2 n+1/2
,in+1 = ,in
− -i+1/2 − -i−1/2
C +x
# $ . (3.86)
n+1/2 n−1/2 +t 9 n n
:
-i+1/2 = -i+1/2 − ,i+1 − ,i
L +x
Note, as mentioned above, that the values of voltage are only available at points (i, n)
whereas those of the current are kept at mesh points (i + 1/2, n + 1/2). This spatial
arrangement and the leapfrog time-marching are indicated in Figure 3.11. Note that
the two quantities (i.e., , and -) are advanced in time by using the value of the other
quantity at an intermediate time point.
This type of interleaved placement of the physical quantities and the leapfrog time-
marching forms the basis for the FDTD method for solving Maxwell’s equations, the
so-called Yee algorithm, which we shall study in the next chapter.
3.6 Higher-order differencing schemes 65
Space-interleaved leapfrog
Leapfrog in time
n+1
,n+1
n+1/2
n -n+1/2
n–1/2 ,n
n–1 -n–1/2
∆t ,n–1
∆x
-(x,t) i+1/2
i–1/2
Figure 3.11 Mesh diagram for the interleaved leapfrog method. The grid points for the voltage
,(x, t) are marked as open circles, whereas those used for the current -(x, t) are indicated by
open squares. The leapfrog time-marching algorithm is also depicted.
Each of the differencing schemes presented above was second-order accurate, meaning
the difference between the original PDE and the FDE (i.e., the error term) goes as (+t)2
or (+x)2 . This means that if we halve +x, for example, the spatial error is reduced by a
factor of 4.
The FDTD algorithm, which will be presented in the next chapter, is also second-
order accurate, and we will restrict our discussion in this book to second-order accurate
methods. However, it should not be assumed that this is the limiting accuracy of the
FDTD method, but rather it is the conventional choice. One can easily apply higher-
order algorithms when greater accuracy is required (the accuracy of each method will
be discussed in greater detail in Chapter 6). This higher-order accuracy, however, comes
at the expense of computational speed, as well as complexity of the algorithm and
associated boundary conditions.
Higher-order algorithms can be derived in the same fashion as the second-order
accurate algorithms above. As an example, let us consider a fourth-order accurate scheme
for coupled convection Equations (3.82). We will first consider Equation (3.82a),
∂, 1 ∂-
+ = 0.
∂t C ∂x
Consider the spatial derivative ∂-/∂ x on the right-hand side. We would like to
discretize this equation at (n + 1/2, i) as in the interleaved leapfrog algorithm given
by Equation (3.86), so we need a finite difference approximation for ∂-/∂ x at this
66 Partial differential equations and physical systems
location in time and space. For fourth-order accuracy, the astute reader might guess that
we need an equation spanning four spatial grid locations. The finite difference equations
at four half-cell locations surrounding i can be written using Fourier series expansions
as:
# $ # $
+x ′ 33 1 +x 2 ′′ 33 1 +x 3 ′′′ 33
-i+1/2 = -i + - i+ - i+ - i +··· (3.87a)
2 2! 2 3! 2
# $ # $
+x ′ 33 1 +x 2 ′′ 33 1 +x 3 ′′′ 33
-i−1/2 = -i − - i+ - i− - i +··· (3.87b)
2 2! 2 3! 2
# $ # $
3+x ′ 33 1 3+x 2 ′′ 33 1 3+x 3 ′′′ 33
-i+3/2 = -i + - i+ - i+ - i + · · · (3.87c)
2 2! 2 3! 2
# $ # $
3+x ′ 33 1 3+x 2 ′′ 33 1 3+x 3 ′′′ 33
-i−3/2 = -i − - i+ - i− - i + · · · (3.87d)
2 2! 2 3! 2
where -′ = ∂-/∂ x, -′′ = ∂ 2 -/∂ x 2 , and so forth, and we have dropped the time step
superscript n + 1/2 for now. While we have kept only the terms up to -′′′ above, we will
actually need terms up to ∂ 5 -/∂ x 5 . The next step is to subtract Equation (3.87b) from
(3.87a), and similarly Equation (3.87d) from (3.87c), which eliminates the even-order
spatial derivatives:
# $ # $
= > 3 2 +x 3 ′′′ 33 2 +x 5 v 33
-i+1/2 − -i−1/2 = +x -′ 3i + - i+ - i + · · · (3.88a)
3! 2 5! 2
# $ # $
= > 3
′3 2 3+x 3 ′′′ 33 2 3+x 5 v 33
-i+3/2 − -i+3/2 = 3+x - i + - i+ - i +···
3! 2 5! 2
(3.88b)
where, as above, -v is shorthand for ∂ 5 -/∂ x 5 . We are looking for a finite differ-
ence equation for -′ that will eliminate the third-order term, so next we subtract
Equation (3.88b) from 27 times Equation (3.88a):
3 5 3
3
= > ∂- 33 9 5 ∂ -3
−-i+3/2 + 27 -i+1/2 − 27 -i−1/2 + -i−3/2 = 24+x − (+x) +···
∂ x 3i 80 ∂ x 5 3i
(3.89)
where the coefficient (−9/80) = (2/5!)(27 − 35 )/25 . Finally, solving for ∂-/∂ x, we
find:
3 - . 5 3
3
∂- 33 −-i+3/2 + 27 -i+1/2 − 27 -i−1/2 + -i−3/2 3 4 ∂ -3
= + (+x) +··· .
∂x 3i 24+x 640 ∂x5 3 i
(3.90)
We can then use this fourth-order spatial derivative with the standard second-order
time stepping to find the update equation analogous to Equation (3.86):
# $; <
+t n+1/2 n+1/2 n+1/2 n+1/2
,in+1 = ,in − −-i+3/2 + 27 -i+1/2 − 27 -i−1/2 + -i−3/2 . (3.91)
24C+x
3.7 Summary 67
Note that not only is this algorithm fourth-order accurate in space, but the coefficient
of the error term is 3/640 = 0.0047, whereas the coefficient for the second-order spatial
difference from (3.56) was 1/6 = 0.1667. This improved accuracy comes from the
1/n! term in the Taylor expansions. Notice, however, that while we have gained fourth-
order accuracy in space, we are still second-order accurate in time, due to the choice
of difference scheme in time. We can, of course, implement a similar fourth-order
differencing scheme in time to improve accuracy; however, the update equation at time
step n + 1 will then involve the values of the field at time steps n, n − 1, and n − 2,
requiring that we store extra fields in memory.
The algorithm derived in Equation (3.91) is the most commonly used fourth-order
scheme for the FDTD method. However, we will not deal with higher-order algorithms
in this book, instead sticking to the second-order accurate FDTD method; the derivation
above shows how one would go about deriving a higher-order algorithm when greater
accuracy is required.
However, it should be noted that these higher-order finite difference methods suffer
from problems at discontinuities in the simulation space, for example in the presence
of perfectly conducting surfaces. In fact, it can be shown that in the presence of such
discontinuities, any finite difference method degrades to first-order accuracy, in which
case the fourth-order discretization increases computational time without improving the
accuracy at all.
3.7 Summary
This chapter presented and classified partial differential equations (PDEs), and showed
how they are discretized to form finite difference equations (FDEs). Most of the chapter
focused on the discretization of components of the telegrapher’s equations, which relate
the voltage and current on a transmission line:
∂, ∂-
= −R - − L
∂x ∂t
(telegrapher’s equations)
∂- ∂,
= −G , − C .
∂x ∂t
PDEs are classified in this chapter as either elliptic, parabolic, or hyperbolic, according
to criteria analogous to the definitions of the ellipse, parabola, and hyperbola. Maxwell’s
Equations (2.1) and (2.3) are hyperbolic PDEs, as are the wave Equation and the one-way
wave Equations (3.19).
Following a brief introduction to the numerical integration of ordinary differential
equations in Section 3.2, the derivation of the FDE versions of PDEs was presented,
beginning with the discretization of individual partial derivatives. Of greatest importance
to the FDTD method is the second-order centered difference approximation, which for
the time derivative is given by:
3
∂ f 33n f in+1 − f in−1
≃ (second-order centered difference)
∂t 3i 2+t
68 Partial differential equations and physical systems
3.8 Problems
3.3. Comparison of Euler, leapfrog, and RK4. Plot the analytical solution to the
simple ODE given by dy/dt = (α + jω)y, where ω = 2, for 0 < t < 10 seconds,
with the initial condition y(0) = 1. Consider the two cases of α = 0 and α = ±0.1.
Now, solve this equation numerically using the Euler, Leapfrog, and RK4 meth-
ods. Plot the difference between the exact solution and real part of each of the
numerical solutions, for +t = 0.01, 0.1, and 0.5 seconds. For the RK4 method,
vary +t further to verify the stability diagram in Figure 3.3.
3.4. Pulse propagation on a lossless microstrip line. Consider the transmission line
Equations (3.4) and the voltage wave Equation (3.11) for a lossless transmission
line. Write a computer program to implement the following algorithm to solve the
voltage wave Equation (3.11):
# $
n+1 v p +t 2 9 n :
,i = ,i+1 − 2,in + ,i−1
n
+ 2,in − ,in−1
+x
1
where v p = (LC)− 2 . Your program should be parameterized in +t and +x so
that you can easily change the values of these quantities. Consider a 20-cm long
uniform lossless microstrip line having per-unit-length parameters of L = 4 nH-
(cm)−1 and C = 1.6 pF-(cm)−1 . The initial voltage distribution on the line is given
as:
⎧
⎪
⎨x − 8
⎪ Volts 8 cm ≤ x ≤ 10 cm,
,(x, 0) = −x + 12 Volts 10 cm ≤ x ≤ 12 cm,
⎪
⎪
⎩0 Volts elsewhere,
whereas the initial current is zero everywhere. Find the exact solution (see Equation
3.17) for the line voltage ,exact (x, t) to compare your numerical solutions against.
(a) To terminate the ends of the transmission line at x = 0 and x = 20 cm, try
the following two simple boundary conditions that we shall learn about in
later chapters:
x = 20 cm ,in+1
m
= ,inm −1
# $
v p +t v p +t n
Boundary Condition B: x = 0 ,n+1
1 = 1− ,n1 + ,2
+x +x
# $
v p +t v p +t n
x = 20 cm ,in+1
m
= 1− ,inm + ,im −1
+x +x
where i m is the index corresponding to the spatial FDTD grid point at x =
20 cm.
(b) Use your program to numerically determine ,(x n , ti ). Verify the numerical
dispersion and stability properties of the algorithm by varying the spatial
resolution and the relationship between +t and +x. To properly observe the
70 Partial differential equations and physical systems
Comment on the relative accuracy, stability, and speed of the two algorithms used
in this and in the previous problem. Assume that the current distribution is initially
zero everywhere.
3.6. Low-loss coaxial line. The RG17A/U is a low-loss radio frequency coaxial line
with line capacitance C ≃ 96.8 pF-m−1 and L ≃ 0.242 µH-m−1 . In this problem,
we will use the interleaved leapfrog method to measure the standing wave ratio on
this line when it is terminated by a short circuit. Theoretically, we know that the
standing wave ratio on a short-circuited lossless line is infinite; our goal in this
problem is to use this knowledge to assess the accuracy of our numerical solution.
(a) Launch a sinusoidal signal as given below from the input end of the trans-
mission line:
n
,i=1 = sin[ω0 n+t]
the standard second-order centered difference in space, or you can derive a left-
or right-sided fourth-order finite difference approximation on the boundaries.
3.8. Fourth-order method for convection equation. Consider solving the convection
Equation (3.66) with fourth-order accuracy in both time and space. Derive an
update equation for the convection equation that uses the RK4 integration in time,
and a fourth-order centered difference in space. What is f (y, t) in this case?
References
After a brief exposure to different finite difference algorithms and methods, we now
focus our attention on the so-called FDTD algorithm, or alternatively the Yee algorithm
[1], for time domain solutions of Maxwell’s equations. In this algorithm, the continuous
derivatives in space and time are approximated by second-order accurate, two-point
centered difference forms; a staggered spatial mesh is used for interleaved placement
of the electric and magnetic fields; and leapfrog integration in time is used to update
the fields. This yields an algorithm very similar to the interleaved leapfrog described in
Section 3.5.
The cell locations are defined so that the grid lines pass through the electric field
components and coincide with their vector directions, as shown in Figure 4.1. As a
practical note, the choice here of the electric field rather than the magnetic field is
somewhat arbitrary. However, in practice, boundary conditions imposed on the electric
field are more commonly encountered than those for the magnetic field, so that placing the
mesh boundaries so that they pass through the electric field vectors is more advantageous.
We will have more to say about the locations of field components later in this chapter.
Note that the Yee cell depicted in [2, Fig. 3.1] has the cell boundaries to be aligned
with the magnetic field components, rather than with the electric field components as
in Figure 4.1. This choice of the particular way of associating the spatial indices i, j,
and k with the field quantities is obviously arbitrary and should not matter in the final
analysis, as long as one is consistent.
The fundamental unit of our 3D grid, known as the Yee cell, is shown in Figure 4.1.
With the Yee cell so defined, the spatial derivatives of various quantities are evaluated
using the simple two-point centered difference method. For example, the z derivative
of any given field component & evaluated at time n+t and at the mesh point (i, j, k) is
given as
3
∂& 33n &i,n j,k+1/2 − &i,n j,k−1/2
= + O[(+z)2 ]. (4.1)
∂z 3i, j,k +z
This implies that the field & is defined at integer grid points in x and y (i.e., i
and j) and at half grid points in z (i.e., z + 1/2). Now consider a real field, for
example, the z component of the magnetic field, "z , which is defined at mesh points
(i ± 1/2, j ± 1/2, k) as shown in Figure 4.1. The derivative of "z with respect to x at
The FDTD grid and the Yee algorithm 73
!y
!x "z
(i–1, j+1, k+1)
(i, j, k+1)
!x
!y
"x !z
!z "y
"y
"x
!z (i–1, j+1, k)
(i, j, k) "z !x
!y
(i, j+1, k)
x y
Figure 4.1 Placement of electric and magnetic field components in a 3D staggered mesh, known
as the Yee cell. The small vectors with thick arrows are placed at the point in the mesh at which
they are defined and stored. For example, ! y is defined/stored at mesh points (i + m 1 , j +
+ 1/2m 2 , k + m 3 ), where m 1,2,3 = 0, ±1, ±2, . . . , while " y is defined/stored at mesh points
(i − 1/2 + m 1 , j + m 2 , k + 1/2 + m 3 ), where m 1,2,3 = 0, ±1, ±2, . . . .
the point (i, j + 1/2, k) (at which, by the way, ! y is defined) and at time step n is given
by:
3 3n 3n
∂"z 33n "z 3i+1/2, j+1/2,k −"z 3i−1/2, j+1/2,k
= + O[(+x)2 ]. (4.2)
∂ x 3i, j+1/2,k +x
The derivatives in time are also discretized with second-order centered difference
approximations such as that given in Equation (3.49), but the updating of ! and " are
staggered in time by one half time step; in fact, the components of " are defined at half
time steps, n + 1/2. In vector form we can write the discretized Maxwell’s equations
as:
3 n+1 n
∂! 33n+1/2 ! −! 1
≃ = [∇ × "]n+1/2
∂t 3 +t ϵ
3n+1 n+3/2 n+1/2
∂" 33 " −" 1
3 ≃ = − [∇ × !]n+1 .
∂t +t µ
74 The FDTD grid and the Yee algorithm
"n+3/2
n t
!
n+1/2
"
Figure 4.2 Leapfrog time marching of electric and magnetic field vectors.
n+1 +tn
! =! + [∇ × "]n+1/2 (4.3a)
ϵ
n+3/2 n+1/2 +t
" =" − [∇ × !]n+1 . (4.3b)
µ
This leapfrog updating in time is identical to that given in Figure 3.11 for voltage ,
instead of ! and current - instead of ". This is depicted in Figure 4.2.
The next step in the derivation of the FDTD algorithm is to discretize the spatial
components on the right-hand side of Equations (4.3). In Section 4.6, we will look
at cylindrical and spherical coordinate systems; for simplicity, however, we begin with
Cartesian coordinates. Maxwell’s equations in a source-free, simple medium in Cartesian
coordinates are given by:
# $ # $
∂!x 1 ∂"z ∂" y ∂"x 1 ∂! y ∂!z
= − = −
∂t ϵ ∂y ∂z ∂t µ ∂z ∂y
# $ # $
∂! y 1 ∂"x ∂"z ∂" y 1 ∂!z ∂!x
= − = − (4.4)
∂t ϵ ∂z ∂x ∂t µ ∂x ∂z
# $ # $
∂!z 1 ∂" y ∂"x ∂"z 1 ∂!x ∂! y
= − = − .
∂t ϵ ∂x ∂y ∂t µ ∂y ∂x
Next, we will look at the discretization of these equations, starting with 1D and
building up to the 2D and 3D cases.
The simplest expression of Maxwell’s equations in the FDTD algorithm can be found
by limiting ourselves to the consideration of electromagnetic fields and systems with
no variations in two dimensions, namely, both z and y. We thus drop all of the y and
z derivatives in Equations (4.4) above. For now, we neglect magnetic or electric losses
4.1 Maxwell’s equations in one dimension 75
(i.e., let σ = 0 and σm = 0) and assume simple and source-free media, so that ρ̃ = 0,
% = 0, and ϵ and µ are simple constants, independent of position (i.e., the medium
is homogeneous), direction (isotropic), or time. With these simplifications, Maxwell’s
Equations (2.1) and (2.3) simplify to:
∂!x ∂"x
=0 =0
∂t ∂t
∂! y 1 ∂"z ∂" y 1 ∂!z
=− = (4.5)
∂t ϵ ∂x ∂t µ ∂x
∂!z 1 ∂" y ∂"z 1 ∂! y
= =− .
∂t ϵ ∂x ∂t µ ∂x
Note that two of the equations have disappeared completely; the remaining equations
involve only derivatives with respect to x and with respect to t. We can now organize
the remaining four equations into pairs that are completely independent of each other:
∂" y 1 ∂!z
1D TM = (4.6a)
∂t µ ∂x
∂!z 1 ∂" y
= (4.6b)
∂t ϵ ∂x
and
∂! y 1 ∂"z
1D TE =− (4.7a)
∂t ϵ ∂x
∂"z 1 ∂! y
=− . (4.7b)
∂t µ ∂x
For example, note that Equations (4.6) involve x- and t-derivatives of !z and " y ,
but do not involve "z or ! y ; the opposite is true of Equations (4.7). The first pair are
referred to as the TM mode, and the second comprise the TE mode.1 The placement
of the electric and magnetic field vectors on a one-dimensional Yee grid is shown in
Figure 4.3 for both TM and TE cases.
The corresponding finite difference equations are found by applying second-order
centered differences to both the time and space derivatives in Equations (4.6) and (4.7).
As shown in Figure 4.3, the components of ! are located at integer grid points in x, and
integer grid points in time t as well; the components of " are located at half grid points.
1 Note that these TM and TE mode definitions are different from those in classic waveguide analysis. The
meaning of the nomenclature will become clear when we discuss the 2D FDTD algorithm.
76 The FDTD grid and the Yee algorithm
z z
TE
TM
!z
y "z !y
"y y
!z i
i
x x
i+1/2 i+1/2
"z
i+1 !y
!z "y i+1
!y
(a) (b)
Figure 4.3 The placement of electric and magnetic field vectors for Maxwell’s equations in one
dimension. Both the TM and TE cases are shown.
1D TE mode
3n+1 3n - 3 3n+1/2 .
3 3 +t 3n+1/2 3
!y 3 = !y 3 − "z 3 − "z 3
i i ϵi +x i+1/2 i−1/2
3n+1/2 3n−1/2 ; 3 3n < (4.8)
3 3 +t 3n 3
"z 3 = "z 3 − !y 3 − !y 3
i+1/2 i+1/2 µi+1/2 +x i+1 i
and
1D TM mode
3n+1/2 3n−1/2 +t ; 3n 3n <
3 3 3 3
"y 3 = "y 3 + !z 3 − !z 3
i+1/2 i+1/2 µi+1/2 +x i+1 i
3n+1 3n - 3 3 . (4.9)
3 3 +t 3n+1/2 3n+1/2
!z 3 = !z 3 + "y 3 − "y 3
i i ϵi +x i+1/2 i−1/2
Note that Equations (4.8) and (4.9) are identical to the interleaved leapfrog algorithm
given in Equation (3.86) in terms of voltage , and current - except for the substitution
of ϵ for C and µ for L.
A comment is necessary about starting the FDTD simulation. If we begin with
an initial electric field distribution !0z over the simulation space, then Equation (4.9)
suggests that we need "−1/2 y in order to proceed with updating. Usually, one simply
1/2
estimates " y instead, and proceeds to the update equation for !nz . However, the accuracy
of the simulation is highly dependent on the first time step "1/2
y , so higher-order methods
are required to make that estimate.
4.1 Maxwell’s equations in one dimension 77
1
!z field (V/m)
0.5
−0.5
−1
−10 −5 0 5 10
Gaussian Pulse Source at x = 0
0.5
0
−10 −5 0 5 10
x (meters)
Figure 4.4 1D FDTD simulation examples. The top panel shows a snapshot of !z at t = 50 ns of
a simulation using a sinusoidal source at the center of the grid. The lower panel shows
successive snapshots of !z where the source is a Gaussian pulse.
This problem goes away in most circumstances, when the simulation space is assumed
to have zero fields initially; then both !0z and "−1/2
y are zero everywhere.
shows that our Gaussian pulse propagates to the left and right at the speed of light:
specifically, at t = 32.4 ns the pulse has traveled exactly 9.72 meters, giving a numerical
phase velocity of 3 × 108 m/s.
∂"x 1 ∂!z
=− (4.10a)
∂t µ ∂y
∂" ∂" y 1 ∂!z
−µ =∇ ×! → = (4.10b)
∂t ∂t µ ∂x
# $
∂"z 1 ∂!x ∂! y
= − (4.10c)
∂t µ ∂y ∂x
and
∂!x 1 ∂"z
= (4.11a)
∂t ϵ ∂y
∂! ∂! y 1 ∂"z
ϵ =∇ ×" → =− (4.11b)
∂t ∂t ϵ ∂x
# $
∂!z 1 ∂" y ∂"x
= − . (4.11c)
∂t ϵ ∂x ∂y
As we did with the 1D case, we can group Equations (4.10) and (4.11) according to
field vector components, one set involving only !x , ! y , and "z , and another set involving
"x , " y , and !z , referred to respectively as the TE and TM modes. The resulting sets of
equations are given as:
∂"x 1 ∂!z
=− (4.12a)
∂t µ ∂y
∂" y 1 ∂!z
TM mode = (4.12b)
∂t µ ∂x
# $
∂!z 1 ∂" y ∂"x
= − (4.12c)
∂t ϵ ∂x ∂y
4.2 Maxwell’s equations in two dimensions 79
and
∂!x 1 ∂"z
= (4.13a)
∂t ϵ ∂y
∂! y 1 ∂"z
TE mode =− (4.13b)
∂t ϵ ∂x
# $
∂"z 1 ∂!x ∂! y
= − . (4.13c)
∂t µ ∂y ∂x
It is important to note that the TE and TM modes above are completely uncoupled
from one another; in other words, they contain no common vector field components and
can therefore exist independently from one another.
This particular TE and TM designation of electromagnetic wave types is quite unre-
lated to the separation into TE and TM modes of classic guided electromagnetic waves.
For time-harmonic guided waves, the z direction is generally taken to be the direction
of propagation, with all field components thus exhibiting variations in z in the form
of e− jβz , where β is the phase constant for the particular waveguide, as determined by
the boundary conditions. Thus, all field components do in fact vary with z, and the TE
(or TM) modes are identified as those waves which have a magnetic (or electric) field
component in the axial (i.e., z) direction. For the 2D electromagnetic waves in the FDTD
grid, none of the field components varies with z so that there certainly is no propagation
in the z direction; instead, the TE or TM modes are identified on the basis of whether
the wave has a nonzero " or ! component in the third dimension, which we decided
had no variation – in this case the z dimension. Hence, Equations (4.12) are identified
as the TM mode on account of the !z component.
Another way of looking at the TM and TE modes is as follows: since we have decided
that there is no variation in the z direction (i.e., all derivatives with respect to z have been
set to zero), there can be no propagation in the z direction; but, in general, propagation
in either x- or y-directions (or both) is possible. In the TM mode, only "x and " y
components are nonzero, and are in the plane of propagation. The reverse is true in the
TE mode.
Although Equations (4.12) and (4.13) are entirely symmetric, the TE and TM modes
are physically quite different, due to orientation of electric and magnetic field lines with
respect to the infinitely long axis (i.e., the z axis) of the system. Note, for example, that
the electric fields for the TE mode lie in a plane perpendicular to the long axis, so that
when modeling infinitely long metallic structures (aligned along the long axis), large
electric fields can be supported near the metallic surface. For the TM mode, however,
the electric field is along the z direction and thus must be nearly zero at infinitely long
metallic surfaces (which must necessarily be aligned with the infinite dimension in the
system) being modeled. As such, when running 2D simulations, the choice of TE or TM
modes can depend on the types of structures in the simulation.
We now separately consider the discretization of Equations (4.13) and (4.12), respec-
tively, for TE and TM modes.
80 The FDTD grid and the Yee algorithm
(i, j)
!x !y
"z y
x
i+1/2
Figure 4.5 An FDTD unit cell for transverse electric (TE) waves. The small vectors with thick
arrows are placed at the point in the mesh at which they are defined and stored. For example, ! y
is defined/stored at mesh point (i, j + 1/2), while "z is defined/stored at mesh points
(i + 1/2, j + 1/2).
(4.14c)
4.2 Maxwell’s equations in two dimensions 81
!z
"y "x
(i, j)
x y
(i, j+1)
(i+1, j) !z
i+1/2
j+1/2 "x
"y
Figure 4.6 An FDTD unit cell for transverse magnetic (TM) waves. The small vectors with thick
arrows are placed at the point in the mesh at which they are defined and stored. For example, !z
is defined/stored at mesh point (i, j), while " y is defined/stored at mesh points (i + 1/2, j).
Using (4.3) for the time derivatives, we arrive at the FDTD algorithm for TE waves:
2D TE mode
3n+1/2 3n−1/2 +t
3 3
"z 3 = "z 3 +
i+1/2, j+1/2 i+1/2, j+1/2 µi+1/2, j+1/2
⎡ 3n 3n 3n 3n ⎤
3 3 3 3
!x 3 −!x 3 !y 3 −! y 3
⎢ i+1/2, j+1 i+1/2, j i+1, j+1/2 i, j+1/2 ⎥
×⎣ − ⎦
+y +x
(4.15)
where we have explicitly acknowledged that the medium parameter values (ϵ, µ) to be
used are those at the spatial point at which the quantity is being updated. In this case, the
medium does not need to be homogeneous: the values of ϵ and µ can change throughout
the simulation space. However, this algorithm still requires that the medium is isotropic,
i.e., the parameters ϵ and µ do not vary with direction.
fashion to (4.14), by noting that the discrete electric field variables are located at the cell
edges, and including an appropriate half-cell shift. Or, one can use the pattern identified
for the TE mode (spelled out in the next section) to show that the !z component is
located at integer grid points (i, j); the "x component is located at integer x and half y
grid points, i.e., (i, j + 1/2); and the " y component is located at half x and integer y
components, i.e., (i + 1/2, j).
The spatially discretized versions of Equations (4.12) are:
⎡ 3 3 ⎤
3 3 3
! 3 − ! z3
∂"x 33 1 ⎢ z i, j+1 i, j ⎥
=− ⎣ ⎦ (4.16a)
∂t 3i, j+1/2 µ +y
⎡ 3 3 ⎤
3 3 3
!z 3 − !z 3
∂" y 33 1⎢ i+1, j i, j ⎥
= ⎣ ⎦ (4.16b)
∂t 3 i+1/2, j µ +x
⎡ 3 3 3 3 ⎤
3 3 3 3 3
"y 3 − "y 3 "x 3 − "x 3
∂!z 33 1⎢ i+1/2, j i−1/2, j i, j+1/2 i, j−1/2 ⎥
= ⎣ − ⎦. (4.16c)
∂t 3 i, j ϵ +x +y
Again using analogies to Equations (4.3) for the time derivatives, we arrive at the
FDTD algorithm for TM waves:
2D TM mode
3n+1/2 3n−1/2 - 3 3n .
3 3 +t 3n 3
"x 3 = "x 3 − !z 3 − !z 3
i, j+1/2 i, j+1/2 µi, j+1/2 +y i, j+1 i, j
3n+1/2 3n−1/2 - 3 3n .
3 3 +t 3n 3
"y 3 = "y 3 + !z 3 − !z 3
i+1/2, j µi+1/2, j +x
i+1/2, j i+1, j i, j
⎡ 3n+1/2 3n+1/2 3n+1/2 3n+1/2 ⎤
3 3 3 3
3n+1 3n "y 3 − "y 3 "x 3 − "x 3
3 3 +t ⎢ i+1/2, j i−1/2, j i, j+1/2 i, j−1/2 ⎥
!z 3 = !z 3 + ⎣ − ⎦
i, j i, j ϵi, j +x +y
(4.17)
where we have again explicitly denoted the medium parameter values (ϵ, µ) as those
at the spatial point at which the quantity is being updated, removing the restriction of
homogeneity.
2
√
Note the 2 in this formula for +t; this is a result of operating in 2D. We will derive this stability restriction
formally in Chapter 5.
4.2 Maxwell’s equations in two dimensions 83
–2
–4
–2
–4
–4 –2 0 2 4 –4 –2 0 2 4
x (meters) x (meters)
r–1/2
!z-field (V/m)
0.4
0.1 trend line
0
0
−0.4
−4 −2 0 2 4 −4 −2 0 2 4
x (meters) x (meters)
Figure 4.7 2D FDTD simulation examples. In the left column, the space has been excited by the
derivative of Gaussian source at the center of the space; in the right column,
√ a sinusoidal source.
The lower panels show a slice through the center, demonstrating the 1/ r decay of the fields
with distance.
cells, giving ∼11 meters in each dimension; the figure zooms in to the range from −5 to
5 meters.
In the left column, the space is excited by the derivative of a Gaussian pulse at
2 2
the center point given by !z,in = !0 e−(n−8) /4 , i.e., the pulse has a 1/e half-width of
four time steps, and ramps up smoothly from zero. Note that excitation with a Gaussian
84 The FDTD grid and the Yee algorithm
!x i + 1/2 j k
!y i j + 1/2 k
!z i j k + 1/2
"x i j + 1/2 k + 1/2
"y i + 1/2 j k + 1/2
"z i + 1/2 j + 1/2 k
leads to unphysical fields left in the space due to “grid capacitance” [2]. For this reason it
is prudent to use the first derivative of a Gaussian as an excitation source for broadband
simulations.
In the right column, the center point is excited by a sinusoidal source at 278 MHz,
ensuring exactly 20 grid cells per wavelength. The figures show the magnitude of the !z
field (i.e., the absolute value), so each concentric ring is half a wavelength. The bottom
panels show slices through the center of the expanding concentric rings; in the case of
the Gaussian source, we show snapshots of the expanding field at successive times, while
for the sinusoidal source we show a single snapshot. In both cases, we can see that the
√
fields decay with radius at exactly 1/ r : recall that for cylindrical symmetry the power
√
decays as 1/r , so each of the fields ! and " decay as 1/ r .
We have hinted up to this point that there is a pattern in the location of field values in the
Yee cell. Looking at Figure 4.1, and writing down the locations of each of the six field
components, we arrive at Table 4.1. The pattern is as follows:
! For the ! components, for a = x, y, z, the a-location is half-integer, while the other
a
! For the " components, it is exactly the opposite: the a-location is integer, while the
two are integer.
a
other two are half-integer.
This is further illustrated in Figure 4.8, which expands Figure 4.1 and shows two
slices in the x-plane, at i and i − 1/2. These two plane slices are the same at i ± m and
i ± m − 1/2, for any integer m. Note that these two slices are, in fact, the TE and TM
mode patterns in the y-z plane.
For completeness, we present here the full FDTD expressions for Maxwell’s equa-
tions in simple media in three dimensions, derived by discretizing Maxwell’s Cartesian
4.3 FDTD expressions in three dimensions 85
(i, j, k+1) z
!y
i plane !y
!x "z (i–1, j+1, k+1)
(i, j, k+1)
!z "x !z !x
!y
"x !z
!y !z "y
(i, j, k) (i, j+1, k)
"y
"x
!z (i–1, j+1, k)
(i–1/2, j, k+1)
!x "z !x "z
i–1/2 plane (i, j, k) !x
!y
(i, j+1, k)
"y "y z
x y
"z !x x y
!x
(i–1/2, j, k) (i–1/2, j+1, k)
Figure 4.8 Yee cell in 3D. The cube at right is a repeat of Figure 4.1; at left, slices of the cube are
shown at i and i − 1/2, showing the interleaved field placement in each plane.
3n+1 3n
3 3
!x 3 = !x 3 (4.18a)
i+1/2, j,k i+1/2, j,k
⎡ 3n+1/2 3n+1/2
3 3
"z 3 −"z 3
+t ⎢ i+1/2, j+1/2,k i+1/2, j−1/2,k
+ ⎣
ϵi+1/2, j,k +y
3n+1/2 3n+1/2 ⎤
3 3
"y 3 − "y 3
i+1/2, j,k+1/2 i+1/2, j,k−1/2⎥
− ⎦
+z
3n+1 3n
3 3
!y 3 = !y 3 (4.18b)
i, j+1/2,k i, j+1/2,k
⎡ 3n+1/2 3n+1/2
3 3
"x 3 −"x 3
+t ⎢ i, j+1/2,k+1/2 i, j+1/2,k−1/2
+ ⎣
ϵi, j+1/2,k +z
3n+1/2 3n+1/2 ⎤
3 3
"z 3 −"z 3
i+1/2, j+1/2,k i−1/2, j+1/2,k ⎥
− ⎦
+x
86 The FDTD grid and the Yee algorithm
3n+1 3n
3 3
!z 3 = !z 3 (4.18c)
i, j,k+1/2 i, j,k+1/2
⎡ 3n+1/2 3n+1/2
3 3
"y 3 −" y 3
+t ⎢ i+1/2, j,k+1/2 i−1/2, j,k+1/2
+ ⎣
ϵi, j,k+1/2 +x
3n+1/2 3n+1/2 ⎤
3 3
"x 3 −"x 3
i, j+1/2,k+1/2 i, j−1/2,k+1/2 ⎥
− ⎦
+y
3n+1/2 3n−1/2
3 3
"x 3 = "x 3 (4.19a)
i, j+1/2,k+1/2 i, j+1/2,k+1/2
⎡ 3n 3n
3 3
!y 3 −! y 3
+t ⎢ i, j+1/2,k+1 i, j+1/2,k
+ ⎣
µi, j+1/2,k+1/2 +z
3n 3n ⎤
3 3
!z 3 −!z 3
i, j+1,k+1/2 i, j,k+1/2 ⎥
− ⎦
+y
3n+1/2 3n−1/2
3 3
"y 3 = "y 3 (4.19b)
i+1/2, j,k+1/2 i+1/2, j,k+1/2
⎡ 3n 3n
3 3
!z 3 −!z 3
+t ⎢ i+1, j,k+1/2 i, j,k+1/2
+ ⎣
µi+1/2, j,k+1/2 +x
3n 3n ⎤
3 3
!x 3 −!x 3
i+1/2, j,k+1 i+1/2, j,k ⎥
− ⎦
+z
3n+1/2 3n−1/2
3 3
"z 3 = "z 3 (4.19c)
i+1/2, j+1/2,k i+1/2, j+1/2,k
⎡ 3n 3n
3 3
!x 3 −!x 3
+t ⎢ i+1/2, j+1,k i+1/2, j,k
+ ⎣
µi+1/2, j+1/2,k +y
3n 3n ⎤
3 3
!y 3 −! y 3
i+1, j+1/2,k i, j+1/2,k ⎥
− ⎦.
+x
Note that the above expressions are for the case where we have no electric or magnetic
current sources, %i or (i . Inclusion of the sources is straightforward and will be discussed
in later chapters. Together with the discretization pattern outlined in Table 4.1, the above
4.3 FDTD expressions in three dimensions 87
!z Amplitude (dB)
−10
5.4
−20
2.7
−30
z (m) 0
−40
−2.7
−50
−5.4
5.4
2.7 5.4 −60
0 2.7
x (m) 0
−2.7 y (m)
−2.7 −70
−5.4 −5.4
Figure 4.9 3D FDTD simulation example. The sinusoidal source wave expands radially outward
from the center of the space, and the field amplitude decays as 1/r .
Equations (4.18) and (4.19) can be used to make the following observations about the
discretization process:
! The update equations for ! components are discretized in time at n + 1/2, so that
! The update equations for " components are discretized at n, so that they use the time
they use the time difference of the ! fields at times n + 1 and n.
! In each equation, the values of µ and/or ϵ are used at the same location as the field
difference of the " fields at times n + 1/2 and n − 1/2.
component being updated. This arises because the true Maxwell’s equations relate ϵ!
to " and µ" to !; as such, ϵ and µ must be discretized along with the fields.
is evident, with very little field intensity radiated in the z direction above and below the
source. In the radial direction in the x–y plane, the field decays as 1/r as expected, since
the power decays as 1/r 2 .
We have so far derived the 1D, 2D, and 3D FDTD algorithms for simple media, by
neglecting the loss terms in the two curl equations. Incorporation of these losses into the
FDTD algorithm is straightforward. These losses are denoted by electric conductivity σ ,
and sometimes magnetic conductivity σm , which are parameters of the medium just like
ϵ and µ. The magnetic conductivity σm is, strictly speaking, not physically realistic, but
is often used for artificial absorption at simulation space boundaries, as will be discussed
in Chapter 9; as such, we include it here. Note that like ϵ and µ in Equations (4.18) and
(4.19) above, the conductivities σ and σm may vary throughout the space.
n n+1/2 n−1/2
,i+1 − ,in n
-i+1/2 − -i+1/2
= −R -i+1/2 −L . (4.21a)
+x +t
n+1/2 n+1/2
-i+1/2 − -i−1/2 n+1/2 ,in+1 − ,in
= −G ,i −C . (4.21b)
+x +t
4.4 FDTD algorithm for lossy media 89
Note that Equation (4.21a) is discretized at time step n and spatial step i + 1/2, while
Equation (4.21b) is discretized at time step n + 1/2 and spatial step i. Noting that the
current and voltage are advanced in time in a leapfrog manner, there is a problem in
using Equation (4.21a) directly, since the current - is needed at time step n, but is only
available at half time steps n + 1/2. Similarly, Equation (4.21b) requires the voltage ,
at time step n + 1/2, but it is only available at integer time steps n. To estimate these
quantities with second-order accuracy, it is common to use two point averaging in time,
i.e.,
n+1/2 n−1/2
n
-i+1/2 + -i+1/2
-i+1/2 ≃ (4.22a)
2
n+1/2 ,in+1 + ,in
,i ≃ . (4.22b)
2
Substituting (4.22) in (4.21) and manipulating, we find the update equations for lossy
media:
In our example in Figure 4.10, our Gaussian pulse has a width of about 0.6 m, for
which we can approximate a frequency of ∼500 MHz. Substituting this frequency into
the equation above, we find a decay rate of ∼ α = 0.189 np/m. The smallest pulse
at the far right of Figure 4.10 has traveled 9.2 m, so its theoretical amplitude should
be e−0.189·9.2 = 0.176 V/m — in fact, measurement shows that the amplitude in the
90 The FDTD grid and the Yee algorithm
Lossless, σ = 0
0.5
1
t = 3.6 ns
!z field (V/m)
10.8 ns
0.5 18.0 ns
25.2 ns
t = 32.4 ns
0
−10 −5 0 5 10
x (m)
Figure 4.10 Lossy 1D FDTD simulation example. The case with σ = 0.001 S/m and σm = 0 is
compared to the lossless case above it.
simulation shown is ∼ 0.178 V/m, so our lossy FDTD method has very accurately
simulated the decay of this pulse.
3n+1 - . 3
3 2ϵ − σ +t 3n
!z 3 = !z 3 (4.24b)
i, j,k+1/2 2ϵ + σ +t i, j,k+1/2
⎡ 3n+1/2 3n+1/2
- . " y 33 3
− "y 3
2+t ⎢ i+1/2, j,k+1/2 i−1/2, j,k+1/2
+ ⎣
2ϵ + σ +t +x
3n+1/2 3n+1/2 ⎤
3 3
"x 3 − "x 3
i, j+1/2,k+1/2 i, j−1/2,k+1/2 ⎥
− ⎦.
+y
The similarity of the multiplying terms with the 1D version given in Equation (4.23)
is evident by making the substitutions ϵ ↔ C, µ ↔ L, σ ↔ G, and σm ↔ R.
From the 1D lossy Equations (4.23) and the two component equations above of the
3D algorithm, one should be able to distinguish a pattern in the coefficients of these
equations. If we write any particular component equation of the 3D algorithm in the
following form:
where we have used the notation ∇FD to denote the spatial differences on the right-hand
sides of Equations (4.18) and (4.19), noting that this includes the +x, +y, or +z in the
denominator. The fields & and + refer to either ! or ". We can then write the coefficients
C1 and C2 for each equation, as in Table 4.2. From these coefficients one can transform
from the lossless 3D update Equations (4.18) and (4.19) to their lossy versions; in the
same way one can find the lossy update equations for the 1D and 2D FDTD algorithms
for either TE or TM modes.
Figure 4.11 shows a 1D slice through the 3D simulation of Figure 4.9 along the x-axis.
The lossless case of Figure 4.9 is shown, as well as a lossy simulation in which we have
included σ = 10−4 S/m. One can easily observe that the field amplitudes decay with
distance faster than the lossless case, which approximately follows the 1/r trend.3
3 This trend line does not fit perfectly because we have not run the simulation long enough to smooth out any
start-up transients.
92 The FDTD grid and the Yee algorithm
0.1
1/r trend line
0.05
! Field (V/m)
−0.05
lossy σ = 0.0001 S/m
lossless σ = 0
−0.1
−50 −25 0 25 50
x (m)
Figure 4.11 Lossy 3D FDTD simulation example. The same simulation as Figure 4.9 is used, but
this time with σ = 10−4 S/m. This figure shows a 1D slice through the 3D simulation.
Before proceeding further in our discussion, we must point out an important feature of
the FDTD algorithm as presented above. The integral and differential forms of Maxwell’s
curl equations (Faraday’s law and Ampère’s law, Equations 2.1 and 2.3) have been shown
to contain Gauss’s laws (Equations 2.2 and 2.4) implicitly; this implies that the fields are
divergence-free. However, after discretizing these equations and creating the difference
equations above, there is no guarantee that the divergence-free nature of Maxwell’s
equations is maintained. The conservation of the divergence-free nature of the fields is an
important property of the FDTD algorithm and the Yee grid, as we now demonstrate here.
Consider the integral form of Equation (2.2) in a charge-free region (i.e., ρ̃ = 0):
!
∇ ·$=0 → $ · ds = 0. (4.25)
S
We apply this integral to the closed rectangular box surface (with sides +x, +y, and
+z) shown in Figure 4.12. Noting that ds is by definition always outward from the
surface, we have
! # 3 $ # 3 $
3 3
$ · ds = − ϵ!x 3 +y+z + ϵ!x 3 +y+z
S i+1/2, j i+3/2, j
# 3 $ # 3 $
3 3
− ϵ! y 3 +x+z + ϵ! y 3 +x+z . (4.26)
i+1, j−1/2 i+1, j+1/2
Taking the derivative of (4.26) with respect to time, and applying (4.15) to the ∂!x /∂t
and ∂! y /∂t terms, we find:
-! . 1 2 1 2
∂ "Bz − "Cz "Az − "Dz
$ · ds = − +y+z + +y+z (4.27)
∂t S +y +y
1 2 1 2
"Cz − "Dz "Bz − "Az
− +x+z + +x+z = 0,
+x +x
y y
z x x
z
!x
(i, j+1)
"z B !y
"z "z
B A
!y A "z
!y ∆y
!x !x
!x !x
(i, j)
C !y
"z "z "z D
C D "z
!y ∆x ∆z
Figure 4.12 FDTD evaluation of the divergence of $ = ϵ!. By integrating Gauss’s law over a
unit cell enclosed by ABCD, we demonstrate that the divergence-free nature of Maxwell’s
equations holds for the FDTD algorithm.
that if the initial conditions were such that the field was divergence free, then
F Gauss’s law
is automatically satisfied throughout any FDTD calculation, since ∂/∂t[ S $ · ds] = 0,
so that ∇ · $ = 0.
It is worth noting, however, that this divergence-free nature of the FDTD algorithm
is only valid in source-free media and for our second-order centered differencing. If we
were to use a higher-order method for spatial discretization and then apply the same
algorithm as above, in general we would find that the method is not divergence-free.
It goes without saying that the FDTD method can easily be implemented in other
orthogonal curvilinear coordinate systems, such as cylindrical or spherical coordinates.
For this purpose, we can imagine a Yee cell drawn in such a coordinate system, although it
might well be a challenge to accurately draw one, and basically follow the same procedure
as before. This is particularly easy for the 2D systems with cylindrical symmetry, since
decoupled TE and TM modes can be identified in the same manner as was done above
for Cartesian coordinates. In this section we will derive the update equations for 2D
cylindrical coordinates, as well as for 3D cylindrical and spherical coordinates.
94 The FDTD grid and the Yee algorithm
y y
TM mode TE mode
!z
!ϕ "ϕ "r
!r
"z
(i, j+1) (i, j+1) !z !z
!ϕ (i+1, j) (i+1, j)
"r !z
!r "ϕ
(i, j) (i, j)
z x z x
Figure 4.13 Two-dimensional FDTD cell in polar coordinates. As in Cartesian coordinates, fields
are located using the pattern in Table 4.1; for example, "φ is located at an integer location in φ,
but at half-integer locations in r and z.
(4.30c), must be treated as if the “field” r "φ is to be discretized; hence, our second-order
approximation of this partial derivative is:
3 3 3
∂(r "φ ) 33 ri+1 "φ 3i+1, j − ri, j "φ 3i, j
3 ≃ + O(+r 2 ). (4.31)
∂r 3 +r
i+1/2, j
Thus, including these partial derivatives, we find the update equations for the TE
mode by discretizing Equations (4.29):
⎡ 3n+1/2 3n+1/2 ⎤
3 3
3n+1 3n "z 3 −"z 3
3 3 +t ⎢ i+1/2, j+1/2 i+1/2, j−1/2 ⎥
!r 3 = !r 3 + ⎣ ⎦ (4.32a)
i+1/2, j i+1/2, j ϵi+1/2, j ri+1/2 +φ
⎡ 3n+1/2 3n+1/2 ⎤
3 3
3n+1 3n "z 3 −"z 3
3 3 +t ⎢ i+1/2, j+1/2 i−1/2, j+1/2 ⎥
!φ 3 = !φ 3 − ⎣ ⎦ (4.32b)
i, j+1/2 i, j+1/2 ϵi, j+1/2 +r
3n+1/2 3n−1/2
3 3
"z 3 = "z 3 (4.32c)
i+1/2, j+1/2 i+1/2, j+1/2
⎡ 3n 3n
3 3
!r 3 −!r 3
+t ⎢ i+1/2, j+1 i+1/2, j
+ ⎣
µi+1/2, j+1/2 ri+1/2 +φ
3n 3n ⎤
3 3
ri+1 !φ 3 −ri !φ 3
i+1, j+1/2 i, j+1/2 ⎥
− ⎦
ri+1/2 +r
96 The FDTD grid and the Yee algorithm
0 3
Transformation to
60 polar coordinates
120
Angle (deg)
y (meters)
180 0
240
−1.5
300
360 −3
−3 −1.5 0 1.5 3
x (km)
0.2 r−1/2 trend line
!z (V/m)
−0.2 !z |!z|
0 1 2 3
r (km)
Figure 4.14 2D FDTD simulation in polar coordinates, TM mode. The calculations yield fields in
a 2D r − φ grid, as shown in the top left; these are then transformed
√ to x − y to display in a
polar plot at right. The 1D slice shows how the fields decay as 1/ r .
where ri = i+r and ri+1/2 = (i + 1/2)+r , and i and j are respectively the indices in
the r and φ coordinates; later, in 3D cylindrical coordinates, we will use k as the index
in the z direction as usual. Similarly, for the TM mode we find:
⎡ 3n 3n ⎤
3 3
3n+1/2 3n−1/2 !z 3 −!z 3
3 3 +t ⎢ i, j+1 i, j ⎥
"r 3 = "r 3 − ⎣ ⎦ (4.33a)
i, j+1/2 i, j+1/2 µi, j+1/2 ri +φ
⎡ 3n 3n ⎤
3 3
3n+1/2 3n−1/2 !z 3 −!z 3
3 3 +t ⎢ i, j i+1, j ⎥
"φ 3 = "φ 3 + ⎣ ⎦ (4.33b)
i+1/2, j i+1/2, j µi+1/2, j +r
3n+1 3n
3 3
!z 3 = !z 3 (4.33c)
i, j i, j
⎡ 3n+1/2 3n+1/2 3n+1/2 3n+1/2 ⎤
3 3 3 3
ri+1/2 "φ 3 −ri−1/2 "φ 3 "r 3 −"r 3
+t ⎢ i+1/2, j i−1/2, j i, j+1/2 i, j−1/2 ⎥
+ ⎣ − ⎦.
ϵi, j ri +r ri +φ
into 200 cells, so that +φ = 1.8 degrees or 0.0314 radians. The "r , "φ , and !z fields
are stored in 2D arrays of 200 × 200 grid points, as they were for Cartesian coordinates;
what this means is that the spatial distance in the azimuthal direction grows with r . For
example, at the first grid point from the center where r = +r , the steps in φ have length
+r +φ (in radians), which in our case is only 0.47 m. At the outer edge of the space
where r = 200+r , the steps in φ are 94.2 m! Hence, while this grid is orthogonal, since
all of the coordinate vectors are orthogonal to each other, it is non-uniform.
Recall that for Cartesian coordinates, we found that stability was ensured in 1D when,
for a given spatial grid size +x, +t was chosen such that v p +t/+x ≤ 1. In 2D, √ this
requirement becomes more strict; if we choose +x ≤ +y, we require v p +t/+x ≤ 1/ 2;
i.e., the stability criterion is set by the smallest spatial grid size. Here, our smallest grid
cells are those closest to the center;√ with +r = 15 m and r +φ ≥ 0.47 m, we require
approximately v p +t/r +φ ≤ 1/ 2. The strict 2D stability criterion will be derived in
detail in Chapter 5.
The resulting !z field in r − φ coordinates is shown in Figure 4.14, showing a snapshot
at time t = 8 µs. By transforming the coordinates into x − y pairs, we plot these fields
in their correct polar pattern on the right. As one can imagine by comparing the left
(uniform) grid with the right (nonuniform) grid, there is a much higher density of points
at the center of the grid compared to the edges! As such, this scheme is a simple example
of a nonuniform grid. The lower panel shows the 1D slice through a radius of the field
pattern, showing the r −1/2 falloff of the fields with distance as expected.
Finally, note the discontinuity between the first and last array indices in φ. In our polar
coordinate system in Figure 4.13, for the TM mode, the !z component on the x-axis (i.e.,
at φ = 0) requires the "r component below (i.e., at φ = −+φ/2) in its update equation.
This minor correction can be implemented quite easily in the update equations; similar
corrections are required for the TE mode where the !r component is on the φ = 0 axis.
z TM mode z TE mode
(i, k+1) (i, k+1)
!ϕ
!ϕ "z !r
"r "r !z
!z
"ϕ
!ϕ !ϕ
r r
Figure 4.15 Two-dimensional FDTD cell in 2D cylindrical coordinates, with ∂/∂φ = 0. The
same pattern of field placement holds as described in Figure 4.13.
and
- .
∂!r 1 ∂"φ
=− (4.35a)
∂t ϵ ∂z
- .
∂"φ 1 ∂!z ∂!r
TE mode,∂/∂φ = 0 = − (4.35b)
∂t µ ∂r ∂z
- .
∂!z 11 ∂
= (r "φ ) . (4.35c)
∂t ϵ r ∂r
Again, this latter set of equations is designated the TE mode because the components
of ! are in the r − z plane of the simulation. These equations can be discretized in the
same way as the previous case, using the unit cells shown in Figure 4.15. This procedure
yields the update equations, first for the TM mode:
⎡ 3n 3n ⎤
3 3
3n+1/2 3n−1/2 +t !φ 3 −!φ 3
3 3 ⎢ i,k+1 i,k ⎥
"r 3 = "r 3 − ⎣ ⎦ (4.36a)
i,k+1/2 i,k+1/2 µi,k+1/2 +z
3n+1/2 3n−1/2
3 3
"φ 3 = "φ 3 (4.37b)
i+1/2,k+1/2 i+1/2,k+1/2
⎡ 3n 3n 3n 3n ⎤
3 3 3 3
!z 3 −!z 3 !r 3 −!r 3
+t ⎢ i+1,k+1/2 i,k+1/2 i+1/2,k+1 i+1/2,k ⎥
+ ⎣ − ⎦
µi+1/2,k+1/2 +r +z
⎡ 3n+1/2 3n+1/2 ⎤
3 3
3n+1 3n ri+1/2 "φ 3 −ri−1/2 "φ 3
3 3 +t ⎢ i+1/2,k+1/2 i−1/2,k+1/2 ⎥
!z 3 = !z 3 + ⎣ ⎦.
i,k+1/2 i,k+1/2 ϵi,k+1/2 ri +r
(4.37c)
A problem with this algorithm arises when one considers the on-axis !z (in the TE
mode) or "z (in the TM mode) fields, i.e. at r = 0. Clearly, these update equations will
not work due to the 1/r terms, leading to division by zero. A correction to the on-axis
fields, however, is very straightforward. In the TE mode, for example, consider Ampère’s
law, Equation (2.3), applied in its integral form3to a small circular region enclosing the
axis at a radius r = +r/2, at the location of "φ 3i=1/2,k+1/2 , as shown in the left panel of
Figure 4.16. In the absence of any source current, we have:
! "
∂$
" · dl = · ds.
C S ∂t
For our purposes here, we assume that "φ does not vary along the curve C, which
is a small circle in φ at r = +r/2 (i.e., our pre-assumed azimuthal symmetry); and that
!z does not vary inside the surface S, which is the area enclosed by C. Since !z is
azimuthally symmetric, this latter assumption implies that !z also does not vary with r
between r = 0 and r = +r/2. Thus we have:
3n+1/2 ∂!z 33n+1/2
3 2
"φ 3 (2πri=1/2 ) = ϵ 3 (πri=1/2 ). (4.38)
1/2,k+1/2 ∂t 0,k+1/2
While this equation appears to suggest that the on-axis field depends only on one
value of "φ , the application of the integral form of Ampère’s law shows that it depends
on the value of "φ at the r = +r/2 grid location, but at all locations in azimuth, over
100 The FDTD grid and the Yee algorithm
k−1/2
S = ∆r2
∆r ri ri+1
Figure 4.16 Cylindrical coordinate system used in FDTD. The full 3D cylindrical coordinate
system is shown at right. At left, the method for determining the on-axis !z component for the
2D TE mode, by directly applying Ampère’s law.
which the field does not vary. We will see a similar analysis in the 3D cylindrical case
next, in which "φ is not azimuthally symmetric.
cos[(π/2) cos θ ]
F(θ ) = .
sin2 θ
It is thus evident that our half-wave dipole simulation approximately emulates the
behavior of a real half-wave dipole.
4.6 The FDTD method in other coordinate systems 101
15 0
Measured
/2 1.0 radiation
/3
10 pattern
0.75 (normalized)
−1
0 −2
θ=0
−5
−3
− /6
−10
− /3
−15 −4
3 6 9 12 15 − /2 Ideal half-wave dipole
r (meters) (dashed)
(a) (b)
Figure 4.17 Example FDTD simulation in cylindrical coordinates. (a) 2D !z field pattern in r − z
space at a snapshot in time. (b) The resulting radiation pattern as measured along the dashed
line in the left panel. The dashed line on the right is the ideal half-wave dipole radiation pattern.
- .
∂!z 11 ∂ ∂"r
= (r "φ ) − .
∂t ϵ r ∂r ∂φ
The grid cell for the 3D cylindrical case is shown in Figure 4.16. As in Cartesian
coordinates, the locations of field components follow the same pattern as shown in
Table 4.1, where now (i, j, k) refer to indices in (r, φ, z). Applying the same discretization
102 The FDTD grid and the Yee algorithm
3n+1/2 3n+1/2 ⎤
3 3
"r 3 −"r 3
i, j+1/2,k+1/2 i, j−1/2,k+1/2 ⎥
− ⎦.
ri +φ
Similar discretization procedures lead to update equations for the other components
in Equation (4.28); the remaining five update equations are given by:
3n+1 3n
3 3
!r 3 = !r 3 (4.41a)
i+1/2, j,k i+1/2, j,k
⎡ 3n+1/2 3n+1/2
3 3
"z 3 − "z 3
+t ⎢ i+1/2, j+1/2,k i+1/2, j−1/2,k
+ ⎣
ϵ ri+1/2 +φ
3n+1/2 3n+1/2 ⎤
3 3
"φ 3 −"φ 3
i+1/2, j,k+1/2 i+1/2, j,k−1/2 ⎥
− ⎦
+z
3n+1 3n
3 3
!φ 3 = !φ 3 (4.41b)
i, j+1/2,k i, j+1/2,k
⎡ 3n+1/2 3n+1/2
3 3
"r 3 − "r 3
+t ⎢ i, j+1/2,k+1/2 i, j+1/2,k−1/2
+ ⎣
ϵ +z
3n+1/2 3n+1/2 ⎤
3 3
"z 3 − "z 3
i+1/2, j+1/2,k i−1/2, j+1/2,k ⎥
− ⎦
+r
3n+1/2 3n−1/2
3 3
"r 3 = "r 3 (4.41c)
i, j+1/2,k+1/2 i, j+1/2,k+1/2
⎡ 3n 3n
3 3
!φ 3 − !φ 3
+t ⎢ i, j+1/2,k+1 i, j+1/2,k
+ ⎣
µ +z
3n 3n ⎤
3 3
!z 3 − !z 3
i, j+1,k+1/2 i, j,k+1/2 ⎥
− ⎦
ri +φ
4.6 The FDTD method in other coordinate systems 103
3n+1/2 3n−1/2
3 3
"φ 3 = "φ 3 (4.41d)
i+1/2, j,k+1/2 i+1/2, j,k+1/2
⎡ 3n 3n
3 3
!z 3 − !z 3
+t ⎢ i+1, j,k+1/2 i, j,k+1/2
+ ⎣
µ +r
3n 3n ⎤
3 3
!r 3 − !r 3
i+1/2, j,k+1 i+1/2, j,k ⎥
− ⎦
+z
3n+1/2 3n−1/2
3 3
"z 3 = "z 3 (4.41e)
i+1/2, j+1/2,k i+1/2, j+1/2,k
⎡ 3n 3n
3 3
!r 3 − !r 3
+t ⎢ i+1/2, j+1,k i+1/2, j,k
+ ⎣
µ ri+1/2 +φ
3n 3n ⎤
3 3
ri+1 !φ 3 − r i !φ 3
i+1, j+1/2,k i, j+1/2,k ⎥
− ⎦.
ri+1/2 +r
Note that we have assumed a constant ϵ here, but an inhomogeneous medium can
easily be implemented as we have shown earlier, by using the values of ϵ and µ at the
grid location at which the equation is discretized (i, j, k + 1/2 in Equation 4.40).
As we can see from Figure 4.16, however, there is a problem on the axis, as there was
in the 2D cylindrical case. In 3D, if we choose the axis to align with !z , then we have
!z , "r , and !φ components on the axis to deal with, as shown in Figure 4.16.
To update !z on the axis, we apply Ampère’s law directly, similar to the 2D case.
In this case, however, we must integrate "φ along the φ direction, at r = +r/2, rather
than simply multiplying by 2π (+r/2). Integrating in continous space is simply a sum in
discrete space, so we find [7]:
3n+1 3n Nφ
3 3 4+t G 33n+1/2
!z 3 = !z 3 + "φ 3 . (4.42)
0, j,k+1/2 0, j,k+1/2 Nφ ϵ0 +r i=1/2, p,k+1/2
p=1
Note that the summation above, when divided by Nφ (the number of grid points in
φ), is actually the average value of "φ around the contour; as such, Equation (4.42) is
nearly identical to Equation (4.39).
Now, despite the fact that !φ and "r have components on the axis, these axial
components need not be computed for the remainder of the space to be updated normally.
To see this, consider the on-axis cell in Figure 4.16. The fields that could require
knowledge of the on-axis fields are !r , "z , and "φ at r = +r/2. Now consider Equations
(4.41): in Equation (4.41a), !r does not require any of the on-axis field components;
in Equation (4.41d), "φ requires only !z on the axis, which we have updated above in
Equation (4.42). Finally, in Equation (4.41e), "z requires !φ on the axis in the last term
104 The FDTD grid and the Yee algorithm
of the equation, but this component is multiplied by ri which is equal to zero on the
axis, so it is not needed. In summary, the full set of update equations can be used for the
half-step away from the r = 0 axis, and the !φ and "r components on-axis are simply
ignored.
It is interesting to note that these axial "r and !φ components both point away from
the axis, and thus could equally be considered "φ and !r components. As such, the
computed "φ and !r fields at r = +r/2 can be used to approximate these on-axis fields
if necessary.
Finally, note that in addition to the axial correction described above, the 3D cylindrical
coordinate problem has the same 2π discontinuity in φ which must be accounted for in
the update equations, as in the 2D polar coordinate case earlier.
!ϕ ri+1,θj,ϕk
ri+1,θj,ϕk+1
ri+1
!r
θj ri "r !θ
!θ
ri,θj,ϕk+1
θj+1 "ϕ
ϕk !ϕ ri+1,θj+1,ϕ
ϕk+1 !θ
!r
"θ !r
ri,θj+1,ϕk
ri,θj+1,ϕk+1 !ϕ
Figure 4.18 Spherical coordinate system used in FDTD. The left panel shows how the coordinate
system is drawn; the right panel shows an expanded view of a unit cell. Adapted from [8].
coordinate direction. Then, the locations of field components follow the same logic
from Table 4.1; i.e., the !n components fall on the half-integer grid location for n
and the integer grid location for the other two coordinates, and vice versa for the "
field components. For example, !r is located at (i + 1/2, j, k) and "r is located at
(i, j + 1/2, k + 1/2). Note, however, that our cell size is not strictly +r × +φ × +θ ;
those last two do not even have spatial units. Rather, the grid cell has dimensions +r ,
r +θ , and r sin θ +φ. Thus, if we use constant +r , +θ , and +φ, the grid cells grow with
increasing r , and, to no surprise, we have another nonuniform grid.
As in the cylindrical coordinate case, we deal with the r and θ terms on the right
side of Equations (4.43) by simply using the values of r and θ at the location that the
equation is discretized. Similarly, the partial derivatives that include r or sin θ must be
treated in the same manner as Equation (4.31) earlier.
Applying the methods from this chapter to Equation (4.43a), and assuming σ = 0 for
simplicity, we find its update equation:
3n+1 3n
3 3
!r 3 = !r 3
i+1/2, j,k i+1/2, j,k
⎡ 3n+1/2 3n+1/2
3 3
"φ 3 sin θ j+1/2 − "φ 3 sin θ j−1/2
+t ⎢ i+1/2, j+1/2,k i+1/2, j−1/2,k
+ ⎣
ϵ ri+1/2 sin θ j +θ
3n+1/2 3n+1/2 ⎤
3 3
"θ 3 −"θ 3
i+1/2, j,k+1/2 i+1/2, j,k−1/2 ⎥
− ⎦.
+φ
(4.44)
106 The FDTD grid and the Yee algorithm
Notice that this equation requires the value of r at a half-step, coincident in the i index
with the !r field; and it also requires the values of θ at j and j ± 1/2. Of course, these
values are readily available and are simply defined by the geometry of the simulation
space. For a regular grid, ri = i+r and θ j = j+θ . The other update equations follow
from similar discretization of Equations (4.43b–f).
Now, recall that in polar coordinates, we needed to take care of the 2π discontinuity
in φ; the same issue exists in spherical coordinates, and must be accounted for in the
same manner. In addition, recall that in the 2D polar and 3D cylindrical cases, special
attention was given to field values at r = 0; this point is known as a singularity, since
some component of the update equations has a zero in the denominator. In spherical
coordinates, we have the same singularity at r = 0, which again requires special attention,
which we shall deal with in a moment; in addition, however, there are problems at θ = 0
and θ = π , i.e., along the z-axis. Observe that in Equation (4.44), the term sin θ appears
in the denominator; since sin(0) = sin(π ) = 0, we again have a singularity. As one might
anticipate, this singularity also exists in the discretized equivalents of Equations (4.43b,
d, and e), where sin θ appears in the denominator.
Holland’s [8] original formulation described a fix to the θ = 0 ( j = 1) and θ = π
( j = Nθ ) problem. Note that the only field component that presents a problem on this
axis is the !r component. The solution is to apply the same Ampère’s law contour
integral around a small contour C enclosing the z-axis, either near the north pole or the
south pole of the sphere in Figure 4.18, and evaluating the integral in φ as a summation,4
we find the following corrected update equations at θ = 0 and θ = π :
3n+1 3n Nφ 3n+1/2
3 3 +t sin θ1/2 G 3
!r 3 = !r 3 + "φ 3 +φ (4.45a)
i+1/2,1,k i+1/2,1,k 2π ϵri+1/2 (1 − cos θ1/2 ) p=1 i+1/2,1, p
3n+1 3n Nφ 3n+1/2
3 3 +t sin θ Nθ −1/2 G 3
!r 3 = !r 3 + "φ 3 +φ
i+1/2,Nθ ,k i+1/2,Nθ ,k 2π ϵ ri+1/2 (1 + cos θ Nθ −1/2 ) p=1 i+1/2,Nθ , p
(4.45b)
where we note that θ1/2 = +θ/2 and θ Nθ −1/2 = π − +θ/2.
Now, dealing with the origin (r = 0 or i = 0) is somewhat more complicated. If one
imagines the unit cell in Figure 4.18 collapsed down to the origin, we end up with a
small trapezoidal grid cell with an apex at the origin. Depending on where we put the
origin, we may either have the triplet (!r , "θ , "φ ) defined at the origin, or taking it a
half-step further out in r , we have the complementary triplet ("r , !θ , !φ ).
4 Note in this case that the area of integration on the right-hand side of Ampère’s law is the small “cap” on
the top of a sphere, and not a simple circle. The area of a small cap on a sphere at radius ri and angle θ j is:
" 2π " θj
ri2 sin θ dθ dφ = 2πri2 (1 − cos θ j ).
0 0
A similar integral for the south pole cap of the sphere yields an analogous expression, except with a
(1 + cos θ j ) term. However, if we observe that cos(π − θ j ) = −cos θ j , we find that the denominators in
Equations (4.45) are the same.
4.7 Summary 107
In the rare cases where the origin is not part of the source radiator, the methods
used to deal with this singularity involve solving a small region around the origin in
Cartesian coordinates, and then mapping those fields back to spherical coordinates on
the boundary of the small cube. The analysis of this method, however, is beyond the
scope of our current discussion. We refer interested readers to the papers by Holland [8]
and G. Liu et al. [9].
4.7 Summary
In this chapter, the interleaved leapfrog method from Chapter 3 was used to derive the
FDTD algorithm in 1D, 2D, and 3D. In 1D, the FDTD algorithm for the TM mode is
given by:
3n+1/2 3n−1/2 - 3 3n .
3 3 +t 3n 3
"y 3 = "y 3 + !z 3 − !z 3
i+1/2, j i+1/2, j µi+1/2, j +x i+1, j i, j
3n+1 3n - 3 3 . (1D TM mode)
3 3 +t 3n+1/2 3n+1/2
!z 3 = !z 3 + "y 3 − "y 3 ,
i, j i, j ϵi, j +x i+1/2, j i−1/2, j
with similar equations for the TE mode. In 2D, the FDTD algorithm for the TM mode
is given by:
3n+1/2 3n−1/2 - 3 3n .
3 3 +t 3n 3
"x 3 = "x 3 − !z 3 − !z 3 (2D TM mode)
i, j+1/2 i, j+1/2 µi, j+1/2 +y i, j+1 i, j
3n+1/2 3n−1/2 - 3 3n .
3 3 +t 3n 3
"y 3 = "y 3 + !z 3 − !z 3
i+1/2, j i+1/2, j µi+1/2, j +x i+1, j i, j
⎡ 3n+1/2 3n+1/2 3n+1/2 3n+1/2 ⎤
3 3 3 3
3n+1 3n "y 3 − "y 3 "x 3 − "x 3
3 3 +t ⎢ i+1/2, j i−1/2, j i, j+1/2 i, j−1/2 ⎥
!z 3 = !z 3 + ⎣ − ⎦,
i, j i, j ϵi, j +x +y
with similar equations for the TE mode. In 3D, there are no TE versus TM modes; the
FDTD algorithm involves six update equations, given in Equations (4.18) and (4.19).
Update equations for lossy media were derived in Section 4.4; it was shown that the
update equations for lossy media can be transcribed from the lossless equations, by
simply replacing the coefficients C1 and C2 as given in Table 4.2.
Next, it was shown in Section 4.5 that the FDTD algorithm is divergence-free, i.e.,
it inherently satisfies Gauss’s law that ∇ · $ = 0. This is an important and appealing
feature of the FDTD algorithm; zero divergence is not a feature that is inherent to any
particular discretization scheme.
In Section 4.6 we introduced other orthogonal coordinate systems, namely cylindrical
and spherical coordinates, and the discretization process that leads to FDTD update
equations in these coordinate systems. We first introduced 2D polar and cylindrical
coordinates, which are both commonly used where there is longitudinal or azimuthal
symmetry in a problem. The discretization of Maxwell’s equations in these coordinate
108 The FDTD grid and the Yee algorithm
systems again leads to TE and TM modes, but terms involving r or 1/r need to be
handled carefully.
Similarly, the 3D cylindrical and spherical coordinate systems require special handling
of r and sin θ terms which appear in the update equations. In all cases, these terms lead
to singularities at the origin or axis (where r = 0) and, in spherical coordinates, on the
axis where θ = 0 (i.e., the z-axis). These singularities are handled in the equations above
by directly applying Ampère’s law to a small contour around the z-axis.
4.8 Problems
the variation with time of the propagating pulse as observed at fixed points
on your grid, i.e., at i = i max /4, i = i max /2, and i = 3i max /4, and compare
its shape (by plotting them on top of one another) with that of the original
Gaussian pulse. Note that the pulse will be observed twice at each of these
locations, once before reflection and then again after reflection. Is the shape
of the Gaussian pulse changing as it propagates? If so, why? Comment on
your results.
(c) Repeat parts (a) and (b), but excite the simulation with the derivative of the
Gaussian above. What effect does this have on results?
4.3. 1D wave incident on a dielectric slab. Consider the propagation of a one-
dimensional electromagnetic wave in a medium and its reflection from and trans-
mission through a dielectric slab. Construct a 1D FDTD space with a lossless
dielectric slab (ϵr 2 = 2, µr 2 = 1) at the center of your grid, free space (ϵr 1 = 1,
µr 1 = 1) to the left of the slab, and another dielectric (ϵr 3 = 4, µr 3 = 1) to the
right of the slab. You should allow for the length of the slab to be adjustable.
Launch a Gaussian pulse from the left boundary of your FDTD space, which is
given by
3n
3 2 2
!z 3 = e−(n−3τ ) /τ
i=1
√
where τ +t = 0.8 ns. Choose +x ≥ λ0 /[20 ϵr ], where λ0 = 0.3 m, +t =
+x/v p , and i max +x = 3 m. Once the tail end of the pulse leaves the source
(i.e., when n = 6τ ), replace the source end with a simple boundary condition:
3n+1 3n - v +t − +x . - 3n+1 3n .
3 3 p 3 3
!z 3 = !z 3 + !z 3 −!z 3 .
1 2 v p +t + +x 2 1
Take the rightmost end of your FDTD space to be as far away as needed so that
there are no reflections from that boundary, or implement a similar radiation
boundary at i = i max .
√
(a) Taking a slab width of d = λ0 /[2 ϵr 2 ], write a program to propagate the
wave on your FDTD space and observe the behavior of the pulse as it
interacts with the slab. Can you measure the “reflection coefficient”? What
is its value? What is the transmission coefficient? Plot the reflection and
transmission coefficients as a function of frequency and compare to the
analytical expression. Comment on the differences observed. Considering
the finite precision of floating-point numbers on a computer, what is the
effective “numerical bandwidth” of your pulse?
√
(b) Repeat (a) for a slab width of d = λ0 /[4 ϵr 2 ]. Comment on your results.
4.4. 2D FDTD solution of Maxwell’s equations. Write a program implementing the
FDTD algorithm for the 2D TM mode. Assume square unit cells (i.e., +x =√ +y)
and free space everywhere in the grid, and use a time step of +t = +x/(v p 2).
Assume the outer boundary of your grid to be surrounded by perfect electrically
conducting sheets and terminate your mesh in electric field components set to
be zero at all times. Excite a radially outgoing wave in the grid by implementing
110 The FDTD grid and the Yee algorithm
a hard source for a single electric field component at the center of the grid. For
both of the sources specified below, display the electric and magnetic fields of
the wave distribution across the grid at a number of time snapshots before and
after the wave reaches the outermost grid boundary.
(a) First consider a Gaussian source waveform given as
3n
3 2 2
!z 3 = e−(n+t−1.8 ns) /(0.6 ns) .
imax/2,jmax/2
the radiation pattern by monitoring points at a constant radius from the center
of the antenna. Make the simulation space 100 × 100 × 100 grid cells, and use
20 grid cells per wavelength; note that this implies the simulation boundaries are
only 2.5 wavelengths from the antenna, so the results will be near-field radiation
patterns.
(a) Model a half-wave dipole, similar to Figure 4.9, by making five grid cells
perfect conductors above and below the source point. Drive the antenna
with a sinusoidal source at the appropriate frequency.
(b) Model a monopole antenna above a ground plane by placing the source just
above the bottom of the simulation space, and five grid cells of PEC above
the source. Compare the radiation pattern to that found in (a).
In both cases above, watch out for reflections from the simulation boundaries:
you will need to compute the radiation pattern before reflections corrupt the
solution. Why does this problem not work with a small dipole, one grid cell in
length? We will revisit and solve this problem in Chapter 7.
4.7. 2D polar coordinates. Write a 2D TM mode simulation in polar coordinates that
emulates the simulation space in Problem 4.4 above. Excite the simulation space
with a sinusoidal !z source at 30 GHz; compare the outgoing waves to those in
Problem 4.4.
4.8. 2D cylindrical coordinates. Create a 2D cylindrical simulation, choosing appro-
priate parameters +r , +z, and +t to model the same wavelength as in Problem
4.6 above. Drive the simulation with the same two sources as in Problem 4.6,
and compare the radiation patterns. How do the results differ from the previous
problem? How does the simulation time compare?
4.9. 3D circular waveguide in cylindrical coordinates. Create a simulation space
for a circular waveguide in 3D cylindrical coordinates. Let the radius of the wave-
guide be 2.7 cm, and design it for a frequency of 10 GHz. Excite the waveguide at
one end with a hard ! source at a frequency of 10 GHz, where the source field is
defined along a line through the cross-section of the waveguide. Plot a snapshot
of the field patterns a few wavelengths down the waveguide; what modes exist in
this waveguide? Repeat for frequencies of 8 GHz and 12 GHz and compare the
results.
4.10. Optical fiber. Modify the code from the previous problem so that the wave-
guide consists of a dielectric with n = 2 with radius 2.0 cm, and a region of
free space outside the dielectric. Terminate the simulation space outside the
free space region with PEC, at a radius large enough so that evanescent fields
outside the dielectric are small. Excite this fiber at one end as in the problem
above, and plot snapshots of the field pattern a few wavelengths down the fiber.
4.11. Cylindrical resonator. Modify your 3D cylindrical coordinate code from the
previous problems to model a cylindrical waveguide with radius 2 cm and thick-
ness 2 cm (the z-dimension). Give the resonator a metallic outer shell, defined
112 The FDTD grid and the Yee algorithm
by a lossy material with σ = 104 S/m a few grid cells thick. Excite the res-
onator at 10 GHz with an !z source at the center of the resonator, spanning the
z-dimension, similar to Problem 4.5 above. The quality factor of a resonator is
defined by the ratio of the energy stored in the resonant cavity to the energy dis-
sipated (per cycle) in the lossy walls. Can you find a way to measure the quality
factor Q of this resonator?
References
[1] K. Yee, “Numerical solution of initial boundary value problems involving Maxwell’s equations
in isotropic media,” IEEE Trans. on Ant. and Prop., vol. 14, no. 3, pp. 302–207, 1966.
[2] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
[3] U. S. Inan and A. S. Inan, Electromagnetic Waves. Prentice-Hall, 2000.
[4] Y. Chen, R. Mittra, and P. Harms, “Finite-difference time-domain algorithm for solving
Maxwell’s equations in rotationally symmetric geometries,” IEEE Trans. Microwave Theory
and Tech., vol. 44, pp. 832–839, 1996.
[5] H. Dib, T. Weller, M. Scardelletti, and M. Imparato, “Analysis of cylindrical transmission lines
with the finite difference time domain method,” IEEE Trans. Microwave Theory and Tech.,
vol. 47, pp. 509–512, 1999.
[6] W. L. Stutzman and G. A. Thiele, Antenna Theory and Design. Wiley, 1998.
[7] H. Dib, T. Weller, and M. Scardelletti, “Analysis of 3-D cylindrical structures using the finite
difference time domain method,” IEEE MTT-S International, vol. 2, pp. 925–928, 1998.
[8] R. Holland, “THREDS: A finite-difference time-domain EMP code in 3D spherical coordi-
nates,” IEEE Trans. Nuc. Sci., vol. NS-30, pp. 4592–4595, 1983.
[9] G. Liu, C. A. Grimes, and K. G. Ong, “A method for FDTD computation of field values at
spherical coordinate singularity points applied to antennas,” IEEE Microwave and Opt. Tech.
Lett., vol. 20, pp. 367–369, 1999.
5 Numerical stability of finite
difference methods
In Chapter 3 we looked very briefly at the stability of numerical algorithms. By trial and
error, we found the condition in Section 3.4.1 that, for a phase velocity of 1 ft ns−1 , we
required +t ≤ +x, or else the solution would rapidly go unstable as time progressed.
This condition is known as the Courant-Friedrichs-Lewy or CFL stability condition.1
In this chapter we will introduce a commonly used method for assessing the stability
of finite difference methods. We will also investigate the source of instability and more
formally derive the CFL condition.
The most commonly used procedure for assessing the stability of a finite difference
scheme is the so-called von Neumann method, initially developed (like many other finite
difference schemes) for fluid dynamics related applications. This stability analysis, based
on spatial Fourier modes, was first proposed and used by J. von Neumann during World
War II at Los Alamos National Laboratory [1, 2].
The von Neumann method is applied by first writing the initial spatial distribution
of the physical property of interest (e.g., the voltage or the electric field) as a complex
Fourier series. Then, we seek to obtain the exact solution of the finite difference equation
(FDE) for a general spatial Fourier component of this complex Fourier series represen-
tation. If the exact solution of the FDE for the general Fourier component is bounded
(either under all conditions or subject to certain conditions on +x, +t), then the FDE is
said to be stable. If the solution for the general Fourier component is unbounded, then
the FDE is said to be unstable. As we shall see, the stability criteria are generally also
functions of ω and/or k, meaning the stability also depends on wavelength.
Determining the exact solution for a Fourier component is equivalent to finding the
amplification factor q (or for a system of FDEs, the error amplification matrix [q]) in
a manner similar to that which was done for ODEs in Chapter 3. To illustrate, consider
an arbitrary voltage distribution ,(x, t) to be expressed in terms of a complex Fourier
series in space, i.e.,
∞
G ∞
G
,(x, t) = ,m (x, t) = Cm (t) e jkm x (5.1)
m=−∞ m=−∞
√
where Cm (t) is dependent only on time, j = −1 (not to be confused with the y-index),
and km = 2π/λm is the wavenumber corresponding to a wavelength λm . A general spatial
1 The CFL condition is sometimes (perhaps unfairly) referred to simply as the Courant condition.
114 Numerical stability of finite difference methods
For stability analysis, we will work with the discretized version of Equation (5.2)
given by
where we have dropped the subscript m since we shall only work with a single component
from here on, and k should not be confused with the z-index in space. Note that C(t n )
n
is a constant at our discretized time step. Also note that the values of ,i±1 , those
n n
adjacent to ,i in the grid, are simply related to ,i in the Fourier domain by a phase
shift:
n
,i±1 = C(t n ) e jk (i±1)+x = C(t n ) e jk i+x e± jk +x
' () *
,in
= ,in e± jk +x . (5.4)
The basic procedure for conducting a von Neumann stability analysis of a given finite
difference equation (FDE) involves the following steps:
1. Substitute the discretized single Fourier component as given by Equation (5.3) and
its shifted versions as given by Equation (5.4) into the FDE.
2. Express e jk +x in terms of sin(k+x) and cos(k+x) and reduce the FDE to the form
,in+1 = q ,in , so that the amplification factor q (or the amplification matrix [q]) is
determined as a function of sin(k+x), cos(k+x), and +t.
3. Analyze q or [q] to determine the stability criteria for the FDE; that is, the conditions,
if any, under which |q| ≤ 1 or for which all the eigenvalues of the matrix [q] are
bounded by unity.
We will now apply this procedure to some of the FDEs that we have worked with in
previous lectures.
We first consider the 1D single convection Equation (3.63) that was considered in
Chapter 3. Keep in mind that the stability criterion is a feature of the original partial
differential equation, along with the particular choice of discretization; as such, the
stability conditions depend critically on how we choose to discretize the PDE. This is,
in fact, a key step in designing a numerical algorithm.
5.1 The convection equation 115
Thus, the amplification factor for this scheme is complex and is given by:
# $
v p +t
q =1− j sin(k+x). (5.7)
+x
The magnitude of the amplification factor is then given by:
H
-# $ .2
4 v p +t
|q| = q q ∗ = 1 + sin(k+x) > 1. (5.8)
+x
Thus, for this method, the von Neumann stability condition (i.e., |q| ≤ 1) cannot
be satisfied for any nonzero value of k and for any time step +t. The forward-time
centered space differencing scheme is thus inherently and unconditionally unstable for
the convection equation. It should be noted, however, that this same method may well
be stable and well suited for the solution of other equations, such as the diffusion
Equation (3.10), which is discretized as shown in Equation (3.61).
Figure 5.1 demonstrates the inherent instability of the forward-time centered space
method. This 1D simulation uses +x = 0.01 ft, v p = 1 ft/ns, and +t = 0.01 ns, which
yields v p +t/+x = C = 1. A Gaussian pulse with 0.2 ns half-width is input from the
left edge. However, this simulation rapidly goes unstable, as is evident from the figure;
an oscillation growing exponentially with time appears very rapidly. Figure 5.1 shows a
snapshot of the waveform after 4 ns; the lower panel shows the waveform on a logarithmic
scale. The wave has traveled exactly 4 feet in 4 ns because the grid velocity (or lattice
speed) is exactly one spatial grid cell per time step.
2 Notice that we don’t actually need to substitute Equation (5.3) above, as it will simply cancel out in each of
the terms.
116 Numerical stability of finite difference methods
t = 4 ns C = 1.0
0
Linear Scale
−10 57
100
Log Scale
Log10(V)
0 Propagation Direction
−100
0 1 2 3 4 5
Distance (feet)
Figure 5.1 Stability of the forward-time centered space method, applied to the single convection
equation. It is evident from this result that the method is unstable.
n
Substituting Equation (5.4) (i.e., ,i±1 = ,in e± jk +x ) into Equation (5.9) and manipu-
lating, we find:
- # $ .
v p +t
,in+1 = cos(k+x) − j sin(k+x) ,in = q ,in
+x
' () *
q
so that
# $
v p +t
q = cos(k+x) − j sin(k+x). (5.10)
+x
5.1 The convection equation 117
Unstable
phase fronts t1 t2 t3
A B C ∆x
i i+1
Figure 5.2 The CFL condition in one dimension. Stable phase fronts are shown with solid lines;
unstable phase fronts, where v p +t/+x > 1, are shown with dotted lines. Note that with these
unstable phase fronts, cell B gets skipped between t2 and t3 .
Notice the similarity with q from the forward-time centered space method in (5.7): the
factor 1 has simply been replaced with a factor cos(k+x). The square of the magnitude
of the amplification factor is then given by
-# $ .2
v p +t
|q|2 = q q ∗ = cos2 (k+x) + sin(k+x)
+x
1 # $ 2
2 v p +t 2
= 1 − sin (k+x) 1 − = 1 − K. (5.11)
+x
For stability, we need |q|2 ≤ 1, so the second term on the right must be bounded by
0 ≤ K ≤ 2. The sin2 (k+x) term will always be positive and less than or equal to 1; we
therefore need the term in the square brackets to be bounded by [0, 2]. It thus appears
that the von Neumann stability condition (i.e., |q|2 ≤ 1) is satisfied for all wavenumbers
k (i.e., for all wavelengths λ, since k = 2π/λ) as long as
|v p +t| +x
≤1 → +t ≤ . (5.12)
+x |v p |
This condition for stability on the time step +t is another example of the CFL
condition [4]. With careful consideration, we can see that the CFL condition makes
perfect physical sense. Stability requires that we choose a time step smaller than the
smallest characteristic physical time in the problem, which for the convective equation
is simply the time with which we can move across one spatial mesh size at the speed
v p . Thus, the CFL condition simply requires that the lattice speed +x/+t (which we
must control) is less than the physical velocity v p in the medium we are trying to
simulate.
As another way of looking at it, in terms of +x, one could say that the CFL condition
requires +x to be large enough, or +t small enough, so that the propagating wave
doesn’t “skip” a grid cell in one time step. This is illustrated in Figure 5.2. The solid
118 Numerical stability of finite difference methods
vp = 1 ft/ns
0.5 ∆x = 0.01 ft
∆t = 0.009 ns
C = 0.9
0
1.0
∆t = 0.01 ns
C = 1.0
Voltage (V)
0.5
0
1.0
∆ t = 0.0102 ns
Voltage (V)
0.5 C = 1.02
−0.5
0 1 2 3 4 5
Distance (feet)
Figure 5.3 Stability of the Lax method, applied to the single convection equation. The
wave is stable for C ≤ 1, but goes unstable rapidly for values of C even slightly larger
than 1.
vertical lines represent a stable propagating wave, with +t = +x/v p . In this case the
wave propagates exactly one +x in one time step. The dotted vertical lines, however,
represent a wave with +t > +x/v p . Notice that between time steps t1 and t2 , grid cell
B was skipped entirely.
Figure 5.3 demonstrates the Lax method applied to the single convection equa-
tion. This simulation has the same parameters as Figure 5.1, but in the three panels
v p +t/+x = C is varied from 0.9, to 1, to 1.02. Again, a Gaussian pulse with 0.2 ns
half-width is input from the left edge. In each panel, snapshots of the waveform are
shown at t = 1, 2, 3, and 4 ns.
Notice that for C = 0.9, the method is stable: the wave is not growing. Rather, the
wave is decaying; this is an issue of accuracy, which will be discussed in great detail
in Chapter 6. When C = 1, as in the second panel, the method is stable again, and the
accuracy is much improved; the wave is not decaying with time and distance. When
we increase C to 1.02, just barely above the CFL condition, the method begins to show
signs of instability, as an oscillation appears at the front of the wave, starting at t = 3 ns.
In fact, if we had chosen C = 1.03 rather than 1.02, the wave becomes unstable so fast
that it reaches amplitudes of 30 V at t = 4 ns.
5.1 The convection equation 119
Leapfrog
# $
v p +t 9 n :
,in+1 n−1
= ,i − n
,i+1 − ,i−1 . (5.13)
+x
Substituting Equation (5.4) into Equation (5.13), and noting that ,in = q ,in−1 , we
find:
# $
n+1 ,in v p +t 9 n + jk +x :
,i = − ,i e − ,in e− jk +x
q +x
- # $ .
1 v p +t
= − j2 sin(k+x) ,in = q ,in .
q +x
' () *
q
→ q 2 + q j 2A − 1 = 0
4
→ q = − j A ± 1 − A2 (5.14)
where A = (v p +t/+x) sin(k+x). Note that q is complex, and the magnitude of q for
both roots is identically equal to one, provided that the factor under the square root is
positive; otherwise |q| > 1. Thus, we require A ≤ 1, in which case we have:
Therefore, to ensure the stability of this method for all wavenumbers k, we must have
1 − A2 ≥ 0 or |A| ≤ 1. The term sin(k+x) is always less than or equal to 1, so we require:
v p +t +x
≤1 → +t ≤ . (5.15)
+x |v p |
We thus once again arrive at the CFL condition. Note that if the factor under the
square root in (5.14) is negative (i.e., if |A| > 1), then we have |q| > 1 and the method is
unstable.
120 Numerical stability of finite difference methods
vp = 1 ft/ns
0.5
∆ x = 0.01 ft
∆t = 0.009 ns
C = 0.9
0
1.0
∆t = 0.01 ns
C = 1.0
Voltage (V)
0.5
0
1.0
∆t = 0.010005 ns
Voltage (V)
0.5 C = 1.0005
−0.5
0 1 2 3 4 5
Distance (feet)
Figure 5.4 Stability of the leapfrog method, applied to the single convection equation. The wave
is stable for C ≤ 1, but goes unstable rapidly for values of C even slightly larger than 1.
Figure 5.4 demonstrates the stability of the leapfrog method applied to the single
convection equation. This simulation has the same parameters as Figures 5.3, but in this
case, v p +t/+x = C is varied from 0.9, to 1, to 1.0005 in the three panels.
Again, for C = 0.9, the method is stable, but unlike in the Lax method, the wave is
not decaying. We will investigate the accuracy of these methods in Chapter 6; for now,
the reader should note that the leapfrog method appears to be more accurate than the Lax
method for C ̸= 1. When C = 1, in the second panel, the method is stable and accurate
again. Now, when we increase C to just 1.0005, very slightly above the CFL condition,
the method shows signs of instability, as an oscillation appears at the back of the wave
(the large oscillation from 0 to 3 feet is all part of the pulse at 4 ns). If we had chosen
C = 1.001, the wave becomes unstable so rapidly that it reaches amplitudes of almost
100 V at t = 4 ns.
The convection equation above provides a simple introduction to stability analysis, but
for the FDTD algorithm, we are interested in coupled equations. The von Neumann
stability analysis can be easily extended to systems of FDEs by using matrix notation.
To illustrate the method, we consider the stability of some of the schemes discussed in
5.2 Two coupled first-order convection equations 121
Section 3.5 of Chapter 3, for the solution of the telegrapher’s equations (3.1), repeated
below:
∂, 1 ∂-
+ =0 (3.1a)
∂t C ∂x
∂- 1 ∂,
+ = 0. (3.1b)
∂t L ∂x
Any stability analysis of Equation (5.16) must consider both equations simultaneously,
since they are obviously coupled. We do this by substituting general Fourier components
for both ,(x, t) and -(x, t), both expressed in a form similar to that given for ,(x, t)
n
in Equation (5.4); specifically, we substitute ,i±1 = ,in e± jk +x and -i±1n
= -in e± jk +x .
Making the necessary substitutions in Equation (5.16) we find:
# $
n+1 n +t 9 n + jk +x :
,i = ,i − -i e − -in e− jk +x
2 C +x
# $; <
+t
= ,in − j -in sin(k+x) (5.17a)
C +x
# $
n+1 n +t 9 n + jk +x :
-i = -i − ,i e − ,in e− jk +x
2 L +x
# $; <
n n +t
= -i − j ,i sin(k+x) . (5.17b)
L +x
In order for the algorithm described by Equation (5.16) to be stable, the eigenvalues
ζ of [q] must be bounded by unity. The eigenvalues ζ for any matrix [q] are found
122 Numerical stability of finite difference methods
by setting the determinant of the matrix {[q] − ζ [I]} to zero, where [I] is the identity
matrix. We can thus solve for the eigenvalues of [q] from
3 # $ 3
3 +t 3
3 1−ζ −j sin(k+x)33
3 C +x
3 # $ 3=0 (5.19)
3 +t 3
3− j sin(k+x) 1−ζ 3
3 L +x 3
which gives:
# $2
2 1 +t
(1 − ζ ) + sin2 (k+x) = 0
LC +x
E # $
1 +t
→ ζ =1± j sin(k+x). (5.20)
LC +x
√
With 1/LC = v p , note that the eigenvalues ζ have exactly the same form as in the
case of the single convection equation, where q is given by Equation (5.7), except that
here there are two eigenvalues, denoted by the ± sign. The magnitude of ζ is then given
as:
H
4 - .2
2 2
1 +t
|ζ | = [)e{ζ }] + [-m{ζ }] = 1 + sin(k+x) > 1.
LC +x
Thus, we find that the eigenvalues ζ are always greater than one, and the finite dif-
ference scheme described by Equations (5.16) is unconditionally unstable (i.e., unstable
for any values of +t and +x), just as it was for the single convection equation.
We will not provide an illustrative example here; however, the reader is encouraged
to code this algorithm to demonstrate that it is unstable for any values of +t and +x.
Lax method
n n # $
,i+1 + ,i−1 +t 9 n :
,in+1 = − n
-i+1 − -i−1
2 2 C +x
n n # $ (5.21)
- + -i−1 +t 9 n :
-in+1 = i+1 − n
,i+1 − ,i−1 .
2 2 L +x
5.2 Two coupled first-order convection equations 123
Note once again that simple averaging is used to obtain Equations (5.21) from Equa-
tions (5.16), and appears to do the trick (i.e., bring about stability) as shown below. In
this case, the stability analysis results in the amplification matrix:
⎡ # $ ⎤
+t
⎢ cos(k+x) −j sin(k+x)⎥
[q] = ⎢ # $ C +x ⎥ (5.22)
⎣ +t ⎦
−j sin(k+x) cos(k+x)
L +x
Since sin2 (k+x) ≥ 0 for all k, it is clear that the magnitudes of the eigenvalues are
less than unity as long as:
# $# $
1 +t 2 v p +t +x
≤1 → ≤ 1 → +t ≤ . (5.25)
LC +x +x vp
' () *
v 2p
1.0
∆t = 48.4 ps
C = 1.0
Voltage (V)
0.5
0
4
∆t = 49.4 ps
2
Voltage (V)
C = 1.02
0
−2
0 1 2 3 4 5
Distance (meters)
Figure 5.5 Stability of the Lax method, applied to the coupled convection equations. The wave is
stable for C ≤ 1, but goes unstable rapidly for values of C even slightly larger than 1. Note
√ that
the waveforms for the current - are identical, but scaled by a factor 1/Z 0 , where Z 0 = L/C is
the impedance of the transmission line.
C = 1, as in the second panel, the method is stable again, and the accuracy is much
improved; the wave is not decaying with time and distance. When we increase C to 1.02,
just barely above the CFL condition, the method begins to show signs of instability,
as an oscillation appears at the front of the wave, similar to the single convection
equation.
Leapfrog
# $
+t 9 n :
,in+1 n−1
= ,i − n
-i+1 − -i−1
C +z
# $ (5.26)
+t 9 n :
-in+1 = -in−1 − n
,i+1 − ,i−1 .
L +z
5.2 Two coupled first-order convection equations 125
We perform the usual stability analysis by substitution of the general Fourier compo-
nents for both ,(x, t) and -(x, t):
# $
n+1 n +t 9 n + jk +x :
,i = 0 ,i − -i e − -in e− jk +x + ,in−1
C +x
# $
n n 2+t
= 0 ,i − j -i sin(k+x) + ,in−1 (5.27a)
C +x
# $
+t 9 n + jk +x :
-in+1 = 0 -in − ,i e − ,in e− jk +x + -in−1
L +x
# $
2+t
= 0 -in − j ,in sin(k+x) + -in−1 . (5.27b)
L +x
Equations (5.27a) and (5.27b) can be written in matrix form as:
⎡ # $ ⎤
- n+1 . +t
⎢ 0 sin(k+x)⎥ - n . - n−1 .
,i ⎢ # $ C +x ⎥ ,ni + ,n−1
i
n+1 = −2 j ⎣ +t ⎦ - .
-i -i
sin(k+x) 0 i
L +x
' () *
[A]
(5.28)
Although the matrix [A] is not quite the amplification matrix as we have defined it
until now (because of the −2 j term and the vector at time n − 1), it can be shown3
that stability is ensured if the eigenvalues of [A] are bounded by unity. We thus
have:
3 # $ 3
3 +t 3
3 0 − ζ sin(k+x) 3
3 C +x 3
3# $ 3=0 (5.29)
3 +t 3
3 sin(k+x) 0 − ζ 3
3 L +x 3
case, but the result is the same. We will investigate the stability of the leapfrog algorithm
in an example in Problem 5.2.
Interleaved Leapfrog
# $; <
+t n+1/2 n+1/2
,in+1 n
= ,i − -i+1/2 − -i−1/2
C +x
# $ (3.86)
n+1/2 n−1/2 +t 9 n :
-i+1/2 = -i+1/2 − ,i+1 − ,in .
L +x
n n+1/2
We can follow the same analysis as above, by inserting ,i+1 = ,in e jk +x and -i−1/2 =
n+1/2
-i+1/2 e− jk +x ; after substitution and arranging into sin(·) terms we find:
# $ # $
+t n+1/2 k+x
,in+1 = ,in − e− jk +x/2 -i+1/2 2 j sin (5.32a)
C +x 2
# $ # $
n+1/2 n−1/2 +t jk +x/2 n k+x
-i+1/2 = -i+1/2 − e ,i 2 j sin . (5.32b)
L +x 2
At this point, we cannot write this system of equations in matrix notation as we did for
n−1/2
the non-interleaved leapfrog algorithm, because of the -i+1/2 term in Equation (5.32b).
On the other hand, we can substitute Equation (5.32b) into Equation (5.32a) and arrive
at an equation for ,in+1 :
# $ # $
n+1 n +t − jk +x/2 k+x
,i = ,i − e 2 j sin
C +x 2
- # $ # $.
n−1/2 +t k+x
× -i+1/2 − e jk +x/2 ,in 2 j sin
L +x 2
which has the form:
n−1/2
,in+1 = q ,in + f (-i+1/2 ).
n−1/2
Again, the -i+1/2 term causes trouble and prevents us from writing an equation
yielding q or [A]. As such, we will abandon the derivation of the stability criterion for
the FDTD algorithm for now, and come back to it in Chapter 6. For now, the reader
5.3 Stability of higher dimensional FDTD algorithms 127
should be satisfied to discover that the stability criterion is yet again given by the CFL
condition, i.e., in 1D, v p +t/+x ≤ 1.
As illustrated in Figure 5.2, the CFL stability condition for a one-dimensional FDTD
code ensures that the finite difference grid is causally connected and that the natural
physical speed of the fundamental PDE(s) determine the rate at which information
can move across the mesh. This physically based criterion is easily extended to higher
dimensional FDTD algorithms. The stability criterion for a three-dimensional system is
found to be:
1
+t ≤ H . (5.33)
1 1 1
vp 2
+ 2
+
(+x) (+y) (+z)2
In 2D and 3D algorithms with square or cubic grid cells (i.e., +x = +y = +z), the
requirement for +t becomes:
+x +x
+t ≤ √ or +t ≤ √ . (5.34)
2 vp 3 vp
' () * ' () *
2D 3D
4 It is often misunderstood that the stability criterion in higher dimensions implies that +x is replaced by the
diagonal distance across
√ the grid cell. This is incorrect, as it would √
imply a less stringent requirement, where
+x is replaced by 2 +x, in the square 2D case, rather than +x/ 2. Careful examination of Figure 5.6 is
required to properly appreciate the stability criterion.
128 Numerical stability of finite difference methods
Phase fronts
2-D FDTD mesh
θ
∆y
d C
∆x t3
B ∆y
θ A t2
i ∆x
t1
Figure 5.6 Interpretation of the CFL condition in two dimensions. For the dashed, unstable phase
fronts, the wave jumps from cell A to cell C between t1 and t2 , before being updated in cell B.
This “effective grid cell size” can be understood in the same context as Figure 5.2,
where we interpreted the unstable case as having “skipped” a grid cell. Consider the
dashed phase fronts in Figure 5.6, which have been given a +t that is too large. In the
direction of phase propagation, the phase front has jumped in one time step (from t1 to
t2 ) from grid cell A to grid cell C (the first dashed phase front), skipping cell B.
While we have not strictly derived the stability criterion here, note that the analysis
for the 2D case simply involves the examination of the 2D spatial-frequency spectrum
or plane wave eigenmodes, which for the the 2D TE case can be written as:
3n
3
! y 3 = Ce j [ωn n+t+kx i+x+k y j+y ] . (5.36)
i, j
In fact, the stability criteria for any method can be derived using the relation above
(or the 1D or 3D versions where applicable). We will see this relation used in detail in
the next chapter, when we derive the numerical dispersion for different methods.
Note that all the discussion of the CFL condition so far has assumed that we are
operating in a simple medium with a constant v p . As we will see in later chapters, the
CFL condition can become more restrictive — and somewhat more difficult to define —
in complex media, where the phase velocity may vary as a function of space, frequency,
field direction, or even time.
5.4 Summary
step +x, certain finite difference methods can become unstable, meaning the solution
grows exponentially with time in an unphysical way.
First, we introduced the von Neumann method for stability analysis. In this method, a
general spatial Fourier component given by
is substituted into the FDE, along with its shifted versions (i.e., replacing i and n with
i ± 1 and n ± 1) where applicable. The FDE is then written in the form ,in+1 = q ,in , and
the stability of the method is determined by the conditions under which the amplification
factor |q| ≤ 1.
We found that the forward-time centered space method applied to the convection
equation was unconditionally unstable, but that the minor correction yielding the Lax
method guaranteed stability for
v p +t 1
≤√ (CFL condition)
+x D
where D is the dimensionality of the problem. The leapfrog method applied to the
convection equation yielded the same stability criterion.
For coupled differential equations such as the telegrapher’s equations, the stability
criteria are derived in a similar fashion, but in terms of an amplification matrix [q],
where Vin+1 = [q]Vin , and the vector Vin = [,in ; -in ]. Despite this added complexity, the
stability criteria for the coupled Lax and leapfrog methods are identical to those for the
single convection equation.
5.5 Problems
5.1. Stability analysis for a lossy convection equation. Investigate the stability of the
leapfrog algorithm for the lossy convection equation:
∂, ∂,
= −R , − v p →
∂t ∂x
# $
v p +t 9 n :
,in+1 = ,in−1 − 2R+t ,in − n
,i+1 − ,i−1
+z
where v p = (LC)−1/2 . Carry out a stability analysis and assess the stability of
the algorithm for the numerical values of the parameters (R, L, and C) given in
Problem 4.2.
Hint: This problem can be solved analytically; but if you are having trouble
with a complete mathematical analysis of the stability, just set up the stability
equation and numerically plot out the imaginary part of k, the wavenumber, over
a full range of parameters (e.g., frequency, +t, R, and +z) and investigate the
conditions, if any, under which the algorithm is stable.
130 Numerical stability of finite difference methods
5.2. Stability of the Runge-Kutta methods. Derive the stability criteria for the second-
order and fourth-order Runge Kutta methods, applied to ODEs. Consider the model
equation dy/dt = λy, and find the criteria for λ such that the methods are stable.
Reproduce the diagrams in Figure 3.3.
5.3. Stability of the coupled leapfrog algorithm. Show that stability is ensured for
Equation (5.28) if the eigenvalues of the matrix A are bounded by unity. Hint:
You can write the matrix A as A = P−1 DP, where D is a diagonal matrix whose
eigenvalues are identical to those of A. Then, find the condition on the eigenvalues
of D such that the growth rate q ≤ 1.
5.4. Stability of the coupled leapfrog algorithm. Investigate the stability of the
leapfrog algorithm (Equations 5.26) in a simulation; you can reuse your code
from Problem 3.5. Use C = 96.8 pF, L = 0.242 µH, and +x = 0.01 m. Launch
2 2
a Gaussian pulse (described by ,(0, t) = V0 e−(t−t0 ) /τ , where τ is the Gaussian
pulse half-width, and should be at least 5–10 time steps. Choose t0 such that the
pulse slowly ramps up from zero; generally t0 ≥ 3τ is sufficient.
Vary the time step +t, without changing the pulse shape, and investigate the
stability of this algorithm. You will find it is most illustrative to look at the case
where v p +t/+x is very close to one. How much larger than one can you make
the CFL ratio before instability takes over? How does this depend on the length x
of your simulation?
5.5. Stability of the discretized wave equation. Analyze the stability of the algorithm
presented in Problem 3.4 using the von Neumann method. (This will require some
steps similar to the leapfrog algorithm.) Does the stability criterion derived here
agree with the results of Problem 3.4?
5.6. Stability in the FDTD method. Write a 1D FDTD simulation 400 grid cells
long for a wavelength of 1 m, with +x = λ0 /20. Launch a Gaussian pulse from
the left end of the space with the same parameters as Problem 5.4 above. Now,
increase +t very slightly to excite an instability, similar to Figure 5.4. Can you
measure the growth rate of this instability? Does this growth rate agree with q from
Equation (5.14)?
5.7. Stability in the 2D FDTD method. Write a 2D TM mode FDTD simulation that
is 100 grid cells in the y-dimension and 500 cells in the x-dimension.
3 Use
3 PEC at
the far right boundary; at the top and bottom boundaries, set !z 3i,0 = !z 3i, jmax and
3 3
"x 3i, jmax+1/2 = "x 3i,1/2 , i.e., replace the unknown fields with their counterparts
on the opposite boundary. This is called a periodic boundary condition, which we
will study in Chapter 12. Launch a plane wave from the leftmost boundary at a
frequency suitable to the grid cell size.
Now, investigate the stability of this problem by varying +t; how large can you
make +t before the simulation goes unstable? Can you surpass the CFL condition?
Why or why not?
References 131
References
[1] J. von Neumann, “Proposal and analysis of a numerical method for the treatment of hydrody-
namical shock problems,” National Defense Research Committee, Tech. Rep. Report AM-551,
1944.
[2] J. von Neumann and R. D. Richtmeyer, “A method for numerical calculation of hydrodynamic
shocks,” J. Appl. Phys., vol. 21, p. 232, 1950.
[3] P. D. Lax, “Weak solutions on non-linear hyperbolic equations and their numerical computa-
tion,” Comm. on Pure and Appl. Math., vol. 7, p. 135, 1954.
[4] R. Courant, K. O. Friedrichs, and H. Lewy, “Uber die partiellen differenzengleichungen der
mathematischen physik (translated as: On the partial differential equations of mathematical
physics),” Mathematische Annalen, vol. 100, pp. 32–74, 1967.
6 Numerical dispersion and dissipation
The von Neumann stability analysis [1, 2] discussed in the previous chapter is widely
applicable and enables the assessment of the stability of any finite difference scheme in
a relatively simple manner. However, such an analysis reveals little about the detailed
properties of the difference scheme, and especially the important properties of dispersion
and dissipation. These two metrics together yield information about the accuracy of the
finite difference algorithm.
In the continuous world, dispersion refers to the variation of the phase velocity v p as a
function of frequency or wavelength. Dispersion is present in all materials, although in
many cases it can be neglected over a frequency band of interest. Numerical dispersion
refers to dispersion that arises due to the discretization process, rather than the physical
medium of interest. In addition, the discretization process can lead to anisotropy, where
the phase velocity varies with propagation direction; this numerical anisotropy can also
be separate from any real anisotropy of the medium.
In addition, as we saw in Figure 5.3, the finite difference scheme can lead to dissipation,
which is nonphysical attenuation of the propagating wave. Recall that the example
illustrated in Figure 5.3 was in a lossless physical medium, so any dissipation is due
only to the discretization process.
In this chapter we will show how dispersion and dissipation arise in the finite differ-
ence algorithms that we have discussed so far, and show how to derive the numerical
dispersion relation for any algorithm. In designing a finite difference algorithm, for an
FDTD simulation or other types of finite difference simulations, it is most important to
understand how much numerical dispersion is present is the algorithm of choice, and to
assess how much dispersion the simulation can tolerate.
We begin by demonstrating how a dispersion relation is derived for a given algorithm.
As in Chapter 5, the derivation of the dispersion relation, in either the discrete or
continuous space, is rooted in Fourier analysis. In general, a partial differential equation
couples points in space and time by acting as a transfer function, producing future
values of a quantity distribution, e.g., ,(x, t), from its initial values, e.g., ,(x, 0). The
properties of a PDE or a system of PDEs can be described by means of its effects on a
single wave or Fourier mode in space and time:
,(x, t) = C e j(ωt+kx) (6.1)
where ω is the frequency of the wave, and k is the wavenumber corresponding to
wavelength λ = 2π/k. Compare this to the Fourier modes that were used in Chapter 5,
6.1 Dispersion of the Lax method 133
which had only spatial Fourier components. By inserting Equation (6.1) into a PDE and
solving for ω, we obtain its dispersion relation,
ω = f 1 (k) (6.2)
which relates the frequency ω, and thus corresponding time scale, to a particular wave-
length (or wavenumber k) for the physical phenomenon described by the PDE. Note
that, in general, the frequency ω may be real, when the PDE describes oscillatory or
wave behavior, or it may be imaginary when the PDE describes the growth or decay of
the Fourier mode, or a complex number in those cases where there is both oscillatory
(wave-like) and dissipative behavior.
Numerical dispersion and dissipation occurs when the “transfer function” or the
amplification factor of the corresponding FDE is not equal to that of the PDE, so that
either phase (dispersion) or amplitude (dissipation) errors occur as a result of the finite
difference approximation. Ideally, we assess the dispersive and dissipative properties of
an FDE by obtaining the dispersion relation of the scheme, relating the frequency of a
Fourier mode on the mesh to a particular wavelength λ (or wavenumber k):
The applicability and accuracy of a finite difference scheme can be assessed and
analyzed in detail by comparing Equations (6.2) and (6.3).
To illustrate the method, we consider once again the convection equation and the Lax
method. First, the dispersion relation for the convection Equation (3.63) (the continuous
PDE) is simply:
ω = −v p k. (6.4)
In other words, the physical nature of the convection equation is such that ω can only be
real, so that no damping (or growth) of any mode occurs. Furthermore, all wavenumbers
have the same phase and group velocities, given by ω/k and ∂ω/∂k respectively, so that
there is no dispersion. The input property distribution is simply propagated in space,
without any reduction in amplitude or distortion in phase. Note that the minus sign in
Equation (6.4) is simply due the fact that we choose to use a Fourier mode with + jkx
in the exponent, which means that k has to be negative since the convection equation we
have been using allows for waves traveling in the +x direction.
To obtain the dispersion relation for the FDE, we rewrite the Lax method algorithm:
Lax method
n n # $
,i+1 + ,i−1 v p +t 9 n :
,in+1 = − n
,i+1 − ,i−1 (6.5)
2 2+x
134 Numerical dispersion and dissipation
where C is a constant. We now substitute Equation (6.6) into Equation (6.5) to find:
- jk+x # $ .
j[ω(n+1)+t+ki+x] j(ωn+t+ki+x) e + e− jk+x v p +t e jk+x − e− jk+x
Ce = Ce − .
2 +x 2
Canceling Ce jωn+t e jki+x from each term, we find:
# $
jω+t v p +t
e = cos(k+x) − j sin(k+x). (6.7)
+x
This is the numerical dispersion relation for the Lax method, although it is not an
explicit function of ω. Noting that, in general, the frequency ω can be complex, we
can write it as ω = ωr + jγ , and equate the amplitude and phase of both sides of
Equation (6.7) to find explicit expressions for ωr and γ . In other words,
Amplitude
) *' (
j(ωr + jγ )+t
e = e−γ +t e jωr +t
H
# $2 L - # $ .M
v p +t −1 v p +t sin(k+x)
= cos2 (k+x) + sin2 (k+x) exp j tan −
+x +x cos(k+x)
' () *
Amplitude
(6.8)
and thus the real and imaginary parts of ω are:
# $
v p +t
tan(ωr +t) = − tan(k+x)
+x
-# $ .
1 −1 v p +t
→ ωr = − tan tan(k+x) (6.9a)
+t +x
# $
v p +t 2 2
e−2γ +t = cos2 (k+x) + sin (k+x)
+x
1 # $2 2
−1 v p +t
→ γ = ln cos2 (k+x) + sin2 (k+x) . (6.9b)
2+t +x
π/2 1.5
Dispersion Dissipation
2
1
(vp∆t/∆x)=0.25
ωr ∆t
0.5
|vp∆t/∆x|=1
0.5
γ ∆t
π/4
0.5 0.25 0
1
0.5
−0.5
2
0.25
Growth
0 −1
π/8 π/4 3π/8 π/2 π/8 π/4 3π/8 π/2
k ∆x k ∆x
(a) (b)
Figure 6.1 Dispersion and dissipation for the Lax and leapfrog methods, applied to the
convection equation. The Lax method is shown in solid lines while the leapfrog method is
shown in dashed lines. Note that the leapfrog method is non-dissipative.
use higher accuracy in time, such as the leapfrog method, have fewer of these numerical
problems, as we shall see below.
We now consider the dispersion and dissipation properties of the leapfrog scheme,
repeated below:
Leapfrog
# $
v p +t 9 n :
,in+1 n−1
= ,i − n
,i+1 − ,i−1 . (6.10)
+z
Substituting the Fourier mode described by Equation (6.6) into Equation (6.10) above,
and canceling common terms on both sides, we find:
# $
jω+t − jω+t v p +t 9 jk+x :
e =e − e − e− jk+x . (6.11a)
+x
where we have implied the stability criterion v p +t/+x ≤ 1, otherwise the term under
the square root is not necessarily real! We note that the magnitude of [e jω+t ] is unity for
all values of k, since
I1 2 -#
J # $2 $ .2
3 jω+t 3 J v p +t v p +t
3e 3=K 1− 2
sin (k+x) + sin(k+x) = 1, (6.13)
+x +x
and expand Equation (6.15) into a power series1 for small (k+x) as:
-
1 − (v p +t/+x)2
ω = −v p k 1 − (k+x)2
6
.
1 − 10(v p +t/+x)2 + 9(v p +t/+x)4 4
+ (k+x) + · · · . (6.16)
120
We can then write an approximate expression for the numerical phase velocity v p ≡
ω/k from Equation (6.16):
-# $ . - .
−1 v p +t 1 − (v p +t/+x)2
vp = sin−1 sin(k+x) ≃ −v p 1 − (k+x)2 .
k+t +x 6
(6.17)
Thus we note that for (k+x) ≃ 0, the first term is indeed in agreement with
Equation (6.4), as must be true for any consistent difference scheme. It is also evident
from Equation (6.17) that the errors increase in this scheme as (k+x)2 . In general, the
phase velocity is a function of wavenumber k, which is precisely the effect of dispersion.
The numerical dispersion effects can sometimes be better understood in terms of the
numerical group velocity v g ≡ dω/dk. Differentiating (6.14b) we can write
# $
v p +t
+t cos(ω+t) dω = −+x cos(k+x) dk, (6.18)
+x
1 Note that:
x3 1 · 3 x5 1 · 3 · 5 x7
sin−1 x = x + + + + ···
2·3 2·4·5 2·4·6·7
x3 x5 x7
sin x = x − + − + ··· .
3! 5! 7!
138 Numerical dispersion and dissipation
which gives
cos(k+x)
v g = −v p . (6.19)
cos(ω+t)
This result indicates that the effects of the discretization in space and time affect the
group velocity in opposite ways. For small +x and +t, spatial discretization tends to
decrease |vg |, while discretization in time tends to increase it. Noting that we must have
+t ≤ +x/v p for stability, the first effect dominates, and the numerical group velocity is
smaller than the group velocity for the PDE.
Using Equation (6.15), we can eliminate ω+t in Equation (6.19) to write:
- .
−v p cos(k+x) 1 − (v p +t/+x)2
vg = 4 ≃ −v p 1 − (k+x)2 . (6.20)
1 − (v p +t/+x)2 sin2 (k+x) 2
Comparing Equations (6.17) and (6.20) with Equation (6.4), we find that both v p and
v g are less than v p in magnitude, but that v g is different by a significantly larger amount
than v p — by a factor of three, in fact.
The dispersive properties of a finite difference scheme can also be analyzed by
considering the evolution in time of a given initial property distribution. As an example,
assume an initial voltage distribution given by:
,(x, 0) = A sin(π x). (6.21)
Note that this corresponds to a wavenumber k = π rad-(ft)−1 , with x given in feet.
As a specific numerical example, consider a simple case with v p ≃ 1 ft-(ns)−1 . The
analytical solution of the convection equation tells us that the voltage at any future time
is given by:
,(x, t) = A sin[π (x − v p t)].
As an example, the voltage at t = 10 ns is given by:
,(x, t = 10 ns) = A sin[π (x − 10)]. (6.22)
To assess the dispersive property of the finite difference scheme, we may compare
the numerical solution at time t = 10 ns to Equation (6.22). For this purpose, we need
only to consider the amplification factor for the scheme, which for the leapfrog method
is given in Equation (5.14) as:
H
-# $ .2 # $
v p +t v p +t
q =± 1− sin(k+x) + j sin(k+x) = e jψ
+x +x
where
⎡ # $ ⎤
v p +t
⎢ sin(k+x) ⎥
⎢
−1 ⎢ +x ⎥
ψ = tan ⎢ H ⎥
-# $ .2 ⎥
⎣ v p +t ⎦
± 1− sin(k+x)
+x
and the magnitude of q is always unity for this scheme (i.e., non-dissipative).
6.2 Dispersion of the leapfrog method 139
which is only slightly different from the ideal solution in Equation (6.22). This is
because this particular wavelength, i.e., λ = 2π/k = 2 ft, is quite nicely resolved with
a spatial mesh size of 0.05 ft. If, instead, we had chosen +x = 0.25 ft and kept the ratio
v p +t/+x = 0.5 (so that +t = 0.125 ns), we find ψ = 0.115027π , and at t = 10 ns the
wave has the form:
9 :80
,̄(x, 10 ns) ≃ q 80 ,(x, 0) = e j0.115027π A sin(π x) = A sin[π (x − 9.2021)]
where we note that for +t = 0.125 ns, the wave has propagated 10 ft in 80 time
steps rather than 400 as before. So, with the more coarse resolution of +x = 0.25 ft,
corresponding to eight grid cells per wavelength, the error that has accumulated after
10 ns is almost 0.8 ft or 0.4λ.
Going back to Equation (6.12) for the solution of [e jω+t ], we can explicitly solve for
ω to find:
⎡ # $ ⎤
v p +t
⎢ sin(k+x) ⎥
1 ⎢ +x ⎥
ω± = − tan−1 ⎢
⎢ H
-# $
⎥
.2 ⎥ (6.24)
+t ⎣ v p +t ⎦
± 1− sin(k+x)
+x
which indicates that, for a given value of k, the leapfrog solution supports two different
wave speeds, v ±p = ω± /k that are the negative of one another. Since the frequency
supported by the actual corresponding PDE is negative (for positive k) as given in
Equation (6.4), the “correct” root in Equation (6.24) is ω+ , which is also called the
principal root. The other root ω− is called the parasitic root, since it is an artifact of
the differencing scheme and propagates in the direction opposite to the principal mode.
This effect is due to the effective up-coupling of the odd and even meshes in the leapfrog
scheme, which can even be seen by looking back at Chapter 3 on the use of the leapfrog
method for integration of a first-order ODE. In general, care must be taken in starting
the leapfrog scheme to minimize the excitation of the undesirable mode.
We note in passing that some of the other schemes that were briefly introduced in
Chapter 3, especially the two-step Lax-Wendroff method, do not introduce any extraneous
140 Numerical dispersion and dissipation
numerical modes and may thus be desirable in cases where more accuracy is desired.
These schemes do have a small amount of dissipation, only to fourth order in (k+x),
which actually is sometimes useful in smoothing discontinuities on the mesh.
The numerical dispersion effects in the interleaved leapfrog (or FDTD) scheme are
expected to be less severe than the single-equation leapfrog scheme since the second-
order differencing is done across one step size rather than two steps (i.e., across +t and
+x rather than 2+t and 2+x). We now derive the numerical dispersion relation for the
interleaved leapfrog algorithm, repeated below for convenience:
Interleaved leapfrog
# $; <
+t n+1/2 n+1/2
,in+1 = ,in − -i+1/2 − -i−1/2
C +z
# $ (6.25)
n+1/2 n−1/2 +t 9 n :
-i+1/2 = -i+1/2 − ,i+1 − ,in .
L +z
The dispersion analysis for a system of FDEs is performed by substituting the general
Fourier mode in space and time for both of the dependent variables:
which is to be compared with Equation (6.14b). Note that the system of equations (6.25)
that are an approximation for (i.e., the transmission line equations) allow propagation of
waves in both directions.
As was done before for the leapfrog case (see 6.15), we can explicitly solve for ω
from Equation (6.28), or we could explicitly solve for k:
-# $ # $.
2 +x ω+t
k= sin−1 sin
+x v p +t 2
or
-# $ # $.
2 v p +t k+x
ω= sin−1 sin (6.29)
+t +x 2
ω ω+x
vp ≡ = -# $ # $.
k −1 +x ω+t
2 sin sin
v p +t 2
-# $ # $.
2 −1 v p +t k+x
= sin sin . (6.30)
k+t +x 2
Thus, we see once again that the FDTD algorithm exhibits no numerical dispersion
when the algorithm is operated at the CFL limit, or at the “magic” time step.
|vp∆t/∆x| = 1
3.0
0.75
0.5
2.8
0.25
vg , vp (× 108 m/s)
2.6
0.75
0.5
2.4
0.25
Phase Velocity vp
Group Velocity vg
2.2
Figure 6.2 Numerical phase and group velocity for the FDTD algorithm. Both v g and v p tend
toward the real value of 3 × 108 m/s when v p +t/+x approaches 1, or when k approaches zero.
v p and v g as a function of k+x. It is apparent that both v g and v p tend toward the real
value of 3 × 108 m/s when v p +t/+x approaches 1, or when k approaches zero. For
v p +t/+x < 1, the numerical phase and group velocities both decrease with increasing
k (or increasing +x), and v g falls faster than v p .
Inserting this expression into Equation (6.36) and canceling like terms, we find:
# $
jω+t − jω+t v p +t 2 = jk+x >
e −2+e = e − 2 + e− jk+x
+x
# $
v p +t 2
2 (cos(ω+t) − 1) = 2 (cos(k+x) − 1).
+x
the coupled first-order interleaved leapfrog equations (for example, Equations 4.17 for
the TM mode), or from the wave equation. Let us first consider the wave equation, which
is a much simpler derivation. The wave equation in 2D is valid for each of the electric
field components and is given for the 2D case as:
where k x and k y are the wavenumbers respectively in the x and y directions. Substituting
Equation (6.41) into Equation (6.40) we find (after some manipulation):
# $ # $2 # $ # $2 # $
2 ω+t v p +t 2 k x +x v p +t 2 k y +y
sin = sin + sin (6.42)
2 +x 2 +y 2
which is a straightforward step in understanding from the 1D case. The reader should
be easily convinced that the 3D dispersion relation is given by:
# $ # $ # $
ω+t v p +t 2 k x +x
sin2 = sin2 (6.43)
2 +x 2
# $ # $ # $ # $
v p +t 2 2 k y +y v p +t 2 2 k z +z
+ sin + sin .
+y 2 +z 2
It can be shown (by expanding the sin(·) terms into a power series and dropping all
except the first terms) thatNas +x, +y, +z → 0, and +tN→ 0, Equations (6.42) and
(6.43) reduce to ω = ±v p k x2 + k 2y in 2D and ω = ±v p k x2 + k 2y + k z2 in 3D, which
are the dispersion relations for the continuous case (PDE) in two and three dimensions.
Thus, numerical dispersion can be reduced to any desired amount by using a fine enough
FDTD mesh.
6.3 Dispersion relation for the FDTD algorithm 145
Note that the dispersion relations in 2D and 3D could also have been derived along
similar lines to Equations (6.25)–(6.28), i.e., directly from the FDTD update equations.
We leave this derivation up to the reader in the problems at the end of this chapter.
Once again, we see that the stability criterion is inherently contained√in the dispersion
analysis. Consider the case where +x = +y = +z; if v p +t/+x > 1/ 3, it will lead to
a scenario where the right-hand side of Equation√ (6.43) is greater than one (the same is
true for Equation (6.42) if v p +t/+x > 1/ 2). The left-hand side can only be greater
than one for complex ω, which implies either growth or dissipation; again, one can show
that this scenario always leads to growth.
Equation (6.42) also shows that the numerical phase velocity v p for the 2D case is
a function of angle of propagation through the FDTD mesh. To see this, assume wave
propagation at an angle θ withN respect to the positive x-axis, in which case k x = k cos θ
and k y = k sin θ , where k = k x2 + k 2y is the wavenumber. The numerical phase velocity
is then given by
# $ H # $ # $
ω+t 1 2
k x +x 1 2
k y +y
sin = ± v p +t sin + sin
2 (+x)2 2 (+y)2 2
O H # $ # $P
ω ±2 1 k cos θ +x 1 k sin θ +y
vp = = sin−1 v p +t sin2 + sin2 .
k k+t (+x)2 2 (+y)2 2
(6.44)
The dependence of v p on propagation angle θ is known as grid anisotropy and is
a source of additional numerical dispersion effects. To illustrate this grid anisotropy,
consider the case where +x = +y. The equation for the numerical phase velocity then
becomes:
O H # $ # $P
2 −1 v p +t k cos θ +x k sin θ +x
vp = ± sin sin2 + sin2 . (6.45)
k+t +x 2 2
√
Note that in 2D, the CFL condition is such that v p +t/+x ≤ 1/ 2. This function
is plotted in Figure 6.3 as a function of wavelength, for variations in grid cells per
wavelength (equivalent to k+x; 6.3a) and CFL condition v p +t/+x (6.3b). The most
obvious trends are as expected: first, with increased resolution, i.e., more grid cells
per wavelength, the anisotropy is√reduced. Second, the anisotropy is reduced closer to
the CFL limit of v p +t/+x = 1/ 2. However, two other features are of note: first, the
anisotropy is generally very small. Even for only five cells per wavelength, the anisotropy
has a maximum of only 6%, and at a more realistic resolution of 10 cells per wavelength,
it is only 1.5%. Second, however, the anisotropy is never fully eliminated, even at the
CFL limit, since we are limited to a finite number of grid cells per wavelength.
1
1 vp∆t/∆ x √2 = 1
15
20 cells / λ 10 0.75
0.98 0.999
0.5
vp / c
vp / c
5 0.998
0.25
0.96
0.997
Substituting expressions similar to Equation (6.37) for both " y and !z we find:
3n 3n # $
3 jω+t/2 3 − jω+t/2 C2 33n k x +x
"y 3 e = C1 " y 3 e + !z 3 2 j sin (6.47a)
i i +x i 2
3n 3n 3n # $
3 jω+t/2 ′ 3 − jω+t/2 C2′ 3 k x +x
!z 3 e = C 1 !z 3 e + " y 3 2 j sin (6.47b)
i i +x i 2
where we have used C1 , C2 , C1′ , and C2′ to denote the multiplying constants just as in
Table 4.2. Simplifying, we find the dispersion relation:
- # $.
= >= > C2 C2′ k x +x 2
e jω+t/2 − C1 e− jω+t/2 e jω+t/2 − C1′ e− jω+t/2 = 2 j sin .
(+x)2 2
(6.48)
6.4 Numerical stability of the FDTD algorithm revisited 147
π/2 0.12
Dispersion
Dissipation
1
ωr ∆t
γ∆ t
π/4
0.5
0.04
0.25 Lossless case
0 0
π/8 π/4 3π/8 π/2 π/8 π/4 3π/8 π/2
k∆x k ∆x
Figure 6.4 Dispersion and dissipation for the FDTD method, for lossless and lossy media. The
FDTD method for the lossless case is shown in dashed lines while the solid lines denote a lossy
algorithm with σ = 0.002 S/m. Note that the FDTD algorithm for the lossless case is
non-dissipative.
This equation unfortunately does not simplify down to simple sinusoids as in the
lossless version above. However, we can investigate the dispersion in this method visually,
by solving for ω (this is rather involved) and plotting the real and imaginary parts, as
shown in Figure 6.4. Dashed lines show the dispersion for the case σ = σm = 0, i.e.,
the lossless case; solid lines show the dispersion and dissipation for the lossy case with
σ = 0.002 S/m and σm = 0. Note that there is no dissipation for the lossless case.
When σ = 0, the dispersion looks very similar to the leapfrog case shown in Figure 6.1.
For the lossy case, the dispersion has non-zero values of k for zero w, but tends toward
the lossless case as k increases. Note that if σ is very large, say 0.01, the dispersion
profile will not approach the lossless curve within realistic values of k; for that reason,
with large σ very small time steps +t are required.
Note that the dissipation γ +t starts at zero for k = 0 and then tends toward a constant
value for increasing k. This is as expected, since we input a constant σ ; we would expect
the dissipation to be a constant function of k, and independent of +t. The ramp up to
this constant value, however, is evidence of numerical dissipation due to the grid. Note
that the dissipation ramps up to its constant value faster for larger values of v p +t/+x,
i.e., smaller +x, up to the limit of the CFL condition.
Recall that at the end of Chapter 5, we postponed the derivation of the stability criterion
for the FDTD algorithm. Here we will provide a very simple analysis that shows that the
CFL condition is, in fact, the stability criterion, despite the fact that we did not use the
von Neumann method to derive it.
148 Numerical dispersion and dissipation
6.5 Summary
In this chapter, we introduced the concept of numerical dispersion and its relation-
ship to the discretization of a PDE. While a continuous PDE can be described by its
6.6 Problems 149
dispersion equation ω = f 1 (k), the discrete FDE has its own numerical dispersion equa-
tion ω = f 2 (k). Ideally, these two would be the same; but in reality, f 2 is a function of
the discretization parameters +t and +x, among other parameters.
Like stability analysis, the derivation of the numerical dispersion relation starts from
the application of the Fourier component, but this time in both space and time:
,(x, t) = C e j(ωt+kx) or ,in = C e j(wn+t+ki+x) .
By substituting this component into the FDE, one can then solve for ω and a function
of k or vice versa. Alternatively, one can solve for the phasor e jωt , written in terms of
real and imaginary components:
e jωt = e j(ωr + jγ )+t = e−γ +t e jωr +t ,
from which one can easily extract the dispersion ωr and the dissipation γ . Note that if
γ > 0, then the FDE exhibits growth, and is unstable.
In this chapter we derived the numerical dispersion relations for the Lax method and
the leapfrog method applied to the single convection equation, which are plotted in
Figure 6.1. In either case, the dispersion and dissipation are minimized for small values
of k+x; in essence, this means the frequencies in the simulation must be well sampled
(+x ≤∼ λ/10) to minimize numerical dispersion (note that the leapfrog method exhibits
no dissipation for any values of k+x).
We next derived the numerical dispersion relation for the FDTD algorithm, i.e., the
interleaved leapfrog method. In 2D, the resulting dispersion relation is:
- # $. # $ # $ # $ # $
ω+t 2 v p +t 2 k x +x v p +t 2 k y +y
sin = sin2 + sin2 .
2 +x 2 +y 2
The dispersion relation in 1D and 3D follow a similar form. We note that as +x, +t →
0, the numerical dispersion
N relation approaches the real dispersion relation where ω =
v p |k|, where |k| = k x2 + k 2y in 2D.
Similarly, we found expressions for the numerical phase and group velocities as
functions of k, +t, and +x, and showed that these also tend toward the continuous
values as +t and +x tend toward zero. However, it is important to note that in general
both v p and v g are functions of k.
Finally, at the end of this chapter we returned to the stability criterion for the FDTD
algorithm, which could not be analytically derived by the methods of Chapter 5. In this
chapter, using the numerical dispersion relation above, the stability criterion could be
established by solving for ω, and finding the conditions under which the argument of
sin(·) is less than one, making ω strictly real. In this way we re-derived the CFL condition
for the FDTD algorithm.
6.6 Problems
6.5. Dispersion of the fourth-order method. Repeat Problem 3.7, using fourth-order
spatial differencing and second-order leapfrog time integration. Launch a Gaussian
pulse from the left edge and monitor it as it passes some distance x from the source,
as in Problem 6.2 above. Measure the propagation speed as a function of frequency,
and compare to the analytical result from the previous problem.
References
[1] J. von Neumann, “Proposal and analysis of a numerical method for the treatment of hydro-
dynamical shock problems,” National Defense Research Committee, Tech. Rep. Report AM-
551, 1944.
[2] J. von Neumann and R. D. Richtmeyer, “A method for numerical calculation of hydrodynamic
shocks,” J. Appl. Phys., vol. 21, p. 232, 1950.
7 Introduction of sources
In Chapter 4 we presented the Yee algorithm for the discretization of Maxwell’s equations
on a regular, orthogonal grid. In Chapter 6 we discussed the numerical accuracy of
the discretization, which depends on the choices of +x, +y, +z, and +t, as well as
the medium of interest (ϵ, µ, and σ ) and the frequencies to be simulated. However, the
accuracy of the method is further restricted by how we choose to drive the simulation.
The choice of a source is thus integral to accurate simulation in the FDTD method.
Sources can be either internal or external to the simulation. Internal sources are those
that are driven at one or more grid cells within the simulation space. An example of
an internal source might be a hard antenna, whose parameters we wish to investigate
in a particular medium. External sources are those which are assumed to be outside of
the simulation space. For example, we may wish to investigate the scattering pattern of
an object when excited by a plane wave, but the source of that plane wave may be far
from the scattering object. The problem, of course, is that in a numerical simulation, all
sources must be applied to real grid cells, which means they are by definition “internal.”
However, as we will see beginning in Section 7.2, methods have been derived with great
success to make sources appear external. First, however, we will discuss some possible
methods of applying internal sources.
where n is the time step and n τ +t is the characteristic half-width (in time) of the
Gaussian pulse. Note that choosing the total duration of the Gaussian to be at least 6n τ
time steps ensures a smooth transition both from and back to zero.
The major issue with hard sources is that they reflect. By hard coding the electric
field at a given grid point (or, sometimes, at a number of grid points), we are effectively
treating that point in the grid as a perfect conductor, and any scattered fields in the
simulation space will reflect off this hard source. In some cases, this might be desirable:
such reflection occurs, for example, from real antennas. However, in other cases we may
be interested in accurately measuring the scattered field without having it interrupted by
the source.
For simple hard sources, there are at least two ways to circumvent this problem:
1. In the case of a pulsed source (Gaussian or modulated Gaussian), one can turn the
source “off ” after the pulse is completely within the space, i.e., after n > 6n τ . This
can usually be successfully implemented with a simple “if ” statement. Of course,
this will not work with a source that has a long duration or a sinusoidal variation.
2. Alternatively, rather than applying the hard source to a point in space, one can add
the source to the applicable update equation. For example, for an ! y source at time
n + 1 and grid point i s , one can modify Equation (4.8) as follows:
3n+1 3n - 3 3n+1/2 . 3n+1
3 3 +t 3n+1/2 3 3
!y 3 = !y 3 − "z 3 − "z 3 + ! y,source 3 (7.1)
is is ϵ +x i s +1/2 i s −1/2 is
3n+1
where ! y,source 3is is the source field at time n + 1 applied to the grid point i s .
In the case of a pulsed source, for3 example, when the source is completely within
n+1
the simulation space and ! y,source 3is = 0, the source no longer affects the update
equation.
where the source current is located at the same spatial grid location as the electric field
but at the same time point as the magnetic field. Note that this is nearly equivalent to
154 Introduction of sources
the electric field applied in Equation (7.1), if we assume that ϵ ! y,source = +t %source .
However, in the case of the current source, we can apply a known physical driving
current, rather than a somewhat arbitrary electric field.
Another simple source is a driven voltage applied across a gap, such as at the terminals
of a wire antenna. Assuming a voltage source applied over a one-cell wide gap in the y
direction, we can write:
3n V (t) V (n+t)
3
!y 3 = =
i s , js +y +y
Once again, any given temporal variation can be imposed, by simply specifying the
functional form of V (t). Note that the antenna wire itself may extend over a number of
mesh points (i s , js ± m) on both sides of (i s , js ), and its presence is simply incorporated
into the FDTD calculation by forcing all ! y values to be zero at these mesh points, as
was done in the example in Figure 4.17.
1 In cylindrical coordinates, of course, this thin antenna can be accurately modeled in 2D, as discussed in
Chapter 4.
7.1 Internal sources 155
(top)
"y(∆x/2, z0)
!z(0, z0) !z(∆x, z0)
z = z0
(left) (right)
(center)
C
!x(∆ x/2, z0–∆ z/2)
(bottom)
x = 0 r0 < ∆ x/2
+x interval. These imply, in turn, that the fields at relevant locations in the cell shown
are given analytically by:
3 +x/2
3
" y (x, z) = " y 3
+x/2,z 0 x
3 +x/2
3
!x (x, z 0 ± +z/2) = !x 3
+x/2,z 0 ±+/2 x
!z (x ≤ r0 , z) = 0
3
3
!z (+x, z) = !z 3 .
+x,z 0
Next, consider applying Faraday’s law in integral form, Equation (2.1), to C and the
surface S enclosed by C, rather than the typical update equations:
! "
∂#
! · dl = − · ds
C S ∂t
3n 3n " +x 3n " +x 3n
3 3 3 +x/2 3 +x/2
!z 3 +z − !z 3 − !x 3 dx + !x 3 dx
right
' ()left* r0 top x r0 bottom x
=0
" z 0 ++z/2 "
3n+1/2+x # 3n−1/2 $ +x/2
µ 3 3
= "y 3 −" y 3 d x dz
+t
z 0 −+z/2 r0 center center x
3n # 3 3n $ # 3 3n−1/2 $
3 +x +x 3n 3 µ+z +x +x 3n+1/2 3
!z 3 +z + ln !x 3 −!x 3 = ln "y 3 −" y 3
right 2 r0 top bottom +t 2 r0 center center
156 Introduction of sources
where the subscripts (left, right, top, bottom, and center) refer to the locations in the grid
cell in Figure 7.1. Finally, simplifying and adding in the proper subscripts, we find the
modified update equation for " y one half-cell from the axis of the antenna:
3n+1/2 3n−1/2 +t
3 3
"y 3 = "y 3 + (7.3)
+x/2,z 0 +x/2,z 0 µ+z +x
2
ln +x
r0
-# 3 3n $ 3n .
3n 3 +x +x 3
× !z 3 −!z 3 · ln + !z 3 +z .
+x/2,z 0 −+z/2 +x/2,z 0 ++z/2 2 r0 +x,z 0
A similar procedure must be applied to the other " components surrounding the wire
in three dimensions, but the update equations are very similar to Equation (7.3) above.
Note that the thin-wire approximation does not actually apply a source, but rather sets
the electric field to zero on the wire; as such, a voltage needs to be applied at the antenna
gap, as described in Section 7.1.2 above.
The methods described above can be very useful for applying internal sources to the
simulation space, but are useless for applying, for example, an incident plane wave that
may have been generated a great distance away. In this latter scenario, we wish to make it
appear to our simulation as if the plane wave source is external to the simulation space.
The solution to this problem relies on the total-field/scattered-field formulation, which
is the subject of the remainder of this chapter.
Our ability to separate the fields into incident and scattered components derives from
the linearity of Maxwell’s equations;2 that is, if the fields !1 and !2 separately satisfy
Maxwell’s equations, then the sum of these two !sum = !1 + !2 also satisfies Maxwell’s
equations. Thus, we additionally use the fact that the incident and scattered components
separately satisfy the two curl equations, (2.1) and (2.3), which are modeled in an FDTD
algorithm.
In general terms we can think of a free-space region within which an incident field
is specified analytically, being defined as the field which is present in this region in the
absence of any objects (dielectric or conductor) or “scatterers.” The incident field thus
satisfies Maxwell’s equations for free space, everywhere in the regions being modeled.
The scattered wave arises because of the presence of the scatterer, and in response to
the need that electromagnetic boundary conditions must be satisfied as the incident field
interacts with the object. The scattered fields must satisfy Maxwell’s equations with
the medium parameters of the scatterer, namely ϵ, µ, σ , and σm , as well as satisfying
2 Note that there are materials which are nonlinear, such as some crystals, whose responses involve higher
2 3
powers of the electric field such as ! or ! , typically due to the permittivity and/or permeability depending
on the field intensities. We will not address such materials in this book, but the reader should be aware of
the assumption of linearity in the total-field / scattered-field formulation.
7.2 External sources: total and scattered fields 157
Maxwell’s equations for free space immediately outside the scatterer. The total field is
simply the superposition of the incident and scattered fields. Within the scatterer, the
total fields must satisfy the equations:
∂"tot
∇ × !tot = −µ − σm "tot (7.4a)
∂t
∂!tot
∇ × "tot = ϵ + σ !tot (7.4b)
∂t
where ϵ ̸= ϵ0 and µ ̸= µ0 . Meanwhile, the incident fields satisfy
∂"inc
∇ × !inc = −µ0 (7.5a)
∂t
∂!inc
∇ × "inc = ϵ0 (7.5b)
∂t
since the incident fields are not subject to the material parameters ϵ, µ, σ , and σm . We
can rewrite Equation (7.4), with "tot = "inc + "scat , as:
; <
; < ∂ "inc + "scat ; <
∇ × !inc + !scat = −µ − σm "inc + "scat (7.6a)
∂t
; <
; < ∂ !inc + !scat ; <
∇ × "inc + "scat = ϵ + σ !inc + !scat . (7.6b)
∂t
Subtracting Equations (7.5) from (7.6) gives the equations for the scattered fields
within the scatterer:
1 2
∂"scat ∂"inc
∇ × !scat = −µ − σm "scat − (µ − µ0 ) + σm "inc (7.7a)
∂t ∂t
1 2
∂!scat ∂!inc
∇ × "scat = ϵ + σ !scat + (ϵ − ϵ0 ) + σ !inc . (7.7b)
∂t ∂t
In regions outside the scatterer, both the total fields and scattered fields must satisfy
Maxwell’s equations:
∂"tot
∇ × !tot = −µ0 (7.8a)
∂t
∂!tot
∇ × "tot = ϵ0 (7.8b)
∂t
and
∂"scat
∇ × !scat = −µ0 (7.9a)
∂t
∂!scat
∇ × "scat = ϵ0 . (7.9b)
∂t
158 Introduction of sources
Note that Equations (7.9) could have been obtained from Equations (7.7) by simply
substituting zero for σ and σm , µ0 for µ, and ϵ0 for ϵ. Thus, it is possible to construct an
FDTD code only in terms of the scattered fields based on (7.7), which can be rewritten
with the time derivatives on the left-hand side more suitable for discretization:
∂"scat 1 σm σm µ − µ0 ∂"inc
= − ∇ × !scat − "scat − "inc − (7.10a)
∂t µ µ µ µ ∂t
∂!scat 1 σ σ ϵ − ϵ0 ∂!inc
= ∇ × "scat − !scat − !inc − (7.10b)
∂t ϵ ϵ ϵ ϵ ∂t
which is valid in both free-space and scatterer regions, depending on what we substitute
for σ , σm , µ, and ϵ.
so that while the FDTD algorithm can simply proceed at free-space points by using the
first two terms in the braces in each of the above equations, the incident fields must be
calculated at each time step at all of the grid points within the scatterer regions. This
requirement doubles the necessary computational resources.
Many electromagnetic problems involve the interaction of dielectric, magnetic, or
metallic objects with an incident (i.e., externally produced) plane wave. In general,
FDTD problems involving incident plane waves can be formulated in terms of either
the total or scattered fields. Total-field formulations have the advantage of allowing
more straightforward handling of perfect-electric-conductor boundaries and penetrable
materials. The perfect-electric-conductor (PEC) boundary in a total-field formulation is
simply handled by setting the tangential electric field !tan = 0, either by maintaining the
initial conditions throughout a calculation or by resetting the appropriate electric field
components to zero at each time step. In a pure-scattered-field formulation, however,
7.3 Total-field/scattered-field formulation 159
Figure 7.2 Total-field/scattered-field formulation in 1D. The grey dashed lines show the
boundary between the total-field region and the scattered-field regions; the fields marked with a
star are those that need to have their updates modified.
PEC boundaries must be driven with the negative of the instantaneous incident field, in
order to cancel out the field to zero. Also, it is necessary to evaluate the incident fields
at any and all points where ϵ ̸= ϵ0 or µ ̸= µ0 , as is clear from (7.10). Furthermore,
the use of Absorbing Boundary Conditions (ABCs, to be described in Chapter 8) at
the edges of the FDTD grid, designed to remove waves from the problem space, is in
direct conflict with the excitation of the incident plane wave in a total-field formulation.
These drawbacks together make the pure-scattered field formulation derived above a
cumbersome approach.
The alternative solution is to use the so-called total-field / scattered-field (TF/SF)
formulation, described next, which is based on using equations (7.4) within the so-called
total-field region (Region 1) and Equations (7.9) in the so-called scattering-field region
(Region 2); however, appropriate connecting conditions on the adjoining surfaces are
necessary. For the TF/SF formulation, the incident fields only need to be known at
the boundary between the total-field region (Region 2) and the scattered-field region
(Region 1). This incident field distribution can be introduced by means of an auxiliary
1D grid as described in Figure 7.2. The significant advantage of this formulation is that
the incident plane wave does not interact with the absorbing boundary conditions, thus
minimizing the computational load on these ABC or PML algorithms, which are often
tasked to provide for 30 to 80 dB reduction of numerical reflections.
Scattered fields
Scatterer
Incident plane
i0, j0 i1, j0 wave generated
Scattered fields
Absorbing Boundary Conditions
y Region 1 Region 2
(b)
"x "x "x
"y
j0+1 "y !z
!z !z
j0+1/2 "x
"x "x
!z "y
j0 "y
!z i0, j0 !z
j0–1/2
"x "x "x
"y "y
!z !z !z
x
i0
i0–1/2
i0+1/2
i0+1
Figure 7.3 Total-field/scattered-field formulation in 2D. (a) FDTD problem space with various
regions identified and showing a particular y-directed incident plane wave. (b) The lower left
corner of the FDTD problem space showing the location of the field components for a 2D TM
problem. The field components in dashed circles are those that require modified update
equations.
Now consider the lower left corner of the FDTD problem space as shown in Fig-
ure 7.3b, for the case of an arbitrary (i.e., not necessarily y-directed) incident plane
wave. For this example, we shall consider a 2D TM wave, the grid locations of the fields
for which are shown. As we step the FDTD algorithm in time, it is clear that the updating
of the field components proceeds in an accurate manner as long as the next value of the
7.3 Total-field/scattered-field formulation 161
field component is determined in terms of only total or only scattered values. For the
case shown, it is clear that the only field components for which we would have a problem
are those which are circled. For example, consider the updating of the !z component at
the lower left edge, i.e., at the (i = i 0 , j = j0 ) location:
⎡ total scattered total scattered ⎤
) *' ( ) *' ( ) *' ( ) *' (
3
⎢ 3n+1/2 3 3 3
⎢ "y 3 3n+1/2 3n+1/2 3n+1/2 ⎥ ⎥
3n+1 3n ⎢ − "y 3 "x 3 − "x 3
3 tot 3 +t i+1/2, j0 i 0 −1/2, j0 i 0 , j0 +1/2 i 0 , j0 −1/2 ⎥
!tot 3 = ! 3 + ⎢ − ⎥.
z
i 0 , j0
z
i 0 , j0 ϵ ⎢⎢ +x +y ⎥
⎥
⎣ ⎦
(7.11)
+t 3n+1/2 +t 3n+1/2
3 inc 3
− "inc 3 − " 3 . (7.13)
ϵ+x y i0 −1/2, j0 ϵ+y x i0 , j0 −1/2
Note that the correction needs to be added only at the grid points around the boundary
of Region 2 and can be added after first applying the FDTD algorithm 3n+1 (i.e., time
marching) at all grid points; i.e., one would calculate the field !tot 3
z i 0 , j0 everywhere in
the space by first using the FDTD algorithm as before, and then applying the correction
at the boundary of Region 2, which at (i 0 , j0 ) is:
3n+1 - 3 . 3n+1/2 3n+1/2
3 n+1 +t +t
tot 3 inc 3 inc 3
!tot
z 3 = ! z 3 − " 3 − " 3 .
i 0 , j0 i 0 , j0 ϵ+x y i0 −1/2, j0 ϵ+y x i0 , j0 −1/2
' () *
From, e.g., eq. (7.11)
Note that the incident field data necessary for this correction only need to be kept
at grid points displaced by one half-mesh-size from Region 2, i.e., at (i 0 − 1/2, j) and
(i, j0 − 1/2).
162 Introduction of sources
The two correction terms (one for "x and another for " y ) are only necessary for
the corner point. At other points on the boundary, we only need a single ("x or " y )
correction term. For example, for any other point (i 0 , j0 < j < j1 ) on the left edge of
Region 2 we have:
⎡ 3n+1/2 3n+1/2 3n+1/2 3n+1/2 ⎤
3 3 3 3
3n+1 3n "tot
y 3 − "scat
y 3 "tot
x 3 − "tot
x 3
3 3 +t ⎢ i+1/2, j i −1/2, j i j+1/2 i 0 , j−1/2 ⎥
!tot = !tot 0 0 ,
z 3 z 3 + ⎣ − ⎦
i0 , j i0 , j ϵ +x +y
+t 3n+1/2
3
− "inc
y 3 . (7.14)
ϵ+x i 0 −1/2, j
The FDTD algorithm in the scattered-field region (Region 1) will operate on scattered-
field components which are available, and will only need special corrections for those
field components whose derivatives require the use of field components from Region 2. In
Figure 7.3b,
3 these Region 1 field components3requiring special handling are circled, being
the " y 3i0 −1/2, j on the left edge and the " y 3i, j0 −1/2 on the bottom edge. The corrected
update equations for these components can be written with analogy to Equations (7.12)
through (7.14):
3n+1/2 3n−1/2 - 3 3n .
3 scat 3 +t tot 3
n
scat 3 +t inc 33n
"scat
x 3 = " x 3 − ! z 3 − ! z 3 + ! 3
i 0 , j−1/2 i 0 , j−1/2 µ +y i0 , j i 0 , j−1 µ+y z i0 , j
(7.15a)
3n+1/2 3n+1/2 - 3n 3n .
3 3 +t 3 3 +t inc 33n
"scat
y 3 = "scat
y 3 + !tot
z 3 − !scat
z 3 − ! 3 .
i 0 −1/2, j i 0 −1/2, j µ +x i0 , j i 0 −1, j µ+x z i0 , j
(7.15b)
Note that there is no corner issue for the " field components. Similar correction
terms for the ! and " fields at the other three corners and the other three sides simply
follow.
3 Note that the fields near the top-right and bottom-left corners have been poorly modeled; this is due to the
poor performance of the Mur boundary at grazing angles, as will be discussed in Chapter 8.
7.3 Total-field/scattered-field formulation 163
8
−20
12 Total Field
Region
−30
16
Scattered Field
Region
20 −40
8
−20
12
−30
16
Scatterer Scatterer
20 −40
5 10 15 20 cm 5 10 15 20
Figure 7.4 Example total-field/scattered-field problem. The top right panel show the incident
field, excited by a sinusoidal point source, and absorbed at the boundaries by a Mur boundary
condition (Chapter 8). The top left panel shows the TF/SF space with no scatterer, and the
bottom left panel shows the TF/SF panel with a scattering object. The bottom right panel
shows the complete scattered field, after subtracting the incident field from the total-field
region.
a scatterer. The incident field is simply added at the top and left TF/SF boundaries, and
then subtracted again at the bottom and right boundaries.
Now, in the lower left panel, a small box of perfectly conducting material has been
imposed at the center of the simulation space. Now, the total-field region contains
both the incident and scattered fields, resulting in an interference pattern that would be
difficult to interpret. In the scattered-field region, however, the incident field is removed,
leaving only the fields directly scattered by the object. It is evident that the scattered field
forms a spherical outgoing wave, but with variations in the propagation angle. It would
be quite simple, then, to determine the scattering pattern in 2D for this object. In the
lower right panel, we have subtracted the incident field from the total-field region only,
resulting in the complete scattered-field pattern, which can then be used for any desired
analyses.
164 Introduction of sources
ABC
Source
!z (V/m)
1
TF/SF Space, no Scatterer
(b) Scattered Field 0.5
ABC
(Region 1)
ABC
0
Total Field
(Region 2) −0.5
TF/SF Space with Scatterer
(c) −1
Scattered Field
ABC
(Region 1) PEC
Scatterer
ABC
Total Field
(Region 2)
Figure 7.5 Total-field/scattered-field in a waveguide. (a) The incident field is calculated at all
points in the space, with a sinusoidally varying source at the leftmost edge. An absorbing
boundary condition (ABC) (Chapter 8) is applied at the right edge of all three spaces. (b) The
TF/SF space; incident fields in (a) are applied as the correction terms in (b) at the dashed line.
Any “scattered” fields thus appear to propagate to the left in the scattered-field region; however,
as there are no scatterers, there are no scattered fields, and instead we see the incident field
propagate unhindered to the right. In (c) a scatterer has been introduced, which is a PEC box
filling half the width of the waveguide. In this case, fields reflect from the scatterer and appear
propagating to the left in Region 1. Note that, unlike Figures 7.2 and 7.3, there is no “Region 1”
on the right.
4 Here we refer to the waveguide sense of TE, i.e., our space is in the x–y plane and we have an !z component
only; this is our FDTD TM mode.
7.4 Total-field/scattered-field in three dimensions 165
The total-field/scattered-field formulation was described in the previous section for the
2D case, requiring two correction terms for the electric field components (for the TM
case) located at the corners of the FDTD grid. It is important to note that in a 3D grid, only
a single correction term is required for most of the components, except for the electric
field components lying along the edges of the total-field/scattered-field boundary, which
require two correction terms.
The vicinity of one of the corners (i = i 0 , j = j0 , k = k0 ) of the 3D FDTD grid is
shown in Figure 7.6. Here, the field components that reside inside or at the edges of the
Region 2 FDTD grid (the total field region) are indicated with solid-filled arrows, while
those that reside outside this region and inside Region 1 (the scattered-field region) are
indicated with empty arrowheads. The shaded gray regions show where the box at the
bottom of the figure has been cut out of the top portion. Note that since there are no
field components at the corner of the boundary at (i 0 , j0 , k0 ), there is no need for a
three-component “corner” correction. The components of the ! and " fields that will
require modifications to their update equations are shown in dashed circles.
166 Introduction of sources
Region 2 Edge
z
Electric field components located on the faces (but not on the edges) of Region 2
require only a single correction term. Note that these fields are total fields, but their
update equations involve a single scattered-field component from Region 1. For example,
consider !tot
x at location (i 0 + 1/2, j0 , k0 + 1), which is in a solid circle in Figure 7.6. This
component is surrounded by three total-field components, "tot y at (i 0 + 1/2, j0 , k0 + 1/2)
(below it), "tot
z at (i 0 + 1/2, j0 + 1/2, k 0 + 1) (to the right and forward, in the cutout
7.4 Total-field/scattered-field in three dimensions 167
This modification to the update equation applies to all of the !x components along the
face at j0 ; similar update equation modifications need to be made to the ! y components
along the i 0 face, and the !z components along both the i 0 and j0 faces, with the exception
of the terms along the edge at (i 0 , j0 , k), which need to be dealt with separately, as we
will show presently.
From Figure 7.6, the magnetic field components at the faces of Region 2 are total-
field components surrounded by total-field electric field components, so that their update
equations do not need correction terms. However, scattered-field " components located
a half-mesh size outside Region 2 require correction terms. For example, consider "scat z
at (i 0 + 1/2, j0 − 1/2, k0 ), in a solid circle at the left of Figure 7.6. This component is
surrounded by three scattered-field components, !scat y at (i 0 + 1, j0 − 1/2, k0 ), at !scat
y
scat
(i 0 , j0 − 1/2, k0 ), and !x (i 0 + 1/2, j0 − 1, k0 ). It is also adjacent to one total-field
component, !tot x at (i 0 + 1/2, j0 , k0 ), and as such we will need to subtract the incident
field at that location from the update equation (since it is an update equation in terms of
scattered fields). The update equation for this component is then:
3n+1 - 3 .
3 3n+1 +t inc 33n+1/2
"z 3 = "z 3 − ! 3 . (7.17)
i 0 +1/2, j0 −1/2,k0 i 0 +1/2, j0 −1/2,k0 ϵ+y x i0 +1/2, j0 ,k0
' () *
Normal FDTD update, Eq. (4.19c)
This update equation applies to all "z components along the ( j0 − 1/2) face. Similar
update modifications can be made in the same fashion for "z components along the
(i 0 − 1/2) face, as well as "x and " y components along the (k0 − 1/2) face. Note,
however, that the "z components located along the line diagonally displaced from the
z-axis edge of Region 2 (i.e., "scat z at (i 0 − 1/2, j0 − 1/2, k ≥ k0 )) do not need to be
corrected, since these are surrounded by only scattered-field electric fields.
Along the edges of the boundary, things are slightly more complicated, but equally
straightforward to deal with, and follow the same logic as the corner points in the 2D case.
Consider, for example, the !tot z (i 0 , j0 , k0 + 1/2) component in the center of Figure 7.6,
in the solid circle, which is a total-field component. This field component is surrounded
by two total-field components to its left and right (and slightly in front), namely "tot x
at (i 0 , j0 + 1/2, k0 + 1/2) and "toty at (i 0 + 1/2, j0 , k 0 + 1/2). It is also surrounded by
two scattered-field components to the left and right and slightly behind, namely "scat x
at (i 0 , j0 − 1/2, k0 + 1/2) and "scat
y at (i 0 − 1/2, j0 , k0 + 1/2). Thus, the incident field
168 Introduction of sources
at these two locations will need to be added to the update equation. Thus, the modified
updating equation should be:
3n+1 - 3 . M
3 3n+1
!z 3 = !z 3 Normal FDTD update, Eq. (4.18c)
i 0 , j0 ,k0 +1/2 i 0 , j0 ,k0 +1/2
+t 3n+1/2 +t 3n+1/2
3 3
− "inc
y 3 + "inc
x 3 . (7.18)
ϵ+x i 0 −1/2, j0 ,k0 +1/2 ϵ+y i 0 , j0 −1/2,k0 +1/2
Note that the updating equation is similar for all the other !z components along the
edge of Region 1, namely !tot z (i 0 , j0 , k > k0 ). Expressions similar to (7.18) can be
written in a straightforward manner for the other electric field components at the edges
of Region 2, namely !tot tot
x (i > i 0 , j0 , k0 ) and ! y (i 0 , j > j0 , k0 ).
The FDTD method is inherently a time domain solution of Maxwell’s equations, which
does not explicitly reveal numerical results that can be interpreted or quantified in
comparison with the time-harmonic (sinusoidal steady-state) response of the configu-
rations being modeled. Such comparisons are often the only means by which absolute
assessment of the accuracy of FDTD results can be benchmarked.
One way to determine the time-harmonic response would be to use a sinusoidal source
function at a particular frequency ω, run the FDTD algorithm until we observe steady
state, and determine the resulting amplitude and phase of whatever quantity is of interest
at every point of interest within the FDTD grid, for that excitation frequency ω. Although
this procedure would in principle work, one would then have to repeat the procedure for
every frequency of interest.
However, we know from the linearity of Maxwell’s equations and theory of linear
systems that the response of the system at every frequency is revealed by its response
to an impulse excitation. This means that we can use a Gaussian pulse excitation, by
choosing its width to be narrow enough to contain all of the frequencies of interest, so that
7.6 Summary 169
it resembles an impulse.5 We could then run the FDTD algorithm until the excitation
pulse dies out, and take the Fourier transform of the field components of interest, to
determine the amplitude and phase of the time-harmonic response at any frequency of
interest.
At first thought, it might appear that such a procedure is a daunting task, since the
entire time history of the field quantity of interest would have to be stored from the
beginning to the end of the FDTD algorithm run. However, it turns out that the desired
time-harmonic response can be obtained by maintaining only two buffers for every
frequency of interest, if we carry out the Fourier transformation integral as the FDTD
algorithm progresses.
Assume that our goal is to determine the magnitude and phase of a time-harmonic
electric field component ! at a given frequency f 0 at some given grid point i. We have
" tend
!i ( f 0 ) = !i (t) e− j2π f0 t dt (7.19)
0
where the upper limit tend is the time at which the FDTD run is stopped. Converting
(7.19) into finite difference form:
T
G
!i ( f 0 ) = !i (n+t) e− j2π f0 n+t (7.20)
n=0
where T = tend /+t. We can express the Fourier component !i ( f 0 ) in terms of its real
and imaginary components:
T
G T
G
!i ( f 0 ) = !i (n+t) cos(2π f 0 n+t) − j !i (n+t) sin(2π f 0 n+t) . (7.21)
n=0 n=0
' () * ' () *
)e{!i (f0 )} -m{!i (f0 )}
So that the quantity !i ( f 0 ) can be calculated by simply maintaining the two buffers,
for its real and imaginary parts, which are incrementally determined by adding the new
contributions at each time step.
Note that the amplitude and phase of !i ( f 0 ) can simply be determined from its real
and imaginary parts. If we are interested in the response at more than one frequency, we
need to maintain a pair of buffers at each frequency of interest.
7.6 Summary
In this chapter we have introduced methods for applying sources in the FDTD method.
The simplest, yet least realistic method for applying sources is the hard source, where
the field(s) at one or more grid locations are replaced with the desired input field. This
method can be effective for testing an FDTD simulation, but is not particularly useful
for real simulations.
5 For better accuracy it is prudent to use the derivative of a Gaussian pulse, rather than a Gaussian directly, to
avoid grid capacitance effects.
170 Introduction of sources
Next we introduced two other methods for applying internal sources. First, a current
or voltage source can be added to Maxwell’s equations as shown:
1 2n+1/2
∂! 1 1
= [∇ × "]n+1/2 − [%source ]n+1/2 .
∂t ϵ ϵ
The second method, the thin-wire approximation, enables the simulation of a thin
antenna in 3D.
The remainder of this chapter focused on the total-field scattered-field (TF/SF) method
for applying external sources to the FDTD simulation. This allows for the accurate
simulation of plane wave sources that may be far from the scattering object. The TF/SF
method relies on the linearity of Maxwell’s equations, so that fields can be broken into
incident and scattered components:
!tot = !inc + !scat
where the incident, scattered, and total fields each satisfy Maxwell’s equations. In the
TF/SF method, the simulation space is broken into total-field regions and scattered-field
regions, and update equations are written for each region in terms of the field components
there; i.e.,
∂"tot
∇ × !tot = −µ in the total-field region
∂t
∂"scat
∇ × !scat = −µ in the scattered-field region
∂t
and similarly for the ! update equations. Then, at the boundary between the regions, a
correction must be applied so that the equations are consistent. This correction involves
adding or subtracting components of the incident field, which is determined analytically
or from a separate FDTD simulation without scattering objects. This has the desired
effect of applying the incident field at the boundary, but leaving it transparent to scattered
fields returning across the boundary.
7.7 Problems
6 Note that the TE1 mode referred to here is the classical context, having one transverse electric field component
and two magnetic field components, one transverse and one axial (along the propagation direction, i.e., z).
7.7 Problems 171
10 mm x
20 mm 20 mm
z 10 mm
y
15 mm (a) 15 mm (c)
Figure 7.7 Waveguide used for Problem 7.1a (left) and Problem 7.1c (right).
f = ( f cTE1 + f cTE2 )/2, where f cTE1 and f cTE2 are respectively the cutoff fre-
quencies for the TE1 and TE2 modes. What can you say about the reflected
and transmitted waves?
(b) Repeat (a) but for a wave frequency f = 1.2 f cTE2 .
(c) Repeat (a) and (b) for the vertical strip case as shown in Figure 7.7.
7.2. Total-field/scattered-field in 2D. Consider implementing a 2D TM code similar
to the example in Figure 7.4, except the scattering object will be a cylinder of
radius 10 grid cells, rather than a square box. Make the space large enough so
that fields do not reflect back into the space from the outer boundary.
(a) First, implement this scattering problem without the TF/SF method. In a
separate simulation, compute the “incident” field by removing the scatterer.
Calculate the scattered field by subtracting the incident field from the “total”
field. Measure the scattering pattern by monitoring a number of points
around the object at some distance.
(b) Now, implement this problem using the TF/SF method. You can use the
same two simulations from part (a), and simply use the “incident” field at
the boundary of the TF/SF interface. Measure the scattering pattern as you
did in part (a). How do they compare? Comment on the relative merits of
these two methods.
7.3. A current source. Repeat Problem 4.4, the 2D TM mode simulation, but excite
a current source %z at the center of the space rather than a hard electric field
source. Use Equation (7.2) to discretize the current source; note that it is located
at the same grid location in space as !, but the same time step as ". Compare
the propagating fields to those of Problem 4.4. What is the relationship between
the source current in Ampères and the fields in V/m?
7.4. Thin-wire antenna in 3D. Repeat Problem 4.6, exciting a half-wave dipole and
monopole in a 3D Cartesian grid; however, this time, model the antenna using
the thin-wire approximation for the conductive parts of the antenna. Compare
the radiation patterns in the near field; how do they compare to the method in
Chapter 4?
7.5. 3D rectangular waveguide. Write a simulation for a 3D rectangular waveguide
with cross-section dimensions 10.922 × 5.461 cm and length ∼40 cm.
In other words, such a TE mode would correspond to a 2D TM y mode in the context of FDTD modeling,
with the y-axis being the axis over which there are no variations of any quantity.
172 Introduction of sources
l2
l l1 l1 θ
d V V d V d
Figure 7.8 (a) Leaky capacitor in Problem 7.7; (b) waveguide source in Problem 7.8; (c) horn
antenna in Problem 7.9. The dashed square represents the simulation boundary.
(a) Excite the waveguide at one end with a TE10 mode (in the waveguide sense)
at frequency 2 GHz and monitor the wave as it passes through a point
20 cm down the waveguide. Use 20 grid cells per wavelength.
(b) Repeat part (a) for the TE11 and TE21 modes. How do you go about exciting
these modes?
(c) Repeat part (a) for the TM11 mode.
(d) Repeat part (a), but model the waveguide walls with a thin layer of conduc-
tive material, varying σ from 1 to 104 S/m. How does the amplitude at the
observation point depend on the conductivity? For each conductivity value,
plot the amplitude as a function of distance; what is the loss in nepers/m?
7.6. 3D cylindrical waveguide. Write a 3D simulation in cylindrical coordinates to
model a cylindrical waveguide. Give the waveguide a radius of 0.27 cm, and a
length of 10 cm, and excite the waveguide with a frequency of 40 GHz. (How
will you go about exciting this waveguide?) Monitor the fields at 5 cm down the
waveguide; can you determine what modes are present? Is this what you would
expect from waveguide theory?
7.7. Leakage fields in a capacitor. Consider the simulation of a capacitor in 3D
Cartesian coordinates, as shown in Figure 7.8a. Create two parallel square con-
ducting plates in the center of the space with length l = 10 cm and a free-space
gap between them of d = 1 cm. Excite the capacitor by applying a sinusoidal
voltage between the plates at frequency 1 MHz, pointing from one plate to the
other, evenly distributed over the area of the plates.
Observe the fields that propagate away from the capacitor. What is the “radia-
tion pattern” of this capacitor? How does it depend on frequency and the dimen-
sions of the capacitor?
7.8. A waveguide radiator. Create a 2D TE mode simulation to observe the radiation
leaving a waveguide aperture, as illustrated in Figure 7.8b. The waveguide should
be 10 cm wide and 20 cm long. Excite the waveguide at the left end with a
Gaussian pulse; observe what happens as the fields exit the aperture.
7.9. Horn antenna. Modify your 2D TE simulation code to excite a horn antenna,
as illustrated in Figure 7.8c. Excite the antenna with an ! y source at the left end
References 173
of the antenna, with a given voltage across the antenna plates (note that this 2D
horn is really the opening of a 2D waveguide).
(a) Measure the antenna radiation pattern some distance from the antenna at
a range of frequencies. (You can do this either by exciting a Gaussian
pulse, or by running the simulation multiple times with a sinusoidal source
at different frequencies.) Vary the length l2 and the angle θ of the horn
antenna and compare the results.
(b) Measure the characteristic driving-point impedance of this horn / waveguide
combination, and compare to the impedance of the waveguide alone in the
previous problem. Comment on the effect of the horn in this context.
You will need to take special care when handling the boundary conditions on
the angled section of the horn, since the “normal” and “tangential” fields are no
longer along grid edges; this will result in a stair-stepped horn aperture.
7.10. A thin slot. Create a 2D TM mode simulation that is 100 × 200 grid cells,
designed for a frequency of 300 MHz. Place a vertical “wall” of PEC material
across the center of the simulation space, but with a hole in the center of a few
grid cells. Excite the simulation with an !z source to the left of the wall, and
measure the field intensity that leaks through the hole. Vary the size of the hole
from 20 down to one grid cell; how does the field intensity to the right of the wall
depend on the hole size? Can you think of a way to do this simulation with a hole
that is less than one grid cell wide? We will revisit this problem in Chapter 12.
References
[1] R. Holland, “Threde: a free-field EMP coupling and scattering code,” IEEE Trans. Nuclear
Science, vol. 24, pp. 2416–2421, 1977.
[2] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
[3] U. S. Inan and A. S. Inan, Electromagnetic Waves. Prentice-Hall, 2000.
[4] K. R. Umashankar and A. Taflove, “A novel method to analyze electromagnetic scattering of
complex objects,” IEEE Trans. Electromag. Compat., vol. 24, pp. 397–405, 1982.
8 Absorbing boundary conditions
The necessarily finite nature of any FDTD spatial grid is a most important limitation in
the FDTD method. Consider the scenario in Figure 8.1a, which sketches the scenario
that we modeled in Figure 7.5c. In the real world, this waveguide would have a wave
introduced at the left edge, which in our TF/SF space appears at the TF/SF boundary
between Region 1 (left) and Region 2 (right). Waves will scatter from the scattering
object (which is not necessarily PEC), both forward down the waveguide and back
toward the source (labeled R0 in the figure). Since in our “ideal” scenario we have no
other scattering objects, these scattered fields will continue to propagate forever, and so
they should be unaffected by the ends of our simulation space.
Now consider the scenario in Figure 8.1b, where our numerical space, in which we
have modeled a 2D parallel-plate waveguide, is truncated at the ends by PEC boundaries
(by setting the electric field !z = 0 at the limiting grid points). The source wave enters
the space at the TF/SF boundary as before, and scatters from the scattering object
(R0 in the figure). However, at some time t1 , corresponding to the length of Region 2
divided by v p , the source wave will reflect from the far right PEC boundary (R1). This
reflected wave will scatter from the object as well (R2) at time t2 > t1 ; the reflected
wave R2 will again reflect from the far right PEC, and the process will continue until
a standing-wave pattern is established. In addition, the first reflection R1 will add to
the “real” reflection from the scatterer R0, and propagate toward the leftmost PEC
boundary, whereupon the combined wave will reflect again (R3). This wave will reflect
from the scatterer again and continue to reflect back and forth between the scatterer and
leftmost PEC.
Obviously, this scenario is far from the physical system in Figure 8.1a that we wish to
model. Hence, the goal of absorbing boundaries is to emulate the scenario in Figure 8.1a
as accurately as possible.
The problem at the boundaries of the FDTD grid arises because the field components
at the outer edge of a finite FDTD space are not completely surrounded by the field
components required for the update equation. Accordingly, there is not enough infor-
mation to correctly update these components during the implementation of the FDTD
algorithm. If we want the boundary to act as a perfect electric conductor (PEC), we
can simply set the boundary points to !tan = 0, as was done for the top and bottom in
Figure 7.5.
An absorbing boundary condition (ABC), on the other hand, is a means to approxi-
mately estimate the missing field components just outside the FDTD grid, in order to
Absorbing boundary conditions 175
ABC
Scatterer
R0 (real)
(Absorbed)
(Absorbed)
ABC
R0(t1)
Source Wave
PEC
Scatterer
R0 (real) R2(t2)
R3(t4) R3(t5)
R1(t1)
PEC
R0 + R1(t3 )
Source Wave
Figure 8.1 The need for absorbing boundaries in a 2D waveguide. (a) The ideal scenario has an
incident wave scattering from the object, and then being absorbed at either end of the
waveguide. (b) In the space with PEC walls, where no ABC has been used, numerical reflections
render the fields inside the waveguide meaningless.
1 Microwave dark rooms, or anechoic chambers, are constructed with walls completely covered with absorbing
materials, often in corrugated form (for tapered impedance matching), designed to minimize reflections and
thus make the rooms suitable for testing antennas and other radiating devices. One absorbing material
is a lossy mixture of high-permeability ferrite material and a high-permittivity barium titanate material
known as the ferrite-titanate medium, for which both µc = µ′ − jµ′′ and ϵc = ϵ ′ − jϵ ′′ are complex but
the magnitude of the ratio |µc /ϵc | = µ0 /ϵ0 .
176 Absorbing boundary conditions
The first category of ABCs relies on the fact that the solution of Maxwell’s two coupled
curl equations via an FDTD algorithm is equivalent to the solution of the second-order
wave equation for any one of the field components. Although the wave equation naturally
supports waves propagating in both forward and backward directions, it can be factored
into two one-way wave equations, each of which supports waves in only one direction.
This property provides the basis for an algorithmic method by which the fields can be
“propagated out” of the FDTD domain, minimizing reflections back into the numerical
space. A first-order scheme of this type is first discussed below, using the 1D wave
equation, for simple one-way wave equations. This scheme is known as the first-order
Mur boundary condition, and is quite effective in the removal of the plane wave fields
normally incident on an FDTD boundary, being particularly suitable for 1D problems.
2 Note that we have chosen to write our simulations in the Matlab style, where the boundary point x = 0
corresponds to i = 1, since Matlab uses 1 as the first index into an array. Other authors, probably C/C++
users, will label the first index as i = 0, which has the advantage that x = i+x, whereas in our definition,
x = (i − 1)+x.
8.1 ABCs based on the one-way wave equation 177
However, note that in our 1D TM mode FDTD algorithm (Equations 4.9), the !z
component is defined at integer time and spatial points, and so is not available at the
half grid point i = 3/2 nor at the half time increment n + 1/2. As such, we implement
a simple spatial average for the former and a simple time average for the latter. We can
thus rewrite (8.2) as:
# 3 3n+1 $ / 3n 3n 0 # 3 3n $ # 3n+1 3n $
3n+1 3 3 3 3n+1 3 3 3
!z 3 + !z 3 − !z 3 + !z 3 !z 3 + !z 3 − !z 3 + !z 3
1 2 1 2 2 2 1 1
= vp .
2+t 2+x
(8.3)
3n+1
Solving for the boundary field at time n + 1, i.e., !z 31 , we find:
3n+1 3n - v +t − +x . - 3n+1 3n .
3 3 p 3 3
!z 3 = !z 3 + !z 3 − !z 3 . (8.4)
1 2 v p +t + +x 2 1
Note from this equation that at the CFL limit of v p +t/+x = 1, the boundary field is
equal to the field immediately to its right at the previous time step, i.e.,
3n+1 3n v p +t
3 3
!z 3 = !z 3 when = 1. (8.5)
1 2 +x
Otherwise, when v p +t/+x < 1, there is a correction to the boundary field involving
the previous value at the boundary and the current value to the right of the boundary. As
such, this implies that the boundary update must be made after the rest of the simulation
space has been updated.
At the rightmost edge of our 1D simulation space, with i = i max , an equivalent version
of the first-order Mur boundary condition is:
3n+1 3n - .- 3 3n .
3 3 v p +t − +x 3n+1 3
!z 3 = !z 3 + !z 3 −!z 3 . (8.6)
i max i max −1 v p +t + +x i max −1 i max
Note that the choice of wave equation depends on the simulation space, and which
field component(s) is (are) defined at the boundary. In other words, an ABC is only
178 Absorbing boundary conditions
jmax
jmax – 1
jmax – 2 ∆y
∆x
θinc
Wave incident on x = 0
...
3
2
j=1
i = 1 2 3 ... imax
Figure 8.2 Absorbing boundary conditions in 2D. A wave incident on the x = 0 (i = 1) boundary
at angle θinc will partially reflect; effective ABCs in 2D will partially reduce these reflections.
required for those field components for which the normal update equations will not work,
due to points falling outside the boundary. Consider the 2D TE case, as illustrated in
Figure 4.5. Along the y = 0 boundary (i.e., j = 1) we find only the !x field component,
so a boundary condition based on a wave equation for !x will be required; but on the
x = 0 boundary, we find an ! y field component, so a boundary condition based on
a wave equation for ! y will be required. Alternatively, we could define the boundary
at the half-point where "z falls, requiring a boundary condition only for "z at all
boundaries.
Here we will consider the 2D TM case where !z falls on all boundaries. In our 2D
space, we will need to consider waves incident on four walls of the numerical space, as
well as corners. First, consider waves incident on the left and right walls as illustrated
in Figure 8.2 (i.e., at i = 1 and i = i max ). We can factor Equation (8.7) specifically for
these waves as follows:
1 % &2
∂2 1 ∂2 ∂2
− − 2 !z = 0
∂x2 v 2p ∂t 2 ∂y
% H &% H &
∂ 1 ∂2 ∂2 ∂ 1 ∂2 ∂2
+ − 2 − − 2 !z = 0. (8.8)
∂x v 2p ∂t 2 ∂y ∂x v 2p ∂t 2 ∂y
' () *' () *
.+ .−
Note that .+ and .− are two operators successively applied to the field component
!z , similar to the expansion of the 1D wave Equation (3.18b).
Application of each of the operators .+ and .− separately to !z results in a one-way
wave equation, albeit in 2D. For example, on the rightmost edge of a 2D FDTD grid, we
8.1 ABCs based on the one-way wave equation 179
can use:
% H &
+ ∂ 1 ∂2 ∂2
. !z = + − !z = 0. (8.9)
∂x v 2p ∂t 2 ∂ y2
where !˜ z (x, k y , ω) is the 2D Fourier transform (in y and t) of !z (x, y, t). The derivatives
with respect to t and with respect to y can then be interpreted as:
∂!z ∂!z
= +−1 { jω!˜ z } and = +−1 { jk y !˜ z }, (8.11)
∂t ∂y
Unfortunately, Equation (8.12) is not usable in a numerical algorithm, since the inverse
Fourier transform is a global operation, requiring the knowledge of the values of the
function !˜ z (x, k y , ω) for all k y and ω. Thus, we seek to develop practical one-way
wave equations which approximate the square root operation in Equation (8.9); for this
approximation we follow the work of [1, 2]. For compactness of notation, we can write
the operator .+ as
H
+ ∂ 1 ∂2 ∂2 ∂ 1 ∂4
. = + 2 2
− 2 = + 1 − S2 (8.13a)
∂x v p ∂t ∂y ∂x v p ∂t
v p (∂/∂ y)
where S≡ . (8.13b)
(∂/∂t)
The parameter S is a unitless quantity that compares the spatial derivative (in y) with
the time derivative. Note that the quantity S is actually a measure of the degree to which
the incidence of the wave on the rightmost wall is normal. A very small value of S means
that the partial derivative with respect to y of the incident wave (which, for a plane wave
having the functional form e j(ωt+k y y+kx x) , is proportional to |k y |) is much smaller than
the time derivative (proportional to ω) as scaled by v p . Since k x2 + k 2y = ω2 /v 2p is the
eigenvalue equation for the wave Equation (8.1a), this in turn means that k x ≫ k y , i.e., the
wave is incident nearly normally on the rightmost wall defined by x = i max +x. Higher
180 Absorbing boundary conditions
∂!z 1 ∂!z
+ ≃0
∂x v p ∂t
exactly as derived in the previous section. The implementation at the rightmost wall is
exactly as given by Equation (8.6), repeated below for the 2D case:
3n+1 3n - .- 3 3n .
3 3 v p +t − +x 3n+1 3
!z 3 = !z 3 + !z 3 −!z 3 (8.15)
i max , j i max −1, j v p +t + +x i max −1, j i max , j
The implementation of the first-order Mur boundary condition on the other walls
follows from Equation (8.15) in a straightforward manner. Note that in this equation we
have kept the index j to denote that we are operating in a 2D FDTD space; however, this
first-order Mur implementation depends only on values along the x-axis (i.e., it does not
depend on values at j − 1 or j + 1). This means the first-order Mur boundary condition
above is only appropriate and accurate for waves normally incident on the walls, with
θinc ≃ 0; we will investigate the reflections from this boundary as a function of θinc later
in this chapter. In order to have a boundary condition which can absorb waves arriving
at a wider range of angles, we need to keep additional terms in Equation (8.14). Keeping
the S 2 /2 term we have:
# $
∂ 1 ∂ S2
.+ ≃ + 1−
∂x v p ∂t 2
- .
∂ 1 ∂ 1 1 ∂ v p (∂/∂ y) 2
= + −
∂x v p ∂t 2 v p ∂t (∂/∂t)
∂ 1 ∂ v p ∂ 2 /∂ y 2
= + − . (8.16)
∂x v p ∂t 2 ∂/∂t
8.1 ABCs based on the one-way wave equation 181
Substituting Equation (8.16) into Equation (8.9) and multiplying by ∂/∂t, we have:
∂ 2 !z 1 ∂ 2 !z v p ∂ 2 !z
+ − ≃ 0. (8.17)
∂ x∂t v p ∂t 2 2 ∂ y2
The corresponding equation for the x = 0 boundary (using the .− operator) is:
∂ 2 !z 1 ∂ 2 !z v p ∂ 2 !z
− 2
+ ≃ 0. (8.18)
∂ x∂t v p ∂t 2 ∂ y2
These two equations constitute approximate one-way wave equations in 2D. Note
that the Taylor series expansion of (1 − S 2 )1/2 is most accurate when S is small, so
we can expect this 2nd-order boundary to be most effective for small angles. We can
now discretize Equation (8.18) using the second-order differencing techniques that we
studied in Chapter 3. The first term is handled by discretizing first in time using a
two-point centered difference, and then discretizing the resulting spatial derivatives in a
similar manner:
3n ⎛ 3n+1 3n−1 ⎞
2
∂ !z 33 1 ⎝ ∂!z 3 3 ∂!z 33
3 = 3 − 3 ⎠
∂ x∂t 3 2+t ∂x 3 ∂x 3
3/2, j 3/2, j 3/2, j
⎛ 3n+1 3n+1 3n−1 3n−1 ⎞
3 3 3 3
!z 3 −!z 3 !z 3 −!z 3
1 ⎜ 2, j 1, j 2, j 1, j ⎟
= ⎝ − ⎠. (8.19)
2+t +x +x
The third term in Equation (8.18), the second derivative in y, can be simply discretized
using three-point centered differences as in Equation (3.54), after averaging in space
across the i = 1 and i = 2 points:
⎛ 3n 3n ⎞
- 2 .n 3
∂ !z 2
1 ⎝ ∂ !z 3 ∂ !z 33 ⎠
2
≃ 3 + 3
∂ y 2 3/2, j 2 ∂ y2 3 ∂ y2 3
2, j 1, j
⎛ 3n 3n 3n 3n 3n 3n ⎞
3 3 3 3 3 3
!z 3 −2 !z 3 +!z 3 !z 3 −2 !z 3 +!z 3
1⎜ 2, j+1 2, j 2, j−1 1, j+1 1, j 1, j−1 ⎟
≃ ⎝ − ⎠
2 (+y)2 (+y)2
(8.20)
and similarly for the second term in Equation (8.18), the time derivative:
⎛ 3n 3n ⎞
- 2 .n
∂ !z 1 ⎝ ∂ 2 !z 33 ∂ 2 !z 33 ⎠
≃ 3 + 3
∂t 2 3/2, j 2 ∂t 2 3 ∂t 2 3
1, j 2, j
⎛ 3n+1 3n 3n−1 3n+1 3n 3n−1 ⎞
3 3 3 3 3 3
!z 3 −2 !z 3 +!z 3 !z 3 −2 !z 3 +!z 3
1⎜ 2, j 2, j 2, j 1, j 1, j 1, j ⎟
≃ ⎝ − ⎠ . (8.21)
2 (+t)2 (+t) 2
182 Absorbing boundary conditions
Finally, substituting
3n+1 Equations (8.19), (8.20), and (8.21) into Equation (8.18) and
solving for !z 31, j , we find the update equation for the left boundary of our 2D space:
2 - 3 3 3 3
+x(v p +t) 3n 3n 3n 3n
+ 2
!z 3 − 2!z 3 + !z 3 + !z 3
2(+y) (+x + v p +t) 1, j+1 1, j 1, j−1 2, j+1
3n 3n .
3 3
− 2!z 3 + !z 3
2, j 2, j−1
(8.22)
Similar update equations can be derived for the other three boundaries of the 2D
space, or can be simply transposed from Equation (8.22) by modifying subscripts. For
example, the update on the bottom boundary (at j = 1) can be written as:
(8.23)
An obvious disadvantage of the second-order Mur condition is the fact that, in addition
to using the previous field values at time step n, prior values at time step (n − 1) are
required, and thus must be stored in memory during the simulation.
The grid points used in the Mur first- and second-order boundaries in 2D are shown
in Figure 8.3. In the first-order Mur, apart from the boundary point itself at the previous
time step, only the point adjacent to the boundary is used; as such it is no surprise that
this boundary condition is only effective at normal incidence. In the second-order Mur
boundary, all five surrounding points are used to update the boundary point.
time n
n and n+1
n–1, n, and n+1
y First-order Mur y Second-order Mur
∆y ∆y
j+1 j+1
j j
j–1 j–1
3 3
2 2
1 1
∆x x ∆x imax x
1 2 3 i 1 2 3 i
i–1 i+1 i–1 i+1
Figure 8.3 Mesh diagram for the Mur boundary conditions. Similar to Figure 3.10, the points
used to update the Mur first- and second-order boundaries are shown.
100
10−2
Reflection Coefficient Γ
10−4
10−6
1st-order Mur
2nd-order Mur
10−8
3nd-order Mur
10 −10
0 30 60 90
(Normal) (Grazing)
Incident Angle θinc (deg)
Figure 8.4 Reflection coefficients for the Mur boundaries. Each of the boundaries absorbs
perfectly at normal incidence and reflects perfectly at grazing incidence, and the performance
improves with increasing order.
184 Absorbing boundary conditions
where the “inc” superscript refers to its incidence on the boundary; later we will have
“reflected” and “total” waves. The reader should once again note the difference between
8.1 ABCs based on the one-way wave equation 185
√
the index j and the imaginary number j = −1. Now consider the implementation of
an ABC at the FDTD space boundary at x = 0 (i.e., i = 1, using our Matlab notation).
The uniform plane wave described by Equation (8.26) propagates in the −x and +y
directions, and is incident on the x = 0 boundary at an angle θinc with respect to the +x
axis, given by
ky
tan θinc = (8.27)
kx
assuming that k x and k y are positive. At the boundary, the imperfect nature of the
absorbing boundary condition will lead to a reflected wave traveling in the +x and +y
directions, matching the y variation of the incident wave but reversing the direction of
its propagation along the x-axis:
3n
3
!ref
z 3 = 5e
j(ωn+t) − j(k cos θinc (i−1)+x) − j(k sin θinc ( j−1)+y)
e e (8.28)
i, j
where the reflection coefficient 5 is what we are aiming to evaluate, and we have written
the equation in terms of the angle θinc . Thus, the total wave in the vicinity of the boundary
is given by:
3n 9 j(k cos θ (i−1)+x) :
3
!tot
z 3 =e
j(ωn+t)
e inc
+ 5e− j(k cos θinc (i−1)+x) e− j(k sin θinc ( j−1)+y) . (8.29)
i, j
The performance of the ABC can be assessed via the magnitude of the reflection
coefficient, i.e., |5|. An expression for 5 can be found by substituting (8.29) into
the ABC algorithms, Equations (8.15) and (8.22), and then evaluating the resulting
equation at the x = 0 (i = 1) boundary. However, we can also derive a general reflection
coefficient by substituting Equation (8.29) into the general form of the one-way wave
Equation (8.25) and simplifying, resulting in the following general third-order reflection
coefficient, as derived by [5]:
In this relation, note that the approximation ω/k = v p has been made for sim-
plicity, which eliminates the frequency dependence of the reflection coefficient. The
reader should be aware, however, that in reality the reflection coefficient is depen-
dent on frequency. For the third-order Mur boundary in Equation (8.28), the reflection
coefficient is:
cos θinc − 1
5= . (8.33)
cos θinc + 1
These three relations are plotted together in Figure 8.4. Notice that, as expected,
the boundaries perform better with increasing order. In all cases, the boundaries absorb
essentially perfectly at normal incidence (θinc = 0), and reflect perfectly at grazing inci-
dence (θinc = 90). For this reason, it is generally prudent to design an FDTD simulation
space such that grazing angles do not occur; typically, the placement of scatterers should
be designed so that waves are not incident on the boundaries at angles greater than
45 degrees. However, this is not always possible, and so other boundaries may need to
be used, as will be described in this and the next chapter.
Note that other combinations of the constants q0 , p0 , q1 , and p1 can be chosen in
Equation (8.24); the result is that the numerical boundary will absorb perfectly at different
angles. As such, different combinations can be chosen for the particular application in
question. For example, the choice in a second-order boundary of p0 = q0 = p2 = 1 and
q2 = 0 results in perfect absorption both at normal incidence (θinc = 0) and at grazing
incidence (θinc = 90), with nonzero reflections at all other angles. For a detailed list of
second- and third-order boundaries, we refer the reader to [5].
∂ 2 !z ∂ 2 !z ∂ 2 !z 1 ∂ 2 !z
+ + − =0
∂x2 ∂ y2 ∂z 2 v 2p ∂t 2
1 2
∂2 ∂2 ∂2 1 ∂2
+ 2 + 2 − 2 2 !z = 0. (8.34)
∂x2 ∂y ∂z v p ∂t
Similar to the 2D case, we can factor the operator into .+ and .− as in Equation (8.8);
the .− operator (to be applied at x = 0) is now given by:
H
−∂ 1 ∂2 ∂2 ∂2
. = − 2 2
− 2− 2 (8.35)
∂x v p ∂t ∂y ∂z
∂ 1 ∂4
= − 1 − S2
∂x v p ∂t
We can now find the approximate one-way wave equations for the first- and√ second-
order Mur boundary conditions. For the first-order Mur boundary, recall that 1 − S 2 ≃
1, and so the one-way wave equation is the same as for the √
2D case (Equation 8.15, with
a k index included). For the second-order Mur boundary, 1 − S 2 ≃ 1 − S 2 /2, giving
the following one-way wave equation:
- .
∂ 1 ∂ v p (∂ 2 /∂ y 2 ) v p (∂ 2 /∂z 2 )
.− !z = − + + !z ≃ 0
∂x v p ∂t 2(∂/∂t) 2(∂/∂t)
∂ 2 !z 1 ∂ 2 !z v p ∂ 2 !z v p ∂ 2 !z
− + + ≃ 0. (8.36)
∂ x∂t v p ∂t 2 2 ∂ y2 2 ∂z 2
Note that this equation is identical to Equation (8.18), with the addition of the ∂ 2 /∂z 2
term, as expected. This equation can thus be discretized exactly as Equation (8.18),
resulting in an update equation for the !z component on the boundary similar to
Equation (8.22).
The higher-order boundary conditions listed in [5] can also be used in 3D; the differ-
ence equations
√ are derived in a similar manner using Equation (8.24) as the approxima-
tion for 1 − S 2 , and result in one-way wave equations analogous to Equation (8.25),
with ∂/∂z terms included.
188 Absorbing boundary conditions
The Mur boundary condition described above is just one of a number of examples
of using radiation operators as absorbing boundaries; .− and .+ are the radiation
operators themselves, which are applied in this case to the electric field ! at the boundary.
In general, as above for the Mur boundaries, the idea in using radiation operators is
to construct a linear partial differential operator from a weighted sum of three types
of derivatives of the field components: (i) spatial derivatives in the direction outward
from the FDTD space (∂/∂ x in the Mur derivation above), (ii) spatial derivatives in
the direction transverse to the outward direction (∂/∂ y), and (iii) temporal derivatives
(∂/∂t). Apart from the Mur ABCs, a number of other radiation operator ABCs have been
developed in the short history of the FDTD method, a few of which will be described in
this section.
3 Note that in cylindrical coordinates, unlike in Cartesian coordinates, we must define which coordinate is
independent. This is most typically either the z coordinate as in the current discussion (in which case the 2D
coordinates are known as polar coordinates) or the φ coordinate, in which case the problem is azimuthally
symmetric. The “TM” designation in the FDTD method, then, is defined by which field is in the plane of the
problem; in the case above it is the " field in the φ − r plane.
8.2 Other radiation operators as ABCs 189
we can thus envision creating a boundary that is far enough from the origin so that the
higher-order terms in Equation (8.38) become small compared to our desired error. We
now form the differential operator as shown below:
1 ∂ ∂
.+ = + . (8.39)
v p ∂t ∂r
Note the similarity between this operator and the operator .+ used in the Mur bound-
ary condition earlier, which is simply the Cartesian coordinate version of Equation (8.39).
This operator is in fact known as the Sommerfeld radiation condition [7].
Note that in our 2D polar coordinate system, the only boundary we need to worry
about is the r = rmax boundary; as such, we do not need an .− operator at r = 0, nor
do we require any boundary condition for the φ direction, since it obviously has no
boundary.
We next apply this operator to (8.37), considering just the first two terms of the series:
- ′ .
1 !z,1 v p !′z,1 (−1) !z,1 (−1/2)
.+ [!z (r, φ, t)] = + +
v p r 1/2 r 1/2 r 3/2
- ′ .
1 !z,2 v p !′z,2 (−1) !z,2 (−3/2)
+ + + + ···
v p r 3/2 r 3/2 r 5/2
!z,1 (−1/2) !z,2 (−3/2)
= 3/2
+ + ···
' r () r 5/2 *
O(r −3/2 )
where the prime denotes differentiation of the function with respect to its argument. Note
that terms proportional to r −1/2 have canceled out. Using the exact form of .+ !z from
Equation (8.39) together with the above expression, we find the approximate one-way
wave equation:
1 ∂!z ∂!z !z,1 (−1/2) !z,2 (−3/2)
.+ [!z (r, φ, t)] = + = 3/2
+ + ··· (8.40)
v p ∂t ∂r ' r () r 5/2 *
O(r −3/2 )
location of the object of study, e.g., the scatterer), so that neglecting the higher order
terms can be justified.
This limitation of normal incidence or very large computational space can be overcome
with a slight modification to the operator .+ as given in Equation (8.39). Making
a modification to the radiation operator is somewhat analogous to the “modification”
that was made in Equation (8.9) to include the ∂/∂ y component in the Mur boundary
condition. The modification in cylindrical coordinates was introduced by Bayliss and
Turkel [6, 8]. They noticed that (8.32) above has as its highest-order remainder term
−!z,1 /2r 3/2 ; thus, to cancel this term and leave only the r −5/2 remainder term, one could
add a term 1/2r to the .+ operator (hereafter denoted as .1 ):
1 1 ∂ ∂ 1
#1 = .1 + = + + . (8.42)
2r v p ∂t ∂r 2r
Applying Equation (8.42) to Equation (8.38) and canceling terms gives:
1 ∂!z ∂!z ! !z,2 2!z,3
#1 [!z (r, φ, t)] = + + = − 5/2 − 7/2 + · · · . (8.43)
v p ∂t ∂r 2r ' r () r *
O(r −5/2 )
The one-way wave equation that then results from applying the operator in
Equation (8.42) is:
∂!z 1 ∂!z !z
=− − − O(r −5/2 ). (8.44)
∂r v p ∂t 2r
Thus, by simply adding the 1/2r term to the operator in Equation (8.39), we are able
to increase the order of accuracy of the one-way equation to O(r −5/2 ). In other words,
the remainder term in Equation (8.44) decreases to zero as r −5/2 instead of the r −3/2
dependence of the remainder in Equation (8.33).
The operator #1 in Equation (8.42) is known as the first-order Bayliss-Turkel radiation
operator. Even higher accuracy can be achieved by the use of the second-order Bayliss-
Turkel radiation operator, which is given by:
#1
- ) *' .(
.-
5 1
#2 = .1 + .1 + (8.45)
2r 2r
which, when applied to !z and simplified, leads to:
# $# $
1 ∂ ∂ 5 1 ∂ ∂ 1 2!z,3 6!z,4
#2 !z = + + + + !z = 9/2 + 11/2 . (8.46)
v p ∂t ∂r 2r v p ∂t ∂r 2r 'r () r *
O(r −9/2 )
In this case, as r → ∞, the error term goes to zero r −3 times faster than that in
the zero-order case in Equation (8.41). However, note that the extraction of the spatial
derivative ∂!/∂r from Equation (8.45) requires more complexity in the implementation
of the boundary condition.
The importance of the Bayliss-Turkel type of radiation operators is that they are con-
structed without any knowledge of the angular dependence of the partial wavefunctions.
8.2 Other radiation operators as ABCs 191
In practice, the second-order operator #2 has been most commonly used, representing a
good balance between accuracy and complexity.
Spherical coordinates
The Bayliss-Turkel operators can also be constructed in cylindrical coordinates for an
r –z coordinate system, or in 3D cylindrical or spherical coordinates, using analogous
methods. For details, we refer the reader to [8] and [4] and provide only a brief intro-
duction to the spherical coordinate case here. The field component, for example !φ , is
expanded in the following form:
G∞
!φ,m (v p t − r, θ, φ)
!φ (r, θ, φ, t) =
m=1
rm
!φ,1 (v p t − r, θ, φ) !φ,2 (v p t − r, θ, φ)
= + + ··· . (8.47)
r r2
The Bayliss-Turkel operators are then constructed, similar to those for the cylindrical
case in Equations (8.42) and (8.45) except for constant factors:
- .- .
1 3 1
#1 = .1 + and #2 = .1 + .1 + . (8.48)
r r r
Because of the r −1 dependence in the expansion in (8.47) rather than r −1/2 in the
polar coordinate case, there is an improvement of r 1/2 in the accuracy of each operator.
Specifically, the .1 operator used alone gives an error of order O(r −2 ); the first-order
operator #1 gives an error of order O(r −3 ), and the second-order operator #2 gives an
error of order O(r −5 ).
the analytical expression for the superposition of such a wave structure is:
M
G 9 :
!(x, y, t) = f m (v p t + x cos θm + y sin θm ) + gm (v p t + x cos θm − y sin θm )
m=1
(8.49)
where −π/2 ≤ θm ≤ π/2, and f (·) and g(·) are arbitrary functions. The numerical
operator proposed by Higdon for use in such a case is:
1 M # $2
\ ∂ ∂
cos θm − vp !=0 (8.50)
m=1
∂t ∂x
For any given problem at hand, the exact absorption angles θm can be chosen to
optimize the overall performance of the ABC, and Equation (8.51) can be used as a
measure of its effectiveness at other angles.
It is useful to examine the first and second Higdon operators, obtained respectively
for M = 1 and M = 2. For M = 1, we have:
∂! ∂!
cos θ1 − vp = 0. (8.52)
∂t ∂x
Note that for θ1 = 0, Equation (8.52) reduces to the one-way √ wave equation in
Section 8.1.2 resulting from a single term Taylor expansion of 1 − S 2 ; i.e., at θ1 = 0,
the first-order Higdon operator is identical to the first-order Mur operator. More gen-
erally, Equation (8.52) is a perfect boundary condition to use in problems where the
geometry dictates that the wave arriving at the x = 0 wall will do so at or near a given
incidence angle θ1 .
What about a scenario when waves are incident on the boundary wall from not one
but two discrete angles? For M = 2, we have from Equation (8.50):
# $# $
∂ ∂ ∂ ∂
cos θ1 − vp cos θ2 − vp !=0
∂t ∂x ∂t ∂x
∂ 2! ∂ 2! 2
2∂ !
cos θ1 cos θ2 − v p (cos θ 1 + cos θ2 ) + v p = 0. (8.53)
∂t 2 ∂ x∂t ∂x2
Note that Equation (8.53) can be discretized in the same manner as Equation (8.18)
for the second-order Mur boundary, to arrive at an equation similar to Equation (8.22).
For better comparison with Equation (8.18), we can express the last term (∂ 2 !/∂ x 2 ) in
terms of the corresponding second derivative with respect to y, namely ∂ 2 !/∂ y 2 , using
8.3 Summary 193
∂ 2! 1 ∂ 2! ∂ 2!
2
= 2 2 − 2.
∂x v p ∂t ∂y
we now see that Equation (8.18) is simply another form of Equation (8.54) for the special
case of
1 + cos θ1 cos θ2 1 1
p0 = =1 and p2 = − =− . (8.55)
cos θ1 + cos θ2 cos θ1 + cos θ2 2
Thus, the second-order Higdon operator can be made identical to the second-order
Mur boundary condition, by simply selecting the numerical values of the angles θ1 and
θ2 so that Equation (8.55) holds. In particular, the only angle that solves Equations (8.55)
is θ1 = θ2 = 0, the case of normal incidence; this agrees with the theoretical reflection
coefficient for the second-order Mur boundary plotted in Figure 8.4. More generally,
one can show quite easily that the equations for p0 and p2 above agree with the angles
of exact absorption presented in tabular form in [5].
To demonstrate the use of the Higdon operators, Figure 8.5 shows the reflection
coefficients for a couple of possible pairs of angles. These reflection coefficients are
calculated by first choosing the pairs of angles, and then using Equation (8.55) to
determine p0 and p2 to use in Equation (8.30).
Consider a scenario in which a square simulation space is excited at its center with
a hard source. The Mur boundary will give zero reflection at normal incidence, and
the worst reflection will occur at 45 degree incidence, where the wave hits the cor-
ners of the space. In fact, these reflections will propagate directly back toward the
source. A Higdon operator can be easily devised for θ1 = 0 and θ2 = 45◦ , resulting in
p0 = 1 and p2 = −0.586. The resulting reflection coefficient is plotted in Figure 8.5,
and demonstrates the effect as expected. Of course, the trade-off is that, compared to
the second-order Mur boundary, the reflections are somewhat higher between 0 and
30 degrees incidence; but everywhere in the 0- to 45-degree range of interest, 5 < 10−2 .
For comparison, Figure 8.5 also shows the reflection coefficient for a scenario in which
the angles of interest are 30 and 60 degrees.
8.3 Summary
In this chapter we have introduced methods for terminating the FDTD simulation space,
where the normal FDTD update equations cannot be implemented due to missing field
components. These radiation boundary conditions or absorbing boundary conditions
194 Absorbing boundary conditions
10 0
10 −1
Reflection Coefficient Γ
10−2
10−3
2nd-order Mur
10−4 Higdon (0,45)
Higdon (30,60)
10 −5
0 30 60 90
Incident Angle θinc (deg)
Figure 8.5 Reflection coefficients for the Higdon operators. The second-order Mur boundary is
shown for comparison. With the Hidgon operators we can choose two angles at which zero
reflection will occur; these examples show θ1 , θ2 = 0 and 45 degrees or 30 and 60 degrees.
allow us to keep the simulation space small – thus saving computation time – without
having to worry about unphysical reflections from the simulation space boundary.
We first introduced the relatively simple Mur boundaries, which are derived from the
one-way wave equations. These one-way wave equations are found by factoring the wave
equation into two operators, each describing waves propagating in opposite directions
in a given dimension. For example, in 2D, the wave equation factors into
% H &% H &
∂ 1 ∂2 ∂2 ∂ 1 ∂2 ∂2
+ − 2 − − 2 !z = 0
∂x v 2p ∂t 2 ∂y ∂x v 2p ∂t 2 ∂y
' () *' () *
.+ .−
where the two operators describe waves propagating in the −x and +x directions,
respectively. At the x = 0 boundary, we approximate the square root term using a Taylor
series expansion:
# $
∂
+ 1 ∂4 1 ∂ S2 S4 S6
. = + 1 − S2 = 1− − − − ···
∂x v p ∂t v p ∂t 2 8 16
where S ≡ v p (∂/∂ y)/(∂/∂t). Depending on where the Taylor series expansion is trun-
cated, different levels of accuracy
√ (i.e., correspondingly lower reflection
√ coefficients)
are achieved. The first-order ( 1 − S 2 ≃ 1) and second-order ( 1 − S 2 ≃ 1 − S 2 /2)
Mur boundaries were derived in Section 8.1. Alternatively, by instead making the
8.4 Problems 195
simplification
4 p0 + p2 S 2
1 − S2 ≃ ,
q0 + q2 S 2
we can tailor the reflection coefficient as a function of angle of incidence, through par-
ticular choices of the constants, to mimimize reflections from the boundary at particular
angles.
In Section 8.2 we introduced variations of absorbing boundary conditions, including
the Bayliss-Turkel operators and Higdon operators. The Bayliss-Turkel operators are an
improvement to the equivalent of the first-order Mur boundary in cylindrical or spherical
coordinates, involving the one-way wave equation:
# $
∂ 1 ∂
+ ! = O(r −3/2 ) (cylindrical coordinates)
∂r v p ∂t
' () *
.1
where the error term (i.e., the reflection coefficient) decreases with increasing distance
r as r −3/2 . The Bayliss-Turkel operator improves this error term by modifying the .1
operator. The first-order Bayliss-Turkel operator gives:
# $
∂ 1 ∂ 1
+ + ! = O(r −5/2 ) (Bayliss-Turkel first order)
∂r v p ∂t 2r
' () *
#1
where now the error goes as r −5/2 . The second-order Bayliss-Turkel operator, while much
more complex, increases the accuracy to O(r −9/2 ), thus requiring a smaller simulation
space.
The Higdon operator, introduced in Section 8.2.2, allows us to minimize the reflection
coefficient
√ in Cartesian coordinates at particular angles, similar to the expansion of
1 − S 2 in Equation (8.24), but in this case the angle can be directly specified and
tuned. The Higdon operator is given by:
1 M # $2
\ ∂ ∂
cos θm − vp !=0 (Higdon operator)
m=1
∂t ∂x
and the reflection coefficient is analytically specified by Equation (8.51). In this way, an
operator can be constructed for an arbitrary number m of incident angles at which the
reflection is to be minimized.
8.4 Problems
8.2. Second-order Mur in 2D. In 2D, program the second-order Mur absorbing
boundary condition for the case you considered in Problem 4.4, replacing the
perfectly conducting boundaries with the second-order Mur ABC. Set up the
problem space as described in part (a) of Problem 4.4.
(a) Assess the effects of the Mur ABC on the FDTD solution, by comparing
this calculation with that of an FDTD space of 200 × 200 for a source
placed in its center. Both calculations should be run until the wave in the
200 × 200 FDTD space hits the edges. The 200 × 200 run thus represents a
perfect ABC for the 50 × 50 run. Calculate the global error of the problem
over this range of time steps.
(b) Calculate the reflection coefficient for various angles of incidence of the
outgoing wave on the boundary. The reflection coefficient is the difference
in the two calculations from part (a). Do this for incident angles of: 0, 15, 30,
and 45 degrees. Comment on the results. Does this agree with the 5(ω, θ)
formula for the second-order Mur ABC as given in Equation (8.32)? Should
it? Why or why not?
8.3. Bayliss-Turkel operator in polar coordinates. Modify Problem 4.7 to imple-
ment Bayliss-Turkel operators at the outer boundary. Implement the (a) first-order
and (b) second-order Bayliss-Turkel operator, and measure the reflection coeffi-
cient; how do the two methods compare?
8.4. Bayliss-Turkel operator in cylindrical coordinates. Derive the Bayliss-Turkel
operator in an r –z coordinate system. Implement this boundary condition for
Problem 4.8 and measure the reflections from the outer boundary.
8.5. Higher-order Mur boundary. Implement a third-order Mur boundary for the 2D
simulation in Problem 8.2. Use the coefficients given in Section 8.1.3. Compare
the reflections to those in Problem 8.2.
8.6. Higdon operator reflection coefficient. Plot the reflection coefficient for the
Higdon operator, Equation (8.51), for M = 2 and for M = 4. In the M = 2 case
use angles of 0 and 45 degrees, and in the M = 4 case use angles of 0, 30,
45, and 60 degrees. In the nonzero reflection regions, how do the two operators
compare? Derive an expression similar to Equation (8.54) for the M = 4 Higdon
operator.
8.7. Second-order Higdon operator in 2D. Repeat Problem 8.2 using the Higdon
operator, using zero-reflection angles of (a) 0 and 45 degrees, and (b) 30 and
60 degrees. How do the reflection coefficients compare to the theoretical values
plotted in Figure 8.5? How do the absolute reflections compare to the Mur case
in Problem 8.2?
8.8. 2D polar simulation. Repeat Problem 7.2, the cylindrical scatterer, only this time
in 2D polar coordinates. In this case, the circular scattering object is much more
accurately modeled in cylindrical coordinates, and the total-field/scattered-field
References 197
boundary is also circular. Use your code from Problem 8.3, including the second-
order Bayliss-Turkel boundary condition. Compare the scattering pattern to that
found in the Cartesian problem.
8.9. A screw in a waveguide. Modify your code from Problem 7.5 to include the
total-field/scattered-field formulation. Include scattered-field regions of 10 grid
cells at either end of the waveguide, and Mur boundary conditions at either end.
Now, simulate a small “screw” in the top of the waveguide by adding a few cells
of PEC material halfway down the waveguide, one grid cell wide in x and y.
Measure the field intensity that reflects back toward the source; how does this
vary with the length of the screw?
8.10. Thin slot revisited. Repeat Problem 7.10, but include a second-order Mur bound-
ary on each of the walls. Compare the fields leaking through the hole to the
simulation without boundary conditions; how do they compare?
8.11. 2D Total-field/scattered-field. Modify your code from Problem 7.2, the cylin-
drical scatterer, to include a second-order Mur boundary condition on each of
the simulation boundaries.
8.12. The Luneberg lens. The simulation shown on the cover of this book is known as
a Luneberg lens. The lens is defined by a permittivity ϵ = ϵ0 [2 − (r/R)2 ], where
R is the radius of the lens; the permittivity smoothly transitions to that of free
space at its edge.
(a) Replicate the simulation on the cover for a 2D TM mode, at a frequency of
2 GHz with a lens of radius 1 m. Use a second-order Mur boundary on all
edges. How well does the lens produce a plane wave as you vary the input
frequency?
(b) Wrap the Luneberg lens with a total-field/scattered-field boundary, and run
the simulation in reverse: excite the space with a plane at the left edge
of the TF/SF boundary. Observe how well the Luneberg lens brings the
incident plane wave to a focus. Compare its performance as you vary the
input frequency.
References
[1] B. Enquist and A. Majda, “Absorbing boundary conditions for the numerical simulation of
waves,” Math. Comp., vol. 31, pp. 629–651, 1977.
[2] G. Mur, “Absorbing boundary conditions for the finite-difference approximation of the time-
domain electromagnetic field equations,” IEEE Trans. Elec. Compat., vol. EMC-23, pp. 377–
382, 1981.
[3] L. N. Trefethen and L. Halpern, “Well-posedness of one-way wave equations and absorbing
boundary conditions,” Math. Comp., vol. 47, pp. 421–435, 1986.
[4] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
198 Absorbing boundary conditions
The methods described in the previous chapter for analytically treating outgoing waves
and preventing reflections can be very effective under certain circumstances. How-
ever, a number of drawbacks are evident. The reflection coefficient that results from
these analytical ABCs is a function of incident angle, and can be very high for grazing
angles, as shown in Figure 8.4. Furthermore, as can be seen from the Higdon operators,
for higher accuracy the one-way wave equation that must be applied at the boundary
becomes increasingly complex, and requires the storage of fields at previous time steps
(i.e., n − 1). One of the great advantages of the FDTD method is that it does not require
the storage of any fields more than one time step back, so one would prefer a boundary
method that also utilizes this advantageous property.
Those methods in the previous chapter should most accurately be referred to as “radi-
ation” boundary conditions. This type of boundary emulates a one-way wave equation
at the boundary, as a method for circumventing the need for field values outside the
boundary, which would be required in the normal update equation. Strictly speaking,
however, they are not “absorbing” boundary conditions.
The family of methods that will be discussed in this chapter are absorbing boundaries.
These methods involve modifying the medium of the simulation in a thin layer around the
boundary, as shown in Figure 9.1, so that this layer becomes an artifically “absorbing”
or lossy medium. The boundary layer is designed so that it absorbs enough of the
outgoing wave so that reflections from the actual boundary are acceptably low. In
addition, however, the boundary layer must be designed to prevent reflections from the
interface between the actual medium and this boundary medium (i.e., 51 = 0, as shown
in Figure 9.1). This means the two media must be impedance-matched to very high
accuracy. For this reason, the family of methods is known as perfectly matched layers or
PMLs.
The first effective PML was introduced by J. P. Bérenger in 1994 [1]. Bérenger’s
PML method for absorbing waves incident on the boundaries of an FDTD grid is based
on reflection and refraction of uniform plane waves at the interface between a lossless
dielectric and a general lossy medium. In the next section we briefly review the physical
concepts of waves incident on a lossy dielectric material, before introducing the PML
formulation in Section 9.2.
200 The perfectly matched layer
Decay ~ e–α(x)x
Γ3 = 0
PML Layer
Γ1 = 0 Wave incident on x = 0
Decay ~ e–α(x)x
Outer PEC boundary
PML Layer
PML Layer
Outer PEC boundary
Figure 9.1 Application of a perfectly matched layer. An incident wave finds 51 = 0 upon its first
interaction with the PML, but the PML is lossy, reducing the amplitude considerably before the
wave reaches the outer PEC boundary. It then reflects (52 ) and decays further before returning
to the simulation space (with 53 = 0), preferably with an amplitude < 10−6 relative to the
incident field.
The analysis of a plane wave incident obliquely on a lossy medium is well treated in a
number of introductory textbooks on electromagnetics. For a detailed treatment we refer
the reader to [2, Sec. 3.8], and we provide only a brief overview here.
Note that there are some notation differences between the analytical treatment and
that given in the rest of this chapter, which will be geared toward FDTD modeling.
Specifically, in the analytical analysis, the plane of incidence is typically chosen to be
the x–z plane and the interface between the two media is typically placed at z = 0. In
this scenario, the reflection coefficient is defined typically in terms of the electric field,
i.e.,
E r0
5≡
E i0
where E i0 and E r0 are respectively the magnitudes of the incident and reflected wave
electric fields at the z = 0 interface. In FDTD analysis, on the other hand, the reflection
coefficient is typically defined in terms of the singular wave component, i.e., "z for TE
waves or !z for TM waves.
9.1 Oblique incidence on a lossy medium 201
Planes of
constant amplitude
Region 2
Region 1 (ϵ2 µ2, σ, σm)
(ϵ1 µ1, σ = 0)
y
kt
λ1 z x
θt
Phase θi
fronts
ki
Planes of
constant phase
^
Ei ki λ2
Hi x=0
Figure 9.2 Oblique incidence on a lossy medium: Constant amplitude and phase fronts. In
Region 2, the planes of constant amplitude are parallel to the interface, while the planes of
constant phase are perpendicular to kt , which is at an angle θt from the normal to the
interface.
In the same vein, the terms “perpendicular” versus “parallel” polarization in the
traditional context usually refer to the orientation of the wave electric field with respect
to the plane of incidence. In this case, the perpendicular case is defined as having an
electric field ! perpendicular to the x–z plane of the page, i.e., ! = ! y , and the "
field spans the other two dimensions. The opposite is true for parallel polarization. On
the other hand, in FDTD analysis of a 2D system, it is more convenient to think in
terms of the singular wave component ("z for TE waves or !z for TM waves), and
choose the plane of incidence to be the x–y plane. The reader can then consider the
TM case in the FDTD interpretation to be equivalent to the perpendicular polarization
case in the analytical treatment, except that we are working with an !z field in the
x–y plane.
We now proceed with the analysis of the problem of a uniform plane wave incident
from a lossless dielectric medium (Region 1) to a lossy half-space (Region 2), as shown
in Figure 9.2. In our lossy Region 2, we will allow for both electric and magnetic losses,
as represented respectively by σ and σm ; the reader should keep in mind that neither of
these need to be physically meaningful conductivities. In this analysis we will show that
by careful choice of the medium parameters σ , σm , ϵ, and µ, we can achieve perfect
matching between Region 1 and Region 2, but only for waves incident normally at the
interface between the two regions.
202 The perfectly matched layer
(· · · ) e− jk·r
√
where |k| = k = ω µϵ is the propagation constant. In a general lossy medium, the
propagation constant k can be complex, as we shall see shortly.
Returning to Figure 9.2, the incident fields in Region 1 are given by:
Assuming the presence of a reflected wave Hr related to the incident one, via a
magnetic field reflection coefficient defined as:
|Hr (0, y)|
5≡ . (9.3)
|Hi (0, y)|
The reflected field Hr is then given by
where the sign has changed in x, as the reflected wave propagates in the −x direction.
The total fields in Region 1 can be written as:
9 :
H1 (x, y) = ẑ 1 + 5e j2k1x x H0 e− j (k1x x+k1y y ) (9.4a)
- .
k1y = > k1x = >
E1 (x, y) = −x̂ 1 + 5e j2k1x x + ŷ 1 − 5e j2k1x x H0 e− j (k1x x+k1y y )
ωϵ1 ωϵ1
(9.4b)
where k1x = k1 cos θi and k1y = k1 sin θi .
Now consider the fields in Region 2. Even though we know1 that the nature of the
electromagnetic field in this region is rather complex, we could simply write algebraic
expressions for the fields that are analogous to Equation (9.1). For this purpose, we note
so that all we need to do to generate the field expressions for Region 2 from Equation (9.1)
is to use the effective complex permittivity and permeability (of Region 2) instead of
ϵ1 and µ1 , respectively. Note that σm is a fictitious magnetic conductivity that is not
necessarily physical.2 The transmitted fields in Region 2 can thus be written as:
H2 (x, y) = ẑ / H0 e− j (k2x x+k2y y ) (9.6a)
⎡ ⎤
⎢ k2y k2x ⎥ − j (k2x x+k2y y )
E2 (x, y) = ⎢
⎣−x̂ # $ + ŷ # $⎥
⎦ H0 / e
σ σ
ωϵ2 1 + ωϵ2 1 +
jωϵ2 jωϵ2
(9.6b)
where k2x = k2 cos θt and k2y = k2 sin θt : note that θi ̸= θt . / is the magnetic field
transmission coefficient defined as:
|Ht (0, y)|
/≡ . (9.7)
|Hi (0, y)|
Note that Ht = H2 since there is no “reflected” wave in Region 2. We also note that
the wave equation is valid in Region 2 so that we must have:
# $# $
2 2 2 2 2 σ σm
k2x + k2y = k2 = ω ϵeff µeff = ω ϵ2 µ2 1 + 1+ . (9.8)
jωϵ2 jωµ2
At the interface x = 0, we can equate H1 = H2 since both are tangential components.
Using Equations (9.4a) and (9.6a), we have
[1 + 5] H0 e− jk1y y = / H0 e− jk2y y .
For this equation to be valid for all y, we must have
k2y = k1y = k1 sin θi (9.9)
which implies that k2y is purely real. Thus, since k1x is real, from Equation (9.8), k2x
must in general be complex, and is given from Equation (9.8) by:
H # $# $
σ σm 2
k2x = ω2 ϵ2 µ2 1 + 1+ − k2y . (9.10)
jωϵ2 jωµ2
2 While the magnetic conductivity is most often unphysical, recall from Chapter 1 that such magnetic losses
may arise from magnetic relaxation effects in material media for which the permeability may be complex,
i.e., µc = µ′ − jµ′′ .
204 The perfectly matched layer
where
E E H
k1 µ1 µeff µ2 [1 + σm /( jωµ2 )]
η1 = = and η2 = = .
ωϵ1 ϵ1 ϵeff ϵ2 [1 + σ/( jωϵ2 )]
It is clear that we can have zero reflection (5 = 0) by choosing values of the various
parameters so that η1 = η2 . For example, let ϵ1 = ϵ2 and µ1 = µ2 (i.e., we “match”
Region 2 to Region 1) and choose σm such that:
σm σ σ µ1
= or σm = = σ η12 , (9.14)
µ1 ϵ1 ϵ1
in which case we have η1 = η2 , resulting in 5 = 0. Also, we note from Equation (9.10)
that we now have
- .
√ σ √
k2x = ω µ1 ϵ1 1 + = ω µ1 ϵ1 − jσ η1 . (9.15)
jωϵ1 ' () *
k1
3 Note that Equation (9.11) is analogous to Equation (3.72) from Inan and Inan [2], but is slightly different
since 5 here is a magnetic field reflection coefficient.
9.2 The Bérenger PML medium 205
Reflection Coefficient Γ
1.0
180
0.8
Phase (degrees)
0.6 120
Magnitude
0.4
60 f = 10 MHz
0.2 f = 100 MHz
f = 1 GHz
0 0
0 20 40 60 80 0 20 40 60 80
θ (degrees) θ (degrees)
Figure 9.3 Oblique incidence on a lossy medium. The magnitude and phase of the reflection
coefficient in Equation (9.11) are shown, for σ = 0.01 S/m and σm satisfying Equation (9.14).
Noting that k2y = 0 (since θi = 0, i.e., we have normal incidence), the electric and
magnetic field phasors in Region 2 are given by:
Thus we see a rather simple wave, propagating in the x-direction without any dis-
persion; i.e., the phase velocity v p = k1 /ω = (µ1 ϵ1 )−1 is independent of frequency.
Furthermore, the wave is attenuating exponentially in the x-direction. Since 5 = 0, and
thus / = 1, we note that Region 1 is perfectly matched to Region 2, albeit only for nor-
mal incidence. Unfortunately, at angles θi ̸= 0, the reflection coefficient is nonzero. The
reflection coefficient magnitude and phase are plotted in Figure 9.3 for three different
frequencies, for σ = 0.01 S/m and σm satisfying Equation (9.14). Similar to the Mur
boundary, this simple absorbing boundary yields unacceptably high reflections for any
angle off the normal. As such, this method is unsuitable for an absorbing boundary in a
2D or 3D simulation.
We now proceed to derive the wave equation, so that we can determine the form
of plane wave solutions in the Bérenger medium (Region 2). For this purpose, we
differentiate Equation (9.18a) with respect to y and Equation (9.18b) with respect to
x, and then substitute for ∂ E y /∂ x and ∂ E x /∂ y from Equations (9.18c) and (9.18d) to
find:
1 ∂ 1 ∂ = >
−ω2 µ2 ϵ2 Hzx = Hzx + Hzy (9.19a)
sm,x ∂ x sx ∂ x
1 ∂ 1 ∂ = >
−ω2 µ2 ϵ2 Hzy = Hzx + Hzy . (9.19b)
sm,y ∂ y s y ∂ y
Assuming for now that the four conductivities do not vary with x, and adding
Equations (9.19) together, we find the wave equation:
1 ∂ 2 Hz 1 ∂ 2 Hz
+ + ω2 µ2 ϵ2 Hz = 0 (9.20)
sx sm,x ∂ x s y sm,y ∂ y
which has the solution
√ √
Hz = / H0 e− j sx sm,x k2x x− j s y sm,y k2y y
(9.21)
The corresponding electric field components can be found from Equations (9.18a)
and (9.18b):
E
k2y sm,y − j √sx sm,x k2x x− j √s y sm,y k2y y
E x = −/ H0 e (9.23a)
ωϵ2 sy
E
k2x sm,x − j √sx sm,x k2x x− j √s y sm,y k2y y
E y = / H0 e . (9.23b)
ωϵ2 sx
We now need to enforce the required continuity of the tangential electric and magnetic
fields across the interface between Region 1 and Region 2. Assuming the interface to be
at x = 0 as shown in Figure 9.4, and using Equation (9.4a) together with Equation (9.21)
above, we can write:
√
[1 + 5] H0 e− jk1y y = / H0 e− j s y sm,y k2y y
(9.24)
Planes of
constant amplitude
Region 2
(ϵ2 µ2, σ, σm)
Region 1
(ϵ1 µ1, σ = 0) y
kt
z x
λ1
λ2 = λ1
Phase θi
fronts
Planes of
ki constant phase
^
Ei ki
Hi x=0
Figure 9.4 Oblique incidence on the Bérenger PML medium: Constant amplitude and phase
fronts. (Note that Region 2 is now anisotropic, since it has different loss rates in the x and y
directions.)
and
2k1x
ωϵ1
/=1+5 = E . (9.26)
k1x k2x sm,x
+
ωϵ1 ωϵ2 sx
The zero-reflection matching condition can now be established by analogy with Equa-
tion (9.14). We assume ϵ1 = ϵ2 , µ1 = µ2 , and sx = sm,x , which gives us σx /ϵ1 =
σm,x /µ1 (similar to 9.14). Since k2y = k1y , we must then have k2x = k1x from
Equation (9.22). This implies that the wave in Region 2 propagates at the same angle
as in Region 1, as shown in Figure 9.4. Substituting these conditions in Equation (9.25)
gives 5 = 0, regardless of the incident angle θi .
With the assumed medium parameter choices, the field component expressions (9.21)
and (9.23) can be written as:
since sx = 1 − j[σx /(ωϵ2 )]. The perfectly matched property of the fields is apparent
upon close examination. The wave in Region 2 propagates in the same direction as that
9.2 The Bérenger PML medium 209
These equations can be discretized as usual, and similar conditions on σx , σm,x and the
other conductivities provide perfect matching at the appropriate boundaries. For example,
at the z = 0 boundary, we would set σx = σm,x = σ y = σm,y = 0, σz /ϵ1 = σm,z /µ1 , with
ϵ2 = ϵ1 and µ2 = µ1 . How the particular values of σ and σm are chosen will be discussed
next.
210 The perfectly matched layer
A larger issue arises simply from the discretization of the space, which prevents zero
reflection from occurring. In essence, waves incident on the PML boundary run into
a “brick wall” of lossy material, albeit with the same impedance. Furthermore, since
! and " are interleaved by half a spatial step, they will encounter the PML boundary
differently. To reduce the resulting reflection error, Bérenger proposed grading the PML
conductivity smoothly from zero to some maximum value at the outer boundary; hence
the σx (x) in Equation (9.29) above.
This grading has been successfully implemented with either a polynomial variation
or a geometric variation. For polynomial grading, the conductivity profile is given by
/ x 0m
σx (x) = σx,max (9.30a)
d
/ x 0m
κx (x) = 1 + (κx,max − 1) · (9.30b)
d
where κx is used in some PMLs for futher optimization of the s parameters,4 and d is
the PML thickness, so that σx (d) = σx,max . Using these parameters, the reflection factor
given in Equation (9.29) can be evaluated as:
The PML is typically taken to be about 10 cells thick, in which case the thickness d is
10+x; then m and σx,max are left to be defined. For most FDTD simulations, 3 ≤ m ≤ 4
has been found through experiment to be optimal, and the maximum conductivity is
given by
(m + 1) ln[R(0)]
σx,max = − (9.32)
2ηd
where R(0) is the desired reflection at normal incidence; this is typically taken to be on
the order of 10−6 .
For geometric grading, the conductivity profile can be defined as
= >x
σx (x) = g 1/+ σx,0 (9.33a)
9 : x
κx (x) = (κx,max )1/d g 1/+ . (9.33b)
Here, σx,0 is the PML conductivity at the start of the PML, g is the geometric scaling
factor, and + = +x is the grid spacing. Similar analysis can be applied to find the
reflection factor:
d/+
−1) cos θ/ ln g
R(θ ) = e−2ησx,0 +(g . (9.34)
Typically, 2 ≤ g ≤ 3 has been found to be optimal for most FDTD simulations; from
this, the initial conductivity can be determined as before:
ln[R(0)] ln g
σx,0 = − = >. (9.35)
2η+ g d/+ − 1
The polynomial and geometric gradings described here are simply examples of how
the PML might be graded; there is nothing special about these particular analytical
descriptions of the grading. They are convenient choices that are easy to implement in
code; however, similar gradings could be easily designed, which may or may not have
analytical descriptions, but which will yield comparable results.
−1.5 0.2
−1
−0.5
z (V/m)
y (m)
0 0
0.5
1.5 −0.2
0.4
Slice in y, with PML
0.2
z (V/m)
−0.2
Slice in x, no PML
−0.4
−3 −2 −1 0 1 2 3
x or y (m)
Figure 9.5 Example simulation with Bérenger split-field PML. Top: 2D distribution at t = 10 ns
of a sinusoidal wave of 600 MHz (λ = 0.5 m). Bottom: 1D distribution along the center in x
(solid) and y (dashed); if both were extended to infinity, they should overlap perfectly.
Observe that the wave incident on the upper and lower boundary is absorbed quite
well, but not to our specification of 10−6 . The theoretical reflection coefficient from
Equation (9.32) is based on an analytical treatment of the PML as a continuous lossy
medium with thickness d; however, the discretization process limits the performance of
the PML. As one might expect, the PML performance increases with the number of cells.
In this simple simulation, if we increase the PML thickness to 20 cells, the reflection is
reduced to ∼10−4 . However, that comes at the expense of a larger simulation space and
thus increased computation time. Typically, a 10-cell PML is considered adequate for
most purposes.
It was briefly mentioned above that the important property of the Bérenger PML medium
was that it hosted different conductivities in the x and y directions, i.e., it was inherently
an anisotropic medium. However, the Bérenger PML medium cannot be considered
a physical medium, because different conductivities are acting on non-physical split
9.3 Perfectly matched uniaxial medium 213
Planes of
constant amplitude
Region 2
ϵ2 =
(= µ2, σ, σm)
Region 1
(ϵ1 µ1, σ = 0)
y
k2,xy
z x
λ1
λ2 = λ1
Phase θi
fronts
Planes of
ki,xy constant phase
Hi,xy ^
ki,xy
Hi,z x=0
Figure 9.6 Oblique incidence on the uniaxial PML medium. Note that Region 2 is now
anisotropic, since it has different loss rates in the x and y directions, hence the permittivity and
permeability are denoted by ϵ̄¯2 and µ̄¯ 2 .
fields "zx and "zy (in the TM mode case). In this section, we discuss an alternative
formulation of the perfectly matched layer (PML) absorbing boundary condition in terms
of a physical anisotropic medium5 having tensor permittivity and permeability.
Consider a time-harmonic plane wave incident on the x = 0 wall, with its arbitrarily
polarized magnetic field given by:
where we note that H0 = x̂H0x + ŷH0y + ẑH0z is a constant vector and Hi,x y represents
the component of Hi lying in the x–y plane, as shown in Figure 9.6. Note that the
propagation direction of this incident wave is given by the k̂i vector given by:
where k̂i,x y is the component of the unit vector k̂i lying in the x–y plane, as shown
in Figure 9.6. Note that the total magnetic field in Region 1 is in general given by
5 An anisotropic medium is one in which the medium parameters (ϵ, µ, etc.) depend on the direction of the
field vectors; we will discuss FDTD modeling in general anisotropic media in detail in Chapter 11.
214 The perfectly matched layer
Equation (9.36) plus a reflected wave, with an expression similar to Equation (9.4a),
depending on the particular polarization of the wave.
The half-space region x > 0, referred to as Region 2, is characterized by the tensor
permittivities and permeabilities given by:
⎡ ⎤ ⎡ ⎤
a1 0 0 b1 0 0
ϵ̄¯2 = ϵ2 ⎣ 0 a2 0 ⎦ and µ̄¯ 2 = µ2 ⎣ 0 b2 0 ⎦ (9.38)
0 0 a2 0 0 b2
where ϵ2 and µ2 are the scalar permittivity and permeability, which may or may not
equal that of free space; and a1 , a2 , b1 , and b2 are parameters used to describe the
anisotropy of the medium. Note that when we consider arrival of plane waves on the
x = 0 wall, it is appropriate to consider Region 2 to be rotationally symmetric about the
x-axis, hence the fact that ϵ̄¯2 and µ̄¯ 2 have components along the y and z axes that are
equal.
Plane electromagnetic waves in Region 2 satisfy Maxwell’s curl equations, which can
be written in tensor form as:
where k̂2 k2 = x̂k2x + ŷk2y + ẑk2z is the wave vector in Region 2. A wave equation can
be derived from Equations (9.39) as:
;= > <
−1
k̂2 k2 × ϵ̄¯2 k̂2 k2 × H2 + ω2 µ̄¯ 2 H2 = 0 (9.40)
b2 ω2 µ2 ϵ2 − k2x
2 −1 2 −1
a2 − k2y a1 = 0
→ ω2 µ2 ϵ2 − k2x
2 −1 −1 2 −1 −1
a2 b2 − k2y a1 b2 = 0. (9.42)
9.3 Perfectly matched uniaxial medium 215
The total fields in Region 1 are given by Equation (9.4), repeated below for
convenience:
9 :
H1 (x, y) = ẑ 1 + 5e j2k1x x H0 e− j (k1x x+k1y y ) (9.4a)
- .
k1y = > k1x = >
E1 (x, y) = −x̂ 1 + 5e j2k1x x + ŷ 1 − 5e j2k1x x H0 e− j (k1x x+k1y y )
ωϵ1 ωϵ1
(9.4b)
where 5 is the reflection coefficient. The wave transmitted into Region 2 can be written
in a manner analogous to Equation (9.6) as:
which, in order to hold for all y, implies k1y = k2y and thus 1 + 5 = /. Next, using
Equations (9.4b) and (9.43b) at x = 0 for the ŷ component:
k1x k2x
(1 − 5) H0 e− jk1y y = /H0 e− jk2y y . (9.45)
ωϵ1 ωϵ2 a2
Using / = 1 + 5 and k1y = k2y in Equation (9.45), we find the reflection coefficient:
k1x k2x
(1 − 5) = (1 + 5)
ωϵ1 ωϵ2 a2
k1x ϵ2 a2 − k2x ϵ1
→ 5= (9.46)
k1x ϵ2 a2 + k2x ϵ1
2k1x ϵ2 a2
→ /= . (9.47)
k1x ϵ2 a2 + k2x ϵ1
Substituting the result that k1y = k2y into the dispersion Equation (9.42) and solving
for k2x , we find:
N
2 −1
k2x = ω2 ϵ2 µ2 a2 b2 − k1y a1 a2 . (9.48)
In order to have zero reflection at the x = 0 interface, we note from Equation (9.46)
that we must have ϵ1 = ϵ2 and k2x = a2 k1x . To realize this goal, we let
ϵ1 = ϵ2 ; µ1 = µ2 ; b2 = a2 ; a2 = a1−1 (9.49)
216 The perfectly matched layer
√ √
in which case we have ω µ2 ϵ2 = ω µ1 ϵ1 = k1 , and Equation (9.48) reduces to:
N N
k2x = k12 b2 − (k1y )2 b2 = b k12 − (k1y )2 = b k1x (9.50)
Once again we have 5 = 0 for any value of sx , whether complex or real, and at this
point we have made no assumptions about the form of sx . In order for Region 2 to work
effectively as a boundary condition for FDTD modeling, in addition to providing zero
reflection it must also rapidly attenuate the waves that are transmitted into it. To this end,
we choose sx , similar to the split-field method, to be given by:
# $
σx σx
sx = 1 + → k2x = 1 − j k1x = k1x − j σx η1 cos θi . (9.52)
jωϵ1 ωϵ1
Note that the real part of k2x is identical to k1x . With k2y also being equal to k1y
from earlier, the transmitted wave enters Region 2 without any bending (refraction) and
propagates with the same phase velocity and has the same wavelength as the incident
wave, as shown in Figure 9.6. The full expression for the fields in Region 2 is:
Once again the attenuation factor is independent of frequency, so that all frequency
components of a plane wave packet are transmitted across the interface without reflection
and attenuate together at the same rate. At the same time, it should be noted that the
attenuation factor for the waves in the second medium is dependent on the incidence
angle θi .
Note that the x component of the electric field in Equation (9.53b) is different from
that found using Bérenger’s split-field technique, as given by Equation (9.27). Otherwise,
the two methods give quite similar results, as expected.
Results for incidence on other walls of a 2D FDTD space can be obtained via a very
similar analysis. For example, on the y = 0 and y = ymax boundaries we define the ϵ̄¯2
9.3 Perfectly matched uniaxial medium 217
Thus we see that the Bérenger PML is a simple example of an anisotropic medium,
although it is not as flexible as the uniaxial PML method.
In this section, we describe the discretization of the partial differential equations gov-
erning the behavior of the waves within the UPML region. This is not straightforward,
since the UPML development has been presented in the frequency domain, whereas an
efficient FDTD implementation should be in the form of time-domain difference equa-
tions. If we are not careful, we may end up having to take inverse Fourier transforms
of terms involving ω, thus ending up with convolutions in the time domain, which are
computationally intensive to implement.
The UPML uses anisotropic tensors for the permittivity and permeability. In the
previous section, we derived the anisotropic tensors for incidence on the x = 0 boundary.
In the general 3D setup, these anisotropic tensors are given by
ϵ̄¯2 = ϵ1 s̄¯
µ̄¯ 2 = µ1 s̄¯ (9.56)
where s̄¯ is the 3D diagonal tensor given by Equation (9.54) above, wherein the
terms si = 1 + σi /( jωϵi ). Note that because of the constraint that σi /ϵi = σm,i /µi , the
anisotropicity matrices for ϵ̄¯2 and µ̄¯ 2 are the same. This is equivalent to the constraints
on a1 , a2 , b1 , and b2 in the description of the UPML.
The general 3D time-harmonic Maxwell’s equations in the UPML medium are given
by
just as we derived earlier for the x = 0 boundary. Using Equations (9.57), Maxwell’s
equations in the PML medium can be written as:
- . # $
σx (x) ∂ Hy ∂ Hx
jωϵ0 1 + Ez = − (9.60a)
jωϵ0 ∂x ∂y
' () * ' () *
jωϵ0 szz E z ∇×H
- .
σx (x) −1 ∂ Ez
jωµ0 1 + Hx = − (9.60b)
jωϵ0 ∂y
' () *
jωµ0 sx x Hx
- .
σx (x) ∂ Ez
jωµ0 1+ Hy = (9.60c)
jωϵ0 ∂x
' () *
jωµ0 s yy Hy
where we have explicitly noted that σx may be a function of x (anticipating that it will be
graded in the PML). We now proceed with the discretization, noting that multiplication
of the phasor quantities with the factor jω in the frequency domain is equivalent to taking
the time derivative in the time domain. In other words, we can expand Equation (9.60a)
and take its inverse Fourier transform to obtain:
- . # $
σx (x) ∂ Hy ∂ Hx
jωϵ0 1 + Ez = −
jωϵ0 ∂x ∂y
# $
∂ Hy ∂ Hx
jωϵ0 E z + σx (x)E z = −
∂x ∂y
# $
∂!z ∂" y ∂"x
Inverse transform → ϵ0 + σx (x) !z = −
∂t ∂x ∂y
Note that this equation has the same form as we have seen many times earlier, i.e.,
the FDE for a lossy medium with conductivity σx (which can vary with x, hence the
220 The perfectly matched layer
index i). The update equation can be written from Equation (9.61) as:
G 1 (i)
)1 *' 3 2( 3
3n+1 2ϵ − +t σ 3 n
3 0 x
3i !z 33
!z 3 = 3
i, j 2ϵ0 + +t σx i i, j
⎡ 3 3 3n+1/2 3n+1/2 ⎤
1 2 " 3n+1/2 −" 3n+1/2 "
3
− "
3
2+t y 3 y 3 x 3 x3
3 ⎣ ⎢ i+1/2, j i−1/2, j i, j+1/2 i, j−1/2 ⎥
+ − ⎦
2ϵ0 + +t σx 3i +x +y
' () *
G 2 (i)
(9.62)
which is then the final discretized update equation for Equation (9.60a). The discretiza-
tion of Equation (9.60c) follows in an almost identical manner; we find:
F1 (i+1/2)
)1
*' 3 2(
3n+1/2
3 2ϵ0 − +t σx 3i+1/2 3n−1/2
3
"y 3 = 3 " y 3
i+1/2, j 3
2ϵ0 + +t σx i+1/2 i+1/2, j
F2 (i+1/2)
) 1 *' ⎡ 3 3 ⎤
2( ! 3n −! 3n
z3 z3
1 2ϵ0 +t ⎢ i+1, j i, j ⎥
+ 3 ⎣ ⎦. (9.63)
3
µ0 2ϵ0 + +t σx i+1/2 +x
This equation can be discretized according to the methods we have seen thus far,
except for the integral term. However, we can discretize the integral as a summation,
resulting in:
⎡ 3n+1/2 3n−1/2 ⎤ ⎡ 3n 3n ⎛ 3n 3n ⎞⎤
3 3 3 3 3 3 3
"x 3 −"x 3 !z 3 − !z 3 3
σx i n
G ! z 3 −! z 3
⎢ i, j+1/2 i, j+1/2⎥ ⎢ i, j+1 i, j ⎜ i, j+1 i, j ⎟⎥
µ0 ⎣ ⎦ = −⎣ + +t ⎝ ⎠⎦.
+t +y ϵ0 0
+y
(9.66)
9.4 FDTD implementation of the UPML 221
- .- .
σx (x) σ y (y) −1 ∂ Ez
jωµ0 1 + 1+ Hy = . (9.70c)
jωϵ0 jωϵ0 ∂x
' () *
jωµ0 s yy Hy
The discretization of these equations follows along similar lines. The second and
third equations turn out to be a combination of Equations (9.60a) and (9.60b) in that
they contain both a conductivity term and a running integral. To see this, we can write
Equation (9.70b) as follows:
µ0 ∂ Ez σx (x) ∂ E z
jωµ0 Hx + σ y (y) Hx = − − . (9.71)
ϵ ∂y jωϵ0 ∂ y
' () 0*
σm,y (y)
One can see that this equation looks just like Equation (9.64), and so requires a similar
running integral for the term on the right; but in addition, the loss term on the left requires
an averaging as in Equation (9.61). A similar process is used for the discretization of
Equation (9.70c).
222 The perfectly matched layer
One can see from the derivations above that the implementation of the UPML is a bit
cumbersome, involving running integrals that must be stored for each grid cell in the
PML. A much simpler, alternative implementation of the uniaxial PML medium exists,
as described by [3]. This implementation is based on the introduction of intermediate
fields D and B, which are related6 respectively to E and H, although this relationship
is different from the constitutive relationships in Chapter 2. The FDTD updating then
proceeds as a four-step process rather than a two-step process. First, D is determined
from the curl of H, and then E is found from D through the relationship that we will
define momentarily. Then, B is found from the curl equation for E, and finally H is
found from B. Here we present the 3D formulation, from which the 2D cases are easily
derived.
Starting from the 3D Maxwell’s equations in the UPML medium (Equations 9.57),
and the full s̄¯ tensor in Equation (9.59), we can write Ampère’s law, Equation (9.57a),
in matrix form as:
⎡ ⎤
∂ Hz ∂ Hy
⎢ ∂ y − ∂z ⎥ ⎡ −1 ⎤⎡ ⎤
⎢ ⎥ s x s y sz 0 0 Ex
⎢ ∂ Hx ∂ H ⎥
z⎥
⎢ − = jωϵ ⎣ 0 s x s −1
s z 0 ⎦ ⎣Ey⎦ . (9.74)
⎢ ∂z ∂x ⎥
y
⎢ ⎥ 0 0 s s s −1
E
⎣ ∂ Hy ∂ Hx ⎦ x y z z
−
∂x ∂y
We now choose the si parameters in a general media, where here we also include the
possibility of non-unity κ:
σx σy σz
sx = κx + ; sy = κy + ; s x = κz + . (9.75)
jωϵ0 jωϵ0 jωϵ0
Now, to avoid convolutions or integral buffers in the implementation of the above equa-
tions, we define a relationship between E and D in the PML medium which conveniently
6 The D and B fields that will be introduced are not physical fields, as can be seen by careful examination of
Equations (9.76); the si terms multiplying them render these fields unphysical.
9.5 Alternative implementation via auxiliary fields 223
where spatial averages have been used where appropriate. Similar equations can be
formulated for the relationships between $ y → ! y and $z → !z . This has now trans-
formed the ! update equations to a two-step process, requiring first solving for the $
field from the " field, and then calculating ! from $. However, it should be noted that,
computationally, this is no worse than the integral buffer method in the previous section,
which involves calculating an extra “field” that is the integral buffer in Equation (9.68).
As one might expect, a similar two-step procedure is required to evaluate " from !.
This should be obvious on comparison between the two Maxwell’s Equations (9.57).
Fortunately, due to the symmetry of these equations and the use of the same s̄¯ tensor,
the formulation is the same. Here we give the update equations for the #x and "x
components as an example. #x is updated from !z and ! y as follows:
3n+1/2 # $ 3n−1/2 # $
3 2ϵ0 κ y − σ y +t 3 2ϵ0 +t
#x 3 = #x 3 + (9.83)
i, j+1/2,k+1/2 2ϵ0 κ y + σ y +t i, j+1/2,k+1/2 2ϵ0 κ y + σ y +t
⎛ 3n 3n 3n 3n ⎞
3 3 3 3
!z 3 −!z 3 !y 3 −! y 3
⎜ i, j+1,k+1/2 i, j,k+1/2 i, j+1/2,k+1 i, j+1/2,k ⎟
×⎝ − ⎠.
+y +z
sx Bx = µ sz Hx
# $ # $
σx σz
κx + Bx = µ κz + Hx
jωϵ0 jωϵ0
- .
∂#x σx ∂"x σz
Inverse Transform → κx + # x = µ κz + "x . (9.84)
∂t ϵ0 ∂t ϵ0
Finally, this equation can be easily discretized in the FDTD formulation, arriving at
the update equation for "x :
3n+1/2 # $ 3 # $
3 2ϵ0 κz − σz +t 3n−1/2 1 2ϵ0 κx + σx +t
"x 3 = "x 3 + (9.85)
i, j+1/2,k+1/2 2ϵ0 κz + σz +t i, j+1/2,k+1/2 µ 2ϵ0 κz + σz +t
3n+1/2 # $ 3
3 1 2ϵ0 κx − σx +t 3n−1/2
× #x 3 − #x 3 .
i, j+1/2,k+1/2 µ 2ϵ0 κz + σz +t i, j+1/2,k+1/2
9.6 Convolutional perfectly matched layer (CPML) 225
Equations (9.79), (9.82), (9.83), and (9.85), together with the equations for the other
field components, thus form a four-step method for updating the fields in the PML
boundary regions.
While the Bérenger split-field PML and the uniaxial PML described above are both very
robust and efficient at terminating most FDTD simulation spaces, both suffer from the
inability to absorb evanescent waves. This means the PML must be placed sufficiently
far from any scattering objects so that all evanescent waves have decayed sufficiently
before reaching the PML. This restriction can lead to simulation spaces that are larger
than desired – yet, after all, the purpose of the PML is to reduce the size of the simulation
space. The trouble lies with the PML setup being “weakly causal”: in the constitutive
relations given by Equations (9.76), for example, the time domain $(t) depends on
future values of !(t).
In order to absorb evanescent waves (and thus allow a reduction of the simulation
space), a strictly causal form of the PML has been derived by Kuzuoglu and Mittra
[4]. This method involves shifting the frequency-dependent pole of the s terms off the
real axis and into the negative imaginary plane,7 by making the simple substitution
jωϵ → α + jωϵ, where α is a positive real number. This is known as the complex-
frequency-shifted (CFS) PML.
The most effective implementation of the CFS-PML formulation was derived by
Roden and Gedney in 2000 [5], using a recursive convolution technique. Their technique
is commonly referred to as the convolutional PML or CPML. In a general lossy medium,
the x-component of ! of Ampère’s law in frequency domain form is
1 ∂ Hz 1 ∂ Hy
jωϵ E x + σ E x = − . (9.86)
sy ∂ y sz ∂z
Note that σ here is the real conductivity accounting for loss in the simulation space,
whereas σi (within the si ) are the PML conductivities. Here the si are the same terms
we have used in the Bérenger split-field and UPML formulations above,
σi
si = 1 + . (9.87)
jωϵ0
7 The UPML method can also be made causal, and thus can absorb evanescent waves, by shifting its pole off
the imaginary axis. The derivation is somewhat more involved, but such implementations have been used
with success.
226 The perfectly matched layer
In the CFS-PML (and thus CPML) formulation, a more general stretched coordinate
is introduced:
σi
si = κi + (9.88)
αi + jωϵ0
where κi (always real and ≥ 1) has been introduced to allow for a non-unity real part of
si , and αi (positive real, along with σi ) is introduced to move the pole off the real axis
and into the imaginary half-space. Now, Equation (9.89) can be directly transformed
into the time domain:
where, for simplicity, we have defined s i (t) as the inverse Laplace transform of the
inverse of the stretching parameter, si (ω)−1 . It can be shown [5] that s i (t) has the
impulse response
= >
δ(t) σi − ϵ σiκ + αϵ i t
s i (t) = − u(t) e 0 i 0
κi ϵ0 κi2
δ(t)
= + ζi (t) (9.90)
κi
where δ(t) and u(t) are the impulse and step functions, respectively. Convolution with
a delta function simply returns the original function, so the time domain Ampère’s law
(Equation 9.89) now becomes
Here we have explicitly separated the convolution terms from the remaining terms.
Now, the discrete impulse response of ζi (t) is
" (m+1)+t
Z 0i (m) = ζi (τ )dτ
m+t
" (m+1)+t = σ α >
σi − i + i τ
=− e ϵ0 κi ϵ0 dτ
ϵ0 κi2 m+t
= σi >= m+t >
+α
= ai e κi i ϵ0 (9.92)
Notice that ai is a scalar value for any given grid location i, as is the term Z 0i (m)
given by Equation (9.92). Now, we can discretize Equation (9.91) using the standard
9.6 Convolutional perfectly matched layer (CPML) 227
One should notice that the first two lines of this equation are identical to the standard
FDTD update equation, except for the terms κ y and κz in the denominators. In practice,
the convolutions represented by the last two terms in Equation (9.93) are very compu-
tationally costly to store and implement. However, due to the simple exponential form
of Z 0 from Equation (9.92), the convolutions can be performed recursively through the
introduction of an auxiliary term ψi . With the implementation of this auxiliary variable,
Equation (9.93) becomes:
3n+1 3n 3n+1 3n
3 3 3 3
!x 3 −!x 3 !x 3 +!x 3
i+1/2, j,k i+1/2, j,k i+1/2, j,k i+1/2, j,k
ϵr ϵ0 +σ (9.94)
+t 2
3n+1/2 3n+1/2 3n+1/2 3n+1/2
3 3 3 3
"z 3 −"z 3 "y 3 − "y 3
i+1/2, j+1/2,k i+1/2, j−1/2,k i+1/2, j,k+1/2 i+1/2, j,k−1/2
= −
κ y +y κz +z
3n+1/2 3n+1/2
3 3
+ ψex,y 3 −ψex,z 3
i+1/2, j,k i+1/2, j,k
The notation ψex,y denotes that this ψ term applies to the update equation for !x ,
involving the spatial derivative in the y-direction (i.e., ∂"z /∂ y) and thus the constant
b y . Note that similar pairs of ψ terms must be kept for each of the six update equations
in the 3D Yee cell formulation, resulting in an extra 12 “fields” to be stored in the case
of PMLs on all six sides (and hence the need for many subscripts!).
Now, note that σi , κi , and αi are scaled along their respective axes, and graded in
the same way as in the Bérenger split-field formulation (except in the case of αi , which
must actually be graded in the opposite manner, i.e., αi should be nonzero at the PML
interface, fading to αi = 0 at the boundary). This in turn means the ai and bi are 1D
functions, and need not be stored over the entire 3D space. Similarly, the ψe and ψh
“fields” are zero outside the PML regions, and so can be stored only within the PML,
saving computational time and storage space.
Finally, the reader should note that the CPML implementation here is independent
of material; the implementation presented here, by simply adding ψ components to
the normal update equations (and not forgetting the κ scaling in the denominators of
Equation 9.94), can be applied to any material, be it dispersive, anisotropic, or nonlinear.
where m is the order of the polynomial grading, R(0) = 10−6 , η ≃ 377, and the width
of the PML is 10*dx. The conductivities on each of the boundaries are then graded
according to the fourth-order polynomial:
for mm = 1:10
sy(mm+1) = sxmax*((11-mm-0.5)/10)ˆ4;
sym(mm) = sxmax*((11-mm)/10)ˆ4;
sy(yend+1-mm) = sxmax*((11-mm-0.5)/10)ˆ4;
9.6 Convolutional perfectly matched layer (CPML) 229
100 0
−20
50
dB Tesla (T)
Distance (m)
−40
0
−60
−50
−80
−100 −100
−100 −50 0 50 100 80 90 100
Distance (m) 0.004
σx (S/m)
0.002
−60 −50 −40 −30 −20 −10 0
dB Tesla (T) 0
80 90 100
Distance (m)
Figure 9.7 Example simulation with the CPML. The space is 200 m × 200 m and is excited with
an "z source at frequency 15 MHz. The panel shows a zoomed-in view of the last 20 m on the
right; below, the PML conductivity profile.
sym(yend+1-mm) = sxmax*((11-mm)/10)ˆ4;
sx(mm+1) = sxmax*((11-mm-0.5)/10)ˆ4;
sxm(mm) = sxmax*((11-mm)/10)ˆ4;
sx(xend+1-mm) = sxmax*((11-mm-0.5)/10)ˆ4;
sxm(xend+1-mm) = sxmax*((11-mm)/10)ˆ4;
end
where xend and yend are the indices at the ends of the space, i.e., 201 in this case. Note
that the conductivities are vectors of length 201. Some of the conductivity vectors must
be shifted by a half-cell (hence the 0.5 terms in the equations above), but knowing which
ones to shift is not at first obvious. As it turns out, the vectors are aligned with the fields
that they will be applied to. For example, later σx = sx will be applied to the update
equation for ! y ; but ! y is located at grid points (i + 1/2, j), so it requires conductivities
σx at half-cell locations in x.
Next these conductivities are used to create vectors ai and bi from Equations (9.92)
and (9.95):
aex = exp(-sx*dt/e0) - 1; bex = aex + 1;
aey = exp(-sy*dt/e0) - 1; bey = aey + 1;
ahx = exp(-sxm*dt/e0) - 1; bhx = ahx + 1;
ahy = exp(-sym*dt/e0) - 1; bhy = ahy + 1; .
This convenient feature that bi = ai + 1 is due to the fact that we have chosen κ and
α = 1; this also simplifies the form of the equations for ai above. Next, inside a time
230 The perfectly matched layer
iteration loop, we have the update equations (where xx and yy are the simulation space
dimensions in number of grid cells):
for i = 1:xx-1,
for j = 1:yy-1,
Phy(i,j) = bhy(j) * Phy(i,j) + ahy(j) * (Ex(i,j+1)-Ex(i,j))/dy;
Phx(i,j) = bhx(i) * Phx(i,j) + ahx(i) * (Ey(i+1,j)-Ey(i,j))/dx;
end
end
for i = 2:xx-1,
for j = 2:yy-1,
Pey(i,j) = bey(j) * Pey(i,j) + aey(j) * (Hz(i,j)-Hz(i,j-1))/dy;
Pex(i,j) = bex(i) * Pex(i,j) + aex(i) * (Hz(i,j)-Hz(i-1,j))/dx;
The variable Pex is ψe,x from Equations (9.95), noting that we do not need the second
subscript in 2D, as we have only four ψ’s to deal with (rather than nine in 3D). Note that
where without the PML we had only three update equations, we now have seven. In this
example we have written the ψ terms as matrices with the same size as the ! and "
component fields; this is to simplify the for loops. Memory and computation time can
be saved by defining the ψ terms only in the PML, since they will be zero elsewhere.
Note that above we have written our update equations with for loops for each of
the spatial indices, simply for illustrative purposes. Matlab is particularly well suited
to matrix operations, and these calculations can be made considerably faster by writing
the i and j loops as matrix operations. For comparison, this simple example took 48.8
seconds to run as written above; with matrix operations, it required only 4.46 seconds.
When this example is run with the split-field method, however, using the longer for loop
method required 24.4 seconds, exactly half that of the CPML method. This difference
can be traced to having only four update equations rather than seven (the equation
"z = "zx + "zy can be executed outside the loop and takes negligible time), as well as
by the complexity of the "z update equation in the CPML method above.
If the split-field method is twice as fast as the CPML method, then what are the
advantages of using the CPML? The advantages are twofold: first, the CPML absorbs
evanescent waves, which the split-field method does not, meaning the CPML boundary
can be placed considerably closer to sources; and second, the CPML is independent of
the medium, and so the medium can be dispersive, anisotropic, lossy, inhomogeneous,
or even nonlinear; in the next chapter we will begin discussion of the FDTD method
9.7 Summary 231
in these types of media. Because of these features as well as its simple implementation
shown above, the CPML is an excellent choice for terminating almost any type of
simulation.
9.7 Summary
In this chapter we have introduced the concept of a perfectly matched layer (PML)
as a method for absorbing outgoing waves at the edges of an FDTD simulation. The
PML is truly an “absorbing” boundary layer, while the methods of Chapter 8 are more
accurately described as “radiation” boundary conditions. In a PML, a layer of finite
thickness (usually 10 grid cells) is added to the boundaries of the simulation space,
and this layer is made to absorb waves through non-physical electric and magnetic
conductivities, causing the field amplitude to decay. Reflections at the simulation space–
PML interface are eliminated by “perfect matching” of the impedances of the two media,
as well as through careful grading of the PML conductivities.
The Bérenger or split-field PML method involves splitting select field components
and separately applying x- and y-directed conductivities to the resulting equations. In
2D, the transverse component is split:
while in 3D, all six field components must be split. In the PML regions, then, directional
conductivities such as σx , σ y , σm,x , and σm,y selectively attenuate waves propagating in
their respective directions. At the x = 0 boundary, for example, the field components
for the TM mode are analytically described by:
The waves propagate into the PML region and attenuate according to e−σx xη1 cos θi ,
which is dependent on the angle of incidence. For this reason the PML is most effective
at near-normal incidence.
In the split-field PML, as in the other PML types, the conductivities must be slowly
increased from zero at the PML boundary to the maximum value at the edges. This
maximum value is determined based on the degree of attenuation required, and the
grading can be either polynomial or geometric.
A second type of PML we have introduced in this chapter is the uniaxial or UPML,
which is related to the split-field PML. The UPML is a physically defined anisotropic
232 The perfectly matched layer
medium with tensor permittivity and permeability, for example at the x boundaries:
⎡ −1 ⎤ ⎡ −1 ⎤
sx 0 0 sx 0 0
ϵ̄¯2 = ϵ1 ⎣ 0 sx 0 ⎦ and µ̄¯ 2 = µ1 ⎣ 0 sx 0 ⎦ .
0 0 sx 0 0 sx
These tensor material parameters define a simple anisotropic medium, but for the
UPML the medium is made both anisotropic and lossy by making the constants sx
complex. In fact, similar to the split-field PML, we use sx = 1 + σx /jωϵ1 , yielding a
propagation constant that includes frequency-independent attenuation (Equation 9.52).
The UPML can be implemented in the FDTD method through direct discretization
of the resulting lossy equations, but this method is made more complicated by the
sx−1 terms in the matrices above. In those cases, intergation terms in the PDEs require
infinite sums in the FDEs. Alternatively, the UPML can be implemented in a four-step
method involving " and ! field components as usual, but also using $ and # fields
as intermediaries. This eliminates the integral terms from the PDEs, but requires extra
equations in the implementation.
The last PML method we have introduced in this chapter is the convolutional or
CPML, which is an implementation of the CFS-PML method. The CPML method has
the advantage that it absorbs evanescent waves in the near field of a source, and that it
works equally well in dispersive, anisotropic, or nonlinear media. The CPML involves
“stretching” the coordinates in the partial derivatives of Maxwell’s equations:
σx
∂ x → sx ∂ x where sx = κx +
αx + jωϵ0
Above, sx is nearly identical to that of the UPML, with the possibility introduced of
including κ and α to experimentally increase the effectiveness of the PML. Using these
stretched coordinates, the complex si terms appear as convolutions in the time domain,
with impulse response given in Equation (9.90). These convolutions result in infinite
sums in the FDE versions of Maxwell’s equations, as in the UPML method. However,
due to their simple exponential form, these infinite sums can be iteratively “updated”
in each step of the FDTD procedure. The result is that the FDTD update equations are
modified with the simple addition of ψ terms, for example in the !x update equation in
3D:
- .n+1/2
∂!x 9 : 33n+1/2 3n+1/2
3
3n+1/2
3
+ σ !x = ∇ yz × " yz 3 + ψex,y 3 − ψex,z 3
∂t i+1/2, j,k i+1/2, j,k i+1/2, j,k i+1/2, j,k
' () *
Usual FDTD update equation
where the ψi terms are updated at each time step according to:
3n+1/2 3n+1/2
3 3
3n+1/2 3n−1/2 "z 3 − "z 3
3 3 i+1/2, j+1/2,k i+1/2, j−1/2,k
ψex,y 3 = b y ψex,y 3 + ay
i+1/2, j,k i+1/2, j,k +y
3n+1/2 3n+1/2
3 3
3n+1/2 3n−1/2 " y 3 − " y3
3 3 i+1/2, j,k+1/2 i+1/2, j,k−1/2
ψex,z 3 = bz ψex,z 3 + az
i+1/2, j,k i+1/2, j,k +z
9.8 Problems 233
where bi and ai are parts of the impulse response of si , given in Equations (9.92) and
(9.95). Similar pairs of ψ terms must be written for each of the six component update
equations.
9.8 Problems
9.1. Derivation of the PML for the TE case. Recall that in Section 9.3 we did not
arrive at a restriction on the parameter b1 . By conducting an analysis of the TM
case, starting from the electric field version of Equation (9.40), show that we
must have b2 = b1−1 in order to have 5 = 0.
9.2. PML versus second-order Mur. Modify the 2D simulation in Problem 8.2 to use
a split-field PML boundary 10 cells thick, and measure the reflections back into
the simulation space as a function of θ . How does the split-field PML compare
to the second-order Mur boundary?
9.3. Comparing the PML grading. Write a 2D FDTD simulation with the split-
field PML, similar to the example in Section 9.2.3. Use the same parameters as
the example, i.e., +x = +y = 5 cm in a space of 6 × 3 m. Excite a sinusoidal
source at the center of the space with f 0 = 600 MHz, and grade the PML with a
polynomial of order 4 and R(0) = 10−6 . Measure the reflections by comparing
the field amplitude at a particular snapshot in time at a location just inside the
PML.
(a) Modify the parameters of the polynomial grading, in particular the order
m, between 3 and 4 (it need not be an integer). How does this affect the
reflections? What m gives the lowest reflections?
(b) Now implement the PML with a geometric grading, choosing appropriate
parameters g and σx,0 according to Equations (9.35). Compare the results
to the polynomial grading. Experiment with the effect of the parameter g
on the PML performance.
9.4. UPML implementation. Write a code to implement the UPML in a 2D TE
FDTD simulation, using the same parameters as Problem 9.3 above.
(a) Excite the simulation at a frequency of 600 MHz, and compare the propa-
gating waves along the x and y axes as in Figure 9.5. How do the reflections
here compare to those in the split-field method? How do the simulation
times compare?
(b) Excite a sinusoidal wave with f 0 = 100 MHz. The PML is now in the near
field of the source; How well does the PML perform?
9.5. UPML in cylindrical coordinates. Derive an equivalent of the UPML in 2D
cylindrical coordinates, for the rmax boundary and the z = 0 and z max boundaries.
Implement this PML in Problem 4.9, for the half-wave dipole and monopole
problems. Note that for the monopole you will not need the PML at z = 0.
234 The perfectly matched layer
PML
y
Lossy
z x Dielectric PML
ate
Pl 1 B 0.5
1.5
1
PML
1
A
1
PEC
PML
9.6. UPML via D and B. Write a code similar to Problem 9.4 using the four-step
method involving D and B as intermediate fields, as described in Section 9.5. Run
the simulation for 1000 time steps, and measure the computational time required
(in Matlab, this is measured quite easily by enclosing the main loop with the
statements tic and toc). Compare this computational time to the method in
Problem 9.4. Which method is more efficient, and by how much?
9.7. CPML implementation. Modify the Luneberg lens simulation in Problem 8.12
to use the convolutional PML on the boundaries. Compare the results, and the
computation time, to the second-order Mur boundary.
9.8. Frequency response of UPML and CPML. Implement the UPML and CPML
separately in the simple square 2D simulation of Problem 4.5. Excite the simula-
tions with the derivative of a Gaussian source five time steps wide. Measure the
reflection coefficient as a function of frequency at locations on the PML bound-
ary corresponding to incident angles of 0, 15, 30, and 45 degrees. Compare the
UPML and CPML reflections. Which PML performs better at low frequencies,
and why?
9.9. A system of scattering objects. Model the system shown in Figure 9.8. The
dimensions are in meters. The plate is made of PEC. The sphere is made of
lossy dielectric, with ϵ = 4.0ϵ0 and σ = 0.01 S/m.√ The rest of the open area is
free space. Use +x = +y = 0.05 m and +t = +x/( 2 c). Also, when modeling,
all scatter objects and sources should be at least 10 cells away from the outer
boundary. Let the PML be 10 cells thick.
References 235
Record the E z field over time at point B. Now place the source at point B
and repeat the run, but this time record the E z field over time at point A, and
compare with the first run. Is there a relationship between the two results?
Explain.
(b) Repeat part (a), but this time drive the Hy at point A using the same Gaussian
function and record the Hx field over time at point B. Then as in part (a),
reverse the scenario (drive Hx at point B and measure Hy at point A) and
compare. Are the results as expected? Comment and explain.
9.10. Horn antenna revisited. Modify the 2D simulation in Problem 7.9, the horn
antenna, to include a PML of your choice on the boundaries. Now, place a small
conducting sphere, three grid cells in radius, 10 grid cells outside the aperture of
the horn antenna, and measure the field intensity scattered back to the source.
9.11. Radiation pattern of a monopole. Modify your code from Problem 7.4, the
monopole above a ground plane, to include a PML on five of the six boundaries.
The lower boundary should still be PEC, and the monopole antenna should be
modeled using the thin-wire approximation. Measure the radiation pattern of the
antenna about ∼3 wavelengths from the source.
9.12. Scattering pattern in 3D. Model a spherical PEC scatterer in a 3D Cartesian
simulation, using UPML or CPML boundaries and a total-field / scattered-field
formulation surrounding the scatterer.
(a) Make the scatterer exactly 1 wavelength in radius. Launch a plane wave
from one side of the space at the TF/SF boundary, and measure the scat-
tering pattern in 3D just inside the PML by monitoring a large number
of points in 3D. Compare the resulting scattering pattern to the theoreti-
cal approximation from the Mie solution (see, for example, Balanis [7] or
Stratton [8]).
(b) Modify the scatterer to be either one-half wavelength or two wavelengths
in radius; how does the scattering pattern change?
(c) Make the scatterer a dielectric with ϵr = 4 and compare the scattering
patterns to those found for the PEC scatterer above.
References
[1] J. P. Bérenger, “A perfectly matched layer for the absorption of electromagnetic waves,” J.
Comput. Phys., vol. 114, pp. 185–200, 1994.
[2] U. S. Inan and A. S. Inan, Electromagnetic Waves. Prentice-Hall, 2000.
[3] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
236 The perfectly matched layer
[4] M. Kuzuoglu and R. Mittra, “Frequency dependence of the constitutive parameters of causal
perfectly matched anisotropic absorbers,” IEEE Microwave and Guided Wave Lett., vol. 6, pp.
447–449, 1996.
[5] J. Roden and S. D. Gedney, “Convolution PML (CPML): An efficient FDTD implementation
of the CFS-PML for arbitrary media,” Microwave and Opt. Tech. Lett., vol. 27, pp. 334–339,
2000.
[6] W. C. Chew and W. H. Weedon, “A 3D perfectly matched medium from modified Maxwell’s
equations with stretched coordinates,” Microwave Opt. Technol. Lett., vol. 7, pp. 599–604,
1994.
[7] C. A. Balanis, Advanced Engineering Electromagnetics. New York: Wiley, 1989.
[8] J. A. Stratton, Electromagnetic Theory. McGraw-Hill, 1941.
10 FDTD modeling in dispersive media
One of the reasons for the rapidly growing use of FDTD methods in numerical electro-
magnetics is the relative ease with which this technique can be used to solve problems
involving complex media, including dispersive materials. These are materials in which
either or both of the material parameters ϵ and µ are functions of frequency.1 In reality,
all materials have frequency-dependent ϵ and µ, but many materials can be approx-
imated as frequency-independent over a frequency band of interest, simplifying their
analysis and simulation. In this chapter, we discuss efficient FDTD methods for mod-
eling electromagnetic wave phenomena in such materials. We will focus on the much
more common case of frequency-dependent permittivity, but will include discussion of
magnetically dispersive materials known as ferrites at the end of the chapter.
Macroscopic electromagnetic behavior of most dielectric materials is given in terms
of tabulated, plotted, or otherwise analytically specified complex permittivity ϵc (ω).
For linear materials, the constitutive relationship between the electric flux density and
electric field phasors, valid at each frequency and at each point in space, is:
where we have explicitly noted that the medium may be inhomogeneous, i.e., ϵc may
vary in space.
Sometimes, losses within the dielectric due to bulk conductivity within the material
(as otherwise would be separately represented by a conductivity σ ) can be lumped into
ϵc (ω). Alternatively, we may account for conductive losses separately, by keeping a
nonzero σ in Maxwell’s equations; this conductivity itself may or may not be a function
of frequency over the band of interest.
Equation (10.1) is often written as:
where P is the electric polarization phasor, χe is the electric susceptibility of the material,
and the quantity ϵ∞ is the relative permittivity at the upper end of the frequency band
considered in the particular application (its analog at the lower end of the frequency band
1 Note that the conductivity σ may also be a function of frequency, but its effect can be rolled into the complex
permittivity.
238 FDTD modeling in dispersive media
is often written as ϵdc ). At extremely high frequencies, real physical materials behave like
a vacuum, and so ϵ∞ is almost always equal to one. However, in an FDTD simulation, it
may be useful in certain cases to use a non-unity ϵ∞ . For example, consider again Figure
2.1; if, in our simulation, we are only interested in the first resonance in the microwave
region, then ϵ∞ will refer to the first “new” level between the first and second resonance.
Note in general that the complex permittivity is given by
where χ̃e (r, t) is the electric susceptibility, i.e., the inverse Laplace transform of χe (r, ω).
Note from Equation (10.4) that the time domain polarization vector '(r, t) depends on
the values of ! at r not only at time t, but also at all times prior to t.
At first glance, it may appear as if all we need to do is simply to incorporate the
evaluation of the convolution integral in Equation (10.4) into our FDTD formulation.
However, in practice, there are two important problems which prohibit direct imple-
mentation of Equation (10.4). First, the convolution integral must be evaluated for each
electric field component, at each time step and spatial location within the frequency-
dependent medium. Second, and more importantly, evaluation of the convolution requires
the storage of the entire time history of the electric fields.
Fortunately, an efficient FDTD method of implementing Equation (10.4) has been
developed by R. Leubbers et al. [1], known as the Recursive Convolution method. This
method makes use of the observation that Maxwell’s equations require the evaluation
of ∂$(r, t)/∂t rather than $(r, t), and also takes advantage of appropriate analytical
representations for ϵc (ω). Alternatively, dispersive materials can be implemented in the
FDTD method by using the $ and # vectors, similar to the implementation of the
UPML method in Chapter 9, except in this case we use the physical $ and # fields.
As we shall see, both the recursive convolution and the auxiliary differential equation
(ADE) methods are very similar to the methods used for the PML implementations in
Chapter 9; after all, the UPML described in Chapter 9 was represented by frequency-
dependent ϵ and µ (see Section 9.4) – the UPML is, in fact, a dispersive material.
where χ̃e (t) is some sort of decay factor accounting for the lagging of the polarization
behind the applied field; the form of χ̃e (t) is what defines our different types of materials
in this section. Note that we must have χ̃e (t) → 0 as ω → ∞, since at ω → ∞ we must
have ϵc (ω) = ϵ0 ϵ∞ . Note that χ̃e (t) also describes the increase of polarization (and thus
$) toward its equilibrium value when the alternating field is suddenly applied, so that it
is related to the time constant of the polarization of the dielectric.
A simple exponential form for the decay factor χ̃e (t) was proposed by P. Debye [3]:
χ̃e (t) = χ̃e (0) e−t/τ0 u(t) (10.6)
where u(t) is the unit step function and τ0 is known as the Debye relaxation time constant,
characteristic of the particular material; this time constant can often be a function of
temperature.
Substituting Equation (10.6) into (10.5) we have:
- " ∞ .
(− jω−1/τ0 ) t
ϵc = ϵ0 ϵ∞ + χ̃e (0) e dt
0
⎡ ⎤
⎢ χ̃e (0) ⎥ χ̃e (0)τ0
ϵc (ω) = ϵ0 ⎢
⎣ϵ∞ + # 1 $⎥
⎦ → χe (ω) = . (10.7)
1 + jωτ0
+ jω
τ0
Denoting the value of the relative permittivity at dc (ω = 0) to be ϵdc , we have from
Equation (10.7):
ϵc (0) = ϵdc ϵ0 = ϵ0 ϵ∞ + ϵ0 τ0 χ̃e (0). (10.8)
We then solve for χ̃e (0) and substitute this result in Equation (10.6), to find for the
time domain susceptibility:
ϵdc − ϵ∞ −t/τ0
χ̃e (t) = e u(t). (10.9)
τ0
2 Probably the best description of this phenomenon can be found in Richard Feynman’s famous Lectures on
Physics [2].
240 FDTD modeling in dispersive media
Using χ̃e (0) in Equation (10.7) gives the expression for the frequency-dependent
complex permittivity:
- .
ϵdc − ϵ∞ 9 :
ϵc (ω) = ϵ0 ϵ∞ + = ϵ0 ϵr′ − jϵr′′ (10.10)
1 + jωτ0
Separate expressions for the real and imaginary parts ϵr′ and ϵr′′ can be found by
equating the real and imaginary parts of (10.10). We have:
ϵdc − ϵ∞
ϵr′ = ϵ∞ + (10.11a)
1 + ω2 τ02
(ϵdc − ϵ∞ )ωτ0
ϵr′′ = (10.11b)
1 + ω2 τ02
ϵr′′ (ϵdc − ϵ∞ )ω τ0
tan δc ≡ = (10.11c)
ϵr′ ϵdc + ϵ∞ ω2 τ02
where tan δc is the loss tangent; in tabulated material parameters, one often finds the loss
tangent tabulated instead of ϵr′′ .
Equations (10.11) describe the complex frequency-dependent behavior of some mater-
ials, primarily dipolar liquids, due to the so-called orientational polarization, arising
from the rotation of molecular dipoles. Such materials, the ubiquitous material H2 O
being one of them, generally carry a permanent dipole moment. With no applied electric
field, the individual dipole moments point in random directions, so that the net dipole
moment is zero. When an electric field is applied, it tends to line up the individual
dipoles to produce an additional net dipole moment. If all the dipoles in a material
were to line up, the polarization would be very large. However, at ordinary temperatures
and relatively small electric fields, the collisions of the molecules in their thermal
motion allow only a small fraction to line up with the field. Orientational polarization
effects become important in the microwave frequency range and are important in many
microwave applications, including biological applications where the materials involved
are composed largely of mixtures of water with other materials.
Figure 10.1 shows the real and imaginary parts of χe (ω) for the Debye, Lorentz,
and Drude materials, plotted as a function of wavelength. We will come back to the
latter two after they are introduced later in this chapter. The Debye-type susceptibility
is given in frequency domain by the rightmost term in Equation (10.7), with a func-
tional form of χe (ω) ∼ C/(1 + jωτ0 ) where C is some constant. In Figure 10.1a, the
vertical dashed line is the wavelength corresponding to τ0 . We can see that at this
characteristic wavelength, the real and imaginary parts of the susceptibility are equal,
and the imaginary part is at its maximum; thus, at this wavelength the material has
the greatest absorption losses. For water at room temperature, this frequency corres-
ponds to about 20 GHz [4]. Otherwise, the real part of the susceptibility increases
monotonically toward unity for increasing wavelength, and the imaginary part decreases
correspondingly.
10.1 Recursive convolution method 241
1 3 2
Lorentz Drude
1
0.8 Debye 2
Im(χ)
0
Re(χ)
0.6 1
χ(λ)
χ(λ)
χ(λ)
Im(χ) −1
0.4 Im(χ) 0 −2
Re(χ) −3 Re(χ)
0.2 −1
0 0.2 0.4 0.6 0.8 1.0 0 0.2 0.4 0.6 0.8 1.0 0 0.2 0.4 0.6 0.8 1.0
Wavelength (µm)
(a) (b) (c)
Figure 10.1 Susceptibilities of dispersive material types. The real and imaginary parts of
susceptibility are plotted as a function of wavelength for fictional Debye, Lorentz, and Drude
materials. The vertical dashed lines correspond to τ0 , ω0 , and ωr in each of the respective cases.
In order to implement these Debye materials in the FDTD algorithm, we now consider
time discretization of Equation (10.4):
⎡ ⎤
⎢ n−1
G " (m+1)+t ⎥
n ⎢ n n−m ⎥
$ = ϵ0 ⎢ϵ∞ ! + ! χ̃e (τ ) dτ ⎥ . (10.12a)
⎣ ⎦
m=0 ' m+t () *
χ̃em below
For simplicity in understanding the recursive convolution method, we also write the
n−1
analogous expression for $ :
1 n−2 " 2
n−1 n−1 G n−1−m
(m+1)+t
$ = ϵ0 ϵ∞ ! + ! χ̃e (τ ) dτ . (10.12b)
m=0 m+t
Since $ and ! will be co-located on the grid, we do not need to worry about spatial
discretization for now. We now introduce some compact notation that will be used to
form the numerical algorithm:
" (m+1)+t
χ̃em ≡ χ̃e (τ ) dτ (10.13a)
m+t
" (m+1)+t " (m+2)+t
+χ̃em ≡ χ̃em − χ̃em+1 = χ̃e (τ ) dτ − χ̃e (τ ) dτ (10.13b)
m+t (m+1)+t
n−2
G n−1−m
8 n−1 ≡ ! +χ̃em . (10.13c)
m=0
In Equation (10.13a), χ̃em represents the integral of χ̃e (t) over a single time step, from
m to m + 1. +χ̃em in Equation (10.13b) is the difference between successive χ̃em terms.
242 FDTD modeling in dispersive media
Note that up to this point, we have not made any assumptions about the form of
χ̃e (t), and as such the derivation of the update equation is completely general and not
specific to the Debye-type materials. Now, evaluation of Equation (10.14) still appears
to require the storage of the time history of the electric field, through the accumulation
variable 8; this is where we must assume an analytical approximation for χ̃e (t). The
exponential form of χ̃e (t) in the Debye formulation greatly simplifies the problem at
hand, since successive values +χ̃em can be recursively evaluated. Using the form of χ̃e (t)
from Equation (10.9) and evaluating the integral in Equation (10.13b), we find:
= >2
+χ̃em = (ϵdc − ϵ∞ ) 1 − e−+t/τ0 e−m+t/τ0
→ +χ̃em+1 = e−+t/τ0 +χ̃em . (10.15)
Furthermore, we can write the accumulation variable 8 n−1 from Equation (10.13c)
as:
n−2
G n−2
G
n−1−m n−1 n−1−m
8 n−1 = ! +χ̃em = ! +χ̃e0 + ! +χ̃em
m=0
' () * m=1
m=0
n−3
G
n−1 n−2−m
=! +χ̃e0 + ! +χ̃em+1
m=0
n−1
→ 8 n−1 = ! +χ̃e0 + e−+t/τ0 8 n−2 (10.16)
where, in the final step, we have used the fact that +χ̃em+1 = e−+t/τ0 +χ̃em from Equation
(10.15). We thus see that the convolution is reduced to a running sum, eliminating the
need to store time histories of the electric field.
To summarize, implementation of the Debye material in the FDTD algorithm involves
minor changes to the electric field update equations:
- 0n−1/2 .
n 1 n−1 n−1 +t /
! = ϵ∞ ! +8 + ∇ ×" (10.14)
ϵ∞ + χ̃e0 ϵ0
where χ̃e0 is given by Equation (10.13a) with m = 0, and 8 n−1 is a new update equation,
involving a new “field” 8, which is updated according to Equation (10.16). Note that the
10.1 Recursive convolution method 243
1
τ0 = 1 source
(no dispersion)
0.5
Amplitude (V/m)
τ0 = 3×10−5
τ0 = 1×10−5
−0.5
−4 −3 −2 −1 0 1 2 3 4 5
Distance (km)
Figure 10.2 Example simulation of a Debye material in 1D. The Gaussian source is excited at the
center (dotted) and allowed to propagate in both directions. The parameter τ0 controls the
amount of dispersion and dissipation in the material.
FDTD update equation for the magnetic field is unchanged from that which we normally
use, namely
The code for a Debye-type simulation is extremely simple. After defining the usual
constants as well as eps_dc, eps_inf, and tau_0, we define the parameters from
Equations (10.13):
dXe0 = (eps_dc - eps_inf) * (1 - exp(-dt/tau_0))ˆ2;
Xe0 = (eps_dc - eps_inf) * (1 - exp(-dt/tau_0));
Then, inside the looping update equations, we update Psi and the !z update equation,
with i as the x-index:
Psi(i) = dXe0 * Ez(i) + exp_fac * Psi(i);
Ez(i) = 1/(eps_inf + Xe0) * (eps_inf * Ez(i) + Psi(i) + ...
(dt/e0/dx) * (Hy(i) - Hy(i-1)));
Since the " y update equation is not changed, the rest of the algorithm proceeds exactly
as in the usual FDTD method.
∂2x ∂x
m 2
+kfm + ks x = q !(t) (10.18)
∂t ∂t
where k f is the coefficient of friction and ks is a spring constant. In the frequency
domain, this equation is written as:
−m ω2 x + jω k f m x + ks x = q !(ω). (10.19)
Noting that the polarization vector '(ω) = N q x(ω), where N is the number density
of molecules, we find:
N q2
'(ω) = !(ω). (10.20)
ks + jω k f m − m ω2
10.1 Recursive convolution method 245
Thus, since '(ω) = χe (ω)!(ω), the functional form of χe (ω) is given directly above.
However, in the analysis of these electronic materials, this functional form is typically
written as:
χ̃e (0)ωr
χe (ω) = 2 (10.21)
(δ + ωr2 ) + 2 jωδ − ω2
4
where δ is the damping constant (which has units of s−1 ), and ω0 = ωr2 + δ 2 is the
resonance frequency. Note that this susceptibility is a two-pole expression, while the
Debye susceptibility had a single pole.
The frequency domain expression in Equation (10.21) is plotted in Figure 10.1b.
This plot uses a 4material with damping coefficient δ = 2 × 1014 s−1 , and a resonance
frequency ω0 = δ 2 + ωr2 = 3 × 1015 rad/s, which corresponds with the wavelength
shown by the vertical dashed line. While this is not a real material, it is not far from the
behavior of many real metals; for example, aluminum3 can be modeled as a Lorentz-type
material with a damping constant of δ = 4.5 × 1013 s−1 and a resonance frequency of
ω0 = 5.37 × 1014 rad/s; this lower resonance frequency pushes the resonance out to
about 3 µm in wavelength.
We see that the imaginary part of the susceptibility – which is responsible for absorp-
tion – tends to zero at long and short wavelengths, and peaks at the resonance frequency
ω0 . The real part of the susceptibility starts at zero at short wavelengths, goes through a
resonance at ω0 , and then settles at a different constant value at long wavelengths. This
is precisely the behavior described in Figure 2.1.
The inverse transform of Equation (10.21) gives the susceptibility in the time domain:
χ̃e (t) = χ̃e (0) e−t δ cos(ωr t) u(t). (10.22)
Once again defining ϵdc and ϵ∞ as the values of relative permittivity at zero and
infinite frequencies, we can show that
ω02 (ϵ∞ − ϵdc )
χ̃e (0) = (10.23)
ωr
4
where ω0 = ωr2 + δ 2 . Lorentz materials are thus described by four parameters, namely
ϵ∞ , ϵdc , δ, and ωr . Using Equation (10.23), we have for the complex permittivity:
ϵ0 (ϵdc − ϵ∞ ) ω02
ϵ(ω) = ϵ0 ϵ∞ + . (10.24)
ω02 + 2 jωδ − ω2
' () *
χe (ω)
Although the time domain form of Equation (10.22) does not immediately lend
itself to recursive evaluation, this can be achieved by defining a complex time domain
susceptibility χ̃ec (t), such that
χ̃ec (t) ≡ − j χ̃e (0) e(−δ+ jωr )t u(t) (10.25)
3 In this context we have modeled aluminum with a single Lorentz pole; however, it is more realistically
described by at least four such poles. The other three poles occur in visible wavelengths, but with an order
of magnitude lower amplitude. See the article by W. H. P. Pernice et al. [5] for details.
246 FDTD modeling in dispersive media
so that
+ ,
χ̃e (t) = )e χ̃ec (t) .
Note that it is ωr that appears in the exponent of the time domain susceptibility, and
not ω0 , although the latter is the more physically meaningful resonance frequency.
We can now implement recursive convolution with this complex time domain suscep-
tibility. We can apply Equation (10.13a) to find the Lorentz material version of χ̃em :
9 :m − j χ̃e (0) (−δ+ jωr )m+t 9 :
χ̃ec = e 1 − e(−δ+ jωr )+t . (10.26)
δ − jωr
Evaluation of Equation (10.26) with m = 0 yields [χ̃ec ]0 , the real part of which
is needed in the electric field update Equation (10.14). Similarly, we apply Equation
(10.13b) to find the analog of +χ̃em :
9 c :m − j χ̃e (0) (−δ+ jωr )m+t 9 :2
+χ̃e = e 1 − e(−δ+ jωr )+t . (10.27)
δ − jωr
Conveniently, this result exhibits the important property, similar to the Debye material,
where:
9 c :m+1 9 :m
+χ̃e = e(−δ+ jωr )+t +χ̃ec . (10.28)
We can now introduce a complex accumulation variable 8cn such that
n−2
G n−1−m + ,
8 n−1 = ! +χ̃em = )e 8cn−1 (10.29)
m=0
which can be updated recursively using the same approach as shown above for the
real accumulation variable for Debye materials. The new accumulation variable can be
updated with an equation similar to (10.16):
n−1 9 :0
8cn−1 = ! +χ̃ec + e(−δ+ jωr )+t 8cn−2 (10.30)
where, similar to the Debye case,
9 c :0 − j χ̃e (0) 9 :2
+χ̃e = 1 − e(−δ+ jωr )+t . (10.31)
δ − jωr
As a final note, in the implementation of the FDTD update equations for Lorentz
materials, it is important to remember that we need to use the real parts of complex
quantities (i.e., Equation 10.29) in the electric field update Equations (10.14).
1
fr = 1 kHz fr = 300 kHz = f
0.5
Amplitude (V/m)
−0.5
t = 200 ∆ t t = 700 ∆ t
−1
1
fr = 50 kHz fr = 500 kHz
0.5
Amplitude (V/m)
−0.5
t = 200 ∆t t = 700 ∆ t
−1
1
fr = 100 kHz fr = 1 MHz
0.5
Amplitude (V/m)
−0.5
t = 200 ∆ t t = 700 ∆ t
−1
−4 −2 0 2 4 −4 −2 0 2 4
x Distance (km) x Distance (km)
Figure 10.3 Example simulation of a Lorentz material in 1D. A modulated Gaussian source is
excited at the center and allowed to propagate in both directions.
δ is much smaller than ωr , we can state that the resonant frequency ω0 is approximately
ωr . The snapshots shown in Figure 10.3 are taken after 200 or 700 time steps in the left
and right columns, respectively.
For a resonant frequency of f r = 1 kHz, the transmitted frequency of 300 kHz is so
much higher that we are nowhere near the resonant absorption peak shown in Figure
10.1. Furthermore, the pulse propagates at exactly v p = 3 × 108 m/s, since at high
frequencies the permittivity settles at ϵ = ϵ0 ϵ∞ = ϵ0 . This is the case where there is no
dispersion.
When the resonant frequency f r is increased to 50 kHz and then 100 kHz, we begin
to see both dissipation (a reduction in the amplitude of the pulse) and dispersion (since
the shape has changed). The dispersion is due to the changing of the Gaussian envelope
rather than any effect on the carrier frequency. When the resonant frequency matches
the carrier frequency of 300 kHz (top right), the wave propagates much more slowly,
248 FDTD modeling in dispersive media
and seems to be trapped or confined within a small volume. As the resonant frequency
is increased (so that the wavelength is longer than the resonant wavelength), the wave
begins to propagate again, and has less attenuation or dissipation. However, a problem
at these higher resonant frequencies is that numerical amplification is occurring, as
evidenced by the amplitudes greater than 1 in the f r = 1 MHz case. This is a numerical
effect, as the stability criterion is modified in this dispersive material; however, a detailed
analysis of the stability of this problem is beyond the scope of this book. The interested
reader is referred to Beck and Mirotznik [6], who found that for a particular Lorentz
material, the time step needed to be reduced by a factor of ∼6 to ensure stability.
ωr2
χe (ω) = − (10.32)
ω2 − jω/τr
where ωr is the resonant frequency in the metal, τr = 1/ν is the relaxation time, and ν
is a collision frequency. This type of dispersion, known as Drude dispersion, has a two-
pole form, similar to Lorentz materials, except that one of the poles is found at ω = 0.
Modeling of metals at optical frequencies in the FDTD method requires an accurate
implementation of this kind of dispersion.
It is instructive to separate the susceptibility into its real and imaginary parts:
ωr2
χe (ω) = − (ω + j/τr ).
ω(ω2 + 1/τr2 )
We see from this expression that at high frequency, both the real and imaginary
parts of χe (ω) tend toward zero with the denominator increasing toward infinity; and
at low frequency, both the real and imaginary parts tend toward large negative values
(the negative imaginary part implies absorption). At the frequency where ω = 1/τr ,
the real and imaginary parts take the same value. Finally, note that in the case where
τr = ∞ (ν = 0), where there is no imaginary part and thus absorption, the susceptibility
becomes χe (ω) = −ωr2 /ω2 . Thus, where ω = ωr , the susceptibility is −1, as shown in
Figure 10.1; in turn, the permittivity ϵ(ω) = 0 and the phase velocity v p = ∞! Thus,
this is truly a “resonance” frequency. In reality, however, there are no materials for which
the collision frequency ν = 0 at the resonant frequency.
10.1 Recursive convolution method 249
Note the similarity between this and the form of the Debye susceptibility in Equation
(10.9). As for the Debye materials, we proceed by deriving the discretized variables χ̃em ,
+χ̃em , and 8 (because of the simple form of χ̃e (t) above, these will be real, like the
Debye materials).
Applying Equation (10.13a), we find the form of χ̃em :
9 :
χ̃em = ωr2 τr +t + τr e−m+t/τr (e−+t/τr − 1) . (10.34)
Once again, the form of Equation (10.35), with m appearing only in the exponential,
suggests the simple relationship between +χ̃em and +χ̃em+1 as we had for the Debye
and Lorentz materials, namely that given by Equation (10.15) for Debye materials. This
means the update equation for 8 n in Equation (10.16) is valid for Drude materials as
well, with τr in place of τ0 . Furthermore, for Drude materials, +χ̃e0 is given by:
which is used in the update Equation (10.16) for 8. Similarly, χ̃e0 is given by Equation
(10.34) with m = 0:
9 :
χ̃e0 = ωr2 τr +t + τr (e−+t/τr − 1) . (10.37)
We thus find that apart from the form of χ̃e0 and +χ̃e0 , the FDTD procedure for Drude
materials is identical to that of Debye materials.
1
τr = 10−8
(no dispersion)
0.5 τr = 10−6
Amplitude (V/m)
−0.5
τr = 10−4
−4 −3 −2 −1 0 1 2 3 4 5
Distance (km)
Figure 10.4 Example simulation of a Drude material in 1D. A simple Gaussian source is excited
at the center and allowed to propagate in both directions.
When τr is very small (10−8 ), the denominator of Equation (10.32) becomes very
large, so that the susceptibility becomes very small; this behavior is seen in Figure 10.1:
when the wavelength is much smaller than τr (or the frequency is very high), both the
real and imaginary parts of χ tend toward zero, and the material behaves like free space,
as we see in Figure 10.4. Now, when τr is increased to become comparable to 1/ω and
ωr , we begin to see an increase in both the dispersion and dissipation in the material.
It should be noted, of course, that the parameter ωr has a significant effect on the
dispersion characteristics of the material. Not only does it define the resonant frequency,
but its relative value compared to τr controls the dissipation characteristics.
where νc in units of s−1 is the frequency of collisions between free electrons and other
molecules, and ω p is the so-called plasma frequency, related to the density of free
electrons Ne as ω2p = Ne qe2 /(ϵ0 m e ), where qe and m e are the electronic charge and mass
respectively. The reader should observe that the susceptibility in Equation (10.38) is
almost identical to the susceptibility in Equation (10.32) for Drude materials. In fact,
the plasma frequency ω p is a resonance frequency; if the plasma is perturbed from
its homogeneous state by creating a charge imbalance, this is the frequency at which
charges will oscillate around the equilibrium point [9].
As in the Drude material, the susceptibility χe (ω) of the isotropic plasma is seen to
be negative, indicating that the permittivity of an isotropic plasma can be less than that
of free space. Noting that χe (ω) has two poles, at ω = 0 and ω = jνc , it is convenient
[10] to represent the effects of the pole at ω = 0 in terms of a nonzero conductivity σeff ,
in order to avoid dealing with noncausal functions.
We can thus write the complex permittivity as
1 2
ω2p /νc ω2p /νc
ϵc (ω) = ϵ0 ϵ∞ − + (10.39a)
ω + jνc jω
⎡ ⎤
⎢ ⎥
⎢ −(ω2p /νc ) ⎥ ϵ0 (ω2p /νc )
= ϵ0 ⎢ϵ
⎢ ∞ + ⎥+ (10.39b)
⎣ ω + jνc ⎥ jω
' () *⎦ ' () *
χeff (ω) σeff /( jω)
' () *
ϵeff
It thus appears that the isotropic plasma can be modeled as a medium with effective
permittivity ϵeff and nonzero conductivity σeff . Furthermore, we note that the form of
χeff (ω) is precisely the same as the complex permittivity for Debye materials as given
in Equation (10.9), if we let
−ω2p 1
(ϵdc − ϵ∞ ) = and τ0 = .
νc νc
252 FDTD modeling in dispersive media
Thus, we can use the same type of recursive convolution FDTD implementation
given in Equations (10.13) and (10.14) to model electromagnetic wave propagation in
an isotropic plasma, as long as we appropriately modify Equation (10.14) to include
effects of a nonzero conductivity. In other words, the electric field update equation must
now be a discretized version of Equation (10.40). The conductivity-modified version of
Equation (10.14) is:
- 0n−1/2 .
n ϵ∞ n−1 1 n−1 +t /
! = ! + 8 + ∇ ×" (10.41)
σeff +t 0 ϵ∞ ϵ0 ϵ∞
+ ϵ∞ + χ̃eff
ϵ∞
where we also use χ̃eff instead of χ̃e in Equations (10.13), (10.15), and (10.16).
Note that just as in the Debye case, the magnetic field update Equation (10.17) is
unaffected:
n+1/2 n−1/2 +t ; <n
" =" − ∇ ×! . (10.42)
µ
If !(n+t − τ ) is taken to be a constant over any single time step, as we did before, it
can be taken out of the integral and put into a sum as presented in Equation (10.12). For
the improved method, we instead use linear interpolation of ! over the time step to find
the value of ! at any given instant of time:
% n+1 n
&
n ! −!
!(t) = ! + (t − n+t) for n+t < t < (n + 1)+t.
+t
In this case, the term !(n+t − τ ) in Equation (10.43) is presented (in m time-indexing)
as
% n−m−1 n−m
&
n−m ! −!
!(n+t − τ ) = ! + (τ − m+t) . (10.44)
+t
10.2 Auxiliary differential equation method 253
After substituting this expression into (10.43) and manipulating, we find a new form
similar to Equation (10.12):
⎡ ⎤
⎢ n−1 / n−m−1 0 ⎥
n ⎢ n G n−m m n−m ⎥
⎢
$ = ϵ0 ⎢ϵ∞ ! + ! χ̃e + ! −! ξ̃em ⎥ (10.45)
⎥
⎣ m=0 ⎦
' () *
Eq. (10.12)
where χ̃em
is the same as before in Equation (10.13a), but now we must also keep track
of a new variable ξ̃em , which introduces a set of notations similar to Equations (10.13):
" (m+1)+t
m 1
ξ̃e ≡ (τ − m+t)χ̃e (τ ) dτ (10.46a)
+t m+t
+ξ̃em ≡ ξ̃em − ξ̃em+1 (10.46b)
and the 8 accumulator in Equation (10.16) is modified to take the form:
n−1 = > n−2
8 n−1 = ! +χ̃e0 − +ξ̃e0 + ! +ξ̃e0 + e−+t/τ0 8 n−2 (10.47)
where we have assumed the form for Debye materials; a similar modification results
for Lorentz or Drude materials, using their time domain susceptibilities. In the case of
Lorentz media, Equation (10.47) will be modified to take the form:
/
n−1 9 :0 9 :0 0 n−2 9 :0
8cn−1 = ! +χ̃ec − +ξ̃ec +! +ξ̃ec + e(−δ+ jωr )+t 8cn−2 . (10.48)
9 :0 9 :0
Note, of course, that the terms +ξ̃ec and +χ̃ec are different (and complex) for
the Lorentz case compared to Debye materials, and that in updating the electric field
equation equivalent to Equation (10.14), the real part of 8cn must be taken.
For obvious reasons, the technique described in the previous section for FDTD modeling
of dispersive materials is known as the recursive convolution method. While this method
is quite efficient, an alternative technique, known as the auxiliary differential equation
or ADE method, has also been used with success [12, 13] and is also applicable to
nonlinear materials. We now briefly discuss this alternative method.
The basis for the auxiliary differential equation method is to express the relationship
between $ and ! with a differential equation rather than a convolution integral. This is
achieved by inverse Fourier transformation of the relationship in Equation (10.2) between
D(ω) and E(ω) into the time domain, rather than inverse transforming the susceptibility
function χe (ω). In doing this, we take advantage of the particular functional form of
χe (ω), and transform back to the time domain by recognizing multiplication with jω
as a first-order time derivative and multiplication with −ω2 = ( jω)2 as a second-order
time derivative. We will illustrate the method separately for Debye, Lorentz, and Drude
materials.
254 FDTD modeling in dispersive media
∂$ ∂!
$ + τ0 = ϵ0 ϵdc ! + τ0 ϵ0 ϵ∞ . (10.50)
∂t ∂t
This differential equation can be discretized in the usual manner to find an update
equation for !:
- .
n+1 +t + 2τ0 n+1
! = $
2τ0 ϵ0 ϵ∞ + ϵ0 ϵdc +t
- . - .
+t − 2τ0 n 2τ0 ϵ0 ϵ∞ − ϵ0 ϵdc +t n
+ $ + ! . (10.51)
2τ0 ϵ0 ϵ∞ + ϵ0 ϵdc +t 2τ0 ϵ0 ϵ∞ + ϵ0 ϵdc +t
As usual, since there is no dispersion in the magnetic permeability,4 we still have the
same update equation for ":
n+1/2 n−1/2 +t ; <n
" =" − ∇ ×! . (10.52)
µ
n+1/2
Thus, at each time step, we use Equation (10.52) to find " , and use it to find the
next value of $ from:
∂$ n+1 n
; <n+1/2
=∇ ×" → $ = $ − +t ∇ × " . (10.53)
∂t
n+1 n n
Finally, we then use $ along with $ and ! in Equation (10.51) to find the
n+1
next value of ! . This method of FDTD modeling of dispersive materials is more
straightforward than the recursive convolution method, but does require that we store
values of $ (at time steps n and n + 1) in addition to ! and ".
4 Dispersion in the magnetic permeability can be easily handled by the ADE method, requiring a similar
auxiliary equation relating # and ", similar to the methods used for the PML in Chapter 9.
10.2 Auxiliary differential equation method 255
for water in Figure 2.1. In fact, some metals, such as tungsten or nickel, are well modeled
by a single Drude pole in combination with as many as four Lorentz poles [5].
A major advantage of the auxiliary differential equation (ADE) method is its simplicity
in modeling materials with multiple poles. The recursive convolution method, on the
other hand, becomes cumbersome for FDTD modeling in materials with susceptibility
χe (ω) having multiple poles. For these multiple-pole materials, an efficient reformulation
of the ADE method has been put forth [14], which we present next.
We begin by rewriting the first equation in (10.49) in the following form:
ϵ0 (ϵdc − ϵ∞ )
D= ϵ 0 ϵ∞ E + E. (10.54)
' () * 1 + jω τ0
Free-space term ' () *
Polarization term
∂!(t)
∇ × " = ϵ0 ϵ ∞ + % p (t). (10.56)
∂t
For materials having susceptibility χe (ω) with multiple (e.g., a total of M) poles, we
can express the permittivity in the frequency domain as:
% M
&
G +ϵm
ϵ(ω) = ϵ0 ϵ∞ + (10.57)
m=1
1 + jωτ0m
m m
where +ϵm = ϵdc − ϵ∞ , representing the change in the real part of the relative permit-
tivity in the vicinity of the mth Debye pole, specified by the relaxation time τ0m . The
polarization current (given by % p (t) = ∂'/∂t) corresponding to the mth pole would be
given by:
# $
+ϵm
J pm (ω) = jω ϵ0 E(ω). (10.58)
1 + jωτ0m
The corresponding Maxwell’s Equation (10.56) can then be rewritten as:
M
∂!(t) G
∇ × " = ϵ0 ϵ ∞ + % pm (t) (10.59)
∂t m=1
where % pm (t) is the time domain counterpart of J pm (ω). As we update the fields with
Equation (10.59), we will need the values of % pm (t) at (n + 1/2). For this purpose, we
need to transform (10.58) to the time domain. To do this, we first multiply both sides
by (1 + jωτ0m ) to find:
n+1/2
However, in solving Equation (10.59), we shall need % pm , which can be obtained
by averaging in time:
3n+1 3n
3n+1/2 3 3
3 % pm 3 +% pm 3
% pm 3 =
2
⎡ 3n+1 3n ⎤
# $ 3 # $ !33 −!33
2τ0m 3n ϵ0 +ϵm +t ⎢ ⎥
= % pm 3 + ⎣ ⎦. (10.63)
2τ0m + +t 2τ0m + +t +t
n+1
This can now be used in Equation (10.59) to find ! . We have:
1 n+1 n
2
; <n+1/2 ! −! GM
n+1/2
∇ ×" = ϵo ϵ∞ + % pm . (10.64)
+t m=1
n+1/2 n+1 n n
Note that in Equation (10.63), % pm is a function of ! , ! , and % pm . Thus, we
can substitute Equation (10.63) into Equation (10.64) and rearrange to find our update
n+1
equation for ! :
% &1 2
n+1 n 2+t ; <n+1/2 1 G M
n
! =! + ^M ∇ ×" − (1 + km )% pm
2ϵ0 ϵ∞ + m=1 βm 2 m=1
(10.65)
with the constants km and βm given in Equation (10.62). Thus, we find the overall
procedure for updating the fields is as follows:
n n n+1/2 (10.65) n+1 (10.62) n+1
! ,% ," −−−→ ! −−−→ % (10.66)
Note that the ADE method as described here, and in the next two subsections for
Lorentz and Drude materials, can be applied to any number of poles. Equivalently, this
means it can handle any number of polarization currents, if one considers the formulation
given in Equation (10.65), with the summation over M polarization currents % pm .
We will find that the ADE method for a single Lorentz pole-pair is simply the M = 1
case of the multiple-pole-pair method, and so we will generalize to M poles from the
outset. For a Lorentz material with M pole-pairs, the mth pole-pair is defined by a
m
resonant frequency ω0m and a damping constant δm , as well as relative permittivities ϵdc
m
and ϵ∞ . The full complex permittivity can then be written in the form:
M
G 2
+ϵm ω0m
ϵc (ω) = ϵ0 ϵ∞ + ϵ0 (10.68)
ω2
m=1 ' 0m
+ 2 jωδm − ω2
() *
χe,m (ω)
m m
where again +ϵm = ϵdc − ϵ∞ . Now, recall that for a single Debye pole, our auxiliary
differential equation was a complex frequency domain relationship between D and E,
given by Equation (10.49). We then found that for multiple Debye poles, it was more
practical to write a relationship between E and the polarization current J p . In the Lorentz
case, we will find that it is more practical to write the relationship between E and J p
even for a single pole-pair.
Since % p (t) = ∂'/∂t and thus J p (ω) = jωP, we can write the form of a polarization
current for each pole-pair J pm as:
# $
2 jω
J pm = ϵ0 +ϵm ω0m 2
E. (10.69)
w0m + 2 jωδm − ω2
Rearranging to remove the fraction:
2
w0m J pm + 2 jωδm J pm − ω2 J pm = ϵ0 +ϵm ω0m
2
jωE. (10.70)
This equation can now be easily transformed back into the time domain by taking the
inverse Fourier transform to find:
2
∂% pm ∂ 2 % pm 2 ∂!
ω0m % pm + 2δm + = ϵ0 +ϵm ω0m . (10.71)
∂t ∂t 2 ∂t
258 FDTD modeling in dispersive media
We can now discretize using the standard second-order centered differences for both
first and second derivatives, to find:
⎛ ⎞ ⎛ ⎞
n+1 n−1 n+1 n n−1
2 n % pm − % pm ⎠ % pm − 2% pm + % pm ⎠
ω0m % pm + 2δm ⎝ +⎝
2+t +t 2
% n+1 n−1
&
2 !m − !m
= ϵ0 +ϵm ω0m . (10.72)
2+t
Notice the use of second-order differences over two time steps, in order to use only
field values at known locations (i.e., integer time steps for both ! and %). This can be
n+1
solved for % pm to yield a useable update equation:
% n+1 n−1
&
n+1 n n−1 !m − !m
% pm = A1m % pm + A2m % pm + A3m (10.73)
2+t
This can now be plugged directly into Equation (10.59) to find a Lorentz equivalent
n+1
to Equation (10.64), and finally manipulated into an update equation to find ! :
1 2
n+1 n n−1
; <n+1/2 1 G M /
n n−1
0
! = C1 ! + C2 ! + C3 ∇ × " − (1 + A1m )% pm + A2m % pm
2 m=1
(10.75)
Again, Faraday’s law proceeds as usual, given in Equation (10.67), to update the
magnetic field.
ωr2
χe (ω) = − . (10.32)
ω2 − jω/τr
In the case of a multiple-pole Drude material, the permittivity can be written as
M
G 2
ωrm
ϵc (ω) = ϵ0 ϵ∞ − ϵ0 . (10.77)
m=1
ω2 − jω/τrm
Again, since J p (ω) = jωP, we can write the form of a polarization current for each
pole J pm as:
# 2 $
ωrm
J pm = − jωϵ0 E. (10.78)
ω2 − jω/τrm
At this point the reader should notice the pattern in deriving these auxiliary differential
equations; after writing the complex frequency domain relationship between E and J p ,
we rearrange to form an equation that, when transformed back into the time domain, can
be easily discretized using the FDTD method. In the Drude case, we rearrange Equation
(10.78) to find the frequency domain equation:
jω
ω2 J pm − 2
J pm = − jωϵ0 ωrm E (10.79)
τrm
which can be transformed into the time domain as before. In this case, there is a
common factor of (− jω) (recalling that ω2 = ( jω) · (− jω)) which can be removed
from the equation before transforming to the time domain. Ultimately we find:
∂% pm 1 2
+ % = ϵ0 ωrm !. (10.80)
∂t τrm pm
This equation can be discretized as usual at the n + 1/2 time step, using time averages
to get the ! and % field quantities at the half time step:
⎛ ⎞ ⎛ ⎞ % n+1 &
n+1 n n+1 n n
% pm − % pm 1 % pm + % pm 2 ! + !
⎝ ⎠+ ⎝ ⎠ = ϵ0 ωrm (10.81)
+t τrm 2 2
260 FDTD modeling in dispersive media
n+1
which yields the update equation for % pm :
# $ # 2 $ % n+1 n
&
n+1 2 − +t/τrm n wrm ϵ0 +t ! +!
% pm = % pm + . (10.82)
2 + +t/τrm 2 + +t/τrm 2
' () * ' () *
αm βm
n+1/2
Once again, as for the Debye and Lorentz materials, we need % pm to use in Ampère’s
law (10.59), which can be found by simple averaging, as was done earlier for the Debye
and Lorentz materials:
n+1/2 1 / n+1 n
0
% pm = % pm + % pm
2
1 % n+1 n
&2
1 n ! +!
= (1 + αm ) % pm + βm (10.83)
2 2
with the constants αm and βm given in (10.82). This can now be substituted into Ampère’s
law (10.59) and manipulated to find an update equation for !, similar to Equation (10.65)
for Debye materials or Equation (10.75) for Lorentz materials:
# ^ $
n+1 2ϵ0 ϵ∞ − +t βm n
! = ^ !
2ϵ0 ϵ∞ + +t βm
# $ 1; <n+1/2 1 G M
2
2+t n
+ ^ ∇ ×" − (1 + αm )% pm (10.84)
2ϵ0 ϵ∞ + βm 2 m=1
where, as usual, all summations run from m = 1 to m = M, the number of Drude poles.
Note the similarity of this equation with Equation (10.65) for Debye materials; there is an
n
additional scaling factor in front of ! , but otherwise the form is identical. In a similar
vein, the updating process for Debye materials follows the same steps as described in
Equation (10.66).
The formulations for Debye, Lorentz, and Drude media derived in this section
assumed, for simplicity, that the medium had zero conductivity σ . It is a simple extension
to derive formulations that include the conductivity of the dispersive medium, and the
modification to the equations follows similar lines as the modification from free space
to a simple lossy medium. For example, observe the derivation above for the isotropic
plasma, in which case the dispersion was separated into two parts, one of which resulted
in nonzero conductivity σeff .
10.3 Summary
In this chapter we introduced FDTD modeling of dispersive media, which are those
materials whose permittivity ϵ(ω) and/or permeability µ(ω) are functions of frequency
ω. In reality, all materials are dispersive in a wider sense, but many materials can be
treated approximately as frequency-independent over narrow bandwidths of interest.
10.3 Summary 261
By applying this equation (and its equivalent at time n − 1) to Ampère’s law, we find
n
an update equation for ! that involves a convolution integral term, 8, which has its
own update equation.
By contrast, the ADE method involves writing an equation relating ! and the polar-
ization current % p , and discretizing that relationship to find an update equation for
% p . For example, in Lorentz materials, the frequency domain relationship between the
polarization current and ! is:
# $
2 jω
J p = ϵ0 +ϵω0 E (10.69)
w02 + 2 jωδ − ω2
262 FDTD modeling in dispersive media
which can now be easily transformed back into the time domain:
∂% p ∂ 2% p ∂!
ω02 % p + 2δ + 2
= ϵ0 +ϵω02 (10.71)
∂t ∂t ∂t
This equation is then easily discretized and rearranged to find an update equation for
% p , and the updated % p field is then used in the update equation for !. Note that for
multiple Lorentz pole-pairs, or multiple Debye poles, there is an update equation for
each % pm .
10.4 Problems
10.1. A Lorentz medium with finite conductivity. Derive the electric field update
equation (analagous to Equation 10.14) for a single-pole ADE Lorentz medium
with finite conductivity σ .
10.2. Combined Drude / Lorentz medium. A large number of metals, including
nickel, silver, and platinum [5], are modeled with a combined Drude / Lorentz
model of the susceptibility. In these cases, the complex frequency domain sus-
ceptibility is given by:
G M
ωr2 Am
χe (ω) = + .
ω( jν − ω) m=1 ωm2 + 2 jωδm − ω2
Use this susceptibility equation to derive an FDTD ADE formulation for such a
medium.
10.3. Platinum simulation. Write an FDTD code to simulate a 1D plane wave incident
on a slab of silver using the ADE method. Launch a sinusoidal source from the
left edge of the space with a wavelength of 700 nm (i.e., a red optical wave).
Choose appropriate FDTD parameters (+x, +t) for this wavelength. Create a
slab of silver in the space that is one-half wavelength thick.
(a) First, treat silver as a simple Drude material with ωr = 1.33 × 1016 rad/s
and ν = 4.94 × 1013 s−1 (in the notation of Problem 10.2 above). What
amplitude is transmitted through the slab? What is reflected? What are the
losses inside the slab?
(b) In addition to the Drude pole in (a), include the single Lorentz pole-pair
for silver, with A1 = 3.09 × 1023 s−1 , δ1 = 1.62 × 1018 s−1 , and w1 =
3.14 × 1016 rad/s.
(c) Vary the input optical wavelength over the range 300–1000 nm. How does
the transmitted amplitude vary with wavelength?
10.4. An isotropic plasma. Modify your code from Problem 10.3 to model a slab
of isotropic plasma. Use a plasma frequency of 1 MHz (corresponding to an
electron density of ∼ 104 electrons/cm3 ) and a collision frequency of νc = 0.
10.4 Problems 263
Launch a Gaussian pulse at the slab that covers the frequency range up to 2 MHz.
Measure the frequency response of the reflected and transmitted pulses.
10.5. Collisional plasma. Repeat Problem 10.4, but use a collision frequency of νc =
104 s−1 . Compare the reflected and transmitted frequency responses. Repeat for
νc = 103 and 105 s−1 .
10.6. A DNG material. Metamaterials are materials made up of periodic structures
whose macroscopic behavior can be controlled through the material’s design. A
double negative (DNG) material is one whose permittivity and permeability both
exhibit dispersion, so that at particular frequencies both of these, and thus the
index of refraction, can be negative.
(a) Model a slab of Drude material in 2D with dispersive permittivity only,
with ν = 1/τ = 4 × 10−4 s−1 and ω p = 3 × 1011 rad/s. Use 20 grid cells
per wavelength and make the slab 100 grid cells thick. Launch a sinusoidal
wave at the slab with a wavelength of 1 cm ( f = 30 GHz) and observe the
wave phase behavior in the slab.
(b) Derive the ADE method for a DNG material. Start with the µ version
of equation (10.77) and write an auxiliary equation for the magnetization
current M related to H. Then, include M in the update equation for H.
(c) Now, repeat (a) but make the slab a DNG material in 2D whose permittivity
ϵ and permeability µ both exhibit Drude behavior, both with the same
relaxation time and resonant frequency as in part (a). Comment on the
results.
10.7. Stability of the ADE method. Investigate the stability of the ADE method
in 1D for single-pole Debye materials, using the methods in Chapter 6. Start
with Equation (10.51), writing each field in the form $in = C1 e j(ωn+t+ki+x) ,
and simplify to find a dispersion relation. Under what conditions is the method
stable?
10.8. Submarine communication. Consider the problem of communication between
two submarines submersed at some depth at sea, 1 km from each other. Seawater
can be modeled as a Debye material with parameters ϵdc = 81, ϵ∞ = 1, and
t0 = 10−5 s. Analyze the problem at hand using the recursive convolution method
and make recommendations as to how best to proceed.
A critical parameter to determine is the pulse rate, which determines the
data rate. In other words, what is the minimum separation between successive
pulses? What is the highest data rate (number of pulses per second) which can be
used? Assume 2D TMz propagation between the submarines and vertical electric
antennas (i.e., excite the !z field at the transmitting submarine and also monitor
the !z field at the receiving submarine) and that the transmitted Gaussian pulses
can have a peak initial electric field value of 1 V/m. Also assume that the receiving
system is designed to recognize a peak signal value of 0.5 mV/m or more as a
one, whereas a value of 0.05 mV/m or less is recognized as a zero.
264 FDTD modeling in dispersive media
10.9. Speed and performance of the ADE method. Repeat Problem 10.8 using the
ADE method. Is the same result achieved? How do the simulation times compare?
References
In the previous chapter, we looked at the FDTD method applied to dispersive media,
which are those materials whose permittivity (and/or permeability) is a function of
frequency. In this chapter, we discuss materials whose permittivity (and/or permeability)
is a function of the vector direction of the wave electric and magnetic fields.1 These are
referred to an anisotropic materials.
Electrically anisotropic materials can be understood as having a tensor permittivity,
which can be written in the general form:
⎡ ⎤
ϵx x ϵx y ϵx z
ϵ̄¯ = ϵ0 ⎣ϵ yx ϵ yy ϵ yz ⎦ . (11.1)
ϵzx ϵzy ϵzz
This tensor permittivity can be interpreted in two ways. First, mathematically, as we
shall see, the $ field components depend on cross terms of ! – for instance, $x may
depend on !x , ! y , and/or !z – and physically, this means that $ is no longer parallel to
!. This follows directly from applying the matrix permittivity in Equation (11.1) to the
relationship D(ω) = ϵ(ω)E(ω). Second, and possibly more intuitively, it means that the
index of refraction in the medium will be a function of the wave propagation direction
and polarization of the wave. This interpretation will become more intuitive when we
discuss modeling of liquid crystals.
In this chapter we will discuss the FDTD method applied to general anisotropic
media; then, we will discuss particular examples of a magnetized plasma, a liquid
crystal medium, and a ferrite material.
The following discussion is adapted from the work of Dou and Sebak [1]. This very
simple method involves a four-step updating process involving the four fields E, D, H,
and B, similar to the ADE method for dispersive materials. In the most general sense, an
anisotropic medium may have a tensor permittivity (electric anisotropy) and/or a tensor
1 Note that we define anisotropy as the dependence on the direction of the field vectors, and not on the wave
propagation direction. In this latter case, the anisotropy can be thought of as a combination of the wave
propagation direction and the wave polarization.
266 FDTD modeling in anisotropic media
∂#
= −∇ × ! (11.3c)
∂t
# = µ̄¯ " → " = [µ̄¯ ]−1 # (11.3d)
where we have assumed that the entries of ϵ̄¯ and µ̄¯ are not frequency dependent;
otherwise, the conversion from the true linear relationship D(ω) = ϵ(ω)E(ω) would
require convolutions. We will see the effect of a frequency-dependent (i.e., dispersive)
anisotropic medium when we discuss the magnetized plasma. Note that the four Equa-
tions (11.3) are written in order: beginning with the " field, one would follow this
sequence of equations in order to update all four fields.
The inverses of the tensor permittivity and permeability that appear in Equations (11.3)
can be written as
⎡ ′ ⎤ ⎡ ′ ⎤
ϵx x ϵx′ y ϵx′ z µx x µ′x y µ′x z
1 1
[ϵ̄¯ ]−1 = ⎣ϵ ′ ϵ yy′ ′ ⎦
ϵ yz and [µ̄¯ ]−1 = ⎣µ′yx µ′yy µ′yz ⎦ (11.4)
;e yx ′ ′ ′ ;h
ϵzx ϵzy ϵzz µ′zx µ′zy µ′zz
where ;e and ;h represent the determinants of ϵ and µ respectively; for example,
The primed entries such as ϵx′ x , it should be recognized, are different from the given
ϵx x , and are determined from the matrix inversion process. Now, applying these inverse
tensors to Equation (11.3b), we find update equations for $ → !, explicitly written at
the time step n and the appropriate discretized spatial coordinates:
3n ϵ′ 3n ϵx′ y 33n ϵ′ 3n
3 3 3
!x 3 = x x $x 3 + $y 3 + x z $z 3 (11.5a)
i+1/2, j,k ;e i+1/2, j,k ;e i+1/2, j,k ;e i+1/2, j,k
3n ′
ϵ yx 3n ′
ϵ yy 3n ′
ϵ yz 3n
3 3 3 3
!y 3 = $x 3 + $y 3 + $z 3 (11.5b)
i, j+1/2,k ;e i, j+1/2,k ;e i, j+1/2,k ;e i, j+1/2,k
3n ϵ′ 3n ′
ϵzy 3n ϵ′ 3n
3 3 3 3
!z 3 = zx $x 3 + $y 3 + zz $z 3 . (11.5c)
i, j,k+1/2 ;e i, j,k+1/2 ;e i, j,k+1/2 ;e i, j,k+1/2
The problem with this set of equations, of course, is that $ field components are asked
for at locations where they are not defined. For example, in Equation (11.5a) above, the
11.1 FDTD method in arbitrary anisotropic media 267
z
(i, j–1/2, k+1/2)
$z
y
x
Figure 11.1 Locations of $x , $ y , and $z fields in the 3D grid. The solid arrows show the
components of $ y and $z that are used to find their values at the grid location (i + 1/2, j, k) at
the center of this cell.
3 # 3 3 3 3 $
3 1 3 3 3 3
$y 3 = $y 3 + $y 3 + $y 3 + $y 3
i+1/2, j,k 4 i, j−1/2,k i, j+1/2,k i+1, j−1/2,k i+1, j+1/2,k
(11.6a)
3 # 3 3 3 3 $
3 1 3 3 3 3
$z 3 = $z 3 + $z 3 + $z 3 + $z 3 .
i+1/2, j,k 4 i, j,k−1/2 i, j,k+1/2 i+1, j,k−1/2 i+1, j,k+1/2
(11.6b)
In Figure 11.1, the location of interest (i + 1/2, j, k) is at the center of the grid, where
the hollow $x arrow is located. The solid arrows surrounding it are the field values of $ y
and $z that are used to find their values at the location (i + 1/2, j, k). Pairs of equations
similar to Equations (11.6) apply to the terms in Equations (11.5b) and (11.5c).
Next, having found !, the updating proceeds as usual for Equation (11.3c), taking
us from ! to #. Since this equation is not material-specific, it can be applied using the
straightforward differencing equations that we have used throughout this book. Having
found # (which is co-located with "), we discretize Equation (11.3d) similarly for the
268 FDTD modeling in anisotropic media
Again, we are asked for field values of # at locations where they are not defined, and
again we take four-point spatial averages. For the two terms in Equation (11.7a), the
following two averaging equations are required:
3 # 3 3
3 1 3 3
#y 3 = #y 3 + #y 3
i, j+1/2,k+1/2 4 i+1/2, j+1,k+1/2 i+1/2, j,k+1/2
3 3 $
3 3
+ #y 3 + #y 3 (11.8a)
i−1/2, j+1,k+1/2 i−1/2, j,k+1/2
3 # 3 3
3 1 3 3
#z 3 = #z 3 + #z 3
i, j+1/2,k+1/2 4 i+1/2, j+1/2,k+1 i+1/2, j+1/2,k
3 3 $
3 3
+ #z 3 + #z 3 . (11.8b)
i−1/2, j+1/2,k+1 i−1/2, j+1/2,k
Two similar averaging equations are required to go along with Equations (11.7b) and
(11.7c). Finally, the updating scheme is completed by applying Equation (11.3a), which
again is material independent and proceeds with straightforward difference equations.
For the general, nondispersive anisotropic medium, that’s it! The updating process
becomes a four-step procedure, involving Ampère’s law and Faraday’s law as usual, but
also requiring the material constitutive relations, used as auxiliary equations.2
While the method described in Section 11.1 above is applicable in general to any
tensor permeability and/or permittivity with simple (i.e., frequency-independent) entries,
specific types of media lend themselves to simplified and/or alternative formulations. In
this section we will discuss the FDTD analysis of liquid crystals, which, under certain
circumstances, can be even simpler than the general formulation above. In the next
section we will discuss FDTD in a magnetized plasma, which is both anisotropic and
dispersive, and whose formulation is somewhat more complex.
We begin with some background on waves in crystals3 in order to understand the basis
of the anisotropy in crystals.
A general crystal has a tensor permittivity as in the general formulation above, but
when aligned along the principal axes, this permittivity can have only diagonal compo-
nents ϵx x , ϵ yy , and ϵzz , with all off-diagonal components equal to zero. In this general
crystal, the frequency domain wave equation can be written as:
k × (k × E) + ω2 µ0 ϵ̄¯ E = 0 (11.9)
where now ϵ̄¯ is a diagonal matrix; note that our entries ϵx x , etc., include ϵ0 multiplied by
the relative permittivities. This wave equation can be rewritten in matrix form, and the
dispersion relation for the medium is found by setting the determinant of the multiplying
matrix A to zero. We thus find the dispersion relation for the crystal:
3 2 3
3ω µ0 ϵx x − k 2y − k z2 kx k y kx kz 3
3 3
3 k y kx 2 2 2
ω µ0 ϵ yy − k x − k z k y kz 3 = 0. (11.10)
3 3
3 kz kx kz k y 2 2
ω µ0 ϵzz − k x − k y 23
3 For a thorough background of waves in crystals, see, for example, Yariv and Yeh [2].
4 In particular, note that in any medium, the direction of energy propagation ŝ is given by the Poynting vector
E × H, whereas the direction of phase propagation k̂ is defined by D × B.
270 FDTD modeling in anisotropic media
s
θ
De
Do
y
Figure 11.2 Index ellipsoid for a uniaxial crystal. The large ellipsoid has major axes of length
2n x , 2n y , and 2n z . The vectors in the angled plane (perpendicular to s) that intersect the main
ellipsoid have lengths n o and n e , giving the supported indices of refraction in that propagation
direction.
same in all directions, and the permittivity is given by a scalar quantity. In a uniaxial
crystal, there is only one optic axis, and there exist both ordinary and extraordinary
indices of refraction n o and n e , leading to an index ellipsoid that is symmetric in the x–y
plane but elongated (or shortened) in the z-direction; Figure 11.2 shows an example of
a uniaxial crystal index ellipsoid. When the z-axis is aligned along the “optical axis” as
described, the permittivity is given by the tensor:
⎡ 2 ⎤
no 0 0
ϵ̄¯ = ϵ0 ⎣ 0 n 2o 0 ⎦ . (11.13)
0 0 n 2e
In a biaxial crystal, all three indices may differ, leading to a complicated index ellipsoid
and a more general permittivity tensor
⎡ 2 ⎤
nx 0 0
ϵ̄¯ = ϵ0 ⎣ 0 n 2y 0 ⎦ . (11.14)
0 0 n 2z
In general, the principal coordinate axis in a biaxial crystal is defined such that
nx < n y < nz .
From here on we will restrict our discussion to uniaxial crystals for simplicity. In the
uniaxial crystal, the index ellipsoid takes the form
x2 y2 z2
+ + = 1. (11.15)
n 2o n 2o n 2e
Now, in Figure 11.2, a wave propagating in the direction s at angle θ to the optic axis
has two indices of refraction. A wave with its D vector in the x–y plane will see the
11.2 FDTD in liquid crystals 271
ordinary index of refraction n o , regardless of angle θ (in the figure it has been aligned
with the x-axis). The wave with the perpendicular D sees a different index of refraction,
found from:
1 cos2 θ sin2 θ
= + . (11.16)
n 2e (θ ) n 2o n 2e
The fact that the medium supports two different phase velocities at the same propa-
gation angle, and that these velocities depend on the polarization of the incident wave,
means the medium will cause a rotation of the polarization of the wave as it traverses the
medium, similar to Faraday rotation, which is caused by a polarization rotation along a
steady magnetic field.
# = µ0 ". (11.17d)
The treatment herein assumes that the crystal properties vary in the x–z plane, as
does the permittivity. In general, the crystal optic axis can be aligned with respect to
the x, y, z coordinates with a tilt angle θ and a twist angle φ, as shown in Figure 11.3.
In this case, the simple tensor permittivity given in Equation (11.13) must be rotated
through the angles θ and φ, yielding the rotated tensor permittivity
⎡ 2 ⎤
n o + +n 2 cos2 θ cos2 φ +n 2 cos2 θ sin φ cos φ +n 2 sin θ cos θ cos φ
ϵ̄¯ (x, z) = ϵ0 ⎣ +n 2 cos2 θ sin φ cos φ n 2o + +n 2 cos2 θ sin2 φ +n 2 sin θ cos θ sin φ ⎦
+n 2 sin θ cos θ cos φ +n 2 sin θ cos θ sin φ n 2o + +n 2 sin2 θ
(11.18)
PERFECTLY
MATCHED
PERFECT LAYER
ELECTRIC
CONDUCTOR
(σ Dz, σ Hz)
pˆout
PERIODIC
GLASS CONTINUATION
OF FDTD GRID
LIQUID
CRYSTAL
ALIGNMENT n̂
LAYERS & z y
ITO ELECRODES
pˆ in
θ
o φ
x
GLASS φin YEE CELL
Hz
Ey Ey
INCIDENT LIGHT Ex
z[ j]
y
Ez Ez
θinc Hy
Hx Hx
x[i]
O
Hy Ex Ey
Hz
Figure 11.3 Yee cell for the liquid crystal display problem. Taken from Kriezis and Elston [3].
Note that in this 2D model, all three components of each field are required and, as a result, some
field components (e.g., !z and "x ) are co-located (inset at bottom right). The FDTD model
presented by Kriezis also includes a PML and periodic boundaries, discussed in Chapter 12.
Maxwell’s equations, Equations (11.17a) and (11.17b) can be readily discretized using
the usual algorithm; for example, the y components of $ and # are given by
⎛ 3n+1/2 3n+1/2 3n+1/2 3n+1/2 ⎞
3 3 3 3
3n+1 3n "x 3 − "x 3 "z 3 − "z 3
3 3 ⎜ i,k+1/2 i,k−1/2 i+1/2,k i−1/2,k ⎟
$y 3 = $ y 3 + +t ⎝ − ⎠
i,k i,k +z +x
(11.19a)
3n+1/2 3n−1/2
3 3
#y 3 = #y 3
i+1/2,k+1/2 i+1/2,k+1/2
⎛ 3n 3n 3n 3n ⎞
3 3 3 3
!z 3 −!z 3 !x 3 − !x 3
+t ⎜ i+1,k+1/2 i,k+1/2 i+1/2,k+1 i+1/2,k ⎟
+ ⎝ − ⎠.
µ0 +x +z
(11.19b)
These two equations have not made any use of the inherent anisotropy of the
medium; that comes about through the use of the constitutive relation relating ! to $,
11.2 FDTD in liquid crystals 273
Figure 11.4 Illustration of the LCD cell operation. This particular arrangement is considered
“active dark,” meaning the ON state is such that no light is emitted. “Active light” devices can
be made with parallel polarizers. On the left, with no applied voltage at the electrodes E1 and
E2 , the crystals are arranged in such a way that the light polarization rotates 90 degrees and is
passed through the polarizers P1 and P2 to form image I. When voltage is applied, the crystals
line up so that no polarization rotation occurs, and P1 blocks any outgoing light.
Figure 11.5 The Earth’s magnetosphere. The Earth’s plasmasphere is an example of a cold
plasma, and the radiation belts are a hot plasma. Both of these plasma regions, as well as the
enlongated tail region, are magnetized by the Earth’s static magnetic field. Figure courtesy P. H.
Reiff, Rice University.
to the first and the cell is arranged such that the light twists through 90 degrees of
polarization, the light is allowed to pass through; this is an “active dark” OFF state – the
presence of light at the output signifies that the cell has NOT been activated.
Now, the application of an electric field to the cell causes the crystal molecules to
align with the field, due to their inherent polarity, as shown on the right of Figure 11.4.
The polarization of the light is not affected as it only sees the ordinary refractive index,
and is blocked by the second polarizer. Note that by switching the second polarizer to
be parallel with the first, we turn the cell into an “active light” state.
These twisted-nematic LCD cells were developed in the late 1960s and 1970s, but
suffered from a number of drawbacks, including the need for two polarizers, and a poor
visibility with viewing angle. However, it should be noted that they are only one class
of LCD, and one should note the variety of methods that has grown in recent years.
FDTD methods such as the one described above have been used extensively to model
the birefringence in liquid crystals, enabling modeling of the transmission of light at
arbitrary incidence angles.
As an introduction to magnetized plasmas, Figure 11.5 shows the region around the Earth
known as the magnetosphere. The Earth’s magnetosphere is the region of space where
the Earth’s magnetic field, generated by currents deep within the Earth, is dominant over
other extraterrestrial magnetic fields such as that of the Sun (the interplanetary magnetic
11.3 FDTD in a magnetized plasma 275
field, or IMF). The upper regions of the Earth’s atmosphere are ionized by solar radiation
and are known as the ionosphere, and its upper regions are also influenced by the
Earth’s magnetic field. Similarly, the plasmasphere and radiation belts contain electrons
and protons but very few neutral atoms or molecules; these regions are fully ionized
magnetized plasmas. The “tail” of the magnetosphere, as illustrated in Figure 11.5, is
elongated due to the pressure exerted by the solar wind.
Other planets, such as Jupiter and Saturn, also have magnetospheres, although other
planets’ magnetospheres may arise for different reasons.5 Magnetospheres provide an
excellent laboratory for studying plasma physics and wave-particle interactions on scales
that could never be created in a man-made laboratory. For further discussion of the Earth’s
magnetosphere, see, for example, the texts by Kivelson and Russell [4] and Gurnett and
Bhattacharjee [5].
Before deriving the FDTD algorithm for a magnetized plasma, we must first examine
the functional form of the permittivity. In Chapter 10 we saw how a collisional plasma
with electron density Ne and collision frequency νc leads to a complex permittivity given
by:
1 2
ω2p
ϵc (ω) = ϵ0 [1 + χe (ω)] = ϵ0 1 − (10.38)
ω(ω + jνc )
4
where the electron density is related to the plasma frequency ω p = Ne qe2 /ϵ0 m e . This
leads to a modification of Ampère’s law in the frequency domain:
% &
ω2p /ω2
∇ × H = jωϵ0 1 − E. (11.21)
1 − jνc /ω
It should be recognized that the expression in parentheses is the square of the index of
refraction, n, in the plasma medium, and that, in addition to being complex, in general
it can be less than unity.
The addition of a static, background magnetic field B0 adds a degree of complexity to
the analysis of the medium, and leads to anisotropy, where the permittivity is a tensor.6
To see this, we can write an equation of force (F = m a = m dv/dt) on an electron in
the magnetized plasma medium, considering the forces of the electromagnetic wave (!
and #) and the static magnetic field B0 :
dv
= qe ! + qe v × (# + B0 )
me (11.22)
dt
where v is the vector velocity of the electron, and m e and qe are its mass and charge. Note
that we have neglected collisions ν above; as such this is considered a cold,7 collisionless
5 Mars also has a weak magnetosphere, which is create by magnetic currents in the crust of the planet, rather
than large currents in the core.
6 Note that the presence of a magnetic field B0 alone will not affect the propagation of waves; the plasma
must also be present. The effect of the magnetic field on wave propagation occurs through the electron and
ion motion in the plasma.
7 A plasma can be cold, warm, or hot, depending on the electron energies; for warm and hot plasmas, more
terms are required in the force Equation (11.22). For details, see for example the plasma physics text by
Bittencourt [6].
276 FDTD modeling in anisotropic media
magnetized plasma, as can be found in the outer magnetosphere, where there are very
few neutral particles.
To simplify the analysis, we will take the external magnetic field B0 to be in the z-
direction so B0 = ẑ B0 , and we consider only small signal oscillations (i.e., |#| ≪ B0 ),
so the v × # term drops out (as the product of two small-signal terms). In the frequency
domain, we can write the resulting force equation as
qe
jωv ≃ (E + v × B0 ). (11.23)
me
With B0 aligned with the z-axis, writing the individual components of this vector
equation is greatly simplified:
qe qe
jωvx = Ex − B0 v y (11.24a)
me me
qe qe
jωv y = Ey − B0 vx (11.24b)
me me
qe
jωvz = Ez . (11.24c)
me
Note that due to the v × B0 force, the z-component of velocity is not affected by B0 .
The above set of equations can be solved together to find the individual components of
velocity:
− jω(qe /m e )E x + (qe /m e )ωc E y
vx = (11.25a)
ωc2 − ω2
−(qe /m e )ωc E x − jω(qe /m e )E y
vy = (11.25b)
ωc2 − ω2
jqe /m e
vz = Ez (11.25c)
ω
where ωc = qe B0 /m e is the electron cyclotron frequency or electron gyrofrequency,
which is the frequency at which electrons orbit around static magnetic field lines. This
frequency is independent of the applied field ! or the electron energy. Note that in
this formulation we have ignored positive ions and large negative ions: in general, the
masses of these ions are so much larger than that of the electrons that their motion can
be ignored at all but the lowest frequencies.8
Now, recalling that the motion of a density of Ne electrons per unit volume with
velocity ve results in a current density of J = Ne qe ve , we see that the above velocity
components form a current density J in the plasma. We can write the relationship
between D and E in the plasma medium as [7]:
8 In plasmas where ion motion is important, there are also ion cyclotron frequencies, where qi and m i define
their specific frequencies. Note that the sign of the charge is important, so that positive ions gyrate around
field lines in the opposite direction of negative ions and electrons.
11.3 FDTD in a magnetized plasma 277
In the plasma medium with no static magnetic field, we had a scalar effective per-
mittivity ϵeff = ϵ0 (1 − ω2p /ω2 ). Now, we will end up with a tensor effective permittivity
after substituting in the current components above:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
Dx Ex Jx
jω D y = jωϵ0 E y + Jy ⎦
⎣ ⎦ ⎣ ⎦ ⎣
Dz Ez Jz
⎡ 11 12
⎤⎡ ⎤
ϵeff ϵeff 0 Ex
= jωϵ0 ⎣ϵeff
12∗ 11
ϵeff 0 ⎦ ⎣Ey⎦ (11.27)
33
0 0 ϵeff Ez
where the entries of the equivalent permittivity tensor are given by:
1 2
2
11
ω p
ϵeff = 1+ 2 (11.28a)
ωc − ω2
12
jω2p (ωc /ω)
ϵeff = (11.28b)
ωc2 − ω2
1 2
33
ω2p
ϵeff = 1− 2 (11.28c)
ω
12∗ 12
and ϵeff is the complex conjugate of ϵeff . The reader should be satisfied to note that by
setting B0 = 0 (and thus ωc = 0), we arrive at the effective permittivity for the isotropic
plasma from Chapter 10.
Note how our magnetized plasma now resembles an anisotropic medium, where
D(ω) = ϵ0 ϵeff (ω)E(ω); this of course has the added complexity that the entries of the
permittivity tensor are frequency dependent, so the medium is both anisotropic and
dispersive.
Third, the magnetic field B0 is considered to point in some arbitrary direction, not
necessarily aligned with any axis; this results in a permittivity matrix that is not simple
and symmetric as given in (11.26).
With these modifications, the Lorentz force Equation (11.22) can be written in time
domain as:9
∂%
+ ν% = ϵ0 ω2p (r, t)! − ωc (r, t) × %. (11.29)
∂t
Note that we have explicitly written ω p and ωc as functions of space and time; in most
applications the electron density and magnetic field vary throughout space, and in some
cases can change with time. Note also that we have written the cyclotron frequency ωc
as a vector, such that
and each component is proportional to its respective component of static magnetic field,
i.e., ωcx = qe B0x /m e . Solving for each component of % and including Ampère’s law
and Faraday’s law in our discussion, the x-components of our set of three equations to
solve become
# $
∂"x 1 ∂!z ∂! y
=− − (11.30a)
∂t µ0 ∂ y ∂z
# $
∂!x 1 ∂"z ∂! y
= − − %x (11.30b)
∂t ϵ0 ∂y ∂z
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
∂%x /∂t %x !x
⎣∂% y /∂t ⎦ = / ⎣% y ⎦ + ϵ0 ω2p (r, t) ⎣! y ⎦ (11.30c)
∂%z /∂t %z !z
The other component equations of Faraday’s law and Ampère’s law follow a similar
form to Equations (11.30a) and (11.30b).
We now proceed to derive an FDTD algorithm in order to update these equations
using the grid shown in Figure 11.6. The ! and " field components are placed at the
same locations as usual in the Yee cell, but rather than placing the current components
of % co-located with !, they are placed at the integer cell locations (i, j, k), which
were otherwise unoccupied; further, the current components are updated at time step
(n + 1/2) along with the " components. Then, the updating of Equations (11.30a) and
9 Note that in Lee and Kalluri [8], there is a plus sign before the last term, since they have taken the minus
sign out from qe ; in our notation here, qe = −1.6 × 10−19 C and so ωc is negative.
11.3 FDTD in a magnetized plasma 279
k-plane k+1/2-plane
!y !y
j+3/2
"z "z "x "x
!y !y
j+1/2
"z "z "x "x
Figure 11.6 Yee cell adapted to Lee and Kalluri algorithm. Note that the % components are
co-located at integer grid points; otherwise, the Yee cell is the same we are used to.
(11.30b) are straightforward and follow the basic differencing scheme on the Yee cell:
3n+1 3n
3 3
!x 3 = !x 3 (11.32a)
i+1/2, j,k i+1/2, j,k
⎛ 3n+1/2 3n+1/2 ⎞
3n+1/2 3n+1/2 3 3
%x 3 + %x 3
+t ⎜ ∂"z 33 ∂" y 33 i+1, j,k i, j,k ⎟
+ ⎝ 3 − 3 − ⎠
ϵ0 ∂y 3 ∂z 3 2
i+1/2, j,k i+1/2, j,k
⎛
3n 3n ⎞
3n+1/2 3n−1/2 +t ⎝ ∂!z 33 ∂! y 33
3 3 ⎠.
"x 3 = "x 3 + 3 − 3
i, j+1/2,k+1/2 i, j+1/2,k+1/2 µ0 ∂y 3 ∂z 3
i, j+1/2,k+1/2 i, j+1/2,k+1/2
(11.32b)
Notice that the current term %x is averaged at its integer cell locations in order to find
the value at (i + 1/2, j, k).10
The updating of the % Equation (11.30c) is considerably more complex. Generally,
one would perform the standard time differencing of the terms on the right, and spatial
averaging of the % terms on the left, and rearrange to find equations of the form
n+1/2 n−1/2
%i = f 1 (%i ) + f 2 (!). However, the analysis is made much simpler through the
use of Laplace transforms. Recalling that the Laplace transform of a time derivative is
10 A brief note on averaging: the Yee cell was specifically designed so that averaging of fields is not required, at
least in the most basic, source-free isotropic medium. Any time spatial averaging is required, it introduces
an artificial diffusive component, which can range from negligible to problematic depending on how
the averaging is conducted. Details of this problem for the magnetized plasma can be found in [9]. In
general, averaging should only be used when absolutely necessary.
280 FDTD modeling in anisotropic media
; <
. ∂&(t)/∂t = sG(s), similar to Fourier transforms, we can take the Laplace transform
of (11.30c) to find:
where ω p , ωc , ν, and E are assumed to be a constant over the time step. Solving for J(s)
we find
1
J(s) = (sI − /)−1 J0 + ϵ0 ω2p (sI − /)−1 E (11.33)
s
where I is the identity matrix in three dimensions, and J0 , from Laplace transform theory,
is the “initial value” of J; below, when we apply this algorithm to a single time step, J0
will actually be the previous time step value of J. Note that the 1/s multiplier on the last
term comes from Laplace transform theory, in which ! is actually taken to be ! · u(t).
Now taking the inverse Laplace transform we arrive back at an expression for % in time
domain:
where the expressions A(t) and K(t) come from inverse Laplace transform theory and
are given by
When fully expanded, these expressions take the following form, provided for
completeness:
S1 = sin(ωc t)/ωc
C1 = (1 − cos(ωc t))/ωc2
C2 = (eνt − 1)/ν − νC1 − S1
C3 = ν(eνt − cos(ωc t)) + ωc sin(ωc t)
C4 = eνt − cos(ωc t) − ν S1
11.4 FDTD in ferrites 281
(11.37)
This is, of course, a set of three independent update equations, written in matrix
form for simplicity. Notice that the ! components have been spatially averaged to find
the value of the field at the integer grid locations, rather than spatially averaging %
components as we have done in the past; this is a direct result of locating % components
at integer grid locations (i, j, k).
The algorithm presented above, then, is all that is required to simulate a magnetized
plasma in the FDTD method. Maxwell’s equations, as given in equations (11.30a)
and (11.30b), are updated in the straightforward FDTD algorithm presented in
n+1/2
Equations (11.32). Note, however, that % must be updated using Equations (11.37)
before updating the electric field in Equation (11.32a), since it requires % at time step
n + 1/2. The parameters S and C, and in turn the matrices A and K, can be pre-
calculated and stored in memory. Note that these matrices are used as A(+t) and K(+t) in
Equation (11.37), i.e., they are functions of +t.
As our third and final example of anisotropic materials, we now investigate wave prop-
agation and the FDTD method in materials known as ferrites. In this section we will
see an alternative formulation for the FDTD method in anisotropic materials, but both
methods could be applied to either of these materials.
Ferrites are so named because of the presence of iron; their general composition can
be given by the chemical formula MO Fe2 O3 , where M is a divalent (i.e., having two elec-
trons in its outer shell) metal such as manganese, zinc, nickel, or iron. Ferrite materials
differ from ferromagnetic metals in that their conductivities can be considerably lower;
typical ferromagnetics such as iron, cobalt, and nickel (and their alloys) have such high
conductivities that their magnetic properties are irrelevant in terms of their effects on
electromagnetic fields. Ferrites typically have conductivities of about 10−4 –100 S-m−1 ,
compared to ∼107 for iron; their relative permeabilities µr are on the order of a few
thousand, compared to tens of thousands for ferromagnetics.
The origin of ferromagnetism is illustrated in Figure 11.7. In all materials, spinning
electrons have a dipole moment m and angular momentum ., but in non-magnetic
materials, the random arrangement of atoms results in cancellation of the electron spin
282 FDTD modeling in anisotropic media
"
.
.
ω ω d.
qe
(a) (b)
Figure 11.7 The dipole moment and angular momentum in ferrites. (a) a spinning electron has a
dipole moment m and angular momentum . which are anti-parallel. (b) The magnetization
vector ( precesses around the field vector " in the presence of a magnetic field or
electromagnetic wave.
macroscopically. In ferrites, however, a net resulting spin exists, and a dipole moment
is established. A rotating charge has dipole moment m and angular momentum .
as shown in Figure 11.7a; for a single electron these have quantifiable values, |.| =
h/4π = 0.527 × 10−34 J-m and |m| = 9.27 × 10−24 A-m2 . The ratio γm = |m|/|.| is
known as the gyromagnetic ratio; this ratio is also given by γm = qe /m e , which also
appears in the plasma gyrofrequency described in the previous section.
Now, if we place this electron in a magnetic field ", as in Figure 11.7b, the magnetic
field exerts a torque / on the dipole moment m, following the equation of angular
motion:
d.
/= (11.38)
dt
which tends to rotate the dipole moment into alignment with "; however, since it has
angular momentum and we have not introduced any damping force, the spin does not
change angle but precesses gyroscopically about ". The torque acting on m due to the
magnetic field " is related to " and the angle between it and m:
/ = µ0 m × " (11.39)
dm
= −γm µ0 m × ".
dt
11.4 FDTD in ferrites 283
surprise, then, that similar analysis methods can be used for the FDTD implementation.
However, to make things more complicated, we can introduce a damping factor in ferrites
which will change the form of the permeability tensor somewhat. In a general magnetic
material, Equation (11.40) above is replaced by the so-called Landau-Lifshitz-Gilbert
equation, which can be written in the form:
d( d(
= −γm µ0 ( × " − α( × (11.46)
dt dt
ωM (ω0 + jωα)
µ11 22
eff = µeff = 1 + (11.47a)
(ω0 + jωα)2 − ω2
= >∗ ωM ω
µ12
eff = µ21
eff = j . (11.47b)
(ω0 + jωα)2 − ω2
ωM ω0 + jωαωM
µ11 22
eff = µeff = 1 + (11.48a)
ω02 + jω 2αω0 + ( jω)2 (1 + α 2 )
= 21 >∗ jωωM
µ12
eff = µeff = . (11.48b)
ω02 + jω 2αω0 + ( jω)2 (1 + α 2 )
If we then use the above effective permeabilities in the matrix Equation (11.44) and
multiply out the terms, we find the following equations relating Bx and B y to Hx and
Hy (note that Bz = µ0 Hz ):
9 2 : 9 :
ω0 + jω 2αω0 + ( jω)2 (1 + α 2 ) Bx = µ0 ω02 + jω 2αω0 + ( jω)2 (1 + α 2 ) Hx
+ µ0 [ωM ω0 + jω αωM ] Hx
+ jωµ0 ωM Hy (11.49a)
11.4 FDTD in ferrites 285
9 2 : 9 :
ω0 + jω 2αω0 + ( jω)2 (1 + α 2 ) B y = µ0 ω02 + jω 2αω0 + ( jω)2 (1 + α 2 ) Hy
+ µ0 [ωM ω0 + jω αωM ] Hy
− jωµ0 ωM Hx . (11.49b)
Notice the symmetry between these two equations; the only difference is the minus
sign in front of the last term, due to the complex conjugate in the permeability matrix.
Now, each of the terms in Equations (11.49) is proportional to either jω, ( jω)2 , or a
constant, so they can easily be transformed back to the time domain. Equation (11.49a)
in particular becomes:
∂#x ∂ 2 #x ∂"x
ω02 #x + 2αω0 + (1 + α 2 ) 2 = µ0 (ω02 + ω0 ωM )"x + µ0 α(2ω0 + ωM )
∂t ∂t ∂t
∂ 2 "x ∂" y
+ µ0 (1 + α 2 ) 2
+ µ0 ωM . (11.50)
∂t ∂t
n+1/2
In order to find our update equation for " , this equation can now be discretized
using second-order centered differences, as we have done throughout this book. Note
that the second derivatives in time will require three-point differencing; as such, our
first-order time derivatives will be spaced across two time points, spanning from (n +
1/2) to (n − 3/2), so that all discretized fields are at known locations in time. We
find:
where it should be noted that we have used temporal averaging of the #x and "x fields
at time steps (n + 1/2) and (n − 3/2) to find the fields at time step (n − 1/2); this is not
necessary, but it provides symmetry in the update equation coefficients, as we shall see
shortly, without affecting stability: this algorithm can be applied at the CFL limit. This
equation can be solved for "n+1/2 to find:
where, of course, the storage of # and " at time steps (n − 1/2) and (n − 3/2) is
required for the last step.
As a final note, the reader should observe that the magnetized plasma problem in
Section 11.3 can also be formulated in the ADE-like method described here, and the
ferrite problem described here can also be formulated in a method similar to the one
presented in Section 11.3. We will explore these possibilities in the problems at the end
of the chapter.
11.5 Summary
In this chapter we introduced methods for simulating anisotropic materials in the FDTD
method. A general, nondispersive anisotropic material has tensor permittivity and per-
meability:
⎡ ⎤ ⎡ ⎤
ϵx x ϵx y ϵx z µx x µx y µx z
ϵ̄¯ = ϵ0 ⎣ϵ yx ϵ yy ϵ yz ⎦ and µ̄¯ = µ0 ⎣µ yx µ yy µ yz ⎦ .
ϵzx ϵzy ϵzz µzx µzy µzz
The simulation of these anisotropic materials in the FDTD method requires the use
of material-independent Maxwell’s equations, along with the two constitutive relations:
! = [ϵ̄¯ ]−1 $
These two matrix equations can then each be written as a set of three equations, in
which each of the ! and " components are functions of all three $ or # components.
Four-point spatial averaging is used to find field values at required locations.
We introduced three examples of anisotropic materials, namely the liquid crystal, the
magnetized plasma, and the ferrite. In crystals in general, an index ellipsoid defines
the indices of refraction for waves propagating in all directions through the crystal.
The FDTD formulation for crystals, and for liquid crystals, follows the formulation for
general anisotropic materials, after defining the tensor permittivity.
Next, we introduced the magnetized plasma, which is both anisotropic and dispersive.
The analysis of a magnetized plasma begins with the statement of the equation of force
288 FDTD modeling in anisotropic media
11.6 Problems
at the output of the slab? Measure the amplitude of the reflected and trans-
mitted waves.
(b) Repeat (a) for an ! y polarized wave.
(c) Modify your code to include anisotropic permeability, and set µx x = 1,
µ yy = 2, µzz = 3; repeat (a) and (b) and compare the results.
11.2. Uniaxial crystal in 2D. Write a 2D TM mode FDTD simulation in the x–y plane
for a uniaxial crystal with n o = 1.5 and n e = 2.
(a) Create a slab of this crystal material that spans y and covers two wavelengths
in x, and align the optic axis with y. Launch an !z plane wave from x = 0
incident on the slab at frequency 1 THz and use 20 grid cells per wavelength.
Observe the polarization and amplitude of the transmitted and reflected
waves.
(b) Repeat (a), but rotate the crystal in the y–z plane through angles of 15, 30,
45, 60, and 90 degrees, using the rotation matrix in Equation (11.18). How
do the transmitted polarization and amplitude change?
11.3. Ferrite permittivity. Derive Equations (11.47) from Equation (11.46), by first
deriving the constitutive relation between # and " in this complex medium.
Hint: Write out the component Equations in (11.47) in the frequency domain and
follow the steps beginning from Equation (11.41).
11.4. Magnetized plasma method. Derive the matrices A and K in the Lee and Kalluri
method, Equations (11.36), using symbolic matrix inversion.
11.5. Stability of the Lee and Kalluri method. Derive the stability of the Lee and
Kalluri method in Equations (11.37), using the methods of Chapter 6. If you are
having trouble arriving at a closed-form stability condition, make plots of the
amplification matrix eigenvalues with variations in +t and +x until you arrive
at a stability condition semi-empirically.
11.6. Magnetized plasma with an ADE method. The method used in this chapter for
ferrites is a type of auxiliary differential equation method. It turns out that one
can also write an ADE-type method for the magnetized plasma. Derive such a
method, using the frequency-domain version of Equation (11.29) and following
the logic in the ferrite section.
11.7. Ferrites with a Laplace method. Similarly, derive an FDTD method for fer-
rites, using the Laplace transform derivation described in this chapter for the
magnetized plasma. Assume α = 0 for simplicity.
11.8. Magnetized plasma in 2D. Write a 2D simulation for a magnetized plasma using
the Lee and Kalluri method described in this chapter. Create a slab of plasma, as
in Problem 10.5, and use the same plasma parameters therein.
(a) Use a background magnetic field B0 = 1 µT and νc = 105 s−1 . Orient the
magnetic field perpendicular to the slab; i.e., if the slab spans y, orient B0
in the x-direction. Launch an !z -polarized wave incident on the slab from
290 FDTD modeling in anisotropic media
References
[1] L. Dou and A. R. Sebak, “3D FDTD method for arbitrary anisotropic materials,” IEEE
Microwave Opt. Technol. Lett., vol. 48, pp. 2083–2090, 2006.
[2] A. Yariv and P. Yeh, Optical Waves in Crystals. Wiley, 1984.
[3] E. E. Kriezis and S. J. Elston, “Light wave propagation in liquid crystal displays by the 2-D
finite-difference time domain method,” Optics Comm., vol. 177, pp. 69–77, 2000.
[4] M. G. Kivelson and C. T. Russell, Introduction to Space Physics. Cambridge University
Press, 1995.
[5] D. A. Gurnett and A. Bhattacharjee, Introduction to Plasma Physics: With Space and Lab-
oratory Applications. Cambridge University Press, 2005.
[6] J. A. Bittencourt, Fundamentals of Plasma Physics. Springer-Verlag, 2004.
[7] U. S. Inan and A. S. Inan, Electromagnetic Waves. Prentice-Hall, 2000.
[8] J. H. Lee and D. Kalluri, “Three-dimensional FDTD simulation of electromagnetic wave
transformation in a dynamic inhomogeneous magnetized plasma,” IEEE Trans. Ant. Prop.,
vol. 47, no. 7, pp. 1146–1151, 1999.
[9] T. W. Chevalier, U. S. Inan, and T. F. Bell, “Terminal impedance and antenna current distri-
bution of a VLF electric dipole in the inner magnetosphere,” IEEE Trans. Ant. Prop., vol. 56,
no. 8, pp. 2454–2468, 2008.
[10] M. A. Alsunaidi, “FDTD analysis of microstrip patch antenna on ferrite substrate,” IEEE
Microwave Opt. Technol. Lett., vol. 50, pp. 1848–1851, 2008.
12 Some advanced topics
At this point, the reader should have all the necessary tools to create a useful FDTD
model, in any number of dimensions, in almost any material.1 In the remainder of this
book we cover a number of topics of general interest that have been found to be very
useful in a number of FDTD applications. In this chapter, we will discuss modeling
of periodic structures, modeling of physical features smaller than a grid cell size, the
method known as Bodies of Revolution (BOR) for modeling cylindrical structures in 3D,
and finally, the near-to-far field transformation, which is used to extrapolate the far-field
radiation or scattering pattern from a confined FDTD simulation.
Quite a number of problems in numerical modeling involve structures that are periodic in
one or more dimensions. Examples include photonic bandgap structures, which involve
periodic arrays of dielectric structures; or arrays of antennas, in cases where the array
is large enough that it can be analyzed as a periodic structure. These problems can be
reduced to the modeling of a single period of the structure through the methods described
in this section. Figure 12.1 shows a simple example of a periodic structure, consisting
of rows of circular dielectric “balls” that repeat in the y-direction.
The main issue of complexity in modeling periodic structures, and which requires
some ingenuity in the modeling effort, arises from the fact that future values of fields
are involved in the FDTD update equations. To see this, we write the phasor E and H
fields in 2D at the boundaries of unit cells, as shown in Figure 12.1:2
1 In the previous two chapters we covered dispersive and anisotropic materials, and inhomogeneous materials
are simply handled through spatially dependent ϵ, µ, and σ . We did not, however, cover nonlinear materials,
whose material parameters can be functions of the electric field intensity !. For a good background in
nonlinear materials and their implementation in FDTD, we refer the reader to papers by R. W. Ziolkowski
and J. B. Judkins [1, 2] and F. L. Teixeira [3], and the book by Taflove and Hagness [4]. Nonlinear materials
are most often also dispersive, and so both effects must be treated together.
2 Note that we do not have a problem with the " y field component, since its update equation will not require
any fields that cross the boundary.
292 Some advanced topics
y=0
θi ∆y
∆y/2
y=0
Figure 12.1 Periodic structures. The material is periodic in the y-dimension with period y p . We
wish to reduce the modeling requirement in the y-dimension to include only the range from 0 to
yp.
where y p is the width of the unit cell, and k y = k0 sin θi is the y-component of the
k-vector for a plane wave incident at angle θi . The equations above show that the field
values at the top boundary must be the same as those at the bottom boundary, with a
phase shift determined by the incident angle. In the time domain, these become:
"x (x, y = y p + +y/2, t) = "x (x, y = +y/2, t − y p sin θi ) (12.2a)
!z (x, y = 0, t) = !z (x, y = y p , t + y p sin θi ). (12.2b)
Note that the !z field at y = 0 and time t is equal to the same field at y = y p but at
time t + y p sin θi , a future value. This is where periodic structures become tricky. Now,
there are various techniques to try to circumvent this problem, which can be categorized
as direct-field methods and field-transformation methods. The former work directly with
Maxwell’s equations; in the latter, Maxwell’s equations are transformed into nonphysical
intermediate fields (similar to an auxiliary equation approach).
Bc Bs
y = yp
Ac θi As
θi
y=0
x x
Figure 12.2 Sine-cosine method of modeling periodic structures. Fields at the known boundaries
(!z at B and "x at A) are used to find their unknown counterparts.
directly. This is similar to the correction that was made in polar coordinates in Chapter
4 to close the 2π discontinuity.
Sine-cosine method
At any non-normal angle of incidence, we have the problem of requiring future values.
The sine-cosine method is a successful method of attacking this problem, albeit for
a single-frequency source only.3 Consider a point on each of the boundaries at (x, 0)
and (x, y p ). We will need to run the simulation twice; in one simulation, we launch an
incident wave with cos(ωt) dependence, and label those two locations on the periodic
boundary Ac and Bc , as shown in Figure 12.2. In a second simulation, which can be
run in parallel, we launch a wave with sin(ωt) dependence; the boundary points are
labeled As and Bs . The fields should then be 90 degrees out of phase from each other.
The instantaneous fields on the boundaries are combined to form a complex number of
the form !z (Ac ) + j!z (As ), where k y = k sin θi takes into account the incidence angle.
Phase shifts of the form e jk y y p are used to find the fields at the unknown locations (A for
!z and B for "x ). The final field values are found as:
!z (Ac ) = )e{[!z (Bc ) + j!z (Bs )] · e jk y y p } (12.4a)
jk y y p
!z (As ) = -m{[!z (Bc ) + j!z (Bs )] · e } (12.4b)
"x (Bc ) = )e{["x (Ac ) + j"x (As )] · e− jk y y p } (12.4c)
"x (Bs ) = -m{["x (Ac ) + j"x (As )] · e− jk y y p }. (12.4d)
Note that the fields as they are denoted above are merely shorthand: for example,
"x (Ac ) actually refers to the value of "x in the cosine simulation that is just below
the boundary, as shown in Figure 12.1. As mentioned above, this method of solving
periodic boundaries is simple and effective for a single-frequency simulation, but loses
the inherent broadband nature of the FDTD algorithm that is its primary strength.
3 The loss of broadband capability in any FDTD method is not insignificant; in fact, this problem can be
solved in the frequency domain (FDFD) method, which we will introduce in Chapter 14, quite simply.
294 Some advanced topics
A
B
y = yp
"x
Nflat
"y
!z
Nslant
y=0
B t
n
n+1/2
n+1
n+3/2
n+2
n+5/2
n+3
n+7/2
n+4
n+9/2
n+5
n+11/2
Figure 12.3 Angled-update method of modeling periodic structures. The fields in gray are about
to be updated at the same time in the FDTD algorithm, even though they are not defined at the
same absolute time.
Angled-update method
The last direct-field method we will discuss is the angled-update method [4]. The
angled-update method utilitizes the observation that updating particular locations on
the boundary can be delayed until the time when the corresponding field on the other
boundary is useful. This means that at any particular “time step,” field values on the grid
are not all defined at the same absolute time.
Consider Figure 12.3. What appears as the x-axis in this figure is actually time pro-
gression; operations performed at a particular location in y–t space are thus performed
over all x. Notice that !z fields are located at integer locations in both y and t; "x and
" y fields are located at half-integer time steps. All of the field components in black are
known, and those in gray (inside the dashed box) are about to be updated.
We wish to drive the simulation with a plane wave at incident angle θi . We begin by
breaking up the space as shown in Figure 12.3 into a slanted section with Nslant spatial
steps, and a flat section with Nflat spatial steps. As the FDTD algorithm is iterated in
time, the field components shown in gray will be updated at the same time, even though
they do not exist at the same absolute time. Given a spatial step +y, we can see that N y =
Nflat + Nslant = y p /+y. The number of steps required in the slanted section is given by
; √ <
Nslant = ceil (N y − 1) 2 sin θi (12.5)
where the ceiling function ceil means the result in brackets is rounded up to the nearest
integer. Now, the updating procedure can be conducted as follows:
12.1 Modeling periodic structures 295
y = yp
θi = 0
θp ≠ 0
y=0
Figure 12.4 Tilting the structure in a periodic boundary problem. The incident plane wave is
launched normally, but the structure itself is angled at some nonzero angle θ p . A new structure
must be designed for each angle of incidence.
1. Use the field value of "x at A (at time n + 1/2) to update "x at A′ (at some
later time), since these two fields are equal according to the boundary condition in
Equation (12.2a).
2. Use the FDTD algorithm to update !z at B, which requires "x at A′ .
3. Use this value of !z at B to update !z at B ′ , which are equal according to
Equation (12.2b).
4. Update each of the fields along the slant boundary (in gray) sequentially, starting
from the earliest in time (i.e., from the lower left to the upper right), using the FDTD
algorithm.
5. Update each of the fields along the flat boundary (in gray) with the usual FDTD
algorithm.
The steps above form a single iteration of the updating procedure, and must then be
repeated. Note that the method is limited to incident angles of less than 45 degrees.
This method has the distinct advantage over the sine-cosine method in that it is
broadband, and not confined to a single frequency. Furthermore, the stability criterion is
the same as for the usual FDTD method, and no extra fields need to be stored for earlier
time steps. All that is required is careful planning in setting up the update equations, and
recognition that for a given snapshot of the simulation results, not all of the field values
are defined at the same absolute time!
This simple solution to the angled incidence problem can be easier to implement
in many cases, but has the drawback that the periodic structure must be redefined for
each angle of incidence. Furthermore, in cases where the structures fit well with the
orthogonal FDTD grid (i.e., if they are small squares or cubes), these rotated structures
will now result in staircasing along the edges.
Now, we have a set of coupled partial differential equations, like Maxwell’s equations,
that we wish to solve on an FDTD grid. However, an added complexity arises because,
unlike in Maxwell’s equations, there are time derivatives and spatial derivatives of the
same fields in the same equations (12.8a and 12.8c above). We will also find that stability
must be re-analyzed compared to the normal FDTD update equations, in part because of
the time and space fields but also because of the factor multiplying the time derivatives in
each of the Equations (12.8). As a result, the stability criterion becomes angle-dependent
and thus a function of θi .
It can be shown [4] that for this method, the analytical dispersion relation is
4
vp sin α sin θi + (sin α sin θi )2 + cos2 θi
= (12.9)
c cos2 θi
where α is the propagation angle of a scattered field, defined such that k x,scat =
(ω/v p ) cos α and k y,scat = (ω/v p ) sin α. Note here that multiple α’s are possible for
a single incidence angle due to different scattering components. It is also of interest that
for θi = 0 we find v p = c for any α; there is no dispersion at normal incidence. This
relation, Equation (12.9), will be useful to compare the two methods for discretizing the
update equations that are described below.
As mentioned above, the stability of the field-transformation methods is modified
compared to the usual FDTD method. It has been shown that a good approximation,
which turns out to be conservative, is given by:
v p +t 1 − sin θi
≤ √ (12.10)
+x D
where D is the dimensionality of the problem. At normal incidence, this reduces to the
usual CFL condition; √ at, say, 45-degree incidence, the stability criterion is now more
strict by a factor of 2.
Now, we are still left with the problem of mixed time and spatial derivatives in our
coupled PDEs; these are dealt with by a number of methods, which are briefly discussed
next.
Multiple-grid method
The first approach for discretizing Equations (12.8) involves using multiple grids,
with the two grids having ' and 0 fields defined at different spatial and temporal
locations. The grids are defined as shown in Figure 12.5. The second grid is merely
shifted one-half spatial cell in the direction of periodicity (y) and one-half time step
compared to the first grid.
The two grids in Figure 12.5 are solved simultaneously. The hollow-arrowed fields
('z1 , 0x2 , and 0 y2 ) are solved at time step n, while the complementary fields are solved
at time step n + 1/2. There are thus six update equations for the 2D case. We begin by
298 Some advanced topics
z z
Time step n Time step n+1/2
(i,j) (i,j)
0x1 'z2
0y1 'z1
y 0y2 y
x x 0x2
i+1/2 i+1/2
j+1/2 (i+1,j+1) j+1/2 (i+1,j+1)
Figure 12.5 Multi-grid placement of field components. Note that neither cell is the same as the
standard Yee cell, but field components are located such that the difference equations are
symmetric.
updating the n + 1/2 fields using their previous values and known fields at time n:
where A = 1/(µr ϵr − sin2 θi ) and, as usual, c = (µ0 ϵ0 )−1/2 . We then update the second
grid using the fields from the first grid:
3n+1 3n # 3 3n+1/2 $
3 3 ϵr c+t 3n+1/2 3
0x2 3 = 0x2 3 − A 'z2 3 − 'z2 3 (12.12a)
i, j i, j +y i, j i, j−1
# 3 3 $
c+t 3n+1/2 3n+1/2
+ A sin θi 0 y1 3 − 0 y1 3
+x i, j−1 i−1, j−1
# 3 3 $
c+t 3 n+1/2 3n+1/2
− A sin θi 0x1 3 − 0x1 3
+y i, j i, j−1
3n+1 3n # 3 3n+1/2 $
3 3 c+t 3n+1/2 3
0 y2 3 = 0 y2 3 − 'z2 3 − 'z2 3 (12.12b)
i, j i, j µr +x i+1, j i, j
12.1 Modeling periodic structures 299
Lossy materials can be incorporated into this method quite simply [4], as was done for
the standard FDTD equations. This involves terms of the form σ η0 'z and σ m /η0 0x,y
(for magnetic losses) added to the left-hand side of the transformed Maxwell’s equa-
tions, which can then be updated by including spatial and temporal averaging where
appropriate.
This multiple-grid method has a number of relatively minor disadvantages, the first
being the fact that we now have six update equations rather than only three. In three
dimensions, the number of equations increases to 24: each of the usual six field compo-
nents becomes four components, and four grids are required. However, this is usually
more than compensated for by the fact that the space has been reduced in both x and y
dimensions to a single period of the structure.
The second major disadvantage is that the two grids (in the 2D case) can become
decoupled from one another, similar to how the TE and TM modes are decoupled. It
is possible, in fact, to excite only one of the grids, or to have scattering objects which
affect only one of the grids.
Split-field method
The second field-transformation method for modeling periodic structures is the split-
field method. This method, as the name implies, requires that the ' and 0 fields are
“split” into two component fields, but which are placed on the same grid; these split fields
are operated on separately and then later added back together. This scheme parallels the
split-field PML that was introduced in Chapter 9.
Recall that as with the multiple-grid method, the goal is to create a set of equations
which decouple the spatial and temporal partial derivatives. We begin with the time
domain versions of Equations (12.7) rather than (12.8), and rather than solving for the
time derivatives on the left-hand side, we instead eliminate the time-derivative terms
from the right-hand side by the introduction of new fields:
sin θi
0x = 0xa + 'z (12.13a)
µr
sin θi
'z = 'za + 0x . (12.13b)
ϵr
These are then substituted into Equations (12.7) to find:
µr ∂0xa ∂'z
=− (12.14a)
c ∂t ∂y
µr ∂0 y ∂'z
= (12.14b)
c ∂t ∂x
ϵr ∂'za ∂0 y ∂0x
= − . (12.14c)
c ∂t ∂x ∂y
300 Some advanced topics
This set of equations has successfully decoupled the spatial and temporal derivatives,
as desired, so that each equation has only temporal derivatives of ' or 0 and only
spatial derivatives of the other field. The method, now, is to use Equations (12.14) to
determine the partial (subscripted “xa” and “za”) fields from the total fields, and then
to use Equations (12.13) to find the total fields from the partial fields. The problem
remains that Equations (12.13) have total fields on the right-hand sides. Two similar, but
not equivalent, approaches are available to circumvent this problem, both of which use
Equations (12.13) together to simplify each other:
1. Substitute Equation (12.13b) into Equation (12.13a) to eliminate 'z . This yields the
two successive equations
# $
sin2 θi sin θi
0x 1 − = 0xa + 'za (12.15a)
µr ϵr µr
ϵr 'z = ϵr 'za + 0x sin θi . (12.15b)
2. Substitute Equation (12.13a) into Equation (12.13b) to eliminate 0x . This yields two
alternative successive equations
# $
sin2 θi sin θi
'z 1 − = 'za + 0xa (12.16a)
µr ϵr ϵr
µr 0x = µr 0xa + 'z sin θi . (12.16b)
The first strategy, as it turns out, has a slightly more relaxed stability limit; also, the
two methods have different dispersion characteristics. Using the first strategy, we can
discretize Equations (12.14) and (12.15) to find our sequence of five update equations
which, in the order they would be updated, are:
3n+1/2 3n−1/2 # 3 3n $
3 3 c+t 3n 3
0xa 3 = 0xa 3 − 'z 3 − 'z 3 (12.17a)
i, j+1/2 i, j+1/2 µr +y i, j+1 i, j
3n+1/2 3n−1/2 # 3 3n $
3 3 c+t 3n 3
0y 3 = 0y 3 − 'z 3 − 'z 3 (12.17b)
i+1/2, j i+1/2, j µr +x i+1, j i, j
3n+1/2 3n−1/2 # 3 3n $
3 3 c+t 3n 3
'za 3 = 'za 3 + 0y 3 − 0y 3
i, j i, j ϵr +x i+1/2, j i−1/2, j
# 3 3 $
c+t 3n 3n
− 0x 3 − 0x 3 (12.17c)
ϵr +y i, j+1/2 i, j−1/2
3n+1/2 µr ϵr 3n+1/2
3 3
0x 3 = 0 xa 3
i, j+1/2 µr ϵr − sin2 θi i, j+1/2
# 3n+1/2 3n+1/2 $
ϵr sin θi 3 3
+ 'za 3 + 'za 3 (12.17d)
2(µr ϵr − sin2 θi ) i, j+1 i, j
3n+1/2 3n+1/2 sin θ # 3n+1/2 3n+1/2 $
3 3 i 3 3
'z 3 = 'za 3 + 0x 3 + 0x 3 . (12.17e)
i, j i, j 2ϵr i, j+1/2 i, j−1/2
12.1 Modeling periodic structures 301
Note the spatial averaging of fields in the last two equations. This implementation
introduces additional computation in that all fields 'z , 0x , and 0 y must be updated
every half time step, and storage of the fields is required two half time steps back;
i.e., the fields must be known at times n and (n − 1/2) in order to update time
step (n + 1/2).
The stability criterion for this method can be shown to be (in 2D):
v p +t cos2 θi
≤4 . (12.18)
+y 1 + cos2 θi
where β is a parameter that is dependent on the incident angle, and has been optimized
empirically:
1
βopt = .
2 cos2 θi
This provides a brief introduction to the methods used to analyze periodic structures
in the FDTD method. For further reading and example simulations, we refer the reader
to papers by Roden et al. [6] and Harms et al. [7], as well as the book by Taflove and
Hagness [4].
302 Some advanced topics
Often one finds that the structures we wish to model in FDTD have scale sizes smaller
than the local cell size. These might be thin wires (as described in Chapter 7) or thin
plates, or curved structures that are poorly modeled in Cartesian or other coordinate
systems. It is possible to model these structures more accurately in a number of ways,
the most obvious of which are nonuniform grids and nonorthogonal grids. Nonuniform
orthogonal grids have variation of +x, +y, and/or +z along the respective direction,
but maintain orthogonal cell shapes (while not necessarily cubes). Nonorthogonal grids
use mesh spacings that are irregular and do not fit the standard coordinate systems.
These methods have been implemented with great success in a variety of applications;
we will briefly discuss nonuniform grids in more detail along with other types of grids
in Chapter 15. The downside of nonuniform grids is that the number of grid cells will
increase, although depending on the structure, this can be a relatively small increase;
however, the time step is determined by the smallest grid cell size, so the total simulation
time may increase considerably.
In this section, we discuss a different method for modeling small-scale structures
that allows us to remain within the uniform, orthogonal grid space. The methods use
local subcell gridding around the structures of interest, but maintain the normal grid
elsewhere. These can be very valuable in modeling curved structures, thin wires, and
thin sheets, and these are the applications we will discuss in this section.
The general approach of this method is to use Ampère’s law and/or Faraday’s law
in integral form, integrated on an array of orthogonal contours rather than cells; this
is similar to the representation in Figure 2.3 in Chapter 2. Consider the extension of
Figure 2.3 into three dimensions, yielding a 3D array of interlinked loops. The presence
of irregular structures is accounted for by modifying the integral results on the relevant
contours. Furthermore, contours can be more easily deformed to conform with the
surface of structures. In the following subsections, we will see this contour method
applied to a number of interesting structures.
!x = 0 !x = 0
µ2, ϵ 2
special "z
!y = 0
!x = 0 !x = 0 e
special
"z
!y = 0
!x = 0
!y = 0
µ1, ϵ1
S !x |i+1/2,j+1,k
"z |i+1/2,j+1/2,k
!y |i,j+1/2,k
!y |i+1,j+1/2,k
f ∆2
!x |i+1/2,j,k
Figure 12.6 Simple contour-path models. The physical boundary we wish to approximate is
shown with the thick, curved line; the usual staircase pattern is shown with a dashed line, while
the diagonal split cell is shown with a solid line. The enlarged cell shows how the average
properies model is applied to a cell.
we find
⎛ 3n+1/2 3n−1/2 ⎞
" " 3 3
"z 3 −"z 3
∂" ⎜ i+1/2, j+1/2,k i+1/2, j+1/2,k ⎟ +2
µ · dA = ! · d S −→ µ0 ⎝ ⎠·
∂t +t 2
'()*
1/2 area of cell
⎛ ⎞
⎜ 3n 3n 3n 3n ⎟
⎜ 3 3 3 3 ⎟
= ⎜!x 3 − !x 3 + !y 3 −! y 3 ⎟+
⎝ i+1/2, j+1,k i+1/2, j,k i, j+1/2,k i+1, j+1/2,k ⎠
' () * ' () *
=0 in PEC =0 in PEC
304 Some advanced topics
where + = +x = +y is the spatial grid size. In these equations we have included the
k index to show that it can denote the 2D TE case or a slice of the 3D case. Thus, we
simply invoke the modified update Equation (12.21) at the center of cells that are split
diagonally. Note that this derivation for the TE case can easily be adapted to the TM case
that is found more often in this book, but that the TE case is more physically satisfying,
since we are setting tangential electric fields to zero.
where f is the fraction of the cell that lies in region 1. Note that the factor in square
brackets on the left-hand side replaces µ0 +2 , the permeability times the area of the cell,
with the sum of two such “areas,” where to each is applied the appropriate value of µ.
The update equation for this method becomes:
3n+1/2 3n−1/2 +t
3 3
"z 3 = "z 3 + (12.23)
i+1/2, j+1/2,k i+1/2, j+1/2,k [µ1 f + µ2 (1 − f )] +
# 3 3n 3n 3n $
3n 3 3 3
× !x 3 − !x 3 + !y 3 −! y 3 .
i+1/2, j+1,k i+1/2, j,k i, j+1/2,k i+1, j+1/2,k
12.2 Modeling fine geometrical features 305
!x
y+∆/2
!y = 0 "z !y = 0
y
!x C3
y–∆/2
!x = 0 !x
y0+∆/2
y0+α
"z !y "z
!y !y !y y0
!x !x
C1 y0–∆/2
C2
Figure 12.7 Narrow slot model. Faraday’s law contours are drawn around the locations shown in
order to derive update equations at those locations. Note that each of the three contours shown
must be treated with special consideration.
1. On contour C1 , which is away from the slot region but borders on the conductor, we
apply Faraday’s law as before, where now the area A has dimensions +(+/2 + α),
and the contour S has edges of length +/2 + α along the y-direction. Noting that
306 Some advanced topics
E x |x,y0 ++/2 = 0 along the top edge of the grid cell, we find:
# 3 3n $ 3n
3n 3 3
3n+1/2 3n−1/2 ! y 3 −! x 3 · (+/2 + α) − ! x3 +
3 3 x−+/2,y0 x++/2,y0 x,y0 −+/2
"z 3 = "z 3 ++t .
x,y0 x,y0 µ0 +(+/2 + α)
(12.24)
Note that this equation can apply to any simulation where the conductor border
crosses a grid cell, as long as the conductor boundary is parallel to one of the cardinal
directions.
2. On contour C2 , at the aperture of the slot, none of the fields are zero, but we must
take the geometry into account as we integrate along the contour, using the correct
segment lengths and area to apply to S and A. This yields the update equation:
3n+1/2 3n−1/2 +t
3 3
"z 3 = "z 3 + (12.25)
x0 ,y0 x0 ,y0 µ0 [(+/2 + α)+ + (+/2 − α)g]
- 3 3n # 3 3n $ .
3n 3 3n 3
× !x 3 g − !x 3 + + !y 3 −! y 3 · (+/2 + α)
x0 ,y0 ++/2 x0 ,y0 −+/2 x0 −+/2,y0 x0 ++/2,y0
where the denominator in square brackets is the area of the region outside the PEC.
3. On contour C3 , within the slot, the integral of the contour leaves only the !x compo-
nents along segments of S with length g, so the update equation becomes:
# 3 3n $
3n 3
3n+1/2 3n−1/2 !x 3 −!x 3 g
3 3 x0 ,y++/2 x0 ,y−+/2
"z 3 = "z 3 ++t . (12.26)
x0 ,y x0 ,y µ0 g+
Note that the Equations (12.24)–(12.26) above have not been fully simplified; terms
can cancel such as the g terms in Equation (12.26). However, they have been left this
way to emphasize the Faraday’s law application. In the numerator on the right-hand
side of each equation is the line integral around the respective contours; this simplifies
as field values multiplied by the respective line lengths that are outside the PEC. In
the denominators are the areas within the contours; more accurately these would be
multiplied on the left-hand side, as the left-hand side represents the surface integral of
∂"/∂t within the contour. We have moved them to the right-hand side denominator in
order to yield usable update equations.
Note that similar procedures can be applied in the 2D TM mode or in 3D by following
similar procedures, and similarly, a technique can be derived where the material is not
PEC but a real dielectric. Some of these ideas will be explored in the problems at the
end of this chapter.
f –∆x f !x f
∆y
A1 !x S A2 !x
l A2
"z !y !y !y
"z "z
g =0 g
y=0
–∆y
x=0 ∆x
CP CP CP
curved surface in 3D cuts across grid cells at arbitrary angles, and in each cell, these cuts
are approximated as straight edges. Doing so simplifies our mathematical description of
the area A and contour S of the resulting polygons.
As shown in Figure 12.8, there are three different types of cell cuts that each require
unique treatment. In this figure, the PEC is to the right of C P , and the shaded region is
the part of the cell of interest that is outside the PEC. Note that we are looking at the
TM mode in 2D, or, equivalently, a TEz slice of a 3D space; similar constructions are
necessary for the complementary update equations.
1. Consider Figure 12.8a. We wish to find the corrected update equation for the top left
cell, whose area in free space is given by A1 . If we apply Faraday’s law and integrate
the contour, noting that ! y |0,+y/2 = 0 since it is inside the PEC, we find
3n+1/2 3n−1/2
3 3
"z 3 = "z 3 (12.27)
−+x/2,+y/2 −+x/2,+y/2
# 3n 3n 3n $
+t 3 3 3
+ !y 3 +y + !x 3 f − !x 3 g
µ0 A1 −+x,+y/2 −+x/2,+y −+x/2,0
where A1 is the area of the shaded region, which upon inspection of the geometry is
equal to
Note that this integration has neglected the small area S in the top right cell. It
has been shown that for stability, this region must be small, and the CFL stability
condition is affected by the size of this region; for details pertaining to this stability
requirement, see [10].
308 Some advanced topics
2. In Figure 12.8b, we have a different geometry, where the cut through the cell yields
the small triangle A2 in the top right cell to be accounted for. For the top left cell, all
four of the electric field components are outside the PEC, so it can be updated in the
usual manner, after adjusting for the area of the region. Turning our attention to the
small shaded triangular cell, we need to update "z in the center of the adjacent cell
on the right, despite the fact that it is inside the PEC. Only two sides of the triangle
are in free space (outside the PEC), so the line integral yields
3n+1/2 3n−1/2 # 3 3n $
3 3 +t 3n 3
"z 3 = "z 3 + !y 3 l + !x 3 f (12.29)
+x/2,+y/2 +x/2,+y/2 µ0 A2 0,+y/2 +x/2,+y
where the area A2 = f l/2. It is important to note that in this case, we are updating a
field "z that is inside the PEC. Also, the !x component used may be zero if it lies
within the PEC, as in the case shown, but in other geometries might be outside C P .
3. In Figure 12.8c, we are interested in A2 of the top right cell again, but this time we
have three sides of the polygon to deal with. The only difference between this and the
first case is the small region S in the first case, which, as mentioned earlier, affects
stability. Here, we have the same update equation (adjusted for the field locations
shown):
3n+1/2 3n−1/2 # 3 3n 3n $
3 3 +t 3n 3 3
"z 3 = "z 3 + !y 3 +y + !x 3 f − !x 3 g .
+x/2,+y/2 +x/2,+y/2 µ0 A1 0,+y/2 +x/2,+y +x/2,0
(12.30)
Similar to Figure 12.8b, the "z component of interest may or may not be inside the
PEC, but it must be updated regardless. The surrounding ! components, on the other
hand, will be zero if they are inside the PEC and updated normally if they are not.
Material structures
The Dey-Mittra technique is also easily adapted to material structures other than PEC.
The method here simply involves computing a local effective permittivity or permeability
near the boundary of the structure, similar to the average properties model described
earlier. Simply put, in a particular 3D cell located at i, j, k that is sliced by a material
boundary, yielding volume V1 in the region with ϵ1 , and V2 in the region with ϵ2 , the
“effective permittivity” of this cell is
ϵ1 V1 + ϵ2 V2
ϵeff = (12.31)
V1 + V2
where V1 + V2 = +x+y+z, the volume of the cell. This effective permittivity is then
used in the appropriate update equations for ! components in the cell. A similar expres-
sion is used when the material boundary separates two materials with different perme-
abilities µ1 and µ2 .
12.2 Modeling fine geometrical features 309
i+1
i+1/2
i
i* !x,i εs d
i–1 ∆
"y
!x
!z
Figure 12.9 The thin-sheet model. A thin material sheet with thickness d and parameters ϵs and
σs cuts through the FDTD cell at some arbitrary location. Update equations must be modified
inside the sheet and in the cell surrounding the sheet.
The equations for !x,o and !x,i look exactly as they would normally:
3n+1 3n +t 3n+1/2
3 3 3
!x,o 3 = !x,o 3 + [∇ × "] yz 3 (12.32a)
i−1/2, j,k i−1/2, j,k ϵ0 i−1/2, j,k
3n+1 # $ 3n # $ 3n+1/2
3 2ϵs − σs +t 3 2+tσs 3
!x,i 3 ∗ = !x,i 3 ∗ + [∇ × "] yz 3 .
i , j,k 2ϵs + σs +t i , j,k 2ϵs + σs +t i−1/2, j,k
(12.32b)
Note the curl operator is applied in the y–z plane, implying differences across z and
y. Also, since i ∗ corresponds the closest with (i − 1/2) in the grid, the curl operator
applies at the (i − 1/2) level in x. We next use Ampère’s law contours that cross the
sheet to find the update equations for ! y and !z near the sheet:
3n+1 # $ 3n # $ 3n+1/2
3 2ϵav − σav +t 3 2+tσav 3
!y 3 = !y 3 + [∇ × "]x z 3
i, j+1/2,k 2ϵav + σav +t i, j+1/2,k 2ϵav + σav +t i, j+1/2,k
(12.33a)
3n+1 # $ 3n # $ 3n+1/2
3 2ϵav − σav +t 3 2+tσav 3
!z 3 = !z 3 + [∇ × "]x z 3
i, j,k+1/2 2ϵav + σav +t i, j,k+1/2 2ϵav + σav +t i, j,k+1/2
(12.33b)
where, as in the Dey-Mittra model, ϵav and σav are defined as averaged quantities, taking
into account the thickness of the sheet:
# $
d d d
ϵav = 1 − ϵ0 + ϵs and σav = σs . (12.34)
+x +x +x
Now, the "x components do not require any modification from the usual free-space
FDTD equations, because a contour circling these components will lie parallel to the
sheet and below it. The " y and "z components, however, are tangential to the sheet (and
thus have contours perpendicular to the sheet), and those contours include both !x,o and
!x,i terms. The update equations become:
3n+1/2 3n−1/2 -# $
3 3 +t+x − d ∂!x,o 33n
"z 3 = "z 3 + 3 (12.35a)
i−1/2, j+1/2,k i−1/2, j+1/2,k µ0 +x ∂ y i−1/2, j+1/2,k
.
d ∂!x,i 33n ∂! y 33n
+ 3 − 3
+x ∂ y i ∗ , j+1/2,k ∂ x i−1/2, j+1/2,k
3n+1/2 3n−1/2 -# $
3 3 +t +x − d ∂!x,o 33n
"y 3 = "y 3 + 3 (12.35b)
i−1/2, j,k+1/2 i−1/2, j,k+1/2 µ0 +x ∂z i−1/2, j,k+1/2
.
d ∂!x,i 33n ∂!z 33n
+ 3∗ − 3
+x ∂z i , j,k+1/2 ∂ x i−1/2, j,k+1/2
where the partial derivatives are implemented with the usual centered differencing at the
relevant location.
12.3 Bodies of revolution 311
y
r
ϕ
TM21 TE22
a x
z
Figure 12.10 Modes in a cylindrical waveguide. Electric field lines are solid and magnetic field
lines are dashed. The modes shown are not symmetric in either radius r or azimuth φ; but the
φ-dependence can be written analytically. Adapted from [12].
In Section 4.6 we introduced the FDTD algorithm for cylindrical and spherical coor-
dinates. Among the choices for cylindrical coordinates in 2D is the case where the
simulation is symmetric in azimuth, and we can then reduce the simulation space to an
r –z plane. On the other hand, without cylindrical symmetry, we are forced to use the full
3D cylindrical FDTD method.
However, in some cases, the simulation space may not be azimuthally symmetric, but
a simulation can be designed so that the full 3D method is not required. The Bodies
of Revolution (BOR) method is used in modeling systems in cylindrical coordinates
where the objects have cylindrical symmetry, but the electromagnetic fields resulting
may not. For example, Figure 12.10 shows a number of mode patterns inside a cylin-
drical waveguide (i.e., an optical fiber); one can observe that none of these patterns are
azimuthally symmetric, but their azimuthal dependence can be written as a sine or cosine.
By writing the azimuthal φ variation analytically as a Fourier series, we can reduce the
numerical scheme to the equivalent of a 2D simulation. This algorithm is sometimes
labeled “2.5-dimensional”; each simulation run yields a solution for a single Fourier
312 Some advanced topics
!z
z3/2 ϕ1/2 "r
"r "φ
Off-axis cell
Figure 12.11 The cylindrical coordinate FDTD cell used for bodies of rotation methods. Note the
placement of fields on-axis for the unique on-axis cells. The 3D cylindrical coordinate Yee cell
collapses to the 2D cell shown on the right when the azimuthal dependence is removed.
mode of azimuthal variation, and so a sequence of runs must be computed until the
desired number of Fourier modes are included.
Derivation of the bodies of revolution method begins with Ampère’s and Faraday’s
laws in integral form,
! "" ""
∂
" · dl = σ! · dS + $ · dS (12.36a)
C S ∂t S
! ""
∂
! · dl = − # · d S. (12.36b)
C ∂t S
Next, we write the electric and magnetic fields in terms of Fourier series with an
arbitrary number of sine and cosine expansions:
∞ ;
G <
!= !u cos(mφ) + !v sin(mφ) (12.37a)
m=0
∞ ;
G <
"= "u cos(mφ) + "v sin(mφ) (12.37b)
m=0
where the u and v subscripts are simply to keep track of the cosine and sine terms of the
Fourier expansion.
The unit cell that we will use is shown in Figure 12.11. Similar to our analysis of the
FDTD cylindrical method in Section 4.6, the cells on-axis (at r = 0) will require special
consideration, so we will leave those for last. For the off-axis cells, we compute each of
12.3 Bodies of revolution 313
the fields by substituting Equations (12.37) into (12.36). Starting with the !r fields, we
integrate along the edge of the rightmost face in Figure 12.11 (i.e., the face surrounding
!r at r = r3/2 ).4 We have:
" z3/2 " φ3/2
∂ 9 :
ϵ !r,u (φ1 , z 1 , t) cos mφ + !r,v (φ1 , z 1 , t) sin mφ r3/2 dφdz (12.38)
∂t z1/2 φ1/2
" z3/2
9 :
= "z,u (φ3/2 , z 1 , t) cos mφ3/2 + "z,v (φ3/2 , z 1 , t) sin mφ2 dz
z 1/2
" φ1/2 9 :
+ "φ,u (φ1 , z 3/2 , t) cos mφ + "φ,v (φ1 , z 3/2 , t) sin mφ r3/2 dφ
φ3/2
" z 1/2 9 :
+ "z,u (φ1/2 , z 1 , t) cos mφ1/2 + "z,v (φ1/2 , z 1 , t) sin mφ1 dz
z 3/2
" φ3/2 9 :
+ "φ,u (φ1 , z 1/2 , t) cos mφ + "φ,v (φ1 , z 1/2 , t) sin mφ r3/2 dφ
φ1/2
where it is understood that each of the field components lies at r = r3/2 . We can
go ahead and integrate this equation, assuming the fields to be constant along their
respective edges. The resulting equation has terms in sin mφ1/2 , sin mφ3/2 , cos mφ1/2 ,
and cos mφ3/2 , which can be grouped into separate equations, yielding the following
four equations:
; r3/2 r3/2 <
−+z"z,u (φ1/2 , z 1 , t) − "φ,v (φ1 , z 3/2 , t) + "φ,v (φ1 , z 1/2 , t) cos mφ1/2
m m
- .
r3/2 ϵ+z ∂
= !r,v (φ1 , z 1 , t) cos mφ1/2 (12.39a)
m ∂t
; r3/2 r3/2 <
+z"z,u (φ3/2 , z 1 , t) + "φ,v (φ1 , z 3/2 , t) − "φ,v (φ1 , z 1/2 , t) cos mφ3/2
m m
- .
r3/2 ϵ+z ∂
= − !r,v (φ1 , z 1 , t) cos mφ3/2 (12.39b)
m ∂t
; r3/2 r3/2 <
−+z"z,v (φ1/2 , z 1 , t) − "φ,u (φ1 , z 3/2 , t) + "φ,u (φ1 , z 1/2 , t) sin mφ1/2
m m
- .
r3/2 ϵ+z ∂
= !r,u (φ1 , z 1 , t) sin mφ1/2 (12.39c)
m ∂t
; r3/2 r3/2 <
+z"z,v (φ3/2 , z 1 , t) + "φ,u (φ1 , z 3/2 , t) − "φ,u (φ1 , z 1/2 , t) cos mφ3/2
m m
- .
r3/2 ϵ+z ∂
= − !r,u (φ1 , z 1 , t) cos mφ3/2 . (12.39d)
m ∂t
Now, we can remove the φ dependence of each of the field components when we
collapse the problem to the analysis of a single 2D Fourier mode. This is shown in
4 In the grid locations, we have left off the i, j, k labels for simplicity; in reality, the locations are mapped
such that r1 → ri , r3/2 → ri+1/2 , etc., as shown.
314 Some advanced topics
Figure 12.11: the 3D cell is reduced to the 2D cell on the right, and φ is no longer
defined. After canceling the sin mφ and cos mφ terms from these equations, we can
see that the first two equations are identical, as are the last two, so we really have
two independent equations for solving !r . Similar equations can be derived for the !φ
component using the nearest face in Figure 12.11 (the face at φ3/2 ), and for the !z
component using the topmost face (at z 3/2 ). The complete set of equations is given in
[4]. Ultimately, we are left with two sets of six equations, the first of which is shown
below (note that we have now reverted back to the usual i, j, k indexing):
1 3 3 2
∂ 3
3 1 "φ,v 3i+1/2,k−1/2 −"φ,v 3i+1/2,k+1/2 m 3
!r,v 3 = − "z,u 3i+1/2,k
∂t i+1/2,k ϵ +z ϵri+1/2
(12.40a)
1 3 3 3 3 2
∂ 3
3 1 "z,u 3i−1/2,k −"z,u 3i+1/2,k "r,u 3i,k+1/2 −"r,u 3i,k−1/2
!φ,u 3 = + (12.40b)
∂t i,k ϵ +r +z
∂ 3 2 ; 3
3
!z,v 3 = 2 2
ri+1/2 "φ,v 3i+1/2,k+1/2
∂t i,k+1/2 ϵ(ri+1/2 − ri−1/2 )
3 3 <
− ri−1/2 "φ,v 3i−1/2,k+1/2 + m+r "r,u 3i,k+1/2 (12.40c)
1 3 3 2
∂ 3 1 !φ,u 3i,k+1 −!φ,u 3i,k m 3
3
"r,u 3 = − !z,v 3i,k+1/2 (12.40d)
∂t i,k+1/2 µ +z µr
1 3 3 3 3 2
∂ 3 1 ! z,v
3 −! z,v
3 ! r,v
3 −! r,v
3
3 i+1,k+1/2 i,k+1/2 i+1/2,k i+1/2,k+1
"φ,v 3 = +
∂t i+1/2,k+1/2 µ +r +z
(12.40e)
∂ 3 2
3
"z,u 3 = 2 2
∂t i+1/2,k µ(ri+1/2 − ri−1/2 )
; 3 3 3 <
× ri+1/2 !φ,u 3i,k −ri−1/2 !φ,u 3i+1,k +m+r !r,v 3i+1/2,k . (12.40f )
Notice in the above set of six equations that we have left off the φ index in the
subscripts; thanks to the fact that we have eliminated the φ-dependence by using Fourier
series, there are no longer any φ indices! The 3D cell at the center of Figure 12.11 has
now been “collapsed” in the φ-direction to the 2D cell shown at the right. In this 2D
cell, some of the fields are co-located, as shown.
A second set of six equations results with the reciprocal terms used, i.e., exchanging
!r,u anywhere it is found by !r,v , and so forth. This second set of six equations is
simply rotated 90 degrees from the first set, and is independent in isotropic media. We
can choose the first set to difference without loss of generality. By applying simple
time-differencing on the left-hand side, we have our discrete update equations; the terms
on the right-hand side are already differenced.
12.3 Bodies of revolution 315
On-axis cells
To deal with the on-axis field components at the left of Figure 12.11, we use the contours
shown in the figure. Note that !φ is defined on the axis and not at the center of the “cell”
as one might expect. To compute !z at top left, we integrate the three-sided contour on
the top, which involves two "r terms and one "φ term. After integrating and collecting
terms, we are left with four equations, two of which are redundant:
9 :
mr0 "r,u (0, z 3/2 , t) + r0 "φ,v (r0 , z 3/2 , t) cos mφ1/2
- 2 .
ϵr0 ∂
= !z,v (0, z 3/2 , t) cos mφ1/2 (12.41a)
2 ∂t
9 :
mr0 "r,v (0, z 3/2 , t) − r0 "φ,u (r0 , z 3/2 , t) sin mφ1/2
- .
ϵr02 ∂
= − !z,u (0, z 3/2 , t) sin mφ1/2 (12.41b)
2 ∂t
where r0 = +r/2 is the radius at the location of the first "z component. Since we are on
axis, we would expect in this case that there is no azimuthal dependence, i.e. m = 0; this
eliminates the "r contribution from the equations above, and the two equations become
identical apart from the u and v fields. We are thus left with the single difference equation
for !z :
∂ 2
!z,v (r = 0, z 3/2 , t) = "φ,v (r0 , z 3/2 , t) (12.42)
∂t ϵr0
which yields the update equation,
3n+1 3n 4+t 3n+1/2
3 3 3
!z 3 = !z 3 + "φ,v 3 (12.43)
0,k+1/2 0,k+1/2 ϵ+r i=1/2,k+1/2
where again +r = 2r0 to remain consistent with the off-axis cells. Note that this equation
is the same as one would use in a standard 2D cylindrical coordinate FDTD simulation
for the r = 0 update, as derived in Section 4.6.
We also need to find !φ on the axis, and this uses the rectangular contour at the left
of Figure 12.11. This component, it turns out, is zero for m ̸= 1; notice that in Figure
12.10, of the modes shown, only the TE11 mode has nonzero electric fields at the origin
in the r –φ plane shown. This contour again involves three terms, two "r terms and one
"z term, since "z is zero on the axis for m = 1. Following the same technique as above,
and assuming the !φ field is uniform over the area of the cell from r = 0 to r0 = +r/2,
we find the differential equation as:
+r ∂ +r 9 :
ϵ+z !φ,v (0, z 1 , t) = −+z"z,v (r0 , z 1 , t) + "r,v (0, z 3/2 , t) − "r,v (0, z 1/2 , t)
2 ∂t 2
(12.44)
which can be manipulated to find the update equation:
3n+1 3n # 3 3n+1/2 $
3 3 2+t 33n+1/2 +t 3n+1/2 3
!φ 3 = !φ 3 − "z 3 + "r 3 −"r 3 . (12.45)
0,k 0,k ϵ+r 1/2,k ϵ+z 0,k+1/2 0,k−1/2
316 Some advanced topics
Finally, we have the "r term on the axis to deal with, which is also zero for m ̸= 1.
Consider the "r component at the very top left corner of the cell shown in Figure 12.11.
We start from Faraday’s law and substitute the Fourier expanded fields with m = 1 to
find:
∂ 1
− µ"u = ∇ × !u + φ̂ × !v (12.46a)
∂t r
∂ 1
− µ"v = ∇ × !v − φ̂ × !u . (12.46b)
∂t r
Using the first equation above for consistency with our earlier analysis, and appling
differencing techniques, we find the update equation:
3n+1/2 3n−1/2 3n # 3 3n $
3 3 +t 3 +t 3n 3
"r 3 = "r 3 − !z 3 + !φ 3 −!φ 3 . (12.47)
0,k+1/2 0,k+1/2 µ+r 1,k+1/2 µ+z 0,k+1 0,k
Note that in the equation above, we have used the !z component at index i = 1,
or at r = +r , rather than at r = 0. This is because Faraday’s law, as applied in
Equations (12.46), gives a measure of the derivative of !z in the φ direction, although
the resulting equation looks like simply the value of !z . For m > 0 we found that !z on
the axis is equal to zero, so for this approximation we use the nearest !z component,
namely at r = +r .
As a final note, remember that these solutions apply to a single mode m, and that
the simulation must be run once for each mode of interest; the variable m appears in
Equations (12.40), so we should expect different solutions for each mode. However,
this can be considerably faster than a 3D simulation, when one considers that the same
number of equations are involved (six), but the space is reduced in size by however many
steps one would use in the azimuthal direction. For, say, 100 steps in azimuth, one would
need to simulate 100 modes (more than necessary) to reach the same computational
time. However, there is a drawback in that the stability criteria are more stringent for
higher order modes. An empirical formulation finds that:
O
v p +t 1/(m + 1) m > 0,
≤ √ (12.48)
+x 1/ 2 m = 0.
Thus, for higher-order modes m > 0, the stability criterion becomes more stringent
than even the 3D FDTD algorithm.
The fourth and final technique that we will introduce in this chapter applies to using the
confined space of an FDTD simulation to find fields at distances far beyond the space
boundaries.
Any FDTD simulation involving scattering from various structures, or the simulation
of antenna radiation, necessarily yields the near-field scattering or radiation pattern, due
to the limitations of the size of the computational space. For example, assume we have a
12.4 Near-to-far field transformation 317
dSˆ
Scatterer / nˆ a nˆ ∞
Antenna
Ca
C∞
Figure 12.12 Near-to-far field transformation. Schematic diagram showing the integration
contour for the near-to-far field transformation. The complete, closed contour integral around
Ca and C∞ is used to map fields on Ca to the far field at C∞ .
100-cell space in one dimension, with a coarse discretization of 10 cells per wavelength.
If we place a radiating antenna at the center of the space, the boundary of the FDTD
space is only 50 cells or five wavelengths from the source. Typically, the far field is
defined as a minimum of 2D 2 /λ from the source, where D is the largest dimension of
the radiator [13]. Thus, we cannot resolve the far-field pattern with this small space.
To circumvent this problem, we can either (a) increase the size of the space to reach
greater than 10 wavelengths, which will increase the computation time considerably;
or (b) apply a numerical technique known as the near-to-far field transformation. This
technique maps the near-field results of the FDTD simulation analytically into the far
field, thus yielding an estimate of the far-field radiation or scattering pattern of the object
of interest.
5 For an introduction to Green’s theorem, we refer the reader to the classic book on electromagnetics by
Jackson [14].
318 Some advanced topics
r = x xˆ + y ˆy
y
Far-field
Measurement Point
r
z x r – r’
r̂
Near-field source point
r̂’ r’ = x’ˆx + y’ŷ
Origin
Ca nˆ a’
Figure 12.13 Visual representation of the near-to-far field transformation in 2D. The near-field
points on the contour Ca are located at r ′ and mapped to a distant point r . The vectors r̂ and r̂ ′
are the unit vectors for the respective directions. Note that every point on Ca contributes to the
field at r .
where we are considering the 2D TM mode for simplicity, thus deriving the equations
for E z . Here n a′ is the normal to the contour Ca (see Figure 12.13 for the diagrammatic
representation). This shows that the complete surface integral is written as the sum of two
line integrals, with a minus sign because the inner contour is in the opposite direction.
We wish to simplify this equation in order to find a relationship between the fields
on the inner boundary (which we will calculate in the FDTD algorithm) and the fields
on the outer boundary (the far field, which we desire). We can begin by simplifying the
left-hand side of Equation (12.21) using the definition of Green’s functions,
(∇ 2 )′ E z (r ′ ) = −k 2 E z (r ′ ). (12.51)
12.4 Near-to-far field transformation 319
Application of these two leaves simply E z (r ′ ) on the left-hand side of the equation.
Furthermore, it is simple to show6 that the first integral on the right of Equation (12.21)
(the integral over C∞ ) goes to zero as r ′ → ∞, so that Equation (12.49) reduces to:
!
9 :
E z (r ′ ) = G(r, r ′ )n a′ · ∇ ′ E z (r ′ ) − E z (r ′ )n a′ ∇ ′ G(r, r ′ ) dC ′ . (12.52)
Ca
Now we must take the far-field limit of this equation to discern the form of E z (r ′ ).
The two-dimensional Green’s function is given by the Hankel function,
j (2)
G(r, r ′ ) = H (k|r − r ′ |)
4 0
(2)
where H0 is the Hankel function of the second kind or order 0.7 In the far field, we
assume r ′ is many wavelengths away, so that k|r − r ′ | is very large; then the limit of the
Green’s function is:
′
j 3/2 e− jk|r −r | j 3/2 − jkr jkr̂ ·r ′
lim G(r, r ′ ) = √ → √ e e (12.53)
k|r −r |→∞
′
8π k |r − r ′ |1/2 8π kr
and the gradient is given by:
′
j 3/2 e− jk|r −r | j 3/2 ′
lim ∇ ′
G(r, r ) = ′
jk r̂ √ → ( jk r̂) √ e− jkr e jkr̂ ·r
k|r −r ′ |→∞ 8π k |r − r ′ |1/2 8π kr
(12.54)
where the final forms of the above two equations were found using binomial expansions8
of |r − r ′ |1/2 and |r − r ′ |. Substituting Equations (12.53) and (12.54) back into Equation
(12.52), we find:
!
e j3π/4 − jkr 9 : ′
lim E z (r ) = √ e n a′ · ∇ ′ E z (r ′ ) − jk E z (r ′ )n a′ · r̂ e jkr̂ ·r dC ′ .
k|r −r ′ |→∞ 8π kr Ca
(12.55)
6 In 2D, both E z (r ′ ) and G(r, r ′ ) decay as (r ′ )−1/2 , so their derivatives with respect to r ′ decay as (r ′ )−3/2 ;
thus the integral term over C∞ decays as
"
= >= >
∼ 2πr ′ (r ′ )−1/2 (r ′ )−3/2 ∼ (r ′ )−1
C∞
where Jn and Yn are the Bessel function of the first and second kind, respectively, which are common
solutions to cylindrical problems.
8 In particular, |r − r ′ |1/2 → r 1/2 , and |r − r ′ | → r̂ · r ′ .
320 Some advanced topics
Now, this equation is not yet in a usable form, since it requires the gradient of E z (r ′ ).
To convert it into its standard form, we write the gradient as:
∂ Ez ∂ Ez
∇ ′ E z (r ′ ) = x̂ ′ + ŷ ′ ′
∂x ′ ∂y
= >
= x̂ − jωµ0 Hy + ŷ ′ ( jωµ0 Hx )
′
= jωµ0 ẑ ′ × H⃗ (r ′ ).
Substituting these two relationships into Equation (12.55), we find the standard form
for the near-to-far field transformation in Cartesian coordinates:
!
e− jkr e jπ/4 9 : ′
lim E z (r ) = √ √ ωµ0 ẑ ′ · Jeq (r ′ ) − k ẑ ′ × Meq (r ′ ) · r̂ e jkr̂ ·r dC ′
k|r −r ′ |→∞ r 8π k Ca
(12.56)
where Jeq = n̂ a × H and Meq = −n̂ a × E are the equivalent electric and magnetic
currents observed on the contour Ca . Equation (12.56) thus represents the frequency
domain transformation of E z from the contour Ca to a distant location r .
This can be implemented in a straightforward manner in any FDTD space. One must
record fields at each grid location around a boundary Ca over all time, and use these fields
to find %eq and (eq . After the simulation is complete, these values can be transformed
to the frequency domain to yield Jeq and Meq , which are then used in (12.56) above.
In this way one can find the far-field values for any distant location. Note that a full
integration of Equation (12.56), including every point on the contour Ca is required
for each far-field point of interest; hence, if a full radiation pattern is sought, this will
require a large number of integrations.
The numerical choice of r , the far-field point of interest, depends only on the structures
involved in the simulation. As mentioned earlier, the far field is generally defined as
2D 2 /λ from the source, where D is the largest dimension of the source. Hence, one
would presumably choose far-field points at a minimum of this distance.
We begin with the frequency domain equivalent currents Jeq = nˆa × H and Meq =
−nˆa × E as above. These are used to define the vectors W and U :
− jkr "
⃗ = je
W
′
Jeq e jkr̂ ·r d S ′ (12.57a)
2λr Ca
"
je− jkr ′
U⃗ = Meq e jkr̂ ·r d S ′ . (12.57b)
2λr Ca
Note that Ca encloses the scattering or radiating object; in 2D, Ca is a closed contour,
while in 3D, Ca is a closed surface. The phasors W and U are easily inverse-transformed
back into the time domain:
L" M
1 ∂ 9 :
⃗
1(r, t) = %eq t + (r ′ · r̂ )/c − r/c d S ′ (12.58a)
4πr c ∂t Ca
L" M
9 :
⃗ t) = 1 ∂
2(r, (eq t + (r ′ · r̂ )/c − r/c d S ′ . (12.58b)
4πr c ∂t Ca
Note that this is a surface integral over the closed surface Ca in 3D; in 2D it is a
contour integral. In either case, every point on the contour or surface contributes to the
2 and 1 fields at r.
Using Equations (12.58), the time domain electric field components in spherical
coordinates are:
!θ = −η0 1θ − 2φ
(12.59)
!φ = −η0 1φ + 2θ .
These equations show the simplicity of the time domain method: one simply calculates
⃗
1(r, ⃗ t) using Equations (12.58) from the currents on the contour Ca , and
t) and 2(r,
then transforms them back into ! components using Equations (12.59).
We now show the implementation of this algorithm into the standard FDTD algorithm.
Along the surface or contour Ca we can evaluate the equivalent currents (eq and %eq as
the normal components of the " and ! fields on each of the faces of Ca . For instance,
on a face with outward component ŷ, !x contributes to (eq and thus 2z only. For a
cubic surface Ca in 3D, components on all six faces must be included.
We must also keep track of the time delay for each location of the surface integral;
this is taken care of through the r ′ term in Equations (12.58). The vector r ′ is
where i, j, k are the indices of the location r ′ , and i c , jc , kc are the indices of a central
reference location. The extra 1/2 represents a location in the y-direction that is a 1/2-cell
from the cell center. To represent 2 in Equation (12.58b), we need a centered difference
time derivative. As an example, consider the contribution of !x (at some point on Ca )
322 Some advanced topics
to 2z :
9 : +x+z n+1
2z (n + 1/2)+t − (r ′ · r )/c = (! − !nx ) (12.60a)
4π c+t x
9 : +x+z n
2z (n − 1/2)+t − (r ′ · r )/c = (! − !n−1
x ) (12.60b)
4π c+t x
where it should be understood that the true 2z field involves the sum of the contributions
of all the ! components on Ca . The square brackets on the left represent the actual time
at which the contribution on the right applies to 2z . The !x fields fall on integer time
steps, but will not contribute at integer time steps to the 2 and 1 fields because of the
variation in distance. The time step index m closest to the time period over which !x
contributes to 2z is
where
tc = n+t − (r ′ · r )/c + R0 /c
and where the floor() function rounds down to the nearest integer, and R0 is the distance
from the origin to the reference surface Ca in the direction of the far-field measure-
ment point. We then find the contribution of !nx at integer time steps to 2z by linear
interpolation:
+x+z
2z [(m + 1)+t] = [1/2 − (tc /+t) + m] !nx (12.61a)
4π c+t
+x+z
2z [(m)+t] = [2(tc /+t − m)] !nx (12.61b)
4π c+t
+x+z
2z [(m − 1)+t] = [1/2 + (tc /+t) − m] !nx . (12.61c)
4π c+t
Note that the factors in square brackets on the right are fractions between 0 and 1, and
are thus “weights” giving the contribution of !x to three time steps of 2z .
This gives the contribution of !x at time n and at location (i, j, k) to 2z . The
contributions then need to be summed at this time step over the surface Ca , taking into
account the different tangential field components.
In total, after running the simulation for N time steps, the vector 2z will have
approximately N + 2R0 entries. We will need to store similar vectors for 2x , 2 y , and
the corresponding 1 fields, for six extra components in total. However, it is more prudent
to store the spherical coordinate fields using a coordinate transformation in real time:
2θ (r, t) = 2x (r, t) cos θ cos φ + 2 y (r, t) cos θ sin φ − 2z (r, t) sin θ (12.62a)
2φ (r, t) = −2x (r, t) sin φ + 2 y (r, t) cos φ (12.62b)
1θ (r, t) = 1x (r, t) cos θ cos φ + 1 y (r, t) cos θ sin φ − 1z (r, t) sin θ (12.62c)
1φ (r, t) = −1x (r, t) sin φ + 1 y (r, t) cos φ. (12.62d)
12.5 Summary 323
This now reduces the number of fields to four. Next, also in real time, these fields can
be transformed into !θ and !φ using Equation (12.59), and only the two components
need to be stored.
This algorithm must be executed as described above for each location of interest in
the far field. If, for example, a complete radiation pattern for an antenna is desired,
the algorithm must be implemented for a grid of points covering 4π steradians in the
far-field space.
12.5 Summary
In this chapter we have introduced a number of more advanced topics that are of interest
in a variety of FDTD problems. First, we introduced modeling of periodic structures. The
methods presented in Section 12.1 allow us to limit our attention to a single period of a
structure that is periodic in one dimension. For normal incidence, the problem is trivial:
the fields just outside the periodic boundary are updated with the fields on the opposite
boundary. For oblique incidence, however, phase-matching requires future values of the
fields, and so more advanced methods are required.
We introduced direct-field methods, which allow us to work directly with the ! and
" field components. However, the field-transformation methods are more powerful.
In these methods, our ! and " fields are transformed into auxiliary ' and 0 fields
according to (in 2D TM mode):
Pz = E z · e jk y y Q x = η0 Hx · e jk y y Q y = η0 Hy · e jk y y .
These fields then have their own versions of Maxwell’s equations, given by Equa-
tions (12.8), which unfortunately have temporal and spatial derivatives of the same
fields in each equation, precluding the use of the FDTD algorithm directly. To circum-
vent this problem, we present two approaches: in the multiple-grid approach, each of
these field components is split into two parts and staggered on a Yee-like grid cell;
we then have a set of six update equations rather than three. In the split-field method,
0x and 'z are split into two parts, but the parts are co-located on the grid. How-
ever, the differential equations are now split into parts that can be solved in the FDTD
algorithm.
In Section 12.2, we introduced a number of methods for modeling interactions with
structures that are smaller than a grid cell. These methods apply to PEC or material (ϵr ,
µr ) structures, and in each case, the approach is to use Ampère’s law and/or Faraday’s
law, applied to a single grid cell, and incorporating the appropriate areas and contour
segments. These result in modified update equations for grid cells which are intersected
by material boundaries.
In Section 12.3, we introduced a method for modeling cylindrical structures, such as
optical fibers, whose field patterns can be assumed to have periodicity in the azimuthal
(φ) direction. In such cases, the problem can be reduced from 3D to 2D, where a full
2D simulation is required for each Fourier component of the azimuthal dependence. For
324 Some advanced topics
example, if the fields are known to have sin φ dependence, only one Fourier component
is required.
The method involves expanding the ! and " fields into a Fourier series:
∞ ;
G <
!= !u cos(mφ) + !v sin(mφ)
m=0
and similarly for ". These equations are then substituted into Maxwell’s equations
in cylindrical coordinates, and by applying the tricks of Section 12.3, the fields are
“collapsed” in φ into a 2D simulation for each mode m.
Finally, Section 12.4 introduced the near-to-far field transformation, which allows us
to calculate far fields from a compact FDTD simulation. Typically, the FDTD simulation
of an antenna or scatterer is confined to the near field; but, by applying Green’s functions
to a near-field contour, those fields can be transformed to the far field, yielding a
radiation or scattering pattern for the object of interest. In Section 12.4 we introduced
both frequency domain and time domain methods, both of which can be computed in
real time with the time-stepping of the FDTD algorithm.
12.6 Problems
12.1. Basic periodic boundaries. Repeat Problem 7.1, the parallel-plate waveguide
with a scatterer, but replace the PEC walls on the top and bottom with normal-
incidence periodic boundary conditions. In this way, the simulation is of a 1D
periodic array of scatterers spaced every 20 mm. Launch a plane wave from the
left that is constant in amplitude in x, rather than a waveguide mode. Measure the
field pattern that is transmitted and reflected; don’t forget to include an absorbing
boundary and a total-field / scattered-field boundary.
12.2. Periodic boundaries at angled incidence. Modify Problem 12.1 to launch an
incident plane wave at some angle θi . Use either the multiple-grid or split-field
method. Measure the scattering pattern of the periodic structures in Figure 7.7
as a function of incident angle.
12.3. A narrow slot through a dielectric. Derive a narrow slot method for a slot
through a material with real ϵr and µr , rather than a simple PEC material.
12.4. The narrow slot in TM mode. Derive the update equations for the narrow slot
problem of Section 12.2.3, only for the 2D TM mode. Start by drawing a similar
diagram to that of Figure 12.7, but with "x , " y , and !z components.
(a) Write an FDTD simulation of a narrow slot for the 2D TM mode. Create a
slot whose width can be varied from 0.1+x to +x, and a material whose
length in y is 10+y. Launch a sinusoidal plane wave from the y = 0 plane
toward the slot, with a wavelength equal to 20+x. What is the amplitude of
the wave that passes through the slot? How does it vary with the slot width?
12.6 Problems 325
(b) Repeat (a), but this time hold the slot width to 0.5+x and vary the slot
length from +y to 10+y. How does the transmitted amplitude vary with
the slot length?
12.5. Thin sheet of conducting material. Create a 2D TM mode simulation with
a thin sheet of conducting material that is less than a grid cell in thickness.
In this thin sheet, use ϵr = 2 and σs = 10 S/m. Launch a Gaussian pulse from the
left of the sheet, and observe the amplitude that is transmitted through the sheet.
How thick does it need to be to block 99% of the incident wave amplitude (i.e.,
the transmitted amplitude is only 1%)?
12.6. Cylindrical scatterer. Repeat Problem 7.2, the cylindrical scatterer in 2D, includ-
ing a TF/SF boundary and an absorbing boundary. This time, however, modify the
updates on the surface of the cylinder to more accurately conform to the cylin-
drical surface, using the diagonal split-cell method described in this chapter.
Compare the scattering pattern to that found in Problem 8.11.
12.7. Dielectric scatterer. Repeat Problem 12.6 above, but make the cylinder a dielec-
tric material with ϵr = 3. Use the average properties method to accurately model
the cylindrical surface. Measure the scattering pattern with and without the aver-
age properties model and compare.
12.8. Bodies of revolution. Write a 2D simulation to utilize the bodies of revolution
method for a cylindrical waveguide, similar to Figure 12.10. Use the same wave-
guide parameters as in Problem 4.10. Include an absorbing boundary at the far
end of the waveguide. Excite the waveguide with an !r source at the edge of the
waveguide (near the PEC boundary).
(a) Allow for only one expansion in φ (m = 1) and solve the update
Equations (12.40). Why does m = 0 not work?
(b) Repeat (a), but add expansions one at a time, up to m = 5. In each case,
plot the field pattern 5 cm down the waveguide and compare.
(c) Explore different methods for exciting the waveguide, i.e., different field
components at different locations at the end of the waveguide. How does
the excitation affect the relative amplitudes in each “mode”?
12.9. Far-field radiation pattern. In this problem we will use the code from
Problem 4.7, modeling a half-wave dipole antenna. Modify this code to include a
PML as in Problem 9.11. Now, include a near-to-far field transformation bound-
ary around the antenna using the time domain implementation of Luebbers et al.
presented in this chapter.
(a) Measure the far-field pattern ∼100 wavelengths from the antenna, at 100
locations equally spaced in θ . Since the antenna is symmetric in φ, there
is no reason to measure the radiation pattern in more than one φ direction.
Compare this far-field pattern to the near-field pattern measured in Problem
9.11.
326 Some advanced topics
(b) Repeat (a), but include the thin-wire approximation around the antenna.
Does this affect the far-field pattern? Why or why not?
References
[1] R. W. Ziolkowski and J. B. Judkins, “Applications of the nonlinear finite difference time
domain (NL-FDTD) method to pulse propagation in nonlinear media: Self-focusing and
linear-nonlinear interfaces,” Radio Science, vol. 28, pp. 901–911, 1993.
[2] R. W. Ziolkowski and J. B. Judkins, “Nonlinear finite-difference time-domain modeling of
linear and nonlinear corrugated waveguides,” J. Opt. Soc. Am., vol. 11, pp. 1565–1575, 1994.
[3] F. L. Teixeira, “Time-domain finite-difference and finite-element methods for Maxwell equa-
tions in complex media,” IEEE Trans. Ant. Prop., vol. 56, pp. 2150–2166, 2008.
[4] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
[5] M. E. Veysoglu, R. T. Shin, and J. A. Kong, “A finite-difference time-domain analysis of
wave scattering from periodic surfaces: oblique incidence case,” J. Electro. Waves and Appl.,
vol. 7, pp. 1595–1607, 1993.
[6] J. A. Roden, S. D. Gedney, M. P. Kesler, J. G. Maloney, and P. H. Harms, “Time-domain
analysis of periodic structures at oblique incidence: Orthogonal and nonorthogonal FDTD
implementations,” IEEE Trans. Microwave Theory Techqs., vol. 46, pp. 420–427, 1998.
[7] P. H. Harms, J. A. Roden, J. G. Maloney, M. P. Kesler, E. J. Kuster, and S. D. Gedney,
“Numerical analysis of periodic structures using the split-field algorithm,” in Proc. 13th
Annual Review of Progress in Applied Computational Electromagnetics, March 1997.
[8] S. Dey and R. Mittra, “A locally conformal finite-difference time-domain algorithm for
modeling three-dimensional perfectly conducting objects,” IEEE Microwave Guided Wave
Lett., vol. 7, pp. 273–275, 1997.
[9] S. Dey and R. Mittra, “A modified locally conformal finite-difference time-domain algorithm
for modeling three-dimensional perfectly conducting objects,” IEEE Microwave Opt. Techqs.
Lett., vol. 17, pp. 349–352, 1998.
[10] C. J. Railton and J. B. Schneider, “An analytical and numerical analysis of several locally
conformal FDTD schemes,” IEEE Trans. Microwave Theory Techqs., vol. 47, pp. 56–66,
1999.
[11] J. G. Maloney and G. S. Smith, “The efficient modeling of thin material sheets in the
finite-difference time-domain FDTD method,” IEEE Trans. Ant. Prop., vol. 40, pp. 323–330,
1992.
[12] U. S. Inan and A. S. Inan, Electromagnetic Waves. Prentice-Hall, 2000.
[13] C. A. Balanis, Advanced Engineering Electromagnetics. Wiley, 1989.
[14] J. D. Jackson, Classical Electrodynamics, 2nd edn. Wiley, 1975.
[15] R. Luebbers, F. Hunsberger, and K. S. Kunz, “A frequency-dependent finite-difference time-
domain formulation for transient propagation in plasma,” IEEE Trans. Ant. Prop., vol. 39,
p. 29, 1991.
13 Unconditionally stable implicit
FDTD methods
Until now, we have discussed the standard FDTD algorithm, based on the interleaved
second-order centered difference evaluation of the time and space derivatives, as orig-
inally introduced by Yee in 1966 [1]. This method is an explicit method, in which the
finite difference approximations of the partial derivatives in the PDE are evaluated at the
time level (n + 1/2), so that the solution at the next time level (n + 1) can be expressed
explicitly in terms of the known values of the quantities at time index n.
Explicit finite difference methods have many advantages. For the hyperbolic wave
equation, an important advantage is the fact that numerical solutions obtained with the
explicit method exhibit finite numerical propagation speed, closely matching the physical
propagation speed inherent in the actual PDE. However, an important disadvantage of
explicit methods is the fact that they are only conditionally stable. As a result, the
allowable time step (vis-à-vis the CFL condition) is generally quite small, making
certain types of problems prohibitive simply due to the enormous computation times
required. In such cases, which include some important electromagnetic applications as
discussed in [2], it is highly desirable to avoid the time step limitation.
Implicit finite difference methods provide the means with which this time step limi-
tation can be avoided. With an implicit method, the finite difference approximations of
the partial derivatives in the PDE are evaluated at the as-yet unknown time level (n + 1).
These methods turn out to be unconditionally stable, so that there is no limit on the time
step allowed for a numerically stable solution. Practical limits are of course required on
the time step so that the truncation errors can be maintained within reasonable limits (as
defined by the application), but as a matter of numerical accuracy rather than numerical
stability.
The major disadvantage of implicit methods is the fact that the solution (i.e., the value
of a physical quantity) at time level (n + 1) depends on the values of field quantities
at the same time level (n + 1). As a result, the desired solution cannot be explicitly
determined in terms of past values, and, in general, a system of simultaneous equations
must be solved to obtain the values of the quantities at each time level.
In terms of electromagnetic applications, the standard explicit FDTD methods become
prohibitive (due to the time-step requirements) in tackling some important classes of
problems, including low-frequency bioelectromagnetics and modeling of VLSI circuits,
as discussed in [2]. For these problems, a new alternating direction implicit (ADI)-FDTD
method has been put forth that has been quite successful [3, 4, 5]; the purpose of this
chapter is to introduce this method. However, in view of the fact that until now we have
328 Unconditionally stable implicit FDTD methods
only discussed explicit FDTD methods, we first provide a brief general discussion of
implicit methods.
When would one need to use implicit methods rather than the explicit methods we have
discussed so far? First, there are scenarios when extremely small-scale structures must
be simulated on a much larger grid. The CFL stability limitation requires that these
problems will not only need to have very small grid sizes, but in turn very small time
steps.
Second, vastly different time scales may exist in some media, including plasmas; in
these media, wide ranges of relaxation times and thus wide ranges of frequencies can
exist, and the standard explicit FDTD method requires that we model for the highest
frequency. For example, in a plasma, frequencies can be excited simultaneously at kHz
and MHz frequencies. This means the smallest wavelength will be on the order of meters,
requiring ∼0.1 m grid cell size; but the longest wavelengths will be on the order of km,
requiring over 10,000 grid cells (in each dimension) to cover one wavelength. In turn,
thanks to the CFL limit, the simulation will need to run for ∼10,000 time steps to reach
the edge of the simulation space.
Implicit methods will not help us with the problem above of requiring 10,000 grid
cells, but it can circumvent the CFL limit and reduce the number of time steps. We
shall introduce implicit methods by using the so-called backward-time centered space
method, which is the counterpart of the explicit forward-time centered space method
which was studied in Section 3.4.1. We first briefly review the forward-time centered
space method.
However, we further recall from Section 5.1 of Chapter 5 that this method is uncon-
ditionally unstable for the convection equation, since we found the error amplification
13.1 Implicit versus explicit finite difference methods 329
factor q > 1 regardless of the value of +t and the numerical wavenumber k. Hence, the
forward-time centered space method cannot be used to solve the convection equation.
Recall that in Chapter 3, this led us to the leapfrog method (which is centered in time
and space) as a stable alternative.
The discretization of the partial differential equation at time step (n + 1) is thus given
as:
∂, ∂, ,in+1 − ,in ,n+1 − ,i−1
n+1
+ vp =0 → + v p i+1 = 0. (13.4)
∂t ∂x +t 2+x
Equation (13.4) can be rearranged as:
# $ # $
v p +t n+1 v p +t
− ,i−1 + ,in+1 + n+1
,i+1 = ,in . (13.5)
2+x 2+x
It is evident that Equation (13.5) cannot be solved explicitly for ,in+1 , since the two
n+1
extra values of , at time n + 1 (i.e., ,i±1 ) also appear in the same equation; these field
components are illustrated in Figure 13.1.
Before addressing the solution to this problem, let us first look at the stability of this
method. We can conduct a stability analysis similar to that carried out in Chapter 5
for the forward-time centered space method. Using the relationships ,in+1 = q,in and
n
,i±1 = ,in e± jk+x , we can write Equation (13.5) as:
# $ # $
v p +t v p +t
− q e− jk+x ,in + q ,in + q e jk+x ,in = ,in
2+x 2+x
which, when solved for q, yields
1
q= # $ . (13.6)
v p +t
1+ j sin (k+x)
+x
Now, since
3 # $ 3
3 3
31 + j v p +t sin (k+x)3 > 1, (13.7)
3 +x 3
we have q < 1 for all nonzero values of +t, +x, and k, and the backward-time centered
space method is thus unconditionally stable for the convection equation.
330 Unconditionally stable implicit FDTD methods
Forward-time Backward-time
t centered space t centered space
nmax nmax
∆t ,(0,tn+1) ∆t
n+1 n+1
d/dt ,(xmax,tn+1)
n n
d/dx n–1
n–1
2 2
1 1
0 0
∆x imax x ∆x imax x
1 2 3 i 1 2 3 i
i–1 i+1 i–1 i+1
Figure 13.1 Mesh diagram for the backward-time centered space method. The grid points
involved in the evaluation of the time derivative are indicated as open circles, whereas those
involved in calculating the space derivative are indicated as squares.
1 It should be noted here that the requirement of two boundary conditions is not natural for the convection
equation, which being a first-order differential equation in space, should require only one boundary condition.
Physically, the convection equation propagates any initial disturbance in only one direction, so that the
solution domain must be open (i.e., not closed with a boundary condition) in that direction. In practice, this
open boundary can be represented in an implicit finite difference method by placing the open boundary at
a large distance from the region of interest and by applying the initial (in time) condition at that location as
the boundary condition.
13.2 Crank-Nicolson methods 331
A Vn+1 = b (13.9)
where it now remains to numerically integrate the equation in time, and determine a
time-stepping algorithm. One such algorithm is briefly introduced here.
The Crank-Nicolson methods [7, 8], which are used often in diffusion and other problems,
actually take the average of a forward difference and a backward difference in space,
but result in unconditional stability as desired. As one might expect and as we will see
below, this averaging of the forward- and backward-time methods yields the second-order
accuracy we desire.
For the 1D voltage problem discussed above, we write the spatial derivative in
Equation (13.1) as the average of two spatial derivatives at different time steps, so
2 A tridiagonal matrix is a square matrix in which all of the elements not on the major diagonal, or on the two
diagonals on both sides of the major diagonal, are zero. The elements of the three diagonals may or may not
be zero. As an example, a 5 × 5 tridiagonal matrix is given by:
⎡ ⎤
a11 a12 0 0 0
⎢a21 a22 a23 0 0 ⎥
A=⎢ 0 a32 a33 a34 0 ⎥.
⎣ ⎦
0 0 a43 a44 a45
0 0 0 a54 a55
Large tridiagonal matrices arise quite often in physical problems, especially involving implicit numerical
solutions of differential equations.
332 Unconditionally stable implicit FDTD methods
where we have introduced the shorthand K = v p +t/4+x. Once again, this can take the
form of a system of equations and thus a matrix equation of the form
M1 Vn+1 = M2 Vn
and thus
Vn+1 = M−1 n
1 M2 V .
K ,in+1 e jk+x + ,in+1 − K ,in+1 e− jk+x = ,in − K ,in e jk+x + K ,in e− jk+x
By discretizing these equations at time step (n + 1/2) and applying the average of
two spatial derivatives as above, the finite difference equation version of Equation (4.6b)
becomes:
3n+1 3n ⎛ 3 3n+1 3n 3n ⎞
n+1
!z 3i −!z 3i 1 ⎝ " y 3i+1/2 −" y 3i−1/2 " y 3i+1/2 −" y 3i−1/2
⎠ . (13.14a)
= +
+t 2ϵ +x +x
Notice that in both of these equations, the first fractional term on the right is the
backward difference and the second term is the forward difference, and the average of
these two approximations to the spatial derivative is then taken, giving the approximate
value of the spatial derivative at time step (n + 1/2). Overall, the scheme is implicit
because unknown field values are present on the right-hand side of the equations, and
hence a matrix inversion problem exists. In the case of coupled PDEs such as Maxwell’s
equations, these can be solved simultaneously by (a) moving all fields at time step
(n + 1) to the left-hand side; (b) creating a matrix of all !z and " y unknowns; and then
(c) filling out the coefficient matrix relating the vector of fields at (n + 1) to the known
field values at time n. This becomes somewhat tricky when the equations are coupled, as
they are in Equations (13.14); the alternating direction implicit (ADI) method, described
next, demonstrates a similar matrix formation.
One implicit method which is particularly useful for multi-dimensional (2D and 3D)
systems is the so-called alternating direction implicit (ADI) method, developed by Zheng
et al. [3, 4, 5]. This method involves the solution of each partial differential equation
using a two-step scheme in time. In the first half-time step, the spatial derivatives in
one direction (e.g., ∂/∂ x) are evaluated at the known time step n while the other spatial
derivatives (e.g., ∂/∂ y) are evaluated at time step (n + 1). In the second half-time step,
the process is reversed. To illustrate, we begin with the 3D Maxwell’s equations, written
in component form:
# $ # $
∂!x 1 ∂"z ∂" y ∂"x 1 ∂! y ∂!z
= − = − (13.15a)
∂t ϵ ∂y ∂z ∂t ϵ ∂z ∂y
# $ # $
∂! y 1 ∂"x ∂"z ∂" y 1 ∂!z ∂!x
= − = − (13.15b)
∂t ϵ ∂z ∂x ∂t ϵ ∂x ∂z
# $ # $
∂!z 1 ∂" y ∂"x ∂"z 1 ∂!x ∂! y
= − = − . (13.15c)
∂t ϵ ∂x ∂y ∂t ϵ ∂y ∂x
334 Unconditionally stable implicit FDTD methods
Working with Equation (13.15a) for ∂!x /∂t, we can difference it in the usual manner,
except in this case we will only increment a half-time step, using the "z fields at time
step (n + 1/2) and the " y fields at time step n:
For the second half-time step (to advance from time step n + 1/2 to time step n + 1),
we apply the same equation except we use the " y fields at time step n + 1:
3n+1 3n+1 ⎤
3 3
"y 3 −" y 3
i+1/2, j,k+1/2 i+1/2, j,k−1/2 ⎥
− ⎦ . (13.16b)
+z
This second equation can be considered the equivalent of the first, but applied in
the opposite direction (hence the name of the method); relative to the electric field
time difference on the left side of the equation, the ∂"z /∂ y term is applied at the later
time step in the first equation, and at the earlier time step in the second equation, and
vice versa for the ∂" y /∂z term. Note that since we are differencing over only a half-time
step, +t/2 appears in the denominator on the left-hand side.
Similar equations can be easily written down for the other five component
Equations (13.15). Notice that all of the field components maintain their usual posi-
tions in the Yee cell; however, they must also be known at every half-time step (n and
n + 1/2). This will, of course, double the computation time compared to the standard
explicit FDTD method, but will not increase the memory requirement.
It should also be noted that these equations are implicit: each requires future, unknown
values of the " fields. This will lead to a matrix inversion process, typical of all implicit
methods. This process is simplified by substituting the six equations into each other
to arrive at simplified matrix equations.3 To see this, let us try to solve for !n+1/2
x in
3 The formulation of the matrix equations can also be derived quickly using Kronecker products, which will
be discussed in Chapter 14.
13.3 Alternating direction implicit (ADI) method 335
Equation (13.16a) above. Here is the first-half-step update equation for the "z compo-
nent:
3n+1/2 3n ⎡ 3n+1/2 3n+1/2
3 3 3 3
"z 3 −"z 3 !x 3 −!x 3
i+1/2, j+1/2,k i+1/2, j+1/2,k 1⎢ i+1/2, j+1,k i+1/2, j,k
= ⎣
+t/2 µ +y
3n 3n ⎤
3 3
!y 3 −!z 3
i+1, j+1/2,k i, j+1/2,k ⎥
− ⎦. (13.17)
+x
This equation is used because Equation (13.16a) has "n+1/2 z as its future, unknown
field. We can solve this equation for "n+1/2 z at the indices required in Equation (13.16a)
(noting that two values of "n+1/2
z are required at different spatial locations) and substitute,
yielding the following update equation for !x :
# $ 3 # $ 3 # $ 3
+t 2 3n+1/2 +t 2 3n+1/2 +t 2 3n+1/2
− ! x 3 + 1 + ! x 3 − ! x 3
4µϵ+y 2 i+1/2, j+1,k 2µϵ+y 2 i+1/2, j,k 4µϵ+y 2 i+1/2, j−1,k
3n
3
= !x 3
i+1/2, j,k
⎛ 3n 3n 3n 3n ⎞
3 3 3 3
"z 3 −"z 3 "y 3 −" y 3
+t ⎜ i+1/2, j+1/2,k i+1/2, j−1/2,k i+1/2, j,k+1/2 i+1/2, j,k−1/2 ⎟
+ ⎝ − ⎠
2ϵ +y +z
# 3n 3n 3n 3n $
+t 2 3 3 3 3
− !y 3 −! y 3 −! y 3 +! y 3 .
4µϵ+y+x i+1, j+1/2,k i, j+1/2,k i+1, j−1/2,k i, j−1/2,k
(13.18)
Note that this equation has only !x terms on the left-hand side at time step n + 1/2,
and only field components at time step n on the right-hand side. Five other equations
for the other field components follow, as well as another set of six equations for the
second half-time step. These form a system of six matrix equations that can be solved
using numerical techniques and packages that are readily available (such as the Thomas
algorithm [6] mentioned earlier). Each of these equations has the general form:
M1 Xn+1/2 = P1 Xn For the first half-time step (13.19a)
M2 Xn+1 = P2 Xn+1/2 For the second half-time step (13.19b)
where M1,2 and P1,2 are matrices of coefficients from the update equations, and X
is a vector composed of all six field components at each spatial location in the grid
– hence, quite a long vector! The coefficient matrices are both sparse, and the two
Equations (13.19) can be combined into a single time step equation:
P
Xn+1/2 = M1 −1 P1 Xn Xn+1 = M2 −1 P2 M1 −1 P1 Xn
→ (13.20)
Xn+1 = M2 −1 P2 Xn+1/2 = ; Xn
with ; = M2 −1 P2 M1 −1 P1 .
336 Unconditionally stable implicit FDTD methods
We will now look into the stability of this algorithm, to show that it is, in fact,
unconditionally stable. Because of the large size of the matrices and vectors involved,
we will provide only an overview of the stability analysis here; details can be found in
the work by Zheng et al. [4]. In that work, the authors conduct stability analysis on the
two-step method (Equations 13.19) rather than the combined method (13.20), and so we
will do the same. We apply the usual stability analysis as in Chapter 5 by substituting
phasor (i.e., frequency domain) terms such as
3n
E x 3i+1/2, j,k = E xn e− j(kx (i+1/2)+x+k y j+y+kz k+z)
Xn+1/2 = ;1 · Xn (13.21a)
n+1 n+1/2
X = ;2 · X (13.21b)
λ1 = λ2 = 1 (13.24)
√
R2 − S2 + j S
λ3 = λ5 =
R
√
R2 − S2 − j S
λ4 = λ6 = λ∗3 =
R
where R and S are given by:
One can readily see that the magnitudes of λ3:6 are all equal to one by evaluating
|λ3:6 |2 = λ3:6 λ∗3:6 ; for instance,
%√ & %√ &
R 2 − S2 + j S R 2 − S2 − j S
|λ3 |2 = ·
R R
(R 2 − S 2 ) − ( j S)2 R2 − S2 + S2 R2
= 2
= 2
= 2 = 1.
R R R
Hence, for any value of +t, grid spacing, and wavelength, all of the eigenvalues are
identically equal to one, and this algorithm is unconditionally stable.
0.98
0.8
vp /c
v p /c
0.96
0.5 C
0.6 C
θ = 0º
2C
3C 0.94 θ = 15º
5C θ = 30º
10 C θ = 45º
0.4 0.92
0 0.2 0.4 0.6 0 0.2 0.4 0.6
k∆ x k∆ x
(a) (b)
Figure 13.2 Numerical dispersion in the √
ADI method. (a) Numerical phase velocity versus k+x
for variations in +t, where C = v p +t/ 3+x. (b) Numerical phase velocity versus k+x for
variations in incident angle θ, with +t constant at 2C.
The right plot shows the variations in ṽ p at different incident angles. Note that
the variations in dispersion are small for variation in incident angle, and the angular
dispersion is worst along the principal axes. However, the angular dispersion is not
nearly as significant as the numerical dispersion.
A couple of conclusions about the accuracy of this method can be ascertained from
the dispersion Equation (13.25) and the associated plot:
! Propagation direction: Noting that W , W , and W are related to k , k , and k , we
x y z x y z
can see that the method results in different phase velocities that depend on direction
of propagation. Generally, numerical
√ experiments have shown that for time steps of
+t < 3C, where C = +x/v p 3 is the CFL limit, the phase velocity varies from
about 0.975 to 1 times the actual phase velocity c (for +x = λ/20); hence, for a
threefold increase in the time step compared to the CFL limit, we achieve accuracy to
! Large time steps: the method results in increased dispersion (i.e., lower phase veloc-
within ∼2.5%.
In addition, analysis of this method has shown that there are truncation errors which
grow as (+t)2 (i.e., the method is second-order accurate in time), and it has been
experimentally shown that the method is really only sufficiently accurate for time steps
up to 5–10 times the CFL limit. This improvement over the standard FDTD method is
really only competitive in 1D; for larger problems, the matrix inversions, which may
13.5 Problems 339
require anywhere from 10–1,000 iterations to converge, will slow down the simulation
considerably. The real power of these implicit methods comes from their ability to
allow high-frequency oscillations in dispersive materials, which would normally create
instabilities in the explicit FDTD method.
13.4 Summary
In this chapter we have introduced implicit FDTD methods. These are methods in which
the update equations have future, unknown values on the right-hand side of the equation,
and so those future values can only be implicitly determined. These methods have the
considerable advantage of avoiding the CFL stability condition, and can be stable for
any value of +t.
We first introduced the backward-time, centered space (BTCS) method, the implicit
analog of the forward-time centered space method from Chapter 3 for solving the
convection equation. The BTCS method results in an update equation of the form:
# $ # $
v p +t n+1 n+1 v p +t n+1
− ,i−1 + ,i + ,i+1 = ,in .
2+z 2+z
By writing out each of the equations for all i, one can form a set of matrix equations,
which are ultimately written in the form
A Vn+1 = b
where b is a function of the values of , at the current time step n.
We next introduced a more efficient and accurate method for solving Maxwell’s
equations implicitly; namely, the Crank-Nicolson method, in which the spatial derivatives
in Maxwell’s equations are averaged at two time steps. The update equation in 1D for
the " y term in this method becomes:
3n+1 3n % 3n+1 3n+1 3n 3n &
" y 3i+1/2 −" y 3i+1/2 1 !z 3i+1 −!z 3i !z 3i+1 −!z 3i
= + .
+t 2µ +x +x
Lastly, we introduced the alternating direction implicit (ADI)-FDTD method developed
by Zheng et al. In this method, time-stepping is advanced at half-time steps, so all
fields are known at every half-step. Then, the spatial derivatives are advanced in an
alternating method, before and after the time step of that particular equation. Equations
(13.16) clarify this process. This method is shown to be unconditionally stable, and very
accurate for time steps up to 5–10 times the CFL limit.
13.5 Problems
Mur boundary at the far end. Use +x = 1 m and make the space 200 m long.
Monitor the pulse as it passes a point 150 m from the source, and measure the
frequency response of the system.
Vary +t up to and beyond the CFL condition, and carefully monitor the
performance of the simulation. How large can you make +t before the simulation
degrades in accuracy by more than 10%?
For this and the following problems where matrix inversions are required, the
Matlab functions spalloc, spones, and the backslash \ (for matrix division)
will be useful.
13.2. Crank-Nicolson method. Repeat Problem 13.1 using the Crank-Nicolson
method. Compare the accuracy of this method as +t is increased.
13.3. Crank-Nicolson for Maxwell’s equations. Use the Crank-Nicolson method to
solve Maxwell’s equations in 1D. Launch a Guassian pulse toward a slab of
dielectric material, as in Problem 4.4. How large can you make +t and maintain
accuracy in this simulation? At this largest value of +t, how does the simulation
time compare to the FDTD algorithm in Problem 4.4?
13.4. ADI method in 2D. Repeat Problem 8.2 using the Alternating Direction Implicit
method, including the second-order Mur boundary.
(a) Use 10 grid cells per wavelength. How large can you make +t before the
solution differs from the explicit method by more than 5%? How does the
computation time compare at this time step?
(b) Repeat (a) for 20 grid cells per wavelength.
13.5. Luneberg lens in ADI. Repeat Problem 8.12, the Luneberg lens, using the ADI
method. Include the second-order Mur absorbing boundary, or include a PML if
you wish. Compare the speed and accuracy of the ADI method for this problem
to the explicit FDTD method.
References
[1] K. Yee, “Numerical solution of initial boundary value problems involving Maxwell’s equations
in isotropic media,” IEEE Trans. Ant. Prop., vol. 14, no. 3, pp. 302–307, 1966.
[2] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
[3] F. Zheng, Z. Chen, and J. Zhang, “A finite-difference time-domain method without the courant
stability conditions,” IEEE Microwave Guided Wave Lett., vol. 9, pp. 441–443, 1999.
[4] F. Zheng, Z. Chen, and J. Zhang, “Toward the development of a three-dimensional uncon-
ditionally stable finite-difference time-domain method,” IEEE Trans. on Microwave Theory
Tech., vol. 48, pp. 1550–1558, 2000.
[5] F. Zheng and Z. Chen, “Numerical dispersion analysis of the unconditionally sta-
ble 3-D ADI-FDTD method,” IEEE Trans. Microwave Theory and Techqs., vol. 49,
pp. 1006–1009, 2000.
References 341
[6] J. D. Hoffman, Numerical Methods for Engineers and Scientists. McGraw-Hill, 1992.
[7] J. Crank and P. Nicolson, “A practical method for numerical evaluation of solutions of partial
differential equations of the heat conduction type,” Proc. Camb. Phil. Soc., vol. 43, pp. 50–67,
1947.
[8] Y. Yang, R. S. Chen, and E. K. N. Yung, “The unconditionally stable Crank Nicolson FDTD
method for three-dimensional Maxwell’s equations,” IEEE Microwave Opt. Technol. Lett.,
vol. 48, pp. 1619–1622, 2006.
14 Finite difference frequency domain
The FDTD method is widely applicable to many problems in science and engineering,
and is gaining in popularity in recent years due in no small part to the fast increases in
computer memory and speed. However, there are many situations when the frequency
domain method is useful.
The finite difference frequency domain (FDFD) method utilizes the frequency domain
representation of Maxwell’s equations. In practice, however, rather than Maxwell’s
equations, the frequency domain wave equation is more often used, as it is a more com-
pact form, requires only a single field, and does not require interleaving. In this chapter
we will focus on the latter method, and give a brief overview of the Maxwell’s equations
formulation toward the end of the chapter. Because the method uses the frequency
domain equations, the results yield only a single-frequency, steady-state solution. This
is often the most desirable solution to many problems, as many engineering problems
involve quasi–steady state fields; and, if a single-frequency solution is sought, the
FDFD is much faster than the transient broadband analysis afforded by FDTD.
The simplest way to set up an FDFD simulation is via the wave equation. This method
is often most desirable as well; since it does not involve coupled equations, it does not
require interleaving or a Yee cell, and all fields (E, H , and J ) are co-located on the grid.
This simplifies both indexing into arrays as well as secondary calculations such as the
Poynting flux or energy dissipation, as no spatial averages are necessary. Furthermore,
in the frequency domain all auxiliary variables such as J and M can be put in terms of
the desired field quantity (E or H ), and thus the matrix solution involves only E or H ,
and the components of this variable (E x , E y , and E z ) are co-located in space. Note also
that only one wave equation is necessary; after solving for E, for example, H follows
from the frequency domain Maxwell’s equations.
The wave equations can be written in a very general form as [e.g., 1]:
∂% 1 ∂! ∂ 2!
∇ 2! = ∇ × ( + µ + ∇ ρ̃e + µσ + µϵ 2 (14.1a)
∂t ϵ ∂t ∂t
∂( 1 ∂" ∂ 2"
∇ 2 " = −∇ × % + ϵ + ∇ ρ̃m + µσ + µϵ 2 + σ ( (14.1b)
∂t µ ∂t ∂t
14.1 FDFD via the wave equation 343
where we have included both electric and magnetic currents % and (, and electric and
magnetic volume charge densities ρ̃e and ρ̃m , the latter of which is unphysical, but could
be included in a simulation for various purposes. To convert these to the frequency
domain, we replace ∂/∂t with jω, resulting in:
1
∇ 2 E = ∇ × M + jωµJ + ∇ρe + jωµσ E − ω2 µϵE (14.2a)
ϵ
1
∇ 2 H = −∇ × J + jωϵM + ∇ρm + jωµσ H − ω2 µϵH + σ M (14.2b)
µ
In source-free regions, J = M = ρe = ρm = 0, and these equations simplify dramat-
ically to:
Here, γ can be written as γ = α + jβ, where α is the attenuation constant (in np/m)
and β is the phase constant (in rad/m). To illustrate how these equations are solved in
FDFD, we will consider the 1D version of the electric field wave equation,1 including a
source term Jz for generality (which implies inclusion of the jωµJz term in Equation
14.2a):
∂ 2 Ez
− γ 2 E z = jωµJz . (14.4)
∂x2
We now proceed to discretize Equation (14.4). Note that we need only discretize in
space, as there is no time dependence. Notice also that in simple media, where ϵ and µ
are scalar, γ is purely a complex constant2 at any given location in space, since ω is a
constant. We discretize in space using a second-order centered difference:
3 3 3 3
∂ 2 E z 33 E z 3i+1 −2E z 3i +E z 3i−1 3 3
2 3 ≃ 2
− γ 2 E z 3i = jωµJz 3i (14.5)
∂x i (+x)
where we have used Equation (3.59), without the superscript n, since there is no time
indexing. Multiplying by (+x)2 , we have the following update equation:
3 9 : 3 3 3
E z 3i+1 − 2 + γ 2 (+x)2 E z 3i +E z 3i−1 = jωµ(+x)2 Jz 3i .
1 Note that in the wave equation FDFD formulation, only one of Equations (14.3) needs to be solved. Once
the E-field is found, for instance, the H-field follows directly from Maxwell’s equations.
2 In anisotropic materials, γ may be a tensor rather than a simple constant; however, the 3D wave equation
can then be written as three component equations with cross terms, each of which has scalar multiplying
factors.
344 Finite difference frequency domain
where the total number of spatial cells in our 1D grid is m + 1. The solution of this
equation can be found by simple matrix inversion, resulting in
where the Ai are functions of σi , µi , ϵi , and ω at the particular grid locations. Notice
that we have moved µ into the vector on the right-hand side, since it is spatially
dependent.
In the 1D case, solutions can usually be found quite simply by taking an inverse
of M, since the inverse of a tri-diagonal matrix is very simple to calculate. How-
ever, in higher dimensions, more advanced linear algebra techniques are required
as the matrix M can become very large. For example, if E is defined in 2D on a
100 × 100 grid of cells, the vector [E z ] will have 10,000 elements, and the matrix M
will be 10,000 × 10,000. However, this large matrix will be sparse (and it is always
square), and many techniques have been developed for the particular matrix geometries
that result.
Note the resemblance here to the implicit methods of Chapter 13. However, fre-
quency domain solutions are not implicit or explicit, as such nomenclature refers to
14.2 Laplace matrix and Kronecker product 345
time-dependent ODEs and PDEs only. The solution process for steady-state equations,
on the other hand, is either convergent or divergent, depending on how well conditioned
the matrix solution is. Later in this chapter we will come back to discuss the degree of
accuracy of the method.
As mentioned above, in two dimensions the matrix M can become very large. Before
delving into the details, it will be prudent to review a few mathematical concepts which
will aid in the matrix representations. First, consider Equation (14.6); if we remove γ
from A, we can write this equation as follows:
⎡ ⎤
−2 1 0 0 ···
⎢ 1 −2 1 0 ··· ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 1 −2 1 · · · ⎥
⎢ . ⎥[E z ] − γ 2 (+x)2 [E z ] = jωµ(+x)2 [Jz ]. (14.8)
⎢ . ⎥
⎢ . ⎥
⎢ ⎥
⎣ ··· 0 1 −2 1 ⎦
··· 0 0 1 −2
' () *
L
The matrix L is called the Laplace matrix, as it appears often in the solution of
Laplace’s equation. With this notation, Equation (14.8) can be written as:
= >
L − γ 2 (+x)2 I [E z ] = jω(+x)2 [µJz ] (14.9)
where I is the identity matrix, and we have explicitly included µ inside the vector on the
right-hand side, so that this solution can apply to inhomogeneous media. The solution
to this equation is then quite simply:
= >−1
[E z ] = jw(+x)2 L − γ 2 (+x)2 I [µJz ]. (14.10)
As mentioned earlier, the matrices become very large in 2D or 3D; a 100 × 100 grid
will produce a 10,000 × 10,000 matrix A or L. This matrix arises out of the Kronecker
product of two 100 × 100 matrices. In general, if the matrix A is m × n and the matrix
B is p × q, the Kronecker product A ⊗ B is a (mp) × (nq) matrix defined as:
⎡ ⎤
a11 B a12 B
· · · a1n B
⎢ a21 B · · · a2n B ⎥
a22 B
⎢ ⎥
A⊗B =⎢ . .. .. ⎥
⎣ .. . . ⎦
am1 B am2 B · · · amn B
where ai j are the entries of the matrix A. The Kronecker product obeys associativity, ( A ⊗
B) ⊗ C = A ⊗ (B ⊗ C) but not commutativity, that is, in general A ⊗ B ̸= B ⊗ A.
346 Finite difference frequency domain
Next we will see how the Kronecker product arises and involves the matrix L. To
demonstrate how these matrices arise, let us consider the numerical solution of the 2D
Poisson’s equation:
∂ 2φ ∂ 2φ ρ̃(x, y)
∇ 2φ = 2
+ 2
=− (14.11)
∂x ∂y ϵ
where ρ̃ is the charge density, φ is the electric potential, and the medium is assumed to
be homogeneous (so we could move ϵ to the right-hand side). As usual, we subdivide
our solution space into a 2D grid, and then construct a vector of unknowns by converting
the 2D space of dimensions n x × n y into a new vector φ̃:
⎡ ⎤
φ1,1
⎢ φ2,1 ⎥
⎢ ⎥
⎢ .. ⎥
⎢ . ⎥
⎢ ⎥
⎢ φn x ,1 ⎥
⎢ ⎥
⎢ ⎥
⎡⎡ ⎤⎡ ⎤ ⎡ ⎤⎤ ⎢ ⎢
φ1,2 ⎥
⎥
φ1,1 φ1,2 φ1,n y ⎢ φ2,2 ⎥
⎢⎢ ⎥⎢ ⎥ ⎢ φ2,n y ⎥⎥ ⎢ ..
⎥
⎢⎢ φ2,1 ⎥⎢ φ2,2 ⎥ ⎢ ⎥⎥ ⎢ ⎥
φ̃ = vec φ = vec ⎢⎢ .. ⎥⎢ .. ⎥···⎢ . ⎥⎥ = ⎢ . ⎥. (14.12)
⎣⎣ . ⎦⎣ . ⎦ ⎣ .. ⎦⎦ ⎢ ⎢
⎥
⎥
⎢ φn x ,2 ⎥
φn x ,1 φn x ,2 φn x ,n y ⎢ .. ⎥
⎢ . ⎥
⎢ ⎥
⎢ ⎥
⎢ φ1,n y ⎥
⎢ ⎥
⎢ φ2,n y ⎥
⎢ ⎥
⎢ .. ⎥
⎣ . ⎦
φn x ,n y
The function vec X refers to the vectorization of the matrix X as shown, by stacking
columns of the matrix on top of one another. Consider the x component of the Laplacian
on the right-hand side of Equation (14.11). As before, we approximate the derivative
using central differences, yielding:
Note the structure of the vector φ̃ in Equation (14.12). We have n x entries along the x
direction, from (x1 , y1 ), (x2 , y1 ), . . . , (xn x , y1 ) followed by another n x entries at (x1 , y2 ),
(x2 , y2 ), . . . , (xn x , y2 ) and so on. As before, we construct a matrix which we call L x,2D
that operates on φ and returns an estimate of its second derivative in the x direction.
Since each of these 1D slices along the x direction is the same as the L matrix we
14.2 Laplace matrix and Kronecker product 347
We can rewrite the above block matrix in a more compact form using the Kronecker
product, where In y is the n y × n y identity matrix and L n x is the n x × n x discrete 1D
Laplacian matrix defined in Equation (14.8):
L x,2D = In y ⊗ L n x .
We can see that the finite difference in the y direction resembles our original matrix
L but now with block structure. That is,
⎡ ⎤
−2I I 0 ··· 0 0 0
⎢ I −2I I 0 0 0 ⎥
⎢ ⎥
= ⎢ ... ..
⎢ .. ⎥
L y,2D . . ⎥ (14.17)
⎢ ⎥
⎣ 0 0 0 I −2I I ⎦
0 0 0 ··· 0 I −2I
348 Finite difference frequency domain
where now I is an n x × n x identity matrix and there are n y matrices along the diagonal.
Again we illustrate for the specific case of a 4 × 3 system:
⎡ ⎤
−2 0 0 0 1 0 0 0 0 0 0 0
⎢ 0 −2 0 0 0 1 0 0 0 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 −2 0 0 0 1 0 0 0 0 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 0 0 −2 0 0 0 1 0 0 0 0 ⎥
⎢ ⎥
⎢ 1 0 0 0 −2 0 0 0 1 0 0 0 ⎥
⎢ ⎥
⎢ 0 1 0 0 0 −2 0 0 0 1 0 0 ⎥
L y,2D =⎢
⎢
⎥.
⎥
⎢ 0 0 1 0 0 0 −2 0 0 0 1 0 ⎥
⎢ 0 0 0 1 0 0 0 −2 0 0 0 1 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 0 0 0 1 0 0 0 −2 0 0 0 ⎥
⎢ ⎥
⎢ 0 0 0 0 0 1 0 0 0 −2 0 0 ⎥
⎢ ⎥
⎣ 0 0 0 0 0 0 1 0 0 0 −2 0 ⎦
0 0 0 0 0 0 0 1 0 0 0 −2
(14.18)
L y,2D = L n y ⊗ In x .
Therefore, we can write the system of equations required to solve Poisson’s equation
in 2D in terms of Kronecker products as:
# $
1 1 1
2
L x,2D + 2
L y,2D * = − ρ̃. (14.19)
(+x) (+y) ϵ
Note that the utility of the Kronecker product in solving equations of this type is
no accident. Kronecker products were developed for and arise naturally in the field of
multilinear algebra, where instead of vectors and vector spaces, we deal with tensors
and tensor spaces and solutions of systems of equations involving them. For example,
consider the matrix equation AX B T = C, where A,B,C, and X are all matrices (that
is, rank-2 tensors) and we wish to find a solution X to this system of equations. We can
restate this problem as a plain linear algebra problem using the vec operation and the
Kronecker product:
(B ⊗ A) (vec X ) = vec C.
For the simple case of AX = C, we have a result resembling our Poisson matrix L x :
(I ⊗ A) (vec X ) = vec C.
(B ⊗ I ) (vec X ) = vec C.
14.3 Wave equation in 2D 349
We are now ready to tackle the wave equation in 2D. To see how the method is constructed,
we begin with the 2D electric field wave equation. In the 2D x–y plane we have two
possible sets of equations for E, either the TM mode:
∂ 2 Ez ∂ 2 Ez
+ − γ 2 E z = jωµJz (14.20a)
∂x2 ∂ y2
or the TE mode:
∂ 2 Ex ∂ 2 Ex
2
+ − γ 2 E x = jωµJx (14.20b)
∂x ∂ y2
∂2 Ey ∂2 Ey
+ − γ 2 E y = jωµJy . (14.20c)
∂x2 ∂ y2
Here we will consider the TE mode. We can discretize these equations using second-
order centered differences, and co-locate the E x and E y components at integer (i, j)
locations, since we do not need to separately solve the magnetic field wave equation.
Discretization in this way yields:
3 3 3 3 3 3
E x 3i+1, j −2E x 3i, j +E x 3i−1, j E x 3i, j+1 −2E x 3i, j +E x 3i, j−1 3
2
+ 2
− γ 2 E x 3i, j = jωµJx
(+x) (+y)
(14.21a)
3 3 3 3 3 3
E y 3i+1, j −2E y 3i, j +E y 3i−1, j E y 3i, j+1 −2E y 3i, j +E y 3i, j−1 3
2
+ 2
− γ 2 E y 3i, j = jωµJy .
(+x) (+y)
(14.21b)
Recalling the 2D discrete Laplacians defined in the previous section:
L x,2D = In y ⊗ L n x
L y,2D = L n y ⊗ In x .
We can again stack the unknowns E x and E y into vector form, and rewrite our system
of equations as:
# $
1 1 2
L x,2D + L y,2D − γ I E x = jωµJx (14.22a)
(+x)2 (+y)2
# $
1 1 2
L x,2D + L y,2D − γ I E y = jωµJy . (14.22b)
(+x)2 (+y)2
Note the strong resemblance to Equation (14.19). However, the careful reader will
notice a problem. Suppose we want a y-directed infinitesimal dipole current source Jy
at a single point in the domain, as we might have done in the FDTD method. The wave
equations above, however, are completely uncoupled, implying that a current source Jy
will not excite any x-directed component E x , which is an unphysical result. The detail
350 Finite difference frequency domain
we are missing is that in formulating the wave equation, we assumed the divergence of
! and " to both equal zero, that is:
/ 0 / 0
∇ × ∇ × ! = −∇ 2 ! + ∇ ∇ · ! = −∇ 2 !
/ 0 / 0
∇ × ∇ × " = −∇ 2 " + ∇ ∇ · " = −∇ 2 ".
This condition ∇ · ! = ∇ · " = 0, however, does not hold at the source, as we know
from Gauss’s law, Equation (2.2).
There are some different approaches we might use to solve this problem: First, we
could assume that the divergence might be nonzero and solve the system of equations that
results. Unfortunately, the matrix that results is no longer symmetric (and thus is much
more difficult to solve numerically) and the result will typically have a large unwanted
divergence even in source-free regions. Alternatively, we might use some other method
to solve for the fields in a small region around the source, e.g., analytically or with
FDTD, and then use the wave equation as above to find the solution in the rest of the
domain.
Fortunately, in 2D we have a simple alternative. Consider the TE mode with a source
term, where we now include the Hz component wave equation:
∂ 2 Ex ∂ 2 Ex
+ − γ 2 E x = jωµJx (14.23a)
∂x2 ∂ y2
∂2 Ey ∂2 Ey
+ − γ 2 E y = jωµJy (14.23b)
∂x2 ∂ y2
# $
∂ 2 Hz ∂ 2 Hz 2 ∂ Jy ∂ Jx
+ − γ Hz = − − (14.23c)
∂x2 ∂ y2 ∂x ∂y
' () *
(∇×J)z
where the curl of J term in the last equation can be traced to Equation (14.2b). Notice
that because we have not included the nonzero divergence, the wave equation fails to
couple E x and E y at the source. However, the Hz component has no such issue; Hz only
depends on the ẑ component of the curl of the source current J . Essentially, rather than
assuming ∇ · ! = 0 in the formulation of the wave equation as we did earlier, we are
assuming ∇ · " = 0, which is perfectly valid even at the source.
Suppose we have a y-directed current source Jy |i, j . Approximating the derivatives at
nearby points using centered differences, we have:
3 3 3
3 Jy 3i+2, j −Jy 3i, j Jy 3i, j
(∇ × J )z 3i+1, j ≈ =− (14.24a)
2+x 2+x
3 3
3 Jy 3i+1, j −Jy 3i−1, j
(∇ × J )z 3i, j ≈ =0 (14.24b)
2+x
3 3 3
3 Jy 3i, j −Jy 3i−2, j Jy 3i, j
(∇ × J )z 3i−1, j ≈ = (14.24c)
2+x 2+x
14.4 Wave equation in 3D 351
since Jy |i, j is our only nonzero current component. So, we can replace a vertical Jy
source with a pair of sources in the Hz equations, and solve for Hz using the wave
equation formulation described above in Equation (14.23c). Then, if the E⃗ components
are needed, we can use Maxwell’s equations to solve for E x and E y from the Hz
field.
Typically this means that the wave equation method is a good choice for certain types
of boundary value problems. For example, problems which have a plane wave source
at one end of a domain scattering off some structure are well-suited to this approach.
In other scenarios, we must use some other method to find a solution to the fields at
the boundaries of a small section within the domain, either analytically or with another
method such as FDTD.
It is entirely possible to formulate the FDFD method starting with Maxwell’s equations
rather than from the wave equation. We present the method here for completeness and
to show how the process differs. We begin with Ampère’s law and Faraday’s law in
differential form in the frequency domain:
We will again consider here the 1D case without sources. For x-directed propagation
and E polarized along y, we have
∂ Ey
jωµHz = − − σm Hz (14.29a)
∂x
∂ Hz
jωϵ E y = − − σ Ey. (14.29b)
∂x
Discretizing using the leapfrog method, we have the finite difference equations:
3 3
3 E y 3i+1 −E y 3i
3
( jωµ + σm )Hz i+1/2 = − (14.30a)
+x
3 3
3 H 3
z i+1/2 −H 3
z i−1/2
( jωϵ + σ )E y 3i = − . (14.30b)
+x
3 3 3
Ah Hz 3i+1/2 +E y 3i+1 −E y 3i = 0 (14.30c)
3 3 3
Ae E y 3 +Hz 3
i i+1/2
−Hz 3 i−1/2
=0 (14.30d)
where Ah = ( jωµ + σm )+x and Ae = ( jωϵ + σ )+x. To formulate the matrix for
this system, we create a column vector that includes each of the E components,
followed by each of the H components; i.e., [F] = [E y|0 ; E y|1 ; E y|2 ; . . . E y|n ; Hz|1/2 ;
Hz|3/2 ; . . . Hz|n−1/2 ] (where the boundaries at 0 and n are taken to be E components).
14.6 Summary 353
The inclusion of sources in this method follows directly as in the wave equation
method. For a hard source, say E 0 = 1 V/m, the first row of the matrix M is zeroed
except for the first entry. This value is then moved to the right-hand side of the equation
to create a “source” vector on the right side. Source currents can be added by including
the Jsource term in Equation (14.28b), which ends up on the right-hand side of the matrix
equation.
There are a number of features which make the FDFD method from Maxwell’s
equations less attractive than the direct method from the wave equation. First, notice that
the matrix M, which must now be inverted, is no longer tridiagonal (though it is still
sparse); this means the inversion process will be somewhat more complicated. Second,
the vector of field values has doubled in length, since we are simultaneously solving for
E and H . In the wave equation method, we solve for E only, and H is found very simply
by applying one or the other of Maxwell’s equations. The doubling of the field vector
results in a quadrupling of the matrix M, increasing computational cost considerably.
Finally, as mentioned before, while it is advantageous for accuracy in the FDTD method,
having the fields interleaved in space on the Yee cell in FDFD makes calculations of
Poynting fluxes, losses through J · E, and so forth less accurate and adds the necessity
of spatial averaging.
14.6 Summary
In this chapter we have introduced the finite difference frequency domain (FDFD)
method. The FDTD method is useful when a single-frequency solution to a problem is
sought, or when the source wave can be approximated by a single frequency. In such
cases, the frequency domain versions of Maxwell’s equations or the wave equation are
discretized. In the 2D TM mode, the wave equation can be written as:
∂ 2 Ez ∂ 2 Ez
+ − γ 2 E z = jωµJz
∂x2 ∂ y2
where the complex propagation constant is given by:
14.7 Problems
14.1. A PML in FDFD. Because the FDTD method yields a steady-state solution, and
it cannot be excited by a Gaussian source, or have sources turned off at convenient
times, the PML is even more important than it is in the FDTD method. Derive
the stretched-coordinate PML in the FDFD method using the wave equation,
using the same sx , etc., stretching parameters as in the UPML. Hint: start from
Equations (9.57) and combine them to form a wave equation, then discretize.
For more details on the PML in the FDTD method, see the article by Rappaport
et al. [2].
14.2. TF/SF method in FDFD. Similarly, the total-field / scattered-field formulation
is of great importance in the FDFD method, since it is the only way to separate
scattered fields from incident fields. Derive a TF/SF method in FDFD. Start
by using the wave equation update, Equation (14.5), and then make the correct
modifications near the TF/SF boundary, referring to Figure 7.3. For a single
TF/SF boundary, how does this modify the matrix M?
14.3. FDFD method in 1D. Write a simulation using the FDFD method in 1D from the
wave equation. Incorporate a PML boundary at both ends, and excite the source
using the TF/SF method ∼10 grid cells from the end. Model the dielectric slab as
in Problem 4.4, launch an incident wave with wavelength 0.3 m, and measure the
steady-state amplitude in the simulation space. Does this agree with the results
of Problem 4.4?
14.4. FDFD method in 2D. Repeat Problem 9.9, the system of scatterers with a PML
boundary, in the FDFD method using the wave equation for !z . Derive the
simulation with a sinusoidal source with a wavelength of 0.5 m. Measure the
field distribution throughout the space; evaluate the reciprocity of the simulation
by alternating points A and B as source and receiver.
14.5. FDFD in cylindrical coordinates. Derive an FDFD algorithm in 2D cylindri-
cal coordinates, starting from the 2D wave equation, where "φ is the singular
component. Include the possibility of a current source at a given point in the
simulation space, and a PML on the boundaries.
References 355
14.6. Radiation pattern of half-wave dipole. Use the FDFD method in 2D cylindrical
coordinates to model a half-wave dipole antenna, excited by an !z field in a small
gap, similar to Problem 12.9. Excite the antenna at the appropriate frequency and
measure the radiation pattern some distance from the antenna. How does this
compare to the FDTD analysis of this antenna?
References
[1] J. Van Bladel, Electromagnetic Fields, 2nd edn. Wiley Interscience, 2007.
[2] C. M. Rappaport, M. Kilmer, and E. Miller, “Accuracy considerations in using the PML ABC
with FDFD Helmholtz equation computation,” Int. J. Numer. Model., vol. 13, pp. 471–482,
2000.
15 Finite volume and finite
element methods
In this chapter we introduce the framework for two alternative methods, the finite volume
(FV) and finite element (FE) methods, as they apply to time domain electromagnetic
problems. These two methods are particularly useful in cases where the geometry of
the problem involves complicated, curved surfaces, the scattering from which we would
like to model with high accuracy. In such scenarios, the FDTD method’s inherent “stair-
casing” of the grid cells means that those curved surfaces are not well described in the
model.
In Section 15.2 we will introduce the finite volume method, and in Section 15.3 we
will discuss the finite element method. We conclude the chapter with a brief introduction
to the discontinuous Galerkin method, using features of both finite volume and finite
element methods. Our intention here is not to provide a full treatment of these methods,
but simply to introduce them to the student, in order to show their relationship to the
FDTD method, and to clarify the conditions under which these alternative methods might
be used. As such we provide only brief introductions to the FV and FE methods and
refer the readers to other materials for a full treatment. Before describing these methods,
we provide an introduction to advanced grid techniques, which will be required for both
of these methods.
The FDTD method as we have described it so far involves a regular, orthogonal grid
of identical cells with dimensions +x, +y, and +z, in Cartesian coordinates. We also
derived the FDTD method in Chapter 4 for cylindrical and spherical coordinates, which
can be used when the simulation space (and/or scattering structures) lend themselves
more accurately to those coordinates. The resulting grids in cylindrical and spherical
coordinates are orthogonal, but nonuniform, since the sizes of the grid cells varied with
φ and θ . In addition, grids can be nonorthogonal or even unstructured.
Many of these grid techniques can be used in the FDTD method; for example,
an orthogonal, nonuniform grid, as described in the next subsection, can be easily
implemented in FDTD. However, the more advanced techniques of nonorthogonal or
unstructured grids become cumbersome in FDTD, and it is in those circumstances that
finite volume or finite element methods are a better choice. In this section, we provide
15.1 Irregular grids 357
"x
"y
"y !z
"x
Figure 15.1 Nonuniform orthogonal grid surrounding a dipole antenna. Left: This grid retains all
of the same corners as the regular FDTD grid, so that each cell simply has its own +x and +y.
Right: This grid has square cells which grow with distance from the antenna; this method
introduces “nodes” where two cells meet one larger cell, and these nodes require special
treatment.
brief introductions to grid techniques, and refer the reader to other sources for more
detail.
Figure 15.2 Adaptive mesh refinement. The mesh has smaller grid cells at the boundary of a
propagating shock, where the gradient of the fields is highest. This example shows a fluid shock,
but the concept applies equally to electromagnetic wavefronts.
We must caution that this method reduces the simulation to first-order accuracy in
these transition regions; however, Monk [1, 2] has shown that second-order accuracy is
maintained globally.
Other types of nonuniform grids can be imagined; for example, one might use a grid
of square cells, but as the distance grows from the scattering object, larger square cells
can be made up of four smaller cells. This is the scenario shown in Figure 15.2, which
will be discussed next.
The orthogonal nature of these grids, as well as the uniform FDTD grid, makes them
appealing in FDTD. The FDTD algorithm relies on contour interpretations of Maxwell’s
equations, as described in Chapter 12, and these contours are made trivial if the field
components of interest are parallel to the contour C and normal to its enclosed surface S.
When the fields are not perpendicular, we must evaluate the fields normal to the surface
and parallel to the contour, which becomes quite cumbersome. We will begin to see the
complexity of nonorthogonal grids when we discuss the finite volume method in the
next section.
!z,f
!z,g "x,f
!z,c "y,c !z,c "y,f
j +1
j+3/4
j+1/2
j+1/4
j
"x,c
i –1 i i +1
Figure 15.3 Grid-level boundaries in AMR. Interpolation and averaging of fields are required at
the interface of different grid levels. In AMR, these must also occur when a grid cell or region is
refined or unrefined between time steps. Adapted from [3].
shock in Figure 15.2. In this method, our grid is now dynamic, where until now we have
discussed only static grids.
In either the static, irregular grid or the dynamic AMR grid, one must treat the
interfaces between coarse and fine grid cells carefully, as shown in Figure 15.3. A
number of different methods for interface interpolation have been used with success in
different AMR algorithms. We refer to Figure 15.3, which demonstrates the method of
Zakharian et al. [3] for a grid refinement factor of 2, i.e., the cells have been split in half
along each dimension. We assume that the grid has been established at the given time
step, and that !z is known on both the coarse (!z,c ) and fine (!z, f ) grids at time step
n; the corresponding magnetic field components are known at time step (n − 1/2) on
the coarse grid, and at time step (n − 1/4) on the fine grid. We then update the fields as
follows:
1. On the coarse grid, "x,c and " y,c are updated to time step n + 1/2 in the usual FDTD
algorithm, and then the electric field !z,c is advanced to time step (n + 1).
2. The “ghost” values of !z,g along the boundary between the coarse and fine grids are
determined at time step n through interpolation of the known !z fields, using both
coarse and fine grids. This can be done in a number of ways, as outlined by [3], and
the different methods result in different degrees of accuracy and stability.
3. The "x, f and " y, f fields are advanced a half-time step from (n − 1/4) to (n + 1/4)
using the values of !z, f at time step n. !z, f is advanced to time step (n + 1/2).
4. The “ghost” values of !z,g are interpolated at time step (n + 1/2) in the same way as
step 2 above.
360 Finite volume and finite element methods
5. The fields on the fine grid are advanced to time step (n + 3/4) for the " components
and (n + 1) for the !z, f component, as in step 3 above. 3
6. The magnetic fields on the interface boundary, i.e., "x,c 3i+1/2, j , are evaluated by
averaging (in time and space) the neighboring fine-grid fields. For example,
3n+1/2 1/ 3n+1/4 3n+3/4 3n+1/4 3n+3/4 0
"x,c 3i+1/2, j = "x,c 3i+1/4, j + "x,c 3i+1/4, j + "x,c 3i+3/4, j + "x,c 3i+3/4, j .
4
7. The !z,c fields are updated to time step (n + 1) along the interface boundary (i.e., at
(i + 1/2, j − 1/2) using the usual FDTD algorithm).
8. In the regions where the fine grid overlaps the coarse grid, i.e., the !z,c circles within
the fine grid, !z,c is replaced by a volume average of !z, f .
Note that steps 2–3 and steps 4–5 constitute a single updating of a fractional time step
on the fine grid. For a refinement factor of N , these pairs of steps must be repeated N
times. The refined regions are thus updated N times for every update on the coarse grid.
The method is a variant of the commonly used Berger-Oliger algorithm [4], in which
block regions of the grid are refined at each time step using a “tree” structure, allowing
finer and finer grids to be nested within one another.
The algorithm above is just one of a handful of possible ways to deal with the
refinement interface. Now, this algorithm can work with both static and dynamic grids.
In the dynamic AMR grid, the need for refinement is usually determined by gradients
in the propagating fields. Once a region has been marked for refinement, a new subgrid
is defined by interpolation of the known fields to the new, refined grid locations. This
interpolation must be conducted very carefully, as it has a strong effect on the overall
accuracy and stability of the simulation. For more details on AMR methods, we refer
the reader to the papers cited above and the book by Sarris [5].
and (i, j, k + 1) are neighbors. This means that only the node locations themselves need
to be defined, and it is assumed that each is connected to its nearest neighbors.
In an unstructured grid, however, this assumption is not valid. As such, not only
must the node locations be defined, but information about how they are connected must
be provided. Unstructured grids provide complete freedom in conforming to material
surfaces, and as such they provide the most powerful method for simulating detailed
structures. Typically, the grids themselves are generated using commercial software
packages; the extreme complexity of these grids lies in defining the mathematical rela-
tionships between fields on the nodes or faces of the grid elements. An example of an
unstructured grid is shown in Figure 15.7 in Section 15.3.
Entire books have been written on grid generation techniques; the reader is referred to
the book by Thompson et al. [7] for a thorough and detailed discussion of grid generation.
∂ ρ̃
+ ∇ · % = 0. (15.1)
∂t
∂ u⃗ ¯ (⃗
+ ∇ · +̄ u ) = 3(⃗
u) (15.2a)
∂t
⃗ x (⃗
∂ u⃗ ∂ + ⃗ y (⃗
u) ∂ + ⃗ z (⃗
u) ∂ + u)
+ + + u)
= 3(⃗ (15.2b)
∂t ∂x ∂y ∂z
where +̄¯ is a flux tensor of some variable, and 3 is a source term. Now, application of the
finite volume method involves integrating this general equation over small volumetric
domains (in 3D); the faces and edges of the volumes are known, having been established
as a nonuniform, unstructured grid as described in the previous section. We integrate
362 Finite volume and finite element methods
We next assume the field u⃗ is constant over the volume Vi and apply the divergence
theorem (equation 2.7):
! "
∂ u⃗i
Vi + +i∗ (⃗
u ) · n̂ d S = 3(⃗ u )dv (15.4a)
∂t Si Vi
!
∂ u⃗i 1
→ + +∗ (⃗u ) · n̂ d S = 3(⃗ ui ) (15.4b)
∂t Vi Si i
where n̂ is the unit normal to the surface Si which encloses Vi , and we have assumed
the source 3 is constant over the volume Vi . The vector +i∗ is the numerical flux, which
we have explicitly differentiated from the physical flux +̄ ¯ . This numerical flux is an
estimate of the flux leaving or entering the volume Vi through its surface Si ; how we
make the estimate of this numerical flux is what defines the particular finite volume
method.
Equation (15.4) is the general finite volume algorithm; in short, it states that the time
derivative of u⃗ in the volume Vi is equal to the flux out of the area Si enclosing Vi . To
write this as a time domain algorithm, we can in principle write the time derivative on
the left as a centered difference, yielding a usable update equation:
!
3n+1/2 3n−1/2 +t 3n 3n
u⃗i 3 = u⃗i 3 − u )3 ·n̂ d S + 3(⃗
+i∗ (⃗ u i )3 . (15.5)
Vi Si
The problem that remains, of course, is the discretization of the numerical flux term
over the surface Si ; the different algorithms for this discretization lead to the many
different finite volume methods.
∂#
= −∇ × ! (2.1)
∂t
∂$
= ∇ × " − %. (2.3)
∂t
The component equations can be written in conservative form as follows [8]:
!, "
c2
c1
V2
η ζ
V1
ξ
Figure 15.4 Finite volume grid cells. The co-located grid from the method of Shankar et al. [8].
All fields are co-located at the center of each grid cell (c1 , etc.). To evaluate the flux across faces
adjoining cells, a spatial average is taken between c1 and c2 to find the fields on the adjoining
face.
⎧ ⎫ ⎧ ⎫ ⎧ ⎫
⎪
⎪#x ⎪ ⎪ ⎪
⎪ 0 ⎪ ⎪ ⎪
⎪ $z /ϵ ⎪
⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪
⎪ # y ⎪
⎪ ⎪
⎪ −$ z /ϵ ⎪
⎪ ⎪
⎪ 0 ⎪
⎪
⎨ ⎪
⎪ ⎬ ⎪
⎨ ⎪
⎬ ⎪
⎨ ⎪
⎬
#z $ y /ϵ −$x /ϵ
0= ; +1 = ; +2 = ;
⎪
⎪ $x ⎪⎪ ⎪
⎪ 0 ⎪ ⎪ ⎪
⎪ −#z /µ⎪ ⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪
⎪ $ ⎪ ⎪ # /µ ⎪ ⎪ 0 ⎪
⎪ ⎪
⎩
y ⎪
⎭
⎪
⎪
⎩
z ⎪
⎪
⎭
⎪
⎪
⎩
⎪
⎪
⎭
$z −# y /µ #x /µ
⎧ ⎫ ⎧ ⎫
⎪
⎪ −$ y /ϵ ⎪⎪ ⎪
⎪ 0 ⎪ ⎪
⎪
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪
⎪ $ x /ϵ ⎪
⎪ ⎪
⎪ 0 ⎪
⎪
⎪
⎨ ⎪
⎬ ⎪
⎨ ⎪
⎬
0 0
+3 = ; 3= . (15.7)
⎪
⎪ # /µ ⎪ ⎪ ⎪
⎪−%x ⎪ ⎪
⎪ y
⎪ ⎪
⎪ ⎪
⎪ ⎪
⎪
⎪
⎪ −#x /µ⎪ ⎪ ⎪
⎪ −% y ⎪
⎪
⎪
⎩ ⎪
⎭ ⎪
⎩ ⎪
⎭
0 −%z
The reader can easily verify that this set of equations is equivalent to Maxwell’s
equations by simply writing out the component equations. Now, in this finite volume
method the fields !, $, #, and " are all co-located at the center of each grid cell of
volume Vi . In this way, the method differs considerably from the FDTD method, where
fields are interleaved in space.
Now, over a regular orthogonal grid such as that used in FDTD, one could quite easily
integrate these equations directly, since the field component would then be parallel to
cell edges and normal to cell faces. However, the power of the FVTD method comes
from its application in conformal, irregular grids.
Consider a general grid cell as shown in Figure 15.4. The geometry of this cell can be
defined by a coordinate transformation from (x, y, z) to (ξ, η, ζ ). Under this coordinate
364 Finite volume and finite element methods
Now, we arrive at the finite volume algorithm by integrating Equation (15.8) over
the cell volume Vi and applying the divergence theorem to the middle term, as in
Equations (15.3) and (15.4):
" " % & "
∂ 0̃ ∂&1 ∂&2 ∂&3
dv + + + dv = 3̃dv (15.11a)
Vi ∂t Vi ∂ξ ∂η ∂ζ Vi
! / 0
∂ 0̃i 1
→ + &1 · n̂ ξ + &2 · n̂ η + &3 · n̂ ζ d S = 3̃i (15.11b)
∂t Vi Si
where n̂ ξ , n̂ η , and n̂ ζ are the unit normal vectors respectively in the ξ , η, and ζ directions,
and we have again assumed 0̃ and 3̃ do not vary over the volume Vi .
Equation (15.11b) constitutes the general finite volume method for electromagnetics;
the evaluation of the flux term is what delineates the myriad FVTD methods. The problem
lies in the fact that the fields are all defined at the center of each grid cell volume, as
shown in Figure 15.4, but the evaluation of the flux terms requires the fields at the cell
faces. Thanks to the complicated geometries involved, the interpolation of fields at these
cell faces is far from trivial, and the specific method used can have significant effects on
accuracy and stability. The reader is referred to work by Shankar [8], Remaki [9], and
Harmon [10] for details.
!· s V1 (primary)
"· s*
s
s s1*
P
f1* P
s 2*
s3*
s*
f1*
V2 (dual)
(a) (b)
Figure 15.5 Finite volume grid cells, interleaved method. Adapted from [11]; dual and primary
grid cells overlap and define the locations of ! and " fields respectively. Evaluation of
Maxwell’s equations relies on computation of fluxes across cell faces, at the centers of which the
fields are defined.
as an FDTD method in a locally curvilinear coordinate system, while Yee and Chen
[12, 13] refer to it as a hybrid FDTD-FVTD method. For our brief description here,
we will follow the notation of Madsen and Ziolkowski [11], and assume an isotropic
medium, so that locally $ = ϵ! and # = µ".
Consider the cells in Figure 15.5a. Cell V1 is the “primary” cell, and the electric field
is defined on the edges of that cell. Cell V2 is the “dual” cell, on whose edges the " field
is defined. At each location, the full 3D vector fields are defined, rather than particular
components.
Now, referring to the electric field component at P, we define unit vectors s∗1 , s∗2 , and
s3 which form a local orthogonal set defined by the dual cell V2 ; s∗1 is normal to the
∗
face f 1∗ , and the other two are arbitrary, mutually orthogonal unit vectors. Now, we can
decompose ! in the direction of these unit vectors:
On the cell edge defined by s, we are particularly interested in the time derivative of
! along s, given by:
% & % & % &
∂(! · s) ∂! ∗ ∗ ∂! ∗ ∗ ∂! ∗
= · s (s1 · s) + · s (s2 · s) + · s (s∗3 · s). (15.13)
∂t ∂t 1 ∂t 2 ∂t 3
The derivation of this finite volume method relies on accurate evaluation of each of
the terms on the right in Equation (15.13). The first term is quite simple, since s∗1 is
normal to the face f 1∗ . Applying Ampère’s law to the face f 1∗ and assuming the field !
is constant over its area A∗ , we have
" !
∂! ∗
ϵ A∗ · s1 = (∇ × ") · s∗1 d A∗ = " · dl∗ (15.14)
∂t
366 Finite volume and finite element methods
where the line integral is taken over the contour surrounding A∗ , which passes through
four " fields; the fields are thus assumed to be constant over each edge. The other two
terms in Equation (15.13) are evaluated using Ampère’s law, integrated over a volume
V ∗ encompassing two dual cells: in particular, the two cells that share the face f 1∗ . These
two terms become:
" "
∂! ∗
ϵV ∗ · s2 = (∇ × ") · s∗2 d V ∗ = (n∗ × ") · s∗2 d A∗ (15.15a)
∂t
" "
∂! ∗
ϵV ∗ · s3 = (∇ × ") · s∗3 d V ∗ = (n∗ × ") · s∗3 d A∗ (15.15b)
∂t
where V ∗ is the volume of the two adjoining cells, and n∗ is a unit normal to the dual
face on the surface of V ∗ . At this point, the complexity of the finite volume method lies
in defining the unit normal vectors at each intersection between the primary and dual
grids. We refer the reader to Madsen and Ziolkowski [11] and the book by Rao [14] for
the details of the evaluation of these equations.
Equations (15.13)–(15.15) make up the finite volume algorithm for the ! update.
A similar set of equations is necessary for the " field update, which is derived from
Faraday’s law, and is given by:
% & % & % &
∂(" · s∗ ) ∂" ∗ ∂" ∗ ∂"
= · s1 (s1 · s ) + · s2 (s2 · s ) + · s3 (s3 · s∗ )
∂t ∂t ∂t ∂t
(15.16a)
" !
∂"
µA · s1 = − (∇ × !) · s1 d A = − ! · dl (15.16b)
∂t
" "
∂"
µV · s2 = − (∇ × !) · s2 d V = − (n × !) · s2 d A (15.16c)
∂t
" "
∂"
µV · s3 = − (∇ × !) · s3 d V = − (n × !) · s3 d A (15.16d)
∂t
where V , A, s∗ , and s1 etc. can be described for the primary face as their counterparts
were for the dual face. Finally, note that as usual the time derivative on the left-hand
side of Equation (15.13) can be (and is typically) evaluated using the standard leapfrog
centered difference in time.
!, $
n̂
", #
f1
!av
V1 (primary)
V2 (dual)
Figure 15.6 Finite volume grid cells, Yee method. Adapted from [12]; dual and primary grid cells
overlap and define the locations of ! and " fields respectively, but in this case the fields are
located at the cell vertices.
The Yee method makes use of the same integral forms of Maxwell’s equations:
" "
∂#
− dv = n̂ × ! d S (15.17a)
V ∂t A
" "
∂$
dv = n̂ × " d S (15.17b)
V ∗ ∂t A∗
where, again, V and V ∗ are the primary and dual cells, and A and A∗ are the surface
areas of those cells. Yee and Chen [13] presents the time-discretized algorithm using the
leapfrog algorithm in time, similar to the FDTD algorithm:
" / "
1 3n+1/2 3n−1/2 0 3n
− #3 − #3 dv = n̂ × !3 d S (15.18a)
+t V A
" / "
1 3n+1 3n 0 3n+1/2
$3 −$ 3 dv = n̂ × "3 d S. (15.18b)
+t V ∗ A ∗
Consider the evaluation of Equation (15.18a) on the primary cell in Figure 15.6. The
field # is located at the center of the primary cell V1 ; we assume the field is constant
over this volume, and the volume integral simplifies down to a multiplication by the
volume V1 . For the fluxes on the right-hand side of Equation (15.18a), on each face of
V1 we use the average of the ! fields at each of four vertices to approximate the ! field
on the face, as shown for the face f 1 . Of course, the vertices and faces need to be well
described in the grid formulation, so that the dot product ! · n̂ can be evaluated on each
face.
As a final note on the finite volume methods, it should be recognized that each of the
complexities that we have introduced in this book for the FDTD method can also be
introduced into the FVTD methods described here. This includes incorporating lossy,
dispersive, or anisotropic media; incorporating the total-field / scattered-field method;
truncating the simulation space with ABCs or PMLs; and, furthermore, the FVTD
368 Finite volume and finite element methods
methods can be derived as implicit schemes. Otherwise, explicit finite volume methods
are constrained by stability limitations, which are similar to the CFL stability criterion
in FDTD; Madsen and Ziolkowski [11] claim that, while the analytical stability criterion
is not known, stability is ensured if the time step +t times v p is kept less than half the
smallest distance between two grid vertices, which is an intuitively satisfying result.
In this section we introduce another method that is used frequently for solving elec-
trostatic and electromagnetic problems, namely the finite element method (FEM). This
method has been around for many decades, and has long been the method of choice for
statics and dynamics problems in mechanical and civil engineering (where it is often
referred to as finite element analysis or FEA) since the 1940s. Its use in electromagnetics
has a long history as well, beginning in the late 1960s. The dawn of high-speed comput-
ing and the development of boundary conditions and near-to-far field transformations
pushed the finite difference methods to the forefront of electromagnetic simulations in
the 1990s; however, finite element methods are making a comeback in recent years,
thanks to novel techniques that enable higher accuracy and efficiency in computations.
Furthermore, recent work has developed the Finite Element Method in Time Domain
(FE-TD), enabling the simulation of transient behaviors that are so well suited to FDTD.
The two primary reasons for using FEM rather than FDTD for electromagnetic prob-
lems are its geometric flexibility and the ability to work in higher orders of accuracy.
Geometric flexibility arises because the grid in FEM can use arbitrary polygons or
polyhedra (in 2D or 3D, respectively), and these can be designed to match the shapes
of objects in the simulation space or the expected field variations. Then, the fields are
assumed to take a particular functional form (usually polynomial) over this element;
accuracy can be improved by assuming higher-order polynomial basis functions on each
element.
Scores of textbooks and papers have been written on the finite element method, and
even a full chapter could not cover the method adequately. Hence, here we present a brief
introduction to the method and refer students to other resources for further reading.
The primary difference between the finite difference methods discussed so far and
the finite element methods is that finite difference methods find an approximation to the
governing differential equations, and then use these difference equations to solve for the
fields at grid locations or within cells. In finite element, on the other hand, one makes
an approximation to the solution of the differential equation over the domain of the
problem, and then tailors that approximation to minimize the difference between it and
the ideal, exact solution. This is illustrated in Figure 15.7. On the right, an example 2D
finite element mesh is shown, made up of irregular triangles. The mesh can use any type
of polygon, but triangles are typical for their simplicity and ease of fitting to structures
in the computational space. On the right, example triangular cells are shown with linear
(first-order polynomial) and parabolic (second-order) solutions. These solutions are then
matched to the adjacent cells to ensure continuity across the cell boundaries.
15.3 The finite element method 369
1st-order polynomial
2nd-order
polynomial
FEM mesh
Figure 15.7 Finite element mesh in 2D. On the right, individual cells are shown with polynomial
solutions assumed across their domains.
r = .φ̃ − f ̸= 0.
Both the Ritz and Galerkin methods are classical methods that have been used long
before the advent of computers, but used to solve problems over the entire domain. The
finite element approach to these problems has been to solve boundary value problems
using Ritz or Galerkin’s methods over small subdomains. The complete steps in the
methods are as follows:
1 Boundary value problems are those in which a governing differential equation must be solved with constraints
on the boundaries of the domain, which could be sources, scatterers, or material structures. The term is
used very generally and could even include high-order boundaries with their own governing differential
equations. Most, if not all, problems of interest in computational physics fall under the wide umbrella of
boundary value problems.
370 Finite volume and finite element methods
Figure 15.8 Finite element mesh of an integrated circuit transistor. Notice that the mesh is more
dense in the channel, where the fields are expected to be complex.
1. Grid the space. The domain over which the solution is desired is broken up into small
subdomains, known as “elements.”
2. Select basis functions. The solution is assumed to take a specific functional form over
each small subdomain or element.
3. Formulate a system of equations. Here is where one chooses either the Ritz, Galerkin,
or other methods to set up the system of equations. This system will include informa-
tion about boundaries and sources, and will have the added constraint of continuity
across element boundaries.
4. Solve the system of equations. Similar to FDFD, the solution of these systems typically
becomes purely a linear algebra problem.
Figure 15.8 shows an example of a 2D simulation using the finite element method,
where the simulation space of interest includes some structures resembling an integrated
circuit transistor. Notice how the mesh is designed with two purposes in mind: first, it
matches the edges of the structures perfectly; if some of these structures were curved, the
matching would be much better than our typical FDTD setup. Second, the mesh is more
refined in areas where the fields are expected to be more complex, such as along the
channel of this transistor. This flexibility allows simulations to be designed efficiently,
with greater mesh density only where needed.
Here, φ is the unknown field quantity, α and β are known parameters or functions
which define the physical domain, and f is a source function. This equation, with the
correct choices of α, β, and f , can be the Laplace, Poisson, or Helmholtz equations in
1D.
For generality we will assume mixed boundary conditions,
3
φ 3x=0 = p (15.20a)
- .
dφ
α + γφ =q (15.20b)
dx x=L
where p, q and γ are known parameters or functions. The first equation above (15.20a)
is a boundary condition of the first kind (a constant), known as a Dirichlet boundary
condition; and the second equation (15.20b) is a boundary condition of the third kind,
or Robin boundary condition. A boundary condition of the second kind (a Neumann
boundary condition) results if γ = 0. Note that the Robin boundary condition is a
combination of Dirichlet and Neumann.
φ e (x) = a e + be x.
372 Finite volume and finite element methods
Using this equation at each node of the element x1e and x2e and solving for a e and be ,
we find
x2e − x e x − x1e e
φ e (x) = φ1 + φ2 = N1e φ1e + N2e φ2e (15.21)
le le
where again l e = x2e − x1e , and φ1e and φ2e are the values of the function at the node
points. The notation Nie for the linear functions of x will be useful next for keeping our
equations manageable.
At this point we have the choice of following the Ritz formulation of minimizing
some functional, or using Galerkin’s method to minimize the residual; either method is
equally valid, but here we will use Galerkin’s. Given our approximate solution φ, we
wish to minimize the residual
# $
d dφ
r =− α + βφ − f. (15.22)
dx dx
Plugging in the equation for r in Equation (15.22), with the approximate φ given by
Equation (15.21), and simplifying,2 we find
" # $ " xe
dφ 33x2e
2 x2e
G d Nie d N ej 2
Rie = φ ej α e e
+ β Ni N j d x − Nie f d x − α Nie 3 . (15.24)
x1e dx dx x1e d x x1e
j=1
' () * ' () * ' () *
e
K iej bie gi
Following the same procedure for both nodes (i = 1, 2), the two equations can be
written together in matrix form as
Re = [Ke ] φ̄ e − be − ge (15.25)
where φ̄ e denotes that it is a column vector with two entries. Re , ge , and be are also
two-entry column vectors and [Ke ] is a 2 × 2 matrix with elements given by
" x2e # $
d Nie d N ej
K i,e j = α + β Nie N ej d x.
x1e dx dx
Note that if α, β, and f can be approximated as constant over any one element, then
K i,e j and bie can be directly integrated to find
e e αe el
e
K 1,1 = K 2,2 = + β
le 3
e e αe le
K 1,2 = K 2,1 =− e
+ βe
l 6
le
b1e = b2e = f e .
2
Notice also that gie is simply going to be the negative of itself at x1e and x2e ,
dφ 33 dφ 33 dφ 33
gie = α Nie 3 e − α Nie 3 e = ∓α Nie 3 ; i = 1, 2.
d x x=x2 d x x=x1 d x x=xie
Now that we have determined the form of the matrix equation and the factors K i,e j ,
bie ,
and gie in each element, we must put the elements together. Simply summing the
residuals Rie for each element, we find:
M
G M
G = >
R= Re = [Ke ] φ̄ e − be − ge = 0 (15.26)
e=1 e=1
where it is explicitly noted that we want to set this total residual to zero. In full matrix
form,
[K] φ̄ = b + g. (15.27)
φ23 = φ4 , where now the φ’s are uniquely stored at each node. Then the sum of the three
vectors above becomes
⎡ 1 1 ⎤
K 1,1 φ1 + K 1,2 φ2
G 3 1
⎢ K 2,1 1
φ1 + K 2,2 2
φ2 + K 1,1 2
φ2 + K 1,2 φ3 ⎥
[Ke ] φ̄ e = ⎢
⎣ K 2 φ2 + K 2 φ3 + K 3 φ3 + K 3 φ4 ⎦
⎥
e=1 2,1 2,2 1,1 1,2
3 3
K 2,1 φ3 + K 2,2 φ4
⎡ 1 1 ⎤⎡ ⎤
K 1,1 K 1,2 0 0 φ1
1
⎢ K 2,1 1 2
K 2,2 + K 1,1 2
K 1,2 0 ⎥ ⎢φ2 ⎥
=⎢
⎣ 0 2 2 3
⎥⎢ ⎥
3 ⎦⎣ ⎦. (15.30)
K 2,1 K 2,2 + K 1,1 K 1,2 φ3
3 3
0 0 K 2,1 K 2,2 φ4
Performing a similar expansion on the be and ge terms, we find the vectors
⎡ ⎤ ⎡ ⎤
b11 g11
G 3 G3
⎢b21 + b12 ⎥ ⎢g21 + g12 ⎥
be = ⎢
⎣b2 + b3 ⎦
⎥ ; ge = ⎢ ⎥
⎣g 2 + g 3 ⎦ .
e=1 2 1 e=1 2 1
b23 g23
At this point, the astute reader will observe that [K] is a tridiagonal matrix, and will
remain so for an arbitrary number of elements; similarly, b has a simple, repeatable
form. The last vector g simplifies even more; note that the middle elements of g take the
form gi = g2i−1 − g1i , but comparison with the form above for gie shows that
dφ 33 dφ 33
gi = α 3 i−1 −α 3 i
d x x=x2 d x x=x1
⎧ 3
3
⎪
⎪ −α dφd3x 3x=0
i =1
⎨
= dφ 3
α dx 3 i=N
⎪
⎪ x=L
⎩
0 i ̸= 1, N .
So g has only two nonzero elements, gi and g N . Now we have each of the vectors
and matrices for the matrix Equation (15.30) that we wish to solve; all that is left is to
impose the boundary conditions.
The simple boundary condition of the first kind (the Dirichlet boundary condition),
φ(x = 0) = p, is relatively easy to implement. It requires zeroing out the first row of
[K] above, and modification of b and g, so that
⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
1 0 0 0 φ1 p 0
⎢ K 21 K 22 K 23 K 24 ⎥ ⎢φ2 ⎥ ⎢b2 ⎥ ⎢ 0 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ (15.31)
⎣ K 31 K 32 K 33 K 34 ⎦ ⎣φ3 ⎦ = ⎣b3 ⎦ + ⎣ 0 ⎦
K 41 K 42 K 34 K 44 φ4 b4 g4
with g4 = g N given above. Here we have changed the entries of the [K] matrix and b
vector to allow for general entries. Notice how evaluating the first row multiplication of
this set of equations leaves us with the boundary condition φ1 = p. However, we have
lost the symmetry of the matrix [K], which is problematic for inversion when it becomes
15.3 The finite element method 375
large. To get around this, we can move the terms which depend on the known φ1 to the
right-hand side to modify b; for instance, the second equation has a term K 21 φ1 = K 21 p,
which can be moved to the right-hand side; this leaves us with
⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
1 0 0 0 φ1 p 0
⎢0 K 22 K 23 K 24 ⎥ ⎢φ2 ⎥ ⎢b2 − K 21 p ⎥ ⎢ 0 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ (15.32)
⎣0 K 32 K 33 K 34 ⎦ ⎣φ3 ⎦ = ⎣b3 − K 31 p ⎦ + ⎣ 0 ⎦
0 K 42 K 43 K 44 φ4 b4 − K 41 p g4
or, ignoring the known equation for φ1 ,
⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤
K 22 K 23 K 24 φ2 b2 − K 21 p 0
⎣ K 32 K 33 K 34 ⎦ ⎣φ3 ⎦ = ⎣b3 − K 31 p ⎦ + ⎣ 0 ⎦ . (15.33)
K 42 K 43 K 44 φ4 b4 − K 41 p g4
Now the matrix [K] is symmetric and tridiagonal again, simplifying the inversion
process that is still to come. Finally, we must include the third-order Robin boundary
condition at x = L given in Equation (15.20b). This is seen to be very simple since:
g N = αdφ/d x|x=L = q − γ φ N .
These can be added into the set of Equations (15.33), to find the final set:
⎡ ⎤⎡ ⎤ ⎡ ⎤
K 22 K 23 K 24 φ2 b2 − K 21 p
⎣ K 32 K 33 K 34 ⎦ ⎣φ3 ⎦ = ⎣ b3 − K 31 p ⎦ . (15.34)
K 42 K 43 K 44 + γ φ4 b4 − K 41 p + q
Note how a reversal of the boundary conditions (first-order at x = L and third-order
at x = 0) would have simply reversed the process from Equations (15.31) to (15.34),
and resulted in a matrix equation eliminating φ N rather than φ1 .
Element boundaries
x=0 x=L
Region 2 Region 1
(εr µr) (ε0 µ0) y
z x
kt
θi
ki
Hi
Ei
Figure 15.10 Finite element method for a simple electromagnetic problem. A TE wave incident
on a dielectric slab, with PEC backing. The FEM method is used to calculate the reflection
coefficient.
coefficient as a function of angle θ . Note that this is not a time domain computation; for
now, we will work in the frequency domain.
The governing differential equation of interest in the slab is
# $ # $
∂ 1 ∂ Ez 1
+ k02 ϵr − sin2 θ E z = 0, (15.35)
∂ x µr ∂ x µr
It can be shown that the boundary conditions for this problem are just as we had
before, a Dirichlet condition on one side and a Robin condition on the other side:
3
E z 3x=0 = 0 (15.36a)
- .
1 ∂ Ez
+ jk0 cos θ E z (x) = 2 jk0 cos θ E 0 e jk0 L cos θ . (15.36b)
µr ∂ x x=L
The astute reader should see Equation (15.36a) as the first-order boundary condition,
and Equation (15.36b) as the third-order boundary condition, exactly as before, having
the form:
- .
dφ
α + γφ =q
dx x=L
15.4 Discontinuous Galerkin method 377
1
φ = Ez α=
µr
γ = jk0 cos θ q = 2 jk0 cos θ E 0 e jk0 L cos θ .
Time integration
A note is required about time versus spatial discretization. In the FDTD method, we
approximate both the temporal and spatial derivatives with centered differences, as
derived in Chapter 3. However, the time and spatial components can easily be integrated
separately, using different methods. The finite element method is a method for solving the
spatial components of the problem. In electrostatic problems, this is all that is necessary;
but in electromagnetic problems, FEM will only solve the spatial derivatives, and a
separate method is required for the time integration.
This time integration can be done via explicit or implicit methods, such as those
described in Chapter 13. Note, however, that implicit time integration will require matrix
solutions for both the spatial components and temporal components.
While both finite element and finite volume methods have seen wide use in numerical
electromagnetics, both methods suffer from a number of drawbacks in practical use.
The finite element method suffers from the nonlocality of the scheme. Even if the basis
functions are chosen to be local, enforcing continuity of the function or its derivatives at
the boundary of each element means that a large (albeit sparse) matrix must be solved
in order to solve the system of equations. For 2D or 3D problems, the overhead involved
just in solving the system of equations can dominate the overall computational cost.
The finite volume method easily leads to strictly local, explicit schemes for hyperbolic
problems and is thus a natural choice for the solution of Maxwell’s equations. However,
the unique structure of Maxwell’s equations, in particular the odd-even coupling of the
magnetic and electric fields, means that specialized techniques, such as the dual grids
discussed in the previous section, must be used to attain reasonable accuracy. The most
severe limitation of the finite volume technique, however, is that achieving high-order
378 Finite volume and finite element methods
accuracy destroys the locality of the scheme, requiring progressively larger and larger
stencils for higher order accuracy.
In this section we will briefly discuss a family of numerical methods called discontinu-
ous Galerkin finite element methods (DG-FEM). The discontinuous Galerkin technique
combines important ideas from both the finite element method and the finite volume
method, producing a scheme that is strictly local, explicit in time, and which can achieve
a high order of accuracy.
We begin by considering a time-dependent 1D partial differential equation in flux
conservation form:
∂φ ∂ f (x, φ)
+ −s =0 (15.37)
∂t ∂x
where φ is the unknown quantity of interest, f (x, φ) is a flux function, and s is some
source term. We begin as in the finite element method by forming an approximation to
φ(x) over an element e. Using the same notation as in the previous section:
x2e − x e x − x1e e
φ e (x) = φ1 + φ2 = N1e (x)φ1e + N2e (x)φ2e . (15.38)
le le
We will approximate our solution φ(x) as a weighted sum of functions N ej (x). Note
that while there are only two terms in this simple example, the method can be easily
generalized to use any space of basis functions. We then approximate all the terms in
our PDE using the same basis, leading to the following approximations for φ, f , and s
in the element e:
G
φ e (x) ≃ φ ej N ej (x) (15.39a)
j
G
f e (x) ≃ f je N ej (x) (15.39b)
j
G
s e (x) ≃ s ej N ej (x). (15.39c)
j
We then apply Galerkin’s method, multiplying again by the same set of basis functions
Ni , integrating, and setting the integrated residual to zero:
" G- e .
∂φ j e e
∂ N ej
N j (x) + f j − s j N j (x) Nie (x)d x = 0.
e e
(15.41)
j
∂t ∂ x
coefficients. The sum reconstructs that unknown function in terms of its basis. This is
exactly analogous to expanding a continuous function in terms of a finite set of Fourier
coefficients, then reconstructing that function by a weighted sum of sinusoids.
Next, we interchange the order of integration and summation and integrate the ∂/∂ x
term by parts:
G " - ∂φ ej ∂ Nie
.
N ej (x)Nie (x) − f je N ej (x) − s ej N ej (x)Nie (x) d x (15.42)
j
∂t ∂x
G = > 33x2
=− Nie (x) f je N ej (x) 3 .
x1
j
Note that the right-hand side is a surface integral in 1D. In higher dimensions, we
proceed in the same manner but must apply the divergence theorem to the term containing
the spatial derivatives. This yields a similar expression, with a volume integral on the
left and a surface integral on the right.
The key to the discontinuous Galerkin method is how the right-hand term is handled.
Until now, we have only concerned ourselves with a purely element-local expansion
of a solution. This cannot by itself, however, possibly lead to a global solution unless
we impose additional constraints. In the classic finite element scheme discussed in
the previous section, the constraint is continuity. This serves to connect each element
to the next and ensures a valid global solution, provided the boundary conditions are
well-specified.
However, in the discontinuous Galerkin scheme, we relax this restriction and allow
the solution to be discontinuous: each element has its own independent boundary node,
and as such, we have effectively doubled the number of unknowns at the boundaries
between elements. At first glance, this might not seem to help matters, but as we will
see, we can next borrow an idea from the finite volume technique to connect one element
to the next in a physically consistent way.
Identifying the sum on the right-hand side of Equation (15.42) as a numerical flux f ∗
(as in the finite volume method), we can rewrite the equation as:
G " - ∂φ ej ∂Ne
.
N ej (x)Nie (x) − f je N ej (x) i − s ej N ej (x)Nie (x) dx (15.43)
j
∂t ∂x
3x2
3
= −Nie (x) f ∗,e (x)3 .
x1
Next, we use the fact that the expansion coefficients φ ej , f je , and s ej are independent
of x to rewrite Equation (15.43) as:
G ∂φ ej 3x2
3
Miej − f je K iej − s ej Miej = −Nie (x) f ∗,e (x)3 (15.44)
j
∂t x1
380 Finite volume and finite element methods
where:
"
Miej = Nie (x)N ej (x)d x (15.45a)
"
∂ Nie e
K iej = N (x)d x. (15.45b)
∂x j
Finally, we observe that this is a matrix equation and write it as:
∂φ e 3x2
3
Me − Ke f e − Me se = −Ne (x) f ∗,e (x)3 . (15.46)
∂t x1
Thus far, we have not discussed exactly how to calculate the flux function f ∗,e (x)
at the boundaries of the elements. The flux function is what makes the discontinuous
Galerkin method feasible: it serves to connect each element to its neighbors and can have
dramatic effects on the accuracy and stability of a scheme for a particular problem. The
complete description of this flux term is well outside the scope of this book; there are
literally decades of finite volume literature devoted to precisely this question. However,
a simple (and in practice often very useful) flux function is to simply average the values
from neighboring cells. That is:
1 9 e−1 :
f ∗,e (x1 ) = f (x2 ) + f e (x1 ) (15.47a)
2
19 e :
f ∗,e (x2 ) = f (x2 ) + f e+1 (x1 ) . (15.47b)
2
The discontinuous Galerkin method has a number of interesting properties. First, the
order of accuracy is arbitrary: we can increase the order of accuracy of the entire scheme
by simply using a higher-order basis. Second, in contrast to the finite element technique,
the mass matrix M in Equation (15.46) is strictly local, meaning that a complicated
inversion is not required, and can even be realistically constructed as a preprocessing
step. Finally, this locality can be preserved even for arbitrary orders of accuracy.
For simplicity, we will assume that ϵ and µ are constants. As before, we approximate
the solutions over each element e as:
G
! y (x) ≃ !ey, j N ej (x) (15.49a)
j
G
"z (x) ≃ "ez, j N ej (x). (15.49b)
j
15.4 Discontinuous Galerkin method 381
1 9 e−1 :
f "∗,ez (x1 ) = f "z (x2 ) + f "e z (x1 ) (15.52c)
2
19 e :
f "∗,ez (x2 ) = f "z (x2 ) + f "e+1 (x1 ) (15.52d)
2 z
where we have used our basis to reconstruct the value of the flux f (x) at the edges of
each element:
G 1G e
f !ey (x) = f !ey , j N ej (x) = "z, j N ej (x) (15.53a)
j
ϵ j
G 1G e
f "e z (x) = f "e z , j N ej (x) = ! N e (x). (15.53b)
j
µ j y, j j
Noting that the right-hand side is a function of the unknowns, we collect all of the
terms except the ∂/∂t term in Equations (15.50) to the right-hand side, yielding the
following (where we have dropped the e superscript for clarity):
∂
! y = g("z ) (15.54a)
∂t
∂
"z = h(! y ) (15.54b)
∂t
where g and h denote the fact that the right-hand sides here are functions of their argu-
ments. We can now discretize in time using any of the previously discussed techniques.
Stability is still a concern, of course, but thankfully much of the intuition gained from
working with FDTD carries over into discontinuous Galerkin methods. For instance,
using forward Euler with this scheme is unstable. However, for the central flux defined
382 Finite volume and finite element methods
This yields an explicit time-stepping algorithm, similar to the FDTD algorithm, except
that the spatial discretization has been applied very differently.
Discontinuous Galerkin methods have become very popular for solutions of Maxwell’s
equations in complicated geometries, and in hyperbolic problems in general. For further
reading in discontinuous Galerkin and DG-FEM methods for electromagnetics, we
refer the reader to the book by Hesthaven and Warburton [16], and articles (among many
excellent works) by Hu et al. [17], Hesthaven and Warburton [18], and Lu et al. [19], who
derive discontinuous Galerkin methods for dispersive materials and a PML boundary
condition.
15.5 Summary
In this chapter we have introduced different methods for numerically solving Maxwell’s
equations in the time domain. We began in Section 15.1 with an introduction to irregular
grids. Grids in the FDTD method, or in any numerical method, may be nonuniform,
where the spatial grid sizes vary throughout the space; nonorthogonal, where the grid
coordinate axes do not form an orthogonal basis; or even unstructured, where the grid
is not defined by sequentially indexed locations, but rather is made up of semi-random
cells.
Furthermore, grids may be dynamic, in that they are redefined at different time steps
in the solution; we presented the adaptive mesh refinement algorithm as an example of
a dynamic grid.
In Section 15.2 we introduced the finite volume method for electromagnetics. The
finite volume method takes a conservative system of equations to relate the density of
some parameter inside a small volume to the flux leaving that volume. We presented
the finite volume method for a general conservative system, and then for Maxwell’s
equations specifically, using a number of different formulations. The finite volume
method is strictly local, so that an explicit solution can be defined without the need for
matrix inversions.
We introduced the finite element method in Section 15.3. The finite element method
breaks up the simulation space into small elements, similar to the finite volume method,
but adjoins the grid elements by enforcing continuity at the boundaries. We introduced
the Galerkin method for finite elements for a general electrostatic problem, and for
Maxwell’s equations in 1D. The finite element method can achieve arbitrarily high
orders of accuracy depending on the basis functions chosen, but at the expense of
globally enforced continuity at the nodes of each element.
Finally, in Section 15.4 we introduced the discontinuous Galerkin method, which
combines the best of the finite volume and finite element methods. The fields are
References 383
15.6 Problems
15.1. Robin boundary condition in FEM. Show that the third-order boundary con-
dition, Equation (15.36b), is a statement of the boundary conditions in Chapter 2
at the free space–dielectric interface. Hint: Treat this problem as a dielectric slab
with a perfect conductor backing, and use the analytical methods of Chapter 9.
15.2. Deriving FDTD from FVTD. Show that the finite volume method described by
Equations (15.14)–(15.17) collapses to the FDTD algorithm when the grid cells
are orthogonal. Hint: on each cell edge, use only the field components parallel
to that edge, and note that on the edges, s = s∗1 , and s∗2 and s∗3 are in the plane of
the cell face, so that ! · s∗2 = ! · s∗3 = 0.
References
[1] P. Monk and E. Suli, “A convergence analysis of Yee’s scheme on non-uniform grids,” SIAM
J. Num. Analysis, vol. 31, pp. 393–412, 1994.
[2] P. Monk, “Error estimates for Yee’s method on non-uniform grids,” IEEE Trans. Magnetics,
vol. 30, pp. 3200–3203, 1994.
[3] A. R. Zakharian, M. Brio, and J. V. Moloney, “FDTD based second-order accurate local mesh
refinement for Maxwell’s equations in two space dimensions,” Comm. Math. Sci., vol. 2,
pp. 497–513, 2004.
[4] M. J. Berger and J. Oliger, “Adaptive mesh refinement for hyperbolic partial differential
equations,” J. Comp. Phys., vol. 53, pp. 484–512, 1984.
[5] C. D. Sarris, Adaptive Mesh Refinement for Time-Domain Numerical Electromagnetics.
Morgan & Claypool, 2007.
[6] A. Taflove and S. Hagness, Computational Electrodynamics: The Finite-Difference Time-
Domain Method, 3rd edn. Artech House, 2005.
[7] J. F. Thompson, B. K. Soni, and N. P. Weatherill, Eds., Handbook of Grid Generation. CRC
Press, 1999.
[8] V. Shankar, A. H. Mohammadian, and W. F. Hall, “A time-domain, finite-volume treatment
for the Maxwell equations,” Electromagnetics, vol. 10, pp. 127–145, 1990.
[9] M. Remaki, “A new finite volume scheme for solving Maxwell’s system,” COMPEL, vol. 19,
pp. 913–931, 2000.
[10] F. G. Harmon, “Application of a finite-volume time-domain Maxwell equation solver to
three-dimensional objects,” Master’s thesis, Air Force Institute of Technology, 1996.
[11] N. K. Madsen and R. W. Ziolkowski, “A three-dimensional modified finite volume technique
for Maxwell’s equations,” Electromagnetics, vol. 10, pp. 147–161, 1990.
384 Finite volume and finite element methods
[12] K. S. Yee and J. S. Chen, “Conformal hybrid finite difference time domain and finite volume
time domain,” IEEE Trans. Ant. Prop., vol. 42, pp. 1450–1455, 1994.
[13] K. S. Yee and J. S. Chen, “The finite-difference time-domain (FDTD) and the finite-volume
time-domain (FVTD) methods in solving Maxwell’s equations,” IEEE Trans. Ant. Prop.,
vol. 45, pp. 354–363, 1997.
[14] S. M. Rao, Ed., Time Domain Electromagnetics. Academic Press, 1999.
[15] J. Jin, The Finite Element Method in Electromagnetics, 2nd edn. Wiley, 2002.
[16] J. S. Hesthaven and T. Warburton, Nodal Discontinuous Galerkin Methods: Algorithms,
Analysis, and Applications. Springer, 2008.
[17] F. Q. Hu, M. Y. Hussaini, and P. Rasetarinera, “An analysis of the discontinuous Galerkin
method for wave propagation problems,” J. Comp. Phys., vol. 151, pp. 921–946, 1999.
[18] J. S. Hesthaven and T. Warburton, “Nodal high-order methods on unstructured grids: I.
time-domain solution of Maxwell’s equations,” J. Comp. Phys., vol. 181, pp. 186–221, 2002.
[19] T. Lu, P. Zhang, and W. Cai, “Discontinuous Galerkin methods for dispersive and lossy
Maxwell’s equations and PML boundary conditions,” J. Comp. Phys., vol. 200, pp. 549–580,
2004.
Index