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

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.