Momentum Calculator

Momentum, impulse and elastic or inelastic collisions.

About this tool

Enter two masses and their velocities (negative for the opposite direction) and set the coefficient of restitution. The tool gives the velocities after the collision, the momentum, and kinetic energy before and after. Below, enter a force and duration to calculate impulse.

Conservation of momentum

Momentum is p = m ร— v. With no external force, the total momentum before a collision equals the total after. Kinetic energy is a different story, controlled by the coefficient of restitution e, the ratio of separation speed to approach speed. At e = 1 the collision is perfectly elastic, and kinetic energy is conserved too; at e = 0 it's perfectly inelastic, the objects move off together, and the maximum energy is lost. Final velocities are vโ‚' = (mโ‚vโ‚ + mโ‚‚vโ‚‚ + mโ‚‚e(vโ‚‚ โˆ’ vโ‚)) รท (mโ‚ + mโ‚‚) and similarly for vโ‚‚'. A 2 kg object at 3 m/s hitting a stationary 1 kg object elastically leaves at 1 m/s, sending the other off at 4 m/s; if they stick, both move at 2 m/s and 3 J of the 9 J of kinetic energy is lost. Impulse, force ร— time, equals the change in momentum, which is why airbags and crumple zones that stretch out an impact reduce the force. Honest limits: this is a head-on, one-dimensional model without friction or spin. The energy calculator and the force calculator are related.

Frequently asked questions

What is the formula for momentum?

Momentum p = mass ร— velocity, in kgยทm/s.

What is the difference between elastic and inelastic collisions?

In elastic collisions kinetic energy is conserved; in inelastic collisions some is converted to heat, sound and deformation. Momentum is conserved in both.

What is impulse?

Force multiplied by the time it acts. It equals the change in momentum.

What is the coefficient of restitution?

The relative speed after a collision divided by the relative speed before: 1 for perfectly elastic, 0 for perfectly inelastic.

Is my data sent anywhere?

No. Everything is calculated in your browser, and nothing is stored or sent.