Validation ledger

Every physics tool is checked against published reference cases on every build. This page shows the cases, the literature value, the value this build computes, and the deviation.

Build 3e8f967 · 2026-10-27

Tools in registry62
Tools with reference cases13
Reference cases passing41 / 41
Ledger updated27 October 2026

tmm

Transfer Matrix Method — R(λ), T(λ), A(λ) for multilayer stacks

Validated
Reference caseInputsLiteratureThis buildΔSource
BK7 Sellmeier at 550 nmwavelength 5501.5191.5192.39e-6 ✓Schott BK7 datasheet (DL-5-82) via Macleod 5th ed. app. 3
BK7 Sellmeier at 587.6 nm (d-line)wavelength 587.61.5171.5171.56e-6 ✓Schott BK7 datasheet
MgF₂ n at 550 nm (ordinary ray)wavelength 5501.3791.3794.29e-6 ✓Dodge 1984, Appl. Opt. 23, 1980
Bare BK7, 550 nm, normal incidenceincident{n=1,k=0} · substrate{n=1.51852,k=0} · wavelength 550 · thetaDeg 0 · pol unpolarised4.239 %4.239 %2.64e-5 ✓Macleod 5th ed. ch. 2 — bare substrate Fresnel ((n−1)/(n+1))² at the project's BK7 Sellmeier n(550 nm) = 1.51852
QW MgF₂ (n 1.378, 99.6 nm) on BK7 at 550 nmincident{n=1,k=0} · substrate{n=1.51852,k=0} · wavelength 550 · thetaDeg 0 · pol unpolarised1.239 %1.239 %3.97e-5 ✓Macleod 5th ed. §3.2, analytic ((n_s − n_f²)/(n_s + n_f²))² — matches kernel to 1e-4 at the project's indices
QW n 1.22 (112.7 nm) on glass 1.52 at 550 nmincident{n=1,k=0} · substrate{n=1.52,k=0} · wavelength 550 · thetaDeg 0 · pol unpolarised0.0110 %0.0110 %3.33e-5 ✓Macleod §3.2 — Kriya 1.22 QW near-ideal AR anchor
HW absentee layer (n 1.70, 161.8 nm) on glass 1.52 at 550 nmincident{n=1,k=0} · substrate{n=1.52,k=0} · wavelength 550 · thetaDeg 0 · pol unpolarised4.258 %4.258 %2.18e-6 ✓Macleod §3.3 — half-wave absentee (equals bare substrate)
s = p at normal incidence (any stack)incident{n=1,k=0} · substrate{n=1.52,k=0} · wavelength 550 · thetaDeg 00.0000000.0000000.00e+0 ✓Born & Wolf §1.5.3

Open the tool →

ghost-lab

Physically rendered ghost reflection of a lit scene on a coated surface — angle, colour and brightness from the TMM kernel

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses the TMM kernel — the Ghost Lab R(θ) curves equal evaluateStackR to 0.01 pp.

tests/optics/ghost-lab-parity.test.ts asserts the live Ghost Lab readout against direct evaluateStackR at 25 / 50 / 65° × 450 / 520 / 640 nm for the Kriya 3-layer AR on TAC preset.

Macleod §3; shared kernel with tmm.

Last validated 27 October 2026 · next 27 November 2026

  • Macleod §3; shared kernel with tmm · revision 27 October 2026

Open the tool →

hud-ghost-simulator

Driver-eye render of the HUD double-image problem, with coating-driven ghost reduction visible from the eye box

Validated
Reference caseInputsLiteratureThis buildΔSource
Brewster p-pol primary R → 0 at 56.3° on n 1.5n1 1 · n2 1.5 · thetaDeg 56.31 · pol p0.000000 %0.000000 %5.03e-11 ✓Hecht §4.7

Primary + ghost + transmitted = 1 (lossless)

windshield-eval primary + ghost + transmitted = 1 to 1e-6 — see tests/optics/windshield-eval-parity.test.ts. Primary R equals evaluateStackR to 1e-12.

Born & Wolf §1.6; incoherent thick-slab compositor Macleod §2.6.

Last validated 27 October 2026 · next 27 November 2026

  • Born & Wolf §1.6; incoherent thick-slab compositor Macleod §2.6 · revision 27 October 2026
  • Hecht §4.7 · revision 27 October 2026

Open the tool →

lightguide-uniformity

Edge-lit plate brightness-map render — see hot spots dissolve as Kriya cladding widens the TIR acceptance cone

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Deck-calibrated guided fraction at 10 mm (Eastman Monte Carlo)

PVB (n_c 1.48, no cladding) → 43 %; Kriya LRI 1.30 cladding → 89 %; Kriya LRI 1.20 cladding → 98 %. Interpolated log-linearly for intermediate n_c. See deckCalibratedGuidedFraction10mm() in src/lib/optics/lightguide-extraction.ts.

Kriya + Eastman illuminated-roof deck v2 (2026-10-22), slide 4 — 200 000-ray MC reference.

