This repository provides all instructions on which software is used for collision simulations and how to install it.
- Gasoline : Smoothed Particle Hydrodynamics code (Wadsley et al. 2004) with modifications for simulating giant impacts (Reinhardt & Stadel 2007, Chau et al. 2018, Reinhardt et al. 2020, Meier et al. 2021)
- mdl : Machine Dependent Library for parallel codes
- EOSlib : General interface for equation of state (EOS) calls
- tillotson : Interface for the Tillotson EOS
- ANEOSmaterial : Interface for the ANalytic Equation Of State (ANEOS, M-ANEOS)
- tipsy : The Theoretical Image Processing SYstem for visualizing/analyzing n-body simulations
- ballic : Generate low noise particle representation of planets
- collide : Generate initial conditions for collisions
- tipsytools : Tools I wrote over the years to work with tipsy binary files
- tipsy_wrapper : A C++ wrapper for the Tipsy API
- skid : A group finder for n-body simulations
Clone all repositories to the same directory (e.g., ./code/gasoline-ics and ./code/mdl) with
./clone-all.sh
but keep in mind that some of them are private and require access for this script to work.
- First make sure that all required compilers are installed (e.g.,
gcc
). - Some modules of the
EOSlib
require GSL . If you use Ubuntu you can install it with:
sudo apt-get install libgsl-dev
tipsy
requireslibaw7
andtermcap
with header files, e.g.:
sudo apt-get install libxaw7-dev
and
sudo apt-get install libncurses5-dev
If the version of your glibc library is >= 2.32 (e.g., if you use Ubuntu 22.04) you have to install the rpc library:
sudo apt-get install libtirpc-dev
Since all the software expects the rpc library to be installed at /usr/include/rpc
you have to make a symbolic link with
cd /usr/include
sudo ln -s tirpc/rpc/* rpc
sudo ln -s tirpc/netconfig.h .
for the software to compile. Note that the library has to be explicitly included with -ltirpc
in the Makefile.
Go to the gasoline-ics directory (e.g., cd ./code/gasoline-ics
) and type
make null
to compile the code to run on a single CPU or
make pthread
to obtain a version that runs on several threads using pthread.
Note: Make sure that mdl
and GSL
are installed before compiling the code.
Go to the tipsy (e.g., cd ./code/tipsy
) and then to then to the code directory and type
./configure
to generate a Makefile. Then type
make
to compile the code. Detailed instructions are available on the official GitHib page.
Note: Make sure that libaw7
and termcap
are installed with header files and rerun configure
after installing them.
Go to the ballic directory (e.g., cd ./code/ballic-array
) and compile required part of the code with
make solve_model_single
to solve a single component 1D model or
make ballic.solve_model_single
obtain a particle representation of a single component 1D model.