Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Calculating the density of optimally packed spheres

  1. May 26, 2013 #1

    I wish to calculate the density of optimally packed spheres (i.e. the fraction of space which is occupied by the spheres). This number is approximately 0.74, but I know this because I have looked on the net, not because I have calculated it. I know the essentials of how to calculate it, but I am stuck in my calculations.

    All of the following analysis and calculations were done by me; I've checked my results (the density of optimally packed circles, a regular tetrahedron's height, etc) with the known expressions found on the internet and in books.


    I'll first derive the density of optimally packed circles on a plane, which is more illustrative and easier to understand, and then I'll proceed to the problem of spheres in space.

    Consider an infinite array of optimally-packed identical circles on a plane:


    We may trace an (equilateral) triangle with its vertices at the centres of three mutually adjacent circles. If we do this with all the circles, then the (infinite) set of all such triangles covers the entire plane, so the fraction of a single triangle occupied by circle fragments is equal to the fraction of the plane occupied by all the circles. Let us call this the "volume fraction" of the circles and denote it by [itex]f[/itex].


    Let [itex]a[/itex] be the radius of the circles and [itex]D=2\,a[/itex] be the length of the triangle's sides.

    Because the triangle is equilateral, its angles all equal [itex]\pi/3[/itex] radians. Therefore, the fraction of each circle that lies within the triangle is [itex]1/6[/itex]. The volume fraction is then
    [tex]f=3\frac{\pi\,a^2/6}{A_T}=\frac{\pi\,a^2}{2\,A_T},[/tex]where [itex]A_T[/itex] is the triangle's area and the 3 multiplying the first fraction comes from the fact that there are 3 circles which lie at least partially within the triangle.

    By Heron's formula,
    [tex]A_T=\sqrt{s\,(s-D)^3},[/tex]where [itex]s=3\,D/2[/itex]. Therefore,

    We generalise the problem to spheres as follows: consider optimally-packed identical spheres, and take a regular tetrahedron with its vertices at the centres of four mutually adjacent spheres. The (infinite) set of all such tetrahedra again fills all of space, so, if [itex]V_S[/itex] equals the volume of each sphere which lies within the tetrahedron and [itex]V_T[/itex] is the tetrahedron's volume, we have

    Since the tetrahedron is regular, its faces are equilateral triangles. Let [itex]a[/itex] be the radius of the spheres, and let [itex]D=2\,a[/itex] once again be the length of the tetrahedron's edges.

    The implicit equation of a sphere of radius [itex]a[/itex] is, of course,
    Consider a regular tetrahedron with edge length [itex]a'[/itex] placed such that one of its vertices lies at the origin and the centroid of the face opposite this vertex lies on the [itex]z[/itex] axis. The position of said face's centroid is then of the form [itex](0,0,z_0)[/itex]. We proceed to calculate [itex]z_0[/itex]:

    The top face of the tetrahedron (that is, the face which lies at a height [itex]z_0[/itex]) is, of course, an equilateral triangle with side length [itex]a'[/itex]. Let [itex]B[/itex] be the distance from its centroid to any of its vertices and [itex]b[/itex] be the distance from its centroid to the middle point of any of its sides:


    If the coordinates of the triangle's vertices are [itex](0,y_1),(-x_2,y_2),(x_2,y_2)[/itex] (omitting the [itex]z[/itex] coordinate for clarity), then, by symmetry,
    Now, [itex]x_2=a'/2[/itex], whereby the above equations become
    [tex]y_1^2=\frac{a'^2}{4}+y_2^2,[/tex][tex]\frac{a'^2}{4}+(y_1-y_2)^2=a'^2.[/tex]The latter equation implies that
    [tex]y_1=\sqrt{\frac{3}{4}a'^2}+y_2=\frac{\sqrt{3}}{2}a'+y_2.[/tex]Substituting this in the former equation, we obtain
    [tex]\left(\frac{\sqrt{3}}{2}a'+y_2\right)^2=\frac{3}{4}a'^2+\sqrt{3}\,a'\,y_2+y_2^2=\frac{a'^2}{4}+y_2^2[/tex][tex]\Rightarrow\sqrt{3}\,a'\,y_2=-\frac{1}{2}a'^2[/tex][tex]\Rightarrow y_2=-\frac{1}{2\,\sqrt{3}}a'[/tex][tex]\Rightarrow B=\sqrt{\left(\frac{a'}{2}\right)^2+\left(\frac{1}{2\,\sqrt{3}}a'\right)^2}=\sqrt{\frac{1}{4}+\frac{1}{12}}\,a'=\frac{a'}{\sqrt{3}}.[/tex]
    To calculate [itex]b[/itex], we divide the triangle into four identical equilateral triangles with side length [itex]a'/2[/itex]:


    The central triangle's centroid lies at the same location as that of the original triangle by symmetry. [itex]b[/itex] is then the distance from the centroid of an equilateral triangle with side length [itex]a"=a'/2[/itex] to any of that triangle's vertices. Using the expression we obtained for [itex]B[/itex], we have
    The height of the original triangle is
    Now consider the entire tetrahedron (with edge length [itex]a[/itex]). If we place a new coordinate system [itex]x'y'z'[/itex] so that the [itex]z'[/itex] axis lies along the centre of one of the three faces which are not horizontal in the [itex]xyz[/itex] coordinate system, then the "height" [itex]z'_0[/itex] along [itex]z'[/itex] of that face is


    The (non-equilateral) triangular region enclosed by the [itex]z[/itex] and [itex]z'[/itex] axes and the tetrahedron's top face is shown in the following figure:


    Notice that
    [tex]z_0 = \frac{a}{2\,\sqrt{3}\,\tan(\varphi)} = \frac{a}{2\,\sqrt{3}\,\tan \left[ \arcsin(1/3) \right]} = \frac{a\,\sqrt{1-(1/3)^2}}{2\,\sqrt{3}/3} = \frac{a\,\sqrt{8/9}}{2/\sqrt{3}} = \sqrt{\frac{2}{3}}\,a.[/tex]
    Having finally calculated the tetrahedron's height [itex]z_0[/itex], we may consider the tetrahedron to be composed of a collection of equilateral-triangular prisms (with differential height [itex]\text{d}z[/itex] with side length [itex]a'(z)[/itex] stacked on top of each other. [itex]a'[/itex] is a linearly increasing function of [itex]z[/itex] with the following boundary conditions:
    This expression for [itex]a'[/itex] in terms of [itex]z[/itex] --along with the expressions at the beginning of this section which relate [itex]x_2[/itex], [itex]y_1[/itex] and [itex]y_2[/itex] to [itex]a'[/itex]-- may be used to construct an implicit equation for the tetrahedron (which I will not do at the moment). The volume [itex]V_S[/itex] of the portion of each sphere which lies within the ([itex]D[/itex]-sided) tetrahedron is, then,
    [tex]V_S=\int\int\int\,\text{d}x\,\text{d}y\,\text{d}z,[/tex]where the integration limits are given by the intersection of the regions described by the implicit equations for the sphere and the (infinite, with side length [itex]a'(z)[/itex]) tetrahedron.

    My question is how to write these limits. The limits of the integral over [itex]z[/itex] are trivial: [itex]z[/itex] runs from [itex]0[/itex] to [itex]a[/itex]. The limits for [itex]x[/itex] and [itex]y[/itex], however, are absolutely not trivial.

    Of course, I may write the integration limits as [itex]\min(A,B)[/itex], where [itex]A[/itex] and [itex]B[/itex] are the corresponding integration limits for the sphere and the tetrahedron, respectively, but this is useless because it does not allow me to calculate [itex]V_S[/itex].


    I know there is an easier way to calculate [itex]f[/itex] which uses a hexagonal prism and 10 or so spheres (as opposed to a tetrahedron and 4 spheres). There's a good reason for this, but I shall not go into it in detail here unless asked.

    The procedure I have used is probably not the simplest one possible, but it also has a reason: since it ultimately requires nothing more than the implicit equations for a sphere (the packed particle in question) and a tetrahedron (the space-filling figure which allows me to take a finite number (4) of particles rather than having to deal with an infinite amount of them), whichever expression for [itex]f[/itex] I obtain at the end is trivially generalisable to particles of any shape (provided I can describe said shape via an implicit equation).

    Thank you! :)
  2. jcsd
  3. May 26, 2013 #2


    User Avatar
    2017 Award

    Staff: Mentor

    You cannot fill all space with tetrahedrons. The ideal sphere packing has other shapes inside, too.
  4. May 27, 2013 #3
    In fact, I can; the "cannonball arrangement" does just that. Take any four mutually adjacent spheres (which, of course, form a tetrahedron). Now take any three of those spheres and a new sphere which is mutually adjacent to all three; they will form a second tetrahedron which has a face in common with the first tetrahedron (and no overlap, of course). You can continue doing this until you fill all of three-dimensional space.


    There are other arrangements which are also optimal and, as you say, have other shapes inside.

    Regardless of whether I can fill all of space with tetrahedra, though, my problem concerns how to express the integration limits of a volume integral which takes place in the intersection of two regions which I can describe using implicit equations:
  5. May 27, 2013 #4


    User Avatar
    2017 Award

    Staff: Mentor

    Consider the foremost ball in the second layer from the bottom, and the two spheres behind that: They have a sphere on top, but no sphere below them (touching all 3 of them). The point in the middle, below those 3 spheres is the center of a triangle of 6 spheres (of the bottom layer), which is not the position of a sphere.

    Any 4 spheres touching each other form a tetrahedron, of course, but you cannot fill space by adding just those tetrahedron shapes everywhere.

    I'm not sure if that integral is relevant (or sufficient) for the original question of the optimal sphere packing.
  6. May 27, 2013 #5
    Ah, you're right. I misinterpreted the picture. Thanks.

    I'll check what the unit cell for the "cannonball arrangement" is and use that instead of the tetrahedron. I suppose I'll lose generalisability, though...
    Last edited: May 27, 2013
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook