Notebook Gallery
15 interactive marimo notebooks. Ones marked runs in your browser execute right here with no account; rendered preview shows every output as it ran on the platform; sign in to edit and run any of them next to a chat assistant.
Integrated photonics
Start here — design a photonic circuit in one notebook
A working Mach–Zehnder interferometer built with the full stack in one notebook: gdsfactory draws the layout, sax simulates the S-parameters, and the GDS is ready for fabrication. Move the sliders and the layout and the spectrum update together.
Ring resonator — the workhorse of integrated photonics
A waveguide loop side-coupled to a bus: on resonance light builds up in the ring and the bus transmission shows sharp notches. Sweep radius, coupling and loss to find critical coupling, with the layout in gdsfactory and the spectrum in sax.
Directional coupler — the 2×2 building block
Two waveguides brought close together exchange power along the coupling region. The 2×2 element that splits and combines light inside every MZI and ring, laid out in gdsfactory and modelled as the same sax element the other notebooks use.
Silicon Photonic Ring Modulator — Digital Twin
A digital twin of a silicon PN-junction microring modulator. One set of design parameters drives the Soref–Bennett plasma-dispersion physics, the gdsfactory layout, the SAX S-parameters, a JAX gradient optimisation of the coupling, and the live spec table.
Photonic Integrated Circuit Derivations
Transfer functions of the ring resonator (all-pass and add-drop) and the Mach–Zehnder interferometer, derived from first principles with SymPy and plotted. Sliders for coupling, loss, effective index and arm-length difference let you explore each spectrum in the browser.
Layout with gdsfactory
Introduction to gdsfactory
A first look at gdsfactory, the Python library for photonic layout: draw a straight waveguide, an Euler bend and a taper with slider-controlled dimensions, see how components nest, and browse the generic PDK's standard cells.
Components and routing in gdsfactory
Ports are how gdsfactory joins components: read a waveguide's ports, then route two MMIs with a Manhattan waveguide whose bend radius and spacing you set with sliders, and finish with a grating coupler that brings light on and off the chip.
PDK and technology in gdsfactory
What a Process Design Kit defines and how to read it from gdsfactory: the generic PDK's cells and cross-sections, its GDS layer map, strip versus rib waveguides, and how minimum spacing shapes an array of waveguides.
Simulation Integration with gdsfactory
Choose a gdsfactory component and inspect its ports, then set up a wavelength sweep and read the S-parameter spectrum and mode profile a solver would return. The spectra here are synthetic; the closing table points to the real FDTD, EME and FEM plugins.
End-to-End Full Chip Design with gdsfactory
Floorplan a die, place grating couplers and a row of ring resonators, route two MMIs, report the layout statistics and write the chip to GDS. Sliders set the die size and the ring count, radius and coupling gap.
Ray optics
Single thin lens (f = 50 mm)
A collimated beam passes through a thin lens and every ray converges at the focal plane. Move the focal-length, ray-count and beam-size sliders and watch the Optiverse ray trace update; replicates DCC-Lab RayTracing example 1.
4f telescope (two lenses)
Two thin lenses separated by the sum of their focal lengths form a 4f relay: the image is inverted with magnification −f₂/f₁. Change either focal length and watch the Optiverse ray trace and the magnification update together.
Optiverse ray optics demo
Interactive 2D ray tracing with the Optiverse engine: a collimated beam passes through a thin lens and reflects off a flat mirror. Change the focal length, ray count and beam size and watch the rays converge, diverge and bounce back.