diff --git a/src/particle_restart.cpp b/src/particle_restart.cpp index e0295ceb5a..f7159ce444 100644 --- a/src/particle_restart.cpp +++ b/src/particle_restart.cpp @@ -95,13 +95,11 @@ void run_particle_restart() int64_t particle_seed; switch (previous_run_mode) { case RunMode::EIGENVALUE: + case RunMode::FIXED_SOURCE: particle_seed = (simulation::total_gen + overall_generation() - 1) * settings::n_particles + p.id(); break; - case RunMode::FIXED_SOURCE: - particle_seed = p.id(); - break; default: throw std::runtime_error { "Unexpected run mode: " + diff --git a/src/simulation.cpp b/src/simulation.cpp index e29c4da25f..35d76ed874 100644 --- a/src/simulation.cpp +++ b/src/simulation.cpp @@ -679,6 +679,8 @@ void transport_history_based_single_particle(Particle& p) { while (true) { p.event_calculate_xs(); + if (!p.alive()) + break; p.event_advance(); if (p.collision_distance() > p.boundary().distance) { p.event_cross_surface();