General 1-D outgoing-pole engine — 2026-08-19¶
Lab campaign, not a paper draft. Code lives in
engines/general_1d_cavity/. The gme-1d repository is only the
manuscript workbench.
Outcome so far¶
The preserved Quan–Lončar Maxwell reduction is now a scatterer-generic engine: same outgoing waveguide Green function, same \(Q=-\Re\tilde\omega/(2\Im\tilde\omega)\), same implicit pole derivative. Elliptical holes still use the audited Zernike projection. Rectangles and sidewall teeth unlock geometries that Zernike ellipses cannot express.
| Family | Seed model \(Q\) | After | Gain | \(\lambda\) (nm) | FDTD \(Q\) | Task IDs |
|---|---|---|---|---|---|---|
| Quan 2011 · 15-pair P2-z1 / y3-z1 | 7722.35 | 16834.69 | 2.180× | 1521.77 → 1521.41 | 15877 → 56909 (3.58×) | fdve-06dff95c-…fe3, fdve-3294ef7a-…8a6 |
| Fryett 2017 · circular 10-pair P1/y1 | 907.18 | 6183.56 | 6.816× | 776.68 → 776.78 | seed 26.1 at 806 nm | fdve-80f5259a-…2d55 (after not submitted) |
| Fryett 2017 · paper ellipse 15-pair z0 | 1320.43 | 2723.19 | 2.062× | 755.83 held | 206.7 → 205.9 (0.996×) | fdve-04c8a1ce-…6902, fdve-9e15af3f-…5ecc |
| Fryett 2017 · paper ellipse y1-z2 | 167.23 | 337.49 | 2.018× | 756.32 held | 206.7 → 205.4 (0.993×) | seed fdve-04c8a1ce-…6902, after fdve-0a59edc2-…baa9 |
| Fryett 2017 · paper ellipse unique-center | 167.23 | 359.02 | 2.147× | 756.32 held | 206.7 → 200.1 (0.968×) | seed fdve-04c8a1ce-…6902, after fdve-29c83f61-…025d2 |
| Sawfish 2022 · 6-pair \(\cos^6\) P1-x | 268.51 | 1831.03 | 6.819× | 619.71 → 619.99 | 19.7 → 14.9 (0.76×) | fdve-0718cf01-…6a64, fdve-b5bcdd2a-…f05 |
| Sawfish 2022 · 6-pair y2-z1 | 125.11 | 297.24 | 2.376× | 621.35 → 621.46 | 19.7 → 19.3 (0.98×) | seed fdve-0718cf01-…6a64, after fdve-6c544769-…ee3f |
On-disk sources:
engines/general_1d_cavity/campaigns/paper_reproduction_v1/runs/quan/q_ascent.json,
.../runs/quan/tidy3d_12ps_mesh20/results/optimizer_confirmation.json,
.../runs/fryett/circ_a233_w450_n10_p1_y1_qsteps/result.json,
.../runs/sawfish/cosine_n6_a200_P1_qsteps/result.json.
Analytical runs record fields_retained: false. Quan FDTD hdf5 is on disk;
mode volume was not extracted. Ledger:
.../tidy3d_credit_ledger.json (0.888 / 15 billed).
A cheap 6-pair Quan reduction already takes implicit \(Q\) steps (70 556 → 367 350, wavelength held). That basis inflates absolute \(Q\). It is a machinery demonstration, not a publication number.
The production 15-pair P2-z1/y3-z1 operator, reused from
quan_loncar_v1, recovers the packaged baseline pole:
\(Q=7722.35\), \(\lambda=1521.77\) nm, relative \(Q\) error
\(2.7\times 10^{-9}\) versus the 2026-07-23 physical preflight.
Four resonance-stationary implicit steps raise model \(Q\) to 16834.69
(\(2.180\times\)) while \(\lambda\) moves \(0.36\) nm. No spatial
field volume was retained. This is an analytical \(2\times\) on the
production operator, not an FDTD \(Q\). No Tidy3D.
A cheap 6-pair Fryett P0/y1 pole sat at \(Q\approx 129\), \(\lambda\approx 946\) nm. A 10-pair P1/y1 model on the published 450×330 nm / 233 nm lattice sits at \(Q=907.18\), \(\lambda=776.68\) nm; two implicit \(Q\) steps raise model \(Q\) 6.816× with \(\lambda\) held.
The isolated 6-pair Sawfish \(\cos^6\) P1-x pole (\(Q=268.51\), \(\lambda=619.71\) nm) takes one 2 nm implicit period/neck step to \(Q=1831.03\) (\(6.819\times\)) with \(\lambda\) at 619.99 nm. Absolute cheap-basis \(Q\) is not a production number.
Fields were not retained on the analytical runs. Tidy3D has been spent on Quan (confirming 3.58×), two DC Fryett 12 ps seeds, one oscillating Fryett 6 ps seed (\(Q=26\)), and Sawfish 6-pair + 10-pair seeds. Ledger 0.888 / 15.
The campaign is not done. Done means three paper families, ≥2× model \(Q\), and ≥2× matched FDTD \(Q\) with task IDs, inside 15 flexcredits.
What \(Q\) is¶
A cavity resonance is an outgoing quasinormal mode \(\tilde\omega=\omega_r+i\omega_i\) with \(\omega_i<0\). Under \(e^{-i\tilde\omega t}\), energy decays as \(e^{2\omega_i t}\), so \(\kappa=-2\omega_i\) and \(Q=\omega_r/\kappa\). There is no mirror reflectivity formula and no fitted radiation \(Q\).
The unknown lives only in the compact dielectric perturbation of a uniform nanobeam. High \(Q\) is coherent cancellation of radiation from every scatterer through the full outgoing Green function.
Target papers¶
| Paper | Geometry the engine must represent |
|---|---|
| arXiv:1108.2675 Quan & Lončar | Floating Si, quadratic hole taper |
| arXiv:2210.04702 Bopp et al. | Floating diamond Sawfish (sidewalls, not holes) |
| arXiv:1709.02032 Fryett et al. | Encapsulated SiN, first as homogeneous \(n=1.5\) cladding |

Figure 1. The three target families, drawn from the live constructors.
Blue: silicon core with air holes (Quan). Green: diamond bounding
waveguide with Bopp \(\cos^6\) sidewall notches (Sawfish). Red: silicon
nitride in an \(n=1.5\) encapsulation with circular holes (Fryett). Pale
fill is air or oxide. Generated by
engines/general_1d_cavity/tools/build_figures.py. Material colours are
the explicit legend.

Figure 2. The reduction is unchanged. Only the compact scatterer projection \(C(\beta)\) is new. FDTD remains the veto. Same generator.

Figure 3. Five implicit-gradient steps on a 6-pair Quan reduction (P0
hole basis, y1-z0 waveguide, contour order 8). Model \(Q\) rose 5.21×
while \(\lambda\) moved 0.02 nm. Source:
engines/general_1d_cavity/campaigns/paper_reproduction_v1/runs/cheap_poles.json.
This is not a production or FDTD result.
Quan 2011 — production P2-z1 / y3-z1 pole¶
The generic openpole Sommerfeld/Zernike operator (no guided-pole
subtraction, no \((+1,-1,+1)\) sector) does not host this
dielectric outgoing pole: at the historical frequency the
template-tracked eigenvalue is \(O(1)\). The campaign therefore
reuses the preserved quan_loncar_optimizer production path
(GOAL.md): P2-z1 holes, y3-z1 waveguide, segmented contour-16,
pole-subtracted continuum, Ey-like sector.
On the original 15-pair quadratic taper the outgoing pole is
That agrees with
quan_loncar_optimizer/validation/PHYSICAL_PREFLIGHT_BASELINE.json
to a relative \(Q\) error of \(2.7\times10^{-9}\). Residual
\(3.3\times10^{-11}\). Spatial Maxwell fields were not
reconstructed; the sector-reduced hole-basis eigenvector is stored
as runs/quan/seed_right.npy.
Four resonance-stationary implicit steps with \(\Re\tilde\omega\)
projected out raise model \(Q\) 7722.35 → 16834.69 (gain
\(2.180\times\)) while \(\lambda\) moves 1521.770 → 1521.405 nm.
The packaged 0.999 local-overlap floor rejected an otherwise
physical 3 nm trial (overlap 0.99837); run_quan_qsteps.py
continued from the accepted 1 nm geometry with that floor at 0.99.
Accepted history (seed → 1 nm → 3 nm → 3 nm → 3 nm):
7722.35 → 8387.31 → 10708.34 → 13507.13 → 16834.69. Final pole: residual
\(1.26\times10^{-10}\), local branch overlap 0.9989,
physical-template overlap 0.893. Spatial Maxwell fields were not
retained. This is not an FDTD \(Q\). No Tidy3D. Runners:
engines/general_1d_cavity/tools/run_quan_gate.py,
run_quan_qsteps.py.

Figure 4. Quan 2011 15-pair silicon nanobeam, matched \(x\)/\(y\)
axes, before and after four accepted implicit-\(Q\) steps. Blue:
Si core \(n=3.46\). Cream: through air holes \(n=1.0\). Largest
radius move is \(\Delta r_x=-2.04\) nm (pair 7); outer-center
\(\Delta x=+22.24\) nm (see Figure 7). Source:
engines/general_1d_cavity/campaigns/paper_reproduction_v1/runs/quan/{geometry_seed,geometry_final}.json.
Generator: engines/general_1d_cavity/tools/build_figures.py.
Analytical model \(Q\) in the titles; not FDTD. Fields were not
retained.

Figure 5. \(yz\) cut through the innermost hole (seed \(x=-165\) nm, after \(x=-164\) nm). The hole is a through-etch, so the cut is a rectangle of width \(2r_y\) and height 220 nm. Seed and after remain indistinguishable at this scale. Same sources and generator. Material colours are the explicit legend.

Figure 6. Four accepted implicit-gradient steps on the
production P2-z1 / y3-z1 operator. Model \(Q\): 7722.35 → 8387.31 →
10708.34 → 13507.13 → 16834.69 (gain \(2.180\times\)). Wavelength 1521.77
→ 1521.41 nm. Source: .../runs/quan/q_ascent.json. Same
generator. This is not an FDTD \(Q\).

Figure 7. Positive-side packed-geometry change versus seed after
four implicit steps (index 1 = innermost pair). \(\Delta x\)
accumulates along the chain: outer hole \(4785\to4807.24\) nm
(\(+22.24\) nm). Largest radius move is pair 7,
\(\Delta r_x=-2.04\) nm; \(\lvert\Delta r_y\rvert\le 0.73\) nm.
Provenance: geometry_seed.json versus geometry_final.json
explicit hole lists. Same generator.
Fryett 2017 — pole in the 737–780 nm window, then ≥2× model \(Q\)¶
The cheap 6-pair P0/y1 encapsulated-SiN pole sat at \(Q\approx 129\), \(\lambda\approx 946\) nm. Raising the hole basis to P1, and/or the pair count, moved outgoing zeros into the paper window. A 10-pair P1/y1 circular-hole model on the published 450×330 nm beam and 233 nm lattice then took two implicit \(Q\) steps (mirrored circular radii, centers held, first-order real-frequency projection). Model \(Q\) rose 6.816× while \(\lambda\) moved 0.09 nm. Fields were not retained. No Tidy3D.

Figure 8. Outgoing model poles versus vacuum wavelength. Grey band:
737–780 nm paper window. The cheap 6-pair P0 pole (grey) is at 946 nm.
P1 on 6 and 8 pairs of the same \(a=280\) nm circular family, and P0 on
10 pairs, sit inside the window. The production-enough seed is 10 pairs
P1/y1 on the 233 nm / 450×330 nm lattice (\(Q=907.18\), \(\lambda=776.68\) nm);
the star is the same pole after implicit \(Q\) steps (\(Q=6183.56\)).
Source:
engines/general_1d_cavity/campaigns/paper_reproduction_v1/runs/fryett/summary.json
and scan_catalog.json. Generator:
engines/general_1d_cavity/tools/run_fryett_gate.py (also rebuilt by
build_figures.py::figure_fryett_gate). Analytical \(Q\)
only.

Figure 9. Smallest singular value of \(A(\omega)\) just below the real axis (\(\mathrm{Im}\,\omega/\omega_{\mathrm{ref}}=-2\times 10^{-4}\)). Shaded band is 737–780 nm. Dotted verticals mark solved outgoing poles. The red curve (10-pair P1, \(a=233\) nm) has a clear dip at 776.7 nm inside the window. Same generator. This is an operator diagnostic, not an FDTD spectrum.

Figure 10. Geometry before and after the two accepted implicit-\(Q\)
steps, matched \(x\)/\(y\) axes. Red: SiN core \(n=2.0\). Pale fill:
homogeneous \(n=1.5\) cladding, including the circular holes. Beam
450×330 nm, lattice 233 nm, 10 pairs. Radius changes are \(\le 1.22\) nm
(see Figure 12); the top-view ellipses therefore look almost unchanged.
Fields were not retained. Source:
.../runs/fryett/circ_a233_w450_n10_p1_y1_qsteps/{geometry_seed,geometry_final}.json.
Same generator.

