RxnProcessSettings Block

This optional block is placed before all RxnProcess and RxnPhysics blocks and sets the order the reactions are carried out and how frequently the reaction is updated by VSim. If this block is not included, the default values (indicated below) will be used.

RxnProcess Attributes

updateOrder (string, optional, default = random)

Sets the order in which the reactions will be carried out at each timestep.

  • random: reactions are carried out at a different random order at each timestep.

  • constant: reactions are always carried out in the order of the RxnProcess Blocks in the .in file.

  • rotate: reactions are carried out in the order they are written at the first timestep, then cyclically permuted each subsequent timestep.

updatePeriod (vector of integers, required, default: vector of 1's)

This will set the interval (in timesteps) at which each interaction is updated. At the indicated interval, the reaction will be performed assuming all particles currently in each cell were in the cell since the previous update, using the entire time period since the previous update to determine the reaction probability as to ensure the total number of particle interactions remains constant regardless of the value chosen for the updatePeriod.

Advanced users may want to manually set this parameter when running simulations which have a low reaction rate compared to the timestep (due to a small PPC, low cross-section, etc); in such cases a lower sampling rate for a reaction process may be desired. Increasing the update period will result in a small performance boost.

Each position in the vector will match with the position of a RxnProcess Block in a .pre file.

The RxnProcessSettings block below comes from a simulation with 5 RxnProcess blocks. The interaction setup in the first, third, and fifth blocks will be carried out every timestep. The process set up in the second RxnProcess block will be performed every 5th timestep, and the interaction in the fourth block will be carried out every tenth timestep.

Example RxnProcessSettings Block

<RxnProcessSettings RxnProcessSettings>
  updateOrder = random
  updatePeriod = [ 1 5 1 10 1]
</RxnProcessSettings>