Monotonic Kriya improvement: α decreases strictly as cladding n goes 1.48 → 1.16

tests/optics/lightguide-extraction-parity.test.ts asserts strict monotonicity across the Kriya LRI ladder, plus the thick-cladding limit (α → 0 as d_clad → ∞).

Macleod §2.4 (TIR + evanescent decay); Zhu et al. 2012 Opt. Express 20.

Last validated 27 October 2026 · next 27 November 2026

  • Kriya + Eastman illuminated-roof deck v2 · revision 27 October 2026
  • Macleod §2.4 · revision 27 October 2026

Open the tool →

swanepoel

Envelope method — n(λ), k(λ), d from T-spectra; HRI + in-house LRI branch

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

AB1030 a-Si:H regression

The ab1030 pipeline recovers Swanepoel 1983 Table 1 thickness and n(λ) within the paper's stated 1 %. Pinned by tests/swanepoel/ab1030.regression.test.ts and tests/swanepoel/parity.test.ts (29 Python + 18 cross-language parity assertions).

Swanepoel 1983 J. Phys. E 16, 1214; Manifacier et al. 1976.

Last validated 8 June 2026 · next 8 July 2026

Open the tool →

tolerance-mc

Manufacturing-tolerance Monte Carlo — ±σ bands, worst-case, yield-at-spec

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Monte Carlo thickness tolerance — matches analytic σ_R from the Jacobian

tests/optics/tolerance-mc.test.ts runs 10 000 Monte Carlo samples around a Kriya 3-layer AR on TAC; the sample σ_R agrees with ∂R/∂d · σ_d (first-order propagation) to 10 %.

Macleod 5th ed. §11.5; Tikhonravov 2024 SPIE PM372 §6.

Open the tool →

sensitivity

Per-layer dR/dd, dR/dn via finite differences; tolerance-budget allocation

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

∂R/∂n and ∂R/∂d from finite differences match analytic TMM derivatives

tests/optics/sensitivity.test.ts asserts central differences on R(n), R(d) agree with the TMM-level derivative within 1e-6 at design wavelength.

Tikhonravov & Trubetskov 1996 Appl. Opt. 35, 5493; Macleod 5th ed. §11.5.

Last validated 19 October 2026 · next 19 November 2026

Open the tool →

waveguide-fov

TIR envelope, grating coupling bandwidth, mono/achromatic FOV

Validated
Reference caseInputsLiteratureThis buildΔSource
Kogelnik η at ν = π/2, exact Braggnu 1.57079632679489661.0001.0000.00e+0 ✓Kogelnik 1969 Bell Syst. Tech. J. 48, 2909
Kogelnik η at ν = π/4, exact Braggnu 0.78539816339744830.50000.50001.11e-16 ✓Kogelnik 1969

TIR edge enforces |sin θ_m| > 1/n_core (grating equation)

fovEnvelopeDeg() calls gratingEquation() over a 361-point sweep; the TIR edge enforces |sin θ_m| > 1/n_core per Born & Wolf §1.5.4.

Born & Wolf §1.5.4; Kress 2020 SPIE Press ch. 7.

Open the tool →

ar-optimizer

Differential evolution optimiser over TMM forward model

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses the TMM kernel — see /validation#tmm for the 8 reference cases.

AR-optimizer calls tmm() per candidate stack; its parity with the TMM kernel is proven by the shared cases above and by tests/optics/tmm-v2-regression.test.ts.

Cross-tool: shares kernel with tmm.

Open the tool →

metalens

Hyperbolic phase profile, nanopillar pitch map, focal-plane MTF

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Nyquist pitch constraint check

Hyperbolic phase map φ(r) = (2π/λ)(f − √(f²+r²)); pillar pitch Λ ≤ λ / (2·NA) per Nyquist. See src/lib/optics/metalens.ts.

Khorasaninejad et al. 2016 Science 352, 1190; Chen et al. 2018 Nat. Nanotechnol. 13, 220.

Last validated 27 October 2026 · next 27 November 2026

  • Khorasaninejad et al. 2016 Science 352, 1190; Chen et al. 2018 Nat. Nanotechnol. 13, 220 · revision 27 October 2026

Open the tool →

lidar-window

Double-pass transmission gain at 905/940/1550 nm

Validated
Reference caseInputsLiteratureThis buildΔSource
Lossless incoherent slab, n 1.52: R_total = 2R / (1 + R)nSlab 1.528.168 %8.168 %1.97e-4 ✓Born & Wolf §1.6.3 — thick-slab incoherent sum

Open the tool →

solar-heat-ato

SHGC, VLT, cabin ΔT, AC demand, BEV range impact via ATO loading

Validated
Reference caseInputsLiteratureThis buildΔSource
Beer–Lambert: α 1.0 mm⁻¹, path 3 mmalphaPerMm 1 · pathMm 34.979 %4.979 %2.93e-4 ✓Hecht §4.4; standard Beer–Lambert exp(−αd)

Open the tool →

extraction-efficiency

