Skip to content

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.

Engine README Campaign

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

Three paper families

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.

Method schematic

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

Cheap Quan Q steps

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

\[ \tilde\omega/\omega_{\mathrm{ref}} = 0.985012579865 - 6.3776704395\times 10^{-5}\,i, \quad Q=7722.35,\quad \lambda=1521.77~\mathrm{nm}. \]

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.

Production Quan geometry

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.

Production Quan yz

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.

Production Quan Q step

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\).

Production Quan geometry delta

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.

Fryett pole catalog

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.

Fryett scan window

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.

Fryett geometry before/after

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.

Fryett Q steps

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\).

Fryett radius delta

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.

Sawfish tooth profiles

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.

Sawfish cosine geometry

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.

Sawfish outgoing pole

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.

Sawfish geometry before/after

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.

Sawfish Q step

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\).

Sawfish parameter delta

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).

Quan FDTD confirmation

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).

Fryett failed seed ringdown

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.

Fryett vs Quan field decay

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.

Fryett FDTD source overlay

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.

Paper-ellipse geometry before/after

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.

Paper-ellipse Q steps

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\).

Paper-ellipse ry delta

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.

Paper-ellipse y1-z2

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.

Paper-ellipse unique-center

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.

Paper-ellipse FDTD vs model

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.

Sawfish FDTD confirmation

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.

Sawfish n10 geometry

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.

Sawfish n10 Q step

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\).

Sawfish n10 parameter delta

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\).

Fryett excitation timeline

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.

Fryett vs Quan vs Sawfish traces

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.

Fryett 6 ps early ringdown

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.

Fryett model vs FDTD Q

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}\))

Radiation basis Q

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.

Sawfish y2-z1 Q steps

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\).

Sawfish y2-z1 FDTD vs model

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).

z-saturation

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.

Sawfish paper-taper Bragg scaling

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.

q-quadrature

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.

panelized 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.

polar Green

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.

hybrid polar

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.

stacked radiation

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.

pair-count radiation

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.

bare cladding

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.

real-axis radiation

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.

local in-cone

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.

bare evanescent

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.

segmented contour

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.

contour height

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.

cut stack

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.

tooth P2-x

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.

contour shape

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.

waveguide y

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.

tangent scale

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.

local evanescent

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.

evanescent range

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.

Ey sector

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.

evanescent decay

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.

tooth quadrature

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.

beam quadrature

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.

polar quadrature

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.