30 September 2021

"Excluded volume" between close-packed spheres

 "Excluded volume" between close-packed spheres  

I remember reading that the 'theoretical' limit on volume density for close-packed uniform rigid spheres was circa 0.74, (so that in a bucket of marbles the volume of trapped air is 26% of the bucket volume.). Indeed, the Wikipedia article on "Sphere Packing" tells us that Johannes Kepler thought that the densest possible packing would be 0.74048 (i.e. π/(3√2)), a result confirmed by Carl Friedrich Gauss 2 centuries later. Further, that Thomas Callister Hales claimed a "proof" of Kepler's conjecture which a referee found 99% convincing. 

 I thought I ought to be able to calculate that myself, now that I have retired and have the leisure time needed for such an non-essential occupation.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

First I considered laying pennies on a flat surface, and was delighted to find that exactly six discs can be fitted round a central disc such that all are touching (Fig. 1).



Next, I considered a football (radius r) closely fitted inside a cubic container (side 2r; Fig. 2). 



The volume of the ball (Vb) is Vb = 4 π r3/3; that of the container (Vc) is Vc = (2r)3 = 8 r3. So the volume density (Vd) of the container filled by the ball is: 

    Vd = Vb/Vc  =  (4 π r3/3)/(8 r3)

Vd = 4 π / 24

Vd = π/6 = 0.5235987756 (when rounded up). 


I concluded that, if many spheres were aligned (touching) in straight Euclidian lines mutually perpendicular in three dimensions, the density would still be 0.5235987756 (and the excluded volume would be 47.64%, or nearly so). This array can be seen as a series of x/y planes stacked one on top of the other in the vertical (z) dimension. Each sphere touches 6 neighbouring balls; 4 in the same plane, plus 1 above, and 1 below. But they can clearly be packed more tightly. 

So I constructed a single plane as follows. First I laid a file of spheres in the x dimension. Then a second file of spheres, but those of the second file do not coincide with those of the first file, but are offset to the right by r, while those of the third file are offset to the left by r (and thus coincide with the first file).  Clearly the centre of a spheres in the second file is equidistant from two spheres in the first file. Indeed, they form an equilateral triangle, side 2r (Fig. 3). 



Drawing a perpendicular (length m in units of r) from the apex to the base, we can use Pythagoras's theorem to calculate m (See Fig. 4 below).

    m2 + r2 = (2r)2 

m2 = (4-1)r2

m = 1.73205081 x r



It is clear that a single layer of this array is more compact than the first array by the factor m/2 (=0.8669254); or more "volume dense" by the factor 2/m (= 1.154700536759). It would be the same if we stacked many layers of the 60º-offset array, such that each sphere touches 6 neighbours in the plane, with one above and one below.

Vd of Loose 3d array = 0.5235987756

Vd of semi-compact 60º-offset array =0.5235987756/0.8669254 = 0.6045997881

But there is more compacting we could do.

Looking down on our single layer of the 60º-offset array (i.e. the marbles in Fig. 3 above), we see that there is a dip formed by 3 contiguous spheres where a sphere of the next layer should lie, touching all three spheres in the lower layer. We can see that there will form a triangular pyramid where every straight line between the apices is of length 2r; indeed a 'regular tetrahedron'. But how high (in the z dimension) is the upper sphere above the 3 lower spheres?

The apex of a vertical equilateral triangle drops a perpendicular of length m to its base, as we calculated above:

m2 + r2 = (2r)2 

m2 = (4-1)r2

m = 1.73205081 x r

But this equilateral triangle is leaning inwards to form one face of the pyramid. The perpendicular line (length p), from the apex to the point on the base equidistant from the three sphere-centres (point e), can be found in the same way; but this was (for me) the most difficult step. I kept getting the wrong answer. It was only after  3½ days that I solved the puzzle. The right triangle we have to solve has hypotenuse 1.73205081 (length in units of r), while the base is not r but Tan(30º) = 0.577350 (in units of r). 

To see this look at the equilateral triangle that forms the base of the pyramid. There is a point (a) midway along one side (so r from either end). A line can be drawn across the triangle to the opposite point. That can be repeated for the other sides. These lines intersect at the point we called e, cutting each line into a shorter and a longer portion. The shorter portion is Tan(30º) while the whole line is Tan(60º). By Pythagoras's theorem:

p2 + (Tan(30º))2 = (1.73205081)2 

p2 =  (1.73205081)2 - (0.577350)2

p = 1.63293936 x r  

If our layers are extended infinitely in the x and y dimensions this compaction in the z dimension will affect the overall volume density of the array:

Vd of compact array = 0.6045997881 x 2/1.63293936 = 0.74048049


Q.E.D.


(To subscribe [or unsubscribe], please email <cawstein@gmail.com> with the word Subscribe [or Unsubscribe] in the Subject line.)

No comments: