# Critical density iteration

From Serpent Wiki

## Input

setiternucCYCLESKEFFN_{ZAI}ZAI_{1}ZAI..._{2}ZAI[_{NZAI}N_{MAT}MAT_{1}MAT..._{2}MAX]_{NMAT}

CYCLES |
: number of additional inactive cycles to run for the convergence of the iteration |

KEFF |
: target k-eff for the iteration |

N_{ZAI} |
: number of different nuclides (ZAI) included in the iteration |

ZAI_{i} |
: the ZAI (e.g. 50100 for boron 10 ground state) of the nuclide to be included in the iteration |

N_{MAT} |
: number of different materials included in the iteration (optional parameter) |

MAT_{i} |
: the name of the material to be included in the iteration |

__Notes:__

- 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.**

## Output

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.

## Operation

- Serpent will first execute the inactive cycles defined using the set pop input option with a multiplicative scaling factor of 1.0.
- 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. - Finally, the active cycles will be executed with the scaling factor still updated after each cycle.