BIASING

Summary

Biases the multiplicity of secondaries (only for hadron, heavy ion or muon/photon nuclear interactions) on a region by region basis.  Sets importance sampling (Russian Roulette/splitting) at boundary crossing by region and by particle. ​​ ​​ ​​​

See also EMF–BIAS, LOW–BIAS, LAM–BIAS, WW–FACTOr, WW–PROFIle, WW–THRESh

The meaning of WHAT(1)…WHAT(6) and SDUM is different depending on the sign of WHAT(1):

If WHAT(1) ≥ 0.0:

WHAT(1)

\(I_0+1000I_1\), where \(I_0\) specifies the particles to be biased:

= 0.0:

all particles

= 1.0:

hadrons, heavy ions and muons

= 2.0:

electrons, positrons and photons

= 3.0:

low-energy neutrons

\(I_1\) specifies the generation above which RR or splitting is played, meaningful only for SDUM = RR-GENER. This parameter is global, not region dependent. Default: all particles, all generations.

WHAT(2) =
RR (or splitting) factor by which the average number of secondaries produced in a collision​ should be reduced (or increased). Meaningful only for hadron, heavy ion, or muon/photon nuclear interactions.
This value can be overridden in the user routine UBSSET by assigning a value to variable RRHADR. ​​
Default

= 1.0

WHAT(3) =
region importance (allowed values range from 0.0001 to 100000.0)
This value can be overridden in the user routine UBSSET by assigning a value to one or more of the variables​ ​​ IMPHAD, IMPLOW and IMPEMF (depending on the value of WHAT(1))
If SDUM = USER, setting WHAT(3) = 1. for a region will suppress all calls to routine USIMBS during tracking inside that region.
Default

= 1.0

WHAT(4) =
lower bound (or corresponding name) of the region indices with importance equal to WHAT(3) and/or with multiplicity biasing factor equal to WHAT(2)
(“From region ``WHAT(4)``…”)
Default

= 2.0

WHAT(5) =
upper bound (or corresponding name) of the region indices with importance equal to WHAT(3) and/or with multiplicity biasing factor equal to WHAT(2)
(“…to region ``WHAT(5)``…”)
Default

= WHAT(4)

WHAT(6) =
step length in assigning indices
(”…in steps of ``WHAT(6)`` ”)
Default

= 1.0

SDUM

= PRINT: importance biasing counters ​ are printed (useful to tune importances and weight​

windows)

=

NOPRINT: counters are not printed (cancels any previous PRINT request)

=

USER: importance biasing according to the user defined routine USIMBS​

=

NOUSER: resets to default (cancels any previous USER request)

=

RRPRONLY: multiplicity biasing for primary particles only. This setting is global, not region dependent, and mutually exclusive with RR-GENER.​

=

RR-GENER: multiplicity biasing only for particles of generation higher than the value set with WHAT(1). This setting is global, not region dependent, and mutually exclusive with RRPRONLY.

blank: ignored

Default

= NOPRINT, NOUSER, multiplicity biasing for all generations (if requested)

If WHAT(1) < 0.0:

WHAT(1)

: flag indicating that all region importances shall be modified by a particle-dependent factor, based on a modifying parameter ​ as explained in the Note 3 below

WHAT(2) ≥ 0.0:

modifying parameter M (see Note 3). See also WARNING below.

< 0.0:

M is reset to the default value 1.0 (i.e. no modification)

WHAT(3) =
lower bound (or corresponding name) of the particle numbers to which the indicated modifying parameter applies
(“From particle ``WHAT(3)``…”)
Default

= 1.0

WHAT(4) =
upper bound (or corresponding name) of the particle numbers to which the indicated modifying parameter applies
( “…to particle ``WHAT(4)``…”)
Default

= WHAT(3) if WHAT(3) > 0.0, all particles otherwise

WHAT(5) =
step length in assigning particle numbers
(“…in steps of ``WHAT(5)`` ”)
Default

= 1.0

WHAT(6)

