Examples

A guided path from “load a layout” to “run it on any FDTD engine and read the S-parameters.” Each entry below is a real Jupyter notebook, executed and committed with its outputs, so the plots and numbers you see are the actual solver output.

Every notebook reproduces for free: the live runs use beamz (Apache-2.0 JAX FDTD, on CPU) or tidy3d’s free local mode solver, and the cross-engine comparisons load recorded tidy3d/Lumerical artifacts. No cloud account, license, or GPU is required to run any of them.

The source of truth for each notebook is a paired .py (jupytext percent format) under examples/; see examples/README.md for how to run them.

#

Notebook

You’ll learn

00

00 · Quickstart — a layout to S-parameters in ten lines

Layout → S-matrix in ten lines, on the free engine.

01

01 · From a GDS layout to a Component

Load a GDS / gdsfactory cell, auto-detect ports, read the geometry view.

02

02 · Technology & materials

Materials, the vertical layer stack, and (in 02b) refractiveindex.info sources across engines.

03

03 · Your first simulation

The full flow end-to-end: geometry → permittivity → build → run → S-params → fields.

04

04 · Reading results — everything an SMatrix tells you

SMatrix: insertion loss, crosstalk, phase, reciprocity/passivity, Touchstone/HDF5/npz I/O.

05

05 · Fields and modes

Waveguide mode profiles, effective indices, and permittivity cross-sections.

05b

05b · Field monitors: where they sit, what they record

Field monitors: axes, pinned positions, recorded wavelengths, and plot_monitor_planes — with the Si→SiN escalator’s side view.

06

06 · Convergence, caching, and cross-validation

Mesh-convergence sweeps, run_cached (repeat runs free), and cross-engine validation where converged ≠ correct.

07

07 · Choosing an engine — three solvers, one job

The identical job on beamz / tidy3d / Lumerical, and how they agree.

08

08 · Any EDA in, any engine out

Any EDA in, any engine out: gdsfactory / SiEPIC / raw-GDS frontends, then the full frontend × engine matrix.

09

09 · The CLI and serializable jobs

The gds-fdtd CLI and serializable JobSpec for remote/batch compute.

10

10 · Cookbook — the Si→SiN escalator on the free engine

Reference devices with known-good S-params — the Si→SiN escalator on the free engine.

10b

10b · Polarization: a splitter and a splitter-rotator

Polarization splitter and splitter-rotator from gdsfactory: TE/TM modes, multi-mode S-params, and per-polarization fields on two engines.

11

11 · A Bragg grating: the stopband, seen in the field

A 95 µm SiEPIC Bragg grating on tidy3d: the stopband spectrum, and the same field monitor in-band (reflected) vs out-of-band (transmitted).