{ "cells": [ { "cell_type": "markdown", "id": "ca245d46", "metadata": {}, "source": [ "# 04 · Reading results — everything an `SMatrix` tells you\n", "\n", "Every engine returns the same object: a canonical `SMatrix` (complex,\n", "multi-port, multi-mode). This notebook is a tour of what you can *read* from\n", "it — magnitudes, loss, phase, the physical sanity checks, and file I/O — all\n", "**offline and free** (we load a recorded y-branch result, no engine needed)." ] }, { "cell_type": "code", "execution_count": 1, "id": "01495736", "metadata": { "execution": { "iopub.execute_input": "2026-07-11T01:31:34.757443Z", "iopub.status.busy": "2026-07-11T01:31:34.757340Z", "iopub.status.idle": "2026-07-11T01:31:35.356425Z", "shell.execute_reply": "2026-07-11T01:31:35.355945Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ebeam_y_1550: 3 ports ['opt1', 'opt2', 'opt3'], 1 mode(s), 5 wavelengths 1.500–1.600 µm\n" ] } ], "source": [ "from pathlib import Path\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "from gds_fdtd.plotting import plot_smatrix, smatrix_summary\n", "from gds_fdtd.smatrix import SMatrix\n", "\n", "\n", "def _find(rel: str) -> Path:\n", " for base in (Path.cwd(), *Path.cwd().parents):\n", " if (base / rel).exists():\n", " return base / rel\n", " raise FileNotFoundError(rel)\n", "\n", "\n", "sm = SMatrix.from_npz(str(_find(\"examples/07_choosing_an_engine/recorded/ybranch_tidy3d.npz\")))\n", "print(f\"{sm.name}: {sm.n_ports} ports {sm.port_names}, {sm.n_modes} mode(s), \"\n", " f\"{sm.wavelength_um.size} wavelengths {sm.wavelength_um.min():.3f}–{sm.wavelength_um.max():.3f} µm\")" ] }, { "cell_type": "markdown", "id": "1202a2c0", "metadata": {}, "source": [ "## 1 · The raw array\n", "\n", "Under the hood `sm.s` is a complex array indexed `[wavelength, out, in, mode_out,\n", "mode_in]`. You rarely touch it directly — `sm.sel(out, in_, ...)` pulls one path\n", "by port **name or number** and is the friendly way in." ] }, { "cell_type": "code", "execution_count": 2, "id": "edc2c69b", "metadata": { "execution": { "iopub.execute_input": "2026-07-11T01:31:35.357996Z", "iopub.status.busy": "2026-07-11T01:31:35.357785Z", "iopub.status.idle": "2026-07-11T01:31:35.360561Z", "shell.execute_reply": "2026-07-11T01:31:35.360117Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "S(opt2<-opt1) complex, first 3 wavelengths: [ 0.3593+0.5909j 0.2685-0.6395j -0.6889+0.0593j]\n" ] } ], "source": [ "s21 = sm.sel(out=2, in_=1) # complex transmission opt1 -> opt2 vs wavelength\n", "print(\"S(opt2<-opt1) complex, first 3 wavelengths:\", np.round(s21[:3], 4))" ] }, { "cell_type": "markdown", "id": "99c08769", "metadata": {}, "source": [ "## 2 · Magnitudes and the split\n", "\n", "`plot_smatrix` overlays every measured path in dB (`|S|²`). A y-branch splits\n", "its input evenly, so the two transmission paths sit near −3 dB and the\n", "reflection sits far below." ] }, { "cell_type": "code", "execution_count": 3, "id": "d5f1905d", "metadata": { "execution": { "iopub.execute_input": "2026-07-11T01:31:35.361565Z", "iopub.status.busy": "2026-07-11T01:31:35.361483Z", "iopub.status.idle": "2026-07-11T01:31:35.475176Z", "shell.execute_reply": "2026-07-11T01:31:35.474378Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_smatrix(sm, kind=\"db\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9ba79f35", "metadata": {}, "source": [ "## 3 · Figures of merit\n", "\n", "`smatrix_summary` reduces the matrix to the numbers you quote in a report —\n", "insertion/return loss per path at band center, plus the physical checks." ] }, { "cell_type": "code", "execution_count": 4, "id": "7413730e", "metadata": { "execution": { "iopub.execute_input": "2026-07-11T01:31:35.476464Z", "iopub.status.busy": "2026-07-11T01:31:35.476375Z", "iopub.status.idle": "2026-07-11T01:31:35.479788Z", "shell.execute_reply": "2026-07-11T01:31:35.479398Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "at 1.55 µm: reciprocal=True passive=True max power imbalance=0.9663\n", " opt1 → opt2: -3.20 dB (insertion loss)\n", " opt1 → opt3: -3.20 dB (insertion loss)\n", " opt1 → opt1: -21.71 dB (return loss)\n", " opt2 → opt1: -3.21 dB (insertion loss)\n", " opt2 → opt2: -24.66 dB (return loss)\n", " opt2 → opt3: -26.44 dB (insertion loss)\n", " opt3 → opt1: -3.21 dB (insertion loss)\n", " opt3 → opt3: -24.66 dB (return loss)\n", " opt3 → opt2: -26.44 dB (insertion loss)\n" ] } ], "source": [ "summary = smatrix_summary(sm)\n", "print(f\"at {summary['wavelength_um']} µm: reciprocal={summary['reciprocal']} \"\n", " f\"passive={summary['passive']} max power imbalance={summary['max_power_imbalance']}\")\n", "for p in summary[\"paths\"]:\n", " kind = \"insertion loss\" if p[\"kind\"] == \"transmission\" else \"return loss\"\n", " print(f\" {p['in']} → {p['out']}: {p['db']:+.2f} dB ({kind})\")" ] }, { "cell_type": "markdown", "id": "38987bed", "metadata": {}, "source": [ "## 4 · Phase\n", "\n", "Transmission is complex — the phase (and its slope, the group delay) matters\n", "for interferometers and delay lines. `kind=\"phase\"` unwraps it." ] }, { "cell_type": "code", "execution_count": 5, "id": "97cab639", "metadata": { "execution": { "iopub.execute_input": "2026-07-11T01:31:35.480648Z", "iopub.status.busy": "2026-07-11T01:31:35.480578Z", "iopub.status.idle": "2026-07-11T01:31:35.549670Z", "shell.execute_reply": "2026-07-11T01:31:35.549042Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_smatrix(sm, kind=\"phase\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "0c08d7a9", "metadata": {}, "source": [ "## 5 · Physical sanity checks\n", "\n", "A passive, reciprocal device must obey `S = Sᵀ` and inject no energy. These\n", "are your first line of defence against a mis-set simulation. Use an\n", "engineering tolerance — real FDTD output carries ~1e-3 numerical asymmetry, so\n", "a strict `atol=1e-6` would flag a physically-reciprocal device as not." ] }, { "cell_type": "code", "execution_count": 6, "id": "3b5c2f83", "metadata": { "execution": { "iopub.execute_input": "2026-07-11T01:31:35.550957Z", "iopub.status.busy": "2026-07-11T01:31:35.550866Z", "iopub.status.idle": "2026-07-11T01:31:35.553848Z", "shell.execute_reply": "2026-07-11T01:31:35.553438Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "reciprocal (S = Sᵀ): True\n", "passive (no gain): True\n", "power balance (loss fraction) over the band: 0.471 … 0.966\n" ] } ], "source": [ "print(\"reciprocal (S = Sᵀ):\", sm.is_reciprocal(atol=1e-2))\n", "print(\"passive (no gain): \", sm.is_passive(atol=1e-2))\n", "pb = sm.power_balance() # 1 - Σ|S|² per input, per wavelength (loss fraction)\n", "print(f\"power balance (loss fraction) over the band: {pb.min():.3f} … {pb.max():.3f}\")" ] }, { "cell_type": "markdown", "id": "10ee1664", "metadata": {}, "source": [ "## 6 · Saving and sharing\n", "\n", "One `SMatrix`, every standard format — Lumerical INTERCONNECT `.dat`,\n", "Touchstone `.sNp` (for scikit-rf / ADS), HDF5, and npz. Each round-trips." ] }, { "cell_type": "code", "execution_count": 7, "id": "f7db933d", "metadata": { "execution": { "iopub.execute_input": "2026-07-11T01:31:35.554861Z", "iopub.status.busy": "2026-07-11T01:31:35.554785Z", "iopub.status.idle": "2026-07-11T01:31:35.575176Z", "shell.execute_reply": "2026-07-11T01:31:35.574339Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "wrote: ['ybranch.dat', 'ybranch.h5', 'ybranch.npz', 'ybranch.s3p']\n", "HDF5 round-trip: identical ✓\n" ] } ], "source": [ "import tempfile # noqa: E402\n", "\n", "tmp = Path(tempfile.mkdtemp())\n", "sm.to_dat(str(tmp / \"ybranch.dat\"))\n", "sm.to_touchstone(str(tmp / \"ybranch.s3p\"))\n", "sm.to_hdf5(str(tmp / \"ybranch.h5\"))\n", "sm.to_npz(str(tmp / \"ybranch.npz\"))\n", "print(\"wrote:\", sorted(p.name for p in tmp.iterdir()))\n", "\n", "# round-trip check through Touchstone\n", "back = SMatrix.from_hdf5(str(tmp / \"ybranch.h5\"))\n", "np.testing.assert_allclose(back.sel(out=2, in_=1), sm.sel(out=2, in_=1), rtol=1e-9)\n", "print(\"HDF5 round-trip: identical ✓\")" ] }, { "cell_type": "markdown", "id": "ea9fe4ff", "metadata": {}, "source": [ "## Recap & next\n", "\n", "The `SMatrix` is the common object across the toolbox: `sel` a path, read loss\n", "and phase, check reciprocity/passivity, and export to any standard format, the\n", "same regardless of which engine produced it.\n", "\n", "- **`05_fields_and_modes`** — the spatial picture behind these numbers.\n", "- **`06_convergence_and_caching`** — are the numbers converged?\n", "- **`07_choosing_an_engine`** — do the engines agree on them?" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.13" } }, "nbformat": 4, "nbformat_minor": 5 }