diff --git a/configure.ac b/configure.ac index c94f5c23b9cc5868a199ad4d177053c6f94f639d..b4641284e6874ee49cfe40a11a57af06db4bf944 100644 --- a/configure.ac +++ b/configure.ac @@ -582,7 +582,7 @@ fi # Hydro scheme. AC_ARG_WITH([hydro], [AS_HELP_STRING([--with-hydro=<scheme>], - [Hydro dynamics to use @<:@gadget2, minimal, hopkins, default, gizmo default: gadget2@:>@] + [Hydro dynamics to use @<:@gadget2, minimal, hopkins, default, gizmo, shadowfax default: gadget2@:>@] )], [with_hydro="$withval"], [with_hydro="gadget2"] @@ -603,6 +603,9 @@ case "$with_hydro" in gizmo) AC_DEFINE([GIZMO_SPH], [1], [GIZMO SPH]) ;; + shadowfax) + AC_DEFINE([SHADOWFAX_SPH], [1], [Shadowfax SPH]) + ;; *) AC_MSG_ERROR([Unknown hydrodynamics scheme: $with_hydro]) diff --git a/src/hydro.h b/src/hydro.h index 4b80487e837799791c227e4124e216c73cb90f4e..abb49d35b204bbaf986f502d796883e7eb778e7f 100644 --- a/src/hydro.h +++ b/src/hydro.h @@ -47,7 +47,7 @@ #include "./hydro/Gizmo/hydro.h" #include "./hydro/Gizmo/hydro_iact.h" #define SPH_IMPLEMENTATION "GIZMO (Hopkins 2015)" -#elif defined(SHADOWSWIFT) +#elif defined(SHADOWFAX_SPH) #include "./hydro/Shadowswift/hydro.h" #include "./hydro/Shadowswift/hydro_iact.h" #define SPH_IMPLEMENTATION \ diff --git a/src/hydro/Shadowswift/hydro_part.h b/src/hydro/Shadowswift/hydro_part.h index 34244c5e355f38150525b85a8134f5e4a67d35b6..7a5724c3300da8950022dad76f57ae3fa4b9e807 100644 --- a/src/hydro/Shadowswift/hydro_part.h +++ b/src/hydro/Shadowswift/hydro_part.h @@ -19,6 +19,7 @@ * ******************************************************************************/ +#include "cooling_struct.h" #include "voronoi_cell.h" /* Extra particle data not needed during the computation. */ @@ -33,6 +34,9 @@ struct xpart { /* Old density. */ float omega; + /* Additional data used to record cooling information */ + struct cooling_xpart_data cooling_data; + } __attribute__((aligned(xpart_align))); /* Data of a single particle. */ @@ -174,7 +178,20 @@ struct part { /* Variables needed for the code to compile (should be removed/replaced). */ float rho; + /* Time-step length */ + timebin_t time_bin; + +#ifdef SWIFT_DEBUG_CHECKS + + /* Time of the last drift */ + integertime_t ti_drift; + + /* Time of the last kick */ + integertime_t ti_kick; + +#endif + /* Voronoi cell. */ struct voronoi_cell cell; -} __attribute__((aligned(part_align))); +} SWIFT_STRUCT_ALIGN; diff --git a/src/part.h b/src/part.h index fd3f2e50cbc3f77e09beadcae1438213cdd60e25..1b40aee0db3deb4790e07e3da9807060900d0c55 100644 --- a/src/part.h +++ b/src/part.h @@ -58,8 +58,9 @@ #include "./hydro/Gizmo/hydro_part.h" #define hydro_need_extra_init_loop 0 #define EXTRA_HYDRO_LOOP -#elif defined(SHADOWSWIFT) +#elif defined(SHADOWFAX_SPH) #include "./hydro/Shadowswift/hydro_part.h" +#define hydro_need_extra_init_loop 0 #define EXTRA_HYDRO_LOOP #else #error "Invalid choice of SPH variant"