{ "cells": [ { "cell_type": "markdown", "id": "d22b9328-a1b4-4fb1-9cb8-7abe0bbb85df", "metadata": {}, "source": [ "# Variance Reduction" ] }, { "cell_type": "markdown", "id": "324012c6-124f-424a-9d5f-7ffa7cda3aea", "metadata": {}, "source": [ "In this demonstration, we'll discuss variance reduction in OpenMC. Variance reduction is a class of techniques and methods to reduce uncertainty in tally results in OpenMC simulations. Variance reduction parameters can be used to reduce tally error in specific regions of phase space or globally throughout the model.\n", "\n", "OpenMC has two variance reduction methods implemented: **survival biasing** and **mesh-based weight windows**. We are only going to focus on weight windows for this demonstration. Weight window variance reduction involves a set of parameters attached to the model that govern both particle rouletting and splitting. A weight window is a range of particle weights associated with a region of phase space (i.e., spatial region and energy range) that is considered desirable. If a particle enters this region of phase space with a weight above the upper weight window limit, it is split into $N$ particles based on the following:\n", "\n", "$$ N = \\min \\left(N_\\text{max}, \\frac{w_p}{w_u} \\right)$$\n", "\n", "where $w_p$ is the particle weight, $w_u$ is the upper weight window boundary, and $N_\\text{max}$ is a setting for the upper limit on the number of splits. New particle weights are assigned as\n", "\n", "$$ w_\\text{split} = \\frac{w_p}{N} $$\n", "\n", "to conserve the total particle weight in the simulation. Limiting the number of splits is important to mitigate what is referred to as the \"long history problem\" in which a particle with a high weight enters a region with a low upper weight window value can result in many (sometimes 100s) of additional particles to simulate. Other settings can mitigate this problem as well, but we won't go into all of them now.\n", "\n", "Particles with weights below the weight window will be rouletted in a similar manner to survival biasing, with an additional parameter for the survival weight specified on the weight windows.\n", "\n", "