Nanowire Target Laser Absorption — 2D Ray-Trace Companion
2D geometric-optics companion to the 3D nanowire-target simulator: an event-driven Monte Carlo ray tracer follows individual photons through an explicit periodic lattice of nanowire cross-sections, computing the local Kruer resonance-absorption probability at every real bounce instead of assuming a closed-form multi-bounce formula, and cross-checks the measured absorption against it live.
This 2D companion to the 3D nanowire-target simulator rebuilds the underlying physics with an independent method instead of reusing the 3D scene's closed-form multi-bounce formula. It renders the actual periodic cross-section of a nanowire forest — vertical wire segments spaced by a pitch derived from the packing fraction, standing at a height set by the aspect ratio — and traces individual photon packets through it with a real event-driven geometric-optics algorithm: every bounce off a wire wall, a wire top, or the solid base plate resolves against the local Kruer resonance-absorption probability computed from that bounce's own true angle of incidence, not a single pre-computed number for the whole photon. The live "ray-trace A" readout is a genuine Monte Carlo measurement — the fraction of traced photons that end up absorbed — shown alongside the 3D scene's analytic prediction so the two independent computations can be compared directly, and a standalone verification script confirms the ray tracer's flat-target limit reproduces the textbook formula to Monte Carlo precision.
2D geometric-optics companion to the 3D nanowire-target simulator: an event-driven Monte Carlo ray tracer follows individual photons through an explicit periodic lattice of nanowire cross-sections, computing a fresh local Kruer resonance-absorption probability at the true angle of every real bounce off a wire wall, wire top, or base plate — instead of assuming the 3D scene's closed-form multi-bounce formula — and shows the measured absorption live next to that analytic prediction.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install