Skip to main content

Public Codes

Here are the major codes developed and used by our group. Presently "Disco" and "RT1D" have an official public release. If you are interested in using our other codes, please inquire directly.

You can find a range of public tools at this GitHub link.

Tess

The TESS code solves the equations of relativistic magnetohydrodynamics using a moving Voronoi mesh. The idea is based on the moving-mesh cosmology code AREPO, but TESS is more general in that it can solve arbitrary hyperbolic systems, such as relativistic hydrodynamics.

The general idea is to use a Voronoi Tessellation to define the computational zones. The points which generate the tessellation can be moved during the course of the calculation, which causes the zones to move and change their shape and size to match the motion of the underlying flow.

Moving meshes are useful for problems which include cold supersonic flows, or flows for which it is important to minimize diffusion across contact discontinuities. Voronoi meshes have been demonstrated to be very useful for cosmological simulations.

Code Paper

TESS code

Disco

The Voronoi mesh is very useful if the flow in question is complicated, or its large-scale properties are not known at runtime. For gaseous disks, however, the large-scale flow is quite simple -- fluid elements are essentially in circular Keplerian motion. Therefore, for disks the generality of the Voronoi tessellation may be overkill.

For such problems we have designed the moving mesh code DISCO, which is not Voronoi, but instead specifically tailored to the circular Keplerian motion. DISCO's mesh is a cylindrical grid which shears azimuthally with the flow. Because many astrophysical disks are cold and attain Mach 20 and above, subtracting off this supersonic orbital motion can be essential to capture less obvious details in the flow.

DISCO is well-suited to studies of planet formation due to the long timescales, supersonic flows, and subtle planet-disk interactions involved. DISCO has also been applied to circumbinary disks, for which it gains a similar advantage.

Code Paper

GitHub Repository

Jet

Our third code, JET, is specifically tailored to radial outflows. JET employs a spherical polar grid whose cells can move and shear radially with the flow. It has a very similar structure to DISCO, but the direction of the shearing is changed from azimuthal to radial. As its name suggests, JET is designed to solve problems involving relativistic jets. In its 1D form, it functions as an extremely accurate spherical Lagrangian hydro code. In multi-D, it behaves like a series of 1D Lagrangian codes which are coupled laterally by transverse fluxes.

Another advantage of the JET code is that the boundaries can also be moved during the calculation. Doing so allows for calculations over tremendous dynamic range; for example, the flow can expand over ten orders of magnitude, yet we can place grid zones to cover half an order of magnitude at any one time. In this way, each order of magnitude of the expansion takes roughly the same number of CPU hours to calculate.

The JET code has not yet had an official public release, but if you are clever with google you can probably track it down.

JET also does not yet have an official code paper, but here is the paper where it was first employed: Relativistic Rayleigh-Taylor Instability

RT1D

RT1D is a very sophisticated one-dimensional moving-mesh hdyrodynamics code intended for evolving supernovae and supernova remnants, and for stars near hydrostatic equilibrium. It was originally developed as a showcase for "DuffellRTI", a one-dimensional mixing model for capturing Rayleigh-Taylor instability in supernovae. The code has options for modeling the mixing induced by turbulence from RTI, but the code can also be run with all of those options shut-off as a standalone 1D hydrodynamics code. It has most of the advantages of the JET code (though it is nonrelativistic) but also employs a sophisticated self-gravity solver that maintains equilibrium in stellar models over very long timescales.

There is not an official code paper for RT1D, but it was developed expressly for the purpose of writing the following paper: RT1D

GitHub Repository