Decaying Isotopes and Radioactive dating.

Growth, decay and the 'exponential curve'.

In the physical world many measurable quantities change at a rate that is directly proportional to how much of them you have. So a population grows faster ( in millions/yeaR) the more millions are already alive. Such situations are modelled by saying rate is proprtional to existing size, and a function called the exponenetial is the solution. Positive exponentials grow twice as fast once there are twice as many in existence.

While exponential change occurs commonly, so does linear change. Here the rate stays constant. The amount will graph against time as a straight line, whether growing or dropping. And often the rate will vary in all sorts of ways, giving weird curves of quantity against time.

Negative exponentials shrink so once only half are left, it is decaying only half as fast.

The natural language to discuss such situations is via the definition of 'rate' and 'acceleration', ie what is called 'differential calculus'. But it is not necessary to be confident with analytic calculus to model such situations on a computer- just model the direct effect of each small change over successive small steps in time. ( Calculus carries the 'small interval' down to 'infinitesimally small'.)

Popular media use 'exponential decay' to mean alnost anything that grows more than at a steady rate. They also seem to think that things which change with time will forever behave in the same way. Growth has worried people throughout history. And when people like Malthus saw how populations grew increasingly rapidly they came up with doomsayer predictions of collapses of civilisation via war, disease or starvation. Better understanding allows us to be more optimistic- humans have free will and can change existing social trends. But we can't change laws of fundamental physical nature.

Radioactive decay is a 'negative exponential contraction'. Certain atoms decay into one ( or more) lighter species in this way.

What is not immediately obvious is that it is all according to the laws of random behaviour. you can model them from their exponential mathematical equation; from teratively programming rate to be proportional to quantity- or by throwing random numbers!

There are excellent Wikipedia pages on Exponential Growth and on radioactive dating etc.

The animated graph below is captured from frames of an LB simulation of random radioactive decay. Blue atoms decay, turning into red ones. But any one atom, whenever it is chosen, has a decay constant ( or equivalent half-life) which is independent of its previous history.

A well-known application of the existence of radioactive dating has been the so-called 'carbon dating'. Cosmic radiation generates a pretty constant ratio of isotope 14C from the interaction of cosmic rays with atmospheric nitrogen 14N. But once fixed in an organic material that may be preserved- such as wood- the 14C decays with a 5730 year half life. If the fraction 14C/12C has become half of the standard atmospheric ratio we now the sample is from 14000 years BP ( before present date). This allows quite good dating to about 50000 years BP, but beyond that the ratio becomes too small for accurate measurement.

Due to solar irradiation varying the formation of 14C is not entirely costant. Research ( using tree rings, deposition layers in deep ocean silt, etc) has been ongoing since the 1960s to determine what the proportion of 14C in the atmosphere has been over the past fifty thousand years. The resulting data, in the form of a calibration curve, is now used to convert a given measurement of radiocarbon in a sample into an estimate of the sample's calendar age.

Another longer-term method of dating.

A useful method is based on the system where 234U uranium atoms decay into 230Th thorium with a half-life of 245,000 years and in turn decay with a half-life of 75,000 years into radon 226Ra. ALL isotopes of thorium are unstable, but some have very long half lives. The uranium-thorium technique does not measure accumulation of a stable end-member decay product. Instead, it calculates an age from the degree to which secular equilibrium has been restored between the radioactive isotope thorium-230 and its radioactive parent uranium-234 within a sample.

Thorium is not soluble in natural water under conditions found at or near the surface of the earth, so materials grown in or from this water do not usually contain thorium. In contrast, uranium is soluble to some extent in all natural water, so any material that precipitates or is grown from such water also contains trace uranium, typically at levels of between a few parts per billion and few parts per million by weight.

As time passes after such material has formed, uranium-234 in the sample with a half-life of 245,000 years decays to thorium-230. Thorium-230 is itself radioactive with a half-life of 75,000 years, so instead of accumulating indefinitely (as for instance is the case for the uranium–lead system), thorium-230 instead approaches secular equilibrium with its radioactive parent uranium-234. At secular equilibrium, the number of thorium-230 decays per year within a sample is equal to the number of thorium-230 produced, which also equals the number of uranium-234 decays per year in the same sample.

Related growth models

You might like to look also at my page on predator-prey modelling. Here.


