Spent fuel pool · decay heat

Spent Fuel Pool (SFP) Heat Load Calculator

Aggregate decay-heat load from every batch sitting in a spent fuel pool, via the full ANSI/ANS-5.1-2005 standard (reused from the Decay Heat Calculator) with a Wigner-Way cross-check shown side by side — plus the pool's thermal response if cooling is lost: time-to-boil, boiloff, makeup, and time to fuel uncovery.

How to use this tool
  1. Pick an input mode — Simple (reactor power + time) or Detailed (per-assembly burnup + enrichment, for RO/SRO). New? Start with Simple.
  2. Add your spent fuel — click a preset (e.g. "Recent 1/3-core offload") or enter your own batch; add more batches for older fuel already sitting in the pool.
  3. Read the results — total heat load, time-to-boil, and time to fuel uncovery if cooling stops. Hover any chart for a plain-language note.

Heat load — current decay-heat power from all fuel in the pool. Time-to-boil — how long until the pool reaches 100°C if cooling stops. Boiloff / makeup — how fast water turns to steam once boiling, and the flow needed to replace it. Uncovery — when falling water would expose the top of the fuel.

All results are educational estimates — see the disclaimer below.

⚠ Educational estimation only Simplified ANS-5.1 estimate with conservative assumptions — not for licensing or operational decisions.

A simplified lumped mass-energy balance built on ANSI/ANS-5.1 decay heat, with conservative assumptions: no evaporative or radiative loss credit, uniform bulk pool temperature, no rack-level effects. Intended for engineers, RO/SRO candidates, students and researchers. This is not a licensing or safety-basis calculation — those require plant-specific ORIGEN/SCALE fuel inventories and qualified thermal-hydraulic codes — and it is not for operational decisions. Detailed rack-level thermal-hydraulics (CFD), zirconium-steam oxidation/hydrogen generation, and radiological dose are out of scope; those require RELAP5/MELCOR/MAAP-class codes.

Input mode

Sets the default mode for new batches. Each batch can be switched individually using its Mode A/B button on the batch card.

Reactor / plant configuration

Used to scale core-fraction and assembly-count inputs below. Ignored if you enter P_op directly on a batch.

Batches in pool

Heat load timeline projection

Every batch's decay-heat curve plotted against calendar time, from now to the selected horizon. Stacked areas show each batch's contribution; the bold line is the total pool load. A scheduled future offload appears as a spike that decays.

The scrubber, the date field, and every result below (batch table, hero total, TTB, boiloff, makeup, margin) all read from the same reference timestamp — move any one and the rest follow.

Schedule a future offload

Adds a new batch card above, dated N months from today, using whichever input mode (A or B) is currently selected — edit it there for exact power/burnup. It will appear on the chart as a future spike until its discharge date arrives.

Cooling capacity (optional)
Leave at 0 to skip the cooling-margin check.
Default fuel mix — Mode A batches (% of fission power, 4 nuclides)

Mode B batches derive their own mix from burnup instead of this default (higher burnup shifts weight toward Pu-239/Pu-241).

Recoverable energy per fission (MeV) — advanced override
Total pool heat load · ANS-5.1
0.00MW

Per-batch breakdown

BatchDischargeτ (cooling time)T_irr P_opANS-5.1 % of totalWigner-WayΔ%

Pool water inventory

Total pool water inventory, floor to surface.
Water cross-section net of rack/fuel displacement — usually below the raw pool footprint.
Surface to top of active fuel. ~7 m (~23 ft) is a common regulatory-adjacent shielding minimum.
Pool temperature at the start of the loss-of-cooling event.
Compute volume from L × W × depth

Loss-of-cooling response

Conservative lumped mass-energy balance on total loss of active cooling: uniform bulk pool temperature, no evaporative or radiative loss credit before saturation. Uses the ANS-5.1 total heat load above.

Heat-up rate
Time-to-boil (TTB)
Boiloff rate
Time to uncover TAF (from onset of boiling)
Total time — now to TAF uncovery
Makeup flow to hold level

Loss-of-cooling temperature ramp

Pool temperature from the moment cooling is lost, through saturation, to TAF uncovery. Hover for the phase, its operational meaning, and any safety flag.

Subcooled heat-up Boiloff toward TAF TAF uncovery

Benchmark validation

Methodology. Primary engine: ANSI/ANS-5.1-2005, four fissioning nuclides (U-235, Pu-239, U-238, Pu-241) with optional neutron-capture correction G(t) and ²³⁹U/²³⁹Np actinide term — the same engine as the Decay Heat Calculator. Cross-check: Wigner-Way, Q/P_op = 0.0622·[τ-0.2 − (τ+T_irr)-0.2]. Total pool load is the batch sum Q_total(t) = Σ Q_i(τ_i(t)), τ_i(t) = t − t_discharge,i. Mode B bridges to the native engine via T_irr = 1000·B/q (days, B in GWd/MTU, q in MW/MTU) and P_op = q·MTU; burnup sets the isotopic mix by linear interpolation between reference fuel-mix points.

Pool thermal response. Lumped mass-energy balance on total loss of active cooling, uniform bulk temperature, no evaporative or radiative loss credit before saturation: heat-up rate dT/dt = Q_total/(m·c_p) with m = ρ·V_water; time-to-boil TTB = m·c_p·(T_sat − T_0)/Q_total, T_sat = 100°C; boiloff mass rate ṁ = Q_total/h_fg (h_fg ≈ 2.257 MJ/kg); time to uncover the top of active fuel t_uncover = V_above-TAF/(ṁ/ρ); makeup flow to hold level = ṁ/ρ. Cooling margin (optional) = Q_cool − Q_total, flagged if negative.

Out of scope in v1: rack-level thermal-hydraulics (CFD), zirconium-steam oxidation/hydrogen generation, and radiological dose — these require RELAP5/MELCOR/MAAP-class codes.

By Elliot Marsh — NeutronRise.