31. Variance Reduction

RMC supports variance reduction calculation functions, including region importance, source biasing, and weight window techniques. Currently, both region importance and weight window techniques are used only in fixed source mode. The weight window techniques include cell weight windows and mesh weight windows. For the same type of particle (neutrons, photons, electrons), only one of the three variance reduction methods (region importance, cell weight window, or mesh weight window) can be used at the same time.

31.1. Region Importance Input Option

In the cell information card, users may add the geometric importance option imp , which is divided into neutron geometric importance imp:n , photon geometric importance imp:p , and electron geometric importance imp:e . For example: imp:n=0, imp:n=1, imp:n=2, imp:p=0, imp:p=1, imp:p=2, imp:e=0, imp:e=1, imp:e=2, etc.

31.2. Weight Window Input Option

  WeightWindow
  WWN:N  W_1  W_2  W_3  W_4 … W_n
  WWMESH:N  W_1  W_2  W_3  W_4 … W_n
  WWP:N  WUPN WSUV
  [WeightWindowMESH:Geometry Axis Vector Origin
Scope Bound BoundX BoundY BoundZ ScopeX ScopeY ScopeZ]

The example is for the neutron’s cell weight window and mesh weight window input card. Among them:

  • WeightWindow is the keyword for the variance reduction weight window input card;
  • WWN:N is the neutron’s cell weight window card, where W1, W2, W3, etc., represent the lower limits of the weight windows for each cell. If the cell weight window card is being used for photons, replace the keyword with WWN:P. If the cell weight window card is being used for electrons, replace the keyword with WWN:E;
  • WWMESH:N is the neutron’s mesh weight window card, where W1, W2, W3, etc., represent the lower limits of the weight windows for each mesh. The definitions of the meshes are in the mesh tally section. The current code supports non-uniform meshes and non-uniform cylindrical meshes. If the mesh weight window card is being used for photons, replace the keyword with WWMESH:P . If the mesh weight window card is being used for electrons, replace the keyword with WWMESH:E ; In current version of RMC, the default method of mesh-based weight window is Track-based weight window algorithm.
  • WWP:N is the neutron’s weight window parameter card, WUPN indicates the ratio of the weight window upper limit to the lower limit, requiring WUPN > 2, with a default value of 5. WSUV indicates the ratio of the weight of surviving particles to the weight window lower limit, requiring 1 < WSURVN < WUPN, with a default value of 3. If the weight window card is being used for photons, replace the keyword with WWP:P . If the weight window card is being used for electrons, replace the keyword with WWP:E ;
  • Note that only one type of particle weight window card can be used at the same time. For example, for neutrons, only one of WWN:N or WWMESH:N needs to be defined. If WWP:N is not defined, it will use the default value.
  • WeightWindowMESHThe mesh used for weight window will be used in a very similar way as in the Meshtally, which also includes the various defining factors of a mesh grid.
  • Geometry card specifies the type of coordinate system: 1 for Cartesian coordinates, 2 for cylindrical coordinates, with the default being 1.
  • Axis card specifies the z-axis direction in cylindrical coordinates; it is not defined for Cartesian coordinates.
  • Vector card, along with the Axis vector, forms the plane where φ = 0 . The Vector and Axis can be non-perpendicular but cannot be parallel; it is not defined for Cartesian coordinates.
  • Origin card specifies the origin coordinates in cylindrical coordinates; it is not defined for Cartesian coordinates.
  • Scope card specifies the number of meshes in the x, y, and z directions. Specifically, the parameter “-1” indicates that there is only one infinite mesh in that direction (Note: in the Scope card within Universe repeated geometry, a parameter of 1 indicates that there is only one infinite mesh in that direction).
  • Bound card specifies the boundary range of the mesh in the x, y, and z directions, formatted as “Bound = x_min x_max y_min y_max z_min z_max”. If there is only one mesh in a direction, the corresponding parameters in the Bound card are meaningless.
  • BoundX / BoundY / BoundZ cards specify the coarse mesh boundary sequence for non-uniform meshes in the x, y, and z directions, respectively. For example, “BoundX = 1.0 3.0 7.0” indicates there are three coarse mesh boundaries in the x direction, which are 1.0, 3.0, and 7.0. Note: The coarse mesh boundary sequences in each direction must be monotonically increasing.
  • ScopeX ScopeY ScopeZ cards specify the fine mesh tally sequences for non-uniform meshes in the x, y, and z directions, respectively. For example, “ScopeX = 2 8” indicates that there are a total of two coarse meshes in the x direction, with 2 and 8 fine meshes within each coarse mesh, respectively. Note: The number of coarse mesh boundaries must be one more than the number of coarse meshes, and RMC does not currently support non-uniform meshes that have only one layer of infinite mesh in any direction.

31.3. Compatibility with MCNP Mesh Weight Window Input Card

Currently, RMC is compatible with MCNP format weight window files, allowing the use of MCNP variance reduction parameters WWE, WWN, WWP, and WWINP cards, but not supporting the WWT card. MCNPWeightWindow is the keyword for the compatible MCNP weight window input card parameters;

