Electromagnetic and Photonic Simulation for the Beginner: Finite-Difference Frequency-Domain in MATLAB

ELectromagnetic and Photonic Simulation for the Beginner FDFD

Copyright 2022
Pages: 350
ISBN: 9781630819262
Author: Raymond C. Rumpf

Electromagnetic and Photonic Simulation for the Beginner: Finite-Difference Frequency-Domain in MATLAB

Written by Dr. Raymond C. Rumpf, the EMProfessor, this book teaches the art of computational electromagnetics using the finite-difference frequency-domain (FDFD). The books starts from the simplest concepts and works up to advanced three-dimensional simulations.  It uses plain language and plenty of high-quality graphics to allow the complete beginner to grasp all of the concepts quickly and visually.  This single resource includes everything needed to simulate a wide variety of different electromagnetic and photonic devices (see below).  The book is packed with helpful guidance and computational wisdom that will aid the reader to easily simulate their own devices and more easily learn and implement other methods in computational electromagnetics.

Special techniques in MATLAB® are presented that will allow readers to simulate their own device ideas using FDFD.  Key concepts in electromagnetics are reviewed so the reader can fully understand the calculations happening in FDFD.  A powerful method for implementing the finite-difference method is taught that will enable the reader to solve entirely new differential equations, and sets of differential equations, in mere minutes. 

Separate chapters are included that describe how Maxwell’s equations are handled using this finite-difference method and how outgoing waves can be absorbed using a perfectly matched layer absorbing boundary.  With this background, a chapter describes how to calculate full vector guided modes in channel waveguides and slab waveguides, rigorously analyze transmission lines, and calculate surface plasmon polaritons supported at the interface between a metal and a dielectric. 

The effective index method based on slab waveguide analysis is taught as way to model many three-dimensional devices using just a two-dimensional simulation.  Another chapter describes how to calculate photonic band diagrams and isofrequency contours to quickly estimate the properties of periodic structures like photonic crystals.  Next, a chapter presents how to analyze diffraction gratings and calculate the power coupled into each diffraction order.  

This book shows that many periodic devices can be simulated as if they were diffraction gratings including guided-mode resonance filters, photonic crystals, polarizers, metamaterials, frequency selective surfaces, and metasurfaces.  Plane wave sources, Gaussian beam sources, and guided-mode sources are all described in detail, allowing different types of devices to be simulated in different ways.  An optical integrated circuit is reduced to two dimensions using the effective index method and then simulated using FDFD by launching a guided-mode source into the circuit.  

A chapter is included to describe how FDFD should be modified to easily perform parameter sweeps, such as plotting reflection and transmission as a function of frequency, wavelength, angle of incidence, or a parameter describing a device.  The last chapter is advanced and teaches FDFD for three-dimensional devices and anisotropic materials.  It includes simulations of a crossed grating, a doubly-periodic guided-mode resonance filter, a frequency selective surface, and an invisibility cloak.  The chapter also includes parameter retrieval from a left-handed metamaterial.

The book includes a line-by-line explanation of all of the programs that can be downloaded from this website.  This will allow readers to fully understand the codes so they can easily modify the codes to simulate their own ideas and devices.  All of the MATLAB codes can be downloaded from this website and other learning resources can be accessed from EMPossible.  This is an ideal book for an undergraduate elective course as well as a graduate course in computational electromagnetics because the book covers the background material so well and includes full examples of many different types of devices that will be of interest to a wide audience.

Table of Contents

Chapter 1 – MATLAB Preliminaries

Special skills and techniques for implementing FDFD in MATLAB are described.  Topics include matrices, linear algebra, building devices into arrays, and visualizing data in arrays.

Chapter 2 – Electromagnetic Preliminaries

All of the background in electromagnetics and device theory is presented that is needed to fully understand how FDFD is implemented.  Topics include Maxwell’s equations, tensors, waves, polarization, scattering at an interface, diffraction from gratings, waveguides, transmission lines, and scalability of Maxwell’s equations.

Maxwell's Equations that describe classical electromagnetics

Chapter 3 – The Finite-Difference Method

A unique and very powerful method of implementing the finite-difference method is presented that allows entirely new differential equations to be solved in mere seconds to minutes.  Concepts such as boundary conditions, derivative matrices, multiple variables, staggered grids, and solving matrix equations is discussed.

