FERRETGame engine over Babylon.js
Ferret

Scenario: loss of coolant

A small reactor sits in a containment. Its coolant gives up heat to a turbine, the turbine turns a generator, the generator lights a lamp. Then the coolant pump stops.

The turbine has no heat to use, and the lamp goes out. The fuel temperature trips the reactor, and the rods drop. Fission stops within seconds, but the decay heat does not. It is a few percent of full power and falls slowly, and with no coolant it can only leave through the fuel's contact with the containment, which warms for as long as that lasts. The scenario is the order of those events.

The chain#

StageCapabilityObjectHanded on by
Core, rods, tripnuclearReactorthe fuel and coolant temperatures, the flow
Coolant heat to the shaftlinksturbineOnReactora torque on the shaft
Shaft, generator, lampmachines, electricityDrivetrain, DCMachine, Resistorgen.omega = shaft.omega
Decay heat into the buildinglinks and heatreactorHeatsPart, HeatNetworkthe part's temperature

Building it#

const reactor = new Reactor({ power: 1e6, generation: 1e-4, rodWorth: 0.05, rodsCritical: 0.5,
  fuelHeat: 5e5, coolantHeat: 2e5, exchange: 5e4, flow: 2e4, inlet: 290,
  fuelCoefficient: -2e-5, melt: 1800, trip: { fuel: 400 } });

const turbine = turbineOnReactor(reactor, shaft, { efficiency: 0.3, maxTorque: 400 });
const contact = reactorHeatsPart(reactor, containment, net, 2000);   // 2 kW/K between the fuel and the building

The pump stopping is one line: reactor.flow = 0.

The timeline#

  • 0 to 120 s. Normal running. The turbine takes efficiency × flow × (Tc − inlet) and the lamp is lit. The fuel is at about 360 K. The containment, which it always touches, takes a share of the heat.
  • 120 s. The pump stops. The coolant stops carrying heat away, so the coolant temperature and then the fuel temperature climb. The turbine's input falls to zero with the flow, and the lamp dies with it.
  • About 40 s later. The trip. The fuel temperature passes its trip level and the core scrams. The rods drop at scramSpeed, and fission falls by orders of magnitude, but not to zero: the decay groups keep reactor.decayHeat going at 6–7 % of full power at once.
  • After. The fuel's only way out is reactorHeatsPart. reactor.sink is the power it carries; the containment's mass sets how fast it warms (a few tenths of a kelvin here: it is a very large heat sink). A larger conductance protects the fuel and heats the building faster; a smaller one does the reverse, and the melt limit decides which side is the dangerous one.

With the pump running throughout, the core never trips and the lamp stays lit.

Variations#

ChangeEffect
No trip (remove trip)the negative fuel coefficient throttles fission as the fuel heats, so the core settles at a lower power; slower and hotter than a scram
Contact conductance 0decay heat has no path; the fuel heats until it melts and reactor:melt fires once
A backup pump: set reactor.flow to a fraction after a delaythe turbine runs at a fraction, the fuel cools, decay heat is carried again
Containment mass 5e3 instead of 5e5the building warms a hundred times as fast: the case for a water pool
The tank scenario applied to the containmenta hot building with a gas in it is a pressure vessel

The complete run, with the numbers it must produce, is in tests/unit/examples/physics-scenarios-loss-of-coolant.test.ts.