= For sdum = RRTHRESH: (kinetic) energy threshold below which RR/splitting at interactions is played, default oo, a value < 0 resets to default, 0 is ignored. Please note that it is not particle dependent For sdum = RR-LPTHR: (kinetic) energy threshold below which the leading particle is no longer preserved in RR, default 0, a value < 0 resets to default, 0 is ignored. Please note that it is not particle dependent All other sdums’: not used

SDUM = PRIMARY:
importance biasing is applied also to primary particles (cancels any previous
NOPRIMARy request)
= NOPRIMARy:

importance biasing is applied only to secondaries

Default

= PRIMARY

RRTHRESH: WHAT(6) is the maximum energy for RR/splitting at interactions.

WARNING

Summary

Even if a BIASING card is issued only to set PRIMARY/NOPRIMARy, remember that a value of 0.0 is meaningful for WHAT(2). Leaving blank WHAT(2) to WHAT(5) has the effect of turning off all importance biasing for all particles!

Default

: (option BIASING not given): no multiplicity or RR/splitting biasing

Notes

  1. WHAT(2), with WHAT(1) ≥ 0.0, governs the application of Russian Roulette (or splitting) at hadronic collisions, in order to achieve a reduction (resp. an increase) of the multiplicity of secondaries.​

    The same secondary is loaded onto the particle stack for further transport 0, 1 or any number of times depending on a random choice, such that on average the requested multiplicity reduction (or increase) is achieved. The weight of the stacked particles is automatically adjusted in order to account for the bias thus introduced.

    If Russian Roulette has been requested, the reduction will not affect the leading particle​, which will always be retained, with unmodified weight. Also, no RR is performed when the number of secondaries is less than 3. On the contrary, there are no such limitations for splitting (multiplicity increase).

    There is some analogy with leading particle biasing as performed for electrons and photons with option EMF–BIAS ​, and for hadrons in codes like Casim [Van75].​ ​

  2. WHAT(3), with WHAT(1) ≥ 0.0, governs RR/splitting at boundary crossing​. The number of particles of the selected type crossing a given boundary is reduced/increased on average by a factor equal to the ratio​ of the importances on either side of the boundary. What is relevant are the relative importances of adjacent regions, not their absolute values. As a guideline, in shielding​ and, in general, strong attenuation​ problems, the importance of a region should be about inversely proportional to the corresponding attenuation factor (absorption plus distance attenuation). This would exactly compensate the dilution of particle density leading to a particle population approximately uniform in space. In some cases, however, when the user is interested in improving statistics only in a limited portion of space, a uniform population density is not desirable, but it is convenient to set importances so as to increase particle densities in a particular direction.

  3. Different importances can be given to the same region for different particles, using the particle-dependent modifying factor M which can be defined setting WHAT(1) < 0.0.

    The modifying parameter M (WHAT(2), with WHAT(1) > 0.0) works as follows:

    At a boundary crossing, let us call \({I}_1\) the importance of the upstream region, and \({I}_2\) that of the downstream region.

    • If \({I}_2\,<\,{I}_1\), Russian Roulette​ will be played.

      Without any modifying factor, the chance of particle survival is \({I}_2/{I}_1\).

      For \(0.0\,\leq\,{M}\,\leq\,1.0\), the survival chance is modified to:

      \[1.0\,-\,{\textbf{M}}\,\times\,(1.0\,-\,{I}_2/{I}_1)\]

      It can be seen that a value M = 0.0 resets the chance of survival to 1.0, namely inhibits Russian Roulette biasing. ​

      A value M = 1.0 leaves the survival chance unmodified, while any value between 0.0 and 1.0 increases the probability of survival with respect to the basic setting.

      For \({M}\,\geq\,1.0\), the survival chance is modified to:

      \[{I}_2/({\textbf{M}}\,\times\,{I}_1)\]

      So, a value larger than 1.0 decreases the probability of survival with respect to the basic setting.

    • If \({I}_2\,>\,{I}_1\), there will be splitting​.

      Without any modifying factor, the number of particles is increased on average by a factor \({I}_2/{I}_1\).

      With the modifying factor, the number of particles is increased instead by:

      \[1.0\,+\,{\textbf{M}}\,\times\,({I}_2/{I}_1\,-\,1.0)\]

      It can be seen that a value M = 0.0 resets the splitting factor to 1.0, namely inhibits splitting.​

      A value M = 1.0 leaves the number of particles unmodified; a value between 0.0 and 1.0 decreases the amount of splitting with respect to the basic setting; a value > 1.0 increases the amount of splitting.

    Hint: One of the most common uses of the modifying factor is to play Russian Roulette/splitting only for some selected particles: one does that by inhibiting biasing for all other particles, i.e. setting = 0.0 the modifying factor M (WHAT(2), with WHAT(1) < 0.0).​

  4. In the most general case, increasing a region’s importance leads to an increased particle “traffic” through that region and consequently to a better scoring statistics in regions “beyond”. However, it should be avoided to have relatively large importances in scoring regions compared with those in adjacent ones to avoid correlated tallies.​ If that happens, the scoring statistics might look only apparently good. It must be avoided also to have too different importances in adjacent zones: the best biasing has to be done gently, without forcing and in a way as continuous as possible.

  5. All these biasing techniques are intended to improve statistics in some parts of phase space at the expenses of the other parts. Biased runs in particular can neither accelerate convergence​ in all regions, nor reproduce natural fluctuations​ and correlations​. Do not bias unless you know what you are doing!

  6. Advice: When choosing the multiplicity reduction option of BIASING, or any other biasing option which can introduce weight fluctuations in a given region, it is suggested to set also a weight window (cards WW–FACTOr and​ ​ WW–THRESh​) in order to avoid too large fluctuations in weight​. The window must be consistent with the other weight-modifying options, i.e. it must be approximately centred on the average value of the weight expected in the region in question. If necessary, set SDUM = PRINT to get such information.

    In case no window has been set, the code still keeps weights​ under control (but only those of low-energy neutrons) by imposing a maximum deviation from a central value. This reference level​ is usually equal to the inverse of the neutron importance in the region in question. However, since for technical reasons in FLUKA allowed importance values range only from 0.0001 to 100000.0, the user can multiply all the importances by a factor, only for the purpose of calculating the reference weight level, by means of option​ WW–PROFIle​.

    If the only biasing is via region importances set by WHAT(3), only limited fluctuations arise (all particles of a given kind have about the same weight in the same region), and no window is needed.

  7. Importance biasing cannot be made by user routine USIMBS and by setting region importances at the same time.

