Decay Engine++ is an application for investigating the radioactive decay of nuclides and nuclide mixtures. It is based on a highly efficient algorithm for the exact mathematical solution to the Bateman equations.
- Two main modes of operation: In the Time mode, the activity is calculated after a given time. In the Date mode, the activity at a known time/date is calculated at any other time/date using a calendar function and universal time.
- Source terms can be included. Given the production rate(s) of the source(s) and duration, the activity buildup for the parent(s) and daughters (during the production time) is calculated.
- A rescale feature allows the results of calculation at any time (mass, activity, etc.) to be rescaled to any other values thereby avoiding time consuming iterations.
- Data output in the form of scientific graphs and data grids has been optimized to enable immediate data re-arrangement on the client browser.
- The output activities can now be normalized to the parent or any of the daughters. This is of interest, for example, in nuclear forensics where the “age” of a material depends on these dimensionless ratios.
- For nuclides which decay by spontaneous fission, detailed information on the fission product daughters is provided.
- A decay “Tree” feature shows a detailed a decay tree of the decay processes (number of nodes, nuclides, and linear chains, etc.).
- Activity ratios are calculated. These can be used for the determination of a number of useful quantities such cooling times, initial enrichment, burnup, gamma ratio measurements.
Simple Radioactive Decay
Radioactive decay is a random process. It is not possible to predict when a particular nucleus in a sample will decay. One can, however, evaluate the probability that a nucleus will decay in a time interval. The basic relation governing radioactive decay, first identified by Rutherford, is
where the left hand side gives the rate of decay of the atoms Q in terms of the number of atoms Q and a decay "constant" k which is the probability per unit time that a nucleus will decay. The minus sign indicates that Q is decreasing with time. The solution to this equation is
where Q(0) is the number of nuclei at time t=0. From this basic relation various useful quantities such as half-life, mean life and activity or intensity of the radioactive transformation can be derived. These are described in more detail in chapter Nuclider Explorer (sections Data Sheets and Fact Sheets).
Radioactive Decay Chains
It is very often the case that the daughter product of a nuclear decay is also radioactive. In such cases one speaks of radioactive decay "chains". As an example, consider the decay chain Q1→ Q2 → Q3 →….. in which the starting or "parent" nuclide Q1 decay to the "daughter" Q2. This daughter in turn is radioactive and decay to Q3. More generally each nuclide in the decay chain Qi can "branch" to more than one daughter. In addition, there may be an external source term Sii for the production of Qi (apart from the decay of the parent).
The situation for successive radioactive decay is shown schematically in fig. 1. This general process of radioactive decay was first investigated systematically by Bateman (Proc. Camb. Phil. Soc. 16 (1910) 423. See also Skrable, K., et al., Health Physics, 27, 1974, 155-157).
Figure 1. Successive radioactive decay with branching and source terms.
The differential equation governing the above processes can be written as:
where Qn is the number of atoms of species n present at time t, kn is the decay constant (total removal constant) for species n (k = ln2/τ = 0.69315/τ), kn,n+1 is the partial decay constant (partial removal constant) and is related to the branching ratio BRn,n+1 through the relation kn,n+1 = BRn,n+1×kn. The solution to this system of equations is
Bateman solution with source terms
Bateman solution for 1 parent nuclide without source terms, Si = 0 and Qi(0) = 0 for i>1:
It is of interest to construct the first few terms i.e.
These relations allow one to update the numbers of atoms from time t=0 to time t. It is also of interest to calculate the numbers at various times in the range 0,t (for example for plotting purposes). This can be done by specifying the total time t over which the calculation is to be made, and the number of time-steps L to reach t. The time interval for each calculation is then Δt = t/L. For L = 1 (the default value used in the calculation), the numbers are evaluated at the time t. For L = 2, the numbers are evaluated at t/2, and t. For L = 3, the Qs are evaluated at t/3, 2t/3, t etc. From above, the relation to be used is then
Convergent and Divergent Branches
The solution to the differential equations given in equation (4) is valid for the various species produced in series i.e. in a chain. If branching occurs, as indicated in the figure 1, the solution (4) must be applied to all possible chains. As an example, consider the radioactive decay of Ac225. The breakdown into linear chains is shown in table 1. Equation (4) must be applied to each of these three chains. In the evaluation of the total quantities of any species, care is required not to count the same decay more than once.
Table 1. The three "linear chains" for the decay of Ac-225 showing the various paths by which the nuclide can decay.
Consider a simplified radioactive decay process involving only three nuclides, Q1, Q2, and Q3. The nuclide 1 decays into nuclide 2 which in turn decays to nuclide 3. Nuclide 1 is the parent of nuclide 2 (or nuclide 2 is the daughter of nuclide 1). From the relations given above, the number of atoms of nuclide 2 is given by
From equation (5) it can be seen that the time required to reach equilibrium depends on the half-life of both the parent and the daughter. Four cases can be distinguished:
τ1 >> τ2. The halflife of the parent is much longer than that of the daughter.
τ1 > τ2. The halflife of the parent is longer than that of the daughter.
τ1 < τ2. The halflife of the parent is shorter than that of the daughter.
τ1 ≈ τ2. The halflifes of the parent and daughter are similar.
These will be discussed in more detail in the following sections.
(τ1>>τ2): Secular Equilibrium:
In secular equilibrium, the half-life of the parent is much longer than that of the daughter i.e. τ1 >>τ2 (k1 <<k2). In this case equation (5) reduces to
(6) Q2 = (k1/k2)Q1(0)(1-e-k2t)
For times t >>τ1, radioactive equilibrium is established and the following relation holds
Secular Equilibrium: Q2/Q1 = k1/k2 = τ2 /τ1, and A1 =A2
where A is the activity defined by k×Q. Hence in radioactive equilibrium the ratio of the numbers, and the masses are constant whereas the activities are equal.
(τ1>τ2) : Transient Equilibrium
In transient equilibrium the half-life of the daughter is of the same order but smaller than that of the parent i.e.τ1 > τ2 (k1 < k2). The general equation for the daughter is from equation (5)
(7) Q2 = (τ2/(τ2-τ1))Q1(0)(e-k1t - e-k2t)
As an example, consider the decay of Ba140 as shown in fig 2. For times t << τ1 (12.75d), the first exponential term is very close to 1 and A2 increases according to (1-e1-kt) (rising part of activity of La-140 in fig. 2). For times t >> τ2 (1.68d), the second exponential becomes smaller than the first one with A2 decreasing according to e-kt (see fig. 2). For this decreasing part of the curve, one obtains
Transient Equilibrium: Q2 = (τ2/(τ2-τ1))Q1
where the relation Q1 = Q1(0) e-k·t has been used. This is the condition for transient equilibrium.
Half-lives of Ba140 and daughters.
(τ1 < τ2): The Half-life of the Parent is Shorter than that of the Daughter
When the parent has a shorter half-life that that of the daughter, the daughter activity grows to some maximum and then decays with its own characteristic half-life. An example is shown in fig. 3 for Po-218.
(τ1 ≈ τ2): The Half-lives of the Parent and Daughter are Similar
As the half-lives of the parent and daughter become more equal, the attainment of equilibrium becomes more delayed. An example of this is shown in fig. 4 for the decay of I-135.
The time required for the maximum daughter activity is tmax = (k2-k1)-1×ln(k2/k1). As can be seen from fig. 4, this occurs around 11 hours.
To make a decay calculation within Nucleonica, the user must first select the Decay Engine++ from the Application Centre on the main page. Thereafter, the nuclide of interest can be selected using the drop down menus. Alternatively, the nuclide can be selected from the nuclide chart, and then with the right mouse button, the Decay Engine can be selected.
Input User Interface
The resulting Decay Engine++ input interface is shown in the figure for Am-241. The user can either accept the default input values shown or enter input into the boxes. In the main Decay Engine tab, a number of default input parameters are shown. These are described in more detail in the following sections.
Starting quantity / Unit
The default activity is 1 MBq and, by default, the activity is plotted in the graph.
The source strength is set by specifying first the unit i.e. becquerel, curie, gram, number of atoms, mole, and then the quantity. The quantity should be entered in scientific notation in the form 1, 10, 1e2 1e-6 etc. The default value is 1 MBq.
For decay calculations using sources, the source strength can be selected from the Unit drop-down menu (becquerel/s, curie/s, gram/s, number/s, mole/s) (see Example).
Decay time and Time Unit
The default time shown with units corresponds to 10 half-lives of the selected nuclide. It is assumed that at time t = 0, only a single radioactive parent nuclide is present. Such a situation can arise for example after chemical separation of a parent nuclide from its daughter(s). The number entered in the input box is the time at which the decay is evaluated with reference to t=0. The default time is ten half-lives of the parent nuclide. After this time the parent nuclide has almost entirely decayed to its daughter(s).
For graphical output, either a linear or logarithmic time axis can be selected. By default, the time axis is logarithmic - the gives a better overview of the full decay calculations. In the Date mode, the time axis is linear by default.
An initial timestep is calculated automatically, depending on the half-life of the nuclide of interest. This default value can be manually overwritten.
CPU time / total time(s)
The CPU time for the calculation on the webserver is shown. Also given is the total browser to browser time for the decay calculation.
Start / Reset
On pressing the Start button, the input data is posted to the web-server where the decay calculations are made. Thereafter, the output data is returned to the user computer.
The Reset button can be used to clear the input data used in the calculation.
If the default values shown in the input interface are accepted, pressing the Start button will lead to the results shown in the figure below.
The results show the final total activity in red. The details in the output grid show the parent and all the daughter of Po-218 in the third column. In the following columns, the half-lives, decay modes, number of atoms, masses, activities, and activity ratios of the parent and all daughters are given. The total values in each case are also given in the final grid row. The choice of which properties to show in the Results grid can be set by the user in the Options tab (discussed later in this section).
At the bottom of the Results table, the user has the possibility to download the table results to an Excel file or to a comma separated value (CSV) file. In this latter case (CSV) the user needs additionally to select the character separator.
The Rescale tool is a very simple yet powerful feature in the Decay Engine. Very often the user knows the activity (e.g. total activity) desired after a certain time. The Rescale tool allows the input activity in the calculation to be rescaled such that this value is obtained after the selected decay time. Without this tool, a number of iterations would be necessary to obtain the desired result. For a detailed description on how to use the Rescale feature see F-18 Example. To use the tool, copy any value from the table or the graph into the 'Rescale from' box. This value can then be rescaled to any other value (given in the 'Rescale to' box) by starting the calculation again.
Example The radionuclide F-18 is used in positron emission tomography (PET) in hospitals. The radionuclide is created in an accelerator which is located approximately 100 km from the hospital where it will be used. The journey time is approximately 2 hours for the transport. How much F-18 needs to be produced such that upon arrival at the hospital the total activity is 300 MBq?
With the decay engine, select F-18. The default activity is 1 MBq. Based on the transport time, the decay time is set to 2 h. The resulting activity after two hours is 469 kBq. So starting with 1 MBq, the activity remaining after two hours is 469 kBq. We now wish to rescale these results. Instead of 469 kBq we would like to have 300 MBq after the two hour period.
Through the use of the rescale tool this is straightforward. We rescale from 469 kBq to 300 MBq. On pressing the Start button, all results are rescaled such that after 2 hours there are 300 MBq F-18 remaining. It can then be see that the Starting quantity should be 640 kBq.
Using Activity Ratios
For more information see Using activity ratios
A graph of the decay of Po-218 is shown below. The default graph is logarithmic which gives a better overall display of the decay processes. It is straightforward to change to linear axes. The default number of timesteps calculated is 40 (this is also the maximum number and can be set in the Options tab). Various additional buttons allow the user to Unselect all nuclides, Select all nuclides, and Select the top nuclides. This latter button results in a plot of the six most important nuclides (activities, number of atoms, etc.).
The graphical output contains a crosshair cursor and table. This cursor can be moved using the mouse and leads to an easier reading of the values on the curves. Fine tuning of the cursor position can be made using the arrow buttons shown. For any given time value, the crosshair table below the graph lists the exact values for all nuclides shown on the graph. Both the crosshair cursor and the crosshair table can be switched on and off in the graph settings. The image can also be downloaded in various formats.
Type of Graph
Directly above the graph plot, the user can select the quantity to be plotted. By default the activity is plotted.
Show graph settings
Below the graph, the Show graph settings checkbox allows the user to select the type of graph to be plotted plus a variety of additional settings. Both logarithmic and linear plots are available. In addition the region of interest can be specified for both x and y axes.
Decay Engine++ with Source Terms
It is now possible to use source terms in Nucleonica’s Decay Engine++. Given the production rate(s) of the source(s) and duration in time, the activity buildup for the parent(s) and daughters (during the production time) is calculated using the Bateman equations with source term(s). At the end of the production time, the source term is switched off and the nuclides decay as described by the Bateman equations with no source(s).
As an example, consider the production of Rn212 at ISOLDE in CERN using 4 hours of beamtime. The produced Rn212 will decay to Po208 which has the potential to contaminate the accelerator. The diagrams below show the input used and the buildup of Rn212 and Po208 during the 4h production period. Thereafter, the Rn212 (halflife 24 m) decays leaving the longer-lived Po208 (half-life 2.9 y) in the system.
The Decay Engine++ can also be used in the case of multiple sources. In a first step a nuclide mixture is created containing the quantities of the source components (in Bq, Ci, mole, etc.). Thereafter the Decay Engine++ is used for the mixture. When the “source rate” units are selected (e.g. Bq/s, Ci/s, mole/s etc.), the source terms are interpreted as source rates.
During the development of the Bateman solution for constant source terms we were confronted with numerical instabilities principally for short production and decay times typically used in practical applications. To overcome these issues, a multiple precision mathematic library was introduced into Nucleonica giving the user the opportunity to select the precision of the Decay Engine++ calculations to avoid such numerical instabilities. The mathematical precision of the calculations can be set in the Options/Calculation details under Math precision i.e. 16 (default), 10, 20, 30, 40, ... decimals.
As mentioned in the previous section, the choice of which properties to show in the Results grid can also be set by the user from the Options tab shown below.
Mode of operation
There are two modes of operation of the Decay Engine:
1. Time mode: this has already been described above. For an initial activity of a given nuclide or mixture, the final activity is calculated after a decay time.
2. Date mode: if an activity is known at some time (date), then the activity can be calculated at any other time (date). The Date mode uses universal time (see link for further details).
In this date mode, the user can enter a date (e.g. when the sample was taken). The calculation result then shows the activity at any later time (date). This is useful for the calculations of standards.
See the blog article on Date calculator.
Example: Consider a standard of Pb-210 from 1.9.1987. What is the activity of this standard today. In the input one enters the activity and date of certificate. The results give the activity today and the precise time elapsed.
The table Calculation details in the Options tab shows various quantities used in the calculation:
Number of timesteps: for the purpose of plotting a graph, a number of timesteps is required. Currently the default and maximum number of timesteps is 40. The input box is used to set the number of intermediate times at which the decay is evaluated between t=0 and t (t is the value in the "Decay Time" box).
This input box is used to set the accuracy of the calculation. As explained in section Convergent and Divergent Branches, a parent nuclide may decay to different daughter nuclides depending on the branching ratios. The importance of each of these pathways in the decay process can be evaluated by the product of the branching ratios. If there is only one decay pathway, i.e. no branching, the product of all branching ratios is 1. If there is a pathway with a small branching ratio, then this will result in a branching ratio product determined by this low branching ratio. The input box Accuracy Factor sets the minimum product of branching ratios which are accounted for in the calculation. To evaluate all possible paths, the Accuracy Factor should be set to zero. The number of pathways or "Chains" accounted for in the calculation is given in the Number of linear chains box (see below).
Number of linear chains: The linear decay chains are shown in the Decay Tree tab. In this tab all the individual decay chains can be seen together with the numbers obtained by using equation (2). The importance of a decay chain is determined by the product of the branching ratios. If the branching ratios were all 1, there would only be one chain and the Accuracy Factor = 1.0. If a particular branching ratio in a decay chain is small e.g. 1E-8, and all other branching ratios were 1, then the product would be 1E-8. This implies that this particular decay chain is relatively less important. One must be careful in neglecting such chains, however, since the concentration or mass of the relevant nuclide may be small but may have a very high activity and for example gamma emission rate. An example is the decay of U232.
If only the main chain were considered (i.e. the chain with the highest product of branching ratios) one would miss the daughter Tl208 which is a powerful gamma emitter.
Ideally, one would like to evaluate all the decay chains for a particular parent nuclide. The problem is, however, that some heavy nuclides have a large number of decay chains - U-238 has for example 52 separate decay chains! To apply equation (2) to all these chains would impose a considerable burden on the web server. Fortunately, in most cases of interest, this is not necessary. It is sufficient to restrict the number of chains to only a few. The parameter used to restrict the number of chains to be evaluated is the product of the branching ratios "Accuracy Factor" for the particular chain. The minimum value can be set in the Options tab. The default value is 1E-2. When the Start button is pressed, the branching ratios of all decay chains are evaluated and compared to this value. If the product of the branching ratios is less than the Accuracy Factor, the chain is rejected as being unimportant. If greater, the chain is stored for further evaluations. The number of chains stored - Number of linear chains -, i.e. with the product of the branching ratios ≥ Accuracy factor, is given in the Options tab.
If the Accuracy factor is set to 0, all chains are evaluated but as stated above, this may take some time.
Significant figures: The number of significant figures shown in Results Grid in the main tab can be changed by the user.
Math precision: During the development of the Bateman solution for constant source terms numerical instabilities were encountered principally for short production and decay times typically used in practical applications. To overcome these issues, a multiple precision mathematic library was introduced into Nucleonica giving the user the opportunity to select the precision of the Decay Engine++ calculations to avoid such numerical instabilities. The mathematical precision of the calculations can be set in the Options/Calculation details under Math precision i.e. 16 (default), 10, 20, 30, 40, ... decimals.
Results grid output selector
The results shown in the Results Grid can be specified in this output selector in the Options tab. Four main colour coded categories of output are shown: General, Quantities, Handling, and Disintegrations.
The Decay Tree feature in Nucleonica's Decay Engine++ allows users to see and investigate all possible linear decay chains resulting from the decay of a radioactive nuclide or nuclide mixture. This feature is very useful when the decay process is relatively complex. It is particularly useful when fission products, resulting from spontaneous fission, are involved in the decay.
The Decay Tree information contains the following main features:
- The summary information shows the number of nodes, number of nuclides, and the number of linear chains. considered in the decay calculation. This is described in more detail below.
- A particular daughter of interest (e.g. Cs-137 resulting from spontaneous fission) can be selected from the "Highlight a nuclide" drop-down menu. Of course any other daughter product can be selected from this menu.
- Additional information can be shown by clicking the radio buttons "Show expanded nodes", "Show all".
Single Parent Decay Tree
The figure below shows the Decay Tree tab for the decay of the parent Cs-137. The first line of text gives summary information on the number of nodes, nuclides and decay chains. For Cs-137 there are 4 nodes shown in the decay tree (adjacent to the - sign) at Cs137, Ba137m, Ba137, and again at Ba137. There are 3 nuclides involved in the decay of the parent i.e. Cs137, Ba137m, and Ba137. And finally there are in total 2 (linear) decay chains.
Below the first text line there is information on the "Depth" and the "Accuracy factor". The Depth range covers the minimum and maximum number of nuclides in a linear chain. In the case of Cs137, the minimum number of nuclides in a decay chain is 2 (i.e. Cs.137 and Ba137) and the maximum number is 3 (i.e. Cs137, Ba137m, Ba137). The accuracy factor in the decay calculation is 0.001.
Adjacent to the Depth and Accuracy factor, there are three check boxes:
- Show selected nuclide chains: This will show all decay chains which contain the nuclide selected in the "Highlight a nuclide" drop-down menu. If no nuclide is selected, all decay chains are shown.
- Show Expanded nodes: Shows all nodes expanded. In this mode, the can be collapsed and expanded.
- Show all: Recover the the all nodes expanded
In a second example, the decay tree of U-232 is shown in the figure below. Here the summary information shown the number of nodes (11), nuclides (11) and linear decay chains (2). The maximum and minimum depth of the decay chain is 9 corresponding to the 9 nine nuclides in the chain. Note also that at Po212 there is a branching into Pb208 and Tl208 and this results in 2 linear chains as shown.
Nuclide Mixtures: Natural Uranium
The example below shows the decay tree for the nuclide mixture Natural Uranium (containing U238, U235, U234). Here some of the modes have been collapsed better visibility and to shown clearly the three isotope components in the mixture. The summary information for the decay of this moxture shows 62 nodes, 31 nuclides and 6 decay chains. The "depth" of the chains in this case varies from 12 to 16.
Fission Products: Cf254
The example below shows the decay tree for the decay of Cf254 showing fission products. The summary information for the decay of this moxture shows 800 nodes, 323 nuclides and 212 decay chains. The "depth" of the chains in this case varies from 2 to 8.
In the figure below, only decay chains containing Cs137 are highlighted. It is of interest, for example, to see where the fission product Cs137 comes from (from which parents / chains). In this case, the nuclide Cs137 is selected from the drop-down menu adjacent to the radio buttons. Here it can be see that the Cs137 occurs as a direct fission product from Cf254 or indirectly from the decay of the fission products Xe137 and I137.
If a mixture is used in the decay calculations, then the mixture composition is shown in the Mixture details tab. The example below shows the composition of the mixture Natural Uranium. Clicking on the "Edit this Mixture" link will lead to the Nuclide Mixture application where the mixture can be edited, updated and saved.
"Negative" decay times
Can the Decay Engine++ handle negative decay times?
Using the Date mode in the DE++, if a historical activity is known, then the activity at any later time can be calculated (e.g. if the activity on January 1st was 3 kBq, what is the activity now?). But what about the question: if the activity now is 1.73kBq, what was it 23 months ago?
The Decay Engine++ can only handle positive time values. If a negative time is used, an error message will appear “The decay time should be a positive number”. However, it is very easy to investigate “negative” times by using the rescale feature.
Consider the following example: a Gd-148 source has an activity now of 1.73 kBq. What was the activity 23 months ago?
1. In the Decay Engine++ select the nuclide Gd-148. Use the default activity of 1e6 Bq and set the decay time to 23 months (if larger decay times are used the results after 23 months can be obtained using the slider control in the Graph). The calculation results show that the activity drops from 1e6 Bq to 9.82e5 Bq after 23 months.
2. Use the rescale tool, to rescale the end activity from 9.82e5 Bq to the activity now 1.73e5 Bq (see graphic below).
3. Rescale by pressing the Start button. Both in the table and in the graph, it can be seen that the activity 23 months ago was 1.76e3 Bq. It should be noted that this procedure only works for the parent nuclide.
R. Dreher, Modified Bateman solution for identical eigenvalues, Annals of Nuclear Energy 53, pp. 427 – 438, (2013)