Last version:
FLUKA 2021.2.1, July 26th 2021
(last respin )
flair-2.3-0b 30-Jul-2021


-- Fluka Release
( 30.07.2021 )

FLUKA 2021.2.1 has been released.
Fluka Major Release 18.05.2021 FLUKA 2021.2.0 has been released.
Congratulations from INFN: ,
Dear Paola,
I wish to congratulate you and all the authors and collaborators for this new Fluka release, which looks at the future and confirms the support of INFN in the development and continuous improvement of this code.
best regards
Diego Bettoni
INFN Executive Committee

font_small font_med font_big print_ascii

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

[ full index ]


defines Weight Windows in selected regions


Attention: Option WW-FACTOr alone is not sufficient to define a weight window. One or more WW-THRESH cards are also necessary in order to activate the window.

     WHAT(1) >= 0.0 : Russian Roulette (RR) parameter (Window "bottom" weight
                      at the lower energy threshold set by WW-THRESh).
              < 0.0 : resets to -1.0 a possible positive value set in a
                      previous WW-FACTOr card
              This value can be modified by WHAT(4) in option WW-THRESh or
              by WHAT(2) in WW-PROFIle, and can be overridden in the user routine
              UBSSET (argument WWLOW in the calling list, see (13))
            Default = -1.0 (no RR)

     WHAT(2) >  1.7*WHAT(1) : Splitting parameter (Window "top" weight at
                               the lower energy threshold set by WW-THRESh)
               = 0.0         : ignored
              =< 1.7*WHAT(1) : resets to infinity (no splitting) a possible value
                               set in a previous WW-FACTOr card
              This value can be modified by WHAT(4) in option WW-THRESh or
              by WHAT(2) in WW-PROFIle, and can be overridden in the user routine
              UBSSET (argument WWHIG in the calling list, see (13))
             Default: infinity (no splitting)

     WHAT(3) > 0.0  : Multiplicative factor to be applied to the two
                      energy thresholds for RR/splitting (defined by
                      option WW-THRESh) in the region of interest
             = 0.0  : ignored
             < 0.0  : resets to 1.0 a possible value set in a previous
                      WW-FACTOr card
             This value can be overridden in the user routine UBSSET
             (argument WWMUL in the calling list, see (13))
             Default: 1.0 (RR/splitting thresholds are not modified)

     WHAT(4) = lower bound of the region indices (or corresponding name) in
               which the indicated RR and/or splitting parameters apply
               ("From region WHAT(4)...")
               Default = 2.0

     WHAT(5) = upper bound of the region indices (or corresponding name) in
               which the indicated RR and/or splitting parameters apply
               (" region WHAT(5)...")
               Default = WHAT(4)

     WHAT(6) = step length in assigning indices. (" steps of
               Default = 1.0

     SDUM    : a number from 1.0 to 5.0 in any position, indicating the
               low-energy neutron weight-window profile to be applied
               in the regions selected (see WW-PROFIle). Exceptionally,
               here SDUM must be a number, in free format, rather than
               a character string.
             = blank, zero or non numerical: ignored
             < 0.0 : resets to 1.0 a possible value previously given
             This value can be overridden in the user routine UBSSET
             (argument JWSHPP in the calling list, see (13))
             Default (if no WW-PROFIle card is present): profile number 1

     Default (option WW-FACTOr or WW-THRESH not given): no weight window


  • 1) This option, which must be used together with WW-THRESh, allows the user to define a very detailed weight-window for Russian Roulette and splitting: energy-dependent, per region and per particle. WW-THRESh is used to set two basic energy values for each particle (including electrons and photons but not low-energy neutrons). From each basic couple of energies, a different couple of thresholds is generated for each region by multiplication with the factor provided in WHAT(3). A weight window of minimum width is defined at the lower threshold by its bottom and top edges (WHAT(1) and WHAT(2)); a second wider window is obtained from it at the higher threshold by increasing the "top edge" (splitting level) and decreasing the "bottom edge" (RR level) by the amplification factor given with WW-THRESh. The whole energy range is thus divided in three parts. In the high-energy part (above the higher threshold) the window is of infinite width, i.e. no splitting/RR takes place. In the medium-energy range the window narrows down continuously with decreasing energy, its top and bottom edges varying linearly with energy between the two thresholds. In the low-energy range the window width remains constant and equal to the minimum value it has at the lower threshold.

  • 2) Russian Roulette is played in a given region if the particle weight is lower than the bottom window edge for that energy, particle and region. The particle survives with a probability equal to the ratio between its weight and the RR edge, and is given a new weight equal to the RR edge itself. Splitting is performed if the particle weight is higher than the top window edge for that energy, particle and region. The particle is replaced by two identical ones with half its weight. Note that the top edge must always be at least a factor two higher than the bottom one, in order to avoid repeated and useless changes of weight. Actually, it is suggested to never make this factor less than 3 or 4.

  • 3) For low-energy neutrons, a different scheme applies. Instead of dividing the energy range into three parts (constant window, continuously varying window, infinite window), the window is assigned group by group by means of option WW-PROFIle, creating a so-called "weight-window profile". On the other hand, it is not possible to assign a different profile to each region, but only a maximum of 5 different profiles are allowed.

  • 4) A form of splitting and Russian Roulette is also provided by option BIASING. The two options, however, are different in many respects:
  • with WW-FACTOr, splitting and RR are played at the moment a particle is taken from the stack and starts to be transported. With BIASING, splitting/RR happens when a particle crosses a boundary (in the case of hadrons also
  • on request
  • before loading in stack the secondaries from an inelastic hadron collision)
  • while the criterion used by BIASING to trigger splitting/RR depends only on the RELATIVE IMPORTANCE of various regions of phase space, the weight window is based on ABSOLUTE WEIGHT STANDARDS pre-assigned to different phase space regions
  • BIASING can have two purposes: when used at collisions with RR only, i.e. reducing factor < 1, it aims at increasing the total number of histories simulated in a given time, namely to sample over a more extended part of phase space (e.g.
    more primary interactions) without leaving any important part not sufficiently represented. (This is also true of leading particle biasing for electrons and photons via option EMF-BIAS). At the same time (and this holds also for splitting, especially when the option is used at boundary crossing) it can be applied to sample preferentially from those regions of phase space which contribute more to the result.
    This second purpose is also that of the WW-FACTOr weight window, but in addition this option has the advantage to avoid excessive weight fluctuations. These can be dangerous in two ways. In general, if transport is biased and no control is kept on particle weight, it can happen that too much time is wasted by tracking particles of very low weight which can only contribute little to the score. On the other hand, too large weights can also be a problem. If the part of phase space used for scoring (the "detector") is very small (typically an element of a "binning" mesh), so that only a limited number of particles have a chance to enter it, it is statistically important that they all make contributions of the same order. A rare particle of large weight crossing the detector would give rise to an anomalous score not compensated by opposite fluctuations.