Example, for a number-based input:

*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
BIASING          2.0       0.0      10.0       7.0      11.0      2.0
BIASING          2.0       0.0      15.0       8.0       9.0      0.0
BIASING         -1.0       0.0       3.0       4.0       0.0      0.0
BIASING          1.0       0.7       0.4       3.0       8.0      0.0 PRINT
*         In this example, the first two BIASING cards set an importance = 10
*         for electrons, positrons and photons in regions 7, 9 and 11; and
*         an importance = 15 in regions 8 and 9 for the same particles.
*         However, the following card requires a modifying factor = 0.0
*         (no splitting or Russian Roulette) for electrons and positrons.
*         The net result is that biasing at boundary crossing with the above
*         region importances is played only for photons.
*         The fourth card sets a reduction factor = 0.7 for the multiplicity
*         of hadronic events in regions 3, 4, 5, 6, 7 and 8; the importance
*         of these same regions is set = 0.4; and it is required that biasing
*         counters be printed.

The following is the same example, in a name-based input:

BIASING          2.0       0.0      10.0   Seventh  Eleventh      2.0
BIASING          2.0       0.0      15.0    Eighth     Ninth      0.0
BIASING         -1.0       0.0  ELECTRON  POSITRON       0.0      0.0
BIASING          1.0       0.7       0.4     Third    Eighth      0.0 PRINT