Codes

The philosophy of our Research Group is to make all software (eventually) open source and freely available. Below is a list of currently available open source software.

logo.jpg

Multiple Stellar Evolution (MSE)

Multiple Stellar Evolution (MSE) is a population synthesis code that models the stellar, binary, and gravitational dynamical evolution of multiple-star systems of any multiplicity. Its key features are: 1) allowing for an arbitrary number of stars, as long as the initial system is hierarchical, 2) dynamic switching between secular and direct N-body integration for efficient computation of the gravitational dynamics, 3) treatment of mass transfer in eccentric orbits, 4) a simple treatment of tidal, common-envelope, and mass transfer evolution in which the accretor is a binary instead of a single star, 5) taking into account planets within the stellar system, and 6) including gravitational perturbations from passing field stars. The code is written primarily in the C++ language and has few prerequisites; a convenient Python interface is provided. A detailed description of MSE is given in Hamers et al., (2021; url). The code is publicly available at https://github.com/hamers/mse.

Flybys

Quickly and easily compute the effects of secular (i.e., distant or weak) encounters on a binary. Includes a practical implementation of analytic functions derived here and here. The Python code can be downloaded at https://github.com/hamers/flybys.

SecularMultiple

A code to model the secular (long-term) dynamical evolution of hierarchical multiple systems composed of nested orbits, with an arbitrary number of bodies and structure. Tides and relativistic effects are also included, as well as the effects of flybys and supernovae. The technical details can be found here, here, and here. A standalone version (implemented in C++, with a Python user interface) can be downloaded at https://github.com/hamers/secularmultiple. You can try out the code online (without installation) for a few select (planetary) configurations here.

Eccentric Mass Transfer

Code to integrate the orbit-averaged equations of motion describing mass transfer in eccentric orbits. See this paper for details. The Python code can be downloaded at https://github.com/hamers/emt.

Test Particle Integrator

A C++ code to compute the gravitational dynamics of particles orbiting a supermassive black hole (SBH). A distinction is made between two types of particles: test particles and field particles. Field particles are assumed to move in quasi-static Keplerian orbits around the SBH that precess due to the enclosed mass (Newtonian "mass precession") and relativistic effects. Otherwise, field-particle-field-particle interactions are neglected. Test particles are integrated in the time-dependent potential of the field particles and the SBH. Relativistic effects are included in the equations of motion (including the effects of SBH spin), and test-particle-test-particle interactions are neglected. Download: https://github.com/hamers/tpi.