Typical code for such situations.



    '   ***************************************************************************
    '   **                                                                       **
    '   **        Showing decay of radioactive atoms from blue to red            **
    '   **           tenochtitlanuk Aug 2018                                     **
    '   **           simulationOfDecayOnScreen                                   **
    '   ***************************************************************************


    nomainwin

    UpperLeftX      =  20
    UpperLeftY      =  20
    WindowWidth     =1250
    WindowHeight    = 580

    graphicbox #w.g,   10, 10, 1080, 520
    'graphicbox #w.g2, 540, 10, 660, 500

    open "Decay of blue atoms into red atoms." for window as #w

    #w    "trapclose quit"
    #w.g  "down ; fill 180 180 180"
    #w.g  "color 50 50 255 ; flush"

    #w.g  "down ; size 2 ; color black ; fill 170 170 90"
    #w.g  "up ; goto 520 30 ; down ; goto 520 481 ; goto 1040 481 ; size 4 ; flush ; color 50 50 255"


    dim atom( 100, 100)
    N =10001

    for i =0 to 99
        for j =0 to 99
            atom( i, j) =1
            if i /2 =int( i /2) then
                #w.g "set "; 11 +5 *j; " "; 11 +5 *i
            else
                #w.g "set "; 13 +5 *j; " "; 11 +5 *i
            end if
            scan
        next j
    next i

    #w.g  "flush ; color red ; down"

    notice "Proceed?" +chr$( 13) +"Click to start the decay.."

    for t =0 to 200000
        ' think of this as 200000 seconds- each iteration a particular atom may decay if not happened already
        x =int( 100 *rnd( 1))
        y =int( 100 *rnd( 1))
        #w.g "color 50 50 255 ; set "; 520 +int( t /100); " "; 480 -int( N /25)
        #w.g "color      red ; set "; 520 +int( t /100); " ";  70 +int( N /25)

        if atom( x, y) =1 then
            N =N -1

            if y /2 =int( y /2) then
                atom( x, y) =0
                #w.g "set "; 11 +5 *x; " "; 11 +5 *y
            else
                atom( x, y) =0
                #w.g "set "; 13 +5 *x; " "; 11 +5 *y
            end if

        end if

        if ( t /1000) =int( t /1000) then
            #w.g "getbmp scr 1 1 1080 520"
            bmpsave "scr", "decayG" +right$( "0000000" +str$( 200000 -N), 7) +".bmp"
        end if

        'callDLL #kernel32, "Sleep", 5 as long, ret as void

        scan
    next t

wait



sub quit h$
    close #w
    end
end sub




    '   ***************************************************************************
    '   **                                                                       **
    '   **        Showing decay chain of radioactive U238 via Th230              **
    '   **           tenochtitlanuk May 2018     decayChain.bas                  **
    '   **           ( used for dating archaeological finds)                     **
    '   ***************************************************************************


    nomainwin

    UpperLeftX      =  20
    UpperLeftY      =  20
    WindowWidth     = 930
    WindowHeight    = 620

    graphicbox #w.g, 30, 10, 790, 570

    button     #w.b1, "Re-init", reInit, LR, 70, 500
    button     #w.b2, "Hold",    hold,   LR, 60, 440

    open "Dating using decay of U238." for window as #w

    #w "trapclose quit"

    #w.g "down ; fill darkblue ; size 3 ; up"

    #w.g "color white ; goto 47 500 ; down ; goto 750 500 ; up"
    #w.g "goto 47 500 ; down ; goto 47  100"

    #w.g "backcolor darkblue ; color cyan"

    for v =0 to 4
        #w.g "up ; goto 5 "; 500 -v *100
        #w.g "down"
        #w.g "\" +right$( "   " +str$( v *100), 3)
    next v

    #w.g "color red"
    for h =0 to 8
        #w.g "up ; goto 750 "; 500 -h *50
        #w.g "down"
        #w.g "\" +right$( "   " +str$( h *50), 3)
    next h

    #w.g, "flush ; size 1"

    U238            = 400
    global Th230
    Th230           =   0

                                        '   half life = 0.693 /decay constant
    decayConstU     =  0.693 /4.5E9     '   (half life =4.5 *10^9 years)
    decayConstTh    =  0.693 /7.6E4     '   (half life =7.6 *10^4 years)

    dt              = 1E2

    dU238           =   0
    dTh230          =   0

    for t =0 to 2E6 step dt
        #w.g "color cyan ;  set "; int( 50 +t /2E6 *700); " "; 500 -int( U238)
        U238    =U238  -dU238
        Th230   =Th230 +dU238 -dTh230
        #w.g "color red   ; set "; int( 50 +t /2E6 *700); " "; 500 -int( 5E4 *Th230)
        dU238   =decayConstU  *U238  *dt
        dTh230  =decayConstTh *Th230 *dt
        #w.g "color green ; set "; int( 50 +t /2E6 *700); " "; 500 -int( 5E6 *Th230 /U238)
        scan
    next t

wait

sub quit h$
    close #w
    end
end sub

sub reInit h$
    Th230   =0
end sub

sub hold h$
    notice "Holding"
end sub