Skip to main content
Sandbox Physics
Granular jamming

L2 · Chapter 3

How to get the pressure from contact forces

You can measure pressure on a wall: divide the wall’s force by its length. You can also compute it inside the packing: multiply each contact force by the distance between the centres it joins, add them up and divide by the area. At force balance the two give the same number. This chapter derives that identity, because every later statement about pressure uses the number computed inside.

Stress and pressure in two dimensions

In 2D a force acts across a line, so stress is force per length, ε/d2\varepsilon/d^2. σxx\sigma_{xx} is the push per unit length on a wall whose normal points along xx, and likewise σyy\sigma_{yy}. This course takes compressive stress as positive, because disks can only push.

The pressure is the average of the two normal stresses, p=(σxx+σyy)/2p=(\sigma_{xx}+\sigma_{yy})/2. If σxx≠σyy\sigma_{xx}\ne\sigma_{yy} or σxy≠0\sigma_{xy}\ne0, the packing is loaded differently in different directions; shear in Chapter 5 relies on that anisotropy.

Source: C. S. O’Hern

Stress computed inside the packing

For each contact take the branch vector b\mathbf b: from centre jj to centre ii for a disk–disk contact, and from the contact point on the wall to the centre for a wall contact. f\mathbf f is the force of that contact on disk ii. Contacts only push, so f\mathbf f points along b\mathbf b, bxfx>0b_xf_x>0, and compression comes out positive.

Eq. (12) of Silbert et al. adds a kinetic part from velocity fluctuations. A static packing has none, so only the contact part remains. Eq. (2) of O’Hern et al. defines the pressure tensor from the same sum.

σab=1A∑contactsba fb,p=σxx+σyy2=12A∑contactsb⋅f\sigma_{ab}=\frac{1}{A}\sum_{\text{contacts}} b_a\,f_b,\qquad p=\frac{\sigma_{xx}+\sigma_{yy}}{2}=\frac{1}{2A}\sum_{\text{contacts}}\mathbf b\cdot\mathbf f
AA is the box area and a,ba,b stand for xx or yy. Each contact is counted once.

Source: L. E. Silbert · C. S. O’Hern

Why it equals the force on a wall

Let the box have width LL and height HH, with the left wall at x=0x=0 and the right wall at x=Lx=L. Every disk is balanced. Multiply each disk’s xx balance equation by its coordinate xix_i and add over all disks: the result is still zero.

Now regroup the sum by contacts. A disk–disk contact appears on both of its disks with opposite forces, giving (xi−xj)fx=bxfx(x_i-x_j)f_x=b_xf_x. A left-wall contact gives xifxx_if_x, which is exactly bxfxb_xf_x. A right-wall contact gives xifx=(xi−L)fx+Lfx=bxfx+Lfxx_if_x=(x_i-L)f_x+Lf_x=b_xf_x+Lf_x.

The fxf_x of all right-wall contacts add up to the wall’s total push on the disks, −FR-F_R, where FRF_R is the disks’ total push on the right wall. So the sum of bxfxb_xf_x over all contacts equals LFRLF_R. Dividing by the area LHLH gives FR/HF_R/H: the force per unit length on the right wall.

∑ixiFi,x net=0  ⟹  ∑contactsbxfx=L FR  ⟹  σxx=FRH\sum_i x_i F^{\,\mathrm{net}}_{i,x}=0\;\Longrightarrow\;\sum_{\text{contacts}}b_xf_x=L\,F_R\;\Longrightarrow\;\sigma_{xx}=\frac{F_R}{H}
Only the balance of each disk was used, not the contact law. While disks are still out of balance the two numbers disagree, so their difference tests whether a relaxation has finished.

Pressure is also an energy derivative

Scale the box and every centre by the same factor 1+e1+e. The area becomes A(1+e)2A(1+e)^2, an increase dA=2AedA=2Ae. Every centre distance is also multiplied by 1+e1+e, so the energy changes by dU=∑(dV/dr) r e=−∑f r edU=\sum (dV/dr)\,r\,e=-\sum f\,r\,e.

Dividing, −dU/dA=∑fr/(2A)-dU/dA=\sum f r/(2A), which is the pp above. That lets us check the pressure from the energy alone. On a packing of 128 disks, a central difference of −dU/dA-dU/dA agrees with the contact stress to a relative difference of at most 1.5×10−71.5\times10^{-7}; the contact stress agrees with the forces on all four walls to about 10−1210^{-12}.

p=−dUdA∣affine=12A∑contactsf rp=-\frac{dU}{dA}\bigg|_{\text{affine}}=\frac{1}{2A}\sum_{\text{contacts}} f\,r
“Affine” means every coordinate scales by the same factor, with no extra rearrangement of the disks. If the disks are allowed to adjust, the packing relaxes further and the energy released by that relaxation must be subtracted; Chapter 6 uses this to find the energy lost over a compression and unloading cycle.

Source: C. S. O’Hern

Worked example: match all three

