# 3-layer stack T vs transfer-matrix theory

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

<div class="case-meta"><span>analytical</span><span>resolution 1</span><span>analytical</span><span>p0</span><span>multilayer</span><span>tmm</span><span>high_yield</span></div>

This case checks the implementation against an analytical identity, convergence property, or independent physics invariant.

```{figure} ../../_static/generated/plane_wave_field.png
:alt: Technical schematic associated with 3-layer stack T vs transfer-matrix theory

Representative field across a layered material geometry.
```

## What is exercised

CW Poynting T vs Abeles TMM at 0.85/1.0/1.15 µm (same stack as parity_multilayer_T).

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_max_abs` | 0.0163328 | 0.03 | 0.0163328 | 0.03 | <span class="metric-pass">PASS</span> |
| `T_rel_l2` | 0.0140387 | 0.05 | 0.0140387 | 0.05 | <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 analytical_multilayer_tmm
```

Implementation and provenance: `benchmarks/cases/analytical_multilayer_tmm/case.yaml`, `benchmarks/cases/analytical_multilayer_tmm/run.py`.

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