Heavy Spring with Double Pendulum

This Demonstration describes the dynamics of a pendulum made up of two springs. The top spring mass is taken into account in the dynamics using Raleigh's method while the lower spring is assumed to be massless. The pendulum bob slides back and forth; it is attached to the end of the lower massless spring. The bob has three degrees of freedom. The equations of motion for the bob and the pendulum are derived using the Lagrangian method and Mathematica's built-in function NDSolve is used to obtain a numerical solution.


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


description of the user interface
The four buttons on the right side are used to control the Demonstration. The reset button brings the Demonstration back to the initial conditions. There are two main sets of control variables. One set is for setting the initial conditions for the top spring, and the second set is used for setting the initial conditions for the lower spring. The "relax" check box for the lower spring is used to put the spring into the relaxed position. For the top spring the relaxed position is set at , while the lower spring is assumed to have zero relaxed length located at the point where the two springs are joined. You can see a trace of the bob motion using the "trace" check box. You can see the location of the center of mass (CM) of the whole system using the "show CM" checkbox.
The result has three parts. The counters show the current state. The field labeled "energy" is the sum of the potential energy (P.E.) and the kinetic energy (K.E.). The field labeled is the total angular momentum of the system. The field labeled is the current extension of the top spring measured from its relaxed position. You can see different plots by selecting the plot type using the pop-up menu labeled "plot type". The main display shows the pendulum itself as it swings.
A pop-up menu labeled "test case" is used to select one of three preconfigured parameters. Click the run button after selecting a test case to start the Demonstration.
The Demonstration runs with no throttling by using a single dynamic variable called "gTick" that is updated at the end of each Manipulate expression evaluation so that the Manipulate expression is reevaluated again immediately. This lets the Demonstration run at the maximum speed. A slider labeled "speed" can be used to adjust the speed of the Demonstration as needed.
The Demonstration runs continuously until you stop it. All units used are in SI.
derivation of equations of motion
The equations of motion are derived using the Lagrangian procedure. Raleigh's method is used for the top spring such that the effective mass used is of the top spring mass. This effective mass is added to the bob mass to account for the vertical displacement of the top spring. The bob has three degrees of freedom: the distance is along the length of lower spring where is the location where the top pendulum attached to the lower pendulum, the angle of rotation and , the vertical displacement of the top spring. For more information on the derivation of the equations of motion, please see the author's report.
[1] David Morin, Introduction to Classical Mechanics: With Problems and Solutions, New York: Cambridge University Press, 2008.
[2] REA's Problem Solver's Mechanics Static and Dynamics, New Jersey: Research and Education Association, 2002.
[3] D. A. Wells, Lagrangian Dynamics, New York: Schaums' Outline, 1967.
[4] S. Timoshenko, Vibration Problems In Engineering, New York: D. Van. Nostrand, 1937.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

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 © 2015 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+