Two-Dimensional Finite-Difference Time-Domain (FDTD) in MATLAB

Do you have ideas or designs that you would like to simulate but don't know how to start? 

Are you ready to rise above your competition with stunning simulations and visualizations? 

This course will give you the ability to derive all the equations for 2D FDTD and implement them in MATLAB. Imagine developing a code that gives you simulation capabilities way beyond commercial software.  Learn the powerful "2x grid" method for modeling curved dielectric structures.  Learn a unique implementation of the total-field/scattered-field technique to launch sources into your simulations and examine the scattered waves.  Learn the state-of-the-art convolutional perfectly matched layer absorbing boundary.  And so much more!

Building on the prerequisite course on 1D FDTD, this course will introduce you to 2D simulations and cover everything from deriving all of the equations to writing the programs in MATLAB.  The course uses stunning visuals and animations to teach the concepts.  The course will step you line-by-line through guided code development and through multiple device examples.  You will simulate a grating and calculate the diffraction efficiencies of the diffraction orders.  You will learn how to simulate a guided-mode resonance filter as well as simulate a hexagonal photonic crystal. For each example, you will learn the theory of the device and the methodology used to simulate the devices. After hearing Dr. Rumpf's clear and step-by-step explanations, you will be able to simulate your own devices in no time!  

View select topics in this course completely free.

Before taking this course, please complete the prerequisite course "One-Dimensional Finite-Difference Time-Domain with MATLAB" at the link below.  Many background concepts are covered in the prerequisite that are needed to be successful in this course.

https://empossible.thinkific.com/courses/1D-FDTD