Figure 11. Two accepted implicit-gradient steps on the 10-pair P1/y1
Fryett seed. Model \(Q\): 907.18 → 2978.34 → 6183.56 (gain 6.816×). Wavelength:
776.68 → 776.78 nm. Design vector: 10 unique mirrored circular radii;
centers held. Source:
.../runs/fryett/circ_a233_w450_n10_p1_y1_qsteps/result.json.
This is not an FDTD \(Q\).

Figure 12. Unique-pair circular radii before and after the \(Q\) steps
(index 0 = innermost). \(\ell_2\) radius change 1.87 nm; largest single
move is the outer pair \(63.28\to 64.50\) nm. Provenance:
the parameters lists in the same result.json (seed versus final
unique radii). Same generator.
Sawfish 2022 — outgoing pole near 619 nm¶
The cheap square-wave tooth (duty ½, neck 76 nm on a 206 nm bounding beam) sits on the incoming sheet of \(A(\omega)\): a zero at \(\omega/\omega_{\mathrm{ref}}=0.76376+0.00203i\), residual \(1.8\times 10^{-10}\). Replacing that tooth with the Bopp \(\cos^6\) sidewall (arXiv:2210.04702: \(T=133\) nm, \(g=11\) nm, \(A_0=65\) nm, \(a=200\) nm, \(W=2g+4A_0=282\) nm) and raising the local \(x\)-Legendre degree from 0 to 1 isolates an outgoing zero \(\mathrm{Im}\,\tilde\omega<0\). Four pairs: \(\lambda=618.71\) nm, \(Q=68.73\), residual \(8.3\times 10^{-8}\). Six pairs: \(\lambda=619.71\) nm, \(Q=268.51\), residual \(3.1\times 10^{-10}\), 0.88 nm from the SnV target. Neighboring 6-pair outgoing poles sit at 635 nm (\(Q\approx 1200\)) and 602 nm. Spatial field maps were not retained; left/right null vectors of \(A(\omega)\) are stored with the runs. No Tidy3D.
A leftover cheap-rect hunt lives at runs/sawfish_n6/
(\(Q=208.02\), \(\lambda=649.67\) nm). That is not the paper tooth and
is not the ≥2× seed.

Figure 13. Square, trapezoid, and Bopp \(\cos^6\) teeth drawn from the
live constructors, matched \(x\)/\(y\) axes. Green: diamond bounding
waveguide. Pale fill: air notches. The paper unit cell is the bottom
row (\(W=282\) nm, neck \(22\) nm). Generator:
engines/general_1d_cavity/tools/build_figures.py. Material colours
are the explicit legend.

Figure 14. Six-pair cosine cavity used for the pole solve. Diamond
\(n=2.41\), air notches, \(T=133\) nm, \(a=200\) nm, \(A_0=65\) nm,
\(g=11\) nm. Source:
engines/general_1d_cavity/campaigns/paper_reproduction_v1/runs/sawfish/cosine_n6_a200_P1/geometry.json.
Same generator.

Figure 15. Smallest singular value of \(A(\omega)\) just below the
real axis (\(\mathrm{Im}\,\omega/\omega_{\mathrm{ref}}=-2\times 10^{-4}\)).
Dashed line: SnV 618.83 nm. Solid red: solved outgoing pole at
619.71 nm, \(Q=268.51\), residual \(3.1\times 10^{-10}\). Dotted
teal: neighboring outgoing poles at 635 nm and 602 nm. Source:
.../runs/sawfish/cosine_n6_a200_P1/{scan,result}.json. This is an
operator diagnostic, not an FDTD spectrum. Absolute cheap-basis \(Q\)
is not a production claim. Fields were not retained.
One resonance-stationary implicit step on the unique mirrored
(period, neck) vector then raises model \(Q\) 6.819×. Centers are
rebuilt from the inner cavity outward; the 282 nm bounding width is
held. The implicit Jacobian uses \(y^H A_p x\) (np.vdot), matching
the preserved implicit_pole.py; a transpose inner product \(y^T A_p x\)
points downhill on this complex-symmetric cosine operator. Linearized
\(\Delta Q\) at 2 nm was \(+346\); the resolved outgoing pole gained
\(+1563\) as \(|\mathrm{Im}\,\tilde\omega|\) dropped. \(\lambda\) moved 0.28 nm (still 1.16 nm from the SnV
line). An independent resolve of the final geometry reproduces
\(Q=1831.03\) to a relative error of 0. Fields were not retained.
No Tidy3D. Runner:
engines/general_1d_cavity/tools/run_sawfish_qsteps.py.

Figure 16. Six-pair Bopp \(\cos^6\) cavity before and after the
accepted 2 nm implicit-\(Q\) step, matched \(x\)/\(y\) axes. Green:
diamond bounding waveguide \(n=2.41\). Cream: air notches. Period
moves reach \(1.39\) nm and neck moves \(0.09\) nm
(see Figure 18), so the outlines look almost unchanged at this
scale. Source:
.../runs/sawfish/cosine_n6_a200_P1_qsteps/{geometry_seed,geometry_final}.json.
Generator: engines/general_1d_cavity/tools/run_sawfish_qsteps.py
(write_sawfish_qstep_figures, also rebuilt by
build_figures.py::figure_sawfish_qsteps). Analytical model \(Q\)
in the titles; not FDTD. Fields were not retained.

Figure 17. One accepted implicit-gradient step on the 6-pair
cosine\(^6\) P1-x Sawfish seed. Model \(Q\): 268.51 → 1831.03 (gain
6.819×). Wavelength: 619.71 → 619.99 nm. Design vector: 12 unique
mirrored (period, neck) coordinates; \(\mathrm{Re}\,\tilde\omega\)
projected out. Source:
.../runs/sawfish/cosine_n6_a200_P1_qsteps/result.json. Same
generator. This is not an FDTD \(Q\).

Figure 18. Unique-pair period and neck before and after the \(Q\)
step (index 0 = innermost). Inner period \(200\to 201.17\) nm;
largest period move is pair 4, \(200\to 198.61\) nm
(\(\lvert\Delta a\rvert=1.39\) nm). Largest neck change is the
outer pair \(22.00\to 22.09\) nm. Provenance: the parameters
lists in the same result.json (seed versus
final_unique_parameters). Same generator.
Quan 2011 — matched Tidy3D pair (12 ps / mesh-20)¶
The cheapest historical confirming protocol for this family is the Phase-57 short-pole comparison: 12 ps run time, 20 steps per wavelength, baseline mesh only, no 5-case convergence panel. That is not the 60/90 ps publication panel. Harmonic inversion on the point-monitor ringdown:
| Geometry | Analytical \(Q\) | Tidy3D \(Q\) | \(\lambda_{\mathrm{FDTD}}\) (nm) | Resonance error | Task ID |
|---|---|---|---|---|---|
| Seed | 7722 | 15877 | 1502.0 | 0.81% | fdve-06dff95c-0f96-4495-94ad-db6738fb3fe3 |
| Step 4 | 16835 | 56909 | 1499.3 | 0.61% | fdve-3294ef7a-2a2c-4830-8a0e-b8dcec5698a6 |
FDTD gain 3.58×. Analytical gain on the same geometries is 2.18×. The two \(Q\)s are distinct observables; the FDTD numbers sit close to the historical Phase-57 12 ps baseline (\(Q=15469\)). Mode volume and flux-channel \(Q\)s are NaN (volume/flux monitors did not yield a usable integral on this short window). Spatial field plots were not extracted. Billed cost 0.227 FlexCredits (0.117 + 0.111).

Figure 19. Analytical pole \(Q\) versus Tidy3D harmonic-inversion \(Q\)
for the matched Quan seed and step-4 geometries. Protocol: 12 ps,
20 steps/wavelength, no convergence panel. Source:
.../runs/quan/tidy3d_12ps_mesh20/results/{quan2011_n15_baseline,quan2011_n15_qsteps_final}__baseline.json
and optimizer_confirmation.json. Generator:
engines/general_1d_cavity/tools/plot_quan_fdtd_confirm.py.
Runner: tools/run_tidy3d_confirm.py --family quan --submit.
Fryett 2017 — 12 ps Tidy3D seed did not ring down¶
The same Phase-57 short-pole protocol was applied to the 10-pair
P1/y1 circular Fryett seed (n=2.0 / n=1.5, 450×330 nm, a=233 nm)
via run_tidy3d_confirm.py --family fryett. authorize_submission
accepted 0.168 FlexCredits for a seed+after pair. Two seed-only
jobs were billed (0.085 each); the after geometry was not submitted.
| Attempt | Dipole | Task ID | Billed | Outcome |
|---|---|---|---|---|
| y=0 | (0,0,0) | fdve-bb474799-9922-45cb-a8fb-ba2d3b9def4b |
0.085 | Ey on the odd-symmetry plane is DC |
| y=50 nm | (0, 50 nm, 0) | fdve-14076ed3-9f84-4042-9713-916d7362fee0 |
0.085 | still DC; solver field decay \(2.1\times10^{-11}\) from 4% of 12 ps through 100% |
No positive-\(Q\) pole in the 4% frequency window. This is not an FDTD \(Q\), and not a 2× claim. The after geometry was not submitted. The dipole is in-core (Figure 20c). The 12 ps domain is empty because 3-D \(Q\sim 26\) (lifetime \(\sim 20\) fs) is gone by the first solver checkpoint; the 6 ps / \(1.5/f_{\mathrm{width}}\) job records it (FDTD \(Q=26.1\) at 806 nm).

Figure 20. \(E_y\) at the y=50 nm dipole on the Fryett seed
(12 ps, 20 steps/wavelength). The trace is a decaying DC offset,
not an optical ringdown; the AC FFT is empty at the analytical
776.68 nm line. Source:
.../runs/fryett/tidy3d_12ps_mesh20_y50nm/data/fryett2017_n10_seed__baseline.hdf5
and results/seed_analysis_failed.json. Task
fdve-14076ed3-9f84-4042-9713-916d7362fee0. Generator:
engines/general_1d_cavity/tools/diagnose_fryett_fdtd_excitation.py.

Figure 20b. Tidy3D solver field decay. Quan seed (blue) stays
\(\mathrm{O}(0.1)\) through 12 ps — a stored cavity field. Fryett
10-pair circular seed (red) is \(2.1\times10^{-11}\) from the first
checkpoint (0.48 ps) onward. That is a low 3-D \(Q\), not a missing
source. The 12 ps monitors still opened after the pulse peak (Figure
25); starting at \(1.5/f_{\mathrm{width}}\) records the burst
(Figure 27, FDTD \(Q=26\)). Source: solver logs in
.../quan/tidy3d_12ps_mesh20/data/quan2011_n15_baseline__baseline.hdf5
and
.../fryett/tidy3d_12ps_mesh20_y50nm/data/fryett2017_n10_seed__baseline.hdf5.
Generator: engines/general_1d_cavity/tools/plot_fryett_fdtd_diagnosis.py.

Figure 20c. Central 1 µm of the billed 10-pair circular seed, matched
\(x\)/\(y\). Red: SiN \(n=2.0\). Cream: cladding holes \(n=1.5\). The
\(E_y\) dipole at \((0,50\,\mathrm{nm})\) sits in the core
(dipole-to-hole-center 126.8 nm vs innermost \(r=91.3\) nm). The empty
Tidy3D domain is not a source-placement bug. Source:
.../runs/fryett/tidy3d_12ps_mesh20_y50nm/designs/fryett2017_n10_seed.json.
Generator: plot_fryett_fdtd_diagnosis.py (_source_overlay).
Fryett 2017 — paper-ellipse poles on the 737–780 nm line¶
The circular 10-pair filling-fraction seed is not the paper
reconstruction. hole_style='paper_ellipse' uses \(r_x=50\) nm,
\(r_y=70\to150\) nm, \(a=233\) nm, and homogeneous FOX \(n=1.47\).
Earlier paper-ellipse scans took the global \(\sigma\) minimum
(\(\lambda\approx 641\) nm at 12 pairs) and missed weaker dips on the
737 nm line; at \(n_{\mathrm{clad}}=1.50\) those window dips sit on the
incoming sheet.
A local-minimum hunt (tools/run_fryett_paper_window.py) with
\(n_{\mathrm{clad}}=1.47\):
| Pairs | \(\lambda\) (nm) | Model \(Q\) | Residual | Sheet |
|---|---|---|---|---|
| 12 | 731.27 | 310.06 | \(9.3\times10^{-10}\) | outgoing (5.7 nm blue of 737) |
| 12 | 775.05 | 94.98 | \(7.7\times10^{-12}\) | outgoing, in window |
| 15 | 755.83 | 1320.43 | \(2.1\times10^{-10}\) | outgoing, in window |
| 15 | 773.46 | 389.85 | \(8.6\times10^{-11}\) | outgoing, in window |
| 15 | 737.90 | — | \(1.6\times10^{-10}\) | incoming |
The 15-pair 755.83 nm pole is the first paper-faithful outgoing seed
inside the campaign window. Three accepted unique-\(r_y\) implicit
steps (tools/run_fryett_paper_qsteps.py) raise model \(Q\)
1320.43 → 2723.19 (2.062×) while \(\lambda\) is held. Still the
cheap P1-z0 / y1-z0 operator — the circular 10-pair FDTD \(Q=26\)
says this basis inflates \(Q\). No Tidy3D on the paper-ellipse
geometry this round. Sources:
.../runs/fryett/paper_n12_p1_n147/{result,refine}.json,
.../runs/fryett/paper_n15_p1_n147/result.json,
.../runs/fryett/paper_n15_p1_n147_qsteps/result.json.

