Back to Portfolio
Open Source Physics

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 — 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.


Built with

Rust wgpu winit Vulkan / Metal / DX12 ENDF/B-VIII.0

See the code

Full source, configuration docs, and nuclear data on GitHub.