Skip to article frontmatterSkip to article content

Goal

In the first part of this experiment you will determine the half-life of the naturally occurring radioactive atomic species 40K^{40}\mathrm{K}, an isotope of the element potassium. You will do this by establishing of the activity and the number of radioactive nuclei of 40K^{40}\mathrm{K} samples. In the second part you will establish a histogram of the number of measured decay processes and you will fit a Poisson probability function to the histogram. The fit will also yield a value of the half-life of 40K^{40}\mathrm{K}, which should be compared with the value resulting from the first part. The question is which method yields the best result and whether there is a trade-off.

Introduction

The natural background of ionizing radiation

Although not generally known, everyone is exposed to ionizing radiation of natural origin. This radiation originates from both cosmic and terrestrial sources. Terrestrial radiation arises from several kinds of radioactive substances. Some of these substances are present because of human activity (nuclear tests, nuclear power plants). A substantial part of these substances, however, occurs naturally and comprises radioactive nuclides with a long lifetime. This category includes uranium isotopes and the radioactive decay products of these isotopes, including the noble gas radon. The natural composition of potassium also includes and isotope with a very long lifetime: 40K^{40}\mathrm{K}.

This potassium isotope dominantly decays to 40Ca^{40}\mathrm{Ca} by emission of an electron, so-called β\beta^{-}-decay. Further processes are β+\beta^{+}-decay (emission of a positron, i.e. a positively charged electron) or capture of an electron from an electron shell close to the nucleus (electron capture, EC). In these cases the decay product is 40Ar^{40}\mathrm{Ar}. A decay scheme of 40K^{40}\mathrm{K} is given in Figure 1 U.S. Department of Health, Education, and Welfare (1970).

The lifetime of 40K^{40}\mathrm{K} must be of the same order of magnitude as that of the lifetime of the Earth. Otherwise, the 40K^{40}\mathrm{K} formed in creation of the Earth would have disappeared already by radioactive decay.

Decay scheme of ^{40}\mathrm{K}. Vertical lines correspond to emission of gamma radiation. EC: electron capture.

Figure 1:Decay scheme of 40K^{40}\mathrm{K}. Vertical lines correspond to emission of gamma radiation. EC: electron capture.

Equivalent dose from background radiation

In expressing the potential risks due to radiation the equivalent dose is often used. This is the radiation load due to ionizing radiation. The equivalent dose is the absorbed dose (absorbed energy per kg material) multiplied by a factor representing the biological effectiveness of the radiation. The SI unit of equivalent dose is the Sievert (Sv\mathrm{Sv}).

In the Netherlands, the equivalent dose resulting from natural sources is roughly 2mSv2 \mathrm{mSv} per year of which roughly 10% is due to the decay of 40K^{40}\mathrm{K}. In comparison, having an X-ray in a hospital also gives an equivalent dose of several tenths of mSv. A skiing holiday or a transatlantic flight, since one is higher up in the atmosphere, give equivalent doses of one hundredth to one tenth of a mSv\mathrm{mSv}.

Theory of the radioactive decay

Average behaviour

Suppose we have a number of N(t)N(t) nuclei of a radioactive nuclide at time tt. It is reasonable to assume that the number of nuclei that decays (ΔN\Delta N) on average in a time span Δt\Delta t is both proportional to N(t)N(t) and Δt\Delta t:

ΔN=λN(t)Δt\Delta N =-\lambda N(t)\Delta t

Here, the proportionality factor λ\lambda is called the decay constant. Equation (1) is in fact a differential equation for N(t)N(t). Its solution,the law of radioactive decay, is an exponentially decaying function in time:

N(t)=N(0)eλtN(t) = N(0) e^{-\lambda t}

The inverse of λ\lambda, i.e. τ=1λ\tau = \frac{1}{\lambda}, is called the average lifetime of the nuclide. This is the time it takes for the number of parent nuclei to decrease to 1/e of its initial value. Additionally, the half-life t1/2t_{1/2} is often used. This is the time it takes for half the original nuclei to decay. By substituting in Eq. (2) the value 12N(0)\frac{1}{2}N(0) for N(t)N(t), it easily follows that

t1/2=ln(2)λ=τln(2)t_{1/2} = \frac{\ln(2)}{\lambda} = \tau \ln(2)

