photonoxide 0.3.2

Validated, fabrication-ready photonics for Rust: mode solvers, FDFD, FDTD, inverse design, layout and PDKs, with a live studio
Documentation
# Validation report

Written by `photonoxide validate`; don't edit it by hand. CI fails when a case fails or this file is out of date. Values have six significant digits; a value that should be zero shows as "≤ tolerance" when it is within it.

| Case | Tier | What | Against | Measured | Expected | Tolerance | Result |
|---|---|---|---|---|---|---|---|
| `units/amplitude-convention` | analytic | The amplitude of a real signal Re(A e^(-iwt)) is recovered with the kernel e^(+iwt) (magnitude shown) | the e^(-iwt) convention: (2/T) int Re(A e^(-iwt)) e^(iwt) dt = A over whole periods | 0.806226 | 0.806226 | 1e-9 | pass |
| `units/lossy-attenuation` | analytic | A wave in a medium with Im(eps) > 0 decays over one wavelength by exp(-2 pi kappa) (decay shown) | e^(i n k0 x) with n = n' + i kappa, kappa >= 0 | 0.635495 | 0.635495 | 1e-12 | pass |
| `material/spline-line` | analytic | A natural cubic spline through points on a line is that line (largest deviation shown) | a line has zero second derivative, which the natural end conditions impose | ≤ 1e-13 | 0 | 1e-13 | pass |
| `material/silicon-li-table` | published | Silicon's index passes through Li's table at all 35 points (largest deviation shown) | H. H. Li, J. Phys. Chem. Ref. Data 9, 561 (1980), doi:10.1063/1.555624, Table 1, 293 K | ≤ 1e-12 | 0 | 1e-12 | pass |
| `material/silica-malitson-formula` | published | Silica's index equals Malitson's computed index at his 60 wavelengths (largest deviation shown) | I. H. Malitson, J. Opt. Soc. Am. 55, 1205 (1965), doi:10.1364/JOSA.55.001205, Table I, computed index to 6 decimals | ≤ 1e-6 | 0 | 1e-6 | pass |
| `material/silica-malitson-measured` | published | Silica's index matches the measured mean of three specimens at 60 wavelengths, to five decimals (largest deviation shown) | I. H. Malitson, J. Opt. Soc. Am. 55, 1205 (1965), doi:10.1364/JOSA.55.001205, Table I, computed index plus the C-D-G.E. residual | ≤ 1e-4 | 0 | 1e-4 | pass |
| `mode/slab-te-book` | published | The TE mode of 220 nm of silicon (3.473) in oxide (1.444) at 1550 nm (effective index shown) | L. Chrostowski, M. Hochberg, Silicon Photonics Design (2015), doi:10.1017/CBO9781316084168, Section 3.2.2: 2.845 (3 decimals) | 2.84482 | 2.84500 | 5e-4 | pass |
| `mode/slab-tm-book` | published | The TM mode of 220 nm of silicon (3.473) in oxide (1.444) at 1550 nm (effective index shown) | L. Chrostowski, M. Hochberg, Silicon Photonics Design (2015), doi:10.1017/CBO9781316084168, Section 3.2.2: 2.051 (3 decimals) | 2.05110 | 2.05100 | 5e-4 | pass |
| `mode/vector-slab-limit-te` | analytic | The full-vector solver on the book's slab, uniform along one axis, at a 2.5 nm mesh: TE (error against the exact slab shown) | the exact slab (mode::slab); the scheme converges at second order, tested at 20, 10 and 5 nm | ≤ 1e-4 | 0 | 1e-4 | pass |
| `mode/vector-slab-limit-tm` | analytic | The full-vector solver on the book's slab, uniform along one axis, at a 2.5 nm mesh: TM (error against the exact slab shown) | the exact slab (mode::slab); the scheme converges at second order, tested at 20, 10 and 5 nm | ≤ 1e-4 | 0 | 1e-4 | pass |
| `mode/strip-book` | published | The TE-like mode of a 500 x 220 nm silicon strip in oxide at 1550 nm, at a 5 nm mesh (effective index shown) | L. Chrostowski, M. Hochberg, Silicon Photonics Design (2015), doi:10.1017/CBO9781316084168, Fig. 3.14: 2.443 (Lumerical MODE, 20 nm conformal mesh, accurate to about 1e-3 by its Fig. 3.9); ours converges at about first order at the convex corners (as on Hadley's corner problems below), 2.4435 at 2.5 nm | 2.44440 | 2.44300 | 3e-3 | pass |
| `mode/hadley-box-low` | published | Hadley's corner problem 1: a box, eps 2.25 in a quarter of the 1 x 1 um domain, at 1.5 um, on an 80 x 80 grid (12.5 nm; effective index shown) | G. R. Hadley, J. Lightwave Technol. 20, 1219 (2002), doi:10.1109/JLT.2002.800371, Fig. 4: 1.27627404 +- 1e-8 (series expansion); ours converges at about first order at convex corners and 1.4-1.8 at concave ones | 1.27632 | 1.27627 | 1e-4 | pass |
| `mode/hadley-box-high` | published | Hadley's corner problem 2: a box, eps 8 in a quarter of the 1 x 1 um domain, at 1.5 um, on an 80 x 80 grid (12.5 nm; effective index shown) | G. R. Hadley, J. Lightwave Technol. 20, 1219 (2002), doi:10.1109/JLT.2002.800371, Fig. 5: 2.65679692 +- 1e-8 (series expansion); ours converges at about first order at convex corners and 1.4-1.8 at concave ones | 2.65679 | 2.65680 | 1e-4 | pass |
| `mode/hadley-corner-low` | published | Hadley's corner problem 3: an impinged corner, eps 2.25 in three quarters of the 1 x 1 um domain, at 1.5 um, on an 80 x 80 grid (12.5 nm; effective index shown) | G. R. Hadley, J. Lightwave Technol. 20, 1219 (2002), doi:10.1109/JLT.2002.800371, Fig. 6: 1.387926425 +- 2e-9 (series expansion); ours converges at about first order at convex corners and 1.4-1.8 at concave ones | 1.38790 | 1.38793 | 1e-4 | pass |
| `mode/hadley-corner-high` | published | Hadley's corner problem 4: an impinged corner, eps 8 in three quarters of the 1 x 1 um domain, at 1.5 um, on an 80 x 80 grid (12.5 nm; effective index shown) | G. R. Hadley, J. Lightwave Technol. 20, 1219 (2002), doi:10.1109/JLT.2002.800371, Fig. 7: 2.761465320 +- 5e-9 (series expansion); ours converges at about first order at convex corners and 1.4-1.8 at concave ones | 2.76143 | 2.76147 | 1e-4 | pass |
| `mode/slab-group-index` | analytic | The group index of a TE slab (220 nm of 3.473 between 1.444 and air) at 1.55 um, from differences of its effective index over +-2 nm (error shown) | Hellmann-Feynman, no material dispersion: n_g = <eps>/n_eff, <eps> weighted by E^2 of the exact field | ≤ 1e-6 | 0 | 1e-6 | pass |
| `mode/strip-group-index-book` | published | The group index of a 500 x 220 nm strip at 1.55 um, with the book's dispersive silicon and 1.444 oxide, on a 6.25 x 5 nm grid (group index shown) | L. Chrostowski, M. Hochberg, Silicon Photonics Design (2015), doi:10.1017/CBO9781316084168, Fig. 3.22b: about 4.18, read off the plot to +-0.005 (Lumerical MODE, 20 nm mesh); materials from its Listing 3.1 | 4.17290 | 4.18000 | 2e-2 | pass |
| `mode/multilayer-bound-chilwell` | published | The 8 bound modes (TE and TM 0-3) of a four-layer guide, 1.0 / 1.66, 1.53, 1.60, 1.66 (500 nm each) / 1.50 at 632.8 nm, exact (largest deviation shown) | J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, Table 3: effective indices to 6 decimals | ≤ 5e-7 | 0 | 5e-7 | pass |
| `mode/multilayer-leaky-chilwell` | published | The 5 TE leaky waves (m = 4-8) of the same guide, complex effective indices, exact (largest deviation of a real or imaginary part shown) | J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, Table 2: to 5 decimals; m = 5's real part, 1.38250, is ours (1.3824892) plus 1.1e-5, one unit in the last place, the other nine our values rounded | ≤ 1.5e-5 | 0 | 1.5e-5 | pass |
| `mode/multilayer-power-chilwell` | published | The share of each bound mode's power in the cover, each film and the substrate, 48 percentages (largest deviation shown, in percentage points) | J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, Table 3: to 0.1 % | ≤ 6e-2 | 0 | 6e-2 | pass |
| `mode/multilayer-fresnel` | analytic | A plane wave's reflection coefficient at one interface, 1.0 to 1.5, TE and TM at 0, 20, 45 and 70 degrees, by the transfer matrices (largest difference in r shown) | Fresnel's equations: r_s = (n1 cos t1 - n2 cos t2)/(n1 cos t1 + n2 cos t2), r_p = (n2 cos t1 - n1 cos t2)/(n2 cos t1 + n1 cos t2); J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, say Eq. 13 reduces to them | ≤ 1e-12 | 0 | 1e-12 | pass |
| `mode/multilayer-bragg` | analytic | The reflectance of 8 quarter-wave pairs, 2.3 / 1.38 on 1.52 at 550 nm, normal incidence, by the transfer matrices (shown) | the quarter-wave stack's closed form, R = ((1 - q)/(1 + q))^2 with q = (n_s/n_0)(n_H/n_L)^(2N), from its admittance | 0.999258 | 0.999258 | 1e-12 | pass |
| `mode/pml-soi-leakage-te` | analytic | The loss of 220 nm SOI's TE mode leaking through 0.5 um of buried oxide into the substrate, full-vector with a PML (1 um, strength 3), 2.5 nm grid (relative error in Im n_eff shown) | the exact leaky mode of the same stack by transfer matrices (mode::multilayer); PML by complex coordinate stretching, W. C. Chew et al., Microw. Opt. Technol. Lett. 15, 363 (1997) | ≤ 1e-3 | 0 | 1e-3 | pass |
| `mode/pml-soi-leakage-tm` | analytic | The same for the TM mode (relative error in Im n_eff shown) | the exact leaky mode of the same stack by transfer matrices (mode::multilayer); PML by complex coordinate stretching, W. C. Chew et al., Microw. Opt. Technol. Lett. 15, 363 (1997) | ≤ 1e-3 | 0 | 1e-3 | pass |
| `mode/pml-leaky-chilwell` | published | Chilwell and Hodgkinson's TE leaky waves m = 4-7, full-vector with a PML (2 um, strength 5) in the substrate, 2.5 nm grid (largest deviation of a real or imaginary part shown) | J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, Table 2, to 5 decimals; m = 8 (Re 1.00304, just above the cover's 1.0) has a slowly decaying, inward-phased field in the cover and is checked only in the leaky_waves example, within 2e-4 | ≤ 5e-5 | 0 | 5e-5 | pass |
| `mode/eim-strip-book` | published | The effective index method on a 500 x 220 nm silicon strip (3.473 in 1.444) at 1550 nm, TE-like, exact slabs (effective index shown) | L. Chrostowski, M. Hochberg, Silicon Photonics Design (2015), doi:10.1017/CBO9781316084168, Section 3.2.5: 2.489, from the slab index rounded to 2.845 and a 10 nm 1D mesh (on that input the exact lateral slab gives 2.488558); the method: G. B. Hocker, W. K. Burns, Appl. Opt. 16, 113 (1977), doi:10.1364/AO.16.000113 | 2.48837 | 2.48900 | 1e-3 | pass |
| `mode/bend-slab-te` | analytic | A slab (2.845, 500 nm, in 1.444) bent at 1 um, E normal to the bend plane, full-vector on a conformally mapped 2.5 nm grid with a PML: effective index along the arc (error shown) | the exact bent slab (mode::bend: radial shooting matched to the outgoing Hankel function, D. Marcuse, Bell Syst. Tech. J. 50, 2551 (1971), doi:10.1002/j.1538-7305.1971.tb02620.x, Eq. 10); the map: M. Heiblum, J. H. Harris, IEEE J. Quantum Electron. 11, 75 (1975), doi:10.1109/JQE.1975.1068563, exact for this polarization; second order | ≤ 3e-5 | 0 | 3e-5 | pass |
| `mode/bend-slab-te-loss` | analytic | The same bend's radiation loss, Im n_eff = 9.29e-4 (relative error shown) | the exact bent slab (mode::bend); the PML starts at 2.5 um, outside the bend's turning point | ≤ 2e-3 | 0 | 2e-3 | pass |
| `mode/bend-slab-tm` | analytic | The same bend with E in the bend plane, where scaling an isotropic permittivity is an approximation (error shown) | the exact bent slab (mode::bend); the exact equivalent medium would be anisotropic in both permittivity and permeability; the error falls as the radius grows (1.3e-4 at 3 um) | ≤ 2e-3 | 0 | 2e-3 | pass |
| `mode/bend-marcuse` | published | Marcuse's bending-loss formula against the exact loss of a slab (1.6 in 1.5, 1 um, at 1 um) bent at 120 um (ratio minus one shown) | D. Marcuse, Bell Syst. Tech. J. 50, 2551 (1971), doi:10.1002/j.1538-7305.1971.tb02620.x, Eqs. 32-33, an approximation for large radii: its deviation falls as 1/R, 0.14 at 80 um, 0.084 at 120 um and 0.061 at 160 um | ≤ 1e-1 | 0 | 1e-1 | pass |
| `mode/leaky-wire-bienstman` | published | The leaky SOI wire benchmark (500 x 220 nm Si 3.5 on 1 um SiO2 1.45 on Si, air above, 1.55 um), TE: Re n_eff, Richardson-extrapolated from core grids of 5, 2.5 and 1.25 nm (order ~0.67, the corners'), with a PML in the substrate | P. Bienstman et al., Opt. Quantum Electron. 38, 731 (2006), doi:10.1007/s11082-006-9025-9, Table 6: 2.412372, from CAMFR and the aperiodic Fourier modal method (7 digits); raw errors +4.0e-3, +2.5e-3, +1.5e-3 | 2.41229 | 2.41237 | 2e-4 | pass |
| `mode/leaky-wire-bienstman-loss` | published | The same wire's substrate leakage, Im n_eff x 1e8, extrapolated alike | P. Bienstman et al., Opt. Quantum Electron. 38, 731 (2006), doi:10.1007/s11082-006-9025-9, Table 6: 2.9135 (CAMFR) and 2.91348 (aperiodic Fourier modal method); the raw results are 0.97, 0.98 and 0.99 of it | 2.92066 | 2.91350 | 6e-2 | pass |
| `mode/fields-butt-coupling` | analytic | The power a 220 nm silicon slab's TE mode launches into a 300 nm slab's (3.473 in 1.444, 1.55 um), from the full-vector fields on a 5 nm grid (error shown) | the exact slab fields (mode::slab): for TE slabs H is proportional to E, so the coupling is (int E1 E2)^2 / (int E1^2 int E2^2) = 0.994662 | ≤ 5e-5 | 0 | 5e-5 | pass |
| `mode/marcatili-closed-form` | published | Marcatili's closed-form approximation against his transcendental equations, E^x_11 and E^y_11 of his guide a = 2b, n1/n4 = 1.05, where (kz^2 - k4^2)/(k1^2 - k4^2) >= 0.5 (largest relative difference shown) | E. A. J. Marcatili, Bell Syst. Tech. J. 48, 2071 (1969), doi:10.1002/j.1538-7305.1969.tb01166.x, p. 2083: 'within a few percent of the exact value' there; 4.1 % here | ≤ 5e-2 | 0 | 5e-2 | pass |
| `mode/marcatili-vector` | published | Marcatili's approximation (his transcendental equations) against the full-vector solver, E^x_11 of his guide a = 2b, n1/n4 = 1.05, at 2b/lambda (n1^2 - n4^2)^1/2 = 3, far from cutoff (difference in the normalized constant shown) | E. A. J. Marcatili, Bell Syst. Tech. J. 48, 2071 (1969), doi:10.1002/j.1538-7305.1969.tb01166.x, Eqs. 3, 6-7, 20-21; Fig. 6b's regime: 1e-4 apart at B = 3 and 4, 1.2e-3 at 1.5, 9e-3 at 1 near cutoff, where the corners Marcatili ignores hold field | ≤ 5e-4 | 0 | 5e-4 | pass |
| `mode/slab-fd-chilwell` | published | The 8 bound modes of Chilwell and Hodgkinson's four-layer guide by 1D finite differences on a 1 nm grid (largest deviation shown) | J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, Table 3: effective indices to 6 decimals; the scheme is second order (tested against the exact slab) | ≤ 2e-6 | 0 | 2e-6 | pass |
| `fdfd/slab-reflection-ez` | analytic | 2D FDFD, E along z: the reflectance of 220 nm of silicon (3.476) on oxide (1.444) under air, 30 degrees, 1.55 um, from the fluxes on a 2.5 nm grid (shown) | the exact stack by transfer matrices (mode::multilayer, J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, Eqs. 13-16, TE); second order: 2.1e-3, 5.5e-4, 1.4e-4, 3.5e-5 at 20, 10, 5, 2.5 nm | 0.0581346 | 0.0581696 | 5e-5 | pass |
| `fdfd/slab-reflection-hz` | analytic | The same with H along z (shown) | the exact stack by transfer matrices (TM); second order: 1.9e-3, 4.9e-4, 1.2e-4, 3.1e-5 at 20, 10, 5, 2.5 nm | 0.0268435 | 0.0268744 | 5e-5 | pass |
| `fdfd/flux-conservation` | analytic | 2D FDFD: the power through every row from the oxide through the silicon into the air, both polarizations at 0, 30 and 60 degrees, 10 nm grid (largest relative spread shown) | Poynting's theorem: no power is lost or made in a lossless region without sources; the scheme's own flux keeps this exactly | ≤ 1e-10 | 0 | 1e-10 | pass |
| `fdfd/pml-reflection` | analytic | 2D FDFD: what a 20-cell PML graded to R = 1e-8 (m = 3) sends back of a plane wave 17 degrees off its normal, in oxide on a 20 nm grid, both polarizations (largest amplitude shown) | W. Shin, S. Fan, J. Comput. Phys. 231, 3406 (2012), doi:10.1016/j.jcp.2012.01.013, Eqs. 2.7-2.9: graded for R = 1e-8 in vacuum at normal incidence; in oxide 17 degrees off, the round trip absorbs to (1e-8)^1.38, an amplitude of 3e-6; measured 2.5e-6 | ≤ 1e-5 | 0 | 1e-5 | pass |
| `fdfd/port-mode-te` | analytic | 2D FDFD ports: the fundamental mode of a 220 nm silicon slab (3.476 in 1.444) at 1.55 um, E along z, solved on a port column of a 2.5 nm grid: effective index (shown) | the exact slab (mode::slab); the port's 1D operator is the 2D scheme's own, second order: 2.6e-3, 6.5e-4, 1.6e-4 at 10, 5, 2.5 nm | 2.84794 | 2.84778 | 2e-4 | pass |
| `fdfd/port-mode-tm` | analytic | The same with H along z (shown) | the exact slab (mode::slab); second order: 2.5e-3, 6.1e-4, 1.5e-4 at 10, 5, 2.5 nm | 2.05347 | 2.05332 | 2e-4 | pass |
| `fdfd/straight-guide` | analytic | 2D FDFD ports: a straight silicon slab between two ports 1.4 um apart, both polarizations, 20 nm grid: largest of the magnitudes of S11 and S22 and of the errors of S21 and S12 against exp(i beta L) (shown) | a uniform guide transmits its mode whole with phase beta L; the port modes are the grid's own and the source is total-field/scattered-field (R. C. Rumpf, Prog. Electromagn. Res. B 36, 221 (2012), doi:10.2528/PIERB11092006, Eq. 55) | ≤ 1e-12 | 0 | 1e-12 | pass |
| `fdfd/reciprocity` | analytic | 2D FDFD ports: a slab stepping from 220 to 300 nm, both polarizations, 10 nm grid: S21 against S12 (largest relative difference shown) | Lorentz reciprocity: S is symmetric for a reciprocal device; the scheme keeps it with the PMLs' stretches as weights and the modes normalized by the unconjugated Lorentz form | ≤ 1e-12 | 0 | 1e-12 | pass |
| `fdfd/step-reflection-te` | analytic | The same step's reflection of the 220 nm slab's TE mode, E along z (shown) | Fresnel's formula on the two modes' effective indices, ((n1 - n2)/(n1 + n2))^2 = 1.16503e-3 for 2.84742 and 3.04866: the TE modal impedance is the effective index; an approximation, good here to 0.07 % | 0.00116424 | 0.00116503 | 2e-5 | pass |
| `fdfd/adjoint-gradient-ez` | analytic | 2D FDFD, E along z: the adjoint gradient of the power a silicon slab with a bump beside it delivers into its right port's mode, against fourth-order central finite differences (delta 1e-3) on a cell each in the bump, the core and the oxide (largest relative difference shown) | the adjoint variable method, G. Veronis, R. W. Dutton, S. Fan, Opt. Lett. 29, 2288 (2004), doi:10.1364/OL.29.002288, Eqs. 2-4: grad F = -2 Re(lambda^T dA u), A^T lambda = dF/du; the finite differences' own round-off is about 1e-10/delta | ≤ 1e-6 | 0 | 1e-6 | pass |
| `fdfd/adjoint-gradient-hz` | analytic | The same with H along z, where the permittivity enters through the faces' 1/eps (shown) | the adjoint variable method, as above; the faces' permittivity the mean of their two cells | ≤ 1e-6 | 0 | 1e-6 | pass |
| `mode/hadley-uniform-box` | analytic | Hadley's high-accuracy equations in a uniform region: the box of Hadley I, Fig. 5 (n 3.44, 2 x 2 um, 1.15 um) on an 8 x 8 grid (250 nm; effective index shown) | exact, sqrt(eps - ((pi/4)^2 + (pi/2)^2)/k^2) for H_y = cos(pi x/4) sin(pi y/2); the equations are G. R. Hadley, J. Lightwave Technol. 20, 1210 (2002), doi:10.1109/JLT.2002.800361, Eqs. 7-9; the standard scheme's error on this grid is 1.6e-4 | 3.42495 | 3.42495 | 1e-9 | pass |
| `mode/hadley-uniform-order` | analytic | The same box: the order of convergence of the effective index from 4 x 4 to 8 x 8 grids (shown to two decimals) | sixth order: Hadley I, Fig. 5, slope 6.03; errors 1.7e-8 and 2.4e-10 here (6.03 from 8 x 8 to 16 x 16, where 3.7e-12 nears round-off) | 6.12000 | 6.00000 | 2e-1 | pass |
| `mode/hadley-interface` | analytic | Hadley's interface equations: the two-dielectric box of Hadley I, Fig. 6 (eps 1 over 11.8336, 1.5 um wide, 0.975 um) on a 31.25 nm grid (effective index shown) | exact: separable, H_y = sin(pi x/W) Y(y) with Y and Y' continuous, so kb tan(kb Lb) + kt tan(kt Lt) = 0 with k^2 = k0^2 (eps - neff^2) - (pi/W)^2; the equations are Hadley I, Eqs. 20-24 and 43; the standard scheme's error on this grid is 5.4e-6 | 3.42099 | 3.42099 | 5e-9 | pass |
| `mode/hadley-interface-order` | analytic | The same box: the order of convergence of the effective index from 62.5 to 31.25 nm grids (shown to two decimals) | sixth order: Hadley I, Fig. 7 (fifth-order interface equations, diluted by a line of interface nodes); errors 9.7e-8 and 1.6e-9 here | 5.89000 | 6.00000 | 3e-1 | pass |
| `mode/hadley-interface-turned` | analytic | The same box turned on its side, so that H_x is the component normal to the interface, at 62.5 nm (difference of the effective indices shown) | symmetry: Hadley derives the equations for a horizontal interface; a vertical one is the same with x and y exchanged | ≤ 1e-12 | 0 | 1e-12 | pass |
| `mode/hadley-corners-box-low` | published | Hadley's corner problem 1 (a box, eps 2.25) by his high-accuracy equations on a 128 x 128 grid (7.8 nm; effective index shown) | G. R. Hadley, J. Lightwave Technol. 20, 1219 (2002), doi:10.1109/JLT.2002.800371, Fig. 4: 1.27627404 +- 1e-8 (series expansion); the corner equations are its Eqs. 50 and 52, their misprinted theta sin theta read as theta sin 2 theta from Eq. 47; the standard scheme's error on this grid is 3.8e-5 | 1.27627 | 1.27627 | 1e-6 | pass |
| `mode/hadley-corners-box-high` | published | Hadley's corner problem 2 (a box, eps 8) by his high-accuracy equations on a 128 x 128 grid (7.8 nm; effective index shown) | G. R. Hadley (2002), part II, Fig. 5: 2.65679692 +- 1e-8; the standard scheme's error on this grid is 9.0e-6 | 2.65680 | 2.65680 | 1e-6 | pass |
| `mode/hadley-corners-impinged-low` | published | Hadley's corner problem 3 (an impinged corner, eps 2.25) by his high-accuracy equations on a 128 x 128 grid (7.8 nm; effective index shown) | G. R. Hadley (2002), part II, Fig. 6: 1.387926425 +- 2e-9; the standard scheme's error on this grid is 1.4e-5 | 1.38793 | 1.38793 | 1e-6 | pass |
| `mode/hadley-corners-impinged-high` | published | Hadley's corner problem 4 (an impinged corner, eps 8) by his high-accuracy equations on a 128 x 128 grid (7.8 nm; effective index shown) | G. R. Hadley (2002), part II, Fig. 7: 2.761465320 +- 5e-9; the standard scheme's error on this grid is 1.6e-5 | 2.76147 | 2.76147 | 1e-6 | pass |
| `mode/hadley-corners-order` | published | Hadley's corner problem 1 by his equations: the order of convergence of the effective index from 32 x 32 to 128 x 128 grids (shown to two decimals) | G. R. Hadley (2002), part II, Section IV: second order for most cases (Figs. 8-11), where the standard scheme's is about first; errors 9.1e-6, 2.1e-6, 5.2e-7 here | 2.06000 | 2.00000 | 2.5e-1 | pass |
| `fdfd3d/film-reflection-te` | analytic | 3D FDFD, s (TE) polarized: the reflectance of 220 nm of silicon (3.476) on oxide (1.444) under air, 30 degrees from the normal in a plane 30 degrees from x, 1.55 um, from the fluxes on a 2.5 nm grid (shown) | the exact stack by transfer matrices (mode::multilayer, J. Chilwell, I. Hodgkinson, J. Opt. Soc. Am. A 1, 742 (1984), doi:10.1364/JOSAA.1.000742, Eqs. 13-16, TE); second order: 2.8e-3, 7.3e-4, 1.9e-4, 4.6e-5 at 20, 10, 5, 2.5 nm | 0.0581234 | 0.0581696 | 6e-5 | pass |
| `fdfd3d/film-reflection-tm` | analytic | The same, p (TM) polarized (shown) | the exact stack by transfer matrices (TM); second order: 1.9e-3, 4.9e-4, 1.2e-4, 3.1e-5 at 20, 10, 5, 2.5 nm | 0.0268434 | 0.0268744 | 5e-5 | pass |
| `fdfd3d/flux-conservation` | analytic | 3D FDFD: the power through every plane from the oxide through the silicon into the air, both polarizations at 0, 30 and 60 degrees, 10 nm grid (largest relative spread shown) | Poynting's theorem: no power is lost or made in a lossless region without sources; the scheme's own flux (tangential E averaged across the plane, H on it) keeps this exactly | ≤ 1e-10 | 0 | 1e-10 | pass |
| `fdfd3d/pml-reflection` | analytic | 3D FDFD: what a 20-cell PML graded to R = 1e-8 (m = 3) sends back of a plane wave 17 degrees off its normal in a plane 30 degrees from x, in oxide on a 20 nm grid, both polarizations (largest amplitude shown) | W. Shin, S. Fan, J. Comput. Phys. 231, 3406 (2012), doi:10.1016/j.jcp.2012.01.013, Eqs. 2.5-2.9: graded for R = 1e-8 in vacuum at normal incidence; in oxide 17 degrees off, the round trip absorbs to (1e-8)^1.38, an amplitude of 3e-6; measured 2.5e-6, as in 2D | ≤ 1e-5 | 0 | 1e-5 | pass |
| `fdfd3d/two-d-agreement` | analytic | 3D FDFD on a structure invariant along z (a silicon rod in lossy oxide, Bloch-periodic in x and y, 25 nm grid, one cell along z) against the 2D solver, E along z and H along z (largest field difference relative to the largest field shown) | with d/dz = 0 Maxwell's equations split into the two 2D polarizations (K. S. Yee, IEEE Trans. Antennas Propag. 14, 302 (1966), doi:10.1109/TAP.1966.1138693); on the same grid and averaging the two discrete systems are the same equations, one eliminating H and the other E | ≤ 1e-11 | 0 | 1e-11 | pass |
| `fdfd3d/qmr-direct` | analytic | 3D FDFD by QMR, on the curl-curl operator and on Shin and Fan's (s = -1), to a relative residual of 1e-10, against the sparse direct solver: a silicon strip in oxide, 16^3 cells of 40 nm, PMLs all round (largest field difference relative to the largest field shown) | the same system solved two ways: QMR, R. W. Freund, N. M. Nachtigal, Numer. Math. 60, 315 (1991), doi:10.1007/BF01385726, Algorithm 3.1 without look-ahead; Shin and Fan's operator, Opt. Express 21, 22578 (2013), doi:10.1364/OE.21.022578, Eq. 7, has the same solution; measured 1.1e-11 and 1.3e-10 | ≤ 1e-9 | 0 | 1e-9 | pass |
| `fdfd3d/qmr-plateau` | published | Shin and Fan's vacuum square (their Fig. 1: 50 x 50 cells of 2 nm, periodic, uniform along z, an x-polarized dipole at its centre, 1.55 um), QMR on the curl-curl operator (s = 0): the relative residual where it stagnates, at iteration 20 (shown) | W. Shin, S. Fan, Opt. Express 21, 22578 (2013), doi:10.1364/OE.21.022578, Section 3 and Fig. 3: the residual's part in the near-null eigenspace, 0.707, holds the residual there initially (GMRES; QMR is GMRES for this real symmetric matrix) | 0.708633 | 0.707000 | 5e-3 | pass |
| `fdfd3d/qmr-iterations-curl-curl` | published | The same square, s = 0: QMR iterations to a relative residual of 1e-6 (shown) | W. Shin, S. Fan, Opt. Express 21, 22578 (2013), doi:10.1364/OE.21.022578, Fig. 3: the s = 0 curve crosses 1e-6 at about m = 114, read off the plot to +-5 | 114.000 | 114.000 | 5e0 | pass |
| `fdfd3d/qmr-iterations-shin-fan` | published | The same square, s = -1: QMR iterations to a relative residual of 1e-6 (shown) | W. Shin, S. Fan, Opt. Express 21, 22578 (2013), doi:10.1364/OE.21.022578, Fig. 3: the s = -1 curve crosses 1e-6 at about m = 77, read off the plot to +-5 | 79.0000 | 77.0000 | 5e0 | pass |