EQE gain from index-matching extraction layer (ray-optics / CPS dipole)

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

CPS dipole emission benchmark (Furno 2012 eq. 11)

The Chance–Prock–Silbey dipole model is pinned against Furno 2012 eq. 11 in tests/optics/cps-dipole.test.ts. Guided + leaky + air fractions sum to 1 within 1e-9; the ray-optics limit matches at thick index-matched layers.

Furno et al. 2012 Phys. Rev. B 85, 115205; Chance–Prock–Silbey 1978.

Last validated 27 October 2026 · next 27 November 2026

  • Furno et al. 2012 Phys. Rev. B 85, 115205; Chance–Prock–Silbey 1978 · revision 27 October 2026

Open the tool →

fresnel

R_s, R_p, phase vs angle for real/complex interface

Validated
Reference caseInputsLiteratureThis buildΔSource
Air → glass n 1.52, 0°n1 1 · n2 1.52 · thetaDeg 0 · pol unpolarised4.258 %4.258 %5.04e-7 ✓Born & Wolf, Principles of Optics 7th ed. §1.5.2
Air → glass n 1.52, 45°, s-poln1 1 · n2 1.52 · thetaDeg 45 · pol s9.673 %9.673 %3.16e-4 ✓Born & Wolf §1.5.2
Air → glass n 1.52, 45°, p-poln1 1 · n2 1.52 · thetaDeg 45 · pol p0.9360 %0.9357 %2.70e-4 ✓Born & Wolf §1.5.2
Air → glass n 1.52, 45°, unpolarisedn1 1 · n2 1.52 · thetaDeg 45 · pol unpolarised5.305 %5.305 %4.77e-4 ✓Born & Wolf §1.5.2
Air → glass n 1.52, 60°, s-poln1 1 · n2 1.52 · thetaDeg 60 · pol s18.344 %18.344 %1.75e-4 ✓Born & Wolf §1.5.2
Air → glass n 1.52, 60°, p-poln1 1 · n2 1.52 · thetaDeg 60 · pol p0.1530 %0.1527 %2.84e-4 ✓Born & Wolf §1.5.2
Air → glass n 1.52, 80°, s-poln1 1 · n2 1.52 · thetaDeg 80 · pol s54.636 %54.636 %2.55e-4 ✓Born & Wolf §1.5.2
Air → glass n 1.52, 80°, p-poln1 1 · n2 1.52 · thetaDeg 80 · pol p23.554 %23.554 %2.82e-4 ✓Born & Wolf §1.5.2
Air → PET n 1.65, 60°, s-poln1 1 · n2 1.65 · thetaDeg 60 · pol s22.555 %22.555 %4.79e-4 ✓Born & Wolf §1.5.2
Air → PET n 1.65, 60°, p-poln1 1 · n2 1.65 · thetaDeg 60 · pol p0.0240 %0.0244 %4.06e-4 ✓Born & Wolf §1.5.2
Energy conservation R + T = 1 (lossless interface)n1 1 · n2 1.52 · thetaDeg 60 · pol unpolarised1.0001.0002.22e-16 ✓Hecht, Optics 5th ed. §4.6

Last validated 8 June 2026 · next 8 September 2026

Open the tool →

brewster

Brewster + pseudo-Brewster angle, polarisation discrimination, critical-angle regime

Validated
Reference caseInputsLiteratureThis buildΔSource
Brewster angle, air → n 1.52n1 1 · n2 1.5256.659 °56.659 °2.93e-4 ✓Hecht, Optics 5th ed. §4.7
Brewster angle, air → PET n 1.65n1 1 · n2 1.6558.774 °58.782 °7.60e-3 ✓Hecht, Optics 5th ed. §4.7

Open the tool →

colour-shift

CIE 1976 u'v' rainbow index, ΔE₀₀ across angle set

Validated
Reference caseInputsLiteratureThis buildΔSource
CIEDE2000 Sharma pair 1lab1{L=50,a=2.6772,b=-79.7751} · lab2{L=50,a=0,b=-82.7485}2.042 ΔE₀₀2.042 ΔE₀₀4.03e-5 ✓Sharma, Wu & Dalal 2005 Color Res. Appl. 30, 21
CIEDE2000 Sharma pair 7lab1{L=50,a=0,b=0} · lab2{L=50,a=-1,b=2}2.367 ΔE₀₀2.367 ΔE₀₀4.12e-5 ✓Sharma, Wu & Dalal 2005

Open the tool →

nil-fidelity

Post-cure shrinkage, aspect-ratio stability, feature-width limits

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Post-cure shrinkage: isotropic 1 − (ρ_cured / ρ_liquid)^(1/3)

Feature-width retention F ≈ 1 − S/3 for small shrinkage S. See src/lib/optics/nil-fidelity.ts assumptions.

Lan & Ding 2010 Microfabrication of Optics §4; Resnick et al. 2005 Semicond. Lithogr.

Last validated 27 October 2026 · next 27 November 2026

  • Lan & Ding 2010 Microfabrication of Optics §4; Resnick et al. 2005 Semicond. Lithogr · revision 27 October 2026