MCNPWeightWindow
WWE:N  E_1  E_2  E_3  E_4 … E_j
WWN1:N W_11  W_12  W_13  W_14 … W_1j
WWN2:N W_21  W_22  W_23  W_24 … W_2j
[WWP:N WUPN WSURVN MXSPLN MWHERE SWITCHN MTIME WNORM ETSPLT]
[WWINP  FileName]
  • WWE:N is the neutron’s cell weight window card, where E_1, E_2, E_3, E_4 … E_j represent the energy intervals for each cell. The minimum energy is not input on the WWE card but is defined as zero.
  • WWNi:N specifies the lower limits of the weight window related to space and energy in the cell. If the weight window is energy-dependent (i.e., there are weight window splits for particles of different energies), it must be used with the WWE card. The weight limits for particles are always absolute values, not relative. If both WWN and WWE cards are used, the user must specify a weight window lower limit for each energy for each cell. This means that if the WWE card specifies n energy bins and there are m cells in this example, n weight window lower limits must be input after each WWNi:N, corresponding to the n energy lower limits in this cell.
  • WWP:N is the neutron weight window parameter card. WUPN indicates the multiple of the upper and lower limits of the weight window, with a requirement of WUPN > 2, and the default value is 5. WSUV represents the multiple of the surviving particle weight and the lower weight window limit, requiring 1 < WSURVN < WUPN, with the default value of 3. MXSPLN greater than 1 indicates the maximum number of particle splits. MWHERE specifies where the weight window is used, currently only supporting 0, meaning the weight window is used at particle crossing surfaces and collisions. SWITCHN specifies where the lower limit of the weight window is obtained, currently supporting only <0 and =0. <0 means the lower limit is obtained from WWINP, and =0 means it is obtained from WWN. It is important to note that this parameter must match the type of card used. When <0, WWINP must be used, and when =0, WWN must be used. MTIME indicates how to interpret the parameters in the WWE card: =0 means the numbers in WWE represent the energy grid of the weight window, and >0 means the numbers in WWE represent the time grid of the weight window. Currently, only MTIME = 0 is supported. WNORM represents the weight window multiplier, which is currently not supported in RMC and must be set to 0. ETSPLT indicates the use of ESPLT and TSPLT, which are not supported in RMC, so this parameter must be set to 0.
  • WWINP is the card that allows RMC to read the MCNP weight window file format. The FileName is specified as the MCNP weight window format file. It should be noted that when using WWINP, a grid weight window must be used, which generates a mesh tally numbered 99, and WWINP cannot be used together with WWN.

WWN Card and WWE Card (Neutron) Example

MCNPWeightWindow
WWE:N     e1  e2  e3
WWN1:N    w11  w12  w13  w14
WWN2:N    w21  w22  w23  w24
WWN3:N    w31  w32  w33  w34

This example defines the lower limits of neutron weight windows for 4 cells across 3 energy ranges. For the energy bin 0-e1, the lower weight window limits for cells 1 to 4 are w11, w12, w13, and w14, respectively, and so on.

31.4. Input Card for MCNP-Compatible Weight Window Generator

RMC currently supports the MCNP-compatible weight window generator and allows the use of the MCNP weight window generation cards WWG and WWGE. MCNPWeightWindow is the keyword for the MCNP-compatible weight window generator input card. WWG and WWGE cards cannot be used simultaneously with any type of weight window parameters (WWE, WWN, WWP, WWINP cards). Also, the weight window generator in RMC currently generates weight windows for all particles involved in the current calculation process by default.The output weight window card will be named as [inp_file_name].wwout

MCNPWeightWindow
WWG  It  Ic  Wg  J1  J2  J3  J4  IE
WWGE E_1 E_2 … E_j  //j is any positive integer
  • WWG is the automatic weight window lower limit generator parameter card.
  • Itrefers to the tally number of the reference CellTally.
  • Icspecifies whether the weight window generator is based on cells or grids. If Ic > 0, the cell-based weight window generator is used, with the reference cell number being Ic, and the REF card cannot be used in this case. If Ic < 0, the grid-based weight window generator is used, with the absolute value of Ic being the reference grid tally number.
  • Wgis the lower limit of the weight window generated from the reference CellTally or MeshTally. If Wg = 0, the lower weight window limit for the reference CellTally or MeshTally is 0.5 times the source particle weight. The default value of Wg is 0. J1-J4 have no significance and are retained for compatibility with the MCNP format. When using a grid-based weight window generator (Ic = 0), a MeshTally must be specified, and the grid defined by this MeshTally is the weight window grid.
  • IEspecifies the input method for the WWGE card, currently only supporting IE = 0, which means the WWGE card defines the energy grid.
  • WWGE is the energy grid input card for the automatic weight window lower limit generator. E_1, E_2, E_3, E_4 … E_j are the upper boundaries of the energy grid. By default, the lowest energy is 0 during weight window generation. j can be up to 10,000; if exceeded, the values will be truncated.

Example of WWG Card and WWGE Card

MCNPWeightWindow
WWG 1 1 0.001 0 0 0 0 0
WWGE:N 0.01 0.1 1 5

This example defines a WWG card based on the MCNP format. The weight window is generated for the tally results of the cell tally numbered 1, with the reference cell being 1, the lower limit of the weight window being 0.0001, and the energy grid being 0.01, 0.1, 1, and 5 MeV.

31.5. Source Biasing Input Card

The source biasing function can be specified in the source description module. To perform biased sampling between different sources, you can use the Source option card’s BiasFrac parameter. To perform biased sampling within a specific source distribution, you can use the Bias parameter in the Distribution option card.