From e665965c6070d0fa6523e3beab6738bc4e586b39 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Fri, 19 Nov 2021 15:37:25 -0600 Subject: [PATCH 1/2] Ensure particles lost during event_calculate_xs are terminated --- src/simulation.cpp | 2 ++ 1 file changed, 2 insertions(+) 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(); From 852c8ba92646bdcb8a6bb909359252612ae4ae2a Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Mon, 22 Nov 2021 09:12:37 -0600 Subject: [PATCH 2/2] Make sure random number seed gets set properly for fixed source particle restart --- src/particle_restart.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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: " +