Skip to content

QuentinWach/awesome-inverse-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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.
  • BEAMZ - GPU-accelerated, general FDTD and gradient-based optimization with JAX for photonic chip designers.
  • FDTDx - GPU-accelerated, differentiable FDTD with memory-efficient autodiff for 3D inverse design with Jax.
  • Tidy3D - Cloud-based FDTD with built-in adjoint optimization and mode solver. (Flexcompute; originated in Fan Group, Stanford)
  • 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.

About

Curated list of inverse design projects for photonics. Including FDTD and FDFD solvers, tutorials, challenges, as well as key papers and reviews. πŸš€

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors