Decay Heat

During the operation of a nuclear reactor, the core’s components are heated by interactions of particles (neutrons, photons, electrons, ions and atoms) with component materials. The origin of most of those particles can be traced back in time to an induced fission event in the reactor. So they depend on the reactor power level history.

We can further separate these particles into 3 categories:

Immediate sources

Particles that are created immediately after an induced fission event in the reactor (created within a time scale that is much smaller than the generation time). For example: prompt neutrons, prompt photons and fission products.

Delayed sources

Particles that are created after an induced fission event in the reactor with a delay that is larger than the generation time. For example: particles that are created from decay of activation products or fission products.

External sources

Particles that their origin cannot be traced back to an induced fission event in the reactor, and so this type of source does not depend on the reactor power level history. For example: particles that are created from an external neutron source, particles that are created by cosmic radiation and particles that are created by spontaneous fission of U238.

Most of the time, external sources have a negligible effect on radiation heating. They are not considered here. The total heating must be evaluated to ensure proper heat evacuation from the core (such evaluation is beyond the scope of system codes and particularly STREAM, and serves as input for this subpackage). When the reactor is shut down, the power does not turn off completely, as these delayed sources of heating have a lingering (sometimes called residual) effect - Decay Heat.


The Fission Rate

Since the common source of (the majority of) immediate and delayed heating contributions is the induced fission event, it is convenient to write contributions per fission event, and multiply by the rate of fission events.

The total decay heat per fission event is given in units of \([\text{MeV} / \text{fission}]\), and denoted \(F_\text{Decay Heat}(t, T)\) where \(T\) is the operation time (constant fission rate during this period is assumed), and \(t\) is the time after shutdown.

The decay heat power is then defined as:

(1)\[P_\text{Decay Heat} = \Phi F_\text{Decay Heat}(t, T)\]

Where \(\Phi\) is the fission rate, and has units of \([\text{W} / (\text{MeV} / \text{fission})]\) or \([\approx 1.602\cdot 10^{-13}\text{ fission}/\text{s}]\), and is commonly written as:

(2)\[\Phi = \frac{P_0}{Q}\]

Where \(P_0\) is the reactor operation power and \(Q\) is the total recoverable energy associated with a fission event (conservatively, \(Q\approx 200 \text{MeV}\)).

In the method contained herein this total decay heat per fission event is the sum of several contributions:

(3)\[F_\text{Decay Heat}(t, T) = F_\text{Fissions}(t, T) + F_\text{Fission Products}(t, T) + \sum_i F_{\text{Activation Products} i}(t, T)\]

Note

The user is left with the responsibility of constructing their own decay heat function, including the fission rate and the weighting of each contribution which depends on the component in question.

In the following segments, each term of (3): Fissions, Fission Products, Activation is explained and the corresponding functions are linked.

Fissions

With the shutdown of the reactor the neutron population plunges, and with it the fission rate in accordance with the generation time \(\Lambda\) and the delayed neutron decay rates \(\lambda_k\). The fraction of delayed fission yield \(\beta_\text{eff}\) is spectrum dependent and should, along with the other kinetic parameters, be calculated for a given reactor.

The decay heat is calculated as follows:

(4)\[F_\text{Fissions}(t, T) = Q_\text{prompt}P(t)\]

Where \(P(t)\) is the profile generated by solving the Point-Kinetics equations, having arbitrary units:

\[\begin{split}\dot{P} &= \frac{\rho(t) - \beta}{\Lambda} P + \sum_k C_k\lambda_k \\ \dot{C}_k &= - C_k\lambda_k + \frac{\beta_k}{ \Lambda} P\end{split}\]

For \(P(t=0) = 1\) normalized initial power and controlled by the reactivity insertion \(\rho(t); \rho(0)=0\). These equations are further described at PointKinetics. \(Q_\text{prompt}\equiv Q - Q_\text{delayed}\) is the total energy deposited in a component directly related to fission events (including, for example, the immediate \(\gamma\) radiation released immediately after fission).

The user is provided with methods to generate such a profile:

profile(time, generation_time, delayed_neutron_fractions, delayed_groups_decay_rates, controls=None)[source]
Parameters:
  • time (Second) – Times on which the calculated profile should rely.

  • generation_time (Second) – mean time between neutron generations.

  • delayed_neutron_fractions (Array1D) – the fractional yield of neutrons in defined delay groups. 1$ worth is the total.

  • delayed_groups_decay_rates (PerS) – each group’s decay rate.

  • controls (ReactivityController) – Reactor reactivity controls

Returns:

The fission time profile \(\text{PK}(t, T)\)

Return type:

DecayHeatFunction

profile_from_pk(time, pk)[source]
Parameters:
  • time (Second) – Times on which the calculated profile should rely.

  • pk (PointKinetics) – Calculation on which the calculated profile should rely.

Returns:

The fission time profile \(\text{PK}(t, T)\)

Return type:

DecayHeatFunction

Implementation Detail

The profiles are generated once and interpolated for use at STREAM simulation-time, in order to save the runtime cost of calculating the profile for each call.

Fission Products

The primary contributor to reactor decay heat is the \(\beta\) and \(\gamma\) decays of fission products. Several standards are readily available, of which the most notable is the American National Standard ANSI/ANS-5.1.

The supported standards are:

  • ANSI/ANS-5.1-1973[1]

  • ANSI/ANS-5.1-2014[2]

  • JAERI-M-91-034[3]

The american standards do not distinguish between \(\beta\) and \(\gamma\) contributions and are only meant for fuel elements. Since the \(\beta\) contribution is naturally local while the \(\gamma\) contribution may not be, for non-fuel elements only the latter profile should be used, a distinction available through JAERI[3], included mainly for this reason. For these cases, the user must normalize the profile and multiply by the correct fission product contribution evaluated at shutdown.