Figure 20d. Fifteen-pair paper-ellipse Fryett seed and the geometry
after three unique-\(r_y\) \(Q\) steps, matched \(x\)/\(y\). Red: SiN
\(n=2.0\). Cream: FOX holes \(n=1.47\). Minor radius 50 nm held.
\(r_y\) moves are a few nanometres (Figure 20f), so the Bragg envelope
is unchanged at this scale. Source:
.../runs/fryett/paper_n15_p1_n147_qsteps/{geometry_seed,geometry_final}.json.
Generator: run_fryett_paper_qsteps.py (write_figures). Fields not
retained. Model \(Q\) in the titles; not FDTD.

Figure 20e. Implicit unique-\(r_y\) steps on the 15-pair paper-ellipse
pole. Model \(Q\): 1320.43 → 1596.17 → 2014.09 → 2723.19 (gain
2.062×). Wavelength held at 755.83 nm. Source:
.../paper_n15_p1_n147_qsteps/result.json. Same generator. This is
not an FDTD \(Q\).

Figure 20f. Unique-pair major radius before and after the \(Q\)
steps (index 0 = innermost). L2 change 4.50 nm. Provenance:
parameters lists in the same result.json. Same generator.
Matched 6 ps / \(1.5/f_{\mathrm{width}}\) / \(y=50\) nm Tidy3D on this paper-ellipse pair (seed not previously billed):
| Model \(Q\) | FDTD \(Q\) | \(\lambda_{\mathrm{FDTD}}\) (nm) | Error | Task | Billed | |
|---|---|---|---|---|---|---|
| Seed | 1320 | 206.7 | 785.3 | 0.009 | fdve-04c8a1ce-d052-420d-959a-9091f7dd6902 |
0.060 |
| After unique-\(r_y\) | 2723 | 205.9 | 785.4 | 0.009 | fdve-9e15af3f-03f5-4d37-8c20-08367bac5ecc |
0.059 |
FDTD gain 0.996×. Localization 0.87 on both. Circular 10-pair FDTD \(Q\) was 26; paper ellipses actually confine (~8×). Cheap unique-\(r_y\) 2.06× still does not raise 3-D \(Q\).
Even-\(z\) y1-z2 on the same seed geometry has model \(Q=167.2\)
at 756.3 nm — within 1.24× of FDTD \(Q=206.7\). Four unique-\(r_y\)
steps raise model \(Q\) 167.2 → 337.5 (2.018×), \(\Delta\lambda=0.023\) nm.
Matched 6 ps after (fdve-0a59edc2-d6b4-4f7e-904f-fb137874baa9, billed
0.055): FDTD \(Q=205.4\) at 785.4 nm (0.993×). Unique-\(\lvert x\rvert\)
on the same y1-z2 seed (tools/run_fryett_paper_center_qsteps.py)
raises model \(Q\) 167.23 → 359.02 (2.147×), \(\Delta\lambda=0.044\) nm.
After Tidy3D fdve-29c83f61-2a95-4198-b261-45c1123025d2 (billed 0.059):
FDTD \(Q=200.1\) at 785.2 nm (0.968×). Lattice moves of a few
nanometres also fail. Do not submit more unique-\(r_y\) or unique-center
after-geometries.

Figure 20h. Left: y1-z2 unique-\(r_y\) model \(Q\) versus billed FDTD
seed \(Q=206.7\). Right: cheap z0 inflates \(Q\); y1-z2 seed sits on
3-D \(Q\); unique-\(r_y\) and unique-center after FDTD stay \(\sim 200\).
Source: .../runs/fryett/paper_n15_p1_n147_y1z2_qsteps/result.json,
.../paper_n15_p1_n147_y1z2_center_qsteps/result.json, and the billed
6 ps result JSONs. Generator:
engines/general_1d_cavity/tools/plot_fryett_paper_y1z2.py.

Figure 20i. Left: unique-\(\lvert x\rvert\) model \(Q\) 167.23 → 359.02
(2.147×) versus billed FDTD seed \(Q=206.7\) and after \(Q=200.1\).
Right: pair-wise \(\Delta\lvert x\rvert\); L2 change 7.90 nm, largest
move 4.60 nm. Source:
.../runs/fryett/paper_n15_p1_n147_y1z2_center_qsteps/result.json and
.../tidy3d_paper_n15_y1z2_center_6ps/results/. Generator:
engines/general_1d_cavity/tools/plot_fryett_paper_center.py. Task
fdve-29c83f61-2a95-4198-b261-45c1123025d2.

Figure 20g. Paper-ellipse 15-pair model \(Q\) versus 6 ps Tidy3D
\(Q\). Protocol: 20 steps/wavelength, start \(1.5/f_{\mathrm{width}}\),
dipole \(y=50\) nm. Source:
.../runs/fryett/tidy3d_paper_n15_6ps_early/results/. Generator:
ad-hoc bar plot copied to engines/general_1d_cavity/figures/.
Sawfish 2022 — matched 6 ps tooth-builder pair, FDTD \(Q\) did not rise¶
A cosine-tooth Tidy3D builder (tools/sawfish_fdtd.py) punches the
analytical outline_xy notches through a diamond beam (\(n=2.41\)
in air). Protocol: 6 ps, 20 steps/wavelength, dipole at \(y=40\) nm,
ringdown start \(1.5/f_{\mathrm{width}}\) (\(\approx 0.078\) ps).
authorize_submission accepted 0.042 FlexCredits per job.
| Geometry | Analytical \(Q\) | Tidy3D \(Q\) | \(\lambda_{\mathrm{FDTD}}\) (nm) | Resonance error | Task ID | Billed |
|---|---|---|---|---|---|---|
| Seed | 268.5 | 19.70 | 643.1 | 0.077 | fdve-0718cf01-5b33-4166-8f14-e343f0566a64 |
0.038 |
| After | 1831 | 14.89 | 641.8 | 1.74 | fdve-b5bcdd2a-8a14-4617-ba71-d7e82c89df05 |
0.038 |
FDTD gain 0.76×. Analytical gain on the same geometries is 6.82×. The two \(Q\)s are distinct observables. The 6-pair cheap basis does not confine in 3-D the way the reduced outgoing-pole operator suggests (FDTD \(Q\sim 20\) vs model \(Q=268\)). The after inversion error is 1.74, so that \(Q\) is not a tight pole. An alternate 593 nm pair in the same ResonanceFinder tables (seed \(Q=27.1\), after \(Q=28.5\)) also fails 2×. This is not a 2× FDTD claim.

Figure 21. Analytical pole \(Q\) versus Tidy3D harmonic-inversion
\(Q\) for the matched 6-pair \(\cos^6\) seed and implicit-\(Q\)
geometries. Protocol: 6 ps, 20 steps/wavelength, cosine-tooth
PolySlabs from outline_xy_nm. Source:
.../runs/sawfish/tidy3d_6ps_mesh20/results/{sawfish_n6_cosine_seed,sawfish_n6_cosine_qsteps_final}__baseline.json
and optimizer_confirmation.json. Generator:
engines/general_1d_cavity/tools/plot_sawfish_fdtd_confirm.py.
Runner: tools/run_tidy3d_confirm.py --family sawfish --only seed|after --submit.
Analytical and FDTD \(Q\) are plotted as different bars on purpose.
Sawfish 2022 — 10-pair cosine\(^6\) pole, then ≥2× model \(Q\)¶
The 6-pair cheap basis does not confine in 3-D (FDTD \(Q\sim 20\)). Raising the pair count on the same Bopp \(\cos^6\) P1-x cell (\(T=133\) nm, \(A_0=65\) nm, \(a=200\) nm, \(g=11\) nm) isolates a much higher-Q outgoing pole at the SnV line:
| Pairs | Model \(Q\) | \(\lambda\) (nm) | Residual |
|---|---|---|---|
| 6 | 268.5 | 619.71 | \(3.1\times10^{-10}\) |
| 8 | 15735 | 612.89 | \(3.4\times10^{-9}\) |
| 10 | 37257 | 619.23 | \(4.7\times10^{-9}\) |
| 12 | 2374 | 595.20 | \(9.4\times10^{-11}\) |
Ten pairs sit 0.40 nm from 618.83 nm. One 0.5 nm implicit (period, neck) step with \(\mathrm{Re}\,\tilde\omega\) projected raises model \(Q\) 37257 → 96534 (2.591×) while \(\lambda\) moves 0.001 nm. Fields were not retained.
A 12 ps / mesh-20 seed Tidy3D job on this geometry
(fdve-8e0e1853-12b3-4728-ba2a-859a47299722, billed 0.100)
returns FDTD \(Q=23.4\) at 625 nm (resonance error 0.60). Raising
the pair count on the cheap P1-x / y1-z0 operator does not
raise 3-D radiation \(Q\) (6-pair FDTD \(Q\sim 20\), 10-pair
\(Q\sim 23\)). The after geometry was not submitted.
Runner: engines/general_1d_cavity/tools/run_sawfish_qsteps.py
--seed-run .../cosine_n10_a200_P1. Catalog:
.../runs/sawfish/more_pairs_catalog.json.

Figure 22. Ten-pair Bopp \(\cos^6\) cavity before and after the
accepted 0.5 nm implicit-\(Q\) step, matched \(x\)/\(y\) axes.
Green: diamond \(n=2.41\). Cream: air notches. Period moves are
\(\lesssim 0.23\) nm (see Figure 24). Source:
.../runs/sawfish/cosine_n10_a200_P1_qsteps/{geometry_seed,geometry_final}.json.
Generator: run_sawfish_qsteps.py (write_sawfish_qstep_figures,
prefix sawfish_n10). Analytical model \(Q\) in the titles; not
FDTD.

Figure 23. One accepted implicit-gradient step on the 10-pair
cosine\(^6\) P1-x seed. Model \(Q\): 37257 → 96534 (gain 2.591×).
Wavelength held at 619.23 nm (\(\Delta\lambda=-0.001\) nm). Design
vector: 20 unique mirrored (period, neck) coordinates.
Source: .../runs/sawfish/cosine_n10_a200_P1_qsteps/result.json.
Same generator. This is not an FDTD \(Q\).

Figure 24. Unique-pair period and neck before and after the \(Q\)
step (index 0 = innermost). Inner period shortens \(\sim 0.06\) nm;
outer period lengthens \(\sim 0.20\) nm. Neck changes stay
\(\lesssim 0.025\) nm. Provenance: parameters lists in the same
result.json. Same generator.
Fryett 2017 — 6 ps seed with earlier monitors rings at \(Q\sim 26\)¶
Local re-analysis of the billed 12 ps HDF5 files shows why those jobs were DC. The GaussianPulse offset is \(5/f_{\mathrm{width}}\) (peak at 0.324 ps). Default ringdown start is \(6/f_{\mathrm{width}}\) (0.389 ps). Solver field decay is already \(2.1\times 10^{-11}\) at the first checkpoint (0.48 ps). The y=50 nm dipole is in-core; this is not a placement bug. Sawfish used \(1.5/f_{\mathrm{width}}\) (0.078 ps) and inverted \(Q\sim 20\).

Figure 25. Source envelope versus monitor start. Fryett 12 ps
monitors open after the pulse peak; Sawfish monitors open before it.
Quan can afford a late start because its 3-D \(Q\) is \(10^4\).
Source: billed Simulation JSON (offset=5, start=6/fwidth versus
1.5/fwidth). Generator:
engines/general_1d_cavity/tools/diagnose_fryett_fdtd_excitation.py.

Figure 26. Point-monitor \(E_y\). Quan rings. Sawfish shows a short optical burst (FDTD \(Q=19.7\)). Both 12 ps Fryett jobs are a millivolt-scale transient on a DC offset of order 5–9. Same generator.
One cheap 6 ps / mesh-20 seed was then submitted with the Sawfish
monitor start (y=50 nm, \(1.5/f_{\mathrm{width}}\)). Estimate 0.042
FlexCredits; billed 0.042. Task
fdve-80f5259a-c462-43f0-b8c8-b5d7864d2d55. Harmonic inversion
returns FDTD \(Q=26.05\) at 806.1 nm (ResonanceFinder error 0.053).
Localization 0.49. The after geometry was not submitted: 3-D
\(Q\sim 26\) does not track the cheap P1/y1 model \(Q=907\), the same
failure mode as Sawfish.

Figure 27. Left: 6 ps seed with start \(1.5/f_{\mathrm{width}}\).
Optical pulse of amplitude \(\sim 1700\) at 0.10–0.20 ps, then gone.
Right: the previous 12 ps job on the same dipole, start
\(6/f_{\mathrm{width}}\), DC leftover. Source:
.../runs/fryett/tidy3d_6ps_mesh20_early/data/fryett2017_n10_seed__baseline.hdf5
versus .../tidy3d_12ps_mesh20_y50nm/data/. Generator:
engines/general_1d_cavity/tools/plot_fryett_fdtd_early.py.

