Boyles law investigation

Theory:

The original presentation of what we know as Boyle’s law has several interesting features. First, the technical difficulties of the experiment were considerable, because Boyle used a glass tube full of mercury that was nearly 2.5 m long, and the large pressures sometimes shattered the glass. Next, Boyle’s table of results contains extremely awkward fractions, such 10/13, 2/17, 13/19, and 18/23, which look very strange to us today. This was because he calculated the pressure for a certain volume of gas by using simple multiplication and division, keeping the vulgar fractions. Boyle was not able to express the numbers as decimals because this notation was not in common use at the time. Finally, his contention that pressure and volume were inversely related depended on the reader’s comparing two sets of numbers in adjacent columns to see how well they agreed. Today we would plot the data, but again orthogonal graphs were not in general use in 1662. When Boyle’s data are plotted by using modern conventional methods, they strongly support his hypothesis that the volume and pressure of a gas are inversely related.

The figure above shows the original table from his 1662 paper, New Experiments Physico-Mechanical, Touching the Air: Whereunto is Added A Defence of the Authors Explication of the Experiments, Against the Obiections of Franciscus Linus, and, Thomas Hobbes. This was the second edition of a book of almost the same title which had been published two years earlier

Boyle described the experiment in the text accompanying his table, shown in Fig. 1.

With considerable difficulty, he procured a glass U tube, the longer leg of which was nearly 8 ft. (2.44 m) long, while the shorter leg was some 12 in. (30.5 cm) long and was sealed at the end. He then prepared a narrow piece of paper, on which he marked 12 in. and their quarters, and he placed this in the shorter limb. A similar piece of paper, again divided into inches and quarters, was placed in the longer limb. Holding the U tube vertically, he then poured mercury into the long limb so that a column of air 12 in. long was trapped in the short limb, and the mercury levels in the two limbs were initially the same. This was the situation represented by the top row of numbers in Fig. 1.

He then carefully added more mercury, little by little, to the long limb, and he observed the compression of the column of air in the short limb. For example, the second row of the second column of Fig. 1shows that he stopped adding mercury for the second set of readings when the length of the air column was 11 1/2 in.

The third column (B) shows that, at this time, the additional height of the mercury in the longer limb was 1 7/16 in. Additional mercury was then added until the air column was 11 in. high (row 3), at which time the additional height of the mercury in the long column was 2 13/16 in. Although the paper strip in the long limb was only divided into quarters of an inch, Boyle was able to interpolate and measure the height of the mercury to one-quarter of each small division (that is, 1/16 of an inch). In all, Boyle added mercury 24 times, until the length of the column of air was reduced to 3 in. (bottom row, second column A) and the additional height of the mercury was 88 7/16 in. (bottom row, column B).

Boyle added some interesting details on how he carried out this experiment. He had trouble with the breaking of the glass tubes because of the high pressures developed by the long column of mercury, so the lower part of the tube was placed in a square wooden box. This allowed him to catch the valuable mercury. As indicated above, the mercury was poured in very slowly because, as Boyle noted, it was far easier to pour in more, than to take out any, in case too much at once had been poured in.” The long tube was so tall that the experiment was carried out in a stairwell. Boyle also used a small mirror behind the tube to help him measure the height of the mercury accurately. (aside: this is a great A-level physics trick for reading scales accurately)

As indicated above, the second column of the table (A) and third column

  1. show, respectively, the length of the trapped column of air and the additional height of the mercury in the long limb (both in inches). The first column of the table (also headed A) is simply the number of quarter-inches occupied by the trapped air. In other words, it is simply the second column multiplied by 4, and it is proportional to the volume of the gas (assuming a constant cross-sectional area of the tube). In the fourth column, headed C, Boyle states added to 22 l/8.” This is actually a misprint. The correct value is 29 1/8 in., which Boyle took to be the height of a mercury column supported by the normal atmospheric pressure. Therefore, the fifth column (headed D) is the sum of column B and 29 1/8 in., except that all the fractions in column D are given in 16ths. This column shows the pressure to which the bubble of gas was subjected. The last column (E) is the calculated pressure for the volume shown in the first column (A) according to Boyle’s hypothesis that volume and pressure are inversely related. The fractions are difficult to read and are listed in the Fig. 1 legend.