The user may choose a standard and a source (for the reason outlined above), or provide their own constants for the general equation:

(5)\[F_\text{Fission Products}(t, T) = \sum_i\frac{\alpha_i}{\lambda_i} e^{-\lambda_i t}\left(1 -e^{-\lambda_i T}\right)\]

Where \(\alpha_i \space [\text{MeV}/(\text{fission}/s)]\) and \(\lambda_i \space [1/s]\) are given by the standards.

class Standard(*values)[source]
ANS14 = 'ans14'
ANS73 = 'ans73'
JAERI91 = 'jaeri91'
class Source(*values)[source]
U235 = 'U235'
U235_beta = 'U235_beta'
U235_gamma = 'U235_gamma'
U238 = 'U238'
U238_gamma = 'U238_gamma'
contribution(standard, source)[source]

A DecayHeatFunction for fission products` decay, given a Standard, Source.

Parameters:
  • standard (Standard) – The decay heat standard from which the data should be taken.

  • source (Source) – Chosen source.

Returns:

Whose return value has units of MeV / fission event

Return type:

DecayHeatFunction

Examples

>>> import pytest
>>> try:
...     fp = contribution(Standard.ANS14, Source.U235)
... except FileNotFoundError:
...     pytest.skip("This doctest requires the standards which are not there")
>>> Q: MeV = 200 # Approx. total recoverable energy associated with one fission
>>> fp(t=0., T=np.inf) / Q
array([0.06728006])
>>> fp(t=1., T=0.)
array([0.])
fp_inner_(t, T, lamda, alpha)[source]

Implements (5), the decay heat stemming from fission products decays.

Parameters:
  • t (Second) – Times after shutdown

  • T (Second) – Operation time

  • lamda (PerS) – Decay rates

  • alpha (MeVPerS) – Fractional fission power contributions

Returns:

At times t after shutdown, \(F(t,T)\)

Return type:

MeVPerFission

Examples

>>> fp_inner_(
... t=0., T=np.inf, lamda=np.ones(1), alpha=np.ones(1))
array([1.])

Neutron Captures in Fission Products

Todo

Not implemented yet!

Activation

The decay of activated materials is yet another source of decay heat. For an activated material whose decay rate is \(\lambda_1\), the decay heat \(F(t, T)\) is given by

(6)\[F_{\text{Activation }}(t, T) = Q_1 e^{-\lambda_1 t}\left(1 -e^{-\lambda_1 T}\right)\]
profile(lamda)[source]
Parameters:

lamda (PerS) – Activated isotope decay rate

Returns:

Decay profile from initially activated isotope

Return type:

DecayHeatFunction

Examples

>>> f = profile(lamda_U239 := 4.91e-04)
>>> f(0, np.inf)
array([1.])
>>> f(1000, np.inf)
array([0.61201407])
>>> f(0, 0)
array([0.])

And if the resultant isotope also decays with decay rate \(\lambda_2\),(see Actinides), the solution is

(7)\[F_\text{Activation 2}(t, T) = Q_2\left[ \frac{\lambda_1}{\lambda_1 - \lambda_2}e^{-\lambda_2 t} \left(1 -e^{-\lambda_2 T}\right) - \frac{\lambda_2}{\lambda_1 - \lambda_2}e^{-\lambda_1 t} \left(1 -e^{-\lambda_1 T}\right)\right]\]
double_decay_profile(lamda1, lamda2)[source]
Parameters:
  • lamda1 (PerS) – Activated isotope decay rate

  • lamda2 (PerS) – Interim isotope decay rate

Returns:

Double decay profile from initially activated isotope

Return type:

DecayHeatFunction

Examples

>>> f = double_decay_profile(lamda_U239 := 4.91e-04, lamda_Np := 3.41e-06)
>>> f(0, np.inf)
array([1.])
>>> f(1000, np.inf)
array([0.99928541])
>>> f(0, 0)
array([0.])

The profiles provided here should be factored by the appropriate \(Q\) values, as seen in equations (6), (7). One way of doing that is by writing \(Q = E_d R\) where \(E_d \ [\text{MeV}]\) is the deposited energy per decay event, and \(R \ [1/\text{fission}]\) is the number of capture events per fission event which lead to the creation of the decaying isotope.

Actinides

The aforementioned ANS standard[1] specifically mentions the contribution of \(^{239} U\) and \(^{239} Np\) which are created and decay by the following process:

\[{}^{238} U \xrightarrow{n \text{ capture}} {}^{239} U \xrightarrow{\beta^-} {}^{239} Np \xrightarrow{\beta^-} {}^{239} Pu\]

Their contributions are given by:

(8)\[\begin{split}F_{U}(t, T) &= E_{U}R_{U}e^{-\lambda_1 t}\left(1 -e^{-\lambda_1 T}\right) \\ F_{Np}(t, T) &= E_{Np}R_{U}\left[ \frac{\lambda_1}{\lambda_1 - \lambda_2}e^{-\lambda_2 t} \left(1 -e^{-\lambda_2 T}\right) - \frac{\lambda_2}{\lambda_1 - \lambda_2}e^{-\lambda_1 t} \left(1 -e^{-\lambda_1 T}\right)\right]\end{split}\]
contribution(R)[source]

Gives a profile of the actinides contribution as described in[2] and (8).

Parameters:

R (CapturesPerFission) – Ratio of neutron captures in \(^{238}U\) to fission events at operation time.

Returns:

Actinides (U239, Np239) total contribution

Return type:

DecayHeatFunction

Examples

>>> contribution(0.005)(0, np.inf).item()
0.004325