Figure 28. Cheap analytical pole \(Q=907\) versus Tidy3D harmonic-inversion \(Q=26.1\). They are different observables. After-geometry not submitted. Same generator. Ledger entry billed 0.042 FlexCredits.
Radiation content — degree_z in the Galerkin basis¶
Quan production uses y3-z1 and its model \(Q\) sits within about
2× of FDTD. Sawfish and Fryett cheap poles used y1-z0: the waveguide
Green function is \(z\)-uniform, so vertical radiation is missing
and model \(Q\) inflates (268 and 907 versus FDTD \(\sim 20\)–26).
tools/run_radiation_basis.py re-solves the billed geometries with
degree_z >= 1. No additional Tidy3D on those bases.
| Basis | Near-target outgoing pole | Residual | vs FDTD |
|---|---|---|---|
| Sawfish n6 y1-z0 P1-x | \(Q=268.5\), 619.71 nm | \(3.1\times10^{-10}\) | FDTD 19.7 |
| Sawfish n6 y1-z1 P1-x | 619 nm sheet is incoming (\(\mathrm{Im}\,\omega>0\) at \(\omega/\omega_{\mathrm{ref}}\approx 1\)); nearest outgoing 604 nm, \(Q=894\) | \(1.3\times10^{-10}\) | — |
| Sawfish n6 y2-z1 P1-x | \(Q=125.1\), 621.35 nm | \(5.7\times10^{-9}\) | still 6.3× FDTD |
| Fryett n10 P1-z0 / y1-z0 | \(Q=907.2\), 776.68 nm | \(2.4\times10^{-12}\) | FDTD 26.1 |
| Fryett n10 P1-z0 / y1-z1 | \(Q=179.7\), 774.65 nm | \(9.9\times10^{-11}\) | still 6.9× FDTD |
| Fryett n10 P1-z1 / y1-z1 | no clean outgoing pole at 777 nm (incoming or residual \(>10^{-1}\)) | — | — |

Figure 29. Model \(Q\) of the outgoing pole nearest the paper
wavelength after raising waveguide \(z\)-content, versus the matched
3-D FDTD \(Q\) (dashed). Blue: converged outgoing. Red: failed
solve. The cheap Sawfish 619 nm pole is not outgoing at y1-z1; the
y2-z1 solve at 621.35 nm is. Fryett waveguide-z1 drops 907 → 180 at
775 nm. Sources:
.../runs/sawfish/radiation_basis_n6/catalog.json,
.../runs/fryett/radiation_basis_n10/catalog.json,
.../runs/radiation_basis_summary.json. Generator:
engines/general_1d_cavity/tools/plot_radiation_basis.py.
Analytical \(Q\) only on the bars; FDTD \(Q\) is the dashed line.
The cheap implicit-\(Q\) steps that produced Fryett 6.8× and Sawfish 6.8× / 2.6× therefore optimized a reduced operator that does not see the 3-D radiation channel. A ≥2× FDTD claim on those after geometries would not be a confirmation of that operator.
Sawfish y2-z1 implicit \(Q\), then after-only Tidy3D¶
The billed 6-pair cosine seed already has FDTD \(Q=19.70\). Re-solving
that same geometry with waveguide y2-z1 gives model \(Q=125.11\)
at 621.35 nm. Three unique (period, neck) steps raise model \(Q\)
125.11 → 297.24 (2.376×), \(\Delta\lambda=+0.11\) nm. Runner:
run_sawfish_qsteps.py --seed-run .../cosine_n6_a200_P1_y2z1.
The after geometry was submitted on the same 6 ps / mesh-20 / \(1.5/f_{\mathrm{width}}\) protocol (seed not re-billed):
| Model \(Q\) | FDTD \(Q\) | \(\lambda_{\mathrm{FDTD}}\) (nm) | Task | |
|---|---|---|---|---|
| Seed (y1-z0 job, same geom.) | 125.11 (y2-z1) / 268.5 (y1-z0) | 19.70 | 643.1 | fdve-0718cf01-…6a64 |
| After y2-z1 \(Q\) steps | 297.24 | 19.30 | 643.5 | fdve-6c544769-ff97-411d-8925-b89ccec8ee3f |
FDTD gain 0.98×. Billed 0.038. Model 2.38× on y2-z1 does not raise 3-D radiation \(Q\). Fryett circular y1-z1 unique-radius steps also hit 2.589× (179.7 → 465.1) on disk; that after-geometry was not submitted (same lesson). Do not spend more z-degree Tidy3D.

Figure 30. Implicit unique (period, neck) steps on the 6-pair
\(\cos^6\) y2-z1 pole. Model \(Q\): 125.11 → 157.95 → 213.02 →
297.24 (gain 2.376×). \(\lambda\) 621.35 → 621.46 nm. Source:
.../runs/sawfish/cosine_n6_a200_P1_y2z1_qsteps/result.json.
Generator: run_sawfish_qsteps.py. Not an FDTD \(Q\).

Figure 31. Seed FDTD \(Q=19.70\) (already billed) versus after
FDTD \(Q=19.30\) (task fdve-6c544769-…, 0.038 FlexCredits) and
the y2-z1 model \(Q\)s. Protocol: 6 ps, 20 steps/wavelength, start
\(1.5/f_{\mathrm{width}}\). Source:
.../runs/sawfish/tidy3d_n6_y2z1_6ps/results/sawfish_n6_cosine_qsteps_final__baseline.json
and the y1-z0 seed result. Generator: ad-hoc bar plot in this
iteration, copied to engines/general_1d_cavity/figures/.
Galerkin \(z\)-content saturates above 3-D \(Q\)¶
The 6-pair Sawfish mode is even in \(z\). degree_z=1 is odd-\(z\);
degree_z=2,4 add even-\(z\) radiation. Targeted continuation of the
621 nm pole:
| Basis | Model \(Q\) | \(\lambda\) (nm) | Residual |
|---|---|---|---|
| y1-z0 P1-x | 268.5 | 619.71 | \(3.1\times10^{-10}\) |
| y2-z1 | 125.1 | 621.35 | \(5.7\times10^{-9}\) |
| y2-z2 | 114.5 | 620.70 | \(6.4\times10^{-9}\) |
| y2-z4 | 129.1 | 621.05 | \(4.1\times10^{-10}\) |
| FDTD (same geom.) | 19.7 | 643 | — |
Contour-16 on y2-z2 gives \(Q=131.4\), not a drop. The reduced operator of this 6-pair tooth has saturated near \(Q\sim 120\), about 6× the 3-D value. Implicit \(Q\) steps on y2-z1 already failed to move FDTD \(Q\) (0.98×). Do not submit more z-degree Tidy3D.
Paper-ellipse 15-pair at the 756 nm pole: y1-z0 \(Q=1320.43\) → y1-z2 \(Q=167.23\) (\(\lambda\) held). The 2.062× unique-\(r_y\) steps were on the inflated z0 operator. Circular n10 y2-z2 also hosts \(Q=64.5\) at 742 nm (in-window) and \(Q=191.5\) at 802 nm (near the FDTD 806 nm line). A paper-taper 10-pair y2-z1 pole sits at \(Q=417\), 618.54 nm (analytical only).

