-
Notifications
You must be signed in to change notification settings - Fork 598
Description
Bug Description
Turning on survival biasing significantly reduces the effectiveness of weight windows. First image is the neutron flux across a block with a weight window applied and survival biasing turned off. The second image is the neutron flux across the same block with a weight window applied and survival biasing turned on.
Steps to Reproduce
Having looked at the source code this appears to be caused by this if statement in the physics.cpp file:
// Play russian roulette if survival biasing is turned on
if (settings::survival_biasing) {
if (p.wgt() < settings::weight_cutoff) {
russian_roulette(p, settings::weight_survive);
}
}By default the settings::weight_cutoff is set to 0.25, so any particle which is split by the weight window to be below this value is rouletted. A work around a user can employ is to reduce the settings::weight_cutoff value. However, there is also a weight_window.cutoff value which limits the particles weight in the weight window routines and it would be better from a users point of view not to have two weight cutoff values which need to be set for different variance reduction games (and make weight windows less effective if not set properly).
Environment
Linux, OpenMC Version 0.14.0-dev

