EMP-5304

Electromagnetic Analysis Using Finite-Difference Time Domain

This course will teach students how to implement the finite-difference time-domain (FDTD) method in MATLAB. Students will apply the tools to analyze a number of common devices and configurations like waveguides, thin film optical filters, gratings, frequency selective surfaces, and more.

Course Paperwork

Course Assignments

Homework

Final Project

Lecture Notes (PDF)

Topic 1 — Preliminary Topics

Topic 2 — One-Dimensional FDTD

Topic 3 — Two-Dimensional FDTD

Topic 4 — Device Simulation Examples

Topic 5 — Advanced Topics in FDTD

Topic 6 — Final Notes

Other Resources

  • (Zip) FDTD MATLAB Files
    • draw1d.p — This function is used in one-dimensional FDTD to efficiently visualize the electric and magnetic field superimposed onto the materials across the entire grid.
    • draw2d.p — This function is used in two-dimensional FDTD to efficiently visualize the field superimposed onto the materials across the entire grid.
    • polyfill.p — This function creates arbitrary polygons on a 2D array given the list of vertices around the perimeter of the polygon.
    • polyfill_demo.m — This MATLAB program demonstrates the use of polyfill() to create an arbitrary polygon on a 2D grid.
    • flagcmap.m — This function creates colormaps for the country flags of the members of the EM Lab.
    • test_hw8_prob1.p — This function is used in Homework #8 to test the values assigned to the PML conductivity terms. See Homework #8 for details.
    • test_hw8_prob2.p — This function is used in Homework #8 to test the values calculated in the update coefficients. See Homework #8 for details.
    Note: The above items are protected function files and have a “.p” extension. They work just like “.m” files, but they cannot be opened to view the code inside them.
    • (PDF) Help headers for draw1d(), draw2d() and polyfill().
Scroll to Top