Ballistic pendulum

Compare an inelastic impact with the undamped motion of an ideal rigid-rod pendulum.

About this tool

A projectile of mass mᵦ strikes the stationary pendulum mass mᴮ horizontally at the bottom and sticks to it. The ideal support is a massless rigid rod of length L with point masses at its end. It can push as well as pull. This is not a string pendulum or a massive physical rod; friction, air resistance and pivot losses are excluded. Gravity is g = 9.81 m/s².

During the instantaneous impact, horizontal momentum is conserved: mᵦv = (mᵦ + mᴮ)V. The before/after kinetic energies are ½mᵦv² and ½(mᵦ + mᴮ)V². Their difference is energy lost in the inelastic impact. For nonzero impact speed, the lost fraction is mᴮ/(mᵦ + mᴮ). When v = 0, the displayed loss fraction is defined as zero, since both energies are zero.

After impact, the combined mass moves without damping: θ̇ = ω and ω̇ = −(g/L)sinθ. Height is h = L(1 − cosθ), kinetic energy K = ½(mᵦ + mᴮ)L²ω² and potential energy U = (mᵦ + mᴮ)gh. K + U remains constant; linear momentum does not remain constant during the subsequent swing.

The energy-equivalent height is hₑ = V²/(2g). For 0 < hₑ < 2L, the pendulum turns at θₘₐₓ = acos(1 − hₑ/L). At hₑ = 2L, the separatrix approaches 180° and height 2L only asymptotically. Above this threshold, the rigid-rod pendulum rotates and reaches height 2L with nonzero speed; no turning angle is reported. Zero speed gives rest. Classification at the threshold allows only a small floating-point tolerance.

Impact results and the drawing before impact update directly when inputs change. Run starts or resumes; the initial approach is a 0.4-second schematic independent of playback speed, not a projectile flight-time calculation. Swing time starts at impact. Step skips the approach and advances swing time by 0.05 s. Pause, physical input changes and leaving the tool stop playback. Reset returns the current inputs to the before-impact preview. Raw drafts, including blank or invalid fields and decimal commas, and playback speed survive reload. Older numeric and valid semicolon inputs migrate automatically; no motion, time, phase, history or camera is saved. Reopening recalculates the preview without starting animation. The drawing fits the full circular path at every rod length; angles are measured from the downward vertical and accumulate through full turns.

Oscillations and rotations use the shared fourth-order Runge–Kutta integrator with small bounded substeps. The separatrix uses its analytical solution to avoid numerical drift into rotation. Sources: UCSB: ballistic pendulum and MIT: pendulum dynamics.