Chain Reaction Simulation
A high-performance nuclear chain reaction simulator written in Rust — GPU-accelerated particle physics, real-time 3D visualization, and a 150+ isotope library drawn from ENDF/B-VIII.0 nuclear data.
Overview
What is it?
Most nuclear simulation tools are either too high-level to be educational or too specialized to be accessible. This project bridges that gap — a fully configurable simulator that runs real nuclear physics (fission, neutron capture, decay chains) at interactive speeds using GPU compute shaders.
Built in Rust with wgpu for cross-platform GPU acceleration (Vulkan, Metal, DX12), it ships both a real-time 3D renderer for visualization and a headless mode for batch experiments and CI. The nuclear data comes from ENDF/B-VIII.0, with point-wise cross-sections and log-log interpolation replacing crude 2-point approximations.
Features
What it does
Nuclear Physics Engine
Fission, neutron capture, and radioactive decay with energy-dependent cross-sections, asymmetric fission product yields, and full decay chain tracking.
ENDF/B-VIII.0 Data
~1000 energy points per isotope with log-log interpolation packed into a compact binary .ndb database — replaces crude 2-point cross-section models.
150+ Isotope Library
Actinides, fission products, moderators, structural materials, and neutron poisons. Configure fuel compositions, enrichment levels, and geometry regions.
GPU-Accelerated
wgpu compute shaders handle particle integration and collision detection across Vulkan, Metal, and DX12 — with automatic CPU fallback.
Real-Time 3D Visualization
wgpu + winit renderer with colored particle sprites, orbit and fly cameras, keyboard controls, and pause/resume support.
Advanced Analysis
Neutron energy spectrum tracking, per-isotope reaction tallies, neutron genealogy trees, and detailed CSV export for post-processing.
Stack
Built with
See the code
Full source, configuration docs, and nuclear data on GitHub.