There are interesting points about Boyle’s table. First, why did Boyle not convert the values to decimals rather than keep the very awkward fractions such as 15/19? As an example, it is not immediately clear to most of us to what extent 107 13/16 differs from 107 7/13. However, if we put these two numbers into a decimal format as 107.813 and 107.538, we can immediately see that the difference between the two is <0.3%.

The explanation of why Boyle did not use decimal notation is that this was not in general use in 1662. Some notations that bear some resemblance to modern decimals can be found in ancient China and medieval Arabia. Simon Stevin (1548–1620) is often credited with the first use of decimals as we know them today, and these were introduced into England in about 1608. However, it was not until the 18th century that decimal notation become standardized, and, therefore, it is not surprising that Boyle did not make use of decimals.

Another surprising feature for the modern reader about Boyle’s treatment of his data is why he did not plot the results in a graph. One problem with the table shown in Fig. 1 is that the reader has to inspect each row of columns D and E to get a feeling for how much the observed pressures differed from the pressures calculated from the hypothesis. In addition, we need to compare the differences in the top rows with the bottom rows to see if the differences depend on the magnitude of the pressure or volume. Finally, we need to scan the table to make sure that the whole range of pressures/volumes is covered more or less uniformly - Again, the explanation for why Boyle did not plot his data in this way is that graphs to depict data were not in general use in 1662. For example, in La Geometrie” which René Descartes (1596–1660) wrote as an appendix to his major work of 1637, few orthogonal coordinate systems are used for graphs. In fact, a number of the graphical methods for depicting data that we use today, such as pie charts, were not introduced until the 19th century.

Lets apply a modern treatment to his results:

!pip install tabulate
from matplotlib import pyplot as plt
from scipy import stats
from tabulate import tabulate

#This is a list of the volumes 
Xraw=[48,46,44,42,40,38,36,34,32,30,28,26,24,23,22,21,20,19,18,17,16,15,14,13,12]
#This is the height measurements
yraw = [29.125,30.563,31.938,33.500,35.313,37.000,39.313,41.625,44.188,47.067,50.313,54.313,58.812,61.313,64.063,67.063,70.688,74.125,77.875,82.750,87.875,93.0625,100.438,107.813,117.563]

overx = []
for x in Xraw:
    overx.append(1/x)


# merging the varaiables into one list of lists so tht tabulate can cope
merged_list = [(yraw[i],Xraw[i],overx[i]) for i in range (0,len(overx))]
labels=['Pressure /in Hg','Volume /Arb. units','1/Volume']
print(tabulate(merged_list, headers=labels,tablefmt='fancy_grid',floatfmt=".2f"))
Requirement already satisfied: tabulate in c:\programdata\anaconda3\lib\site-packages (0.8.10)
╒═══════════════════╤══════════════════════╤════════════╕
│   Pressure /in Hg │   Volume /Arb. units │   1/Volume │
╞═══════════════════╪══════════════════════╪════════════╡
│             29.12 │                   48 │       0.02 │
├───────────────────┼──────────────────────┼────────────┤
│             30.56 │                   46 │       0.02 │
├───────────────────┼──────────────────────┼────────────┤
│             31.94 │                   44 │       0.02 │
├───────────────────┼──────────────────────┼────────────┤
│             33.50 │                   42 │       0.02 │
├───────────────────┼──────────────────────┼────────────┤
│             35.31 │                   40 │       0.03 │
├───────────────────┼──────────────────────┼────────────┤
│             37.00 │                   38 │       0.03 │
├───────────────────┼──────────────────────┼────────────┤
│             39.31 │                   36 │       0.03 │
├───────────────────┼──────────────────────┼────────────┤
│             41.62 │                   34 │       0.03 │
├───────────────────┼──────────────────────┼────────────┤
│             44.19 │                   32 │       0.03 │
├───────────────────┼──────────────────────┼────────────┤
│             47.07 │                   30 │       0.03 │
├───────────────────┼──────────────────────┼────────────┤
│             50.31 │                   28 │       0.04 │
├───────────────────┼──────────────────────┼────────────┤
│             54.31 │                   26 │       0.04 │
├───────────────────┼──────────────────────┼────────────┤
│             58.81 │                   24 │       0.04 │
├───────────────────┼──────────────────────┼────────────┤
│             61.31 │                   23 │       0.04 │
├───────────────────┼──────────────────────┼────────────┤
│             64.06 │                   22 │       0.05 │
├───────────────────┼──────────────────────┼────────────┤
│             67.06 │                   21 │       0.05 │
├───────────────────┼──────────────────────┼────────────┤
│             70.69 │                   20 │       0.05 │
├───────────────────┼──────────────────────┼────────────┤
│             74.12 │                   19 │       0.05 │
├───────────────────┼──────────────────────┼────────────┤
│             77.88 │                   18 │       0.06 │
├───────────────────┼──────────────────────┼────────────┤
│             82.75 │                   17 │       0.06 │
├───────────────────┼──────────────────────┼────────────┤
│             87.88 │                   16 │       0.06 │
├───────────────────┼──────────────────────┼────────────┤
│             93.06 │                   15 │       0.07 │
├───────────────────┼──────────────────────┼────────────┤
│            100.44 │                   14 │       0.07 │
├───────────────────┼──────────────────────┼────────────┤
│            107.81 │                   13 │       0.08 │
├───────────────────┼──────────────────────┼────────────┤
│            117.56 │                   12 │       0.08 │
╘═══════════════════╧══════════════════════╧════════════╛
distributed 1.21.8 requires msgpack, which is not installed.
You are using pip version 10.0.1, however version 21.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
# Calling linear regression assigning the output to the variables on the left of the equation 
slope, intercept,r,p,st_err = stats.linregress(overx,yraw)
#looping over the length of x and applying y=mx+c using the m and c from the output above to find the regression line   
line=[]
for i in range (len(overx)):
    line.append(slope*overx[i]+intercept)
    
    
