Last version:
FLUKA 2024.1.0, April 30th 2024
(last respin 2024.1.0)
flair-2.3-0e 06-May-2024


-- New Fluka Major Release
( 06.05.2024 )

FLUKA 2024.1.0 is available.
Flair-2.3-0epy3 adapted

font_small font_med font_big print_ascii

[ <--- prev -- ]  [ HOME ]  [ -- next ---> ]

[ full index ]


biases the multiplicity of secondaries (only for hadron or muon/photon photonuclear interactions) on a region by region basis. Sets importance sampling (Russian Roulette/splitting) at boundary crossing by region and by particle.


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) 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

     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, see (13))
               Default = 1.0

     WHAT(3) = region importance (allowed values range from 0.0001 to 10000.)
               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 traking 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).
               (" region WHAT(5)...")
               Default = WHAT(4)

     WHAT(6) = step length in assigning indices.
               (" 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
             = USER:     importance biasing according to the user defined
                         routine USIMBS
             = NOUSER:   reset to default (cancels any previous USER request)
             = RRPRONLY: multiplicity biasing for primary particles only
             = 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
             <  0.0 : M is reset to the default value 1.0 (i.e. no

     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
               (" particle WHAT(4)...")
               Default: = WHAT(3) if WHAT(3) > 0, all particles otherwise

     WHAT(5) = step length in assigning  particle numbers
               (" steps of WHAT(5)").
               Default: 1.0.

     WHAT(6) = 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


Even if a BIASING card is issued only to set PRIMARY/NOPRIMARy, remember that a value of 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


  • 1) WHAT(2), with WHAT(1) >= 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, 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. The modifying parameter M (WHAT(2), with WHAT(1) >
  • 0) works as follows: At a boundary crossing, let us call I1 the importance of the upstream region, and I2 that of the downstream region.

              - If I2 < I1, Russian Roulette will be played.
                Without any modifying factor, the chance of particle survival
                is I2/I1.
                For 0. <= M <= 1., the survival chance is modified to:
                              1. - M * (1. - I2/I1)
                It can be seen that a value M = 0. resets the chance of survival
                to 1., namely inhibits Russian Roulette biasing.
                A value M = 1. leaves the survival chance unmodified, while any
                value between 0. and 1. INCREASES the probability of survival
                with respect to the basic setting.
                For M >= 1., the survival chance is modified to:
                                  I2/(M * I1)
                So, a value larger than 1. DECREASES the probability of survival
                with respect to the basic setting.

              - If I2 > I1, there will be splitting. Without any modifying
                factor, the number of particles is increased on average by a
                factor I2/I1.
                With the modifying factor, the number of particles is increased
                instead by:
                              1. + M * (I2/I1 - 1.)
                It can be seen that a value M = 0. resets the splitting factor
                to 1., namely inhibits splitting.
                A value M = 1. 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 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. the modifying factor M (WHAT(2), with WHAT(1) < 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 10000., 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:

 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

© FLUKA Team 2000–2024

Informativa cookies