Course curriculum

  • 1

    Topic 1 -- Introduction to 2D FDTD

  • 2

    Topic 2 -- Techniques for Modeling Devices on Grids

    • Lecture 2A -- Introduction to Building Geometries into Arrays

      FREE PREVIEW
    • Notes 2A -- Introduction to Building Geometries into Arrays

    • Lecture 2B -- 2x Grid Technique

    • Notes 2B -- 2x Grid Technique

    • Lecture 2C -- Meshgrids

    • Notes 2C -- Meshgrids

    • Lecture 2D -- Modeling Devices onto 2D Grids

    • Notes 2D -- Modeling Devices onto 2D Grids

    • Lecture 2E -- Example of Modeling a Device onto a 2D Grid

    • Notes 2E -- Example of Modeling a Device onto a 2D Grid

    • Lecture 2F -- Coordinate System & Graphics

    • Notes 2F -- Coordinate System & Graphics

  • 3

    Topic 3 -- Perfectly Matched Layer Absorbing Boundary

    • Lecture 3A -- What is a PML?

      FREE PREVIEW
    • Notes 3A -- What is a PML?

    • Lecture 3B -- Uniaxial PML

    • Notes 3B -- Uniaxial PML

    • Lecture 3C -- Stretched-Coordinate PML

    • Notes 3C -- Stretched-Coordinate PML

    • Lecture 3D -- PML Parameters

    • Notes 3D -- PML Parameters

  • 4

    Topic 4 -- Formulation of Update Equations

    • Lecture 4A -- Preparing Maxwell's Equations for FDTD

    • Notes 4A -- Preparing Maxwell's Equations for FDTD

    • Lecture 4B -- Derivation of 3D Update Equations Without a PML

    • Notes 4B -- Derivation of 3D Update Equations Without a PML

    • Lecture 4C -- Reducing the Equations Without a PML to Two Dimensions

    • Notes 4C -- Reducing the Equations Without a PML to Two Dimensions

    • Lecture 4D -- Numerical Boundary Conditions

    • Notes 4D -- Numerical Boundary Conditions

    • Lecture 4E -- Maxwell's Equations with a PML

    • Notes 4E -- Maxwell's Equations with a PML

    • Lecture 4F -- Derivation of 3D Update Equations with PML

    • Notes 4F -- Derivation of 3D Update Equations with a PML

    • Lecture 4G -- Reducing the Update Equations to Two Dimensions

    • Notes 4G -- Reducing the Update Equations to Two Dimensions

  • 5

    Topic 5 -- Total-Field/Scattered-Field Technique

    • Lecture 5A -- Introduction to TF/SF

      FREE PREVIEW
    • Notes 5A -- Introduction to TF/SF

    • Lecture 5B -- Derivation of TF/SF Corrections - Part 1

    • Notes 5B -- Derivation of TF/SF Corrections - Part 1

    • Lecture 5C -- Derivation of TF/SF Corrections - Part 2

    • Notes 5C -- Derivation of TF/SF Corrections - Part 2

    • Lecture 5D -- Implementation of TF/SF

    • Notes 5D -- Implementation of TF/SF

    • Lecture 5E -- Electromagnetic Waves

    • Notes 5E -- Electromagnetic Waves

    • Lecture 5F -- Gaussian Pulse Source

    • Notes 5F -- Gaussian Pulse Source

    • Lecture 5G -- Gaussian Beam Source

    • Notes 5G -- Gaussian Beam Source

    • Lecture 5H -- Numerical Dispersion

    • Notes 5H -- Numerical Dispersion

  • 6

    Topic 6 -- Simulating Periodic Structures

    • Lecture 6A -- Grid Strategy

    • Notes 6A -- Grid Strategy

    • Lecture 6B -- Revised Update Equations

    • Notes 6B -- Revised Update Equations

    • Lecture 6C -- Simplified TF/SF Corrections

    • Notes 6C -- Simplified TF/SF Corrections

    • Lecture 6D -- Simplified TF/SF Source Functions

    • Notes 6D -- Simplified TF/SF Source Functions

    • Lecture 6E -- Diffraction from Gratings

    • Notes 6E -- Diffraction from Gratings

    • Lecture 6F -- Diffraction Efficiency

    • Notes 6F -- Diffraction Efficiency

    • Lecture 6G -- Steps for Calculating Reflection & Transmission

    • Notes 6G -- Steps for Calculating Reflection & Transmission

  • 7

    MATLAB Implementation of E (TM) Mode

    • Lecture -- Implementation of the E Mode

    • Notes -- Implementation of the E Mode

    • MATLAB Session (E Mode) -- Step 1a Basic 2D-FDTD Engine

      FREE PREVIEW
    • MATLAB Session (E Mode) -- Step 1b Basic 2D-FDTD Engine

    • MATLAB Session (E Mode) -- Step 1c Basic 2D-FDTD Engine

    • MATLAB Session (E Mode) -- Step 2 Simple Dipole Source

    • MATLAB Session (E Mode) -- Step 3 Periodic Boundary Conditions

    • MATLAB Session (E Mode) -- Step 4a Convolutional PML

    • MATLAB Session (E Mode) -- Step 4b Convolutional PML

    • MATLAB Session (E Mode) -- Step 4c Convolutional PML

    • MATLAB Session (E Mode) -- Step 5a Total-Field/Scattered-Field

    • MATLAB Session (E Mode) -- Step 5b Total-Field/Scattered-Field

    • MATLAB Session (E Mode) -- Step 7 Periodic Structures

    • MATLAB Session (E Mode) -- Step 8a Reflection & Transmission

    • MATLAB Session (E Mode) -- Step 8b Reflection & Transmission

  • 8

    MATLAB Implementation of H (TE) Mode

    • Lecture -- Implementation of the H Mode

    • Notes -- Implementation of the H Mode

    • MATLAB Session (H Mode) -- Step 1a Basic 2D-FDTD Engine

      FREE PREVIEW
    • MATLAB Session (H Mode) -- Step 1b Basic 2D-FDTD Engine

    • MATLAB Session (H Mode) -- Step 1c Basic 2D-FDTD Engine

    • MATLAB Session (H Mode) -- Step 2 Simple Dipole Source

    • MATLAB Session (H Mode) -- Step 3 Periodic Boundary Conditions

    • MATLAB Session (H Mode) -- Step 4a Convolutional PML

    • MATLAB Session (H Mode) -- Step 4b Convolutional PML

    • MATLAB Session (H Mode) -- Step 4c Convolutional PML

    • MATLAB Session (H Mode) -- Step 4d Convolutional PML

    • MATLAB Session (H Mode) -- Step 5a Total-Field/Scattered-Field

    • MATLAB Session (H Mode) -- Step 5b Total-Field/Scattered-Field

    • MATLAB Session (H Mode) -- Step 5c Total-Field/Scattered-Field

    • MATLAB Session (H Mode) -- Step 7 Periodic Structures

    • MATLAB Session (H Mode) -- Step 8a Reflection & Transmission

    • MATLAB Session (H Mode) -- Step 8b Reflection & Transmission

  • 9

    Device Example #1 -- Diffraction Grating

    • Lecture -- Theory, Design & Results for a Diffraction Grating

    • Notes -- Theory, Design & Results for a Diffraction Grating

    • MATLAB Session (E Mode) -- Step 9 Diffraction Grating

    • MATLAB Session (H Mode) -- Step 9 Diffraction Grating

    • MATLAB Session (E Mode) -- Step 6 Diffraction Grating

    • MATLAB Session (H Mode) -- Step 6 Diffraction Grating

  • 10

    Device Example #2 -- Guided-Mode Resonance Filter

    • Lecture -- Theory, Design & Results for a Guided-Mode Resonance Filter

    • Notes -- Theory, Design & Results for a Guided-Mode Resonance Filter

    • MATLAB Session (E Mode) -- Step 9 Guided-Mode Resonance Filter

    • MATLAB Session (H Mode) -- Step 9 Guided-Mode Resonance Filter

  • 11

    Device Example #3 -- Photonic Crystal

    • Lecture -- Theory, Design & Results for a Photonic Crystal

    • Notes -- Theory, Design & Results for a Photonic Crystal

    • MATLAB Session (E Mode) -- Step 9 Photonic Crystal

    • MATLAB Session (H Mode) -- Step 9 Photonic Crystal

  • 12

    BONUS Topic -- Simulating Materials with Loss

    • Lecture BT1 -- Formulation of Update Equations with Loss

    • Notes BT1 -- Formulation of Update Equations with Loss

    • Lecture BT2 -- Implementation of 2D FDTD with Loss

    • Notes BT2 -- Implementation of 2D FDTD with Loss

    • MATLAB Session -- Incorporating Loss for E Mode

    • MATLAB Session -- Incorporating Loss for H Mode

