Why doesn’t a falling raindrop keep speeding up?
Gravity pulls down with the same force the entire fall — about per kilogram, second after second. Free-fall in vacuum keeps accelerating; that’s the no-drag picture from projectile motion. But in air, raindrops settle at maybe 9 m/s, parachutists at maybe 5 m/s, and dust motes barely move at all. None of them are violating Newton; they’ve just hit a
Terminal velocity isn’t a maximum — it’s an equilibrium. The asymptote where gravity and drag cancel.
Velocity is a derivative; acceleration is another
A falling object has a position . From the derivatives module,
Two forces — gravity is constant, drag isn't
A falling raindrop has two forces acting on it. Gravity pulls down with constant magnitude ; per unit mass that’s just , regardless of how fast it’s moving.
The net force per unit mass — what goes into — is the difference:
Two terms. The first is constant. The second isn’t. That’s the whole equation.
What dv/dt = g − kv actually says
Read it left-to-right: at any instant, the rate at which velocity is changing equals gravity minus drag. The interesting thing is that drag depends on v itself: it’s part of the right-hand side of the equation that determines how v evolves. That’s what makes this a differential equation — the unknown function and its derivative both appear.
Three regimes, all readable from the formula alone:
- small (just dropped from rest): is small, so — full acceleration, just like vacuum free-fall.
- moderate: is significant. is positive but smaller. Velocity still grows, but more slowly.
- exactly: . . Velocity stops changing. This is
.terminal velocity - v > g/k (e.g., thrown downward fast): kv > g. dv/dt < 0. Velocity decreases — drag wins, the object slows down. Until it hits from above.
The widget’s blue curve is approaching the dashed green line from below; in either direction, is the destination.
import math
# Per-unit-mass equation of motion: dv/dt = g - k*v.
# Two competing forces, both per unit mass:
# gravity → +g (constant, pulls v upward in magnitude)
# drag → -k*v (proportional to current speed, opposes motion)
g = 9.8
def dvdt(v, k):
return g - k * v
# At v = 0, drag is zero; gravity is unopposed; full acceleration.
# As v grows, drag grows proportionally; net force shrinks; acceleration
# shrinks. The shrink is the whole point — the system has a built-in
# governor.
[(v, round(dvdt(v, k=0.5), 2)) for v in (0, 5, 10, 15, 19.6, 25)]
# → [(0, 9.8), free fall — nothing opposing
# (5, 7.3), drag has eaten 2.5 of g
# (10, 4.8),
# (15, 2.3),
# (19.6, 0.0), EQUILIBRIUM — v_t exactly
# (25, -2.7)] above v_t: drag wins, decelerationTerminal velocity = solving dv/dt = 0
The “destination” is just whatever value of makes . Set it and solve:
One line of algebra. Larger drag (bigger ) gives smaller terminal velocity — a feather settles fast and slow; a bowling ball would take forever to reach in air (and in practice would hit the ground first). This is a
The formula isn’t a deep theorem; it’s a fixed-point reading. The same shape appears every time a quantity has competing influences that depend on the quantity itself: heating coffee in a cool room reaches the room temperature; a capacitor charging through a resistor reaches the supply voltage; a population with births and deaths proportional to size reaches a carrying capacity. Different physics, same fixed-point hunt.
# Solve dv/dt = 0 for terminal velocity. One line of algebra.
# g - k*v_t = 0 → v_t = g/k.
def terminal_velocity(k, g=9.8):
return g / k
# Linear-drag terminal velocities for a few familiar k values.
[(name, k, round(terminal_velocity(k), 1))
for name, k in (("feather", 6.0), ("raindrop", 1.6),
("skydiver", 0.4), ("bowling ball", 0.05))]
# → [('feather', 6.0, 1.6), reaches ~1.6 m/s in well under a second
# ('raindrop', 1.6, 6.1),
# ('skydiver', 0.4, 24.5), classic ~50 mph free-fall figure
# ('bowling ball', 0.05, 196.0)] approaches very slowly, in practice
# it'd hit the ground long before
# Real raindrops sit closer to 9 m/s because actual drag is closer to
# v² than v; the linear case is a teaching simplification.The approach is asymptotic — and exponential
The closed-form solution from rest is
The error from terminal — the gap — is : it shrinks exponentially. After seconds, the error has halved. After seconds, the error is below 1% of . The widget makes this readable: drag slider up (large ) pulls the curve hard to the asymptote in a fraction of a second; drag slider down (small ) lets it crawl up over many seconds.
Why exponential? Take the derivative of the error : . The error’s rate of change is proportional to the error itself, with a negative sign. That’s the defining shape of exponential decay. Anything whose rate of change is proportional to itself ends up being an exponential — the logarithm module names this from the other direction. Linear-drag falling, capacitor charging, radioactive decay, Newton’s cooling: same equation, same answer.
# Closed-form solution from rest, by separation of variables.
# v(t) = v_t * (1 - exp(-k*t))
# At t = 0, v = 0 (rest). As t → ∞, v → v_t. Half of v_t is reached at
# t = ln(2)/k ≈ 0.693/k. After 5 'time-constants' (5/k seconds), v is
# within 1% of v_t.
def v_of_t(t, k, g=9.8):
return (g / k) * (1 - math.exp(-k * t))
[(t, round(v_of_t(t, k=0.4), 2)) for t in (0, 1, 3, 5, 10, 20)]
# → [(0, 0.0),
# (1, 8.1), a third of v_t
# (3, 17.1), two-thirds
# (5, 21.2), ~87% of v_t = 24.5
# (10, 24.0), ~98%
# (20, 24.5)] within 0.001
# Same shape as a charging capacitor, a heating cup of coffee, a leaky
# bucket — every first-order linear ODE with a stable fixed point traces
# this curve. The terminal value is the fixed point; k is the rate at
# which deviation from the fixed point decays.Terminal velocity tells you how fast the object eventually falls. The next obvious question is how far has it fallen by time t? — and that’s an integration question. Once is known, distance is accumulated velocity: . The area under the velocity curve, from 0 to , is the distance fallen by then. Plug in and the integral is closed-form: . Two regimes are readable from this: for small , the curve sits below the line (you haven’t been falling at terminal speed for the whole interval); for large , the gap stops growing and is essentially — terminal speed times time, minus a constant offset that records “the time you spent accelerating up to terminal.”
Real raindrops obey quadratic drag, not linear. : the force grows with the square of speed, not its first power. The terminal-velocity logic still works — set , solve , — but the approach is no longer a clean exponential and the numbers are different. Linear drag’s is a teaching simplification for low Reynolds number (small or slow). The shape of the answer (asymptote at force balance) doesn’t depend on which drag law; the closed form does.
Terminal velocity isn’t a maximum — it’s an equilibrium. Gravity is a constant force; drag is a force that grows with speed. Where they balance, , and velocity stops changing. The equation turns “why does falling level off” into “where’s the fixed point of ?” — and the answer is one line of algebra.
In the widget, set the raindrop preset (). Read off the terminal velocity from the dashed asymptote without computing. Now confirm it from the formula with .
Take and . What is the terminal velocity? Now double to . What happens to ? Now halve it to ?
For , : terminal velocity is . Compute at three speeds: , , . What does the sign tell you in each case?
A student watches a raindrop fall at terminal velocity and concludes: “since the drop isn’t accelerating, gravity has stopped acting on it.” Refute in one sentence. What’s the correct picture?
Two intervals of equal length, both : one early in the fall ( to ) and one late ( to , by which point is essentially ). Use , . Compute the distance fallen during each interval. Why does the late interval cover more ground despite being the same time?
Introductory physics teaches free-fall (no drag) for tractability, then waves at “real falls involve air resistance, but it’s complicated.” The complication is one extra term in one equation: . From that single line, terminal velocity is one line of algebra (), the approach is one line of integration (), and the connection to charging capacitors and cooling coffee is one paragraph. Lemma keeps the equation in front of the reader because that’s where the physics actually lives — not in the table of “common terminal velocities” that fills textbook sidebars. Terminal velocity is not a fact about raindrops; it’s a fact about any first-order system with a stable fixed point.