Skip to content

Weight windows while using survival biasing #2773

@teade

Description

@teade

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.

image

image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions