Cm-to-meter "pebbles" in a protoplanetary disk orbit slightly faster than the gas, because gas is pressure-supported and orbits a touch below Keplerian speed. Gas drag makes pebbles feel a steady headwind and drift inward — Weidenschilling's classic radial-drift formula:
v_r = -2·St·η·v_K / (1 + St²)
v_φ = -St²·η·v_K / (1 + St²)
St = stopping time × Ω (dimensionless pebble size)
η = fractional gas pressure support (~1e-3, fixed here)
The streaming instability (Youdin & Goodman 2005) is a feedback loop: where pebbles happen to bunch up, their collective drag pushes back on the gas, locally weakening the headwind. Weaker headwind means slower drift, so pebbles pile up there even more — a runaway concentration modeled here as:
η_local = η₀ / (1 + b·ε_local), ε_local = ρ_pebbles / ρ_gas
Turbulence (α) counteracts this by diffusing pebbles apart — real streaming instability only operates efficiently when α is low and Z is high enough. When a cell's pebble density exceeds the Roche density ρRoche = 9Ω²/(4πG) (Ω = G = 1 in these normalized units), self-gravity can bind that clump directly into a planetesimal tens to hundreds of km across — skipping the slow, collision-by-collision growth that classical accretion needs.
- Z — how much solid mass is available; real disks need Z ≳ 2–3% for the instability to trigger.
- St — pebble size/coupling; growth is fastest for St ≈ 0.1–1 (cm–dm scale at 1–5 AU).
- α — turbulence strength; low α lets clumps survive long enough to collapse.
- Self-gravity toggle — switch it off to see pebbles pile into dense filaments that never collapse, exactly what the theory predicts without the final gravitational step.
This mechanism is the leading explanation for how mm–cm pebbles jump straight to 10–100 km planetesimals, bypassing the "meter-size barrier" that stalls slow collisional growth.