By Saad Iqbal
Three hours into a slickwater stage, the treating pressure near the perfs creeps up and the frac supervisor cuts pump rate to stay under the surface limit. The sand keeps pumping at the same concentration. Back in the trailer, someone finally asks the question that should have been answered at the design stage: how fast is this proppant actually falling out of suspension right now, and is the far-field fracture about to go under-propped while the near-wellbore packs out? The fastest way to answer that is a proppant settling velocity calculation using Stokes’ law — a 19th-century fluid mechanics result that still tells you, in thirty seconds, whether your carrier fluid can outrun gravity long enough to place proppant where you designed it to go. This tutorial works the equation by hand, checks it against the Reynolds number it depends on, then automates it in Python for any mesh size or fluid system.
Prerequisites
- Proppant mesh size (or better, the d50 from a lab particle-size-analysis report)
- Proppant specific gravity (2.65 for silica sand, the value used in this tutorial)
- Carrier fluid density and dynamic viscosity (slickwater viscosity typically runs 2–30 cP)
- Python 3.10+ or a hosted notebook such as Jupyter

Step 1: Get the particle diameter from the mesh size
Proppant is sold by U.S. sieve mesh range, not by a single diameter, so the first job is converting mesh number to a representative particle size. Sieve openings follow ASTM E11: a 40-mesh screen opens at 0.420 mm, a 70-mesh screen at 0.212 mm, and 40/70 — the most common slickwater cut — sits between them at a representative d50 of roughly 0.30 mm. A 100-mesh cut (used near the wellbore or at the fracture tip) runs closer to 0.15 mm, while coarser 20/40 sand averages around 0.70 mm. This tutorial uses 40/70 mesh silica sand: d ≈ 0.30 mm, with a specific gravity of 2.65 (quartz), giving a proppant density ρp = 2,650 kg/m³.
A real job design should pull d50 straight from the sand supplier’s lab PSA report rather than assuming the sieve-range midpoint — two 40/70 sands from different quarries can have meaningfully different d50 values.
Step 2: The governing equation — Stokes’ law
For a sphere settling through a stationary, Newtonian fluid under laminar (Stokes) drag, the terminal settling velocity is:
vs = g · d² (ρp − ρf) / (18 · μ)
- vs — terminal settling velocity of the particle (m/s)
- g — gravitational acceleration, 9.81 m/s²
- d — particle diameter (m)
- ρp, ρf — proppant density and carrier-fluid density (kg/m³)
- μ — carrier-fluid dynamic viscosity (Pa·s)
That equation is only valid in the Stokes (laminar) drag regime — particle Reynolds number below about 1. Step 4 checks that condition, because it’s the single most common way this calculation gets misapplied in the field.
Step 3: Work the example by hand
Take 40/70 mesh sand (d = 0.30 mm = 3.0×10⁻⁴ m, ρp = 2,650 kg/m³) in a 5 cP slickwater system (ρf = 1,000 kg/m³, μ = 0.005 Pa·s):
Δρ = ρp − ρf = 2,650 − 1,000 = 1,650 kg/m³
d² = (3.0×10⁻⁴)² = 9.0×10⁻⁸ m²
vs = 9.81 × 9.0×10⁻⁸ × 1,650 / (18 × 0.005)
vs = 1.457×10⁻³ / 0.09 = 0.0162 m/s
That’s vs ≈ 0.0162 m/s ≈ 1.62 cm/s ≈ 0.053 ft/s. On its own that number means little — the next step is checking whether Stokes’ law was even the right tool for this particle size.
Step 4: Verify with a Reynolds number check
Stokes’ law assumes laminar flow around the falling particle. Confirm that with the particle Reynolds number:
Re = ρf · vs · d / μ
For the 40/70 mesh example: Re = 1,000 × 0.0162 × 0.0003 / 0.005 ≈ 0.97 — just inside the Re < 1 window where Stokes’ law holds. Run the same check across other common cuts in the same 5 cP slickwater and the picture changes fast: 100-mesh sand (d = 0.15 mm) settles at about 0.40 cm/s with Re ≈ 0.12, comfortably laminar. But 20/40 mesh sand (d = 0.70 mm) settles at roughly 8.8 cm/s with Re ≈ 12.3 — well outside the Stokes regime, where the simple formula understates the true settling rate because drag no longer scales linearly with velocity. That’s why coarser proppant needs a more viscous carrier fluid or a faster pump schedule to stay suspended: plain Stokes’ law is optimistic for anything much coarser than 40/70 in a low-viscosity slickwater.
Step 5: Automate it in Python
Wrap the equation in a function that also flags when the result has left the valid Stokes regime, so a bad answer doesn’t silently make it into a job design:
def settling_velocity(d, rho_p=2650.0, rho_f=1000.0, mu=0.005, g=9.81):
"""Stokes' law terminal settling velocity, SI units.
d in m, densities in kg/m3, mu in Pa.s. Returns (vs, Re)."""
vs = g * d**2 * (rho_p - rho_f) / (18 * mu)
re = rho_f * vs * d / mu
if re > 1.0:
print(f"Warning: Re={re:.2f} > 1 -- Stokes' law is not valid; "
f"settling will be faster than this estimate.")
return vs, re
vs, re = settling_velocity(d=0.0003) # 40/70 mesh sand, slickwater
print(f"vs = {vs*100:.2f} cm/s, Re = {re:.2f}")
# -> vs = 1.62 cm/s, Re = 0.97
Loop that function across a range of mesh sizes and fluid viscosities and you get an instant settling-velocity sensitivity table for a frac design meeting, instead of a single number someone half-remembers from a training course. The open-source petropt package on PyPI collects this alongside other petroleum engineering correlations if you’d rather not maintain the formula yourself — check its current documentation for exact function names before wiring it into a pipeline.
Step 6: Use proppant settling velocity in frac design
Settling velocity only matters relative to how long the fluid actually carries proppant before it reaches its target position in the fracture. If vs is high relative to that carry time, proppant banks out near the wellbore, leaving the far-field fracture under-propped — conductivity you paid to create but the well will never see once it flows back. Three practical levers fix a settling-velocity problem: raise the carrier fluid’s viscosity (step up to a crosslinked or high-viscosity friction-reducer system), raise the pump rate to shorten transport time, or step down to a smaller, lighter mesh for the tail-in stages where transport distance is longest. None of those decisions should be made from a gut-feel number — run this calculation for your actual proppant and fluid system before you lock in the pump schedule.
How does mesh size change the settling picture?
The step 4 comparison is worth sitting with, because it explains a design choice engineers make instinctively without always naming the mechanism: proppant diameter enters Stokes’ law as d², so settling velocity is far more sensitive to particle size than to density contrast or viscosity. Doubling the diameter roughly quadruples the settling velocity, all else equal — which is exactly why the step from 40/70 to 20/40 mesh sand pushed this example from a comfortably laminar Re ≈ 0.97 to a clearly non-Stokes Re ≈ 12.3. It’s also why tail-in stages, where the fluid has already lost some of its friction-reducer effectiveness and has less distance left to carry proppant, often switch to a finer mesh rather than simply pumping more fluid: cutting particle size buys more settling-velocity headroom than almost any other lever in the job design.
Expected result, verification, and pitfalls
For this tutorial’s inputs you should reproduce vs ≈ 0.0162 m/s (1.62 cm/s) with Re ≈ 0.97. Sanity-check any settling velocity calculation the same way: larger particles and bigger density contrasts should always raise vs, and higher fluid viscosity should always lower it — confirm that shape before trusting a single-point answer. Three pitfalls catch people most often:
- Ignoring the Reynolds number check. Stokes’ law quietly under-predicts settling for coarser proppant (roughly 20/40 mesh and up) in low-viscosity fluids — exactly the case shown in Step 4.
- Treating the carrier fluid as Newtonian. Crosslinked gels and many friction reducers are shear-thinning; this tutorial’s constant-viscosity model is a reasonable slickwater approximation but overstates settling resistance for complex fluids under shear in the fracture.
- Skipping hindered settling. At the proppant concentrations used in an actual slurry (as opposed to a single isolated particle), neighboring grains slow each other’s fall. Clear-fluid Stokes velocity is a conservative upper bound on real slurry settling, not an exact match.
For more on the fluid systems and tools that manage proppant transport in practice, see our guides to the best AI tools for hydraulic fracturing design and AI tools for hydraulic fracturing diagnostics once the job is pumping.
