mhdI am mostly an observer working in the field of high energy astrophysics, doing experiments and performing observations with space and ground-based telescopes. However, once in a while I also like very much to use numerical codes to solve complex physical problems that require large computational resources. So I would like to share the numerical codes that I’ve used throughout my career and that I found exceptionally useful and easy to use.

As a bonus, here you find a great website that lists (almost) all numerical codes freely available to the astronomical community.

1. MESA (Modules for Experiments in Stellar Astrophysics)

MESA is just one of the best ideas I’ve seen circulating around in astronomy. This is a numerical stellar and binary evolution code that has been written by merging and integrating a number of different older stellar evolution codes and is now open source and actively updated by an increasingly large community of astronomers. It is amazingly easy to learn and you will find a big community of astronomers ready to share with you ideas and to help if you have trouble understanding some aspects and functionalities of the code. Above all, its main creator, Bill Paxton, is very helpful and amazingly quick at taking action whenever a problem is spotted or a good suggestion is made.

2. TWIN/STAR stellar evolution code (P. Eggleton)

TWIN is an older stellar and binary evolution code (the first version appeared in 1971) that has been updated by Peter Eggleton and several other astronomers throughout the years. I started to do numerical stellar evolution calculations with this great code. It appears somehow more complicated to understand than MESA, but it has really a lot of physics in it, especially for the binary evolution part, which, in my opinion, represents the state-of-the-art in the field. Also, basically, all the physics implemented in the code is explained in Eggleton’s stellar astrophysics book, so that you can have this amazing combination in your hands which is not available for any other code. Here you can also obtain a copy of STARS, a slightly different branch of Eggleton’s code.

3. Geokerr                                                                                                               

Geokerr is a ray-tracing algorithm to calculate the null geodesics of photons crossing a space-time described by the Kerr metric. This is useful to calculate how photons propagate around rotating black holes. The code is written in FORTRAN and has been created by Jason Dexter and Eric Agol. The physics in the code is described in this nice paper Dexter & Agol 2009

4. AMUSE (Astrophysical Multipurpose Software Environment).                                 

AMUSE is not really a numerical code as the others above. It is instead a framework (written in python) in which you can choose different numerical codes from different astronomical domains (stellar dynamics, stellar evolution, hydrodynamics, and radiative transfer) and combine their physics together. Really a great idea!

5. PLUTO                                                                                                             

This is a code written in C (but also in C++ and FORTRAN) that can solve hydrodynamics or magneto-hydrodynamics equations for astrophysical fluids. It is a great code that can work both in the classical or relativistic limit and can solve the equations in 1, 2, or 3D. I have started to use this code quite recently and everything so far seems fantastic and relatively easy to use.