Chapter 4 – Finite-Difference Approximation of Maxwell’s Equations

Numerical approximation of Maxwell’s equations using the finite-difference method is described.  Field components are spatially staggered following the Yee grid scheme.  Matrix representations of Maxwell’s equations are derived that include boundary conditions.

Stereo image of a Yee grid that illustrates how electric and magnetic fields are distributed and staggered across a grid
Stereo image of Yee grid cell

Chapter 5 – The Perfectly Matched Layer Absorbing Boundary

The perfectly matched layer (PML) absorbing boundary is presented as a way of absorbing waves at the boundaries of a simulation.  Both a uniaxial PML and a stretched-coordinate PML are described.

Perfectly matched layer absorbing boundary to absorb outgoing waves

Chapter 6 – FDFD for Calculating Guided Modes

FDFD is formulated and implemented for calculating guided modes.  This includes rigorous hybrid mode analysis, slab waveguide analysis, surface wave analysis, and analysis of transmission lines.  The effective index method is presented as a way of using slab waveguide analysis to model many three-dimensional problems in just two dimensions.

Rib Waveguide
Surface plasmon polariton, sometimes just called a surface plasmon

Chapter 7 – FDFD for Calculating Photonic Bands

FDFD is formulated and implemented for calculating photonic band diagrams and isofrequency contours of periodic structures.  A self-collimating photonic crystal is analyzed.  Both calculations and creating the diagrams are explained in detail.

Photonic Band Diagram
Full photonic bands form sheets above the Brillouin zone
Isofrequency contours to engineer the dispersion of a periodic structure like a photonic crystal or metamaterial

Chapter 8 – FDFD for Scattering Analysis

Two-dimensional FDFD for scattering analysis is formulated and implemented, including how to incorporate different types of sources and how to calculate transmission and reflection from periodic structures.  Devices examples include a sawtooth diffraction grating, a photonic crystal, and an optical integrated circuit.

Sawtooth diffraction grating produces asymmetric diffraction to test and troubleshoot diffraction orders
Photonic Crystal, metamaterial
Optical integrated circuit, directional coupler, ring resonator

Chapter 9 – Parameter Sweeps with FDFD

FDFD is modified to perform different types of parameter sweeps including frequency sweeps, wavelength sweeps, dimension sweeps, and convergence sweeps.  Device examples include a guided-mode resonance filter and a terahertz polarizer.

Guided-mode resonance filter
Frequency Sweep of a guided-mode resonance filter
Broadband wire grid polarizer

Chapter 10 – FDFD Analysis of Three-Dimensional and Anisotropic Devices

Three-dimensional and anisotropic FDFD is formulated and implemented including sources, iterative solution, and iterative solution on a GPU.  Device examples include a crossed grating guided-mode resonance filter, a frequency selective surface, parameter retrieval of a left-handed metamaterial, and an invisibility cloak designed by transformation optics

A crossed, or doubly-periodic, diffraction grating
A frequency selective surface composed of Jerusalem crosses
A left-handed metamaterial with negative refractive index
Waves through an invisibility cloak labeled with Transformation Optics Devices


Best practices for building devices onto Yee grids is covered in Appendix A.1.  The discussion includes placing metals onto the grid as well as dielectric averaging to better resolve curved dielectric structures.  The remaining appendices are summaries that allow the reader to quickly and conveniently access the key equations to implement the methods.  Summaries include the discrete form of Maxwell’s equations, the perfectly matched layer absorbing boundary, waveguide analysis, three-dimensional and anisotropic FDFD, and construction of photonic band diagrams.

FDFD Codes for the Book

Download all of the codes for each chapter of the book at the links below.  All of the codes are described in detail in the book.

(Zip) (PDF) MATLAB Codes (updated Updated 1 April 2023)

(Zip) OCTAVE Codes (updated Updated 1 April 2023)
Note: I have not yet been able to get all of Chapter 10 codes to run correctly in Octave.


Errata Document (Updated 28 November 2023)

Other Learning Resources

Are you interested in other learning resources for electromagnetics and computation offered by Dr. Raymond C. Rumpf?

Scroll to Top