diff --git a/examples/main.c b/examples/main.c index 15e8d78fcdeddd8f09bf3b5645405d58b2883539..fe2cda57e5f8523ecf894cb5e4008c3778ff60ef 100644 --- a/examples/main.c +++ b/examples/main.c @@ -416,6 +416,7 @@ int main(int argc, char *argv[]) { sparts = NULL; for (size_t k = 0; k < Nspart; ++k) if (gparts[k].type == swift_type_star) error("Linking problem"); + Nspart = 0; } if (!with_hydro) { free(parts); diff --git a/src/common_io.c b/src/common_io.c index b74d056e98c6bf02bdac80fca1cdab3e9355bde5..82c00cf5bed7118276e0595e3d9c590d29bdda74 100644 --- a/src/common_io.c +++ b/src/common_io.c @@ -590,7 +590,7 @@ void prepare_dm_gparts(struct gpart* const gparts, size_t Ndm) { gparts[i].id_or_neg_offset); /* Set gpart type */ - gparts[i + Ndm].type = swift_type_dark_matter; + gparts[i].type = swift_type_dark_matter; } } @@ -690,7 +690,7 @@ void collect_dm_gparts(const struct gpart* const gparts, size_t Ntot, * gparts[i].part); */ /* And collect the DM ones */ - if (gparts[i].id_or_neg_offset > 0) { + if (gparts[i].type == swift_type_dark_matter) { dmparts[count] = gparts[i]; count++; }