Open the tool →

pfas-radar

Global PFAS restriction status per formulation class, sunset tracking

Validated

PFAS restriction dataset version

Dataset: EU REACH restriction annex XVII entry 68 (PFOA/PFHxS/PFHxA), US EPA TSCA PFAS reporting rule, Japan CSCL, Korea K-REACH · Version: [date]

ECHA, US EPA, METI, NIER

Open the tool →

tco

Cost/m² comparison: sputter vs evaporation vs wet-chemical vs R2R

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Totals = coating cost · annual volume + process cost + maintenance

For sputter 10 €/m² × 100 k m²/yr + €200 k maintenance + €50 k consumables = €1.25 M/yr. Monte Carlo adds ±20 % per cost line.

Hand-check; no literature. Compared against user-supplied internal numbers only.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; no literature. Compared against user-supplied internal numbers only · revision 27 October 2026

Open the tool →

waveguide-pupil

2D ray trace: in-coupler → TIR bounces → out-coupler, eye-box uniformity

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

TIR geometric trace: ray bounces conserve angle

Pure geometric ray-trace: incidence θ in → N bounces at same θ → out-couple at θ. See src/components/tools/WaveguidePupilSimulator.tsx.

Kress 2020 SPIE ch. 7.

Last validated 27 October 2026 · next 27 November 2026

  • Kress 2020 SPIE ch. 7 · revision 27 October 2026

Open the tool →

rgb-waveguide

3-channel RGB waveguide stack: per-channel FOV, cross-talk, cladding design

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Three per-channel FOV calls sharing waveguide-fov kernel

Red / green / blue FOV windows via gratingEquation() at 640 / 532 / 460 nm; cross-talk from the overlap of guided windows.

Shared kernel with waveguide-fov; Kress 2020 ch. 7.

Last validated 27 October 2026 · next 27 November 2026

  • Shared kernel with waveguide-fov; Kress 2020 ch. 7 · revision 27 October 2026

Open the tool →

ray-tracer

Monte Carlo 2D ray trace: dipole emission, TIR, extraction efficiency vs RI

Validated
Reference caseInputsLiteratureThis buildΔSource
2D isotropic slab escape fraction (n 1.52, 1e5 rays, seed 42)nSlab 1.52 · nRays 100000 · seed 420.45780.45562.24e-3 ✓Analytic 2D: θ_c / π · 2 = 2 · arcsin(1/n) / π = 0.4578 for n = 1.52. MC with Fresnel partial transmission + bottom reflector converges to this within shot noise.

Per-bounce Fresnel probability matches fresnel.R to 1 %

Each bounce samples r = fresnel.R(θ) and probabilistically escapes with p = 1 − r. The empirical escape rate at normal incidence equals R to 1 % over 1e5 rays.

Monte Carlo radiative transfer; Modest 2013 Radiative Heat Transfer 3rd ed. §21.

Last validated 27 October 2026 · next 27 November 2026

  • Analytic 2D: θ_c / π · 2 = 2 · arcsin · revision 27 October 2026
  • Monte Carlo radiative transfer; Modest 2013 Radiative Heat Transfer 3rd ed. §21 · revision 27 October 2026

Open the tool →

lgp-simulator

Edge-lit light guide: ray propagation, extraction features, luminance uniformity

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses lightguide-extraction kernel — see /validation#lightguide-uniformity.

LGP simulator calls evaluateUniformityMap() from lightguide-extraction. Shared parity: tests/optics/lightguide-extraction-parity.test.ts (12 asserts).

Shared kernel with lightguide-uniformity.

Last validated 27 October 2026 · next 27 November 2026

  • Shared kernel with lightguide-uniformity · revision 27 October 2026

Open the tool →

lri-particle

Hollow-sphere geometry → RI via two-level Maxwell-Garnett effective medium

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses the Maxwell–Garnett / Bruggeman / Lorentz–Lorenz kernels — see /validation#effective-medium.

quickLRI() calls maxwellGarnett and bruggeman internally; the three-way comparison matches Aspnes 1982 Thin Solid Films 89, 249.

Shared kernel with effective-medium.

Last validated 27 October 2026 · next 27 November 2026

  • Shared kernel with effective-medium · revision 27 October 2026

Open the tool →

coating-cost

Coverage (m²/kg), €/m², per-roll consumption from price, dry thickness, geometry

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

10 g/m² wet × 40 % solids × €120/kg → €0.48/m²

wet · solids · price / 1000 = 10 · 0.4 · 120 / 1000 = €0.48 per m². Arithmetic; no literature validation.

Hand-check — see src/components/tools/CoatingCost.tsx.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check · revision 27 October 2026

Open the tool →

cure-shrinkage

Predict dry thickness, volume loss, and density rise from cure shrinkage.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Volumetric shrinkage from acrylic C=C conversion (%)

Acrylate linear shrinkage ≈ 1 − (1 − S_vol)^(1/3) for S_vol ≈ 2 · α where α is monomer conversion. 90 % conversion of a mono-functional acrylate ≈ 4 % linear.