Figure 32. Tracked model \(Q\) versus waveguide \(z\)-degree, against
the matched 3-D FDTD \(Q\) (dashed). Left: 6-pair Sawfish cosine\(^6\)
pole near 621 nm saturates at \(Q\sim 115\)–130. Right: Fryett
circular n10 and paper-ellipse n15; opening even-\(z\) drops the
cheap 1320 pole to 167. Sources:
.../runs/sawfish/radiation_basis_n6/{y2_z2_Px1_leaky,y2_z4_Px1}.json,
.../runs/fryett/radiation_basis_n10/{P1_z0_y2_z2_fine,paper_n15_y1_z2}.json,
.../runs/radiation_basis_summary.json. Generator:
engines/general_1d_cavity/tools/plot_radiation_z_saturation.py.
Analytical bars; FDTD is the dashed line. No new Tidy3D.
Status¶
| Gate | State |
|---|---|
| Ellipse operator = preserved Zernike operator | unit test passing |
| Quan 2011 published taper | recovered (121.27 / 85.75 nm) |
| Cheap Quan implicit \(Q\) steps | 5.21×, \(\lambda\) held |
| Production Quan vs packaged P2-z1/y3-z1 preflight | done; \(Q=7722.35\), \(\lambda=1521.77\) nm, rel. error \(2.7\times 10^{-9}\) |
| Production Quan implicit \(Q\) steps | 7722.35 → 16834.69 (\(2.180\times\)), \(\Delta\lambda=-0.36\) nm; fields not retained |
| Cheap Fryett outgoing pole | \(Q\approx 129\), \(\lambda\approx 946\) nm |
| Production-enough Fryett pole | circular 10-pair P1/y1, \(a=233\) nm, \(Q=907.18\), \(\lambda=776.68\) nm (not the paper ellipse) |
| Paper-ellipse Fryett pole | 15-pair P1/y1, \(n=1.47\), \(Q=1320.43\), \(\lambda=755.83\) nm (in 737–780 nm); 12-pair 731.27 nm \(Q=310\) |
| Fryett implicit \(Q\) steps | circular 907.18 → 6183.56 (6.816×); paper-ellipse 1320.43 → 2723.19 (2.062×), \(\lambda\) held |
| Cheap Sawfish outgoing pole | cosine\(^6\) P1-x; 4 pairs \(Q=68.73\), \(\lambda=618.71\) nm; 6 pairs \(Q=268.51\), \(\lambda=619.71\) nm; \(\mathrm{Im}\,\omega<0\) |
| Sawfish implicit \(Q\) step (6-pair) | 268.51 → 1831.03 (6.819×), \(\Delta\lambda=+0.28\) nm; FDTD 0.76× |
| Sawfish 10-pair outgoing pole | \(Q=37257\), \(\lambda=619.23\) nm, 0.40 nm from SnV |
| Sawfish 10-pair implicit \(Q\) step | 37257 → 96534 (2.591×), \(\Delta\lambda=-0.001\) nm; fields not retained |
| ≥2× FDTD on Quan (12 ps / mesh-20) | done: 15877 → 56909 (3.58×); billed 0.227 FlexCredits |
| Fryett seed oscillates | done at 6 ps / \(1.5/f_{\mathrm{width}}\): FDTD \(Q=26.05\) at 806.1 nm, task fdve-80f5259a-…2d55, billed 0.042 |
| ≥2× FDTD on Fryett | open; circular seed \(Q=26\); paper-ellipse z0 0.996×; y1-z2 unique-\(r_y\) 0.993×; unique-center 0.968× |
| ≥2× FDTD on Sawfish | open; 6-pair y1-z0 0.76×; y2-z1 after 0.98× (19.70 → 19.30) |
| Radiation content (z-basis) | saturated: Sawfish n6 621 nm pole y1-z0 268 → y2-z1 125 → y2-z2 115 → y2-z4 129 vs FDTD 19.7 |
| Radiation-basis \(Q\) steps | Sawfish y2-z1 2.376×; Fryett y1-z1 2.589×; y2-z1 FDTD 0.98× |
| Paper Bragg scaling | Sawfish taper y2-z1: n10 \(Q=417\) @ 618.5 nm; n15 SnV line incoming. Not a ladder. |
| Cladding-Green q-quadrature | quad 16 drops Sawfish 125→78 and Fryett 180→60 vs FDTD 20/26; order 28 is not monotonic |
| Panelized \(G_{\mathrm{clad}}\) cutoff | not converged. Fryett \(Q=45\) at cut24/p16/o4 is an artifact (o6→72, cut32→81). Sawfish stays \(\sim 130\). |
| Polar outgoing \(G_{\mathrm{clad}}\) | contour-10: Sawfish 125→241 (raises \(Q\)); Fryett unclean \(Q\sim 75\). Not the 3-D channel. |
| Hybrid polar-in-cone | Sawfish 125.11→124.94; Fryett 179.7→111.1. Still 6× / 4× FDTD. |
| Guided-β subtraction | operator Δ 7% on Sawfish; billed \(Q\) unchanged (125 / 180). |
| Paper-ellipse y1-z2 \(Q\) steps | 167.2→337.5 (2.018×); FDTD after 205.4 (0.993×) |
| Unique-center y1-z2 \(Q\) steps | 167.2→359.0 (2.147×); FDTD after 200.1 (0.968×) |
| Stacked radiation knobs | not additive. Best Sawfish q16+hybrid \(Q=66.1\) (3.35× FDTD); paper-ellipse stays 158–189 vs FDTD 207 |
| Pair-count q16+hybrid | saturates. Sawfish n1 \(Q=19.3\), n6 66, n10 67 vs FDTD 19.7 / 23.4. Paper-ellipse P1-z2 stays 143–236 vs 207 |
| Bare in-cone \(G_{\mathrm{clad}}\) | unstable. Hybrid bare raises n6 66→81. Cartesian q16 bare n6 \(Q=32\) but n4 16 / n10 84. Paper 167→257. |
| Real-axis polar \(G_{\mathrm{clad}}\) | negative on Sawfish. n6 66→68 (order 24: 64), n10 65; n1 still 20. Circular q16 60→42.4 (1.63× FDTD 26). Paper 167→177. |
| Local in-cone radiation | negative. Block-diagonal \(\lvert\mathrm{Re}\,u\rvert\le 1\) raises Sawfish n6 66→287; n10 lost. Paper 167→34 vs FDTD 207. Circular 60→64. |
| Bare evanescent \(G_{\mathrm{clad}}\) | negative on Sawfish. n6 66→72, n10 70. Circular q16 60→38.1 (1.46× FDTD 26). Paper 167→120 vs 207. |
| Segmented Sommerfeld contour | unstable. n6 seg-4 \(Q=20.7\) @ 606 nm sits on FDTD, then seg-8 \(Q=188\), n10 \(Q=93\). Paper 167→513. Circular 60→18.9. |
| Sommerfeld indent height | negative/unstable. Hybrid n6 flat \(Q=62\)–66. Cartesian height 0.02 n6 \(Q=38.4\) but n10 79; height 0.01 returns to 64. Paper 0.08 raises 167→287. |
| Real-axis + bare-evanescent stack | negative. Sawfish n6 \(Q=73\) (n10 65). Circular pole lost. Paper 167→110 vs FDTD 207. Not additive. |
| Tooth/hole P2-x | negative. n6 hybrid 66→58; n10 70; n1 \(Q=959\). Circular P2 60→70. Paper P2 167→166 (seed agreement robust). |
| Sommerfeld origin_width / tail_scale | negative. Hybrid n6 origin flat \(Q=62\)–67. Tail 3.5 raises to 105. Paper origin 0.15 167→430. Circular 60→57. |
| Waveguide y3-z1 | negative on Sawfish. n6 66→54; n4 107; n10 88. Circular y2 60→76. Paper y2-z2 167→212 vs FDTD 207. |
| Sommerfeld tangent_scale | negative. n6 0.5 \(Q=283\); 1.5 50; n1 at 1.5 \(Q=78\). Circular 1.5 \(Q=1888\). Paper 167→156. Shape family exhausted. |
| Local evanescent coupling | negative/unstable. n6 \(Q=7.94\) (overshoots FDTD); n8 54; n10 19. n1/n4 poles lost. Circular 60→37. Paper 756 nm pole lost. |
| Nearest-neighbor evanescent range | negative/unstable. N=1 keeps n1 \(Q=19.3\) but loses tracked n6 621 nm (neighbor \(Q=24\) @ 639 nm). N=⅔ leave n6 at 78/63. Paper N=1 lost; N=4 \(Q=576\). Circular 60→39. |
| Ey waveguide sector | negative. n6 66→51 @ 622 nm; n1 loses the 19.3 floor (\(Q=8\) @ 602 nm); n10 raises 67→85. Ez n6 122. Paper 167→109. Circular 60→39. |
| Soft evanescent decay | negative/unstable. Hybrid \(\alpha\) loses the 621 nm pole. Cartesian \(\alpha=1\) n6 \(Q=17.6\) looks like FDTD then n4 lost / n10 \(Q=48\). Paper 756 nm lost. |
| Cosine\(^6\) tooth \(C(\beta)\) quadrature | negative/unstable. t24 raises n6 66→93; t32 n6 \(Q=28\) but n1 floor 19→41; t48 pole lost. Not converged. |
| Waveguide Galerkin \(y\)-\(z\) quadrature | negative (converged). n6 66→70 at b32 (flat). n1 floor kept (\(Q=20.4\)). n10 stays 67. Paper 10→16 raises 167→189. |
| Hybrid polar \(G_{\mathrm{clad}}\) quadrature | negative (converged). n6 cutoff 12/18/24 is \(Q=65.4/66.1/66.3\). Angular 24 raises to 68. n1 floor kept. n10 stays 67. |
| Flexcredits | 0.888 / 15 |
How this will finish¶
A persistent agent team works from
engines/general_1d_cavity/campaigns/paper_reproduction_v1/GOAL.md.
Analytical ≥2× and Quan FDTD ≥2× are recorded. Fryett 6 ps seed rings
at FDTD \(Q=26\). Sawfish 3-D \(Q\sim 20\) is not a missing-\(z\)
Galerkin artifact (z2/z4 saturate at model \(Q\sim 120\)). y2-z1
implicit steps did not move 3-D \(Q\) (0.98×). Paper-ellipse n15
confines (FDTD \(Q=207\)); y1-z2 seed model \(Q=167\) is comparable
and stays 158–189 under q16 / hybrid polar / generic \(A\).
Unique-\(r_y\) 2.018× and unique-center 2.147× both leave FDTD at
\(\sim 200\) (0.993× / 0.968×). Stacking even-\(z\), q16, tooth-\(y\),
and hybrid polar is not additive (floor \(Q=66\) / \(60\)). Pair-count
at that floor saturates (n6 66, n10 67 vs FDTD 20 / 23): leftover
gap is per-scatterer, not Bragg. Bare in-cone \(G_{\mathrm{clad}}\)
does not fix it (n6 cartesian \(Q=32\) is not a pair-count floor;
hybrid/paper bare raise \(Q\)). Real-axis polar \(G_{\mathrm{clad}}\)
on the light-cone cut leaves Sawfish n6 at \(Q=64\)–68 (n10 65);
circular 60→42 is still 1.63× FDTD 26; paper stays 177 vs 207.
Local in-cone radiation raises Sawfish n6 66→287 and
collapses paper 167→34: fake Bragg is guided/evanescent, and
paper needs coherent light-cone radiation. Bare evanescent
\(G_{\mathrm{clad}}\) does not remove that leftover (n6 66→72,
n10 70); circular 60→38; paper 167→120. Segmented Sommerfeld n6
\(Q=20.7\) is a quadrature artifact (seg-8 \(Q=188\), n10 \(Q=93\),
paper 513). Indent height: hybrid n6 stays 62–66; cartesian 0.02
\(Q=38\) is not a pair-count floor (n10 79). Stacking real-axis polar
with bare-evanescent is not additive (Sawfish n6 \(Q=73\); circular
pole lost; paper 167→110). Tooth P2-x is not the leftover (n6 66→58,
n1 \(Q=959\); paper P2 stays 166 vs FDTD 207). origin_width is
flat (\(Q=62\)–67); tail_scale 3.5 raises to 105; paper origin 0.15
goes to 430. Waveguide y3-z1 drops n6 only 66→54 with non-monotonic
pair-count (n4 107, n10 88); paper y2-z2 167→212 vs FDTD 207.
tangent_scale 1.5 drops n6 to 50 but n1 \(Q=78\) and circular
\(Q=1888\); paper stays 156. Local evanescent coupling (keep
in-cone, drop inter-scatterer \(\lvert\mathrm{Re}\,u\rvert>1\))
overshoots n6 to \(Q=7.94\), loses n1/n4, then n8 \(Q=54\) / n10
\(Q=19\); circular 60→37; paper 756 nm pole lost. Nearest-neighbor
evanescent range preserves n1 \(Q=19.3\) but loses the tracked n6
621 nm pole at N=1; N=⅔ stay at 78/63; paper N=1 lost / N=4
\(Q=576\). Truncating evanescent range is not a stable 3-D channel.
Ey waveguide sector (Quan even-Ey in \(C(\beta)\)) drops n6 only
66→51, loses the n1 floor (\(Q=8\)), and raises n10 67→85; paper
167→109 vs FDTD 207. Ex/Ez carry per-scatterer radiation. Soft
evanescent decay \(\exp(-\alpha\lvert\Delta x\rvert/a)\) loses the
hybrid 621 nm pole; cartesian \(\alpha=1\) n6 \(Q=17.6\) is not a
pair-count floor (n4 lost, n10 \(Q=48\)). Cosine\(^6\) tooth
\(C(\beta)\) quadrature is non-monotonic (t24 raises, t32 n6
\(Q=28\) but n1 floor 19→41, t48 pole lost). Beam Galerkin
\(y\)-\(z\) quadrature is flat (n6 66→70, n1 floor kept). Polar
\(G_{\mathrm{clad}}\) cutoff/angular is flat (n6 65–68, n1
floor kept). Paper-ellipse even-\(z\)
holes stay on FDTD \(Q\sim 207\). Next confirming pair needs a
design vector that 3-D \(Q\) actually follows, not another
radiation-knob or unique-\(r_y\)/center after-geometry. Do not
resubmit cheap Sawfish P1-x / y1. Ledger 0.888 / 15.

Figure 33. Paper \(a_0\ldots a_4\) lattice taper, waveguide y2-z1.
Green: outgoing poles within 8 nm of 618.83 nm. Grey: other outgoing
poles. Dashed: uniform 6-pair FDTD \(Q=19.7\). Pair count does not
raise the SnV-line model \(Q\). Source:
.../runs/sawfish/bragg_taper_y2z1/catalog.json. Generator:
engines/general_1d_cavity/tools/run_bragg_scaling.py plus the plot
in this iteration.
Cladding-Green \(q\)-quadrature is radiation content¶
z-degree is saturated, but the homogeneous cladding Green is an
integral over transverse momentum \((q_y,q_z)\). Campaign poles used
quadrature_order=10; the preserved CrossSectionGalerkin default
is 28. Re-solving the same billed geometries with y2-z1 / y1-z1:
| Family | quad 10 | quad 16 | quad 28 | FDTD \(Q\) |
|---|---|---|---|---|
| Sawfish n6 y2-z1 | 125.1 @ 621.4 nm | 78.4 @ 619.6 nm | 233.8 @ 620.2 nm | 19.7 |
| Fryett n10 y1-z1 | 179.7 @ 774.7 nm | 59.6 @ 771.7 nm | 71.9 @ 772.2 nm | 26.1 |
Order 16 moves model \(Q\) toward 3-D \(Q\) (Fryett now 2.3× FDTD, not 7×). Order 28 is not a monotonic refinement on the tangent map: do not treat 28 as converged. Tooth \(y\)-degree 1 at quad 10 only drops Sawfish 125→100. Four implicit steps at quad 16: Sawfish 78.4→88.9 (1.13×); Fryett 59.6→87.6 (1.47×). After geometries not submitted. No Tidy3D.

Figure 34. Model \(Q\) versus cladding-Green \(q\)-quadrature order
on the billed 6-pair Sawfish and 10-pair circular Fryett seeds.
Dashed: matched 3-D FDTD \(Q\). Orange: extra tooth \(y\)-degree at
order 10. Source:
.../runs/sawfish/radiation_quadrature/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_radiation_quadrature.py.
Analytical \(Q\) on the curves; FDTD is the dashed line.
Panelized \(q\)-cutoff does not converge to 3-D \(Q\)¶
BeamSpec.dimensionless_cutoff selects the existing
InfiniteQuadrature.panelized_cutoff (not a rewritten Green). On
the billed y2-z1 / y1-z1 poles:
- Sawfish is insensitive: \(Q=125\)–142 from tangent-10 through cutoff 24.
- Fryett drops, then wanders. Cut 24 / 16 panels / order 4 gave \(Q=45.4\) @ 771 nm (1.74× FDTD 26), but the same cut and panels at order 6 return \(Q=72\); cut 18 / 16 panels return \(Q=102\); cut 32 / 16 panels return \(Q=81\). \(Q=45\) is a quadrature artifact, not a 3-D radiation \(Q\).
No Tidy3D. Do not submit an after-geometry on this Green.

Figure 35. Model \(Q\) versus dimensionless \(q\)-cutoff on the
panelized cladding Green. Left: 6-pair Sawfish y2-z1, 12 panels.
Right: 10-pair circular Fryett y1-z1; extra markers vary panel count
and order per panel. Dashed: matched FDTD \(Q\). Source:
.../runs/panelized_green/{catalog,fryett_panel_refine}.json.
Generator: engines/general_1d_cavity/tools/plot_panelized_green.py.
Analytical \(Q\); FDTD is the dashed line.
Polar outgoing \(G_{\mathrm{clad}}\) does not recover 3-D \(Q\)¶
The Cartesian \(q_y\times q_z\) tangent map does not resolve the
cladding light-cone shell \(q_y^2+q_z^2=\kappa^2\). A polar split
with explicit \(i\pi\) residue
(cladding_green_matrix_outgoing_polar) matches the real-axis
cladding_green_matrix_radiation (unit test). On the Sommerfeld
contour at the billed poles (contour-10, not the coarser first cut):
| Cartesian \(Q\) | Polar \(i0\) \(Q\) | FDTD \(Q\) | |
|---|---|---|---|
| Sawfish n6 y2-z1 | 125.1 @ 621.35 nm | 241.2 @ 620.25 nm (success) | 19.7 |
| Fryett n10 y1-z1 | 179.7 @ 774.65 nm | 74.9 @ 770.1 nm (failed, resid \(2\times10^{-7}\)) | 26.1 |
Polar \(i0\) raises Sawfish model \(Q\). It is not the missing 3-D radiation channel. Fryett does not host a clean polar pole at the cartesian frequency. No Tidy3D.

