Integer timeline

Matthieu Schaller requested to merge integer_timeline into master

This modified the way we do multiple time-steps. The time-steps are now placed on an integer timeline and can take values from 0 to 2^29 where 0 corresponds to the starting point of the simulation and 2^29 is the end point of the simulation. This effectively limits the number of time-steps that can be performed and sets an absolute minimal time-step size. If need be we can later on extend the number of time-steps allowed by switching to a long long but I have not seen this being necessary in any EAGLE or other simulations we ran. However, it prevents the assignment of 0-sized time-steps that occur in the current version of the code when using a final time which is not of the form 2^n (n positive or negative integer). This hence fixes issue #87 (closed). Quite a lot of changes scattered across the code but the only non-trivial ones are in runner_dokick() and engine_init().

While working on it I have corrected the count of number of particles updated in a given time-step. This is now correct. Fixes issue #89 (closed).

Finally, I have also added a message at start-up displaying which version of SPH we run.

Merge request reports