Pricing options

The paid course includes access to all lectures, MATLAB sessions and downloadable notes for all lectures for one year after enrollement. Note: The 1D FDTD Course is considered a pre-requisite for the 2D FDTD course.

See what others are saying about 2D FDTD with MATLAB:

5 star rating

Two-Dimensional Finite-Difference Time-Domain (FDTD) with...

Lewis Asilevi

This course was honestly worth every penny of mine. It delivered exactly what it promised to. I am looking forward to applying the things I have learned here...

Read More

This course was honestly worth every penny of mine. It delivered exactly what it promised to. I am looking forward to applying the things I have learned here in my future research carrier.Thank you Professor Rumpf.

Read Less
5 star rating

Review of 2D FDTD lectures from a student

Huynh Thanh Trung

To whom who may concern, I discovered this online lecture from a recommendation. Before the discover of these lectures, I had an extremely hard moment to ...

Read More

To whom who may concern, I discovered this online lecture from a recommendation. Before the discover of these lectures, I had an extremely hard moment to start to learn about the FDTD method. I knew about the electromagnetic theory, I knew about the programmation in Matlab and I thought that I am ready to start the FDTD code in Matlab but I wickly recognized that still not enough because I don't know about the specific technics in FDTD such as 2x grids, incorporation of PML, incorporation TF/SF in Yee grid. I spent a lot of time to do the research on the Internet but I found very few doccumentations that could respond to my problem and my need in FDTD method. Up to now, these 2D FDTD lectures are the only open source on the Internet that help me to master the FDTD method. I am not only learn from Dr Rumpf the code in Matlab but also the mathematics development of FDTD. After these lectures, I feel like I am ready to apply my knowledge in FDTD into my future projects which involve the modelization of light-matter interactions. I really want to learn more from Dr Rumpf on the advance topics in FDTD such as the problem of frequency-dependance materials, Near Field to Far Field technic, Scattering analysis, anisotropic materials and 3D FDTD. Thanks you a lot for your amazing lectures and I look forward to learn from you about the advance topics in FDTD soon. Your online student, HUYNH Thanh Trung

Read Less
5 star rating

I just completed Topic 1 -- Introduction to 2D FDTD!

Da-Wei Lee

Dear Professor Rumpf, please allow me to thank you from the bottom of my heart! Your courses are the treasure I was always dreaming of but never found befor...

Read More

Dear Professor Rumpf, please allow me to thank you from the bottom of my heart! Your courses are the treasure I was always dreaming of but never found before, now, it becomes real! Thank you so much for your wisdom and energy inspiring my mind everyday! Your fan and follower, Da-Wei

Read Less

Meet the Instructor

Founder of EMPossible and Professor at Univ. of Texas at El Paso

Dr. Raymond Rumpf

Dr. Raymond (Tipper) Rumpf is the EMProfessor, world renowned research and educator in the fields of computation and electromagnetics. He is the Schellenger Professor of Electrical Research in the Department of Electrical & Computer Engineering at the University of Texas at El Paso (UTEP) and the Director of the EM Lab. Dr. Rumpf formed the EM Lab with a mission to develop revolutionary technologies in electromagnetics and photonics. Under Dr. Rumpf’s leadership, the EM Lab has produced numerous breakthroughs, discoveries, and first-ever achievements. Raymond earned his BS and MS in Electrical Engineering from the Florida Institute of Technology in 1995 and 1997 respectively. He earned his PhD in Optics in 2006 from the University of Central Florida. Raymond has been awarded many research, mentoring, and teaching awards including the 2019 Dean’s Award for Excellence in Research, Most Outstanding Faculty Member in 2016/2017, and the highly prestigious University of Texas Regents’ Outstanding Teaching Award. Raymond holds five world records for skydiving and has been awarded more than a dozen United States patents. He is an Associate Editor for SPIE Optical Engineering, a Fellow of SPIE, and a Senior Member of IEEE. He is also a member of OSA, and ARRL. Raymond is active in outreach with local grade schools in El Paso as well as helping students in third-world countries.