# 3-layer stack transmission spectrum vs Tidy3D

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

<div class="case-meta"><span>forward</span><span>resolution 1</span><span>parity</span><span>p1</span><span>broadband</span><span>multilayer</span><span>tidy3d_golden</span><span>high_yield</span></div>

This case compares a local FDTDX result with pinned reference data generated by Tidy3D.

```{figure} ../../_static/generated/plane_wave_field.png
:alt: Technical schematic associated with 3-layer stack transmission spectrum vs Tidy3D

Representative field across a layered material geometry.
```

## What is exercised

CW Poynting T=S_T/S0 at 0.85/1.0/1.15 µm. Same cells as pulsed_vs_cw. Agrees with TMM theory and Tidy3D golden when measured as power (not |E|).

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



## Recorded result

| Metric | Observed / error | Reference / limit | Error | Effective budget | Result |
|---|---:|---:|---:|---:|---:|
| `T_rel_l2` | 0.019626 | 0.05 | 0.019626 | 0.05 | <span class="metric-pass">PASS</span> |
| `T_max_abs` | 0.0185452 | 0.03 | 0.0185452 | 0.03 | <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_multilayer_T
```

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

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