# 1x4 MMI — four-port broadband power distribution

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

<div class="case-meta"><span>forward</span><span>resolution 1</span><span>device</span><span>real_world</span><span>pic</span><span>mmi</span><span>splitter</span><span>tidy3d_golden</span><span>official_notebook</span></div>

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

::::{grid} 1

:::{grid-item-card} Open the complete executed tutorial →
:link: ../notebooks/mmi_1x4
:link-type: doc
:class-card: device-ladder-card

Parameters → exact geometry → voxelized material → local FDTDX run → simulated field → quantitative analysis. Every code cell and retained output is visible, and the `.ipynb` source is downloadable.
:::

::::

This page is the compact benchmark record. The linked notebook is the primary scientific documentation and contains the actual simulation evidence.


## What is exercised

Compact 8 x 5 um multimode section with four tapered output guides. All touching silicon is unioned before rasterization. A 30 nm grid, selected after the 40 nm grid showed resolution-sensitive port imbalance, gives about 15 cells per silicon material wavelength. The relative energy cutoff ends the 5 ps safety window automatically once the multimode tail decays.

This case runs at its declared full benchmark resolution (resolution factor 1.0).

## Reconstruction choices

The official device dimensions, material stack, excitations, and measured observable are retained where they determine the physics. The local scene uses **516 × 283 × 63 cells** and the common port/source normalization machinery. The shared energy-decay cutoff stopped the run after **28,825 of 87,417** allowed steps. Geometry is rasterized as connected material before placement when touching polygons would otherwise introduce grid-snapping seams.

The field panel above is explicitly a schematic of the device and propagation path. The curves and scalar values in the result panel are executed benchmark outputs: solid circles are FDTDX; dashed crosses are the frozen Tidy3D reference.


## Recorded result

| Metric | Observed / error | Reference / limit | Error | Effective budget | Result |
|---|---:|---:|---:|---:|---:|
| `out1` | 0.0769157 | 0.12 | 0.0769157 | 0.12 | <span class="metric-pass">PASS</span> |
| `out2` | 0.0901388 | 0.12 | 0.0901388 | 0.12 | <span class="metric-pass">PASS</span> |
| `out3` | 0.0472915 | 0.12 | 0.0472915 | 0.12 | <span class="metric-pass">PASS</span> |
| `out4` | 0.0242981 | 0.12 | 0.0242981 | 0.12 | <span class="metric-pass">PASS</span> |
| `total` | 0.0113288 | 0.03 | 0.0113288 | 0.03 | <span class="metric-pass">PASS</span> |
| `uniformity` | 0.0526782 | 0.08 | 0.0526782 | 0.08 | <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 device_mmi_1x4
```

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

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