Source
engines/quan_loncar_v1/package/quan_loncar_optimizer/engine/quan_loncar_series_phase26/README.md · assembled 2026-07-29 15:57 UTC.
Quan--Loncar series, Phase 26¶
Phase 26 replaces the one-parameter geometry finite difference with a fixed-topology symmetric design vector and analytic geometry derivatives.
For N positive-side holes the vector contains N gap variables, N independent
radius_x values, and N independent radius_y values. The first gap is the
full central hole separation; the rest are successive positive-side spacings.
Negative-side holes are exact mirror images, so every tangent stays in the
paper's (x,y,z)=(+1,-1,+1) sector.
The local hole Fourier/Galerkin projection is differentiated analytically with
respect to center, radius_x, and radius_y. These partials are composed
through the outgoing contour to provide an operator JVP and an adjoint pole/Q
gradient for every geometry variable without replaying the nonlinear solve.
The N=15 validation uses a dense deterministic direction that changes every gap and both radii of every positive-side hole. Its adjoint directional derivative is compared with two independently re-solved perturbed poles.
run_phase26_production_gradient.py evaluates the full 45-component gradient
at the final Phase-24 K=14,A=56 pole. A thin framework adapter can expose
this analytic VJP as a JAX or PyTorch custom derivative later; no optimizer
needs to differentiate through Newton iterations or eigensolver history.
run_phase26_gradient_convergence.py compares the complete K=12,A=48 and
K=14,A=56 gradients. It separates convergence of the complex pole gradient
from amplification introduced by the Q chain rule.
Smooth beam-width modulation is not part of this phase. It requires a separate sidewall perturbation basis because the present bare-waveguide Green operator assumes a constant rectangular cross section.