The decay constant (and hence the average lifetime and the half-life) is a characteristic of a radioactive nuclide, for example 40K^{40}\mathrm{K}. The activity of a radioactive source is the number of nuclei that decay per unit of time:

A(t)=dN(t)dt=λN(0)eλtA(t)=\left|\frac{d N(t)}{d t}\right|=\lambda N(0) e^{-\lambda t}

The activity also decays exponentially in time, again with constant τ=1λ\tau = \frac{1}{\lambda}. The activity has the dimension t1t^{-1} and thus can be expressed in s1\mathrm{s^{-1}}. However, there is a distinct SI-unit for activity of a radioactive source, the becquerel (Bq\mathrm{Bq}). In this context, we note that a count rate should be expressed in the unit in s1\mathrm{s^{-1}} or a similar unit (e.g. minutes1\mathrm{minutes^{-1}}). A count rate only becomes an activity with unit Bq\mathrm{Bq} after correction for a number of effects, such as background radiation and the efficiency of the setup.

Statistics of the decay

Equation (2) describes the average behaviour of radioactive decay. On a short time scale, however, the decay has a random character. The number of decay processes taking place in a time interval Δ\Deltat varies in time and shows a statistical behaviour around the mean μ\mu. The statistical probability that k nuclei of the N(t)N(t) nuclei present in the sample decay in the time interval Δt\Delta t is given by the Poisson probability distribution Pμ(k)P_{\mu}(k):

Pμ(k)=μkk!eμP_{\mu}(k)=\frac{\mu^{k}}{k !} e^{-\mu}

The parameter μ\mu is the mean number of decay processes in a time interval Δt\Delta t. The value of μ\mu can be calculated from the values of k measured for a very large number of in-dependent time intervals Δt\Delta t (of equal size). The function k! (pronounce: k faculty) is the factorial function given by k!=1×2×3×...×kk! = 1\times2\times3\times...\times k (with 0!=1).

Poisson probability distribution for \mu=3, plotted together with the histogram to which the distribution has been fitted. The probability distribution is asymmetric. The curve has been plotted as a continuous curve, but in reality the distribution only holds for integer values of k.

Figure 2:Poisson probability distribution for μ=3\mu=3, plotted together with the histogram to which the distribution has been fitted. The probability distribution is asymmetric. The curve has been plotted as a continuous curve, but in reality the distribution only holds for integer values of k.

Although Eq. (5) gives a relatively simple function, it is difficult to remember how μ\mu and k are placed in the expression (Advice: keep on paying attention to this!). From Eq. (5) it follows that the Poisson probability distribution is determined by only a single parameter μ\mu, the mean of the distribution. Figure 2 shows the plot of a Poisson distribution for μ=3\mu=3. It can be noticed immediately that the Poisson distribution is not symmetric, a property most easily seen for μ5\mu\leq 5.

An expression for μ\mu based on the average behaviour of the radioactive decay can be obtained by multiplying the average decrease of the number of radioactive nuclei per unit of time [i.e. the activity, Eq. (4)] with the time interval Δt\Delta t:

μ=dN(t)dtΔt=λN(0)eλtΔt=λN(t)Δt=ln2t1/2NΔt\mu=\left|\frac{d N(t)}{d t}\right| \Delta t=\lambda N(0) e^{-\lambda t} \Delta t=\lambda N(t) \Delta t=\frac{\ln 2} {t_{1/2}}N \Delta t

Omitting the time dependence of N in the last part of this equation indicates that the number of radioactive nuclei only decreases negligibly in the time interval Δt\Delta t. (N.b.: usually, the notation for a time interval is Δt\Delta t; generally, t denotes a point in time.)

Typically, in measuring radioactive decay, a counting experiment is performed. In such an experiment the number of decay processes in the time interval Δt\Delta t is counted by detection of the decay products. By repeating the counting many times and making a histogram of the count totals in the time intervals Δt\Delta t, a distribution is obtained. This distribution will confirm the Poisson distribution. Apart from the mean, the standard deviation σ\sigma is an important characteristic of the Poisson distribution. In particular, σ\sigma determines the width of the distribution. From the definition of the standard deviation and Eq. (5), one can derive:

σ=μ\sigma=\sqrt{\mu}

