Skip to content

v0.22.0 — Biaxial crystals, nonlinear-optics depth, interference & GPU/quantum scaffolds

Choose a tag to compare

@emircbngl emircbngl released this 29 Jun 12:19

v0.22.0 — Biaxial crystals, nonlinear-optics depth, interference & GPU / quantum scaffolds

Seven additions across the off-trace physics layer — completing the nonlinear-crystal catalog, deepening the
χ² solver, and laying down the first GPU and quantum scaffolds. Everything is opt-in and on-demand; the live
single-ray + Gaussian trace stays byte-identical (regression 390/390), and validation grows 215 to 249.

Biaxial nonlinear crystals — KTP + LBO

The Sellmeier-derived phase matching covered only uniaxial crystals; this adds the two workhorse biaxial
doublers. With all three principal-axis indices sourced from refractiveindex.info, the XY-plane phase matching
reduces to an effective-uniaxial problem and reproduces the textbook Nd:YAG green-doubler cuts from the
coefficients alone — KTP Type-II at 23.58 deg, LBO Type-I at 11.76 deg — plus their walk-off (KTP ~4 mrad, LBO
~7 mrad). (The in-plane index order was caught and corrected via physics_verify before coding: the
polarization is perpendicular to the wavevector.)

LBO non-critical phase matching — with an honest limitation

LBO's temperature-tuned NCPM route, using the real datasheet dn/dT constants. Honest caveat (no fabrication):
the constant dn/dT under-predict the tuning slope, so the model lands near 256 C, not the real 148 C; the
wavelength-resolved coefficients that reproduce 148 C are paywalled and were not transcribed. The calculator
ships the datasheet constants, the cited literature value, and the documented gap.

Type-II SHG coupled-wave efficiency

The χ² depletion solver's Type-II case: the three-wave coupled equations where the harmonic consumes one
ordinary plus one extraordinary photon. A balanced pump reduces exactly to Type-I at half the drive; an
unbalanced pump saturates at the weaker polarization — the Manley-Rowe cap, never exceeded.

Newton's-rings 2D pattern

The full 2-D reflected pattern of a plano-convex surface on a flat — a central dark spot and dark rings landing
exactly on the closed-form radii.

AR coating ghost curve

The wavelength-dependent V-shaped reflectance of a single-layer quarter-wave coating, reducing exactly to the
oracle quarter-wave value at the design wavelength. physics_verify'd.

Opt-in GPU backend (scaffold)

A NumPy-compatible array namespace that switches to CuPy or MLX when present and enabled. The NumPy path
reproduces the field propagator exactly, so the GPU-ready code is proven correct; the owner installs cupy/mlx
and flips a flag. (A real numerical fix surfaced during the scaffold: the transfer-function phase reaches about
a million radians, so it must be built in float64 even on the GPU — with that the complex64 fast path deviates
only about one part in ten million.)

Quantum photon statistics (analytic core + QuTiP scaffold)

The first quantum observables in the engine, the ones the χ²/SPDC layer implies: the second-order coherence
g-squared-of-zero (coherent 1, thermal 2, single-photon 0, Fock 1 minus 1 over n), the Hong-Ou-Mandel
two-photon dip, squeezing (sub-shot-noise quadrature variance), and the SPDC source statistics. The closed-form
core is physics_verify ok; the full many-mode state is a QuTiP scaffold (closed-form fallback when QuTiP is
absent).


Verification: textbook validation 249 / 249, byte-identical regression 390 / 390, the
bare-interpreter physics.py self-test, the MCP-to-API parity meta-test, plus physics_verify Docker-oracle
passes on the new nonlinear-optics and quantum relations. New demos: biaxial-crystals-demo.png,
newton-rings-demo.png.

Install / update: the add-on self-updates through Blender's native extension channel, or drag the attached
optical_alignment_sim-0.22.0.zip into Blender (Edit, Preferences, Get Extensions, Install from Disk).