Figure 36. Contour-10 cartesian \(G_{\mathrm{clad}}\) versus polar
outgoing \(i0\) versus matched FDTD \(Q\). Green: converged polar
pole. Red: polar Newton failed. Source:
.../runs/polar_green/contour10.json. Generator:
engines/general_1d_cavity/tools/plot_polar_green.py. Analytical
bars except the FDTD column.
Hybrid polar-in-cone does not recover 3-D \(Q\)¶
Polar \(i0\) on the whole Sommerfeld contour applies a radiation-shell
formula to evanescent \(\lvert\beta\rvert>k_{\mathrm{clad}}\) and
raised Sawfish \(Q\) (125→241). The physical split is polar only
for \(\lvert\mathrm{Re}\,\beta\rvert\le\lvert\mathrm{Re}\,k_{\mathrm{clad}}\rvert\),
cartesian otherwise (polar_radiation_interval_only). Contour-10 on
the billed poles:
| Cartesian \(Q\) | Hybrid in-cone \(Q\) | Polar-all \(Q\) | FDTD \(Q\) | |
|---|---|---|---|---|
| Sawfish n6 y2-z1 | 125.11 | 124.94 | 241.2 | 19.7 |
| Fryett n10 y1-z1 | 179.66 | 111.13 | 74.9 (failed) | 26.1 |
Hybrid leaves Sawfish unchanged and drops Fryett 180→111 (still 4.3× FDTD). Guided-β residue subtraction changes the Sawfish operator by 7% and does not move either billed \(Q\). No Tidy3D.

Figure 37. Cartesian versus hybrid polar-in-cone versus polar-all
\(\beta\) versus matched FDTD \(Q\). Yellow: polar on evanescent
\(\beta\) (artifact). Red: polar-all Newton failed. Source:
.../runs/polar_green/{contour10,hybrid_lightcone}.json and
.../runs/guided_subtraction/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_hybrid_polar.py. Analytical
bars except the FDTD column.
Stacked radiation knobs are not additive¶
One-at-a-time knobs each moved model \(Q\) toward FDTD, so this round
stacked them on the same billed seed geometries (no Tidy3D).
Runner: tools/run_combined_radiation.py.
| Operator | Sawfish n6 ~621 nm | Circular n10 | Paper-ellipse n15 y1-z2 |
|---|---|---|---|
| cartesian q10 | 125.1 | 179.7 | 167.2 |
| q16 | 78.4 | 59.6 | 189.0 |
| tooth \(y=1\) | 99.7 | — | — |
| q16 + tooth \(y\) | 128.6 (undoes q16) | — | — |
| even-\(z\) q16 | 108.0 | 71.3 @742 / 89.4 @801 | — |
| q16 + hybrid polar | 66.1 | 76.2 | 157.7 |
| FDTD (same geom.) | 19.7 | 26.1 | 206.7 |
Stacking is not a refinement: q16+tooth-\(y\) raises Sawfish back to 129; even-\(z\)+q16+hybrid is 110, worse than q16+hybrid on y2-z1. The most radiative Sawfish operator on disk is y2-z1 q16+hybrid \(Q=66.1\) at 620.7 nm (residual \(9.7\times10^{-9}\)), still 3.35× FDTD. Circular cartesian q16 remains the floor at \(Q=59.6\) (2.3× FDTD 26.1); hybrid on top of q16 raises \(Q\). Paper-ellipse y1-z2 stays 158–189 versus FDTD 206.7 under q16, generic \(A\) (exact match to the legacy operator), and hybrid polar. That seed agreement is not a quadrature accident. No Tidy3D.

Figure 38. Model \(Q\) with stacked radiation knobs versus matched
3-D FDTD \(Q\) (dashed). Left: 6-pair Sawfish ~621 nm. Centre:
10-pair circular Fryett. Right: 15-pair paper-ellipse y1-z2, which
sits on the FDTD line. Source:
.../runs/combined_radiation/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_combined_radiation.py.
Analytical bars; FDTD is the dashed line. No new Tidy3D.
Pair-count at q16+hybrid saturates near 3-D \(Q\)¶
Billed FDTD \(Q\) on the cosine\(^6\) cell is almost independent of pair count (n6 19.7, n10 23.4). Cheap P1-x / y1-z0 is not (n6 268, n10 37257). Tracking the most radiative operator (y2-z1 q16+hybrid) across pair count, uniform \(a=200\) nm, no Tidy3D:
| Pairs | q16+hybrid \(Q\) | \(\lambda\) (nm) | q16 cartesian \(Q\) | FDTD \(Q\) |
|---|---|---|---|---|
| 1 | 19.3 | 643.7 | 19.3 | — |
| 2 | 42.7 | 629.7 | 44.1 | — |
| 4 | 53.9 | 620.2 | 54.5 | — |
| 6 | 66.1 | 620.7 | 78.4 | 19.7 |
| 8 | 27.7 | 623.7 | 64.1 | — |
| 10 | 67.3 | 620.7 | 70.7 | 23.4 |
A single pair already radiates at FDTD's 3-D \(Q\). Extra pairs add
at most a factor of three of Bragg confinement that 3-D does not
see. n8 hybrid is a nearby leaky branch, not a ladder. Guided-β
subtraction on n6 q16+hybrid leaves \(Q=66.1\). Paper-ellipse
even-\(z\) holes (P1-z2 / y1-z2, 810 DOF) stay comparable to FDTD
207: q10 \(Q=236\), q16 \(Q=155\), hybrid \(Q=143\). Runner:
tools/run_paircount_radiation.py. No Tidy3D.

Figure 39. Left: Sawfish model \(Q\) versus pair count at y2-z1.
q16+hybrid (blue) saturates \(\sim 20\)–70; billed FDTD (red
diamonds) is flat at \(\sim 20\). Right: paper-ellipse n15 y1-z2
with hole \(z=0\) versus even-\(z\) \(z=2\), still on the FDTD
line. Source: .../runs/paircount_radiation/. Generator:
engines/general_1d_cavity/tools/plot_paircount_radiation.py.
Analytical curves; FDTD is the red markers / dashed line.
Bare in-cone \(G_{\mathrm{clad}}\) is not a stable radiation channel¶
n1 already matches FDTD, so the leftover n6 \(Q=66\) vs 20 is
Dyson-dressed radiation that extra pairs turn into fake Bragg.
OperatorSettings.bare_cladding_in_cone skips that dressing inside
the cladding light cone (homogeneous \(G_{\mathrm{clad}}\); \(G_{\mathrm{wg}}\)
kept evanescent). Analytical only.
| Operator | Sawfish n6 \(Q\) | n10 \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|
| q16+hybrid dressed | 66.1 | 67.3 | 158 |
| q16+hybrid bare | 81.0 (raises) | failed | 337 |
| q16 cartesian dressed | 78.4 | 70.7 | 189 |
| q16 cartesian bare | 32.0 @ 616.8 nm | 84.2 | 257 |
| FDTD | 19.7 | 23.4 | 206.7 |
Cartesian n6 \(Q=32\) is the closest billed-geometry Sawfish model
yet (1.62× FDTD), but pair-count is non-monotonic (n2 52, n4
16.5, n6 32, n10 84). Hybrid bare and paper bare raise \(Q\).
Circular q16 bare loses the pole. Contour-16 hybrid is 70, not a
drop. Do not FDTD this Green. Runner:
tools/run_bare_cladding.py. Unit test:
test_bare_cladding_in_cone_changes_the_general_operator.

Figure 40. Left: Sawfish pair-count. Purple cartesian-bare in-cone
is not a floor. Right: n6 / circular / paper-ellipse bars versus
FDTD (dashed). Source: .../runs/bare_cladding/catalog.json.
Generator: engines/general_1d_cavity/tools/plot_bare_cladding.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Real-axis light-cone \(G_{\mathrm{clad}}\) is not the leftover Sawfish channel¶
Hybrid polar-in-cone still evaluates the polar outgoing kernel on the
indented Sommerfeld path (finite height 0.04). The radiation
boundary value (principal value \(+ i\pi\)) is the cut
\(u=\beta/k_{\mathrm{clad}}\) real in \((-1,1)\).
OperatorSettings.real_axis_radiation puts polar outgoing
\(G_{\mathrm{clad}}\) (then Dyson) on that real-\(u\) interval and
keeps the indent only for \(\lvert\mathrm{Re}\,u\rvert>1\). Same
billed geometries, analytical only.
| Operator | Sawfish n6 \(Q\) | n10 \(Q\) | Circular n10 \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|
| q16+hybrid on contour | 66.1 | 67.3 | 76.2 | 158 |
| cartesian q16 | 78.4 | 70.7 | 59.6 | 189 |
| real-\(u\) polar-16 | 68.0 @ 619.0 nm | 64.6 @ 616 nm | 42.4 @ 771 nm | 177 @ 753 nm |
| real-\(u\) polar-24 | 63.8 | — | — | — |
| FDTD | 19.7 | 23.4 | 26.1 | 206.7 |
Sawfish pair-count at real-16 is n1 \(Q=20.3\), n4 \(Q=73.4\), n6
\(Q=68.0\), n10 \(Q=64.6\): the n1 floor is unchanged and extra pairs
still add a factor of three that 3-D does not see. Circular drops
60→42 (1.63× FDTD 26) and is the closest stable circular model \(Q\)
on disk (panelized \(Q=45\) wandered). Paper-ellipse stays on FDTD
\(Q\sim 207\) (first Newton hopped; a window scan recovered
\(Q=177\)). This is not the missing 3-D radiation channel for
Sawfish. Do not FDTD it. Runner:
tools/run_real_axis_radiation.py. Unit test:
test_real_axis_radiation_changes_the_general_operator.

Figure 41. Left: Sawfish model \(Q\) versus pair count. Blue:
q16+hybrid on the indented contour. Purple: polar outgoing
\(G_{\mathrm{clad}}\) on the real light cone. Red diamonds: matched
FDTD. Right: n6 / circular / paper-ellipse bars versus FDTD
(dashed). Source: .../runs/real_axis_radiation/catalog.json.
Generator: engines/general_1d_cavity/tools/plot_real_axis_radiation.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Local in-cone radiation is not the leftover Sawfish channel¶
Pair-count at q16+hybrid saturates (n1 \(Q=19\), n6 \(Q=66\)) while
FDTD stays \(\sim 20\). That looks like extra pairs adding fake
Bragg by coherent light-cone cancellation.
OperatorSettings.local_in_cone_radiation tests the claim: keep the
full evanescent/guided Green and drop inter-scatterer blocks only
for \(\lvert\mathrm{Re}\,u\rvert\le 1\). Same billed geometries,
analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| q16+hybrid coherent | 19.3 | 66.1 | 67.3 | 76.2 | 158 |
| cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 189 |
| local in-cone hybrid | 25.5 @ 655 nm | 287 @ 611 nm | lost (resid 0.39) | — | — |
| local in-cone cartesian | — | 71.6 @ 628 nm | — | 64.3 @ 781 nm | 33.8 @ 759 nm |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
The claim is false as an operator fix. Local in-cone raises
Sawfish n6 (66→287): inter-scatterer radiation was a loss channel,
not a fake mirror. n1 stays near FDTD; extra pairs still Bragg in
the guided/evanescent Green. n10 does not host a clean pole.
Circular 60→64 (wrong direction). Paper-ellipse 167→34 destroys
the seed agreement with FDTD \(Q=207\): that family needs coherent
light-cone radiation. First Newton on n1/n4 went incoming; window
scans recovered outgoing poles. Do not FDTD this Green. Runner:
tools/run_local_in_cone.py. Unit test:
test_local_in_cone_radiation_changes_the_general_operator.

Figure 42. Left: Sawfish model \(Q\) versus pair count. Blue:
q16+hybrid with coherent in-cone radiation. Purple: block-diagonal
in-cone Green (n10 pole lost). Red diamonds: matched FDTD. Right:
n6 / circular / paper-ellipse bars versus FDTD (dashed). Source:
.../runs/local_in_cone/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_local_in_cone.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Bare evanescent \(G_{\mathrm{clad}}\) is not the leftover Bragg¶
Local in-cone radiation implied the leftover Sawfish \(Q=66\) vs 20
lives in the guided/evanescent Green. The complement of
bare_cladding_in_cone is bare_cladding_evanescent: keep
Dyson-dressed \(G_{\mathrm{wg}}\) inside the light cone and use
homogeneous \(G_{\mathrm{clad}}\) for \(\lvert\mathrm{Re}\,\beta\rvert>k_{\mathrm{clad}}\).
Same billed geometries, analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| q16+hybrid dressed | 19.3 | 66.1 | 67.3 | 76.2 | 158 |
| cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 189 |
| bare evanescent hybrid | 19.4 @ 633 nm | 72.0 @ 621 nm | 70.1 @ 621 nm | — | — |
| bare evanescent cartesian | — | 70.0 @ 621 nm | — | 38.1 @ 755 nm | 120.4 @ 757 nm |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
Bound-mode Dyson is not the leftover. Pair-count still saturates
\(\sim 70\) (n1 stays on FDTD). Circular 60→38 is the closest stable
circular model \(Q\) on disk (1.46× FDTD 26; real-axis polar was 42).
Paper-ellipse 167→120 moves away from FDTD 207. Do not FDTD this
Green. Runner: tools/run_bare_evanescent.py. Unit test:
test_bare_cladding_evanescent_changes_the_general_operator.

