Fabrication-aware inverse design

Fabrication-aware inverse design#

The October 9, 2025 seminar walks through a complete dual-layer grating coupler workflow: start from a uniform baseline, pull a strong seed design with Bayesian optimization, switch to adjoint gradients for per-tooth control, study fabrication sensitivities, and close the loop with measurement-driven calibration. Everything runs inside Tidy3D, so you can rerun the exact same jobs or adapt the utilities to your own device stack.

Seminar recording: YouTube link

Notebook lineup#

Getting the code#

The notebooks are available in the Tidy3D notebooks repository. You will need the .ipynb files as well as the helper scripts setup.py and optim.py to run the examples.

How to run the series#

  1. Install tidy3d and bayesian-optimization (pip install tidy3d bayesian-optimization) and configure your API key.

  2. Execute the notebooks in order; each step writes results into results/ and later notebooks assume those JSON files exist.

Supporting assets#

  • setup.py - shared simulation builders, fabrication constraints, and helper functions.

  • optim.py - a lightweight, autograd-friendly Adam implementation with parameter clipping.

  • results/ - JSON checkpoints (Bayes best point, adjoint refinements, robust design) consumed by subsequent notebooks.