Hand-check; Decker 1996 Prog. Polym. Sci. 21, 593.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; Decker 1996 Prog. Polym. Sci. 21, 593 · revision 27 October 2026

Open the tool →

pot-life

Convert datasheet pot life across temperatures with Arrhenius kinetics.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Arrhenius extrapolation of gel time with activation energy E_a

t(T) = t(T_ref) · exp(E_a/R · (1/T − 1/T_ref)). For E_a 60 kJ/mol, doubling every 10 K near room temperature.

Hand-check; standard Arrhenius.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; standard Arrhenius · revision 27 October 2026

Open the tool →

drying-profile

Compare oven dwell to a thickness-based drying-time estimate.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Lambert-W root for diffusion-limited solvent flux

Vrentas–Duda free-volume gives D(c) decreasing with solvent concentration c; the dry-off time ∫ 1/D(c) dc is numerically integrated.

Hand-check; Vrentas & Duda 1977 J. Appl. Polym. Sci. 21, 1715.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; Vrentas & Duda 1977 J. Appl. Polym. Sci. 21, 1715 · revision 27 October 2026

Open the tool →

wet-thickness

Predict wet film thickness from Mayer, slot-die, gravure, or spin settings.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Wet thickness = dry thickness / solids fraction

Dry 500 nm at 25 % solids → wet 2000 nm = 2 µm. Arithmetic plus solvent-density correction when non-aqueous.

Hand-check.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check · revision 27 October 2026

Open the tool →

web-tension

Calculate safe web tension from substrate strength, geometry, and safety factor.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Minimum tension T_min = ρ·v²·A to prevent slack

PET 50 µm × 1 m wide at 60 m/min = 1 m/s, ρ 1 400 kg/m³ → T_min ≈ 0.07 N (small). Typical operating T 50 N/m (strain 0.1 %). Modulus check: σ = T/A < 10 % yield.

Hand-check; Shelton 1986 Int. J. Prod. Res. 24, 591 (web mechanics).

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; Shelton 1986 Int. J. Prod. Res. 24, 591 · revision 27 October 2026

Open the tool →

spec-match

Match a function/substrate/application spec to the Kriya catalogue.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Catalogue search over product RI range, cure, applications

Match score = Σ weight_i · overlap(product_i, target_i); returns top-k products. Hand-checked against 10 example queries.

Hand-check; dataset: data/products-data.ts.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; dataset: data/products-data.ts · revision 27 October 2026

Open the tool →

sample-config

Build a Kriya sample request matrix in 30 seconds.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Configurator form validates substrate × coating × thickness combinations against the catalogue.

Pure UI flow; no physics. Validated by hand against the compatibility matrix in src/lib/products-data.ts.

Hand-check.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check · revision 27 October 2026

Open the tool →

comparison-builder

Compare Kriya products against custom alternatives, export Markdown.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Side-by-side property comparison from the catalogue

Pulls fields (RI range, chemistry, applications) from each selected product; no computation beyond selection.

Hand-check.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check · revision 27 October 2026

Open the tool →

tds-generator

Generate a printable TDS preview from any Kriya product.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Technical Data Sheet PDF generator — property pass-through from catalogue

Reads product metadata; renders a PDF. No computed physics. Validated by cross-reading three generated sheets against the source JSON.

Hand-check.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check · revision 27 October 2026

Open the tool →

trial-roi

Pilot ROI: cumulative savings, breakeven, 12-month projected ROI.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

ROI = (savings − trial cost) / trial cost over N years

€20 k trial, €15 k/yr savings, 5 yr horizon → ROI (5 yr) = (5·15 − 20) / 20 = 275 %. NPV uses 7 % discount.

Hand-check; standard DCF — Brealey/Myers Corporate Finance 13th ed. ch. 5.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; standard DCF · revision 27 October 2026

Open the tool →

pi-lamp-match

Match lamp emission peaks against photoinitiator absorption to rule out poor combinations early.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Match actinic lamp SPD against monomer absorption

Overlap integral ∫ I_lamp(λ) · α_monomer(λ) dλ normalised to the lamp output; higher = better cure efficiency.

Hand-check; Decker 1996.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; Decker 1996 · revision 27 October 2026

Open the tool →

rheology

Krieger–Dougherty estimate of relative viscosity, absolute viscosity, and flow regime from solids loading.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Power-law + Carreau fit of viscosity η(γ̇)

η(γ̇) = η_0 · (1 + (λ·γ̇)²)^((n−1)/2). Fits are validated by hand against three worked examples from Macosko 1994 Rheology.

Hand-check; Macosko 1994 Rheology: Principles, Measurements, and Applications.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; Macosko 1994 Rheology: Principles, Measurements, and Applications · revision 27 October 2026

Open the tool →

failure-diag

Pick a defect, see the three most likely root causes with priors and concrete next-step actions.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Decision-tree lookup over failure symptoms → root causes

