Litcius/Paper detail

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

Rasmus E. Christiansen, Ole Sigmund

2020Journal of the Optical Society of America B60 citationsDOIOpen Access PDF

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 .

Topics & Concepts

MATLABTopology (electrical circuits)Topology optimizationLine (geometry)Code (set theory)InverseComputer sciencePhotonicsProgramming languageMathematicsElectrical engineeringPhysicsOpticsEngineeringGeometryThermodynamicsFinite element methodSet (abstract data type)Topology Optimization in EngineeringPhotonic and Optical DevicesOptical Coatings and Gratings
Compact 200 line MATLAB code for inverse design in photonics by topology optimization: tutorial | Litcius