Why should one then use BIASING and not the weight window? The answer is that "tuning" an absolute weight by region and energy is more powerful but also much more difficult and time-consuming than just quantifying relative spatial importances. In general, it requires a lot of experience which can often be obtained only by performing repeated runs of the same case and by making a careful statistical analysis of history distributions in phase space. Not all problems are worth of it and not all users are able to do it.

It can also be said that WW-FACTOr and BIASING (and other non-analogue transport options) are not necessarily mutually exclusive; on the contrary the weight window can be successfully used to damp excessive fluctuations originated by other techniques. However, it is the user's responsibility to ensure that the average absolute weights produced independently by the different options be of the same order of magnitude. Otherwise, possible conflicts could give rise to a waste of time due to an excessive rate of weight adjustments, and even to incorrect results.

  • 5) The weight limits defined by WW-FACTOr apply to all particles: however, it is possible to set different values for specific particles (see WHAT(3) of option WW-THRESh). This is especially necessary when secondary particles are generated with a weight much smaller than the parent particles of a different kind (for instance, as the result of LAM-BIAS option).

  • 6) WW-FACTOr is one of the two FLUKA options where SDUM is used to input numerical data. (Actually, the material number is first read as a string and then an internal reading is performed on the string to get the number).

Example 1 (number based):

 WW-FACTOR       76.0    1200.0       1.0       5.0       6.0       0.0
 *  In regions 5 and 6, set the lower weight limit = 76.0 and set the upper
 *  limit = 1200. No modification of the two energy thresholds.

The same example, name based:

 WW-FACTOR       76.0    1200.0       1.0   Regfive    Regsix       0.0

Example 2 (number based):

 WW-FACTOR       13.0     120.0       1.5      27.0      31.0       2.0   3.
 *  In regions 27, 29 and 31, set the lower weight limit = 13. and set the
 *  upper limit = 120. The two energy thresholds set by WW-THRES are multiplied
 *  by a factor 1.5. Apply low-energy neutron profile number 3.

The same example, name based:

 WW-FACTOR       13.0     120.0       1.5   regio27   regio31       2.0   3.

© FLUKA Team 2000–2021

Informativa cookies