Thus, the parameter μ\mu is not only the mean of the distribution, but also determines its standard deviation. Equation (7) is often generalised to the square root rule for an individual counting experiment (not limited to radioactive decay; for example the number of babies born per month in a hospital): the uncertainty in a counting experiment with a count total of k is k\sqrt{k}. The fractional uncertainty then is

u(k)k=kk=1k,\frac{u(k)}{k}=\frac{\sqrt{k}}{k}=\frac{1}{\sqrt{k}},

implying it pays off to score a higher count total, for instance by using a source of higher activity or by measuring during a longer time period.

We now address two more topics about the Poisson distribution: the normalisation of the distribution and the calculation of the mean using Eq. (5).

Normalisation: For a probability distribution the sum of all probabilities equals unity. This applies to the Poison distribution as well:

k=0Pμ(k)=1.\sum_{k=0}^{\infty} P_{\mu}(k)=1.

The correctness of Eq. (9) immediately follows from the Taylor series expansion of eμ:eμ=k=0μkk!e^{\mu}: e^{\mu}=\sum_{k=0}^{\infty} \frac{\mu^{k}}{k!}

Calculation of the mean: the property that μ\mu is the mean number of decay processes can be proven by summing over all possible value of k, each multiplied by the probability of its occurrence:

kˉ=k=0kPμ(k)=k=0kμkk!eμ=μeμk=1μk1(k1)!=μ\bar{k}=\sum_{k=0}^{\infty} k P_{\mu}(k)=\sum_{k=0}^{\infty} k \frac{\mu^{k}}{k !} e^{-\mu}=\mu e^{-\mu} \sum_{k=1}^{\infty} \frac{\mu^{k-1}}{(k-1) !}=\mu

The Poisson distribution typically holds for a probability experiment with a very large population and a small probability of success. Here, success means that a nucleus decays; kk in Eq. (5) counts the number of successes. For radioactive decay the population is the very large number of radioactive nuclei (here: N1018N\sim 10^{18}), while the probability of success is given by the small number w=Δtτw=\frac{\Delta t}{\tau} (here: w1016w\sim 10^{-16}). In the terminology of statistics, each individual counting experiment during a time period Δt\Delta t can be seen as NN attempts (since there are NN nuclei). In each counting experiment, the count is made how many of NN attempts lead to success.

In the limit of very large μ\mu, the asymmetric Poisson distribution turns into the symmetric normal distribution, which in general is determined by two independent parameters (the mean and the standard deviation). For rare and random decay processes, however, only the parameter μ\mu of the original Poisson distribution determines the resulting normal distribution (again with: mean = μ\mu and standard deviation = μ\sqrt{\mu} ).

Determination of the Half-Life of 40K^{40}K

From the preceding chapter it follows that the half-life of a nuclide can be determined by measuring the activity as a function of time. One could measure the count rate and, if needed, correct it for background radiation. The corrected count rate is proportional to the activity. If the corrected count rate is plotted on a logarithmic scale versus time, then within the measurement uncertainty a straight line results with a slope λ-\lambda, from which τ\tau can be calculated using Eq. (3).

However, a sample containing 40K^{40}\mathrm{K} is not expected to show a decrease of activity during any realistic measurement time, given the half-life of billions of years. Therefore, our first method to obtain the half-life is based on Eq. (4), by determining A(0)A(0) and N(0)N(0). Indeed, according to Eq. (4) we have

λ=A(0)N(0)\lambda=\frac{A(0)}{N(0)}

And from Eq. (3) it follows

t1/2=N(0)A(0)ln2t_{1/2}=\frac{N(0)}{A(0)} \ln 2

The other way of determining τ\tau is by experimentally obtaining the histogram of count totals, each total measured during the time interval Δt\Delta t. By fitting a Poisson distribution to the histogram the mean μ\mu is obtained, which via Eq. (6) leads to τ\tau.

Determining the number of 40K^{40}K nuclei in one gram of KCl

The quantities N(0)N(0) and A(0)A(0) in the equation for the half-life relate to the same number of 40K^{40}\mathrm{K} nuclei. This situation can be realized by reducing measurement results from different samples to the mass of one gram of KCl\mathrm{KCl}. When we redefine N(0)N(0) as the number of 40K^{40}\mathrm{K} nuclei in one gram of KCl\mathrm{KCl}, then N(0)N(0) can be expressed in pp, NAN_{A} and MM. pp is the fraction of the presence (abundance) of the isotope 40K^{40}\mathrm{K} in the natural isotope mixture, NAN_{A} is the Avogadro constant, MM is the molar mass of KCl\mathrm{KCl}. The values of pp, NAN_{A} and MM can be looked up in a data compendium, for example James & Lord (1992).

