Physicist's Pinball

Having finally finished my degree (woohoo!) I decided to do something useful with my part III project, so here it is.

Introduction

This applet is intended to illustrate the "pinball" scenario described in Classical and Quantum Chaos - A Cyclist's Treatise. I strongly recommend having a look at this web-book before continuing.

My project consisted of a Java program and a report. I've now converted the program to an applet (below); this involved a fair amount of work (porting simulation from C++ to Java and porting GUI from Swing to AWT), so please forgive any minor bugs that may have been introduced.

You should see a button above - click it, and the program will open in a new window. If you don't see a button (a grey rectangle maybe?), the applet may still be loading. If you can't get it to work, and you know for sure that other Java applets work in your browser (don't confuse Java with JavaScript), please let me know.

I've converted the report to pdf, and you can download it here, along with a (very brief) tutorial for the program. You may also download a "native" version of the code; these have the simulation implemented in a native library. The performance gain is not really all that large, and you need to have a Java Runtime installed (download from http://java.sun.com/), so you're probably better off using the applet version above.

The abstract for the report can be found below.

Abstract

This report concerns the analysis of a theoretical "pinball game", involving an infinitesimally small particle bouncing between three discs, and the development of a software tool to aid in visualization of this system.

An important property of the system is the "escape rate". This determines the proportion of particles which escape (as opposed to remaining trapped between the discs) after a given number of bounces. Although this quantity can obviously be measured (with poor accuracy) by simulating a large number of particles, it is actually possible to obtain an approximation solely through consideration of finitely many periodic trajectories ("cycles") of the system.

The software tool has been implemented in a combination of Java and C++, the former being used for the user interface and the latter for the simulation engine. The software presents the user with a Poincaré section (see §2.2) of the system, alongside a pictorial representation of the three spheres. The user can instruct the program to find cycles matching a supplied itinerary of disc labels, from which the escape rate of the system may be calculated.

In addition, some work has been done towards the generalisation of the model, so that more than three discs may be considered (see §6), through the introduction of a new notation for prime cycles. With this modification, the simulator is able to predict the escape rate for arbitrarily many discs, subject to a condition on spacing and radius (see §6.3).

By the way...

I'd like to thank my project supervisor, Adam Prügel-Bennett, for his guidance, support and encouragement. Also I want to ensure that due credit goes to Predrag Cvitanovic et. al., responsible for the "Chaos Book". If they didn't write that book, who knows what I would have done for a third year project?

If you have any comments, questions, suggestions or criticism on the applet or the report (or anything on this site), please send mail to william@soton.ac.uk.

Back to www.benfold.com