“Inverse design” is a technique where one can use computational methods to automate the process of designing photonic devices. The designer simply expresses the desired performance as a mathematical optimization problem and lets the computer find the solution. In this course, we dive into the fundamentals of inverse design, how it is enabled using the “adjoint method”, and give practical examples and important considerations when setting up an inverse design problem. The course includes video lectures and tutorials using Flexcompute's Tidy3D solver for its examples, and the scripts used in the slides are publicly accessible from this website. Basic knowledge of electromagnetics and programming is recommended to get the most use out of this course. A basic knowledge of FDTD (e.g., our FDTD 101 series) is helpful but not required.
After completing this course, you will be able to:
Understand the fundamentals of inverse design.
Have a basic understanding of how gradients are computed efficiently using the "adjoint method".
Get hands-on experience with inverse design optimization examples.
Learn how to include fabrication constraint considerations in your optimization.
Learn intuition regarding how to improve performance and properly set up inverse design problems.