Real Time Relativity [RTR], developed by Craig Savage and his team at the Australian National University, allows you to “fly through” a virtual world at relativistic speeds.

RTR+EM is a modified version of RTR, incorporating relativistic electromagnetism.  RTR flies through a static “world” which contains electric charges – Lorentz transformations modify the electric field relative to that seen by a static observer, as well as generating a magnetic field.  Electric and magnetic field vectors can be displayed individually, or simultaneously.  RTR scenarios are specified via XML files – these can be edited, so charge configurations can be modified by the user without recompiling the code.

RTR+EM does not support accelerated charges, and thus does not model radiation. However, it demonstrates relativistic transformations of the electric field and the relativistic origin of the Biot-Savart law, where the magnetic field of a constant current is the consequence of viewing electric charges in a boosted frame.

RTR+EM is “forked” from version 1.60 of RTR, and released under the GNU Public License. Installers for Mac and Windows executables as well as the source code can be found below.  The source code includes a number of graphics elements and ancillary libraries needed to compile the code, and is approximately 200MB (compressed).

RTR scenarios are specified via XML files – these can be edited, so charge configurations can be modified without recompiling the code.


KNOWN ISSUES: This software is released on an “as-is” basis, and remains a work in progress. It worked on MacOS 10.5 through 10.6.4 and recent versions of Windows. However, we make no promises that it will continue to work, although the executable runs on MacOS 10.11. The “game” is played with the keyboard (or mouse), and needs a bit of practice before you can easily manoeuvre through space.

RTR+EM does not support accelerated charges, so does not model electromagnetic radiation. However, it demonstrates relativistic transformations of the electric field and the relativistic origin of the Biot-Savart law.


BASIC COMMANDS: Hit “Escape” to get the main menu, and to set the keys (or mouse) used for steering.  Hitting the “E” key will toggle the display of the E field, the B field, E and B together, and no electromagnetic fields. The “M” key turns other relativistic distortions off and on. When these are on, the layout of the charges is changed by the standard relativistic effects which RTR was designed to display. The 8 and 9 keys move the plane in which the field values are displayed backward and forward, in a line between the “observer” and the center of the RTR co-ordinate system.


FEEDBACK: This project is not currently being updated, but any comments would still be welcome!


USES AND APPLICATIONS: If you use RTR+EM in your teaching, or just find it informative, please let us know!


ACKNOWLEDGMENT: This work was supported by the National Science Foundation (CAREER-PHY-0747868), and the Paul Moore fund of Yale College. We are very grateful to Craig Savage and his collaborators for generously placing RTR under an open source license, and thus making RTR+EM possible. We also thank Michael Williamson for technical advice on the initial implementation of the electric and magnetic field vectors inside RTR.


AUTHORS: Richard Easther and Katherine Rosenfeld


This patch implements code described in arXiv:1012.5299 and published in JCAP, with DOI 10.1088/1475-7516/2011/05/016. The patch applies to the January 2010 release of CosmoMC and is unlikely to work with more recent versions of CosmoMC. A more sophisticated interpolation algorithm is described in arXiv:1506.01079.


InterpMC is a patch for CosmoMC which speeds parameter estimation by caching the likelihoods computed as CosmoMC runs, fitting an interpolating polynomial and, when  feasible, using the interpolated values in place of a full likelihood computation.

To install InterpMC, download the unix patch file below, and a fresh copy of CosmoMC, then execute the following commands from the shell, in the CosmoMC source directory:

> patch –dry-run -p1 -i interp_mc.patch

[Checks patch will be applied without generating errors]

> patch -p1 -i interp_mc.patch

[Applies patch]

Then run “make” as usual.   Next, edit the params.ini file you are running with to include the following additional lines (possibly with other numerical values of your choice):

do_interp = T

interp_order = 4

factor = 3

cut = 8

faction_cut = 0.2

Now you can run CosmoMC as usual.

Click to download patch file.

Click to download ReadMe file.

InterpMC was written by Adam Bouland, Richard Easther and Katherine Rosenfeld.


MPI-Defrost extended Frolov’s Defrost to an MPI-based cluster environment; this version is restricted to a single field. Restoring two-field support should be straightforward, but will require some code changes. Some output options may also not be fully supported under MPI.

This code was produced to support our own work, and has been made available for the benefit of anyone interested in either oscillon simulations or an MPI capable version of Defrost, and it is provided on an “as-is” basis.  Andrei Frolov is the primary developer of Defrost and we thank him for placing his work under the GPL (GNU Public License), allowing us to distribute this modified version.

Click to download MPI-Defrost

ModeCode – Bayesian Parameter Estimation for Inflation

ModeCode [Mortonson, Peiris and Easther] provides a numerical solution of the perturbation equations and resulting spectrum for an arbitrary inflationary potentials and implement Bayesian parameter estimation for inflation.

ModeCode was based on code previously used in Peiris et al. (2003) [BibTeX] and Mortonson, Dvorkin, Peiris & Hu (2009) [BibTeX]. It is modelled on the algorithm described in Adams, Cresswell and Easther (2001) [BibTeX].

ModeCode has been generalised to MultiModeCode and interfaced with PolyChord — details and git repository at ModeCode.org


Constraints on spectral parameters for natural inflation, assuming instant reheating (red) and general reheating (grey); arXiv:1007.4205



OLD VERSION: The initial version of ModeCode was interfaced with the Jan 2011 version of CosmoMC, in order to use ModeCode for parameter estimation; you may download the tarball of the old version directly below.

  1. README (with code use description and installation instructions)
  2. ModeCode tarball
  3. Tarball (>100 Mb) of MCMC results from arXiv:1007.4205 (code release paper)



PSpectRe [PSeudo Spectral Reheating] is a C++ code for evolving interacting scalar fields in the early universe.   PSpectRe is (as the name suggests!) based on a pseudo-spectral algorithm, so the fundamental variables are the momentum modes of the interacting fields, unlike finite difference routines, which evaluate the fields in position space.   As currently implemented, PSpectRe simulates two fields interacting via a quartic polynomial potential, or a single field with a sixth-order potential, and it is designed to be easily extendable to a variety of problems and scenarios in early universe physics.

PSpectRe was developed by Richard Easther, Hal Finkel and Nathaniel Roth, and available under a BSD-style license and you are free to reuse and adapt this code, with or without redistribution of the source, but must provide appropriate acknowledgement in any derivative work.

PSpectRe is designed the code to be flexible and adaptable. PSpectRe has been well tested for some scenarios, but has not been thoroughly tested for all combinations of all options.  If you find bugs, have feedback, or want to be emailed when we update the code, please contact Hal Finkel or Richard Easther.

Using PSpectRe:  The makefile makes intelligent guesses about which compiler to use (either g++ or Intel), and hopefully the code can be built by simply typing “make” at the command line. The code can be invoked with the following command, to get a sample run for a model with a quadratic inflaton potential:

./pspectre @example_params.txt


./pspectre @lambdaphi4_params.txt

will run a model with a quartic potential  while

./pspectre @oscphi6_params.txt

runs an oscillon model.

Documentation is in the “documentation” directory! Good luck.

PSpectRe is described in arXiv:1005.1921 


Click to download PSpectRe

Other Numerical Resources:

  1. LatticeEasy – staggered leapfrog finite difference (Felder and Tkachev)
  2. CUDAEasy – GPU accelerated LatticeEasy (Sainio).
  3. Defrost – higher order finite difference (Frolov) and MPI-Defrost (Finkel)