Code and Publications

Jonathan Fan, Stanford University
GLobal Optimization NETwork or GLOnet is a global optimizer, based on a generative neural network, which can output ensembles of highly efficient topology-optimized metasurfaces.
J. Jiang and J. A. Fan
Metagrating Topology Optimization
Jonathan Fan, Stanford University
Basic topology optimization codebase for simple periodic metasurface deflectors or metagratings. This package utilizes adjoint-based gradient descent in order to generate devices with freeform geometries. Such devices are physically complex and demonstrate ultra-high efficiencies.
D. Sell, J. Yang, S. Doshay, R. Yang, and J. A. Fan
Shanhui Fan, Stanford University
Angler (named for 'adjoint nonlinear gradients') is a package for simulating and optimizing optical structures. It provides a finite-difference frequency-domain (FDFD) solver for simulating for linear and nonlinear devices in the frequency domain. It also provides an easy to use package for adjoint-based inverse design and optimization of linear and nonlinear devices. For example, you can inverse design optical switches to transport power to different ports for different input powers.
T. W. Hughes*, M. Minkov*, I. A.D. Williamson, and S. Fan
Shanhui Fan, Stanford University
This python package provides recurrent neural network (RNN) modules for pytorch that compute time-domain solutions to the scalar wave equation. This package not only provides a numerical framework for solving the wave equation, but it also allows the gradient of the solutions to be computed automatically via pytorch's automatic differentiation framework. This gradient computation is equivalent to the adjoint variable method (AVM) that has recently gained popularity for performing inverse design and optimization of photonic devices.
T. W. Hughes*, I. A.D. Williamson*, M. Minkov, and S. Fan
Eli Yablonovitch, University of California, Berkeley
This is a continuous adjoint opimtization wrapper for Lumerical, using Python as the main user interface. It is released under an MIT license.
C. M. Lalau-Keraly, S. Bhargava, O. D. Miller, and E. Yablonovitch
Jelena Vuckovic, Stanford University
SPINS-B is the open source version of SPINS, a framework for gradient-based (adjoint) photonic optimization developed over the past decade at Jelena Vuckovic's Nanoscale and Quantum Photonics Lab at Stanford University.

  • Gradient-based (adjoint) optimization of photonic devices
  • 2D and 3D device optimization using finite-difference frequency-domain (FDFD) on GPUs
  • Support for custom objective functions, sources, and optimization methods
  • Automatically save design methodology and all hyperparameters used in optimization for reproducibility
L. Su, D. Vercruysse, J. Skarda, N. V. Sapra, J. A. Petykiewicz, J. Vuckovic

Support Code

Nicolas Lebbe, INRIA Sophia-Antipolis
This is a toolbox to convert .mat files on MetaNet into GDS files.