source code in HTML
source code in PDF

Chaotic motion of damped driven pendulum

Nasser M. Abbasi

September 2, 2011 compiled on — Wednesday July 06, 2016 at 08:33 AM

1 Introduction

A continuous time system with a minimum of three independent dynamic variables can exhibit chaotic motion under certain initial conditions.

A damped and driven pendulum is one of the simplest systems to use in the study of chaos. One of the important characteristic of a chaotic system is its extreme sensitivity to initial conditions. This Demonstration implements a number of methods used in the analysis of such systems: bifurcation plot, Poincare map, phase portrait, time series, and power spectrum. The Lyapunov exponents method will be included in a future version.

Viscous damping is assumed at the point where the pendulum is suspended.

A torque at that point is then applied as the pendulum swings. The details section contains the theory and description of the use of this Demonstration.

2 Theory background

θ′′(t)+ cθ′(t) + g-sin (θ(t)) = A sin(ωft)

Is a second-order nonlinear differential equation that models the motion of a simple pendulum subject to a forcing function Asin(ωt)  , where c  is the damping coefficient, L  is the length of the pendulum, and θ(t)  is its angular position.

For ease of analysis this differential equation is first converted to a nondimensional form as follows. Let


where ωn  is the pendulum's undamped natural frequency given by      ∘ --
ωn =    g-
        L  and g  is the gravitational constant.

Applying this transformation results in dτ
dt = ωn  , and using

d-θ   dθd-τ
 dt = dτ dt

results in


Substituting these back into the original differential equation and dividing throughout by ω2
 n  gives

θ′′(τ)+ θ-(τ)+ sin(θ(τ)) = a sin(ωτ )

Where the derivatives are now with respect to τ

Q  is called the quality factor. This is the nonlinear differential equation that is used in this Demonstration, not the original one.

The driver frequency ω  is given by      -ϕ
ω = ddτ  where ϕ  is the phase angle. This system is now converted to state form   ′
X  =  AX  which contains three first-order differential equations as follows.

Let x1 = θ,x2 = ddθτ  , and x3 = ϕ  . Taking derivatives gives


Therefore viewing the system in state form gives


NDSolve[] is used to solve this system. The initial conditions are                     ′
x1(0 ) = θ(0),x2(0) = θ (0)  , and x3(0) = ϕ(0)  . Therefore, the three dynamic variables (or state-space variables) in this model are θ(τ), ddθτ  , and ϕ(τ)  .

3 Using the program

The top buttons are used to run and control the simulation. You can vary the simulation time up to a maximum of 500  units of time. Use the pause button to pause the simulation at any time. Use the step button to advance the time by one unit. Use the reset button to bring the system back to initial time. Use the button labeled fast to advanced the system to the end of the simulation period immediately without going through the animation steps.

Use the slider labeled Δ τ  to adjust the size of the time step. The smaller the step size, the more accurate and more smooth the motion will appear but it will take longer time to run.

The parameters of the system Q,a,ω  are varied using the sliders. Making Q  zero will remove damping from the system, while making a  zero will remove the forcing function. This effectively makes the system run as a standard simple pendulum with no damping and no forcing function.

There are five main plots on the display. The Poincare map is always plotted to reflect the state at the end of the simulation period. The y  axis represent the values of the angular velocity of the pendulum sampled at time intervals equal in magnitude to the period of the forcing function.

The phase plot is updated as time is advanced and at each step. Similarly for the time series plot and the power spectrum plot.

Switch between the time series plot and the power spectrum plot using the option selection shown in the left part of the display. The phase portrait was drawn such that the angle of the pendulum is kept between − π  and π  to make it easier to draw the plot.

The display of the actual physical pendulum is also shown with a small arrow attached to the bob. The length of the arrow indicates the relative magnitude of the current angular velocity. The inner arrow represents the relative strength of the external torque.

The directions of the arrows represent the sign of the respective values. Anticlockwise arrow direction indicates a positive sign.

The bifurcation plot is only updated when you click the button labeled ”generate”. This lets you choose your parameters before viewing the final result as it takes time to generate the plot. The parameters used to select the bifurcation plot lets you select the range of values of the parameter a  (the torque amplitude). The more intervals you ask for, the clearer the plot will be, but it takes longer to generate as the system is numerically solved for each interval. Sampling of values starts after the time has reached 150  periods of the driver frequency, in order to allow transient effects to attenuate sufficiently.

The solution is then run for an additional 100  periods to collect the data for the plot. This is done at each interval. Therefore, the y  axis for the bifurcation is similar to the y axis of the Poincare map; however, the x  axis represents a  and not θ  as in the phase portrait and Poincare map.

The current time the simulation is at is displayed on the right side of the title of the bottom plot. When the system reaches the end of the simulation, the reset button can be used bring it back to the initial time.

Simulation will not advance beyond 500 time units.

The Demonstration comes with a number of test cases preconfigured to show different aspect of the behavior of the system. These test cases are selected from the popup menu shown. Once a test case is selected, the user interface parameters are updated automatically, and the final simulation result is shown based on the use of these new parameters.

4 Possible issues

  1. The maximum simulation duration of 500  was fixed in the program for efficient implementation. Hence this value should not be increased without adjusting the corresponding internal variable in the software that depends on this value.
  2. When the current time is at the maximum duration time, clicking the run or step button has no effect. The reset button can be used to bring the system to the initial state in order to run a new simulation.

5 References

  1. R. Fitzpatrick, lecture notes on the web, Physics 329, Introduction to Computational Physics, The University of Texas at Austin.
  2. R. Gilmore and C. Letellier, The Symmetry of Chaos, Oxford University Press, 2007
  3. Lecture notes on Chaos, Davidson College physics department, Davidson, NC.
  4. Gerry Leo, chaotic dynamics notes on the web.