Skip to content
Snippets Groups Projects
Commit 3fc4650f authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Modify the i/o routines to make sure we do not write out particles that do not exist.

parent b9d76ec4
Branches
Tags
2 merge requests!688Star formation (non-MPI),!684Add star particles on-the-fly
......@@ -811,7 +811,8 @@ void io_collect_parts_to_write(const struct part* restrict parts,
for (size_t i = 0; i < Nparts; ++i) {
/* And collect the ones that have not been removed */
if (parts[i].time_bin != time_bin_inhibited) {
if (parts[i].time_bin != time_bin_inhibited &&
parts[i].time_bin != time_bin_not_created) {
parts_written[count] = parts[i];
xparts_written[count] = xparts[i];
......@@ -845,7 +846,8 @@ void io_collect_sparts_to_write(const struct spart* restrict sparts,
for (size_t i = 0; i < Nsparts; ++i) {
/* And collect the ones that have not been removed */
if (sparts[i].time_bin != time_bin_inhibited) {
if (sparts[i].time_bin != time_bin_inhibited &&
sparts[i].time_bin != time_bin_not_created) {
sparts_written[count] = sparts[i];
count++;
......@@ -879,6 +881,7 @@ void io_collect_gparts_to_write(const struct gpart* restrict gparts,
/* And collect the ones that have not been removed */
if ((gparts[i].time_bin != time_bin_inhibited) &&
(gparts[i].time_bin != time_bin_not_created) &&
(gparts[i].type == swift_type_dark_matter)) {
gparts_written[count] = gparts[i];
......
......@@ -1204,9 +1204,12 @@ void write_output_parallel(struct engine* e, const char* baseName,
// const size_t Ndm = Ntot > 0 ? Ntot - Nbaryons : 0;
/* Number of particles that we will write */
const size_t Ntot_written = e->s->nr_gparts - e->s->nr_inhibited_sparts;
const size_t Ngas_written = e->s->nr_parts - e->s->nr_inhibited_parts;
const size_t Nstars_written = e->s->nr_sparts - e->s->nr_inhibited_gparts;
const size_t Ntot_written =
e->s->nr_gparts - e->s->nr_inhibited_gparts - e->s->nr_extra_gparts;
const size_t Ngas_written =
e->s->nr_parts - e->s->nr_inhibited_parts - e->s->nr_extra_parts;
const size_t Nstars_written =
e->s->nr_sparts - e->s->nr_inhibited_sparts - e->s->nr_extra_sparts;
const size_t Nbaryons_written = Ngas_written + Nstars_written;
const size_t Ndm_written =
Ntot_written > 0 ? Ntot_written - Nbaryons_written : 0;
......
......@@ -775,9 +775,12 @@ void write_output_serial(struct engine* e, const char* baseName,
// const size_t Ndm = Ntot > 0 ? Ntot - Nbaryons : 0;
/* Number of particles that we will write */
const size_t Ntot_written = e->s->nr_gparts - e->s->nr_inhibited_sparts;
const size_t Ngas_written = e->s->nr_parts - e->s->nr_inhibited_parts;
const size_t Nstars_written = e->s->nr_sparts - e->s->nr_inhibited_gparts;
const size_t Ntot_written =
e->s->nr_gparts - e->s->nr_inhibited_gparts - e->s->nr_extra_gparts;
const size_t Ngas_written =
e->s->nr_parts - e->s->nr_inhibited_parts - e->s->nr_extra_parts;
const size_t Nstars_written =
e->s->nr_sparts - e->s->nr_inhibited_sparts - e->s->nr_extra_sparts;
const size_t Nbaryons_written = Ngas_written + Nstars_written;
const size_t Ndm_written =
Ntot_written > 0 ? Ntot_written - Nbaryons_written : 0;
......
......@@ -639,9 +639,12 @@ void write_output_single(struct engine* e, const char* baseName,
// const size_t Ndm = Ntot > 0 ? Ntot - Nbaryons : 0;
/* Number of particles that we will write */
const size_t Ntot_written = e->s->nr_gparts - e->s->nr_inhibited_sparts;
const size_t Ngas_written = e->s->nr_parts - e->s->nr_inhibited_parts;
const size_t Nstars_written = e->s->nr_sparts - e->s->nr_inhibited_gparts;
const size_t Ntot_written =
e->s->nr_gparts - e->s->nr_inhibited_gparts - e->s->nr_extra_gparts;
const size_t Ngas_written =
e->s->nr_parts - e->s->nr_inhibited_parts - e->s->nr_extra_parts;
const size_t Nstars_written =
e->s->nr_sparts - e->s->nr_inhibited_sparts - e->s->nr_extra_sparts;
const size_t Nbaryons_written = Ngas_written + Nstars_written;
const size_t Ndm_written =
Ntot_written > 0 ? Ntot_written - Nbaryons_written : 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment