[an error occurred while processing this directive]

Bouncing Bob Pendulum

This Demonstration simulates the motion of a double pendulum with the upper bob bouncing back from an obstruction along the vertical axis.
Mathematica's built-in function WhenEvent, triggered whenever the upper bob crosses the vertical, reverses and reduces the angular speed of the upper pendulum and changes the behavior of the lower pendulum accordingly.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


In this Demonstration, the upper arm has both mass and length set to 1. The lower arm has mass and length . The angular positions of the arms are and .
Lagrangian mechanics can be used to derive the equations of motion of the double pendulum. The potential energy and kinetic energy of the pendulum are
Adding the kinetic energy and subtracting the potential energy gives the Lagrangian, .
Substituting this into the Euler–Lagrange equations results in the equations of motion:
xx .
During the solution of these differential equations, the event θ[t]⩵0 triggers WhenEvent, resulting in an action for each of the angular positions of the bobs: is replaced by and is replaced by , where is the rebound ratio.
The formula for the rebound actions was taken from [1].
Snapshot 3 shows that for a 100% elastic impact (), the total energy stays constant during the animation.
[1] S. Timoshenko and D. H. Young, "Lagrangian Equations for Impulsive Forces," Advanced Dynamics, New York: McGraw-Hill, 1948 pp. 225–230.
[an error occurred while processing this directive]

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in Step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2016 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+