diff --git a/src/cache.h b/src/cache.h index 2edd0c7958863e0a56e62ba270375b3eb455085f..a5dcd87e12598b0dbed287a65c5fc454b7f8f25a 100644 --- a/src/cache.h +++ b/src/cache.h @@ -208,7 +208,7 @@ __attribute__((always_inline)) INLINE int cache_read_particles( for (int i = 0; i < ci->hydro.count; i++) { /* Skip inhibited particles. */ - if (parts[i].time_bin == time_bin_inhibited) continue; + if (parts[i].time_bin >= time_bin_inhibited) continue; x[uninhibited_count] = (float)(parts[i].x[0] - loc[0]); y[uninhibited_count] = (float)(parts[i].x[1] - loc[1]); @@ -217,7 +217,9 @@ __attribute__((always_inline)) INLINE int cache_read_particles( m[uninhibited_count] = parts[i].mass; vx[uninhibited_count] = parts[i].v[0]; vy[uninhibited_count] = parts[i].v[1]; - vz[uninhibited_count++] = parts[i].v[2]; + vz[uninhibited_count] = parts[i].v[2]; + + inhibited_count++; } return uninhibited_count; @@ -401,7 +403,7 @@ __attribute__((always_inline)) INLINE int cache_read_force_particles( for (int i = 0; i < ci->hydro.count; i++) { /* Skip inhibited particles. */ - if (parts[i].time_bin == time_bin_inhibited) continue; + if (parts[i].time_bin >= time_bin_inhibited) continue; x[uninhibited_count] = (float)(parts[i].x[0] - loc[0]); y[uninhibited_count] = (float)(parts[i].x[1] - loc[1]); @@ -415,7 +417,9 @@ __attribute__((always_inline)) INLINE int cache_read_force_particles( grad_h[uninhibited_count] = parts[i].force.f; pOrho2[uninhibited_count] = parts[i].force.P_over_rho2; balsara[uninhibited_count] = parts[i].force.balsara; - soundspeed[uninhibited_count++] = parts[i].force.soundspeed; + soundspeed[uninhibited_count] = parts[i].force.soundspeed; + + uninhibited_count++; } return uninhibited_count; @@ -501,7 +505,7 @@ __attribute__((always_inline)) INLINE void cache_read_two_partial_cells_sorted( const int idx = sort_i[i + first_pi_align].i; /* Put inhibited particles out of range. */ - if (parts_i[idx].time_bin == time_bin_inhibited) { + if (parts_i[idx].time_bin >= time_bin_inhibited) { x[i] = pos_padded[0]; y[i] = pos_padded[1]; z[i] = pos_padded[2]; @@ -603,7 +607,7 @@ __attribute__((always_inline)) INLINE void cache_read_two_partial_cells_sorted( const int idx = sort_j[i].i; /* Put inhibited particles out of range. */ - if (parts_j[idx].time_bin == time_bin_inhibited) { + if (parts_j[idx].time_bin >= time_bin_inhibited) { xj[i] = pos_padded_j[0]; yj[i] = pos_padded_j[1]; zj[i] = pos_padded_j[2]; @@ -762,7 +766,7 @@ cache_read_two_partial_cells_sorted_force( const int idx = sort_i[i + first_pi_align].i; /* Put inhibited particles out of range. */ - if (parts_i[idx].time_bin == time_bin_inhibited) { + if (parts_i[idx].time_bin >= time_bin_inhibited) { x[i] = pos_padded[0]; y[i] = pos_padded[1]; z[i] = pos_padded[2];