Skip to content

Latest commit

 

History

History
82 lines (67 loc) · 7.33 KB

File metadata and controls

82 lines (67 loc) · 7.33 KB

Awesome Inverse Design Awesome

A curated list for engineers, physicists and hobbyists interested in inverse design of photonic devices.

FDTD Engines

  • MEEP - MIT's open-source FDTD engine with adjoint solver, the most widely used in photonics.
  • Tidy3D - Cloud-based FDTD with built-in adjoint optimization and mode solver. (Flexcompute; originated in Fan Group, Stanford)
  • FDTDx - GPU-accelerated, differentiable FDTD with memory-efficient autodiff for 3D inverse design with Jax.
  • BEAMZ - GPU-accelerated, general FDTD and gradient-based optimization with JAX for photonic chip designers.
  • fdtdz - GPU-accelerated FDTD in JAX. (SPINS Photonics)
  • Khronos.jl - Alec Hammond's new Julia FDTD solver for photonics. (Meta Research)
  • Luminescent.jl - GPU + autodiff FDTD in Julia for photonics, acoustics, and RF.

FDFD & Frequency Domain

Fan Group, Stanford:

  • Ceviche - Differentiable FDFD and FDTD simulator with autograd for gradient-based inverse design.
  • Angler - Frequency-domain electromagnetic simulator with adjoint-based optimization.

Vuckovic Group, Stanford:

  • SPINS-B - Gradient-based photonic optimization library using FDFD.

Other Inverse Design & Optimization Tools

  • EMopt - Shape and topology optimization for 2D/3D EM structures using the adjoint method.
  • PhoTOS - Topology optimization with shape libraries and VAE-based feature mapping for fabrication-aware photonic design.
  • NIDN - Neural inverse design of nanostructures with PyTorch, RCWA and FDTD forward models. (ESA)
  • lumopt - Adjoint optimization wrapper for Lumerical FDTD.
  • PreFab - Deep learning model predicting post-fabrication structures from GDS layouts for fab-aware optimization.

Tutorials & Challenges

Key Papers & Reviews

Also See

More tools (less actively maintained or more niche)
  • GRCWA - autoGradable RCWA. (Stanford)
  • jaxwell - JAX-based FDFD solver. (Vuckovic Group, Stanford)
  • fdtd - Python FDTD with PyTorch backend.
  • wavetorch - Wave equation backpropagation in PyTorch. (Fan Group)
  • pjz - JAX workflow framework on top of fdtdz.
  • DL4TO - Deep learning for 3D topology optimization in PyTorch.
  • OpenEMS - EC-FDTD electromagnetic solver.
  • InverseBench - Benchmarks for diffusion-based scientific inverse problems. (ICLR 2025)
  • TMM - Transfer matrix method for thin/thick multilayer film optics.

RCWA & Transfer Matrix

  • S4 - Rigorous coupled-wave analysis (RCWA) for layered periodic structures. (Fan Group, Stanford)
  • FMMAX - Fourier Modal Method in JAX with Brillouin zone integration. (Meta Research)
  • Meent - RCWA with NumPy, JAX, and PyTorch backends for differentiable optimization.
  • torcwa - GPU-accelerated RCWA with PyTorch automatic differentiation.
  • tmmax - GPU-accelerated transfer matrix method in JAX.

Mode Solvers & Photonic Crystals

  • MPB - MIT Photonic-Bands: Bloch-mode solver for photonic band structures in periodic media.
  • Legume - Guided-mode expansion for photonic crystal slabs with automatic differentiation. (Fan Group, Stanford)
  • femwell - FEM waveguide mode solver for photonics.
  • meow - Eigenmode expansion (EME) solver for photonic waveguides.