Compact 200 line MATLAB code for inverse design in photonics by topology optimization: tutorial
Abstract
We provide a compact 200 line MATLAB code demonstrating how topology optimization (TopOpt) as an inverse design tool may be used in photonics, targeting the design of two-dimensional dielectric metalenses and a metallic reflector as examples. The physics model is solved using the finite element method, and the code utilizes MATLAB's fmincon algorithm to solve the optimization problem. In addition to presenting the code itself, we briefly discuss a number of extensions and provide the code required to implement some of these. Finally, we demonstrate the superiority of using a gradient-based method compared to a genetic-algorithm-based method (using MATLAB's ga algorithm) for solving inverse design problems in photonics. The MATLAB software is freely available in the paper and may be downloaded from https://www.topopt.mek.dtu.dk.
- Publication:
-
Journal of the Optical Society of America B Optical Physics
- Pub Date:
- February 2021
- DOI:
- 10.1364/JOSAB.405955
- arXiv:
- arXiv:2009.14276
- Bibcode:
- 2021JOSAB..38..510C
- Keywords:
-
- Computer Science - Mathematical Software;
- Computer Science - Computational Engineering;
- Finance;
- and Science;
- Physics - Optics
- E-Print:
- 5 Figures, 17 pages