Modelling Radioactive Decay

Radioactive decay is the process by which an unstable atomic nucleus emits radiation such as an alpha particle, beta particle or gamma particle with a neutrino. This process is a good example of exponential decay.

Consider the case of NA decaying to NB, NANB. In this case decay rate is proportional to number of atoms present NA. Adding, a constant of proportionality or the decay constant, which is unique to every element, we get a general differential equation

dNAdt=λANA

In the case of element NA decaying to NB decaying to NC (stable), NANBNC,

A
B
C

the first decay is represented by the above equation however we need a new differential equation for the second decay of NBNC. Since the number of NB increases as a result of activity from NA and decreases due to its own decay into NC, we can form a differential equation as follows

dNBdt=λBNB+λANA

The creation rate of the stable NC atoms is simply the activity of NB, considering its independent decay

dNCdt=λBNB

For this model, the following values were assumed:

CommandValueDescription
thalfA1.1 hourstime for half of NA atoms to decay
thalfB9.2 hourstime for half of NB atoms to decay
NA(0)100number of atoms of NA at t=0
NB(0)0number of atoms of NB at t=0
NC(0)0number of atoms of NC at t=0
tfinal50 hourstime for full simulation

Analytical Solutions

This approach included solving the first three equations by integrating both sides to find equations for NA(t), NB(t) and NC(t). The first equation was solved to,

NA(t)=NA(0)eλAt

or, the decay constant can be represented as

λA=ln2thalfA

This formula is later used to calculate λA, λB and λC

Similarily, solving the second equation we get

NB(t)=NA(0)λAλBλA(eλAteλBt)

and solving the third we get

NC(t)=NC(0)+λBNB(0)(1eλBt)+NA(0)λBλA(λB(1eλAt)λA(1eλBt))

where values of NA(0), NB(0) and NC(0) are assumed as initial parameters and λB is calculated similarly to λA for which the values of thalf is taken from the above table.

Numerical Solutions

Here, the finite difference approach was used in computing the values for NA(t+δt), NB(t+δt) and NC(t+δt) which are essentially the values of NA(t), NB(t) and NC(t) for every time step given an initial NA(0), NB(0) , NC(0) and δt. By definition, a derivative is

dfdt=limδt0f(x+δt)f(x)δt

Applying this to the first three differential equations we get

NA(t+δt)NA(t)δt=λANA(t)

NB(t+δt)NB(t)δt=λBNB(t)+λANA(t)

NC(t+δt)NC(t)δt=λBNB(t)

re-arranging, NA(t+δt)=λANA(t)δt+NA(t) NB(t+δt)=(λBNB(t)+λANA(t))δt+NB(t) NC(t+δt)=λCNC(t)δt+NC(t) It is to be noted that three different values of δt were considered, 1 hour, 0.5 hours and 0.25 hours, and their impacts on the model were mainly in increasing the granularity (smoothness) of the different curves.

Lastly, the above equations just need to be converted into numpy arrays.

na[i] = (- lambda_list[0] * na[i-1] * t_del) + na[i-1]

nb[i] = ((-lambda_list[1]*nb[i-1]) + (lambda_list[0]*na[i-1]))*t_del 
						+ nb[i-1]

nc[i] = (lambda_list[1]*nb[i-1]*t_del) + nc[i-1]

To iteratively acheive this, these were then programmed as a function numerical which accepts lists of N(0) and λ values and δt and outputs a list whose elements are the arrays NA(t), NB(t), NC(t) and t (which contains the time values used for plotting), based on the code below. The core equations were modeled as follows between t=0 to tfinal with tfinalδt time steps. The final graph is shown below. Notice how NA decays considerably faster than NB which is in line with the half-life assumptions.

Nalin Gadihoke
Nalin Gadihoke
💻 | ⚛