#nuclear
Projects
Critical Heat Flux: the Groeneveld lookup table
ActiveThe 2006 Groeneveld CHF lookup table (and assorted correlations) implemented in Excel, MATLAB, and Python.

RadiationExplorer
ActiveAn Unreal Engine plugin for scientific visualization and analysis of volumetric radiation data — VTK simulations to interactive isocontours via ParaView, with a managed-pair data-source system, accumulated-dose integrator pattern.

soul-test-netflow: three thermal-fluid paradigms on one PWR pin
ArchivedThe same nuclear-reactor pin / coolant-loop physics, built three different ways on one machine — by-hand Python, Julia's ModelingToolkit, and Modelica/Dymola. The comparison across the three is the deliverable.
TRANSFORM
ActiveAI-assistedA Modelica library for system-level dynamic simulation of nuclear and other thermal-hydraulic energy systems — fluid networks, heat transfer, heat exchangers, nuclear kinetics, media, and controls in one reconfigurable package. Started at ORNL in 2017, still moving, Apache-2.0.
Writing
The same physics on Modelica + Dymola: reaching the full PWR assembly
The third episode of soul-test-netflow — Modelica 4.1 running in Dymola, the mature commercial simulator. The 17×17 PWR fuel assembly that Julia could only extrapolate, completed in 397 seconds end-to-end.
Three walls, one paradigm: the bottlenecks are ecosystem gaps, not the math
The capstone of soul-test-netflow — same nuclear-reactor pin physics, three different software stacks. Each one hit a wall at a different scale. The claim worth staking is that the walls are ecosystem-shaped, not paradigm-shaped.
netflow: hand-rolling a conservation-network solver in Python
The first of three episodes in soul-test-netflow — a domain-agnostic "conservation on a network" solver in pure Python, with nuclear thermal-hydraulics as its first plugin.
Rebuilding netflow on ModelingToolkit: 14× less code, then a compile wall
The Julia / MTK episode of soul-test-netflow — same physics as the Python netflow, on a high-level symbolic modeling library. Matched node-by-node to 25 mK with 14× less code, and stopped short of a full reactor-assembly model when the compile step became the bottleneck.