# Plotting the data points and the best fit line


plt.scatter(overx, yraw)

#plt.errorbar(x,y,xerr=uncertaintyx,yerr=uncertaintyy,fmt='o',ecolor='cyan', color='black')
plt.plot(overx,line)
plt.title('Best fit line using regression method')
plt.ylabel('Pressure')
plt.xlabel('Inverse volume $1/V$')

plt.show()
print ("Gradient=%.2f"%slope)

Gradient=1403.09
# Plotting the data points and the best fit line
plt.title('Raw results plot')
plt.ylabel('Pressure')
plt.xlabel('Volume')
plt.scatter(Xraw, yraw)
<matplotlib.collections.PathCollection at 0x199743c2a90>

Analysis

All this information is quickly seen if the results are plotted as shown in Fig. 2. Because the hypothesis is that pressure and volume are inversely related, we could plot either the reciprocal of volume against pressure or the reciprocal of pressure against volume to test whether the points lie on a straight line. Both give essentially the same information, but the latter (shown in Fig. 2) is preferred, because Boyle added mercury for each measurement until the volume reached an exact one-quarter inch; therefore, volume can be regarded as the independent variable. Figure 2 immediately shows, to most people’s satisfaction, that the reciprocal of pressure is linearly related to volume, that the deviations of the data points from the straight line of best fit do not depend on the magnitude of the volume, that the whole range of volumes is adequately covered, and that the straight line passes very close to the origin. In formal terms, the coefficient of determination (R 2), the most common measure of how well a regression model describes the data, is >0.9999, the square root of the sum of squares of the residuals is only $3.77 ^{−4}$, and they-axis intercept is $2.474 ^{−5}$.

There are other ways of treating Boyle’s data to determine how well it fits his hypothesis. One was an analysis by Geary, who used Boyle’s data to derive the equation

LogP=1.00404LogV+C−Log P = 1.00404 Log V + C

where C is a constant.

Geary concluded that with only twenty-five pairs of observations, it is evident that the numerical coefficient is not significantly different from unity.”

The implication is that pressure × volume (P × V) is constant.

Of course, pressure × volume is constant only if temperature is constant. Boyle was aware of this, although he did not pursue it.

In the text near the table shown in Fig. 1, he described how he heated the trapped air in the small limb of the U tube with the flame of a candle so that we scarce doubted, but that the expansion of the air would, notwithstanding the weight that opprest it, have been made conspicuous, if the fear of unseasonably breaking the glass had not kept us from increasing the heat”.

Finally, we need not go into the issue of to what extent Boyle’s work was based on the work of others and, indeed, whether Boyle’s name should even be attached to the law. Suffice to say that at least five other people have some claim to be considered, including Viscount Brouncker, Robert Hooke, Edmé Mariotte, Henry Power, and Richard Towneley.

In fact, in France the law is known as la loi de Mariotte.” However, many of us will be satisfied that Boyle’s law remains as a reminder of this remarkable scientist.