Project Work

Posted in Biographical, Education, mathematics with tags , , , , , on April 23, 2018 by telescoper

I’m progressively clearing out stuff from my office prior to the big move to Ireland. This lunchtime I opened one old box file and found my undergraduate project. This was quite an unusual thing at the time as I did Theoretical Physics in Part II (my final year) of Natural Sciences at Cambridge, which normally meant no project but an extra examination paper called Paper 5. As a member of a small minority of Theoretical Physics students who wanted to do theory projects, I was allowed to submit this in place of half of Paper 5…

The problem was to write a computer program that could solve the equations describing the action of a laser, starting with the case of a single-mode laser as shown in the diagram below that I constructed using a sophisticated computer graphics package:

The above system is described by a set of six simultaneous first-order ordinary differential equations, which are of relatively simple form to look at but not so easy to solve numerically because the equations are stiff (i.e. they involve exponential decays or growths with very different time constants). I got around this by using a technique called Gear’s method. There wasn’t an internet in those days so I had to find out about the numerical approach by trawling through books in the library.

The code I wrote – in Fortran 77 – was run on a mainframe, and the terminal had no graphics capability so I had to check the results as a list of numbers before sending the results to a printer and wait for the output to be delivered some time later. Anyway, I got the code to work and ended up with a good mark that helped me get a place to do a PhD.

The sobering thought, though, is that I reckon a decent undergraduate physics student nowadays could probably do all the work I did for my project in a few hours using Python….

Fun with the Airy Equation

Posted in Education, mathematics with tags , , , , , , on April 12, 2018 by telescoper

Today being a Maynooth Thursday, it has, as usual, has been dominated by computational physics teaching. We’re currently doing methods for solving ordinary differential equations. At the last minute before this afternoon’s lab session I decided to include an exercise that involved solving the following harmless-looking equation: $y'' = xy.$

This is usually known as Airy’s equation and it comes up quite frequently in problems connected with optics. It was first investigated by a former Astronomer Royal George Airy, after whom the function is named; incidentally, he was born in Alnwick (Northumberland, i.e. not the Midlands).

Despite its apparent simplicity, the Airy equation describes some very interesting phenomena. Indeed it is the simplest ODE (that I know of) that has the property that there’s a point at which the behaviour of the solution turns from oscillatory to exponential. Here’s a result of a numerical integration of the equation: obtained using a simple Python script:

(I stopped the integration at $x=5$ as the magnitude of the solution grows very quickly beyond that value for the particular initial conditions chosen).

One of the reasons for including this example (apart from the fact that Airy was a Geordie) is that the students were so surprised by the behaviour of the solution and most of them assumed that there was some problem with the numerical stability of their results. Some integration methods do struggle with such simple equations as the simple harmonic oscillator, but just sometimes weird numerical results are not mere numerical artifacts!

Anyway, my point is not about this particular equation or even about computational physics, but a general pedagogical one: finding interesting results for yourself is much more likely to motivate you to think about what they mean than if they’re just described to you by someone else. I think that goes for numerical experiments in a computer lab just as much as it does for any other kind of practical experiment in a science laboratory.