Your Own Personal Simulated Universe

tl;dr: I developed a program to simulate universes using Python, which we have used for several years to teach third year astrophysics at the University of Queensland.

I have made a website explaining it in detail with analysis tutorials here.

One main objective of the PHYS3080 course at The University of Queensland is to teach the concept of an astronomical distance ladder. This is a tool used in real astrophysics research, where you accurately determine the distance to things in your local neighbourhood, learn all about those things, look at another instance of that thing further away, and use your knowledge of that thing to then infer the distance to the further away one. This lets you learn about a different thing that only exists far away, and then you repeat the process over and over until you have a good estimate of the scale of the entire Universe.

To teach this, I programmed an entire Universe simulation so that we can give the data to astrophysics students and they can formulate their own distance ladder. This is what one such Universe might look like:

I go into much more detail on the project website as to what exactly is simulated, but in essence we simulate different populations of stars, their distribution in galaxies, galaxies in clusters, and evolution of these things across cosmic distance. We have a full HR diagram for each galaxy (which is different for different types of galaxies),

different phenomenologies of galaxies and galaxy clusters, as well as Fanaroff-Riley radio emission from black holes,

and even the dynamics of stars within galaxies (which is different for different types of galaxies), through a radial velocity gradient,

where red are radial velocities away and blue towards us.