http://simoncblyth.bitbucket.io/env/presentation/opticks_gpu_optical_photon_simulation_psroc.html (Jan 2016) http://simoncblyth.bitbucket.io/env/presentation/opticks_gpu_optical_photon_simulation.html (Jan 2016) http://simoncblyth.bitbucket.io/env/presentation/optical_photon_simulation_with_nvidia_optix.html (July 2015)
Executive Summary
Opticks integrates Geant4 simulations with state-of-the-art NVIDIA OptiX GPU ray tracing.
Contents
Neutrino Detection via Optical Photons
Inverse beta decay: electron anti-neutrino captured on proton producing prompt positron and delayed neutron signals. Despite overburden cosmic muons remain important backgrounds.
-> large transparent target volumes coupled to Photomultiplier Tubes
Scintillator: DayaBay/JUNO, Double Chooz, RENO, KamLAND
Water Cerenkov: SNO, SuperK/HyperK, IceCube/PINGU, KM3NeT, Baikal-GVD
Detailed model of Optical Photon Propagation critical to detector design/use.
Optical Photon Simulation Problem
Cosmic muons can yield many millions of optical photons in Daya Bay (even more in JUNO). Optical photon propagation dominates Geant4 simulation time ~95% for Daya Bay.
Cosmic Muon Sample sizes severely limited by CPU time practicalities.
Hybrid Solution
External propagation possible as optical photons are isolated in simulation chain.
Geant4/Opticks Interface
Ray Tracing ?
Pixels calculated by tracing rays from image plane into geometry, recursively doing reflection, refraction, shadow calculations.
Ray Tracing more realistic (closer to physics) than rasterized projection
Apply Image Synthesis Tool to Photon Simulation
Same rate determining step : geometry intersection
OptiX Provides:
CUDA compiler optimized for Ray Tracing
NVIDIA expertise on efficient GPU(s) usage
IHEP Performance Check
Used IHEP 4 GPU workstation to verify near linear performance scaling across multiple GPUs
https://developer.nvidia.com/optix
https://research.nvidia.com/publication/optix-general-purpose-ray-tracing-engine
Hybrid Simulation
Combining G4 with external simulation requires "context" duplication
Ray Tracing demands translation:
1704
2013(Aug-) [liberate geometry]
2014 [integrate geometry/event data with Chroma]
2015 [replace Chroma with Opticks]
Opticks ~15 C++ Pkgs
Organized by dependencies
Interop between OpenGL/OptiX/Thrust/CUDA
C++ code but NumPy analysis/debugging by using .npy serialization for all buffers
Externals:
Basis packages
Geometry packages
GPU library interface packages
Main packages
Comparison of simulated absolute reflection of S and P polarized single events against expectation from Fresnel formula. Using uniform planar incident cyclindrically directed light.
Prism geometry and Snell's law at two refractions allows deviation angle vs incident angle to be predicted. Comparison of simulation results with expectations for 10 wavelengths using refractive index of Schott F2 Flint Glass.
CfG4 package
Compare Opticks/Geant4 propagations with simple test geometries and light sources. For each test shape:
Shape | OptiX | OpenGL | Geant4 |
---|---|---|---|
sphere | Y | Y | Y |
box | needs debug | Y | Y |
prism | Y | Y | |
convex lens | Y | Y | |
DayaBay PMT | Y | Y | needs port |
Caustic bunching at least deviation causes rainbow
Jearl D. Walker, 1975, Multiple rainbows from single drops of water and other liquids http://patarnott.com/atms749/pdf/MultipleRainbowsSingleDrops.pdf
Photons shown by lines with color representing polarization direction. S-Polarized (perpendicular to plane of incidence) intersection by disc radially directed polarization. Geodesic icosahedron tesselation just for OpenGL visualization, actual OptiX geometry is perfect sphere.
Deviation angle distribution of all 3M photons. Photon wavelengths from Plankian 6500K blackbody spectrum (implemented with inverse CDF GPU texture lookup). Simulated "images" obtained from wavelength spectrum of each bin using CIEXYZ weighting functions converted into sRGB/D65 colorspace. The two images exposed for luminance (CIE-Y) of max bin of 1st and 2nd bows.
Spectra obtained by selecting photons by internal reflection counts. Colors obtained from spectra of each bin using CIEXYZ weighting functions converted into sRGB/D65 colorspace. Exposures by normalizing to bin with maximum luminance (CIE-Y) of each bow. White lines indicate geometric optics prediction of deviation angle ranges of the visible range 380-780nm. 180-360 degrees signifies exit on same side of droplet as incidence.
Deviation angle(degrees) of 1M parallel monochromatic photons in disc shaped beam incident on water sphere. Numbered bands are visible range expectations of first 11 rainbows. S-Polarized intersection (E field perpendicular to plane of incidence) arranged by directing polarization radially.
Rainbow 1M S-Pol
Average Propagate Time for 1M photons
MacBook Pro 2013, NVIDIA GeForce GT 750M 2GB (384 cores)
Rainbow Test | Geant4 10.2 | Opticks Interop | Opticks Compute |
---|---|---|---|
1M (S-Pol) | 56 s | 1.62 s | 0.28 s |
1M (P-Pol) | 58 s | 1.71 s | 0.25 s |
Opticks Interop/Compute Modes
Opticks Overview
http://simoncblyth.bitbucket.io/env/graphics/ggeoview/jpmt-after-contact_half.png
http://simoncblyth.bitbucket.io/env/graphics/ggeoview/jpmt-inside-outside_half.png
Photon History Selection
Only CK BT BT BT SA, three boundary transmits before surface absorption