Spring-Mass System on a Rotating Table

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

This Demonstration describes the dynamics of a spring-mass system on a rotating disk in the horizontal plane. A mass at the end of a spring moves back and forth along the radius of a spinning disk. The spring is anchored to the center of the disk, which is the origin of an inertial coordinate system. The bob mass is considered part of the overall disk mass for the purpose of calculation of the mass moment of inertia; therefore, the overall mass moment of inertia around the axis of rotation changes as the bob distance relative to the disk center changes.


There is no friction between the bob and the disk, and the spring mass is negligible. The spring is assumed to be infinitely rigid against rotational movement and will remain straight as it vibrates.

In this system, the overall moment of linear momentum, also called the angular momentum, is constant since no external torque and no energy dissipation are present; therefore, when the bob is near the center of the disk, the angular speed of the disk increases, since the mass moment of inertia has decreased. Conversely, when the bob is close to the edge of the disk, the angular speed of the disk decreases, since the mass moment of inertia has increased. This is similar to what happens when ice skaters pull their hands closer to their body in order to increase the speed at which they are spinning.

The table has a raised edge, and when the bob hits the edge, its velocity is set to zero if the edge wall is an inelastic type. If the edge is an elastic type, the bob's velocity reverses direction. Pure elastic and inelastic material is assumed at the edge.


Contributed by: Nasser M. Abbasi (September 2012)
Open content licensed under CC BY-NC-SA



Following is the mathematical model and solution method. The variables are the following:

is the disk mass

is the mass of the bob

is the spring stiffness

is the disk radius

is the relaxed length of the spring (measured from the center of the disk and taken to be half the length of the disk radius)

is the current position of the bob along the radius measured from the center of the disk

is the disk rotation angle

is the angular velocity of the disk

is the total mass moment of inertia around the axis of rotation through the center of the disk and is given by , where the bob mass is considered a point mass

is the initial position of the bob along the radius

is the initial speed of the bob

is the initial angle of the disk

is the initial speed of the disk.

All units are in SI, and counterclockwise is taken as positive.

Derivation of Equations of Motion

The equations of motions are derived using both the Lagrangian and Newton's methods in order to verify the mathematical model.

The bob has one degree of freedom: the distance along the disk radius. The disk likewise has one degree of freedom: the angle of rotation . The equation of motion for the bob in the direction is , and the equation of motion for the disk is . The torque term in this equation is represented by and since there is no external torque present, this torque is due only to the Coriolis force and not due to external forces. These two second-order coupled differential equations are solved using NDSolve, and the solution is simulated. For more information on the derivation of the equations of motion, please see the author's report.

Description of the User Interface

The top four buttons are used to control the simulation of the solution. The "reset" button brings the simulation back to the initial conditions. The control variables below these are used to change the initial conditions for the disk and the bob. The "relax" checkbox is used to put the spring into the relaxed initial position, which is at half the current value of the radius of the disk (this location is shown by two small markers at the disk surface). You can see a trace of the bob motion using the "trace" checkbox. You can change the length of the disk radius. The bob radius is fixed at 20 cm in the simulation; therefore, as you change the radius of the disk, the bob will appear to change in size relative to the current disk size.

You can select the behavior when the bob hits the edge of the table by choosing the edge to be pure elastic or inelastic using the radio button selection.

The main Manipulate display has three parts. The top part contains counters that show the current state. The field labeled "" is the mass moment of inertia of the disk and the bob combined. The field labeled "energy" is the sum of the potential energy (P.E.) and the kinetic energy (K.E.). The middle part of the display shows different plots. The plot shown is selected using the "plot type" popup menu. The third part shows the disk itself as it spins. You can select the parts to see using the checkboxes to the left.

The "test case" popup menu is used to select one of three preconfigured simulation parameters. Click on the "run" button after selecting a test case to start the simulation.

The simulation runs with no throttling by using a single dynamic variable called "gTick" that is updated or ticked at the end of each Manipulate expression evaluation so that the Manipulate expression is reevaluated again immediately. This allows the simulation to run at the maximum speed. The "simulation speed" slider can be used to adjust the speed of the simulation as needed.

The simulation runs continuously until you stop it. The simulation time counter rewinds each 1000 simulation seconds.


[1] S. Timoshenko and D. H. Young, Advanced Dynamics, New York: McGraw-Hill, 1948.

[2] S. Timoshenko, Vibration Problems in Engineering, 2nd ed., New York: D. Van. Nostrand, 1937.

[3] Research & Education Association, REA's Problem Solvers: Mechanics: Statics and Dynamics, Piscataway, NJ: Research & Education Association, 2002.

[4] D. A. Wells, Schaum's Outline of Lagrangian Dynamics, New York: McGraw-Hill, 1967.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.