Lessons · momentum

Head-on collision: momentum can be zero — and still conserved

Regime 2 — calculus does what algebra cannot. The acceleration isn't constant, so the algebra formulas don't apply; calculus is the only road in, and SymPy proves the closed form solves the equation of motion.

Regime 2 · calculus does more Math machine-derived & checked by SymPy 2 modeling assumptions (author-asserted)

A m1=1m_1 = 1 kg block moving right at v1=+4v_1 = +4 m/s meets a m2=2m_2 = 2 kg block moving left at v2=2v_2 = -2 m/s, head-on. Their momenta are equal and opposite, so the total momentum is exactly zero. Slide the coefficient of restitution ee from 11 (perfectly elastic — the blocks bounce apart) down to 00 (perfectly inelastic — they latch together): the momentum total stays pinned at zero the whole way (only the split between the two bodies flips, above and below the line), while the kinetic-energy total collapses — at e=0e = 0 the pair comes to a dead stop and all 1212 J is lost. Zero total momentum is still a conserved momentum; it does not mean the collision does nothing.

Elastic (e=1e=1): body 1 final v1v_1'
-4 m/s
Elastic (e=1e=1): body 2 final v2v_2'
2 m/s
Inelastic (e=0e=0): common velocity vcmv_{cm}
0 m/s
Inelastic (e=0e=0): kinetic energy lost
12 J
Momentum conservation is the time-integral of Newton's third law
F12=F21  J1=F12dt=F21dt=J2  Δp1=Δp2F_{12} = -F_{21} \ \Longrightarrow\ J_1 = \int F_{12}\,dt = -\int F_{21}\,dt = -J_2 \ \Longrightarrow\ \Delta p_1 = -\Delta p_2

During contact the two bodies push on each other with equal and opposite forces at every instant (Newton's third law). The impulse each receives is the time-integral of that force, J=FdtJ=\int F\,dt — and since the forces are equal and opposite, so are the impulses. They cancel: Δp1+Δp2=0\Delta p_1+\Delta p_2=0. The total momentum is unchanged no matter how complicated the contact force is, elastic or not. This is the impulse–momentum theorem doing the work the algebra states as a rule.

check m1v1+m2v2=m1v1+m2v2m_1v_1'+m_2v_2'=m_1v_1+m_2v_2; check v2v1=e(v1v2)v_2'-v_1'=e(v_1-v_2); check ΔKE=12μ(1e2)(Δv)2\Delta\text{KE}=\tfrac12\mu(1-e^2)(\Delta v)^2; e=1KEe=1\Rightarrow\text{KE} conserved; e=0e=0\Rightarrow common velocity vcmv_{cm}

  • Total momentum is unchanged for every ee: m1v1+m2v2=m1v1+m2v2m_1v_1'+m_2v_2' = m_1v_1+m_2v_2. The contact forces are equal and opposite (Newton's third law), so the impulses J=FdtJ=\int F\,dt cancel — true for any force profile, elastic or not. [simplify]
  • The solved finals obey the restitution relation v2v1=e(v1v2)v_2'-v_1' = e\,(v_1-v_2) — the relative speed of separation is ee times the relative speed of approach. [simplify]
  • The kinetic energy lost is 12μ(1e2)(v1v2)2\tfrac12\mu(1-e^2)(v_1-v_2)^2 with reduced mass μ=m1m2/(m1+m2)\mu=m_1m_2/(m_1+m_2) — so KE is conserved only when e=1e=1, and the loss is greatest when e=0e=0. [numeric]
  • At e=1e=1 (perfectly elastic) the kinetic energy is unchanged: KEf=KEi\text{KE}_f = \text{KE}_i. [simplify]
  • At e=0e=0 (perfectly inelastic) the bodies move off together at the common velocity vcm=(m1v1+m2v2)/(m1+m2)v_{cm}=(m_1v_1+m_2v_2)/(m_1+m_2). [structural]

Dimensional homogeneity: checked by SymPy (holds).

Common misconception: “When two equal-and-opposite momenta cancel to a total of zero, there is 'no momentum' to conserve — so a head-on collision like this is a special case where conservation doesn't really say anything.

Zero is a perfectly good value of the total momentum, and it is conserved: it stays zero before, during, and after, at every ee. Conservation is not silent here — it is what forces the two final momenta to remain equal and opposite. And it is independent of kinetic energy: drag ee to 00 and the blocks stop dead (the common velocity is vcm=(m1v1+m2v2)/(m1+m2)=0v_{cm} = (m_1v_1+m_2v_2)/(m_1+m_2) = 0), losing all 12μ(v1v2)2=12\tfrac12\mu(v_1-v_2)^2 = 12 J of kinetic energy, while the momentum total never budges from zero. A zero total momentum is the cleanest possible proof that momentum conservation and kinetic-energy conservation are two different statements.

Modeling assumptions — author-asserted, disclosed not discharged
  • An isolated 1D collision: no external horizontal force during contact, so the total momentum is conserved (the blocks' mutual forces are internal). Up the track is positive, so v2<0v_2 < 0 is genuinely the leftward block.
  • The outcome is summarised by a single coefficient of restitution e[0,1]e \in [0, 1] — the ratio of the relative speed of separation to the relative speed of approach — rather than modelling the contact force in detail.

The stacked graph, fully annotated

A static rendering (Matplotlib) at the default parameters — the interactive version is in the Graph tab above.

2026-06-27T13:28:19.146231 image/svg+xml Matplotlib v3.11.0, https://matplotlib.org/