Improved multi-timestep SPH
This brings a range of improvement, mostly minor and of code clarity nature to the code. It solves:
- Issue #84 (closed). Particles are now <128 Bytes in size.
- Issue #85 (closed). Smoothing-lengths now evolve more accurately and we implement a time-step criterion more conservative than default Gadget-2 but that is part of EAGLE.
- Issue #88 (closed). We now have a 'minimal' hydro implementation that can be used both as a template and an example. The doxygen documentation is based on that version. The documentation is now very extensive. This model is a poor SPH implementation and should only be used to understand the structure of the code and not be seriously run.
- Issue #95 (closed). The engine_collect_kick() function now correctly skips empty cells.
- Issue #96 (closed). Conserved quantities are now written to a file. We need gravity before this really get useful.
- The description of the SPH flavour in the HDF5 files is now moved to the hydro_io.h files for consistency.
Most of it are straight-forward changes. Note that this does not fix the issue we have in MPI mode.
Merge request reports
Activity
Added 6 commits:
-
8395ff22...2b8930c4 - 5 commits from branch
master
- 45e04036 - Merged latest changes from master in the branch.
-
8395ff22...2b8930c4 - 5 commits from branch
From a clarity point of view that makes more sense, but I won't worry about it too much, as long as the changes are limited in effect.
Edited by Peter W. DraperAdded 1 commit:
- 5a3ca6a9 - Remove unused variable
Enabling
DEFAULT_SPH
inconst.h
and compiling fails:/bin/bash ../libtool --tag=CC --mode=compile mpicc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -DTIMER -DCOUNTER -DCPU_TPS=2.30e9 -I/usr/include -g -O0 -fsanitize=address -fno-omit-frame-pointer -Wall -Werror -MT runner.lo -MD -MP -MF .deps/runner.Tpo -c -o runner.lo runner.c libtool: compile: mpicc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -DTIMER -DCOUNTER -DCPU_TPS=2.30e9 -I/usr/include -g -O0 -fsanitize=address -fno-omit-frame-pointer -Wall -Werror -MT runner.lo -MD -MP -MF .deps/runner.Tpo -c runner.c -fPIC -DPIC -o .libs/runner.o runner.c: In function 'runner_dokick': runner.c:903:9: error: incompatible type for argument 2 of 'hydro_kick_extra' hydro_kick_extra(p, xp, dt, half_dt); ^ In file included from hydro.h:33:0, from runner.c:47: ./hydro/Default/hydro.h:216:24: note: expected 'float' but argument is of type 'struct xpart * restrict' INLINE static void hydro_kick_extra(struct part* p, float dt) {} ^ runner.c:903:9: error: too many arguments to function 'hydro_kick_extra' hydro_kick_extra(p, xp, dt, half_dt); ^ In file included from hydro.h:33:0, from runner.c:47: ./hydro/Default/hydro.h:216:24: note: declared here INLINE static void hydro_kick_extra(struct part* p, float dt) {}
Added 1 commit:
- 5c966fdf - Compliation problem in DEFAULT_SPH
Please register or sign in to reply