Double Pendulum Simulator

Double pendulum is an open source (GNU GPLv3+) application to visualise the chaotic motion of double pendula. It is written in C++ using the Qt toolkit and runs under all operating systems supported by Qt.



2009-11-01: Update on 0.3

Version 0.3, which should be available by the end of the year, is coming along nicely. Although I don't expect there to be many new features it does sport a more polished interface and smaller executable size.

2009-05-07: 0.2 Released

Version 0.2 is released. Last-minute features include:

2009-05-03: Update on 0.2

Version 0.2 is progressing well and should be ready near the end of next week. Highlights:

2009-04-08: First public release

This is the first public release of double pendulum. Source and binaries can be found from the download section.


As of version 0.1 double pendulum supports:



The follwing bugs are known to exist in version 0.1.

Animation may not be real-time

If the system can not maintain the required frame-rate (60 FPS) then the simulation will start to lag. A system which can only manage 30 FPS will run the simulation twice as slowly as it would occur in real life. This should be fixed in version 0.2.

The width of the pendulum settings dock changes under KDE

When running under KDE (4.2) with the default style changing the active pendulum (done via the drop-down menu) will have the effect of increasing the minimum width of the dock. This occurs every time the active pendulum is changed. Cause currently unknown but has only been witnessed with the default KDE theme. This is fixed as of KDE 4.2.4.


The following features — time permitting — can be expected in future versions:



The latest version can always be downloaded from the projects git repository.

Version 0.2 — 2009-05-07

Source code.
.zip — 210 KiB
.tar.gz — 187 KiB

Version 0.1 — 2009-04-08

Source code.
.zip — 188 KiB
.tar.gz — 176 KiB


The program was originally written in early 2009 as part of my first year physics computing lab at Imperial College London. Since then several bugs have been fixed and new features implemented.

The double pendulum was also the subject of my lab report for the cycle. Although somewhat idiosyncratic it does provide a reasonable explanation of the chaotic nature of a double pendulum, the algorithms that can be used to simulate it and how they can be verified. The report can be found — warts and all — in PDF format here. (For those who are interested the final mark for the report was 25/25.)