Input syntax manual
Serpent has no interactive user interface. All communication between the code and the user is handled through one or several input files and various output files.
The format of the input file is unrestricted. The file consists of white-space (space, tab or newline) separated words, containing alphanumeric characters(’a-z’, ’A-Z’, ’0-9’, ’.’, ’-’). If special characters or white spaces need to be used within the word (file names, etc.), the entire string must be enclosed within quotation marks.
The input file is divided into separate data blocks, denoted as cards. The file is processed one card at a time and there are no restrictions regarding the order in which the cards should be organized. The input cards are listed below. Additional options are followed by key word "set". All input cards and options are case-insensitive (note to developers: make it so). Each input card is delimited by the beginning of the next card. It is hence important that none of the parameter strings used within the card coincide with the card identifiers.
The percent-sign ('%') is used to define a comment line. Anything from this character to the end of the line is omitted when the input file is read. Unlike Serpent 1, hashtag ('#') can no longer be used to mark comment lines in Serpent 2 input. The alternative is to use C-style comment sections beginning with "/*" and ending with "*/". Everything between these delimiters is omitted, regardless of the number of newlines or special characters.
This page will contain the whole input syntax of Serpent 2, with links to more detailed descriptions where needed. For reference see also the Serpent 1 input manual.[1]
Contents
Input cards
cell (cell definition)
det (detector definition)
div (divisor definition)
include (read another input file)
include <file>
Reads another input file. Input values:
<file> | : name of the input file |
Notes:
- The include card can be used to simplify the structure of complicated inputs.
- The input parser starts reading and processing the new file from the point where the input card is placed. Processing of the original file continues after the new file is completed.
- The included file must contain complete input cards and and options, it cannot be used to read the values of another card.
mat (material definition)
surf (surface definition)
src (source definition)
Input options
Input options are used to set various calculation parameters that are not included in the main input cars. Each option is identified by key word "set". Optional values are enclosed within square brackets.
set arr
set arr <moden> [ <modeg> ]
Sets analog reaction rate calculation on or off. Input values:
<moden> | : mode for neutrons (0 = no reactions included, 1 = include only reactions that affect neutron balance, 2 = include all reactions) |
<modeg> | : mode for photons (0 = no reactions included, 1 = include all reactions) |
Notes:
- Analog reaction rates are calculated by counting sampled events and printed in a separate output file.
- See detailed description on the history output file.
set blockdt
set blockdt <mat_1> <mat_2> ...
Defines the list of materials where delta-tracking is never used. Input values:
<mat_n> | : material names |
Notes:
- This option is used to override selection of tracking mode based on the probability threshold (see set dt) in individual materials.
- Use of delta-tracking can be forced in individual materials using set forcedt.
- For more information on tracking modes, see the detailed description on delta- and surface-tracking.
- Note to developers: should have different lists for neutrons and photons?
set delnu
set delnu <opt>
Sets delayed neutron emission on or off. Input values:
<opt> | : option to switch delayed neutron emission on (1/yes) or off (0/no) |
Notes:
- Delayed neutron emission is on by default in neutron criticality source and off by default in external source simulation mode.
set dt
set dt <ntrsh> [ <gtrsh> ]
Sets probability threshold for delta-tracking. Input values:
<ntrsh> | : probability threshold for neutrons |
<gtrsh> | : probability threshold for photons |
Notes:
- Serpent uses delta-tracking by default for both neutrons and photons, but switches to surface-tracking if the probability of sampling virtual collisions (ratio between material total cross section and the majorant) exceeds the given threshold.
- Default probability threshold for both particle types is 0.9, i.e. delta-tracking is used if the ratio between total cross section and majorant is above 0.1.
- set dt 1 means that delta-tracking is always used and set dt 0 that it is never used.
- Use of delta-tracking can be enforced or blocked in individual materials using the set forcedt and set blockdt options
- Integral reaction rates are scored using the collision estimator of neutron flux, which has a few adjustable parameters (see set minxs).
- For more information on tracking modes, see the detailed description on delta- and surface-tracking.
set entr
set entr <nx> <ny> <nz> [ <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> ]
Defines the mesh structure used for calculating fission source entropy. Input values:
<nx> | : number of mesh cells in x-direction |
<ny> | : number of mesh cells in y-direction |
<nz> | : number of mesh cells in z-direction |
<xmin> | : minimum mesh boundary in x-direction |
<xmax> | : maximum mesh boundary in x-direction |
<ymin> | : minimum mesh boundary in y-direction |
<ymax> | : maximum mesh boundary in y-direction |
<zmin> | : minimum mesh boundary in z-direction |
<zmax> | : maximum mesh boundary in z-direction |
Notes:
- Shannon entropy is used to monitor fission source convergence by recording the distribution of source points on mesh.
- The calculation is invoked by setting the generation history record option on (set his).
- The default mesh size is 5x5x5, extending over the entire geometry.
- Monitoring fission source convergence make sense only in criticality source mode.
- For more information, see detailed description on fission source convergence.
set forcedt
set forcedt <mat_1> <mat_2> ...
Defines the list of materials where delta-tracking is always used. Input values:
<mat_n> | : material names |
Notes:
- This option is used to override selection of tracking mode based on the probability threshold (see set dt) in individual materials.
- Use of delta-tracking can be blocked in individual materials using set blockdt.
- For more information on tracking modes, see the detailed description on delta- and surface-tracking.
- Note to developers: should have different lists for neutrons and photons?
set gbuf
set gbuf <fac> [ <bnk> ]
Sets the size of photon buffer and event bank. Input values:
<fac> | : factor (> 1) defining the buffer size |
<bnk> | : event bank size |
Notes:
- Photon buffer refers to pre-allocated memory block used to store photon particle data. This memory is needed for putting secondary photons in que, etc..
- The buffer factor defines the buffer size relative to simulated batch size.
- The event bank refers to pre-allocated memory block used to store history data on particle events. This bank is used only with certain special options, such as importance detectors and track plotter.
- The default values depend on simulation mode, and there is no need to adjust the values unless the calculation terminates with an error.
- Note to developers: event bank is now the same for both neutrons and photons.
set gcut
set gcut <gmax>
Sets generation cut-off for neutrons. Input values:
<gmax> | : number of simulated generations before cut-off |
Notes:
- The generation cut-off can be used in neutron external source simulations, to limit the length of fission chains.
- Applicable only to neutron external source simulation (invoked using set nps)
- Generation or time cut-off (set tcut) is always needed for neutron external source simulations in super-critical systems.
set his
set his <opt>
Sets batch history record on or off. Input values:
<his> | : option to switch batch history record on (1/yes) or off (0/no) |
Notes:
- When invoked, Serpent collects batch-wise data on keff, fission source entropy etc. and produces a separate output file.
- Setting the history option also invokes the calculation of fission source (Shannon) entropy. The entropy mesh parameters can be adjusted using set entr.
- See detailed description on the history output file.
set minxs
set minxs <ln> [ <tn> <lg> <tg> ]
Defines the minimum mean distance for scoring the collision flux estimator (CFE) for photons and neutrons. Input values:
<ln> | : minimum mean distance for scoring the CFE for neutrons |
<tn> | : minimum mean time interval for scoring the CFE for neutrons |
<lg> | : minimum mean distance for scoring the CFE for photons |
<tg> | : minimum mean time interval for scoring the CFE for photons |
Notes:
- The use of delta-tracking necessitates the use of CFE for scoring the integral reaction rates. The scoring is based on both real and virtual collision to improve the statistics in low density regions (and short time intervals).
- The minimum mean distance is the statistical mean-free-path (mfp) of collisions that contribute to the CFE. Collisions are more frequent if the physical mfp is shorter.
- In time-dependent simulations it may be more convenient to define the minimum mean time between two collisions, to get sufficient statistics for short time bins.
- The default minimum mean scoring distance is 100 cm for both neutrons and photons. Adjusting the distance affects both statistics and running time, but it should be noted that no studies have been performed on what the optimal value should be.
- Only one criterion can be provided for each particle type. If distance is given, time must be set to -1 and vice versa.
- For more information on tracking modes and CFE, see the detailed descriptions on delta- and surface-tracking and result estimators.
set mvol
set mvol <mat_1> <zone_11> <vol_11> <mat_1> <zone_12> <vol_12> ... <mat_2> <zone_21> <vol_21> ...
Sets the volumes of material regions. Input values:
<mat_m> | : name of material m |
<zone_mn> | : index of zone n in material m |
<vol_mn> | : volume of zone n in material m |
Notes:
- This option is used to define material volumes manually
- The zone index is related to automated depletion zone division, invoked by the div card.
- Note to developers: event bank is now the same for both neutrons and photons.
set nbuf
set nbuf <fac> [ <bnk> ]
Sets the size of neutron buffer and event bank. Input values:
<fac> | : factor (> 1) defining the buffer size |
<bnk> | : event bank size |
Notes:
- Neutron buffer refers to pre-allocated memory block used to store neutron particle data. This memory is needed for banking fission neutrons for the next generation and putting secondary neutrons in que.
- The buffer factor defines the buffer size relative to simulated batch size.
- The event bank refers to pre-allocated memory block used to store history data on particle events. This bank is used only with certain special options, such as importance detectors and track plotter.
- The default values depend on simulation mode, and there is no need to adjust the values unless the calculation terminates with an error.
- Note to developers: event bank is now the same for both neutrons and photons.
set nps
set nps <ppb> [ <btch> ]
Sets parameters for simulated particle population in external source mode. Input values:
<ppb> | : number of particles per batch |
<btch> | : number of batches |
Notes:
- The simulation is run for a number batches using the given batch size.
- Using the nps card sets the mode to external source simulation. Criticality source simulation for neutrons is invoked using set pop.
- Running an external source simulation requires a source, defined by the src card. Source definition also sets the transported particle type.
- Neutron external source simulations are limited to sub-critical systems, unless time cut-off (set tcut) or generation cut-off (set gcut) is invoked.
- Neutron external source simulations in multiplying systems may require adjusting the neutron buffer (set nbuf).
- Delayed neutron emission is switched off by default in neutron external source simulation (for compatibility with MCNP). Delayed neutrons can be included with set delnu.
set pop
set pop <npg> <ngen> <nskip> [ <k0> <btch> ]
Sets parameters for simulated neutron population in criticality source mode. Input values:
<npg> | : number of neutrons per generation |
<ncyc> | : number of active generations |
<nskip> | : number of inactive generations |
<k0> | : initial guess for keff |
<btch> | : batching interval |
Notes:
- The simulation is first run for a number of inactive generations to allow the fission source to converge. This is followed by a number of active generations, during which the results are collected. The statistics are divided in batches, and by default each generation forms its own batch.
- Using the pop card sets the mode to criticality source simulation. External source simulation is invoked using set nps.
- Convergence of fission source can be monitored using Shannon entropy (input parameters set his and set entr).
- Initial guess for keff is 1.0 by default. Setting the value manually may get the simulation going if it terminates on the first generation because of poor initial guess. The value does not affect fission source convergence.
- See detailed descriptions on fission source convergence and statistical effects of batching.
set tcut
set tcut <tmax>
Sets time cut-off for neutrons and photons. Input values:
<tmax> | : time limit for simulated particle histories (in seconds) |
Notes:
- The time cut-off can be used in both neutron and photon external source simulations, to limit the length of particle histories.
- Time or generation cut-off (set gcut) is always needed for neutron external source simulations in super-critical systems.
- Note to developers: this should take independent values for photons and neutrons
- Note to developers: add links to description of dynamic mode
set ures
set ures <opt> [ <nuc_1> <nuc_2> ... ]
Sets unresolved resonance probability table sampling on or off. Input values:
<opt> | : option to switch probability table sampling on (1/yes) or off (0/no) |
<nuc_n> | : list of nuclides to which the option is applied to. |
Notes:
- Probability table sampling is switched off by default
- Note to developers: add description of dilution cut-off
References
- ^ Leppänen, J. "Serpent – a Continuous-energy Monte Carlo Reactor Physics Burnup Calculation Code." User manual, June 18, 2015.