Take the two disks of Chapter 1: R1=0.5R_1=0.5, R2=0.7R_2=0.7, walls L=2.39L=2.39 apart, contact force f=4.59×10−3 ε/df=4.59\times10^{-3}\,\varepsilon/d. Make the box H=1.5H=1.5 tall so the large disk does not touch the top or bottom.

Force on the wall: σxx=f/H=3.06×10−3 ε/d2\sigma_{xx}=f/H=3.06\times10^{-3}\,\varepsilon/d^2 and σyy=0\sigma_{yy}=0, so p=1.53×10−3 ε/d2p=1.53\times10^{-3}\,\varepsilon/d^2. Squeezed along one direction only, the pressure is half of σxx\sigma_{xx}.

Contact stress: the xx components of the three branch vectors are R1−δ1w=0.4989R_1-\delta_{1w}=0.4989, σ−δ12=1.1934\sigma-\delta_{12}=1.1934 and R2−δ2w=0.6978R_2-\delta_{2w}=0.6978, which add to exactly L=2.39L=2.39. All three contacts carry the same force, so ∑bxfx=fL\sum b_xf_x=fL, and dividing by LHLH gives f/Hf/H again.

Energy derivative: as LL shrinks, all three overlaps grow together. With the compliance of Chapter 1, U=ε(L0−L)2/(2×2.18)U=\varepsilon(L_0-L)^2/(2\times2.18) with L0=2.4L_0=2.4. Along xx, −dU/dL=f-dU/dL=f, and dividing by HH gives σxx\sigma_{xx}.

Try it in the Lab

Read one pressure two ways

  1. Predict first: in a step that has not fully relaxed, would the wall pressure and the contact stress agree?
  2. Play the default preset and, at several packing fractions, open “More numbers” and read the ratio of contact stress to wall pressure.
  3. Switch the contact law to Hertzian, repeat, and explain why the ratio does not depend on the contact law.

Exercises with explained answers

  1. A square box of side L=10L=10 measures a total push of 0.05 ε/d0.05\,\varepsilon/d on each of its four walls. Find σxx\sigma_{xx}, σyy\sigma_{yy} and pp.

    Show the answer

    Force per length on each wall is 0.05/10=5×10−30.05/10=5\times10^{-3}, so σxx=σyy=p=5×10−3 ε/d2\sigma_{xx}=\sigma_{yy}=p=5\times10^{-3}\,\varepsilon/d^2.

  2. If you use the convention that compressive stress is negative, how does the contact stress formula change?

    Show the answer

    Flip the overall sign: σab=−1A∑bafb\sigma_{ab}=-\frac1A\sum b_af_b. The physics is the same; compression simply reads negative. Check which convention a paper uses before comparing numbers.

  3. A packing has energy 2.000×10−3 ε2.000\times10^{-3}\,\varepsilon at A=100A=100 and 2.052×10−3 ε2.052\times10^{-3}\,\varepsilon after an affine compression to A=99.9A=99.9. Estimate the pressure.

    Show the answer

    p≈−ΔU/ΔA=−(0.052×10−3)/(−0.1)=5.2×10−4 ε/d2p\approx-\Delta U/\Delta A=-(0.052\times10^{-3})/(-0.1)=5.2\times10^{-4}\,\varepsilon/d^2. A one-sided difference gives the average over that small change of area; a central difference is more accurate.

Sources and what we recomputed

  1. C. S. O’Hern, L. E. Silbert, A. J. Liu and S. R. Nagel, Jamming at zero temperature and zero applied stress: the epitome of disorder, arXiv:cond-mat/0304421v1; Physical Review E 68, 011306 (2003)

    Version 1, 17 April 2003. Eq. (1): the finite-range repulsion between soft spheres. Section II: random infinite-temperature starts, conjugate-gradient minimisation in a periodic cell, and the energy test for an unjammed state. Figs. 5 to 7 and Eq. (3): the fraction of jammed states, the distribution of thresholds and its width, which falls as the number of particles to the power −0.55. Table I: pressure and contact-number exponents and prefactors. Fig. 20: a 2D force network. We recomputed the threshold width, the pressure exponent and the contact-number exponent with our own code; the contact-number exponent did not reproduce at 128 disks.

  2. L. E. Silbert, D. Ertaş, G. S. Grest, T. C. Halsey, D. Levine and S. J. Plimpton, Granular flow down an inclined plane: Bagnold scaling and rheology, arXiv:cond-mat/0105071v1; Physical Review E 64, 051302 (2001)

    Version 1, 3 May 2001. Section II: the frictional contact model, a normal spring with damping plus a tangential spring cut off by the Coulomb condition, with the ratio of tangential to normal stiffness of 2/7. Eq. (12): the stress tensor as a sum of branch vector times contact force divided by volume, plus a kinetic part. We use the contact part of Eq. (12) for static packings.

FeedbackSomething broken, confusing, or missing on this page?Tell us
What kind of feedback?

Sent with this page’s address, its Lab ID, the site language and your device type. Please leave out personal details. Feedback is kept for up to 12 months.Privacy policy