Skip to content

Product engine

Self-contained project under engines/general_1d_cavity/ (package · campaigns · runs · notes). Assembled 2026-09-05 14:44 UTC.


General 1-D cavity pole

Lab engine for arbitrary quasi-periodic nanobeam cavities. It keeps the outgoing-pole construction that produced the Quan–Lončar and Design23 quality-factor gains, and changes only the compact unknown.

There is no empirical formula for \(Q\). The engine builds an approximate open-boundary Maxwell operator, solves

\[ A(\tilde\omega,\mathbf p)\,x=0, \]

and converts the outgoing pole with

\[ Q=-\frac{\Re\tilde\omega}{2\Im\tilde\omega}. \]

The background is the unperforated beam. Polarization lives only where the dielectric differs from that beam — elliptical holes, rectangular notches, or sidewall teeth. Radiation is the on-shell imaginary part of the waveguide Green function.

Why this engine exists

quan_loncar_v1 is specialized to 15 elliptical hole pairs in a Zernike–Legendre basis. That specialization is why it worked, and why it cannot represent a Sawfish corrugation. This package imports those preserved kernels and swaps the scatterer.

Scatterer Basis Unlocks
EllipticalHoleScatterer preserved Zernike × thickness Legendre Quan 2011, Fryett 2017
RectangularScatterer tensor Legendre notches, slots
SidewallToothScatterer opposite air notches (square, trapezoid, or \(\cos^e\)) Sawfish 2022

An all-ellipse cavity uses the historical projection, so the operator must agree with the Quan engine. That is the regression gate.

Campaign goal

See campaigns/paper_reproduction_v1/. Done when each of

has (a) a high-\(Q\) resonance near the published wavelength, (b) at least a \(2\times\) model-\(Q\) gain from the implicit gradient, and © a matched Tidy3D confirmation of at least \(2\times\). Absolute \(Q\) need not match the papers. Directional transfer does. 15 Tidy3D flexcredits, no more.

Floating beams first. Fryett starts as SiN in homogeneous \(n=1.5\) cladding (that is the encapsulated geometry). The stratified Design23 stack is the later extension.

Layout

package/openpole/     # physics
campaigns/            # paper_reproduction_v1
tools/                # figure builder and campaign runner
tests/                # operator agreement + cheap pole
figures/              # published campaign figures
PYTHONPATH=engines/general_1d_cavity/package \
  python -m pytest engines/general_1d_cavity/tests -q

PYTHONPATH=engines/general_1d_cavity/package \
  python engines/general_1d_cavity/tools/build_figures.py

PYTHONPATH=engines/general_1d_cavity/package \
  python engines/general_1d_cavity/tools/run_campaign.py \
    --design quan2011 --pair-count 6 --cheap

No build or website command submits Tidy3D. Submission requires an explicit --submit and remaining credits on the campaign ledger.