Back to Portfolio
Open SourcePhysics

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.

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.

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, replacing 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.

Built with

RustwgpuwinitVulkan / Metal / DX12ENDF/B-VIII.0

See the code

Full source, docs, and usage examples on GitHub.