Figure 43. Left: Sawfish model \(Q\) versus pair count. Blue:
q16+hybrid with dressed \(G_{\mathrm{wg}}\). Purple: homogeneous
\(G_{\mathrm{clad}}\) outside the light cone. Red diamonds: matched
FDTD. Right: n6 / circular / paper-ellipse bars versus FDTD
(dashed). Source: .../runs/bare_evanescent/catalog.json.
Generator: engines/general_1d_cavity/tools/plot_bare_evanescent.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Segmented Sommerfeld contour is not a 3-D radiation \(Q\)¶
Tangent-map contour-16 did not drop billed \(Q\). The production Quan
path uses SegmentedSommerfeldContour with Gauss panels concentrated
at the light line (\(u=0.97, 1.03\)) and guided-pole neighborhoods.
OperatorSettings.segmented_contour exposes that topology on the
same billed geometries. Analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| q16+hybrid tangent | 19.3 | 66.1 | 67.3 | 76.2 | 158 |
| cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 189 |
| segmented-4 hybrid | 16.6 @ 602 nm | 20.8 @ 607 nm | 93.3 @ 622 nm | — | — |
| segmented-4 cartesian | — | 20.7 @ 606 nm | — | 18.9 @ 793 nm | 513 @ 757 nm |
| segmented-8 cartesian | — | 188 @ 614 nm | — | — | — |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
n6 seg-4 sits on FDTD \(Q=19.7\) but is not converged: doubling
the panel order raises \(Q\) to 188; n10 is 93 not 20; paper 167→513
destroys the seed agreement with FDTD 207. Same class as panelized
\(Q=45\). Do not FDTD this Green. Runner:
tools/run_segmented_contour.py. Unit test:
test_segmented_contour_changes_the_general_operator.

Figure 44. Left: Sawfish model \(Q\) versus pair count. Blue:
q16+hybrid on the tangent-map contour. Purple: segmented-4 hybrid
(n6 sits on FDTD, n10 does not). Red diamonds: matched FDTD. Right:
n6 / circular / paper-ellipse bars; seg-8 cartesian is the purple
spike. Source: .../runs/segmented_contour/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_segmented_contour.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Sommerfeld indent height is not the leftover channel¶
Contour-16 added tangent-map nodes at fixed height 0.04. The indent
through the radiation interval is OperatorSettings.contour_height.
Same billed geometries, analytical only.
| Height | Sawfish n6 hybrid \(Q\) | n6 cartesian \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|
| 0.01 | — | 63.9 @ 621 nm | — | — |
| 0.02 | 61.7 @ 621 nm | 38.4 @ 618 nm | — | — |
| 0.04 (campaign) | 66.1 | 78.4 | 59.6 | 167 |
| 0.08 | 64.3 @ 618 nm | 64.9 @ 618 nm | pole lost | 287 @ 755 nm |
| 0.12 | 64.6 @ 616 nm | — | — | — |
| FDTD | 19.7 | 19.7 | 26.1 | 206.7 |
Hybrid is insensitive. Cartesian height 0.02 drops n6 toward FDTD
but pair-count is non-monotonic (n1 \(Q=26.7\), n4 59.7, n6 38.4,
n10 79.1) and height 0.01 returns to 64 — same class as
cartesian bare-in-cone \(Q=32\). Paper 0.08 raises \(Q\) away from
FDTD 207. Do not FDTD this indent. Runner:
tools/run_contour_height.py. Unit test:
test_contour_height_changes_the_general_operator.

Figure 45. Left: Sawfish n6 model \(Q\) versus Sommerfeld indent
height. Blue: q16+hybrid (flat). Green: q16 cartesian (dip at 0.02
is not a floor). Dashed: FDTD \(Q=19.7\). Right: pair-count at
cartesian 0.02 and circular/paper at 0.04 vs 0.08 (circular 0.08
pole lost). Source: .../runs/contour_height/catalog.json.
Generator: engines/general_1d_cavity/tools/plot_contour_height.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Real-axis + bare-evanescent stacking is not additive¶
Real-axis polar in-cone dropped circular 60→42; undressed evanescent
\(G_{\mathrm{clad}}\) dropped it 60→38. Stacking
real_axis_radiation with bare_cladding_evanescent puts polar
outgoing \(G_{\mathrm{clad}}\) on real \(u\in(-1,1)\) and homogeneous
\(G_{\mathrm{clad}}\) outside the light cone. Same billed geometries,
analytical only.
| Operator | Sawfish n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|
| q16+hybrid | 66.1 | 67.3 | 76.2 | 158 |
| cartesian q16 | 78.4 | 70.7 | 59.6 | 189 |
| real-axis polar | 68.0 | 64.6 | 42.4 | 177 |
| bare evanescent | 72.0 | 70.1 | 38.1 | 120 |
| stacked | 73.3 @ 620 nm | 65.3 @ 616 nm | lost (resid 0.37) | 110 @ 759 nm |
| FDTD | 19.7 | 23.4 | 26.1 | 206.7 |
Not a refinement. Sawfish pair-count still saturates \(\sim 65\)–73
(n1 stays on FDTD). Circular, which each knob improved, loses
the pole when they are combined. Paper 167→110 moves further from
FDTD 207. Do not FDTD this stack. Runner: tools/run_cut_stack.py.
Unit test: test_real_axis_and_bare_evanescent_stack_changes_the_operator.

Figure 46. Left: Sawfish model \(Q\) versus pair count. Blue:
q16+hybrid. Purple: real-axis polar + bare evanescent. Red
diamonds: matched FDTD. Right: n6 / circular / paper-ellipse bars;
circular stack is empty (pole lost). Source:
.../runs/cut_stack/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_cut_stack.py. Analytical
\(Q\); FDTD is the dashed lines. No Tidy3D.
Tooth P2-x is not the leftover radiation¶
Radiation-basis and q16+hybrid catalogs used P1-x. The Bopp \(\cos^6\) profile lives along \(x\); P2-x enriches \(C(\beta)\) without changing \(G_{\mathrm{wg}}\). Circular/paper get P2 Zernike holes. Same billed geometries, analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| P1-x q16+hybrid | 19.3 | 66.1 | 67.3 | 76.2 | 158 |
| P1-x cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 167 |
| P2-x q16+hybrid | 959 @ 634 nm | 58.0 @ 624 nm | 69.9 @ 626 nm | — | — |
| P2-x cartesian q16 | — | 80.1 @ 621 nm | — | 70.5 @ 781 nm | 166.2 @ 756 nm |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
n1 P2-x loses the FDTD radiation floor. n6/n10 still saturate
\(\sim 60\)–70. Circular P2 raises \(Q\). Paper P2 matches P1: seed
agreement with FDTD 207 is not a truncated hole basis. Do not FDTD
P2-x. Runner: tools/run_tooth_px.py. Unit test:
test_sawfish_p2x_tooth_changes_the_general_operator.

