loading...
Measured mass flow (0.5 s mean) against time since the orifice opened; the green line is the Beverloo law with the fitted constants
Number of grains above the neck against time (a straight line means a constant flow)
Flow against orifice width: Beverloo 3/2 law curve and the points measured by the orifice sweep (red = current setting)
Flow against the percentage of grains still above the neck: it stays near the Beverloo value (flat), unlike a liquid
running...
The science
Why the flow does not slow down. In a liquid the outflow speed follows Torricelli's law, v = √(2 g h), so a draining tank slows down as the level falls. A granular column behaves differently: the grains hold each other up by friction against the walls. The stress at depth h in a column of radius R saturates (Janssen, 1895):
σ(h) = ρ g λ (1 − e−h/λ), λ = R / (2 μw K)
Beyond a depth of a few λ the pressure on the neck no longer grows, so the amount of sand above the orifice does not change the discharge. That is why an hourglass can measure time with a steady rate.
The Beverloo law. Grains leave through a hole of diameter D only inside a free-fall arch of radius about (D − k d)/2: a ring of width k d (k about 1.4 for round grains of diameter d) next to the rim carries no flow. The grains in the arch fall freely with speed ∼ √(g (D − k d)) through an area ∼ (D − k d)2, which gives the 5/2 power law of a circular hole (Beverloo, Leniger and van de Velde, 1961):
W = C ρb √g (D − k d)5/2 (3D, circular orifice), W ∝ (D − k d)3/2 (2D slot)
Here ρb is the bulk density and C ≈ 0.55-0.65 for spheres. The time to empty a bulb of mass M is simply T = M / W, so halving the orifice diameter (D = 4 mm to 2 mm) multiplies the time by about 7 for fine sand (the dead rim k d is small compared with D). Because W ∝ √g, the same glass would run 2.5 times slower on the Moon (g = 1.62 m/s²).
Jamming. When D is only a few grain diameters the grains can form an arch over the hole and the flow stops. For round grains in a circular hole this happens roughly below D/d ≈ 5 (the empirical range is about 4-6; the page uses 5 and a "Tap" breaks the arch for a moment). In the 2D page grains are discs in a slot and the arches flicker on and off near D/d = 3-4.
The two heaps. The lower sand forms a cone whose slope is the angle of repose φ (tan φ ≈ the internal friction coefficient). The page finds the apex depth by solving for the volume of the cone clipped by the glass, Vheap(wp) = ∫ 2π r [wfloor(r) − max(wp + r tan φ, wwall(r))]+ dr, so that the volume of sand is conserved at every instant. The upper surface sinks as an inverted-cone funnel (volume conserved the same way).
The 2D grain-by-grain solver. Every grain is a disc with mass m = ρsπr² and moment of inertia ½ m r². Overlapping grains push with a spring-dashpot force Fn = kn δ − γn vn, a tangential spring with history limited by Coulomb's law |Ft| ≤ μ Fn, and a rolling-resistance torque. Newton's equations are integrated with a semi-implicit Euler step (Δt = 0.25 ms, about 1/15 of the contact period). The flow is the mass crossing the orifice plane per second, measured while the mass that has passed the orifice goes from 20 % to 75 % of the load.
Honest simplifications. (1) The 3D page does not simulate every grain: the flow comes from the Beverloo law and the shapes of the sand surfaces from volume conservation, with the funnel radius and the falling, sliding and avalanche grains drawn as cosmetic particle clouds (the falling stream is a statistical sample, not the real tens of thousands of grains per second). (2) The 2D page uses scaled-up grains (d about 2 mm) and soft contacts (kn = 104 N/m per metre of depth), so the constants it measures (C and k for discs) are not the 3D values. (3) Real hourglasses show slight deviations: air drag in the narrow neck, humidity, electrostatics, and a faster or slower finish when the last grains run out; the model keeps the flow constant until the top is empty. (4) The jam threshold D/d = 5 is empirical. (5) The Moon preset changes g only; sand cohesion in vacuum would also change. (6) The first moments of a run include a short start-up transient in the real flow that is ignored.
Checks run in the page. The volume of the funnel plus the heap equals the loaded mass divided by the bulk density at every stepped state; the emptying time of the stepped state equals M/W; the flow at 90 % and at 10 % fill is identical (a liquid would differ by a factor 3); one grain dropped in the grain solver reaches the orifice in the free-fall time √(2h/g). In the 2D page the measured flow is also fitted against the orifice width: W2/3 is a straight line in D (the 3/2 power law), with the dead-zone offset k read from the intercept, and the flow while the column is full is compared with the flow while it is nearly empty.