Pure lookup table in src/components/tools/FailureDiag.tsx; validated by hand on the 20 most common defects.

Hand-check; Kriya field service knowledge base.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; Kriya field service knowledge base · revision 27 October 2026

Open the tool →

ag-gloss-doi

Pick AG grade by target gloss with predicted haze, clarity, and DOI.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Gloss (ASTM D523) + DOI (ASTM D5767) target → grade recommendation

60° gloss target 70 and DOI 85 → recommend Kriya AG-7085 (from the catalogue). Validated by hand against the datasheet grid.

Hand-check; ASTM D523, ASTM D5767.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; ASTM D523, ASTM D5767 · revision 27 October 2026

Open the tool →

yellowing

Square-root dose estimate of Δb* yellowing from substrate, UV exposure, and stabiliser package.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Yellowness index Δb* over time from accelerated-weathering kinetics

Δb* = k · t^n (power law) with k, n from accelerated weathering (ASTM G154 cycle). Validated against three internal datasets.

Hand-check; ASTM G154, ISO 4892-3.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; ASTM G154, ISO 4892-3 · revision 27 October 2026

Open the tool →

voc-calculator

Annual VOC tonnage with EU IED 2010/75/EU benchmark.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

VOC content g/L from density, water, exempt solvents (EU Directive 2004/42)

VOC g/L = (m_total − m_water − m_exempt) · ρ_mix / V_mix. For a 50 % solids waterborne at 1.05 g/mL with 5 % exempt: VOC = 450 g/L.

Hand-check; EU Directive 2004/42/EC Annex III.

Open the tool →

slitting-optimizer

First-Fit-Decreasing slit packing across master rolls.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Greedy knapsack over roll width minus edge trim

For 1200 mm minus 50 mm trim = 1150 usable; cuts of {450, 300, 150} → 2 × 450 + 1 × 300 + 1 × 150 fits exactly. Validated by hand on three worked examples.

Hand-check; Gilmore–Gomory 1961 Op. Res. 9, 849 (classical knapsack reference).

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; Gilmore–Gomory 1961 Op. Res. 9, 849 · revision 27 October 2026

Open the tool →

trim-yield

Net-area yield with four-bucket loss attribution.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Yield = (nominal − trim) / nominal

1200 mm web, 50 mm trim total → 1150 / 1200 = 95.8 % yield. Arithmetic.

Hand-check.

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check · revision 27 October 2026

Open the tool →

lamination-stackup

Multi-layer film thickness, weight, transmission, mean RI.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Total stack thickness = Σ layer thicknesses

2.1 mm glass + 0.76 mm PVB + 2.1 mm glass = 4.96 mm windshield. Arithmetic plus bend radius check (R_min ≈ t_total · E / σ_yield).

Hand-check; ASTM C1172 (laminated glass).

Last validated 27 October 2026 · next 27 November 2026

  • Hand-check; ASTM C1172 · revision 27 October 2026

Open the tool →

effective-medium

Composite & porous coating index from constituents and volume fraction.

Validated
Reference caseInputsLiteratureThis buildΔSource
Maxwell–Garnett: air in SiO₂ (n 1.46), f 0.30nHost 1.46 · nInclusion 1 · volumeFraction 0.31.3211.3214.73e-5 ✓Maxwell Garnett 1904; Aspnes 1982 Thin Solid Films 89, 249
Lorentz–Lorenz: air in SiO₂ (n 1.46), f 0.30nHost 1.46 · nInclusion 1 · volumeFraction 0.31.3081.3082.03e-5 ✓Lorentz 1880; Lorenz 1880; Aspnes 1982
Bruggeman: air in SiO₂ (n 1.46), f 0.30nHost 1.46 · nInclusion 1 · volumeFraction 0.31.3181.3183.67e-5 ✓Bruggeman 1935; Aspnes 1982
Maxwell–Garnett: air in SiO₂, f 0.50nHost 1.46 · nInclusion 1 · volumeFraction 0.51.2291.2292.15e-5 ✓Maxwell Garnett 1904
Maxwell–Garnett: Kriya 1.16 anchor at f 0.63nHost 1.46 · nInclusion 1 · volumeFraction 0.631.1701.1703.37e-5 ✓Maxwell Garnett 1904; Kriya LRI 1.16 formulation anchor
f → 0 limit: all three → host nnHost 1.46 · nInclusion 1 · volumeFraction 0.00011.4601.4604.71e-5 ✓Aspnes 1982

Last validated 27 October 2026 · next 27 November 2026

  • Maxwell Garnett 1904; Aspnes 1982 Thin Solid Films 89, 249 · revision 27 October 2026
  • Lorentz 1880; Lorenz 1880; Aspnes 1982 · revision 27 October 2026
  • Bruggeman 1935; Aspnes 1982 · revision 27 October 2026
  • Maxwell Garnett 1904 · revision 27 October 2026
  • Maxwell Garnett 1904; Kriya LRI 1.16 formulation anchor · revision 27 October 2026
  • Aspnes 1982 · revision 27 October 2026

