Skip to content

Source

engines/design23_v1/package/design23_recentered_optimizer/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.