# Bus + ring transmission spectrum vs Tidy3D

<span class="validation-badge">validated · 2026-08-28</span>

<div class="case-meta"><span>forward</span><span>resolution 0.8</span><span>parity</span><span>p4</span><span>pic</span><span>resonator</span><span>tidy3d_golden</span></div>

This case compares a local FDTDX result with pinned reference data generated by Tidy3D. The originating Tidy3D example is [`RingResonator.ipynb`](https://github.com/flexcompute/tidy3d-notebooks/blob/c37c785d52e9258c9d048a781524b8e8d7c758ca/RingResonator.ipynb), pinned at commit `c37c785d52e9`.

```{figure} ../../_static/generated/pic_geometry_atlas.svg
:alt: Technical schematic associated with Bus + ring transmission spectrum vs Tidy3D

Integrated-photonics geometries covered by the benchmark suite.
```

## What is exercised

Coarse bus+ring at 1550nm band. Loose tol (geometry approx + short run_time). Goal is mode-coupled PIC path, not high-Q spectroscopy yet. Ring uses ExtrudedPolygon with subpixel_smoothing=True (Farjadpour fill fractions, supersample=8): improves T_rel_l2 0.036->0.025 and T_max_abs 0.039->0.028 vs the Tidy3D golden compared to binary rasterization.

This case runs at a **0.80 resolution factor**. Its declared tolerance scaling is applied by the comparator.



## Recorded result

| Metric | Observed / error | Reference / limit | Error | Effective budget | Result |
|---|---:|---:|---:|---:|---:|
| `T_rel_l2` | 0.0253855 | 0.25 | 0.0253855 | 0.25 | <span class="metric-pass">PASS</span> |
| `T_max_abs` | 0.0284022 | 0.1875 | 0.0284022 | 0.1875 | <span class="metric-pass">PASS</span> |

The table is rendered from `progress.json`; it is not a hand-written success claim. For metrics that report an error directly, the “observed” column repeats that error and the reference column is the acceptance threshold.

## Reproduce

```bash
uv run fdtdx-bench run --case parity_ring_bus
```

Implementation and provenance: `benchmarks/cases/parity_ring_bus/case.yaml`, `benchmarks/cases/parity_ring_bus/run.py`, `benchmarks/goldens/parity_ring_bus.npz`.

[Return to the example atlas](../index.md)
