Compact 200 line MATLAB code for inverse design in photonics by topology optimization: tutorial

Rasmus E. Christiansen*, Ole Sigmund

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review

53 Downloads (Pure)

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.
Original languageEnglish
JournalJournal of the Optical Society of America - B
Volume38
Issue number2
Pages (from-to)510-520
ISSN0740-3224
DOIs
Publication statusPublished - 2021

Fingerprint Dive into the research topics of 'Compact 200 line MATLAB code for inverse design in photonics by topology optimization: tutorial'. Together they form a unique fingerprint.

Cite this