Figure 47. Left: Sawfish model \(Q\) versus pair count. Blue:
P1-x q16+hybrid. Purple: P2-x q16+hybrid (n1 \(Q=959\)). Red
diamonds: matched FDTD. Right: n6 / circular / paper-ellipse P1 vs
P2. Source: .../runs/tooth_px/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_tooth_px.py. Analytical
\(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Sommerfeld origin_width / tail_scale are not the leftover¶
Indent height was flat. The remaining tangent-map knobs are
contour_origin_width (smooths the sign change at \(\beta=0\),
vertical radiation) and contour_tail_scale (return to the real
axis past the guided poles). Same billed geometries, analytical
only.
| Knob | Sawfish n6 hybrid \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|
| origin 0.03 | 66.2 | — | — |
| origin 0.06 (campaign) | 66.1 | 59.6 | 167 |
| origin 0.15 | 62.0 @ 615 nm | 56.8 | 430 |
| origin 0.30 | 67.0 | — | — |
| tail 1.2 | 64.5 | — | — |
| tail 3.5 | 105 @ 616 nm | — | — |
| FDTD | 19.7 | 26.1 | 206.7 |
origin_width is flat. A longer tail raises \(Q\). Paper origin
0.15 destroys the FDTD seed agreement. n1 origin 0.15 stays
\(Q=19.2\); n10 stays 60. Do not FDTD this shape. Runner:
tools/run_contour_shape.py. Unit test:
test_contour_origin_width_changes_the_general_operator.

Figure 48. Left: Sawfish n6 hybrid \(Q\) versus origin_width (blue)
and tail_scale (green, top axis). Dashed: FDTD \(Q=19.7\). Right:
origin 0.06 vs 0.15 on n6 / n1 / n10 / circular / paper. Source:
.../runs/contour_shape/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_contour_shape.py. Analytical
\(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Waveguide y3 is not the leftover sidewall channel¶
z-degree saturated. Sidewall teeth sit at \(\lvert y\rvert=W/2\); extra odd Legendre \(y\)-content can carry edge radiation that y2 misses. Same billed geometries, q16 operator, analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper \(Q\) |
|---|---|---|---|---|---|
| y2-z1 q16+hybrid | 19.3 | 66.1 | 67.3 | — | — |
| y1-z1 cartesian q16 | — | — | — | 59.6 | — |
| y1-z2 paper | — | — | — | — | 167 |
| y3-z1 q16+hybrid | 16.1 @ 620 nm | 54.2 @ 620 nm | 87.9 @ 618 nm | — | — |
| y3-z1 cartesian q16 | — | 57.4 | — | 75.5 @ 749 nm | 212 @ 756 nm |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
n6 drops 66→54 (still 2.75× FDTD) but pair-count is non-monotonic
(n4 \(Q=107\)). Circular y2 raises \(Q\). Paper y2-z2 167→212 sits
on FDTD 207 — closer seed agreement, not a design vector 3-D
follows. Do not FDTD y3. Runner: tools/run_waveguide_y.py. Unit
test: test_sawfish_waveguide_y3_changes_the_general_operator.

Figure 49. Left: Sawfish model \(Q\) versus pair count. Blue:
y2-z1 q16+hybrid. Purple: y3-z1 q16+hybrid (n4 overshoots). Red
diamonds: matched FDTD. Right: n6 / circular / paper-ellipse y vs
FDTD (dashed). Source: .../runs/waveguide_y/catalog.json.
Generator: engines/general_1d_cavity/tools/plot_waveguide_y.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Sommerfeld tangent_scale exhausts the shape family¶
Height, origin_width, and tail_scale are documented. The last
unused tangent-map parameter is contour_tangent_scale (default
1.0): it spreads the real-\(u\) nodes before the indent. Same billed
geometries, analytical only.
| tangent_scale | Sawfish n6 hybrid \(Q\) | n1 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| 0.5 | 283 @ 627 nm | — | — | — | — |
| 1.0 (campaign) | 66.1 | 19.3 | 67.3 | 59.6 | 167 |
| 1.5 | 50.4 @ 624 nm | 78 @ 616 nm | 66.5 | 1888 @ 776 nm | 156 |
| 2.5 | 60.1 @ 624 nm | — | — | — | — |
| FDTD | 19.7 | — | 23.4 | 26.1 | 206.7 |
tighter sampling (0.5) raises \(Q\). 1.5 modestly drops n6 but
loses the n1 FDTD floor and explodes circular. Paper stays near
FDTD. The whole Sommerfeld shape family is exhausted. Do not FDTD
this scale. Runner: tools/run_tangent_scale.py. Unit test:
test_contour_tangent_scale_changes_the_general_operator.

Figure 50. Left: Sawfish n6 hybrid \(Q\) versus tangent_scale.
Dashed: FDTD \(Q=19.7\). Right: scale 1.0 vs 1.5 on n6 / n1 / n10 /
circular / paper (circular 1.5 clips at the top). Source:
.../runs/tangent_scale/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_tangent_scale.py. Analytical
\(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Local evanescent coupling is not the leftover fake Bragg¶
Local in-cone radiation raised Sawfish n6 66→287 and collapsed
paper 167→34: the leftover fake Bragg was assigned to the
guided/evanescent Green, while paper-ellipse needs coherent
light-cone radiation. The complement
local_evanescent_coupling keeps the full in-cone Green and
drops inter-scatterer blocks only for \(\lvert\mathrm{Re}\,u\rvert>1\).
Same billed geometries, analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n8 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|---|
| q16+hybrid coherent | 19.3 | 66.1 | 27.7 | 67.3 | 76.2 | 158 |
| cartesian q16 | 19.3 | 78.4 | — | 70.7 | 59.6 | 167 |
| local in-cone | 25.5 | 287 | — | lost | 64.3 | 34 |
| local evanescent | lost | 7.94 @ 624 nm | 53.7 @ 630 nm | 19.1 @ 625 nm | 36.8 @ 756 nm | lost (incoming) |
| cartesian local ev | — | 285 @ 656 nm | — | — | — | — |
| FDTD | — | 19.7 | — | 23.4 | 26.1 | 206.7 |
n6 overshoots FDTD. n10 \(Q=19\) sits on FDTD 23 then n8
jumps to 54: not a pair-count floor (same class as seg-4
\(Q=20\)). n1/n4 tracked poles are gone. Cartesian n6 raises.
Circular 60→37 is still 1.41× FDTD 26. The paper 756 nm pole
goes incoming; a scan neighbor at 777 nm (\(Q=197\)) is not the
billed seed. Do not FDTD this locality. Runner:
tools/run_local_evanescent.py. Unit test:
test_local_evanescent_coupling_changes_the_general_operator.

Figure 51. Left: Sawfish model \(Q\) versus pair count. Blue:
q16+hybrid coherent. Purple: local evanescent (n1/n4 missing).
Green dashed: local in-cone (raises). Red diamonds: matched FDTD.
Right: n6 / n8 / n10 / cartesian n6 / circular / paper; paper
tracked bar is empty (756 nm pole lost). Source:
.../runs/local_evanescent/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_local_evanescent.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No
Tidy3D.
Nearest-neighbor evanescent range is not the leftover fake Bragg¶
Local evanescent (range 0) overshot n6 to \(Q=7.94\) and lost
the n1 FDTD floor because it dropped the two-tooth coupling that
is that floor. evanescent_neighbor_range=N keeps self Green
plus coupling out to \(N\) lattice steps for
\(\lvert\mathrm{Re}\,u\rvert>1\), and the full coherent in-cone
Green. N=1 is the physical neck. Same billed geometries,
analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| q16+hybrid coherent | 19.3 | 66.1 @ 621 nm | 67.3 | 76.2 | 158 |
| cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 167 |
| local evanescent (N=0) | lost | 7.94 @ 624 nm | 19.1 | 36.8 | lost |
| N=1 | 19.3 @ 644 nm | lost (neighbor 24 @ 639 nm) | hop 101 @ 658 nm | 39.3 @ 754 nm | lost (neighbor 198 @ 777 nm) |
| N=2 | — | 78.4 @ 621 nm | — | — | — |
| N=3 | — | 63.3 @ 620 nm | — | — | — |
| N=4 | — | — | — | — | 576 @ 753 nm |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
N=1 fixes the n1 floor that range 0 destroyed, then loses
the tracked n6 621 nm pole (seed incoming). Do not treat the 639 nm
neighbor \(Q=24\) as 3-D radiation \(Q\). N=⅔ stay on the billed
line at 78/63. Paper N=1 is the same 777 nm hop as local-evanescent;
N=4 raises. Circular 60→39 is still 1.51× FDTD 26. Truncating
long-range evanescent Bragg is not a stable 3-D channel. Do not
FDTD this range. Runner: tools/run_evanescent_range.py. Unit
test: test_evanescent_neighbor_range_changes_the_general_operator.

Figure 52. Left: Sawfish n6 hybrid \(Q\) versus neighbor range
N=2, 3 (N=1 tracked pole lost, so no marker). Blue: coherent
\(Q=66\). Brown dotted: local N=0 \(Q=7.9\). Dashed: FDTD 19.7.
Right: n6 / n1 / circular / paper; empty bars are lost tracked
poles. Source: .../runs/evanescent_range/catalog.json.
Generator: engines/general_1d_cavity/tools/plot_evanescent_range.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No
Tidy3D.
Ey waveguide sector is not the leftover radiation¶
Quan production restricts to the even-Ey sector. The general
operator couples all three Cartesian polarizations through
\(G_{\mathrm{wg}}\). waveguide_components=(1,) zeros non-Ey
rows of \(C(\beta)\) so \(G_H\) only sees Ey. This does not
rewrite the waveguide Green function. Same billed geometries,
analytical only. Ez is the control.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| q16+hybrid full | 19.3 @ 644 nm | 66.1 @ 621 nm | 67.3 | 76.2 | 158 |
| cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 167 |
| Ey sector | 8.04 @ 602 nm | 50.7 @ 622 nm | 85.0 @ 619 nm | 38.8 @ 755 nm | 109 @ 756 nm |
| Ez sector | — | 122 @ 622 nm | — | — | — |
| cartesian Ey | — | 116 @ 619 nm | — | — | — |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
Ey drops n6 only 66→51 (still 2.57× FDTD) and loses the n1
FDTD floor (scan has no 644 nm dip). Pair-count now climbs
(n1 8, n6 51, n10 85). Ez raises n6. Paper stays on 756 nm
but 167→109 moves away from FDTD 207. Circular 60→39 is
still 1.49× FDTD 26. Per-scatterer radiation lives in Ex/Ez;
Ey is not the leftover 3-D channel. Do not FDTD this sector.
Runner: tools/run_ey_sector.py. Unit test:
test_waveguide_ey_sector_changes_the_general_operator.

Figure 53. Left: Sawfish model \(Q\) versus pair count. Blue:
q16+hybrid full. Purple: Ey sector (n1 drops below FDTD; n10
climbs). Red diamonds: matched FDTD. Right: n6 full / Ey / Ez,
n1 Ey, n10 Ey, cartesian Ey, circular, paper. Source:
.../runs/ey_sector/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_ey_sector.py. Analytical
\(Q\); FDTD is the red markers / dashed lines. No Tidy3D.
Soft evanescent decay is not a stable 3-D channel¶
Local evanescent (\(\alpha\to\infty\)) overshot n6 to \(Q=7.94\)
and lost n1. Hard NN range preserved n1 but lost the tracked n6
621 nm pole. evanescent_decay_per_period=α scales
inter-scatterer blocks by \(\exp(-\alpha\lvert\Delta x\rvert/a)\)
for \(\lvert\mathrm{Re}\,u\rvert>1\) and keeps the full in-cone
Green. \(\alpha=0\) is coherent. Same billed geometries,
analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| q16+hybrid coherent | 19.3 @ 644 nm | 66.1 @ 621 nm | 67.3 | 76.2 | 158 |
| cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 167 |
| hybrid \(\alpha=0.5\) | — | lost (243 @ 610 nm) | — | — | — |
| hybrid \(\alpha=1\) | failed | lost (203 @ 585 nm) | hop 68 @ 588 nm | — | — |
| hybrid \(\alpha=2\) | — | lost (70 @ 577 nm) | — | — | — |
| cartesian \(\alpha=1\) | 18.9 @ 611 nm | 17.6 @ 619 nm | 47.5 @ 620 nm | 37.9 @ 755 nm | lost (196 @ 777 nm) |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
Hybrid \(\alpha\) loses the billed 621 nm pole. Cartesian
\(\alpha=1\) n6 \(Q=17.6\) sits on FDTD then n4 is lost and
n10 climbs to 48: not a pair-count floor (same class as
seg-4 \(Q=20\)). Paper 756 nm pole is the same 777 nm hop as
local-evanescent. Circular 60→38 is still 1.45× FDTD 26. Do not
FDTD this decay. Runner: tools/run_evanescent_decay.py. Unit
test: test_evanescent_decay_per_period_changes_the_general_operator.

Figure 54. Left: Sawfish n6 hybrid \(Q\) versus decay \(\alpha\).
Tracked poles are lost, so there are no markers; blue/brown/red
lines are coherent \(Q=66\), local \(Q=7.9\), and FDTD 19.7.
Right: cartesian \(\alpha=1\) pair-count and circular/paper;
empty bars are lost tracked poles. n6 cart \(Q=17.6\) is not
a 3-D floor (n10 \(Q=48\)). Source:
.../runs/evanescent_decay/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_evanescent_decay.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No
Tidy3D.
Cosine\(^6\) tooth \(C(\beta)\) quadrature is not converged 3-D radiation¶
Radiation catalogs used tooth quadrature_order=16, shared with
the waveguide Galerkin. The Bopp \(\cos^6\) profile is peaked;
under-resolved \(C(\beta)\) at guided \(\beta\) could fake Bragg.
tooth_quadrature_order raises only the tooth projection. Beam
Galerkin stays at 16. Fryett holes are Zernike (control). Same
billed geometries, analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| t16 (campaign) | 19.3 @ 644 nm | 66.1 @ 621 nm | 67.3 | 59.6 | 167 |
| t24 hybrid | — | 93.0 @ 621 nm | — | — | — |
| t32 hybrid | 41.3 @ 640 nm | 28.1 @ 624 nm | 54.7 @ 621 nm | — | — |
| t48 hybrid | — | lost (262 @ 592 nm) | — | — | — |
| t32 cartesian | — | 64.7 @ 621 nm | — | — | — |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
t24 raises. t32 drops n6 toward FDTD then loses the n1
floor (19→41) with non-monotonic pair-count. t48 hops off 621 nm.
Do not treat t32 \(Q=28\) as 3-D radiation \(Q\). Do not FDTD this
quadrature. Runner: tools/run_tooth_quadrature.py. Unit test:
test_sawfish_tooth_quadrature_changes_the_general_operator.

Figure 55. Left: Sawfish n6 hybrid \(Q\) versus tooth quadrature
order (beam Galerkin held at 16). t48 tracked pole lost (no
marker). Dashed: FDTD \(Q=19.7\). Right: t16/24/32/48, n1/n10/cart
t32, circular and paper controls. Source:
.../runs/tooth_quadrature/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_tooth_quadrature.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No
Tidy3D.
Waveguide Galerkin \(y\)-\(z\) quadrature is converged¶
Tooth \(C(\beta)\) quadrature was non-monotonic. The complement
holds the cosine\(^6\) projection at 16 and raises only
BeamSpec.quadrature_order (cladding Green \(y\)-\(z\) nodes).
This does not rewrite \(G_{\mathrm{wg}}\). Paper-ellipse
control raises the beam from 10 to 16. Same billed geometries,
analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| b16 tooth 16 (campaign) | 19.3 @ 644 nm | 66.1 @ 621 nm | 67.3 | 59.6 | 167 @ 756 nm |
| b24 hybrid | — | 69.6 @ 620 nm | — | — | — |
| b32 hybrid | 20.4 @ 649 nm | 70.3 @ 620 nm | 66.6 @ 621 nm | — | — |
| b32 cartesian | — | 59.4 @ 620 nm | — | — | — |
| paper b16 | — | — | — | — | 189 @ 755 nm |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
n6 is flat 66→70 (still 3.5× FDTD). n1 FDTD floor kept.
n10 still saturates at 67. Paper 10→16 167→189 is the already-
documented q16 catalog. Beam Galerkin is not the leftover 3-D
channel. Do not FDTD this quadrature. Runner:
tools/run_beam_quadrature.py. Unit test:
test_sawfish_beam_quadrature_changes_the_general_operator.

Figure 56. Left: Sawfish n6 hybrid \(Q\) versus beam Galerkin
order (tooth \(C(\beta)\) held at 16). Dashed: FDTD \(Q=19.7\).
Right: b16/24/32, n1/n10/cart b32, circular and paper b10 vs b16.
Source: .../runs/beam_quadrature/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_beam_quadrature.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No
Tidy3D.
Hybrid polar \(G_{\mathrm{clad}}\) quadrature is converged¶
q16+hybrid is the best Sawfish floor (\(Q=66\)) but
polar_radial_cutoff and polar_angular_order were never swept.
This varies those knobs on billed geometries. Does not rewrite
\(G_{\mathrm{wg}}\). Analytical only.
| Operator | Sawfish n1 \(Q\) | n6 \(Q\) | n10 \(Q\) | Circular \(Q\) | Paper y1-z2 \(Q\) |
|---|---|---|---|---|---|
| hybrid cutoff 12 | — | 65.4 @ 621 nm | — | — | — |
| hybrid cutoff 18 (campaign) | 19.3 @ 644 nm | 66.1 @ 621 nm | 67.3 | 59.6 | 167 |
| hybrid cutoff 24 | 19.3 @ 644 nm | 66.3 @ 621 nm | 67.3 @ 621 nm | — | — |
| hybrid angular 24 | — | 68.3 @ 621 nm | — | — | — |
| cartesian q16 | 19.3 | 78.4 | 70.7 | 59.6 | 167 |
| FDTD | — | 19.7 | 23.4 | 26.1 | 206.7 |
Cutoff 12/18/24 is flat to 1%. Angular 24 raises. n1 FDTD
floor kept. n10 still saturates at 67. Polar Green quadrature
is not the leftover 3-D channel. Do not FDTD this quadrature.
Runner: tools/run_polar_quadrature.py. Unit test:
test_polar_radial_cutoff_changes_the_general_operator.

Figure 57. Left: Sawfish n6 hybrid \(Q\) versus polar radial
cutoff. Dashed: FDTD \(Q=19.7\). Right: cutoff 12/18/24, angular
24, n1/n10 at cutoff 24, cartesian and Fryett controls. Source:
.../runs/polar_quadrature/catalog.json. Generator:
engines/general_1d_cavity/tools/plot_polar_quadrature.py.
Analytical \(Q\); FDTD is the red markers / dashed lines. No
Tidy3D.