Critical density iteration

From Serpent Wiki
Jump to: navigation, search

This feature has been developed mainly to help in iterating the critical boron concentration for LWR systems, but can be used for various applications as long as the limitations of the methodology are well noted.

A set of nuclides in a set of materials can be flagged for critical density iteration, where the


CYCLES  : number of additional inactive cycles to run for the convergence of the iteration
KEFF  : target k-eff for the iteration
NZAI  : number of different nuclides (ZAI) included in the iteration
ZAIi  : the ZAI (e.g. 50100 for boron 10 ground state) of the nuclide to be included in the iteration
NMAT  : number of different materials included in the iteration (optional parameter)
MATi  : the name of the material to be included in the iteration


  • If a list of materials is not given, all materials that contain the included nuclides are included in the iteration.
  • The initial density of the nuclides to be iterated should be larger than zero.
  • The critical density iteration only works for nuclides that have a reactivity effect mainly through neutron absorption. Specifically, critical densities of fissile, moderating or reflecting nuclides cannot be iterated using this card.


An output variable ITER_FACTOR is included in the main [INPUT]_res.m results file. The output variable gives the mean multiplicative scaling factor applied to the density of the iterated nuclides to achieve a critical system.

If the batch history recording is set on (see set his) the [INPUT]_his[STEP].m history output file will contain batch-wise estimates for the scaling factor, which can be used to ensure the convergence of the scaling factor during the inactive cycles.


  1. Serpent will first execute the inactive cycles defined using the set pop input option with a multiplicative scaling factor of 1.0.
  2. After that, the additional inactive cycles defined using set iter nuc will be executed and the multiplicative scaling factor will be updated after each cycle in order to bring the system to criticality.
  3. Finally, the active cycles will be executed with the scaling factor still updated after each cycle.