This page outlines the usage instructions for the methodology in Serpent to conduct time dependent simulations starting from a criticality source. These capabilities have been developed for transient calculations starting from a known critical system in steady state conditions. For information about external/fixed source simulations with population control see: Dynamic external source simulation mode
The transient methodology is still under development, which means that any results should be examined with caution.
Transient analyses with Serpent currently have to be executed in two parts:
- A criticality source simulation to generate the steady state neutron and delayed neutron precursor sources for the time dependent simulation.
- A time dependent simulation to model the time evolution of the system starting from the steady state source distributions.
Generating the steady state source distributions
Generating the initial source for the dynamic simulation is done with a criticality source simulation (see the model input). The only modification required to an existing input is the addition of one line:
set savesrc FILEPATH [PN PP NX NY NZ]
The FILEPATH argument tells Serpent, where to save the generated source distributions. Serpent will actually generate four source files:
- FILEPATH.main - containing general information of the generated source
- FILEPATH.prec - containing a precursor source tallied on a cartesian mesh
- FILEPATH.live - containing the live neutron source (binary)
- FILEPATH.precpoints - containing a point-wise precursor source (binary)
The other arguments are optional: PN and PP (numbers between [0,1]) can be used to adjust the probability store any single neutron or precursor to the source respectively. The default values are 1.0 for each. PN has to be adjusted a smaller value in many simulations. Since the probability to store a live neutron in any interaction has an inverse dependence on the cross section used to sample the path, the way the probability is calculated can lead to larger than unity probabilities for some interactions. In these cases Serpent will print out a warning:
***** Fri Feb 5 11:58:16 2016 (seed = 1454666276) Warning message from function WriteSourceFile: P larger than 1 (1.630892E+00)
PN should be then adjusted to make the saving probabilities smaller than one (PN is directly used to multiply the saving probability). PN linearly affects the number of neutrons being saved, so making it too small means that a large amount of neutrons have to be simulated to produce an adequate number of source points.
A smaller than unity PP can be set if, for some reason, the number of point-wise precursors that are saved has to be reduced.
NX, NY and NZ are optional parameters that can be used to set the size of the cartesian mesh used to tally the precursor populations (1x1x1 by default). If the point-wise precursor tracking will be used in the time dependent simulation, this can be left to the default size.
The .main-file contains the total neutron population of the system on the first line accompanied with it's estimated relative standard error. Serpent uses this to set the initial power level of the dynamic simulation to match that of the criticality source simulation.
The second line contains information about the binning of the precursor population (<N_time> <N_prec_group> <nx> <ny> <nz>)
The third line contains the simulation time the saved source matches. This will only be non-zero if using "set savesrc" in a dynamic simulation.
The fourth line contains the decay constants of the delayed neutron groups. Serpent uses these to check that the same group structure is being used in the criticality source simulation and the dynamic simulation.
The .prec-file contains the group-wise precursor populations tallied on the regular mesh. With point-wise precursors they are only used to set the normalization of the precursors. Each line contains a single tally bin:
iTime iGroup iSpatial value error
|iTime||: the time bin index (0 = beginning of simulation, largest index = end of simulation)|
|iGroup||: the delayed neutron group index|
|iSpatial||: the spatial bin index|
|value||: the stable precursor population in the bin|
|error||: the estimated relative standard error of the population|
The .live contains neutrons stored at random interactions (uniformly distributed in time) during the active cycles of the criticality source simulation. Each neutron takes up 9*size(double) bytes of disk space, which means that you can calculate the number of stored neutrons by dividing the file size by 9*size(double), typically 9*8. This is a good way to estimate if you stored enough neutrons for your dynamic simulation.
The .precpoints contains point-wise precursors stored during the active cycles of the criticality source simulation. Each precursor also takes up 9*size(double) bytes of disk space, so you can deduce the number of stored precursors the same way as with neutrons.
- The system should be as close to criticality as possible as any deviations result in errors in the live neutron source (due to the k-eigenvalue iteration only being accurate in critical systems) and in the precursor source (since the stable concentrations are calculated assuming steady state).
- Implicit reaction modes will affect the weight distribution of the neutron population, which may have adverse effects for statistics in some cases. The implicit reaction modes can be turned off by first turning off the group constant generation (set gcu -1) and the turning off the implicit reaction (set impl 0 0 0).