Determining the activity of one gram of KCl

To determine the activity of one gram of KCl\mathrm{KCl}, we use the setup depicted in Figure 3. The heart of the setup is a Geiger-Muller (GM) detector, applied in this experiment to detect electrons.

Geiger-Muller counting setup for determining the half-live of ^{40}\mathrm{K}.  Sample holders are available to accommodate different thicknesses of KCl powder. The holder should be placed in the uppermost slot.

Figure 3:Geiger-Muller counting setup for determining the half-live of 40K^{40}\mathrm{K}. Sample holders are available to accommodate different thicknesses of KCl powder. The holder should be placed in the uppermost slot.

Typically, the number of detections induced by the KCl\mathrm{KCl} sample is counted during a certain time period, using a counter/timer. The count rate R is obtained by dividing the count total NcountN_{count} by the measurement time Δt:R=Ncount/Δt\Delta t: R = N_{count}/\Delta t. Since the count rate is not equal to the activity, it is therefore expressed in s1\mathrm{s^{-1}} and not in Bq\mathrm{Bq}. The count rate is recalculated into the activity by making several corrections. The discussion below is limited to those corrections that give a significant contribution.

1. Background radiation

The count rate RR should be corrected for the background radiation. To determine the background, a count is made without the sample in place. The count is taken over a time period as long as reasonably possible, to minimize the relative uncertainty of the correction. The resulting count rate RcorrR_{corr} corrected for the background then is

Rcorr=NcountΔtNbΔtb,R_{\mathrm{corr}}=\frac{N_{\mathrm{count}}}{\Delta t}-\frac{N_{\mathrm{b}}}{\Delta t_{\mathrm{b}}},

where NbN_b is the count total for the background and Δtb\Delta t_b the duration of background counting. From RcorrR_{corr} the count rate per gram is given by

rcorr=Rcorrmr_{\mathrm{corr}}=\frac{R_{corr}}{m}

with MM the mass of the sample in grams.

2. Efficiency

Since not each decay induces a detection, further correction of the count rate is needed. The ratio of the count rate to the activity is called the efficiency. The total efficiency is determined by three factors: (a) the self-absorption in the source, (b) the β\beta-efficiency of the GM detector and (c) the geometric efficiency of the setup.

a. Self-absorption.

With increasing sample thickness, more decay products will be absorbed in the source itself and will thus not reach the detector. This effect of self-absorption can be corrected for by measuring the rate rcorrr_{corr} as a function of sample thickness dd and by extrapolating the results to zero thickness. To enable this, sample holders are available to accommodate different thicknesses of KCl\mathrm{KCl} powder. The extrapolation including uncertainty analysis is performed in Python, using a least squares fit of a polynomial to the data points and taking into account the error bars of the points. When using a polynomial, the following relation between rcorrr_{corr} and dd is assumed to hold:

rcorr(d)=a0+a1d+a2d2+r_{\mathrm{corr}}(d)=a_{0}+a_{1} d+a_{2} d^{2}+\ldots

The least squares fit yields the coefficients a0,a1,a2,...a_0, a_1, a_2, ... of the polynomial. Extrapolation to zero thickness implies setting d=0d = 0 in the fitted polynomial, thus obtaining rcorr,0=rcorr(0)=a0r_{corr,0} = r_{corr}(0) = a_0. Thus, rcorr,0r_{corr,0} is the self-absorption corrected count rate of 1 gram of KCl\mathrm{KCl}, obtained via determining the count rate per gram as a function of sample thickness including correction for the background. In the symbol rcorr,0r_{corr,0} the index “corr” denotes correction for the background, while the index “0” denotes extrapolation to zero sample thickness.

b. The β\beta-efficiency: ϵ\epsilon

This is the ratio of the number of detected β\beta-particles to the number of β\beta-particles reaching the GM-tube. The value of ϵ\epsilon is given in the data sheet of the setup.

c. Geometric efficiency: G

