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#
| Stage | Capability | Object | Handed on by |
|---|---|---|---|
| Core, rods, trip | nuclear | Reactor | the fuel and coolant temperatures, the flow |
| Coolant heat to the shaft | links | turbineOnReactor | a torque on the shaft |
| Shaft, generator, lamp | machines, electricity | Drivetrain, DCMachine, Resistor | gen.omega = shaft.omega |
| Decay heat into the building | links and heat | reactorHeatsPart, HeatNetwork | the 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 keepreactor.decayHeatgoing at 6–7 % of full power at once. - After. The fuel's only way out is
reactorHeatsPart.reactor.sinkis 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#
| Change | Effect |
|---|---|
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 0 | decay 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 delay | the turbine runs at a fraction, the fuel cools, decay heat is carried again |
| Containment mass 5e3 instead of 5e5 | the building warms a hundred times as fast: the case for a water pool |
| The tank scenario applied to the containment | a 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.