A JAX-based FDTD (finite-difference time-domain) electromagnetic simulation framework for photonic inverse design, importing device layouts from GDS files.
Added a parametrizable sidewall_angle to GDS layer import, so waveguides model realistic angled walls instead of idealized vertical ones — each z-slice laterally offset via a distance transform, with the vertical fast-path preserved. Validated against Tidy3D's PolySlab.
Added opt-in sub-pixel dielectric smoothing (Farjadpour et al.) for GDS layers, replacing the binary staircased permittivity at material interfaces with a smoothed, anisotropic effective tensor. Removes the first-order Yee staircasing at tilted sidewalls and restores 2nd-order resolution convergence.
On multi-GPU runs the mode solver slices a thin transverse plane out of the x-sharded field arrays, but without a sharding constraint XLA could all-gather the full ~100M-cell parent array instead of just the plane. Added pin_to_single_device to replicate only the sliced plane across the mesh — gathering a few hundred KB, not gigabytes. A byte-identical no-op on single-device runs.
Python
FDTD
Silicon Photonics
JAX
Plugin collection for GDSFactory — electromagnetic solvers, process design kit utilities, and simulation interfaces including Meep FDTD.
Fixed write_sparameters_meep_mpi: the generated MPI subprocess script imported no PDK, so get_active_pdk() raised ValueError: No active PDK. Injected a CONF.pdk = CONF.pdk or 'generic' guard at script-generation time — harmless when a custom PDK is set, and falls back to the generic PDK otherwise.
Python
FDTD
Silicon Photonics
MPI
The core Python framework for photonic and analog layout — parametric components, routing, and DRC-clean tapeout, built on KLayout.
snap_to_grid silently ignored grid_factor whenever nm was passed explicitly, scaling only the default PDK grid. Now the effective grid is always (nm/1000 or dbu) · grid_factor, restoring the documented snap_to_grid2x invariant — with a regression test and a fix to one that had encoded the bug.
Python
Photonics
Layout
KLayout
A language-agnostic code-graph indexer that maps symbols, definitions, and references across a codebase for navigation and semantic analysis.
Added JupyterExtractor: parses .ipynb files and delegates each Python code cell to the existing TreeSitterExtractor with correct line-number offsets, so every symbol stays addressable across the virtual cell stack. Strips IPython magics, skips non-Python kernels, and surfaces malformed notebooks as recoverable ExtractionErrors.
TypeScript
Tree-sitter
Jupyter
Code Indexing