This is the ratio of the number of electrons reaching the detector to the number of electrons that are emitted by the source. Since electron emission from the source is omnidirectional and the detector does not completely enclose the source, only a fraction of the electrons will reach the detector. This geometric efficiency relates to the solid angle under which the detector “sees” the source (solid angle is the three-dimensional equivalent of angle in the plane). For a point source the solid angle can be easily calculated. In our case, however, the source is not a point source, resulting in a rather complex expression for G:

G=0.5×[11(1+β)1/2γ38β(1+β)5/2γ2(516β(1+β)7/2+3564β2(1+β9/2))]G=0.5 \times\left[1-\frac{1}{(1+\beta)^{1 / 2}}-\gamma \frac{3}{8} \frac{\beta}{(1+\beta)^{5 / 2}}-\gamma^{2}\left(-\frac{5}{16} \frac{\beta}{(1+\beta)^{7 / 2}}+\frac{35}{64} \frac{\beta^{2}}{\left(1+\beta^{9 / 2}\right)}\right)-\ldots\right]

Here β=(Rd/s)2\beta=\left(R_{\mathrm{d}} / s\right)^{2} and γ=(Rs/s)2\gamma=\left(R_{\mathrm{s}} / s\right)^{2}, with s the distance between the source and the detector window, RdR_d the radius of the circular and flat detector window and RsR_s the radius of the circular and flat source (see Figure 4).

You can verify that:

s=6.7mm,u(s)=0.1mm(highest position),Rd=14.5mm,u(Rd)=0.3mmRs=15.00mm,u(Rs)=0.05mm\begin{array}{ll}{s=6.7 \mathrm{mm},} & {u(s)=0.1 \mathrm{mm} \text {(highest position)},} \newline {R_{\mathrm{d}}=14.5 \mathrm{mm},} & {u\left(R_{\mathrm{d}}\right)=0.3 \mathrm{mm}} \newline {R_{\mathrm{s}}=15.00 \mathrm{mm},} & {u\left(\mathrm{R}_{\mathrm{s}}\right)=0.05 \mathrm{mm}}\end{array}

Equation (16) is rather complex, making the complete uncertainty analysis for the efficiency GG rather involved. Therefore, the value of GG and the corresponding uncertainty are given here: G=0.215G=0.215, with u(G)=0.006u(G)=0.006.

Geometry of the source and detector, with indication of relevant dimensions.

Figure 4:Geometry of the source and detector, with indication of relevant dimensions.

3. Fraction of β\beta^--decay

The last correction to be discussed relates to the property of the GM detector of only detecting the β\beta^{-}-decay. The very few positrons emitted in the β+\beta^{+}-decay (see Figure 1) annihilate with electrons of the K+\mathrm{K^{+}} and Cl\mathrm{Cl^{-}} ions and thus will not reach the detector. This positron annihilation results in γ\gamma-radiation, for which the detector has a very low efficiency. Electron capture (EC, see Figure 1) will mainly result in X-ray photons, of which a very high fraction is absorbed in the source. It follows that of the three decay channels only the fraction of β\beta^{-}-decay is seen by the detector. This fraction is denoted by the symbol ff.

Assignments

For the formulation of the problem, see the chapter GOAL. A separate afternoon will be scheduled to work on the problem analysis aad a measurement plan. For data processing and data plotting you will use Python. In particular, you will use Python for making least squares fits of functions (polynomial and Poisson distribution) to the experimental data.

Part 1: Determining the half-life from the activity and the number of nuclei

