Star particles and gparts links over MPI
A big bundle of changes:
- Introduce star particles. At the moment they are empty shells but they are ready to be used.
- An
spart
is always linked to agpart
and will receive its gravitational forces from there. - A
gpart
now contains an enum containing information about whether it is linked to apart
, to anspart
or to nothing. - Added a more comprehensive test to check that the part<->gpart and spart<->gpart links are correct after every rebuild or MPI transaction.
-
spart
get kicked and drifted and get their time-step computed. -
spart
are read-in and written to snapshots (only if running with-S
for now). - Only the particle types that will be used are now read from ICs. Speeds-up the starting up process.
- Corrects many incorrect communication of
gpart
over MPI.
With this in we can run the EAGLE_25 over MPI with gpart and spart activated (e.g. swift_mpi -s -g -S -t 16
). Note that this does not fix the remaining bug in #256 (closed) (Now fixed independently).