From 82606011c007b7366a48f964da5d77639affc1cc Mon Sep 17 00:00:00 2001 From: YoungHui Park Date: Tue, 11 Aug 2020 20:19:43 -0500 Subject: [PATCH] Properly trigger surface source reading --- src/simulation.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/simulation.cpp b/src/simulation.cpp index 3bc22f22f..0269cc0cb 100644 --- a/src/simulation.cpp +++ b/src/simulation.cpp @@ -289,6 +289,9 @@ void allocate_banks() // Allocate fission bank init_fission_bank(3*simulation::work_per_rank); + } else if (settings::surf_src_read) { + // Allocate source bank for reading surface source file. + simulation::source_bank.resize(simulation::work_per_rank); } if (settings::surface_source) { @@ -457,7 +460,10 @@ void finalize_generation() void initialize_history(Particle& p, int64_t index_source) { // set defaults - if (settings::run_mode == RunMode::FIXED_SOURCE) { + if (settings::run_mode == RunMode::EIGENVALUE || settings::surf_src_read) { + // set defaults for eigenvalue simulations from primary bank + p.from_source(&simulation::source_bank[index_source - 1]); + } else if (settings::run_mode == RunMode::FIXED_SOURCE) { // initialize random number seed int64_t id = (simulation::total_gen + overall_generation() - 1)*settings::n_particles + simulation::work_index[mpi::rank] + index_source; @@ -465,9 +471,6 @@ void initialize_history(Particle& p, int64_t index_source) // sample from external source distribution or custom library then set auto site = sample_external_source(&seed); p.from_source(&site); - } else if (settings::run_mode == RunMode::EIGENVALUE) { - // set defaults for eigenvalue simulations from primary bank - p.from_source(&simulation::source_bank[index_source - 1]); } p.current_work_ = index_source;