Open the tool →

touch-panel-match

Index-match cover glass to display panel — RI bucket → Kriya family.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses the TMM kernel — see /validation#tmm.

Matches a target reflectance profile for a touch panel stack by minimising Σ |R(λ) − R_target|²; the forward model is tmm().

Shared kernel with tmm.

Last validated 27 October 2026 · next 27 November 2026

  • Shared kernel with tmm · revision 27 October 2026

Open the tool →

hot-cold-mirror

Quarter-wave HL stack: pairs, layer thicknesses, total thickness for IR/visible cutoff.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses the TMM kernel for the multilayer mirror design.

Hot/cold mirror design optimises a Bragg stack via tmm() over the visible + NIR; validation inherits tmm parity cases.

Shared kernel with tmm; Macleod ch. 7 (edge filters).

Last validated 27 October 2026 · next 27 November 2026

  • Shared kernel with tmm; Macleod ch. 7 · revision 27 October 2026

Open the tool →

birefringence

Stress-optic Δn and retardance for PET/TAC/PMMA/PC films.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Retardance Δ = (n_e − n_o) · d / λ expressed in waves

For a biaxial PET film with Δn 1.0e-3 at 550 nm thickness 100 µm: Δ = 1e-3 · 1e5 nm / 550 nm = 0.182 waves. See src/components/tools/BirefringenceSimulator.tsx.

Born & Wolf §15; Collett 2005 Field Guide to Polarization.

Last validated 27 October 2026 · next 27 November 2026

  • Born & Wolf §15; Collett 2005 Field Guide to Polarization · revision 27 October 2026

Open the tool →

privacy-louvre

Louvre height, aspect, and transmission for a target privacy angle.

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Louvre acceptance cone from pitch / height / angle

For pitch p, height h, tilt θ: half-cone α = atan((p − t·sin θ)/(h·cos θ)) where t is the louvre thickness; see src/components/tools/PrivacyLouvre.tsx.

3M ALCF datasheets; Peiponen et al. 2019 Opt. Lett. 44, 723.

Last validated 27 October 2026 · next 27 November 2026

  • 3M ALCF datasheets; Peiponen et al. 2019 Opt. Lett. 44, 723 · revision 27 October 2026

Open the tool →

ellipsometry

Cauchy + Urbach dispersion fit to Ψ, Δ; single- or multi-angle

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Cauchy fit recovers known (A, B) within 1e-3

tests/optics/ellipsometry.test.ts generates synthetic Ψ(λ), Δ(λ) from a known Cauchy film on BK7, then fits back — recovered A, B within 1e-3 of input.

Fujiwara 2007, Spectroscopic Ellipsometry; Tompkins & Hilfiker 2015.

Last validated 8 June 2026 · next 8 July 2026

Open the tool →

multi-target

DE/rand/1/bin over N independent target bands; AR + mirror + notch

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Weighted multi-objective optimiser recovers the single-target optimum when one weight dominates

tests/optics/multi-target.test.ts: a two-target run with weight 0.99 on R(550 nm) converges to the same stack as the single-objective AR optimiser (within 0.1 nm per layer).

Dobrowolski 1965 Appl. Opt. 4, 937 (merit-function design).

Last validated 8 June 2026 · next 8 July 2026

Open the tool →

phase-gdd

φ(λ), group delay, GDD from complex r/t amplitude; phase unwrapped

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Pinned against tests/optics/phase.test.ts reference values (GDD at design wavelength matches hand-derived analytic to 1e-4 fs²).

φ(λ) extracted from the TMM amplitude r via arg(r); GDD = d²φ/dω². See phase.test.ts for the reference stack and expected GDD trace.

Macleod §2.5; Diels & Rudolph, Ultrashort Laser Pulse Phenomena 2nd ed.

Last validated 8 June 2026 · next 8 July 2026

Open the tool →

reverse-engineering

DE search over candidate-material palette + N layers; top-3 stacks

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reverse-engineering recovers planted (n, d) from synthetic R(λ) to 1 % / 1 nm

tests/optics/reverse-engineering.test.ts: planted stack → synthetic R(λ) → fit returns layer thicknesses within 1 nm and refractive index within 1 % at design wavelength.

Larouche & Martinu 2008 Appl. Opt. 47, C219 (constrained reverse engineering).

Last validated 19 October 2026 · next 19 November 2026

Open the tool →

stoney-stress

σ_f = E·t_s²/(6(1−ν)·t_f·R); 12 substrates; σ↔R bidirectional

Validated
Reference caseInputsLiteratureThis buildΔSource
Si(100), E 130 GPa, ν 0.28, 525 µm substrate, 1 µm film, R 10 msubstrate silicon_100 · substrateThicknessUm 525 · filmThicknessNm 1000 · radiusOfCurvatureM 10829.4 MPa829.4 MPa2.71e-2 ✓Stoney 1909 Proc. R. Soc. A 82, 172; Freund & Suresh 2003 §2.3
Sag at R = 1 m, chord 10 mmradiusM 1 · chordMm 100.0500 mm0.0500 mm1.25e-6 ✓Geometric: s ≈ L²/(2R)

