Kerr orbit visualizer

In March I wrote a code to compute the frequencies and constants of motion associated with generic, bound, timelike Kerr geodesics. Back then I said I wanted to write an online tool for visualizing the associated orbits. A few weeks back I did just that and I finally have time to share it and write a little about it now. Rather than trying to embed it in the WordPress layout the Kerr timelike orbit visualizer can be found here.

The tool is basic but it will plot most orbits. Note it wont tell you if you enter parameters that do not correspond to Kerr a bound geodesic, you’ll just get a blank plot. Also, special cases like \(a=0, e=0\) and \(\theta_\text{inc}=0\) are not implemented (but you can set a very close to zero value to get it to work).

You can plot the orbit in Boyer-Lindquist coordinates and also in co-rotating coordinates [as defined in Eq. (3.2) of arXiv:0904.3810] where the orbit usually looks much simpler. A nice little feature, which works in most modern browsers, is you can `play’ the orbital frequencies*. I like really like this feature as it allows you to hear the character of each orbit. If you find a set of parameters near a resonance you can hear the beating between the fundamental frequencies.

This visualizer is pretty basic but I’ve had discussions with Leo Stein and Scott Hughes about improving it. In particular, it would be nice to make it more user friendly, provide more information as the orbits are plotted, give a nice set of example orbits, plot the black hole, allow animation of the orbit, etc. It might also be possible to speed up the calculating using fast Fourier transform methods.

The current code uses plotly.js to visualize the orbit. The orbit is computed by numerically integrating the geodesic equations with a fixed-step RK4 integrator found in JSXgraph. Much of the inspiration to create this online visualizer came from Leo Stein’s visualizer for bound, spherical null geodesics in Kerr. Documenting the equations the code solves, as Leo does so nicely, is something that also needs to be done.

* the frequencies do not correspond to any astrophysical extreme mass-ratio binary as such systems have frequencies in the milli-Hertz regime which cannot be heard by humans. Instead I just increase all the frequencies by a constant multiple to make them audible.