On this page
A block of mass m₁ slides at speed u across a smooth floor towards a second block of mass m₂, which is at rest with a light spring fixed to its front. The question asks two things: how far does the spring compress at most, and how fast are the blocks moving after they separate? You need two conservation laws, each applied at the right instant.
What happens at the instant of maximum compression?
While block A moves faster than block B, the gap between them shrinks and the spring squeezes. Once B moves faster than A, the gap grows again. The turning point is the instant their relative velocity is zero: at maximum compression both blocks move with the same velocity. The whole problem hangs on that one idea.
At that instant the pair moves like a single body, just as two objects do after a perfectly inelastic collision, which OpenStax University Physics calls a collision in which the objects stick together. The same section notes that momentum is conserved in all interactions. The difference here is that the kinetic energy that goes missing is not lost to heat. It sits in the spring.
How do you find the maximum compression?
Momentum (no horizontal external force on a smooth floor): m₁u = (m₁ + m₂)v, so v = m₁u/(m₁ + m₂).
Energy (ideal spring, no friction): ½m₁u² = ½(m₁ + m₂)v² + ½kx². The spring term is the elastic potential energy U = ½kx² given in OpenStax University Physics, section 8.1.
Substitute v and simplify: ½kx² = ½μu², where μ = m₁m₂/(m₁ + m₂) is the reduced mass. So x_max = u√(μ/k).
The reduced mass is no accident. It is the same quantity that sets the period when two blocks joined by a spring oscillate, because only the relative motion stretches or squeezes the spring.
Worked example: a 2 kg block hits a 4 kg block
Take m₁ = 2 kg moving at u = 6 m/s, m₂ = 4 kg at rest, and a spring with k = 1200 N/m.
Initial kinetic energy: ½ × 2 × 6² = 36 J.
Common velocity: v = (2 × 6)/(2 + 4) = 2 m/s.
Kinetic energy at common velocity: ½ × 6 × 2² = 12 J.
Energy in the spring: 36 − 12 = 24 J.
Compression: ½ × 1200 × x² = 24, so x² = 0.04 and x = 0.20 m.
Check with the shortcut: μ = (2 × 4)/6 = 4/3 kg, and ½ × (4/3) × 6² = 24 J. Same answer. The energy-only mistake would give ½ × 1200 × x² = 36, or x ≈ 0.245 m, about 4.5 cm too much.
What are the velocities after the blocks separate?
The spring keeps pushing until it returns to its natural length. At that moment it stores no energy, so all 36 J is kinetic again and momentum is still 12 kg m/s. Both totals match the start, which are exactly the conditions of a one-dimensional elastic collision.
For a target initially at rest, HyperPhysics gives the final velocities as v₁' = (m₁ − m₂)u/(m₁ + m₂) and v₂' = 2m₁u/(m₁ + m₂).
In the example, v₁' = (2 − 4)/6 × 6 = −2 m/s, so A bounces back, and v₂' = (2 × 2)/6 × 6 = 4 m/s forward. Check: momentum 2(−2) + 4(4) = 12 kg m/s, and kinetic energy ½ × 2 × 4 + ½ × 4 × 16 = 4 + 32 = 36 J. With equal masses, A stops dead and B leaves at u. With a heavier A, both move forward.
The same two-stage habit, momentum first and energy second, also solves the ballistic pendulum. If you prefer to work with momentum directly, kinetic energy as p²/2m shortens the algebra.
Where do students lose marks on this problem?
Run through this checklist first:
Ask: when is the relative velocity zero? That instant is maximum compression.
Ask: what is stored in the spring then? Initial kinetic energy minus kinetic energy at common velocity.
Ask: what is stored at separation? Nothing, so use the elastic-collision results.
Keep signs: a negative v₁' means A moves backwards, not that you made an error.
Check the floor: the method needs a smooth floor. Friction is an external force, so neither total stays fixed.
Do not worry about which block carries the spring. Fixing it to A instead of B changes nothing.
If you keep reaching for energy alone, the Fermi Problem Library has worked problems with a step-by-step solver that explains the reasoning rather than printing an answer, so you can see which law applies at which instant. For ideas that are easier to see than read, such as a spring squeezing and releasing, the Fermi Simulation Lab has interactive simulations.
Try changing m₂ to 2 kg in the example and predict both final speeds before you calculate.