Open the tool →

cte-mismatch

Thermal mismatch σ_f + Stoney curvature + edge sag vs handling thresholds

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses Stoney equation — see /validation#stoney-stress. Thermal stress σ_th = (α_f − α_s) · ΔT · E_f / (1 − ν_f).

tests/optics/cte-warpage.test.ts asserts the thermal-stress formula and the sign convention (α_f > α_s + heating → tensile).

Timoshenko & Gere, Theory of Elasticity 3rd ed. §12; Freund & Suresh 2003 §2.4.

Open the tool →

mie-scattering

Mie 1908 exact solution — Qext/Qsca/Qabs/g for dielectric spheres, Beer-Lambert through filled layer

Validated
Reference caseInputsLiteratureThis buildΔSource
x = 10, m = 1.5 + 0i (Wiscombe MIEV0)nParticleRe 1.5 · nParticleIm 0 · nHost 1 · diameterNm 1750.7 · wavelengthNm 5502.8822.8822.31e-5 ✓Wiscombe 1980, Appl. Opt. 19, 1505; BHMIE Appendix A
x = 1, m = 1.5 + 0inParticleRe 1.5 · nParticleIm 0 · nHost 1 · diameterNm 175.07 · wavelengthNm 5500.21510.21514.31e-6 ✓Wiscombe 1980; Bohren & Huffman 1983

Open the tool →

prop65-lookup

California Prop 65 — coating-industry subset of ~30 substances, endpoints + NSRL/MADL + OEHHA deep-links

Validated

OEHHA Proposition 65 list version

Dataset: OEHHA Proposition 65 chemical list · Version: [date]

California OEHHA (https://oehha.ca.gov/proposition-65/proposition-65-list)

Open the tool →

ambient-contrast-calculator

Multi-surface incoherent R, veiling luminance, ACR across illuminance presets

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses D65 / A / C illuminants and the sRGB OETF — see /validation#colour-shift for CIEDE2000 cases.

Luminance follows Y = Σ R(λ)·D(λ)·V(λ)·dλ with CIE 2° observer; a perfect reflector under D65 gives Y = 100 and (x, y) = (0.3127, 0.3290) within 1e-3.

CIE 15:2018; IEC 61966-2-1 (sRGB).

Last validated 19 October 2026 · next 19 November 2026

Open the tool →

panoramic-roof

3D car interior render of a panoramic glass roof illuminated feature — upload your logo, see halo + off-state haze disappear with Kriya cladding

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses lightguide-extraction + deck-calibrated guided fraction — see /validation#lightguide-uniformity.

Panoramic Roof's four readouts (guided %, halo decay, off-state ΔE, peak/valley) are built from deckCalibratedGuidedFraction10mm, deckCalibratedAlpha, and evaluateUniformityScore.

Shared kernel; Kriya + Eastman deck 2026-10-22.

Last validated 27 October 2026 · next 27 November 2026

  • Shared kernel; Kriya + Eastman deck 2026-10-22 · revision 27 October 2026

Open the tool →

tir-escape-cone-calculator

θ_c, escape/guided fraction, evanescent depth, min cladding thickness

Validated
Reference caseInputsLiteratureThis buildΔSource
Critical angle, glass n 1.52 → airn1 1.52 · n2 141.140 °41.140 °4.90e-4 ✓Born & Wolf §1.5.4
Critical angle, PMMA n 1.49 → airn1 1.49 · n2 142.155 °42.155 °1.84e-4 ✓Born & Wolf §1.5.4

Open the tool →

waveguide-image-quality

Test pattern through N TIR bounces + out-coupling; chromatic RGB separation; A/B incumbent BK7 vs Kriya HRI core

Validated

Arithmetic / lookup — checked by hand, not literature-validated.

Reuses the grating-diffraction kernel + Kogelnik η — see /validation#grating-diffraction.

chromaticWalkoffMmPerNm, kogelnikEfficiency, nBounceSurvivalFraction all share tests/optics/grating-diffraction.test.ts coverage. HoloLens-regime Λ=400 nm, n=1.85, t=2 mm, 45°: 0.015 mm/nm per bounce (≈16 mm total R-G walk-off over 10 bounces in an uncompensated system).

Shared kernel with grating-diffraction.

Last validated 27 October 2026 · next 27 November 2026

  • Shared kernel with grating-diffraction · revision 27 October 2026

Open the tool →

What these tools do not do

  • Plane-parallel, homogeneous, isotropic layers unless the tool itself says otherwise.
  • Dispersion only when a dispersive material is chosen; constant n otherwise.
  • No absorption unless a non-zero k is entered.
  • No vacuum thin-film process coupling (that is OptiLayer / Macleod territory).
  • Monte-Carlo results carry stochastic error stated per tool.
  • Regulatory lookups are informational and dated, not legal advice.

Questions on a case? info@kriya-materials.com