Before equation (12) can be applied to determine the half-life, the number of nuclei N(0)N(0) and the measured activity A(0)A(0), both per gram, should be expressed. These can be calculated from the measuring data or taken from literature. The related assignments are:

  1. Express N(0)N(0) in pp, NAN_A and MM.

  2. Look up the values for pp, NAN_A and MM, including their uncertainties, and write these down.

  3. Write A(0)A(0) as a function of the quantities rcorr,0r_{corr,0} , ϵ\epsilon, GG and ff. You will calculate the value of rcorr,0r_{corr,0} in assignment 9 below, the three other quantities can be looked up.

  4. Look up the values for ϵ\epsilon, GG and ff, including their uncertainties, and write these down.

  5. Write the half-life t1/2t_{1/2} as a function of the quantities pp, NAN_A, MM, rcorr,0r_{corr,0}, ϵ\epsilon, GG and ff using Eq. (12) and the expressions derived for N(0)N(0) and A(0)A(0)

  6. Derive the equation for the relative uncertainty of t1/2t_{1/2} using the expression for t1/2t_{1/2} just obtained. Determine those contributions to the total uncertainty that can be neglected.

  7. Study the measurement setup. The sample holders should be placed in the upper-most slot, since the G-value given in paragraph 4.2 holds for this position.

  8. The raw count data, measured as a function of sample thickness, must be converted to count rates rcorrr_{corr}. Based on Eqs. (13) and (14), write rcorrr_{corr} as a function of quantities that either can be measured directly or can be set to a certain value.

  9. To determine rcorr,0r_{corr,0}, make a plot in Python of rcorrr_{corr} as a function of dd and extrapolate the polynomial fit to d=0d=0. Include the error bars for the data points in your plot, for which you will need the uncertainty of rcorrr_{corr}. Derive the expression for the uncertainty of rcorrr_{corr} and determine which contributions can be neglected.

  10. What is the literature value of the half-life of 40K^{40}\mathrm{K} in literature?

Part 2: Determining the half-life from the Poisson distribution

You will repeatedly count the number kk of decayed nuclei during a time interval Δt\Delta t and determine the Poisson distribution Pμ(k)P_{\mu}(k) corresponding to the count totals. The resulting fit parameter is μ\mu, which is related to the half-life according to Eq. (6). Assignments:

  1. To obtain an accurate approximation of the Poisson distribution, you have to perform at least 200 individual counts. Choose the time interval Δt\Delta t such that the average number of counts in the interval is less than 10. Choose the sample holder with the most shallow cavity (why?) and again use the uppermost slot.

  2. Determine the mean from the count totals, using Python. This will be your first estimate of μ\mu. A logical way for this is by putting the count totals in a vector NN. Additionally, use:

    min(N)
    max(N)
    len(N)
    mu = sum(N)/len(N)
  3. With Python, plot a histogram of the count totals. Then add the Poisson distribution for the value of μ\mu (from assignment 12) to the same plot. For the plot you may approximate the Poisson distribution by replacing k!k! in Eq. (5) with the gamma function for the argument (k+1)(k+1). By doing so, Pμ(k)P_{\mu}(k) can also be calculated for non-integer values of kk. Don’t forget to add to the top of the script:

    from scipy.special import gamma

    For calculating and plotting a histogram, with 25 bins, with the centers corresponding to the number of counts within Δt\Delta t (here 0 to 24), the input in Python will be

     n = plt.hist(N, bins=25, range=[-0.5, 24.5], rwidth=0.9)

    We like to add the theoretical distribution corresponding to the value of μ\mu of Assignment 12 to the plot. To this end prepare an array with closely spaced values kf. For instance:

       kf = np.linspace(-0.5,24.5,100)	
       Pois = len(N)*(mu**kf)*np.exp(-mu)/gamma(kf+1)
       plt.plot(kf,Pois,color='k', linestyle='dashed')

If needed, you can adapt the axes: range, labels, font size.

  1. Then, use curve_fit to fit the frequencies (= the number in the bins) to the Poisson distribution. The fit function is:

        def func(x,a):
            y = len(N)*(a**x)*exp(-a)/gamma(x+1)
            return y

    NOTE: It’s not possible to directly multiply func() in the argument of curve_fit with len(N). Therefore, we have to incorporate len(N) in the function definition. You could fit this as a parameter as well, but this is not required. This yields the fitted μ(=a)\mu (= a), as well as the extreme values of μ\mu determined by the error in the fit.

  2. Plot the Poisson distribution corresponding to the μ\mu just obtained in the same plot that already has the histogram and the previously derived distribution (assignment 13). Evaluate the similarity of the two distributions to the histogram.

    Is the figure complete? Save it.

  3. Compare the obtained half-life to the value of Part 1, and compare each result to the literature value.

Measurement Plan

Before performing the measurements, you have to set up a measurement plan. Discuss the plan with the assistant, whom you can also ask about issues that remained unclear. If needed, perform a test measurement. After approval by the assistant, you will execute the measurement plan on the afternoon scheduled.

References
  1. U.S. Department of Health, Education, and Welfare. (1970). Radiological Health Handbook. U.S. Government Printing Office.
  2. James, A. M., & Lord, M. P. (1992). MacMillan’s Chemical and Physical Data. MacMillan Press.