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 quotes.
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
- 1 Input cards
- 1.1 branch (branch definition)
- 1.2 cell (cell definition)
- 1.3 coef (coefficient matrix definition)
- 1.4 dep (depletion history)
- 1.5 det (detector definition)
- 1.6 div (divisor definition)
- 1.7 ene (energy grid definition)
- 1.8 ftrans (fill transformation)
- 1.9 fun (function definition)
- 1.10 ifc (interface file)
- 1.11 include (read another input file)
- 1.12 lat (regular lattice definition)
- 1.13 mat (material definition)
- 1.14 mesh (mesh plot definition)
- 1.15 mix (mixture definition)
- 1.16 nest (nested universe definition)
- 1.17 particle (particle geometry definition)
- 1.18 pbed (explicit stochastic (pebble bed) geometry)
- 1.19 pin (pin geometry definition)
- 1.20 plot (geometry plot definition)
- 1.21 sample (Temperature / density data sample definition)
- 1.22 sens (sensitivity calculation definition)
- 1.23 solid (irregular 3D geometry definition)
- 1.24 src (source definition)
- 1.25 strans (surface transformation)
- 1.26 surf (surface definition)
- 1.27 therm and thermstoch (thermal scattering)
- 1.28 tme (time binning definition)
- 1.29 trans (transformations)
- 1.30 transv and transa (velocity and acceleration transformations)
- 1.31 utrans (universe transformation)
- 1.32 wwgen (response matrix based importance map solver)
- 1.33 wwin (weight window mesh definition)
- 2 Input options
- 2.1 set acelib
- 2.2 set adf
- 2.3 set alb
- 2.4 set arr
- 2.5 set bc
- 2.6 set blockdt
- 2.7 set bralib
- 2.8 set bumode
- 2.9 set ccmaxiter
- 2.10 set ccmaxpop
- 2.11 set cfe
- 2.12 set coefpara
- 2.13 set cmm
- 2.14 set comfile
- 2.15 set confi
- 2.16 set cpd
- 2.17 set cpop
- 2.18 set csw
- 2.19 set dbrc
- 2.20 set declib
- 2.21 set decomp
- 2.22 set delnu
- 2.23 set depout
- 2.24 set dfsol
- 2.25 set dix
- 2.26 set dynsrc
- 2.27 set dt
- 2.28 set ecut
- 2.29 set egrid
- 2.30 set entr
- 2.31 set fininitfile
- 2.32 set fissh
- 2.33 set forcedt
- 2.34 set fsp
- 2.35 set fum
- 2.36 set gbuf
- 2.37 set gcu
- 2.38 set gcut
- 2.39 set his
- 2.40 set impl
- 2.41 set inftrk
- 2.42 set inventory
- 2.43 set isobra
- 2.44 set iter nuc
- 2.45 set keff
- 2.46 set lost
- 2.47 set mbtch
- 2.48 set mcvol
- 2.49 set mdep
- 2.50 set micro
- 2.51 set memfrac
- 2.52 set minxs
- 2.53 set mvol
- 2.54 set nbuf
- 2.55 set nfg
- 2.56 set nfylib
- 2.57 set ngamma
- 2.58 set nphys
- 2.59 set nps
- 2.60 set opti
- 2.61 set outp
- 2.62 set pcc
- 2.63 set pdatadir
- 2.64 set poi
- 2.65 set pop
- 2.66 set power
- 2.67 set powdens
- 2.68 set ppid
- 2.69 set ppw
- 2.70 set precsrcf
- 2.71 set printm
- 2.72 set relfactor
- 2.73 set repro
- 2.74 set rfr
- 2.75 set rfw
- 2.76 set root
- 2.77 set runtme
- 2.78 set samarium
- 2.79 set savesrc
- 2.80 set sca
- 2.81 set seed
- 2.82 set shbuf
- 2.83 set sie
- 2.84 set spd
- 2.85 set sfylib
- 2.86 set title
- 2.87 set tcut
- 2.88 set tpa
- 2.89 set transnorm
- 2.90 set trc
- 2.91 set ufs
- 2.92 set ures
- 2.93 set usym
- 2.94 set U235H
- 2.95 set xenon
- 2.96 set xscalc
- 2.97 set xsplot
- 3 References
Input cards
NOTE: Serpent command words are in boldface and input parameters entered by the user in CAPITAL ITALIC. Optional input parameters are enclosed in [ square brackets ], and when the number of values is not fixed, the remaining values are marked with three dots (...).
branch (branch definition)
branch NAME [ repm MAT_{1} MAT_{2} ] [ repu UNI_{1} UNI_{2} ] [ stp MAT DENS TEMP THERM_{1} SABL_{1} SABH_{1} THERM_{2} SABL_{2} SABH_{2} ... ] [ tra TGT TRANS ] [ xenon OPT ] [ samarium OPT ] [ var VNAME VAL ]
Defines the variations invoked for a branch in the automated burnup sequence. Input values:
NAME | : branch name |
MAT_{1} | : name of the replaced material |
MAT_{2} | : name of the replacing material |
UNI_{1} | : name of the replaced universe |
UNI_{2} | : name of the replacing universe |
MAT | : name of the material for which density and temperature are adjusted |
DENS | : material density after adjustment (positive entries for atomic, negative entries for mass densities, or "sum" to use the sum of the constituent nuclide densities) |
TEMP | : material temperature after adjustment, or -1 if no adjustment in temperature |
THERM_{n} | : n:th thermal scattering data associated with the material |
SABL_{n} | : name of the n:th S() library for temperature below the given value |
SABH_{n} | : name of the n:th S() library for temperature above the given value |
TGT | : target universe, surface or cell |
TRANS | : name of the applied transformation |
OPT | : option for setting poison concentrations (0 = set to zero, 1 = use values from restart file) |
VNAME | : variable name |
VAL | : variable value |
Notes:
- The branch name identifies the branch in the coefficient matrix of the coef card
- The input parameters consist of a number variations, which are invoked when the branch is applied. A single branch card may inclued one or several variations.
- The repm variation can be used to replace one material with another, for example, to change coolant boron concentration.
- The repu variation can be used to replace one universe with another, for example, to replace empty control rod guide tubes with rodded tubes for control rod insertion in 2D geometries.
- The stp variation can be used to change material density and temperature. The adjustment is made using the built-in Doppler-broadening preprocessor routine and tabular interpolation for S() thermal scattering data.
- The last three parameters of the stp entry are provided only if the material has thermal scattering libraries attached to it (see the therm card).
- The tra variation can be used to move or rotate different parts of the geometry, for example, to adjust the position of control rods in 3D geometries. The name of the transformation refers to the unit (universe, cell or surface) entry in the trans card.
- The xenon and samarium options can be set to enforce the concentrations of fission product poisons Xe-135 and Sm-149 to zero. By default the concentrations are read from the restart file.
- Variables can be used to pass information into output file, which may be convenient for the post-processing of the data.
- The branch card is used together with the coef card.
- For more information, see detailed description on the automated burnup sequence.
- The replaced material MAT_{1} of repm variation is also replaced inside mixtures. This means one can not replace a material with a mixture defined with mix card containing the replaced material (for example replacing pure water defined with mat card by a mixture of boron and water defined with a mix card containing the same pure water material).
- Currently (version 2.1.30) the replacing material MAT_{2} of repm variation can not be included in geometry using other cards than the branch card with the repm variation.
cell (cell definition)
cell NAME UNI_{0} MAT [ SURF_{1} SURF_{2} ... ]
Defines a material cell. Input values:
NAME | : cell name |
UNI_{0} | : universe where the cell belongs to |
MAT | : material that fills the cell |
SURF_{n} | : surface list |
cell NAME UNI_{0} fill UNI_{1} [ SURF_{1} SURF_{2} ... ]
Defines a filled cell. Input values:
NAME | : cell name |
UNI_{0} | : universe where the cell belongs to |
UNI_{1} | : universe that fills the cell |
SURF_{n} | : surface list |
cell NAME UNI_{0} outside [ SURF_{1} SURF_{2} ... ]
Defines an outside cell. Input values:
NAME | : cell name |
UNI_{0} | : universe where the cell belongs to |
SURF_{n} | : surface list |
Notes:
- There are three types of cells: material cells, filled cells and outside cells. Filled cells are identified by providing the key word fill, followed by the universe filling the cell. If the key word is missing, the third entry is interpreted as the material filling the cell. Outside cells are identified by replacing the material name with key word outside.
- Void cells can be defined by setting the material name to "void"
- When the geometry is set up, the root universe must always be defined. By default the root universe is named "0", and it can be changed with the set root option.
- Outside cells are used to define the part of the geometry that does not belong to the model. When the particle enters an outside cell, boundary conditions are applied. It is important that the geometry model is non-re-entrant when vacuum boundary conditions are used.
- Outside cells are allowed only in the root universe. It is important that all space outside the model is defined.
- The surface list defines the boundaries of the cell by listing the surface names (as provided in the surface card), together with the operator identifiers (nothing for intersection, ":" for union, "-" for complement and "#" for cell complement).
- Universes are implicitly declared for example by using the UNI_{0} key words on cell cards as there is no explicit universe input card.
- For more information, see detailed description on the universe-based geometry type in Serpent.
coef (coefficient matrix definition)
coef NBU [ BU_{1} BU_{2} ... ] [ NBR_{1} BR_{1,1} BR_{1,2} ... ] [ NBR_{2} BR_{2,1} BR_{2,2} ... ] ...
Defines the coefficient matrix for the automated burnup sequence. Input values:
NBU | : number of burnup points |
BU_{n} | : burnup steps at which the branches are invoked |
NBR_{m} | : number branches in the m:th dimension of the burnup matrix |
BR_{m,i} | : name of the i:th branch in the m:th dimension |
Notes:
- The coef card creates a multi-dimensional coefficient matrix (of size NBR_{1} NBR_{2} NBR_{3} ... ). The automated burnup sequence performs a restart for each of the listed burnup points, and loops over the branch combinations defined by the coefficient matrix.
- Positive values in the burnup vector are interpreted as (MWd/kgU), negative values are interpreted as time steps in days.
- The coef card is used together with the branch card
- For more information, see detailed description on automated burnup sequence.
dep (depletion history)
dep STYPE [ STEP_{1} STEP_{2} ... ]
Defines depletion history with steps and activates depletion calculation mode. Input values:
STYPE | : step type |
STEP_{n} | : depletion step list |
The possible step types are:
Type | Description | Quantity | Unit |
---|---|---|---|
bustep | Depletion step | Burnup interval | MWd/kgHM |
butot | Depletion step | Cumulative burnup | MWd/kgHM |
daystep | Depletion step | Time interval | d |
daytot | Depletion step | Cumulative time | d |
decstep | Decay step | Time interval | d |
dectot | Decay step | Cumulative time | d |
actstep | Activation step | Time interval | d |
acttot | Activation step | Cumulative time | d |
Notes:
- Transport cycle is omitted with the decstep and dectot options.
- Transport cycle is run only once with the actstep and acttot options.
dep pro PTR_REPROC
dep bra PTR_BRANCH
det (detector definition)
det NAME [ PART ] [ dr MT MAT ] [ dv VOL ] [ dc CELL ] [ du UNI ] [ dm MAT ] [ dl LAT ] [ dx X_{MIN} X_{MAX} N_{X} ] [ dy Y_{MIN} Y_{MAX} N_{Y} ] [ dz Z_{MIN} Z_{MAX} N_{Z} ] [ dn TYPE MIN_{1} MAX_{1} N_{1} MIN_{2} MAX_{2} N_{2} MIN_{3} MAX_{3} N_{3} ] [ dh TYPE X_{0} Y_{0} PITCH N_{1} N_{2} Z_{MIN} Z_{MAX} N_{Z} ] [ dumsh UNI N_{C} CELL_{0} BIN_{0} CELL_{1} BIN_{1} ... ] [ de EGRID ] [ di TBIN ] [ ds SURF DIR ] [ dir COS_{X} COS_{Y} COS_{Z} ] [ dtl SURF ] [ df FILE FRACTION ] [ dt TYPE PARAM ] [ dhis OPT ] [ dfl FLAG OPT ] [ da MAT FLX ] [ dfet TYPE PARAMS ]
Detector definition. The first parameter:
PART | : particle type (n = neutron, p = photon) |
is optional in single particle simulations. The remaining parameters are defined by separate key words followed by the input values.
Detector response (dr):
MT | : response number |
MAT | : material name or "VOID" if the material at the collision point is used |
Notes:
- If the detector is assigned with multiple responses, the results are divided correspondingly into separate bins.
- The response numbers are ENDF reaction MT's and special reaction types.
- Positive response numbers are associated with microscopic cross sections and the result is independent of material density. Materials for microscopic cross sections must consist of a single nuclide.
- Microscopic reactions to ground and isomeric states can be calculated by adding "g" or "m" at the end of the reaction number (e.g. 102g and 102m refer to radiative capture to ground and isomeric states, respectively). This option is available only for nuclides with branching ratios.
- Negative response numbers are associated with macroscopic cross sections and special types, and the result is multiplied by material density.
- The response material in the dr entry must not be confused with the material in the dm entry. The former defines the material for the response function, while the latter determines the volume of integration.
- By default, Serpent allows a detector to have at most 10,000,000 bins.
Detector volume (dv):
VOL | : volume in cm^{3} (3D geometry) or cross-sectional area in cm^{2} (2D geometry) |
Notes:
- The results are divided by detector volume, which is by default set to 1.
Detector cell (dc):
CELL | : cell name where the detector is scored |
Notes:
- If multiple detector cells are defined, the results are correspondingly divided into multiple bins.
Detector universe (du):
UNI | : universe name where the detector is scored |
Notes:
- If multiple detector universes are defined, the results are correspondingly divided into multiple bins.
Detector material (dm):
MAT | : material name where the detector is scored |
Notes:
- If multiple detector materials are defined, the results are correspondingly divided into multiple bins.
- The material entry defines the volume of integration, which must not be confused with the response material in the dr entry.
Detector lattice (dl):
LAT | : lattice name where the detector is scored |
Notes:
- The lattice detector automatically divides the results into multiple bins corresponding to the lattice cells.
Cartesian mesh detector (dx, dy and dz):
X_{MIN} | : minimum x-coordinate of the detector mesh |
X_{MAX} | : maximum x-coordinate of the detector mesh |
N_{X} | : number of x-bins |
Y_{MIN} | : minimum y-coordinate of the detector mesh |
Y_{MAX} | : maximum y-coordinate of the detector mesh |
N_{Y} | : number of y-bins |
Z_{MIN} | : minimum z-coordinate of the detector mesh |
Z_{MAX} | : maximum z-coordinate of the detector mesh |
N_{Z} | : number of z-bins |
Notes:
- The mesh detectors can be used to sub-divide the results into multiple spatial bins. For a Cartesian mesh the division is provided with separate entries in x-, y- and z- locations.
Curvilinear mesh detector (dn):
TYPE | : Type of curvilinear mesh - 1 = cylindrical (dimensions r, θ, z), 2 = spherical (dimensions r, θ, φ) |
MIN_{n} | : Minimum value of coordinate n for the mesh division. |
MAX_{n} | : Maximum value of coordinate n for the mesh division. |
N_{n} | : Number of bins in the n coordinate direction (the division will be equal r, not equal volume). |
Notes:
- All parameters must be provided, even for one- or two-dimensional curvilinear meshes.
- The results are not divided by cell volume (difference to MCNP mesh tally).
- By default, the curvilinear mesh detectors use the global (universe 0) coordinate system for scoring. If the TYPE parameter is given as a negative value (e.g. -1) the lowest level coordinates are used instead.
Hexagonal mesh detector (dh):
TYPE | : Type of hexagonal mesh (2 = flat face perpendicular to x-axis, 3 = flat face perpendicular to y-axis) |
X_{0}, Y_{0} | : coordinates of mesh center |
PITCH | : mesh pitch |
N_{1}, N_{1} | : mesh size |
Z_{MIN} | : minimum z-coordinate of the detector mesh |
Z_{MAX} | : maximum z-coordinate of the detector mesh |
N_{Z} | : number of z-bins |
Notes:
- All parameters must be provided, even for a two-dimensional hexagonal meshes.
Unstructured mesh detector (dumsh):
UNI | : universe of the unstructured mesh based geometry |
N_{C} | : number of mesh cell bins included in the output |
CELL_{n}, BIN_{n} | : cell-bin index pairs defining the mapping |
Notes:
- The polyhedral cells in unstructured mesh based geometries are indexed.
- This detector option allows collecting results from the cells into an arbitrary number of bins. One or multiple cells can be mapped into a single bin.
Detector energy binning (de):
EGRID | : energy grid name |
Notes:
- The results are divided into multiple energy bins based on the grid structure.
- Energy grid structures are defined using the ene card.
Detector time binning (di):
TBIN | : time bin structure name |
Notes:
- The results are divided into multiple time bins.
- Time bin structures are defined using the tme card.
- Time bin division may require adjusting the average collision distance (set cfe option) to achieve sufficient statistical accuracy.
Surface current / flux detector (ds):
SURF | : surface name |
DIR | : direction with respect to surface normal (-2 = flux, -1 = inward current, 1 = outward current, 0 = net current) |
Notes:
- With this option the detector calculates the particle flux over or current through a given surface.
- The surface flux mode is invoked by setting the direction parameter to -2, otherwise this parameter defines the current direction with respect to surface normal.
- Responses are not allowed with current detectors.
- The surface is treated separate from the geometry, and its position is always relative to the origin of the root universe. This is the case even if the surface is part of the geometry in another universe.
- The results are integrated over the surface area (other detectors integrate over volume).
Detector direction vector (dir):
COS_{Y} | : component of the direction vector parallel to x-axis |
COS_{Y} | : component of the direction vector parallel to y-axis |
COS_{Z} | : component of the direction vector parallel to z-axis |
Notes:
- This option multiplies the detector scores with the scalar product between the particle direction of motion and the given direction vector.
Super-imposed track-length detector (dtl):
SURF | : surface inside which the detector is scored |
Notes:
- This option can be used to apply the track-length estimator for calculating reaction rates inside regions defined by a single surface (sphere, cylinder, cuboid, etc.)
- The purpose of the track-length detector is to provide better statistics for special applications (activation wire measurements, etc.).
- The surface is treated separate from the geometry, and its position is always relative to the origin of the root universe. This is the case even if the surface is part of the geometry in another universe.
Detector file (df):
FILE | : file name where the scored points are written |
FRAC | : fraction of recorded scores and ascii/binary option (positive value = ascii, negative value = binary) |
Notes:
- This option can be used to write the scored points in a file.
- When used with the surface current detector this option can provide surface source distributions for other calculations.
- The fraction parameters gives the probability that the score is written in the file and it can be used to reduce the file size in long simulations.
- Source files can be read using the sf entry of source cards.
Special types (dt):
TYPE | : special type (see below) |
PARAM | : additional parameters |
The types are:
-1 | = cumulative spectrum |
-2 | = division by energy width |
-3 | = division by lethargy width |
-4 | = sum over cell or material bins |
2 | = multiply result with another detector defined by PARAM |
3 | = divide result with another detector defined by PARAM |
Notes:
- Types -1, -2 and -3 are used with energy binning.
- Type -4 can be used to calculate sum over multiple cell or material bins defined using the dc and dm options. By default separate bins are used for each entry.
- Type 3 can be used to calculate flux-weighted averages (microscopic and macroscopic cross sections, etc.).
- When the results are multiplied or divided by another detector, the number of bins must be compatible (single value or matching number of bins).
History collection option (dhis):
OPT | : option to collect histories (0 = no, 1 = yes) |
Notes:
- When this option is set, the batch-wise results are kept and printed in the history output file.
- Note to developers: statistical tests should be documented
Detector flagging (dfl):
FLAG | : flag number (between 1 and 64) |
OPT | : flagging option (0 = reset if scored, 1 = set if scored, -2/2 score if set -3/3 score if not set) |
Notes:
- Detector flagging allows limiting detector scores to histories which have already contributed to another score.
- The first two options reset or set the flag if the detector is scored, respectively. The remaining options test if the flag is set and score the detector accordingly. Positive values apply OR-type logic (detector is scored if any of the associated flags is set/unset) and negative values AND-type logic (detector is scored if all the associated flags are set/unset).
Activation detector (da):
MAT | : activated material |
FLX | : flux applied to activation |
Notes:
- Activation detector allows performing activation calculation for materials that are not part of the geometry. The flux spectrum applied to neutron irradiation is taken from the detector scores. The absolute flux level can be set using the FLX parameter. If this parameter is set to -1, also the flux magnitude is taken from the detector scores.
- Requires neutron transport simulation and burnup mode. The material provided with the entry must be burnable, and cannot part of the actual geometry. Volume of the material must be defined using the dv parameter.
- Since the activated material is not part of the physical geometry, this option should be applied only to small samples and other activation calculations in which the isotopic changes do not significantly affect the neutronics.
Functional Expansion Tally detector (dfet):
TYPE | : functional expansion type |
PARAMS | : other options, specific to each functional expansion type TYPE |
Geometry | PARAMS | TYPE | Description | Functional Series | Indexing |
---|---|---|---|---|---|
Cartesian | X_{MIN} X_{MAX} X_{ORDER} Y_{MIN} Y_{MAX} Y_{ORDER} Z_{MIN} Z_{MAX} Z_{ORDER} | 1 | Legendre only |
Notes:
- -1 can be supplied as an ORDER PARAM to use the built-in default values
- It is not recommended to configure a single FET detector to span multiple different material regions—use individual detectors for each region instead
- Specifics of this implementation:
- The FETs are based on nonseparable expansions, i.e. fully-convolved cross terms are included
- For example, the Legendre-based Cartesian FET uses with as a linear indexer of
- Due to the properties of orthogonality, these cross terms can be neglected in post-analyses if only separable terms are desired
- A generalization of the Euler formulas for any orthogonal functional series is used
- The generated FET coefficients already have all contributions from the orthonormalization constant pre-included, i.e. from
- Thus, an FET can be simply reconstructed/sampled from the standard functional series as:
- The FETs are based on nonseparable expansions, i.e. fully-convolved cross terms are included
div (divisor definition)
div MAT [ sep LVL ] [ subx N_{X} X_{MIN} X_{MAX} ] [ suby N_{Y} Y_{MIN} Y_{MAX} ] [ subz N_{Z} Z_{MIN} Z_{MAX} ] [ subr N_{R} R_{MIN} R_{MAX} ] [ subs N_{S} S_{0} ]
Divides a material into a number of sub-zones. Input values:
MAT | : name of the divided material |
LVL | : geometry level at which the cell-wise division takes place (0 = no division, 1 = last level, 2 = 2nd last level, etc.) |
N_{X} | : number of x-zones |
X_{MIN} | : minimum x-coordinate (cm) |
X_{MAX} | : maximum x-coordinate (cm) |
N_{Y} | : number of y-zones |
Y_{MIN} | : minimum y-coordinate (cm) |
Y_{MAX} | : maximum y-coordinate (cm) |
N_{Z} | : number of z-zones |
Z_{MIN} | : minimum z-coordinate (cm) |
Z_{MAX} | : maximum z-coordinate (cm) |
N_{R} | : number of radial zones |
R_{MIN} | : minimum radial coordinate (cm) |
R_{MAX} | : maximum radial coordinate (cm) |
N_{S} | : number of angular sectors |
S_{0} | : zero position of angular division (degrees) |
Notes:
- The automated divisor feature can be used to sub-divide burnable materials into depletion zones, but the use is not limited to burnup mode.
- The spatial sub-division is based on either Cartesian or cylindrical mesh.
- Volumes of the divided materials must be set manually (see detailed description on the definition of material volumes).
- Using automated instead of manual depletion zone division saves memory, which may become significant in very large burnup calculation problems (see detailed description on memory usage).
- For more information see detailed description on automated depletion zone division.
- The usage of LVL is explained on page automated depletion zone division.
- If a material is not divided, all occurrences of it are treated as a single depletion zone. For example, if there are multiple fuel pins with same fuel material type, and no div card is present, all pins are depleted as a single pin.
ene (energy grid definition)
ene NAME 1 E_{0} E_{1} ...
ene NAME 2 N E_{min} E_{max}
ene NAME 3 N E_{min} E_{max}
ene NAME 4 GRID
Defines an energy grid structure. Input values:
NAME | : energy grid name |
E_{i} | : bin boundaries (type 1) |
N | : number of equi-width bins (types 2 ad 3) |
E_{min} | : minimum energy (types 2 and 3) |
E_{max} | : maximum energy (types 2 and 3) |
GRID | : name of the pre-defined grid (type 4) |
Notes:
- The first input parameter gives the type (1 = arbitrarily defined, 2 = equal energy-width bins, 3 = equal lethargy-width bins, 4 = pre-defined energy group structure).
- Energy grid structures are used for several purposes, most commonly with detectors.
- See separate description of pre-defined energy group structures.
ftrans (fill transformation)
See transformations.
fun (function definition)
fun NAME TYPE [ ... ]
Defines a function that can be used with detector responses. Input values:
NAME | : function name |
TYPE | : function type (currently only supported type is 1 = point-wise tabular data) |
The syntax for type 1 is:
fun NAME 1 INTT X_{1} F_{1} X_{2} F_{2} ...
where:
INTT | : is the interpolation type (1 = histogram, 2 = lin-lin, 3 = lin-log, 4 = log-lin, 5 = log-log) |
X_{1} F_{1} ... | : are the tabulated variable-value pairs |
Notes:
- The defined function is linked to detector response using response number -100 (syntax: dr -100 NAME).
ifc (interface file)
ifc FILE
Links a multi-physics interface file to be used with the current input. Input values:
FILE | : path to the multi-physics interface file |
Notes:
- See also Coupled multi-physics calculations.
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.
lat (regular lattice definition)
See also Section 3.6 of Serpent 1 User Manual.
Notes:
- With 2D lattices the numbering of lattice positions is such that the bottommost row is given first from left to right and the topmost row is given last from left to right.
lat UNI TYPE X_{0} Y_{0} N_{X} N_{Y} PITCH UNI_{1} UNI_{2} ...
Defines a finite two-dimensional lattice in xy-plane with square or X- or Y-type hexagonal elements. The lattice is infinite in z-direction. Input values:
UNI | : universe name of the lattice |
TYPE | : lattice type |
X_{0} | : x-coordinate of the lattice origin (origin is in the center of the lattice). |
Y_{0} | : y-coordinate of the lattice origin (origin is in the center of the lattice). |
N_{X} | : number of lattice elements in x-direction |
N_{Y} | : number of lattice elements in y-direction |
PITCH | : lattice pitch |
UNI_{n} | : list of universes filling the lattice positions |
Possible lattice types are:
Type | Description |
---|---|
1 | Square lattice |
2 | X-type hexagonal lattice |
3 | Y-type hexagonal lattice |
Notes:
- Number of universes in list of universes must be N_{X} times N_{Y}.
- For square lattices the x coordinate increases from left to right and the y coordinate increases from top to bottom, so the first N_{X} values in the list of universes create the bottommost (minimum y) row from minimum x to maximum x and the last N_{X} values in the list of universes create the topmost (maximum y) values.
- The line breaks usually given in the list of universes are just for visual help of the user.
- The input of X and Y type hexagonal lattices is similar to each other, only the directions of the x and y axis change. The axis directions are easily checked by using the geometry plotter.
lat UNI TYPE X_{0} Y_{0} PITCH UNI_{1}
Defines an infinite two-dimensional lattice in xy-plane with infinitely repeating square or X- or Y-type hexagonal element. The lattice is infinite in z-direction.
UNI | : universe name of the lattice |
TYPE | : lattice type |
X_{0} | : x-coordinate of the lattice origin |
Y_{0} | : y-coordinate of the lattice origin |
PITCH | : lattice pitch |
UNI_{1} | : universe name of the universe filling all lattice positions |
Possible lattice types are:
Type | Description |
---|---|
6 | Square lattice |
7 | Y-type hexagonal lattice |
8 | X-type hexagonal lattice |
Notes:
- The order of X- and Y-type hexagonal lattice type numbers is reversed when comparing with finite hexagonal lattices.
lat UNI TYPE X_{0} Y_{0} N_{R} N_{S,1} RADIUS_{1} THETA_{1} UNI_{1,1} UNI_{2,1} ... N_{S,2} RADIUS_{2} THETA_{2} UNI_{1,2} UNI_{2,2} ... ...
Defines a finite two-dimensional circular cluster array lattice in xy-plane. The lattice is infinite in z-direction.
UNI | : universe name of the lattice |
TYPE | : lattice type |
X_{0} | : x-coordinate of the lattice origin |
Y_{0} | : y-coordinate of the lattice origin |
N_{R} | : number of rings in the array |
N_{S,R} | : number of sectors in R:th ring |
RADIUS_{R} | : central radius of R:th ring |
THETA_{R} | : angle of rotation of R:th ring in degrees |
UNI_{N,R} | : list of universes filling the sector positions in R:th ring |
Possible lattice types are:
Type | Description |
---|---|
4 | Circular cluster array |
Notes:
- The circular cluster array can be used to define fuel assemblies used for example in AGR, CANDU, MAGNOX and RBMK reactors. It can also be used to define fuel rod layout used for example in TRIGA reactors.
lat UNI TYPE X_{0} Y_{0} N_{L} Z_{1} UNI_{1} Z_{2} UNI_{2} ...
Defines a finite one-dimensional vertical stack in z-direction. The stack is infinite in xy-plane.
UNI | : universe name of the lattice |
TYPE | : lattice type |
X_{0} | : x-coordinate of the lattice origin |
Y_{0} | : y-coordinate of the lattice origin |
N_{L} | : number of lattice elements in z-direction (number of axial layers) |
Z_{n} | : z-coordinate of the n:th lattice element (lower boundary of the axial layer) |
UNI_{n} | : universe name filling the n:th lattice position |
Possible lattice types are:
Type | Description |
---|---|
9 | Vertical stack |
Notes:
- The z-coordinates must be given in ascending order.
- Space below the lowest z-coordinate is not defined.
- The top layer fills the entire space above the highest z-coordinate.
- The number of Z_{n}-UNI_{n} pairs must be N_{L}.
lat UNI TYPE X_{0} Y_{0} Z_{0} N_{X} N_{Y} N_{Z} PITCH_{X} PITCH_{Y} PITCH_{Z} UNI_{1} UNI_{2} ...
Defines a finite three-dimensional lattice in xyz-space with cuboidal or X- or Y-type hexagonal prism elements.
UNI | : universe name of the lattice |
TYPE | : lattice type |
X_{0} | : x-coordinate of the lattice origin |
Y_{0} | : y-coordinate of the lattice origin |
Z_{0} | : z-coordinate of the lattice origin |
N_{X} | : number of lattice elements in x-direction |
N_{Y} | : number of lattice elements in y-direction |
N_{Z} | : number of lattice elements in z-direction |
PITCH_{X} | : lattice pitch in x-direction |
PITCH_{Y} | : lattice pitch in y-direction |
PITCH_{Z} | : lattice pitch in z-direction |
UNI_{n} | : list of universes filling the lattice positions |
Possible lattice types are:
Type | Description |
---|---|
11 | Cuboidal lattice |
12 | X-type hexagonal prism lattice |
13 | Y-type hexagonal prism lattice |
Notes:
- Number of universes in list of universes must be N_{X} times N_{Y} times N_{Z}.
- For hexagonal prism lattices the x- and y-direction pitches must be equal.
mat (material definition)
See Chapter 4 of Serpent 1 User Manual.
mat NAME DENS [ tmp TEMP ] [ tft T_{MIN} T_{MAX} ] [ rgb R G B ] [ vol VOL ] [ burn N_{R} ] [ fix ID TEMP ] NUC_{1} FRAC_{1} [ NUC_{2} FRAC_{2} ] [ ... ]
Mandatory information:
NAME | : Name of the material |
DENS | : Density of the material (positive for atomic, negative for mass density) or sum to calculate the density from given nuclide fractions |
NUC_{1} | : Identifier of first nuclide in composition, e.g. "92235.03c" or "U-235.03c". |
FRAC_{1} | : Fraction of first nuclide in composition, positive values are interpreted as atomic fractions/densities, negative values as mass fractions/densities. |
Optional cards:
tmp: Material temperature for Doppler-preprocessor
TEMP | : Temperature of the material for Doppler-broadening preprocessor |
tft: Temperature limits for material for coupled multi-physics calculations
T_{MIN} | : Lower limit for material temperature |
T_{MAX} | : Upper limit for material temperature |
rgb: Material color for geometry plots
R | : Value for the red channel of geometry plots (between 0 and 255) |
G | : Value for the green channel of geometry plots (between 0 and 255) |
B | : Value for the blue channel of geometry plots (between 0 and 255) |
vol: Material volume
VOL | : Volume of the material in cm^{3} (3D geometry) or cross-sectional area in cm^{2} (2D geometry) |
burn: Flag material for depletion
N_{R} | : Set to 1 in order to deplete material. The depletion zone division should be done using the div-card. |
fix: Library information for decay nuclides
LIB | : Library ID (e.g. "09c") for nuclides without cross section data. |
TEMP | : Temperature (in Kelvin) for nuclides without cross section data. |
Notes:
- This description is incomplete for both the descriptions and optional settings.
- See defining material volumes and set mvol regarding other ways to set the material volumes for for example burnup calculations.
mesh (mesh plot definition)
mesh ORI XPIX YPIX [ SYM MIN_{1} MAX_{1} MIN_{2} MAX_{2} MIN_{3} MAX_{3} ]
mesh 8 CMAP DET ORI XPIX YPIX [ SYM MIN_{1} MAX_{1} MIN_{2} MAX_{2} MIN_{3} MAX_{3} ]
mesh 10 ORI XPIX YPIX
Produces a png-format mesh plot of various results. Input values:
ORI | : orientation with respect to coordinate axes |
XPIX | : horizontal image size in pixels |
YPIX | : vertical image size in pixels |
SYM | : symmetry option (not used in Serpent 2) |
MIN_{n} MAX_{n} | : boundaries of the plotted region |
CMAP | : color map used for plotting detector scores (positive entry for linear, negative for log-scale) |
DET | : detector name |
Notes:
- The first format produces a mesh plot where fission rate and thermal flux distribution are plotted using hot and cold color schemes, respectively. This type of mesh plot is convenient for illustrating the neutronics of thermal systems. The orientation parameter defines the coordinate axis perpendicular to the plot plane: 1 - x-axis (projection on yz-plane); 2 - y-axis (projection on xz-plane); 3 - z-axis (projection on xy-plane).
- The second format can be used for plotting scores that contribute to a detector. The additional input parameters are the detector name and the color map used in the plot.
- The third format generates a mesh-plot of the temperature distribution. This can be a good way to check the temperature distribution, provided by an external solver, during a coupled calculation.
- The color maps are: 1 - hot; 2 - cold; 4 - jet; 5 - black and white; 6 - hsv; 7 - spring; 8 - summer; 9 - autumn; 10 - winter; 11 - green-purple; 12 - purple-orange; 13 - blue-red. Many of these correspond to what is used in Matlab. Logarithmic scale is used if the number is given with a minus sign.
- Detector scores are collected in the mesh cells (see the detector card and the list of ENDF reaction MT's and special reaction types for more information). The distribution is scaled according to the minimum and maximum values.
- Some special detector types, such as pulse-height detectors and analog photon heating detectors cannot be associated with mesh plots.
- The mesh plot always produces results that are integrated over space. If no boundaries are provided, the integration is carried over the entire geometry.
- Setting the orientation parameter of a detector mesh plot to 4 produces a plot in cylindrical coordinates. Instead of Cartesian boundaries the entered values are then the radius, angle and axial coordinate.
- The symmetry option was used in Serpent 1. The parameter must be provided for Serpent 2 as well, even though it is not used. The value can be set to zero.
- Mesh plot produced by the n:th mesh-card is written in file [input]_mesh[n].png.
mix (mixture definition)
mix NAME MAT_{1} F_{1} MAT_{2} F_{2} ...
Defines a mixture of two or several materials. Input values:
MAT_{n} | : material name |
F_{n} | : material fraction (positive values for volume, negative values for mass fractions) |
Notes:
- Mixtures can be used to define complicated material definitions consisting of two or more physical materials mixed homogeneously.
- Serpent decomposes these mixtures into standard materials before running the transport simulation.
- The decomposed material compositions can be written into file using the -mix command line option.
nest (nested universe definition)
nest U TYPE [ MAT_{1} R_{1} ] [ MAT_{2} R_{2} ] ... [ MAT_{N} ]
nest U [ MAT_{1} TYPE_{1} PARAM_{11} PARAM_{12} ... ] [ MAT_{2} TYPE_{2} PARAM_{21} PARAM_{22} ... ] ... [ MAT_{N} ]
Defines a universe consisting of nested regions. Input values:
U | : universe name |
TYPE | : nested surface type (single surface for all regions) |
MAT_{1} ... MAT_{N} | : material regions |
R_{1} ... R_{N-1} | : outer radii |
TYPE_{1} ... TYPE_{N-1} | : nested surface type (different surfaces for each region) |
PARAM_{nm} ... | : surface parameters |
Notes:
- The nest card defines an entire universe consisting of nested material regions. The boundaries are defined by surfaces nested inside each other. The outermost region is infinite.
- The material entries can be replaced by fill U_{0}, in which case the region is filled by another universe.
- The first format allows defining nests in which all surfaces are of same type and centred at the origin. Only surfaces that are characterized by a single outer radius are accepted (cylinders, spheres and some regular prisms). The pin and particle definitions are short-hand notations of the nest card.
- The second format allows mixing different surface types. In this case all surface parameters need to be provided after the surface type.
particle (particle geometry definition)
particle U [ MAT_{1} R_{1} ] [ MAT_{2} R_{2} ] ... [ MAT_{N} ]
Defines a particle universe. Input values:
U | : universe name |
MAT_{1} ... MAT_{N} | : material regions |
R_{1} ... R_{N-1} | : outer radii |
Notes:
- The particle card defines an entire universe consisting of nested spherical shells. The boundaries are defined by sphere surfaces. The outermost region is radially infinite.
- The material entries can be replaced by fill U_{0}, in which case the region is filled by another universe.
- Most typically used for defining TRISO fuel particles.
- The particle card is special case of a nested universe type.
- See also description of explicit stochastic geometry type.
pbed (explicit stochastic (pebble bed) geometry)
pbed U_{0} U_{bg} FILE [ OPT ]
Defines a stochastic particle / pebble-bed geometry. Input values:
U_{0} | : universe name for the dispersed medium |
U_{bg} | : background universe, i.e. universe filling the space between particles / pebbles |
FILE | : input file containing the particle/pebble data |
OPT | : additional options (currently only pow to produce power distribution in a separate output file) |
The syntax of the file containing the particle/pebble data is:
X_{1} Y_{1} Z_{1} R_{1} U_{1}
X_{2} Y_{2} Z_{2} R_{2} U_{2}
...
Where:
X_{n}, Y_{n}, Z_{n} | : are the coordinates |
R_{n} | : is the radius |
U_{n} | : is the universe |
Notes:
- Creates a universe (U_{0}), which is filled with spherical sub-universes for which the coordinates are read from a separate file.
- The coordinates can be defined manually, or using the automated disperser routine.
- Can be used for modelling stochastic particle / pebble-bed geometries in multiple levels.
- If the power distribution option is set, the pebble/particle-wise distribution is written in file [U_{0}].out.
- See also HTGR geometry examples.
pin (pin geometry definition)
pin U [ MAT_{1} R_{1} ] [ MAT_{2} R_{2} ] ... [ MAT_{N} ]
Defines a pin universe. Input values:
U | : universe name |
MAT_{1} ... MAT_{N} | : material regions |
R_{1} ... R_{N-1} | : outer radii |
Notes:
- The pin card defines an entire universe consisting of nested annular material regions. The boundaries are defined by axially infinite cylindrical surfaces. The outermost region is radially infinite.
- The material entries can be replaced by fill U_{0}, in which case the region is filled by another universe.
- Most typically used for defining fuel pins, but can also be applied to guide tubes, control rods, etc.
- The pin card is special case of a nested universe type.
plot (geometry plot definition)
plot TYPE XPIX YPIX [ POS MIN_{1} MAX_{1} MIN_{2} MAX_{2} ]
plot TYPE F_{min} F_{max} E XPIX YPIX [ POS MIN_{1} MAX_{1} MIN_{2} MAX_{2} ]
Produces a png-format geometry plot. Input values:
TYPE | : defines the plot type (orientation and plotting of boundaries) |
XPIX | : horizontal image size in pixels |
YPIX | : vertical image size in pixels |
POS | : position of plot plane |
MIN_{1} | : minimum horizontal coordinate of plotted region |
MAX_{1} | : maximum horizontal coordinate of plotted region |
MIN_{2} | : minimum vertical coordinate of plotted region |
MAX_{2} | : maximum vertical coordinate of plotted region |
F_{min} | : minimum importance for importance map plots |
F_{max} | : maximum importance for importance map plots |
E | : particle energy for importance map plots |
Notes:
- The type parameter consists of one or two concatenated values ('AB'):
- The first value ('A') defines the plot plane (1 = yz, 2 = xz, 3 = xy).
- The second value ('B') defines which boundaries are plotted (0 = no boundaries, 1 = cell boundaries, 2 = material boundaries, 3 = both). If the second value in is not provided, material boundaries are plotted.
- Importance maps read using the wwin card can be plotted on top of the geometry by setting the second value ('B') of the type parameter to 4 (linear color scheme) or 5 (logarithmic color scheme). The input parameters then also include the minimum and maximum importance and the particle energy. If importance maps are provided for both neutrons and photons, they can be plotted by entering positive and negative energy values, respectively.
- Each material plotted with different color. The colors are sampled randomly, unless defined using the rgb entry in the material card.
- Void is plotted in black and special colors are used to plot geometry errors (red = overlap, green = undefined region).
- The position parameter defines the location of the plot plane on the axis perpendicular to it (e.g. z-coordinate for xy-type plot).
- The minimum and maximum coordinates define the boundaries of the plotted region (e.g. minimum and maximum x- and y-coordinates for xy-type plot). If these coordinates are not provided, the plot is extended to the maximum dimensions of the geometry.
- The relative dimensions of image size in pixels should match that of the plotted region. Otherwise the image gets distorted.
- Geometry plotter requires compiling the source code with GD Graphics libraries.
- Command line parameter '-plot' stops the execution after the geometry plots are produced. Option '-qp' invokes a quick plot mode, which does not check for overlaps. Option '-noplot' skips the geometry plots altogether.
- See also detailed description on geometry plotter.
- Geometry plot produced by the n:th plot-card is written in file [input]_geom[n].png.
- Note to developers: particle type should be included as an input parameter in importance map plots.
sample (Temperature / density data sample definition)
sample N_{X} X_{MIN} X_{MAX} N_{Y} Y_{MIN} Y_{MAX} N_{Z} Z_{MIN} Z_{MAX}
Samples values from the initial material temperatures and densities to a file using a Cartesian grid.
Input values:
N_{X} | : Number of values to sample in the x-direction. |
X_{MIN} | : Minimum coordinate to sample from in the x-direction. |
X_{MAX} | : Maximum coordinate to sample from in the x-direction. |
N_{Y} | : Number of values to sample in the y-direction. |
Y_{MIN} | : Minimum coordinate to sample from in the y-direction. |
Y_{MAX} | : Maximum coordinate to sample from in the y-direction. |
N_{Z} | : Number of values to sample in the z-direction. |
Z_{MIN} | : Minimum coordinate to sample from in the z-direction. |
Z_{MAX} | : Maximum coordinate to sample from in the z-direction. |
Notes:
- The data from each sample is written in a separate [input]_sampleN.m file.
- Positive values for the density data correspond to atomic densities, while negative values correspond to mass densities.
- Materials with no temperature specified either in their mat-card or through an interface definition will show a temperature of 0.
sens (sensitivity calculation definition)
sens pert
sens resp
sens opt
Definitions for the perturbations, responses and options for sensitivity calculations.
solid (irregular 3D geometry definition)
solid 1 UNI BGUNI MESH_SPLIT MESH_DIM SZ_{1} SZ_{2} ... SZ_{MESH_DIM} POINTS_FILE FACES_FILE OWNER_FILE NEIGHBOUR_FILE MATERIALS_FILE
Creates an unstructured mesh-based geometry universe. Input values are:
UNI | : universe name for the irregular geometry |
BGUNI | : name of the background universe filling all undefined space |
MESH_SPLIT | : Splitting criterion for the adaptive search mesh (maximum number of geometry cells in search mesh cell) |
MESH_DIM | : number of levels in the adaptive search mesh |
SZ_{i} | : Size of the search mesh at level i |
POINTS_FILE | : Path to the unstructured mesh points file |
FACES_FILE | : Path to the unstructured mesh faces file |
OWNER_FILE | : Path to the unstructured mesh owner file |
NEIGHBOUR_FILE | : Path to the unstructured mesh neighbour file |
MATERIALS_FILE | : Path to the unstructured mesh materials file |
solid 2 UNI BGUNI MESH_SPLIT MESH_DIM SZ_{1} SZ_{2} ... SZ_{MESH_DIM} MODE R0 body BODY_{1} CELL_{1} MAT_{1} file BODY_{1} FILE_{1} SCALE_{1} X_{1} Y_{1} Z_{1} file BODY_{1} FILE_{2} SCALE_{2} X_{2} Y_{2} Z_{2} ... body BODY_{2} CELL_{2} MAT_{2} file BODY_{2} FILE_{3} SCALE_{3} X_{3} Y_{3} Z_{3} file BODY_{2} FILE_{4} SCALE_{4} X_{4} Y_{4} Z_{4} ...
Creates an STL-based geometry universe. Input values are:
UNI | : universe name for the irregular geometry |
BGUNI | : name of the background universe filling all undefined space |
MESH_SPLIT | : Splitting criterion for the adaptive search mesh (maximum number of geometry cells in search mesh cell) |
MESH_DIM | : number of levels in the adaptive search mesh |
SZ_{i} | : Size of the search mesh at level i |
MODE | : Mode for handling the triangulated geometry (1 = "fast", 2 = "safe"). |
R0 | : Radius inside which two points of the STL-geometry are joined into one. |
BODY_{i} | : Name of solid body i |
CELL_{i} | : Name of geometry cell i linked with body i |
MAT_{i} | : Material filling cell i |
FILE_{i} | : Path to a file containing an STL solid model, multiple files can be linked to one body |
SCALE_{i} | : Scaling factor for the STL model in FILE_{i} |
X_{i} | : Shift in x-direction to the STL model in FILE_{i} |
Y_{i} | : Shift in y-direction to the STL model in FILE_{i} |
Z_{i} | : Shift in z-direction to the STL model in FILE_{i} |
solid 3 INTERFACE_FILE
Creates an unstructured mesh-based geometry universe with unstructured mesh-based temperature and/or density distributions. Input values are:
INTERFACE_FILE | : Path to the interface file containing the rest of the parameters |
Notes:
- For simple example of a CAD-based geometry, see the Stanford critical bunny.
src (source definition)
src NAME [ PART ] [ sw WGT ] [ sc CELL ] [ sm MAT ] [ sp X Y Z ] [ sx X_{MIN} X_{MAX} ] [ sy Y_{MIN} Y_{MAX} ] [ sz Z_{MIN} Z_{MAX} ] [ ss SURF ] [ sd U V W ] [ se E ] [ sb N E_{1} WGT_{1} E_{2} WGT_{2} ... ] [ sr NUC MT ] [ st T_{MIN} T_{MIN} ] [ sf FILE TYPE ] [ si N P_{1} P_{2} ... ] [ sg MAT MODE ]
Source definition. The first parameter:
PART | : particle type (n = neutron, p = photon) |
is optional in single particle simulations. The remaining parameters are defined by separate key words followed by the input values.
Source weight (sw):
WGT | : relative source weight |
Notes:
- When multiple sources are defined, each definition is sampled with equal probability. This probability can be changed by assigning different weights for each source.
- The weights are automatically normalized before the calculation is started.
Source cell (sc):
CELL | : cell inside which the source points are sampled |
Notes:
- Setting a source cell is one of the options that can be applied to define the spatial distribution of source particles.
- The selection is based on rejection sampling, and if the source cell occupies a small volume of the geometry, the sampling efficiency can be increased by defining a bounding box around the cell using the sx, sy and sz options.
- If no spatial distribution is defined, particles are sampled uniformly over the geometry.
Source material (sm):
MAT | : material inside which the source points are sampled |
Notes:
- Setting a source material is one of the options that can be applied to define the spatial distribution of source particles.
- The selection is based on rejection sampling, and if the source material occupies a small volume of the geometry, the sampling efficiency can be increased by defining a bounding box around the region using the sx, sy and sz options.
- If no spatial distribution is defined, particles are sampled uniformly over the geometry.
Source point (sp):
X, Y, Z, | : coordinates of the source point |
Notes:
- Setting a point source is one of the options that can be applied to define the spatial distribution of source particles.
- If no spatial distribution is defined, particles are sampled uniformly over the geometry.
Source boundaries (sx, sy and sz):
X_{MIN}, X_{MAX} | : Boundaries on X-axis |
Y_{MIN}, Y_{MAX} | : Boundaries on Y-axis |
Z_{MIN}, Z_{MAX} | : Boundaries on Z-axis |
Notes:
- Source boundaries are used to define a bounding box inside which the source particles are sampled.
- Can be used in combination with cell and material sources to increase the sampling efficiency.
- If no bounding box is defined, particles are sampled uniformly over the geometry.
Surface source (ss):
SURF | : surface on which the source particles are sampled |
Notes:
- The surface source is currently limited to infinite vertical cylinder (cyl) and sphere (sph) surface types.
- Particles are started in the direction of the inward surface normal.
Source direction (sd):
U, V, W, | : direction vector of source particles |
Notes:
- The source direction option can be set to define a unidirectional source.
- If no directional dependence is defined, the direction of source particles is sampled isotropically.
Source energy (se):
E | : energy of source particles |
Notes:
- The source energy option can be used to define a monoenergetic source.
- The default energy of neutrons and photons is 1 MeV.
- This option can also be used together with the source reaction option (sr).
Source energy bins (sb):
N | : number of bins |
E_{n} | : upper boundary of the energy bin |
WGT_{n} | : weight of the energy bin |
Notes:
- This option allows defining an arbitrary source spectrum in the form of tabular data.
- The bins are entered in the order of ascending energy, and weight of the first bin must be set to zero.
- The interpolation between the bins is either linear (positive weight entries) or logarithmic (negative weight entries).
Source reaction (sr):
NUC | : nuclide name |
MT | : reaction number |
Notes:
- The source reaction determines a distribution function for source energy (for example, ^{235}U fission spectrum can be defined as: sr 92235.09c 18).
- The reaction numbers are ENDF reaction MT's, and the data is obtained from standard cross section libraries.
- Applies to neutrons only.
- When the source energy parameter (se) is defined, the value is used as the energy of the incoming neutrons.
Source time (st):
T_{MIN}, T_{MAX} | : time boundaries |
Notes:
- This parameter defines a time interval for the sampled source particles. The starting time is sampled uniformly between the given minimum and maximum.
- All source particles are started at time zero by default.
Source file (sf):
FILE | : file path to source file |
TYPE | : file type (-1 = binary, 1 = ASCII) |
Notes:
- Source files allow defining arbitrary distributions by reading the particle coordinates, direction, energy, weight and time from a file.
- Source files can be produced using the df entry of detector cards or the set csw option.
User-defined source routine (si):
N | : number of parameters |
P_{n} | : parameters passed as arguments into the subroutine |
Notes:
- This option allows defining an arbitrary source distributions with a user-defined subroutine.
- The source parameters are passed as arguments into the subroutine, together, with sampled position, direction energy, weight and time.
- For complete description see source file "usersrc.c".
- The subroutine may be overwritten with the blank template file when installing updates.
Radioactive decay source (sg):
MAT | : material name or -1 |
MODE | : sampling mode (1 = analog, 2 = implicit) |
Notes:
- Radioactive decay source combines material compositions to decay data read from ENDF format libraries and forms the normalized source distribution automatically.
- Material compositions can be defined manually, or read from binary restart files produced by a burnup or activation calculation (see the set rfw and set rfr options).
- If the material name is replaced by -1, source points are started from all radioactive materials.
- The analog sampling mode preserves the average number of particles produced in radioactive decay, but may lead to poor sampling efficiency in geometries with both low and high-active materials.
- The implicit sampling mode preserves the total statistical weight of emitted particles and produces a uniform source distribution over activated materials.
- In version 2.1.28 the source is limited to photon line spectra.
- The calculation produces an additional output file [input]_gsrc.m that contains the source spectra.
- See practical example for more information.
strans (surface transformation)
See transformations.
surf (surface definition)
surf NAME TYPE [ PARAM_{1} PARAM_{2} ... ]
Defines a surface. Input values:
NAME | : is the surface name |
TYPE | : is the surface type |
PARAM_{n} | : are the surface parameters |
Notes:
- The name is used to identify the surface, for example, in the cell card.
- See separate description on surface types.
- Surfaces can be moved and rotated using transformations.
therm and thermstoch (thermal scattering)
therm NAME LIB
therm NAME TEMP LIB_{1} LIB_{2}
therm NAME 0 LIB_{1} LIB_{2} LIB_{3} ...
thermstoch NAME TEMP LIB_{1} LIB_{2}
Defines thermal scattering data that can be linked to nuclides using input entry moder in the material cards. When using thermal scattering data together with TMS on-the-fly temperature treatment, the third input value of the therm card is 0. In this case, Serpent interpolates the thermal scattering data automatically to the local temperature, as defined either using the tms input entry in the material definition or via the multi-physics interface.
Input values:
NAME | : name of the thermal scattering data |
LIB_{i} | : thermal scattering data identifiers as defined in the directory file (acelib) |
TEMP | : temperature to which the thermal scattering data is interpolated |
Notes:
- When using on-the-fly interpolation of thermal scattering data, LIB_{i} must cover the whole temperature range in which the materials appear in the geometry. I.e. extrapolation of the data is not supported.
- Thermal scattering data is interpolated using the methodology of makxsf code
- The interpolation can be performed using the stochastic mixing approach with thermstoch. This interpolation mode is not available for on-the-fly interpolation.
tme (time binning definition)
tme NAME 1 LIM_{1} LIM_{2} ...
tme NAME 2 NB T_{min} T_{max}
tme NAME 3 NB T_{min} T_{max}
Defines a time binning structure. The second entry sets the binning type (1 = arbitrary, 2 = uniform, 3 = log-uniform). Remaining values:
NAME | : name of the time binning |
NB | : number of bins |
LIM_{n} | : time bin boundaries in arbitrary binning |
T_{min} | : minimum time boundary in uniform or log-uniform binning |
T_{max} | : maximum time boundary in uniform or log-uniform binning |
Notes:
- The entered values are in seconds
- The first limit in the arbitrary type (type = 1), is the lower bound of the first bin. The second limit is the upper bound of the first bin and so on.
- Time binning is used with detectors and dynamic simulation mode.
trans (transformations)
trans TYPE UNIT LVL
trans TYPE UNIT X Y Z
trans TYPE UNIT X Y Z θ_{x} θ_{y} θ_{z} ORD
trans TYPE UNIT X Y Z α_{1} α_{2} α_{3} α_{4} α_{5} α_{6} α_{7} α_{8} α_{9} ORD
trans TYPE UNIT rot X_{0} Y_{0} Z_{0} I J K β
Defines surface, universe or fill transformation. Input values:
TYPE | : type of transformation (S = surface transformation, F = fill transformation, U = universe transformation) |
UNIT | : surface, cell or universe name to which the transformation is applied |
LVL | : level number in universe level transformation |
X,Y,Z | : translation vector |
θ_{x} θ_{y} θ_{z} | : rotation angles with respect to x-, y- and z-axes (in degrees) |
α_{1} ... α_{9} | : coefficients of the rotation matrix |
ORD | : order in which translations and rotations are applied (1 = rotations first, 2 = translations first) |
X_{0},Y_{0},Z_{0} | : Origin of vector defining rotation axis. |
I,J,K | : Components of vector defining rotation axis. |
β | : Angle around rotation axis defined by a vector (in degrees). NB: In Serpent 2.1.29 positive values correspond to rotation to the negative mathematical direction and vice versa. |
Notes:
- Fill transformation is applied in the universe filling the given cell.
- Level transformation is a special type of universe transformation, in which the coordinates in the given universe are obtained relative to geometry level LVL.
- By default translations are applied before rotations, and the order can be switched using the ORD parameter.
- Rotations can be defined either by providing the three angles with respect to the three coordinate axes, or by defining the rotation matrix. In the second case Serpent applies vector multiplication where and are the position vectors before and after the operation and coefficients α_{1} ... α_{9} define the 3 by 3 matrix .
- To preserve backwards compatibility, input parameters "strans", "utrans" and "ftrans" without the following type identifier are also accepted for defining surface, universe and fill transformations, respectively. To preserve compatibility with Serpent 1, parameter "trans" without type identifier defines a universe transformation.
transv and transa (velocity and acceleration transformations)
transv TYPE UNIT [ tlim T_{0} T_{1} T_{TYPE} ] V_{X} V_{Y} V_{Z}
transa TYPE UNIT [ tlim T_{0} T_{1} T_{TYPE} ] A_{X} A_{Y} A_{Z}
Defines surface, universe or fill transformation. Input values:
TYPE | : type of transformation (S = surface transformation, F = fill transformation, U = universe transformation) |
UNIT | : surface, cell or universe name to which the transformation is applied |
T_{0} | : beginning time of the transformation |
T_{1} | : end time of the transformation |
T_{TYPE} | : transformation type after end time (1 = movement stops, 2 = transformation removed, 3 = initial acceleration and velocity removed, but velocity accumulated due to acceleration remains) |
V_{X},V_{Y},V_{Z} | : Initial velocity vector |
A_{X},A_{Y},A_{Z} | : Initial acceleration vector |
Notes:
- Fill transformation is applied in the universe filling the given cell.
- The transformation is updated at the simulation time-interval boundaries.
- See UGM 2016 Moving geometry.
- See Rotating Translating STL Bunny.
utrans (universe transformation)
See transformations.
wwgen (response matrix based importance map solver)
wwgen NAME LIM NI MOD ERG MSH MIN_{1} MAX_{1} SZ_{1} MIN_{2} MAX_{2} SZ_{2} MIN_{3} MAX_{3} SZ_{3} DET_{1} w_{1} [ DET_{2} w_{2} ... ]
wwgen NAME LIM NI MOD ERG MSH SZ_{1} SZ_{2} SZ_{3} LIM_{11} LIM_{12} ... LIM_{21} LIM_{22} ... LIM_{31} LIM_{32} ... DET_{1} w_{1} [ DET_{2} w_{2} ... ]
Defines the parameters for importance map calculation. Input values:
NAME | : a unique name to identify the calculation |
LIM | : convergence criterion (typical value 1E-12) |
NI | : maximum number of iterations |
MOD | : solution mode (use 1 for now) |
ERG | : energy group structure (or -1 if no energy dependence is included) |
MSH | : mesh type (1 = Cartesian, 2 = Cylindrical, 6 = unevenly-spaced xyz, 8 = unevenly spaced cylindrical) |
MIN_{n} | : minimum mesh boundary (n:th coordinate) |
MAX_{n} | : maximum mesh boundary (n:th coordinate) |
SZ_{n} | : number of mesh cells (n:th coordinate) |
LIM_{nm} | : m:th boundary of n:th coordinate) |
DET_{i} | : detectors used as target response functions |
w_{i} | : weight factors for detector scores |
Notes:
- The solution mode provides various options on how the responses are used for calculating the importances. For now, only mode 1 is supported (calculate importances directly with respect to the response).
- Cartesian and cylindrical mesh are defined by outer mesh boundaries and number of mesh cells.
- Unevenly-spaced meshes are defined by providing the mesh cell boundaries separately.
- The coordinate axes 1, 2 and 3 in Cartesian mesh refer to (x,y,z) and in cylindrical mesh to (r,θ,z), with θ given in degrees.
- The mesh must be defined slightly larger than the geometry (the mesh boundaries should not coincide with the geometry boundaries).
- Source points located on mesh cell boundaries cause fatal errors.
- May not work if source distribution is biased with weight.
- The importance mesh is printed in file [input].wwd.
- Importance (weight window) meshes are read using the wwin card.
- This capability is still very much under development. The input syntax may be revised at some point.
wwin (weight window mesh definition)
wwin NAME [ wf FILE FMT SB TYPE ] [ wn F X Y Z E ] [ wx C G ]
Defines a weight window mesh for variance reduction. Input values:
NAME | : a unique name to identify the mesh |
FILE | : file path and name of the importance mesh file |
FMT | : file format (1 = mesh produced by Serpent importance map generator, 2 = MCNP weight window mesh file) |
SB | : option to set source biasing on (1/yes) or off (0/no) with Serpent-generated importance maps |
TYPE | : unused type parameter for Serpent-generated importance maps (set to 2) |
F | : importance for renormalization |
X,Y,Z | : coordinates of point used for renormalization |
E | : energy used for renormalization |
C | : constant multiplier for adjusting importances |
G | : exponential for adjusting importances |
Notes:
- By default the importance map is read from the mesh file and used as-is, the additional options are provided for adjustments.
- The importances can be renormalized using the wn option by fixing the value at a given position and energy.
- The importances can be adjusted using the wx option by constant multiplier C and exponential factor G such that .
- Currently the MCNP format only supports regular mesh type (uniform spacing).
- Only works in external source simulation mode.
- Source biasing works only for limited source types.
- Importance (weight window) meshes can be generated by running the response matrix based solver.
- Importance maps can be visualized using the geometry plotter.
- This capability is still very much under development. The input syntax may be revised at some point.
Input options
Input options are used to set various calculation parameters that are not included in the main input cards. Each option is identified by key word "set". Optional values are enclosed within square brackets.
set acelib
set acelib LIB_{1} [ LIB_{2} LIB_{3} ... ]
Sets the cross section directory file paths. Input values:
LIB_{n} | : file paths to directory files |
Notes:
- If the file path contains special characters it is advised to enclose it within quotes.
- A default directory path can be set by defining environment variable SERPENT_DATA. The code looks for cross section directory files in this path if not found at the absolute.
- A default cross section directory file can be set by defining environment variable SERPENT_ACELIB. This file will be used if no other path is given with set acelib.
set adf
set adf UNI SURF SYM
Sets parameters for the calculation of assembly discontinuity factors. Input values:
UNI | : universe where spatial homogenization is performed |
SURF | : surface enclosing the universe |
SYM | : symmetry option (see separate list) |
Notes:
- The surface enclosing the universe can be super-imposed (i.e. not part of the geometry definition), but it must enclose the entire universe.
- When the universe is surrounded by zero net-current (reflective) boundary conditions, the ADF's are calculated as the ratios of surface- and volume-averaged heterogeneous flux.
- When the net current is non-zero, the calculation is based on the ratio of surface-averaged homogeneous and heterogeneous flux. The homogeneous flux is obtained from a built-in diffusion flux solver.
- Calculation parameters for the diffusion flux solver can be set using the set dfsol option.
- Calculation of ADF's is currently allowed only for planes and infinite square and hexagonal prisms.
- Symmetry options are used to average out the statistical variation in the ADF's, which might otherwise lead to systematic errors in core calculations. It is important that the options are used only when the geometry has the corresponding symmetry.
- See separate description of output parameters in the [input]_res.m.
- The ADF's can be printed to the group constant output with set coefpara.
set alb
set alb UNI SURF DIR
Sets parameters for calculating albedos. Input values:
UNI | : universe where spatial homogenization is performed |
SURF | : surface for which the albedos are calculated |
DIR | : current direction (-1 = inward, 1 = outward) |
Notes:
- When this option is set, Serpent calculates both total albedos (ratio of currents) and partial albedos (response matrix).
- The current direction is given relative to the surface normal vectors
- The universe is needed only for labelling the results in the output files.
- See separate description of output parameters.
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 reaction rate output file.
set bc
set bc MODE
Sets the boundary conditions for all outer boundaries of the geometry. Input values:
MODE | : boundary type (1 = vacuum, 2 = reflective, 3 = periodic) |
set bc MODE ALB
Sets the boundary conditions with albedo for all outer boundaries of the geometry. Input values:
MODE | : boundary type (1 = vacuum, 2 = reflective, 3 = periodic) |
ALB | : albedo |
set bc MODEX MODEY MODEZ
Sets the boundary conditions separately for x-, y- and z-directions. Input values:
MODEX | : boundary type in x-direction (1 = vacuum, 2 = reflective, 3 = periodic) |
MODEY | : boundary type in y-direction (1 = vacuum, 2 = reflective, 3 = periodic) |
MODEZ | : boundary type in z-direction (1 = vacuum, 2 = reflective, 3 = periodic) |
set bc MODEX MODEY MODEZ ALB
Sets the boundary conditions with albedo separately for x-, y- and z-directions. Input values:
MODEX | : boundary type in x-direction (1 = vacuum, 2 = reflective, 3 = periodic) |
MODEY | : boundary type in y-direction (1 = vacuum, 2 = reflective, 3 = periodic) |
MODEZ | : boundary type in z-direction (1 = vacuum, 2 = reflective, 3 = periodic) |
ALB | : albedo |
Notes:
- The boundary conditions can be set either for all directions at once (single parameter) or x-, y- and z-directions separately (three parameters). Albedos are provided by adding one more parameter in the list.
- The default boundary condition is vacuum (= 1) in all directions.
- Albedo boundary conditions are invoked by multiplying the particle weight with factor ALB each time a reflective or periodic boundary is hit.
- Repeated boundary conditions (reflective or periodic) are based on universe transformations, which limits outer boundary to surfaces that form regular lattices (square and hexagonal prisms, rectangles, cubes and cuboids).
- Repeated boundary conditions are applied on the first surface of outside cells (see definition of outside cells in the cell card)
- For symmetry purposes Serpent provides the universe symmetry option.
- For more information, see detailed description on boundary conditions.
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 bralib
set bralib LIB_{1} [ LIB_{2} LIB_{3} ... ]
Sets isomeric branching data library file paths. Input values:
LIB_{n} | : library file paths |
Notes:
- Isomeric branching data libraries are standard ENDF format files containing energy-dependent branching ratios. The data is read from ENDF files 9 and 10.
- Serpent uses constant branching ratios by default. The default values can be overridden using the set isobra option. Energy-dependent data read read from ENDF format files overrides the constant ratios.
- If the file path contains special characters it is advised to enclose it within quotes.
- A default directory path can be set by defining environment variable SERPENT_DATA. The code looks for decay data files in this path if not found at the absolute.
- See also: example input
- Example data from the JEFF-3.1 activation file
set bumode
set bumode MODE [ ORDER ]
Sets the burnup calculation mode. Input values:
MODE | : burnup calculation mode |
ORDER | : CRAM order |
The possible settings for mode are:
Mode | Description |
---|---|
1, tta | Transmutation Trajectory Analysis (TTA) |
2, cram | Chebyshev Rational Approximation Method (CRAM) |
The CRAM order parameter can only be given when choosing the cram mode. The possible settings for CRAM order are:
CRAM order |
---|
2 |
4 |
6 |
8 |
10 |
12 |
14 |
16 |
Notes:
- The default setting for the burnup calculation mode is CRAM.
- Default value for the CRAM order is 14.
- The CRAM order must be divisible by 2 and any values greater than 16 are considered to be 16.
set ccmaxiter
set ccmaxiter NITER
Sets the maximum number of coupled calculation iterations. Input values:
NITER | : number of iterations. |
Notes:
- Default maximum number of iterations is 1 (no iteration).
- The iteration is stopped when either the maximum number of iterations or the maximum active neutron population (set with set ccmaxpop) has been simulated.
- See Coupled multi-physics calculations for further information.
set ccmaxpop
set ccmaxpop CPOP
Sets the maximum total live population to simulate in a coupled calculation. Input values:
CPOP | : total active population to simulate. |
Notes:
- Default maximum population is INFTY/1e6.
- The iteration is stopped when either the maximum number of iterations (set with set ccmaxiter) or the maximum active neutron population has been simulated.
- Only the population simulated during active cycles is included in this amount.
- This is mostly useful if the neutron population per iteration is not constant.
- See Coupled multi-physics calculations for further information.
set cfe
set cfe 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 20 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.
- The collision flux estimator in Serpent is described in an article in Annals of Nuclear energy from 2017.^{[2]}
- In version 2.1.27 and earlier the name of this input option was "set minxs".
set coefpara
set coefpara FMT [ PARAM_{1} PARAM_{2} ... ]
Defines the parameters included in the separate group constant output file. Input values:
FMT | : output format, currently used for including or excluding statistical errors (0 = not included, 1 = included) |
PARAM_{n} | : list of parameters or detectors included in the file |
Notes:
- The group constant output file [input].coe is produced when the automated burnup sequence is invoked.
- The available parameters are listed under homogenized group constants in the description of the [input]_res.m output file.
- Detectors are identified by the name assigned to them in the detector card.
set cmm
set cmm OPT
Sets calculation of diffusion coefficients using the cumulative migration method (CMM) on or off. Input values:
OPT | : option to switch CMM calculation on (1/yes) or off (0/no) |
Notes:
- Calculation of diffusion coefficients using CMM takes considerable time when the number of energy groups is large. This option allows switching the calculation off if the data is not needed.
set comfile
set comfile INFILE OUTFILE
Defines the communication files used in the file-based coupled calculation communications. Input values:
INFILE | : Path to inwards communication file (signals to Serpent). |
OUTFILE | : Path to outwards communication file (signals from Serpent). |
Notes:
- Setting up a communication mode will enable the coupled calculation mode.
- For more information see: External coupling
set confi
set confi OPT
Sets confidentiality flag on or off. Input values:
OPT | : option to set confidentiality flag on (1/yes) or off (0/no) |
Notes:
- This option can be used to label calculations as confidential. If the option is set, text "(CONFIDENTIAL)" is printed in the run-time output next to the calculation title and the value of variable CONFIDENTIAL_DATA in the [input]_res.m output file is set to 1.
set cpd
set cpd DEPTH [ N_{Z} Z_{MIN} Z_{MAX} ]
Sets on the calculation of lattice-wise power distributions to output file [input]_core0.m on. Input values:
DEPTH | : The number of levels included. 1 is the first lattice calculated from universe 0 usually corresponding to assembly-wise distribution. 2 includes the first two levels usually corresponding to the assembly- and pin-wise distributions. |
N_{Z} | : Number of equal sized axial bins into which the lattices are divided. |
Z_{MIN} | : Minimum z-coordinate for the axial division. |
Z_{MAX} | : Maximum z-coordinate for the axial division. |
Notes:
- The default values for N_{Z}, Z_{MIN} and Z_{MAX} are 1, -INFTY and INFTY, respectively.
set cpop
set cpop NPG NGEN NSKIP [ NSKIP2 ]
Sets parameters for simulated neutron population for corrector neutron transport solutions in burnup calculation. Typically used with the SIE burnup scheme. Input values
NPG | : number of neutrons per generation |
NGEN | : number of active generations |
NSKIP | : number of inactive generations |
NSKIP2 | : number of inactive generations on further iterations for the same burnup point |
Notes:
- As the SIE burnup scheme executes the corrector step multiple times for each burnup step, combining the results from each iteration, it may be a good idea to run more iterations with less active neutron histories per iteration.
set csw
set csw FILE
Writes source points in criticality source simulation into a file. Input values:
FILE | : file name where the source points are written |
Notes:
- Only source points from active cycles are included.
set dbrc
set dbrc E_{min} E_{max} [ NUC_{1} NUC_{2} ... ]
Enables the use of doppler-broadening rejection correction (DBRC).
E_{min} | : Minimum energy for DBRC |
E_{max} | : Maximum energy for DBRC |
NUC_{n} | : Nuclide identifiers for which to apply DBRC to, with 0 K cross section data, e.g. "92238.00c" |
Notes:
- This description is not complete.
- Use of DBRC requires 0 K cross section data.
- See also Section 5.6 of Serpent 1 User Manual.
set declib
set declib LIB_{1} [ LIB_{2} LIB_{3} ... ]
Sets the decay data library file paths. Input values:
LIB_{n} | : library file paths |
Notes:
- Decay libraries are standard ENDF format files containing decay data.
- If the file path contains special characters it is advised to enclose it within quotes.
- A default directory path can be set by defining environment variable SERPENT_DATA. The code looks for decay data files in this path if not found at the absolute.
set decomp
set decomp OPT [ ELEM_{1} ELEM_{2} ... ]
Decomposes elemental entries in material cards into isotopes. Input values:
OPT | : option to include (1) or exclude (0) elements from decomposed list |
ELEM_{n} | : element names |
Notes:
- Elemental entries are identifed from zero A in ZA.
- The decomposition is based on built-in isotope fractions.
- If the list is not provided, all elemental entries are decomposed.
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.
- See separate description of physics options in Serpent for differences to other codes.
set depout
set depout MODE
Controls which burnable material compositions are printed into the [input]_dep.m output file in case of divided materials. Input values:
MODE | : value indicating, which materials to output to the [input]_dep.m file (1 = only partials, 2 = only parents, 3 = both) |
Notes:
- Parent materials refer to materials defined by mat cards, and partials to depletion zones created automatically using the div card.
- Default is 2 (only parents).
set dfsol
set dfsol MODE [ DC NP ]
Options for homogeneous diffusion flux solver. Input values:
MODE | : boundary conditions for solver (1 = include net currents at boundary surfaces and corners, 2 = include only surface currents) |
DC | : type of diffusion coefficient used in the calculation (1 = INF_DIFFCOEF, 2 = TRC_DIFFCOEF) |
NP | : number of points for trapezoidal integration for homogeneous flux |
Notes:
- This input option is used to control how the deterministic diffusion flux solver used to obtain assembly discontinuity factors (set adf) and pin power distributions (set ppw) is run.
- Default mode is 1 (include both surfaces and corners in solution).
- Default diffusion coefficient is INF_DIFFCOEF, option 2 requires the set trc option.
- Default number of points for trapezoidal integration is 100.
- See also separate description of the built-in diffusion flux solver.
- The format was revised in update 2.1.27 (DC option was added between MODE and NP).
set dix
set dix OPT
Sets double indexing for cross section energy grid look-up on or off:
MODE | : option to set double indexing on (1/yes) or off (0/no) |
Notes:
- Double indexing^{[3]} is a method to speed-up the cross section look-up when energy grid unionization is not used for microscopic data.
- The method can be used only in optimization modes 1 and 3 (modes 2 and 4 are based on energy grid unionization).
set dynsrc
set dynsrc PATH [ MODE ]
Links previously generated steady state source distributions to be used in a transient simulation with delayed neutron emission.
PATH | : The path of the previously generated source file (without the .main suffix) |
MODE | : Precursor tracking mode (0 = mesh based, 1 = point-wise) |
Notes:
- Four source files will be required PATH.main, PATH.prec, PATH.live and PATH.precpoints
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 cfe).
- For more information on tracking modes, see the detailed description on delta- and surface-tracking.
set ecut
set ecut E_{MINn} EMIN_{p}
Sets minimum energy cut-off for neutrons and photons. Input values:
EMIN_{n} | : cut-off energy for neutrons (MeV) |
EMIN_{p} | : cut-off energy for photons (MeV) |
Notes:
- The default cut-of energy for photons is 1 keV. Neutron energy cut-off is switched off by default.
- Using energy cut-off for neutrons may lead to non-physical results, since fission and up-scattering may not be accurately modeled.
- Versions 2.1.27 and earlier include only photon energy cut-off, which is now the second input parameter.
set egrid
set egrid TOL [ EMIN EMAX ]
Sets the unionized energy grid reconstruction parameters. Input values:
TOL | : fractional reconstruction tolerance |
EMIN | : minimum energy in the grid (MeV) |
EMAX | : maximum energy in the grid (MeV) |
Notes:
- The default fractional reconstruction tolerance is 0.0 in transport calculation mode and 5E-5 in burnup calculation mode.
- The default minimum energy is 1E-11 MeV.
- The default maximum energy is 20.0 MeV.
- See also Section 5.3 of Serpent 1 User Manual.
set entr
set entr N_{X} N_{Y} N_{Z} [ X_{MIN} X_{MAX} Y_{MIN} Y_{MAX} Z_{MIN} Z_{MAX} ]
Defines the mesh structure used for calculating fission source entropy. Input values:
N_{X} | : number of mesh cells in x-direction |
N_{Y} | : number of mesh cells in y-direction |
N_{Z} | : number of mesh cells in z-direction |
X_{MIN} | : minimum mesh boundary in x-direction |
X_{MAX} | : maximum mesh boundary in x-direction |
Y_{MIN} | : minimum mesh boundary in y-direction |
Y_{MAX} | : maximum mesh boundary in y-direction |
Z_{MIN} | : minimum mesh boundary in z-direction |
Z_{MAX} | : 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 fininitfile
set fininitfile FILEPATH
Links a file containing an initial fuel behavior solution used as a starting point for a coupled calculation with the FINIX fuel behavior module. Input values:
FILEPATH | : path to the file |
Notes:
- The file should be a type 6 fuel behavior interface containing a previous solution from a coupled FINIX calculation.
- The axial and radial nodalization as well as the included fuel rods should be the same in the file as in the calculation.
set fissh
set fissh ZAI_{1} E_{1} ZAI_{2} E_{2} ...
Overrides default fission heating values. Input values:
ZAI_{n} | : nuclide identifiers (ZAI) |
E_{n} | : energy deposited per fission in MeV |
Notes:
- The energy deposited per fission includes additional energy released in capture reactions when fission neutrons are absorbed.
- By default the energy release per U-235 fission is set to 202.27 MeV, and the values for other actinides scaled based the Q-values found in the cross section libraries.
- See also set U235H.
- See also Section 5.8 of Serpent 1 User Manual.
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 fsp
set fsp OPT NSKIP
Sets fission source passing between two transport simulations in burnup or coupled calculation. The fission source at the end of one transport calculation is used as the initial source for the next transport calculation.
OPT | : option to switch fission source passing on (1/yes) or off (0/no) |
NSKIP | : number of inactive generations on subsequent steps |
Notes:
- Fission source passing is turned off by default.
- Number of inactive generations is taken from set pop card on the first step and from set fsp on all later steps.
set fum
set fum ERG [ BTCH DUMMY LIM ]
Activates fundamental mode for calculation of macroscopic data in few-group structure in critical spectrum.
ERG | : Intermediate multi-group structure for calculation of the leakage-corrected critical spectrum |
BTCH | : When set to 2, results are averaged over all criticality cycles |
DUMMY | : Parameter not used (default 0) |
LIM | : Convergence criterion of k_{eff} in B_{1} iterations (default value 1E-5) |
Notes:
- When invoked, Serpent applies a B_{1} leakage correction on group constants and produces a second set of output parameters.
- The multi-group structure may be an energy grid defined using the ene card or a name of a pre-defined energy group structure.
- Setting the fundamental mode calculation overrides the default 70-group structure used for macroscopic data calculation in infinite spectrum.
- Averaging the results over all cycles may improve convergence and speed up the calculation, but all information on statistical errors is lost.
- This option does not effect the flux spectrum used during burnup calculations.
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 gcu
set gcu UNI_{1} [ UNI_{2} UNI_{3} ... ]
Sets the universes for group constant generation. Input values:
UNI_{n} | : universe where group constants are generated or -1 to switch group constant generation off. |
Notes:
- Group constants are by default generated in the root universe (universe 0).
- Group constant generation should be switched off when the results are not needed (this may speed up the calculation).
- See separate description of output parameters.
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:
OPT | : option to switch batch history record on (1/yes) or off (0/no) |
Notes:
- When invoked, Serpent collects batch-wise data on k_{eff}, 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.
set impl
set impl ICAPT [ INXN INUBAR ]
Sets implicit reaction modes on or off.
ICAPT | : option to switch implicit capture reactions on (1/yes) or off (0/no) |
INXN | : option to switch implicit nxn reactions on (1/yes) or off (0/no) |
INUBAR | : number of fission neutrons to emit in each fission (nonzero = implicit treatment, 0 = analog treatment) |
Notes:
- Group constant generation requires implicit nxn reactions to be set on.
- If an implicit nubar is given, the weights of the fission neutrons are scaled to conserve the physical number of fission neutrons.
- See separate description of physics options in Serpent for differences to other codes.
set inftrk
set inftrk LOOP_{n} [ ERR_{n} LOOP_{p} ERR_{p} ]
Sets parameters for terminating infinite tracking loops.
LOOP_{n} | : number of neutron tracking loops interpreted as a geometry error |
ERR_{n} | : flag to terminate neutron tracking when an infinite loop occurs (0 = no, 1 = yes) |
LOOP_{p} | : number of photon tracking loops interpreted as a geometry error |
ERR_{p} | : flag to terminate photon tracking when an infinite loop occurs (0 = no, 1 = yes) |
Notes:
- Serpent checks for tracking loop length to avoid simulation being stuck in an infinite loop. The simulation is terminated by default if no material is found after the particle has been moved forward 1000000 times.
- Long loops can occur by chance in complicated geometries, and this parameter allows continuing the simulation without terminating with error message.
- Even if the problem can be solved by switching the infinite loop error off, it is advised to check the geometry for possible errors.
set inventory
set inventory MAT_{1} MAT_{2} ...
set inventory top N PARA
Specifies which nuclides or elements to include in the [input]_dep.m output file. Input values:
MAT_{n} | : Nuclide or element to include |
N | : Number of nuclides |
PARAM | : Parameter name |
Notes:
- MAT can be: an isotope, element, or a special entry.
- Isotopes are entered using element symbol and mass number (e.g U-235, Am-242m, etc.) or ZAI (922350, 952421, etc.). In the ZAI format the last digit refers to the isomeric state (0 = ground state, 1 = isomeric state).
- Elements are entered using symbol or numerical (U, 92, etc.). The output includes the sum over all isotopes.
- Special entries include:
- "all" -- All nuclides.
- "accident" -- Nuclides with significant health impact & high migration probability in accident conditions. Source Chernobyl: Assessment of Radiological and Health Impact
- "actinides" -- Actinides (Z>88) for which cross section data are found in JEFF-3.1.1
- "burnupcredit" -- Nuclides commonly considered in burnup credit criticality analyses for PWR fuels [1]
- "burnupindicators" -- Burnup indicators (commonly measured from spent fuel) [2]
- "cosi6" -- Inventory list used by the COSI6 code (excluding lumped fission products)
- "lanthanides" -- Lanthanides (56<Z<72) for which cross section data are found in JEFF-3.1.1
- "longterm" -- Relevant radionuclides in long-term waste analyses ^{[4]}
- "minoractinides" -- Minor actinides (actinides - thorium - uranium - plutonium) for which cross section data are found in JEFF-3.1.1
- The second syntax allows listing the most significant contributors to a given result. The parameters are:
- "mass" -- contribution to mass fraction
- "activity" -- contribution to activity
- "sf" -- contribution to spontaneous fission rate
- "gsrc" -- contribution to gamma emission rate
- "dh" -- contribution to decay heat
- "ingttox" -- contribution to ingestion toxicity
- "inhtox" -- contribution to inhallation toxicity
- for example "top 10 dh" gives the top 10 contributors to decay heat.
- Since most significant contributors may change over time, the output may contain more nuclides than is requested in the input card.
- The calculation of top contributors does not work with the "-rdep" command line option.
set isobra
set isobra ZAI_{1} MT_{1} FG_{1} ZAI_{2} MT_{2} FG_{2} ...
Defines constant branching ratios to isomeric states. Input values:
ZAI_{n} | : nuclide identifiers (ZAI) |
MT_{n} | : ENDF reaction MT |
FG_{n} | : fraction of reactions leading to the ground state of the product nuclide |
Notes:
- Serpent uses constant branching ratios by default. This option overrides the default values.
- Energy-dependent data read read from ENDF format files defined by the set bralib overrides the constant ratios.
set iter nuc
set iter nuc CYCLES KEFF N_{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 reliably iterated using this card.
- The atomic density of the nuclides is updated according to the batching interval set in the set pop card. Having a large batching interval means that the atomic density may take a large number of cycles to converge.
set keff
set keff K_{EFF}
Option to scale fission neutron production in external source simulations.
K_{EFF} | : The k-effective to use for scaling the fission neutron production. Inverse of K_{EFF} will be used as a multiplicative constant for the nubar, i.e. a value of 2.0 will cut the fission neutron production in half. Default value is 1. |
Notes:
- Affects both prompt and delayed neutron production from fissions.
- Currently does not affect delayed neutron precursor production, which will cause unexpected behaviour in Transient simulations that track delayed neutron precursor concentrations.
set lost
set lost LIM
Option to treat undefined geometry regions as void. Input values:
LIM | : maximum number of collisions allowed in undefined regions or -1 if no limit is set. |
Notes:
- This option allows the calculation to proceed even if the geometry routine encounters undefined cells.
- The option is intended, for example, for complex geometries in which the boundaries of adjacent cells may not fully coincide.
- When the option is set, the number of lost particles is printed in variable LOST_PARTICLES in the [input]_res.m output file.
- The option should not be used to get away with errors in incomplete or poorly defined geometries.
set mbtch
set mbtch N
Adjusts the batch used with MPI data transfer. Input values:
N | : batch size in double floats (8 bytes) |
Notes:
- The batch size determines the division of data blocks in MPI data transfer. The value may have some effect on parallel performance.
- The batch size is set to 10000 by default.
set mcvol
set mcvol NP
Runs the Monte Carlo volume-checker routine to set material volumes before running the transport simulation. Input values:
NP | : number of points sampled in the geometry |
Notes:
- The Monte Carlo based volume calculation routine works by sampling random points in the geometry, and counting the number of hits in every material.
- When invoked, all material volumes are overridden by the results given by the checker routine.
- The volume checker can also be used to produce a separate input file for the volume entries (see detailed description on defining material volumes).
set mdep
set mdep UNI VR N MAT_{1} MAT_{2} ... MAT_{N} ZAI_{1} MT_{1} ZAI_{2} MT_{2} ...
Sets parameters for calculating cross sections for micro-depletion. Input values:
UNI | : universe where spatial homogenization is performed |
VR | : volme ratio of materials included in micro depletion to total homogenized region |
N | : number of materials included in the calculation |
MAT_{1} MAT_{2} ... MAT_{N} | : material names |
ZAI_{i} | : nuclide identifier (ZAI) |
MT_{i} | : ENDF reaction MT |
Notes:
- When this option is set, Serpent calculates multi-group microscopic cross sections for the listed nuclides and reactions.
- The results are printed in a separate output file.
- The results can be included in the group constant output by adding MDEP_XS in the set coefpara list.
- If the number of materials is zero, the calculation is carried over all burnable materials.
- The listed materials must be enclosed inside the homogenized universe.
- Transmutation reactions to ground and isomeric states can be calculated by adding 'g' and 'm' after the reaction MT. Reaction rates are calculated to all states by default.
- Fission reactions corresponding to a specific yield can be calculated by adding 1 (=thermal), 2 (=fast) or 3 (=high-energy) after the reaction MT (e.g 181 is total fission cross section corresponding to thermal fission product yield).
- Some actinides are missing the total fission channel, and setting the MT to 18 produces sum over MT's 19, 20, 21 and 38 (from version 2.1.29 on).
set micro
set micro ERG [ BTCH ]
Defines the intermediate multi-group structure used for group constant generation.
ERG | : Intermediate multi-group structure used for group constant generation |
BTCH | : When set to 2, results are averaged over all criticality cycles |
Notes:
- Serpent uses an intermediate multi-group structure to calculate homogenized few-group constants. This input parameter is used to override the default 70-group structure used in the calculation.
- The multi-group structure may be an energy grid defined using the ene card or a name of a pre-defined energy group structure.
- Averaging the results over all cycles may improve convergence and speed up the calculation, but all information on statistical errors is lost.
set memfrac
set memfrac FRAC
Defines the fraction of total system memory Serpent can allocate to its use. If the fraction is exceeded, the simulation will abort. This is mainly to avert the use of swap-memory, which can make the system unresponsive. Input values:
FRAC | : the fraction of system memory that Serpent is allowed to use (between 0 and 1) |
Notes:
- The default fraction is 0.8.
- The fraction can also be set via a SERPENT_MEM_FRAC environmental variable.
- Serpent tries to read the system total memory from the first line of the file /proc/meminfo
set minxs
See set cfe.
set mvol
set mvol MAT_{1} ZONE_{1,1} VOL_{1,1} MAT_{1} ZONE_{1,2} VOL_{1,2} ... MAT_{2} ZONE_{2,1} VOL_{2,1} ...
Sets the volumes of material regions. Input values:
MAT_{m} | : name of material m |
ZONE_{m,n} | : index of zone n in material m |
VOL_{m,n} | : volume of zone n in material m |
Notes:
- This option is used to define material volumes manually. The input card is also produced when the Monte Carlo based volume checker routine is invoked.
- The zone index is related to automated depletion zone division, invoked by the div card. If no division is used, the index must be set to zero.
- Another option to define material volumes is to use the vol entry in the material card.
- For more infomation, see detailed description on the definition of material volumes.
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 nfg
set nfg ERG
Defines the few-group structure used for group constant generation.
ERG | : Few-group structure used for group constant generation |
Notes:
- The few-group structure may be an energy grid defined using the ene card or a name of a pre-defined energy group structure.
- The default is a two-group structure with boundary between fast and thermal group set to 0.625 eV.
- Serpent uses an intermediate multi-group structure in the calculation. The default structure consists of 70 groups, and can be changed using the set micro option.
- The few-group structure must be a sub-set of the intermediate multi-group structure.
- See also: group constant output.
set nfylib
set nfylib LIB_{1} [ LIB_{2} LIB_{3} ... ]
Sets the neutron-induced fission yield library file paths. Input values:
LIB_{n} | : library file paths |
Notes:
- Fission yield libraries are standard ENDF format files containing neutron-induced fission yield data.
- If the file path contains special characters it is advised to enclose it within quotes.
- A default directory path can be set by defining environment variable SERPENT_DATA. The code looks for fission yield data files in this path if not found at the absolute.
set ngamma
set ngamma MODE WMIN
Sets the coupled neutron-photon transport simulation on. Input values:
MODE | : simulation mode (0 = off, 1 = analog, 2 = implicit) |
WMIN | : weight limit for implicit mode |
Notes:
- This input card invokes the production of prompt gammas in neutron reactions. The coupled simulation mode requires that both neutron and photon data libraries are defined.
- In analog mode, the average number of secondary photons produced per collision is defined by the ratio of photon production cross section to material total. Each emitted photon assumes the weight of the incident neutron.
- The implicit mode can be used to produce more photons by allowing variation in their statistical weight. The weight limit defines the minimum allowed weight of emitted photons. This method is close to what is used in MCNP.
- Both calculation modes produce photons in all collisions without any correlation to the sampled reaction mode.
- The MODE option was incorrectly described until Dec. 12, 2017.
set nphys
set nphys FISS [ CAPT SCATT ]
Option to set reaction modes for neutrons on and off. Input values:
FISS | : option to handle fission (0 = not handled, 1 = handled) |
CAPT | : option to handle capture (0 = not handled, 1 = handled) |
SCATT | : option to handle scattering (0 = not handled, 1 = handled) |
Notes:
- All reaction modes are handled by default.
- If fission is switched off, it is handled as capture.
set nps
set nps PP [ BTCH TBI ]
Sets parameters for simulated particle population in external source mode. Input values:
PP | : total number of particles |
BTCH | : number of batches |
TBI | : time binning for dynamic mode |
Notes:
- The total number of particles is divided by the given number of batches to give the number of particles per batch.
- Default number of batches is 200.
- Using the nps card sets the mode to external source simulation. Criticality source simulation for neutrons is invoked using set pop.
- If time binning is provided, the simulation is run in the dynamic mode with sequential population control. The bin structure is defined using the tme card.
- 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 dynamic mode, 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.
- In transient simulations, where an initial transient source is linked using the set dynsrc option, PP particles are sampled for each time interval.
set opti
set opti MODE
Sets the optimization mode which affects the performance and memory usage. Input values:
MODE | : optimization mode |
The possible settings for mode are:
Mode | Description |
---|---|
1 | Minimum optimization and small memory usage. Suitable for very large burnup calculation problems involving tens or hundreds of thousands of depletion zones. |
2 | Good performance in burnup calculations involving several thousand depletion zones. Suitable for research reactor applications, but not the best choice for group constant generation. |
3 | Similar to mode 4, but lower memory demand. CPU time required by burnup and processing routines increases steeply along with the number of depletion zones, which makes the mode better suited for small burnup calculation problems. |
4 | Maximum performance at the cost of memory usage. Suitable for group constant generation and 2D assembly burnup calculations with a limited number of depletion zones. |
Notes:
- Default value for the optimization mode is 4.
- The mode 4 is essentially the same as the methodology in Serpent 1.
- The methodology is described in a paper presented in PHYSOR 2012^{[5]}.
set outp
set outp INT
Sets the interval (in cycles) for writing simulation output to files. Input values:
INT | : number of cycles after which the output-files are updated |
Notes:
- Default value is 50.
- In coupled transient simulations the interval refers to time steps rather than batches. By default, the output is written after every 50th time step.
- Affects files such as [input]_res.m and [input]_det.m as well as mesh plots.
set pcc
set pcc MODE [ SSP SSC ]
Sets the time integration method in burnup calculation. Input values:
MODE | : time integration method |
SSP | : number of substeps for predictor steps |
SSC | : number of substeps for corrector steps |
The possible settings for mode are:
Mode | Predictor method | Corrector method |
---|---|---|
0, CE | Constant extrapolation | - |
1, CELI | Constant extrapolation | Linear interpolation |
2, LE | Linear extrapolation | - |
3, LELI | Linear extrapolation | Linear interpolation |
4, LEQI | Linear extrapolation | Quadratic interpolation |
6, CECE | Constant extrapolation | Constant backwards extrapolation |
Notes:
- Mode 0 is also known as "Euler's method".
- Mode 1 is also known as the "old predictor-corrector method".
- Modes 0 and 1 without substeps corresponds to the methods used in Serpent 1.
- The default numbers of predictor and corrector substeps are 1 for applicable methods.
set pdatadir
set pdatadir DIR
Sets the file path for auxiliary photon data. Input values:
DIR | : file path for directory where the data is located |
Notes:
- Serpent uses auxiliary data files for the modelling of photon interaction physics.
- The data can be downloaded at https://vtt.sharefile.eu/share/view/s6802c86183b44708.
set poi
set poi OPT [ VR ]
Switches the calculation of poison cross sections on or off. Input values:
OPT | : option to switch the calculation of poison cross sections on (1/yes) or off (0/no) |
VR | : ratio of fuel volume to the volume of the homogenized zone |
Notes:
- Poison cross sections include the fission yields and microscopic and macroscopic absorption cross sections of fission product poisons ^{135}Xe and ^{149}Sm, as well as their precursors. The data is part of the homogenized group constant output.
- The calculation requires setting the decay and fission yield library file paths.
- The volume ratio is required for calculating microscopic absorption cross sections.
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 |
NGEN | : number of active generations |
NSKIP | : number of inactive generations |
K0 | : initial guess for k_{eff} |
BTCH | : batching interval (default value is 1 generation per batch) |
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 k_{eff} 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.
- The number of neutrons per generation also affects the memory usage of the code together with set nbuf.
set power
set power P [ MAT ]
Sets normalization to total fission power
P | : fission power (in W) |
MAT | : material in which the given power is produced |
Notes:
- Normalization is needed to relate the Monte Carlo reaction rate estimates to a user-given parameter.
- If the material name is omitted, the value corresponds to total fission power produced in the system.
- Neutron transport simulations are by default normalized to unit total loss rate.
- Photon transport simulations are by default normalized to unit total source rate.
- For other normalization options, see: set powdens, set flux, set genrate, set fissrate, set absrate, set lossrate, set srcrate, set sfrate.
- See also Section 5.8 of Serpent 1 User Manual.
set powdens
set powdens PDE [ MAT ]
Sets normalization to power density
PDE | : power density (in kW/g) |
MAT | : material in which the given power is produced |
Notes:
- Normalization is needed to relate the Monte Carlo reaction rate estimates to a user-given parameter.
- If the material name is omitted, the value corresponds to average power density produced in the system.
- Neutron transport simulations are by default normalized to unit total loss rate.
- Photon transport simulations are by default normalized to unit total source rate.
- For other normalization options, see: set power, set flux, set genrate, set fissrate, set absrate, set lossrate, set srcrate, set sfrate.
- See also Section 5.8 of Serpent 1 User Manual.
set ppid
set ppid PID
Defines the external code process identifier (PID) number to be used for communication in the POSIX-based coupled calculation communications. Input values:
PID | : Process identifier (PID) of the (parent) process that Serpent should communicate with. |
Notes:
- Setting up a communication mode will enable the coupled calculation mode.
- For more information see: External coupling
set ppw
set ppw UNI LAT
Turns on the calculation of pin-power form factors. The results are printed in variable PPW_POW_FRAC in the [input]_res.m output file. Input values:
UNI | : The universe where the power distribution is calculated. |
LAT | : The lattice where the calculation is performed. |
Notes:
- See separate description of output parameters in the [input]_res.m.
- The form factors can be printed to the group constant output with set coefpara.
- Calculation of pin-power form factors also requires calculation of assembly discontinuity factors using set adf.
set precsrcf
set precsrcf FACTOR
Set number of pointwise precursors to hold in memory in transient simulations. A multiplicative factor for the number of neutrons per batch, i.e. setting FACTOR to 10 when running 1000 neutrons per batch will keep 10000 pointwise precursors in memory.
FACTOR | : The factor to multiply the number of neutrons per batch to obtain the number of pointwise precursors to hold in memory. |
Notes:
- Default value is 10.
- The number of pointwise precursors held in memory is controlled to the requested number at time interval boundaries. The physical number of precursors is conserved.
- Storing a too low of a number of pointwise precursors can lead to undersampling of certain precursor groups or parts of geometry.
set printm
set printm MODE [ FRAC ]
Print material compositions to input.bumat<step> file during burnup calculation.
MODE | : Set printing on (1/yes) or off (0/no). |
FRAC | : Optional atomic fraction for printing out decay nuclides (nuclides with no transport cross sections). Value 0.0 will print out all decay nuclides, while 1.0 will not print out any decay nuclides. Value FRAC will print out nuclides whose atomic fraction in the material is greater than or equal to FRAC. |
Notes:
- Nuclides without transport data are excluded from the output by default.
set relfactor
set relfactor FAC
Sets the underrelaxation factor for the power relaxation used in coupled multi-physics calculations. Input values:
FAC | : underrelaxation factor |
Notes:
- Setting the underrelaxation factor to 0, disables power relaxation altogether. The power distribution written to the output-files will be unrelaxed and only based on the most recent iteration.
set repro
set repro MODE
Sets the reproducibility mode in parallel calculations. Input values:
MODE | : reproducibility mode |
The possible settings for mode are:
Mode | Description |
---|---|
0 | No reproducibility |
1 | Reproducibility with OpenMP parallelization (default value) |
2 | Reproducibility with MPI and hybrid OpenMP / MPI parallelization |
Notes:
- The reproducibility in OpenMP parallelization means that the random number sequences are the same in spite of parallelization. This requires that the histories are calculated always in the same order. This is achieved by sorting the fission banks between batches. With large neutron populations per batches the sorting takes a substantial amount of time which might affect the obtained parallel calculation scalability.
- The reproducibility is often a requirement for debugging the program.
set rfr
set rfr STEP FILE
set rfr idx I FILE
Reads material compositions from a binary restart file. Input values:
STEP | : burnup step from which the compositions are obtained |
I | : burnup step index from which the compositions are obtained |
FILE | : name of the binary restart file |
Notes:
- Positive values for step are interpreted as burnup units (MWd/kgU) and negative values as time units (days)
- This option can be used together with the set rfw feature for applying changes in the modeled system during burnup calculation
set rfw
set rfw OPT FILE
Writes material compositions in burnup calculation into a binary restart file. Input values:
OPT | : option to switch writing on (1/yes) or off (0/no) |
FILE | : name of the binary restart file |
Notes:
- Restart file writing is switched off by default.
- This option can be used together with the set rfr feature for applying changes in the modeled system during burnup calculation
set root
set root UNI
Sets the root universe. Input values:
UNI | : universe name |
Notes:
- Root universe is the universe at the lowest level of the geometry hierarchy, and must always be defined. By default the root is set to "0".
- For more information, see detailed description on the universe-based geometry type in Serpent.
set runtme
set runtme T
Sets the maximum running time for the transport simulation. Input values:
T | : wall-clock running time (minutes) |
Notes:
- When defined, the transport simulation is terminated after the maximum time is reached.
- Setting the parameter does not override the set pop or set nps option.
set samarium
set samarium OPT [ MAT_{1} MAT_{2} ... ]
Sets equilibrium samarium calculation on or off:
OPT | : option to set equilibrium samarium calculation on (1/yes) or off (0/no) |
MAT_{1} MAT_{2} ... | : optional list of materials to include in the equilibrium samarium calculation. Default is all fissile materials. |
Notes:
- The equilibrium concentration is calculated on depletion zone basis. You may want to divide your fuel material into depletion zones
- The equilibrium concentration calculation requires the material volumes to be correctly set.
- The equilibrium concentration calculation requires the fission yield and decay libraries.
- The equilibrium concentration of samarium is updated according to the batching interval set in the set pop card. Having a large batching interval means that the equilibrium concentration may take a large number of cycles to converge.
set savesrc
set savesrc PATH [ PN PP N_{X} N_{Y} N_{Z} ]
Sets up the creation of an initial source to be used in a dynamic simulation with delayed neutron emission.
PATH | : The path of the source file to be created |
PN | : Fraction of tentative neutrons to save (default 1.0). Only affects criticality source simulations. |
PP | : Fraction of tentative precursors to save (default 1.0). Only affects criticality source simulations. |
N_{X} | : Precursor mesh size in x-direction (default 1) |
N_{Y} | : Precursor mesh size in y-direction (default 1) |
N_{Z} | : Precursor mesh size in z-direction (default 1) |
Notes:
- Four source files will be generated PATH.main, PATH.prec, PATH.live and PATH.precpoints
- If used in criticality source simulation, the system should be critical and the values will correspond to steady state values.
- If used in a dynamic simulation, the values will correspond to end-of-simulation values
- If you are getting a warning from function WriteSourceFile "P larger than 1", you should lower the PN value.
- See Transient simulations.
set sca
set sca NI NB MSH MIN_{1} MAX_{1} SZ_{1} MIN_{2} MAX_{2} SZ_{2} MIN_{3} MAX_{3} SZ_{3} [ SUB_{1} SUB_{2} SUB_{3} LIM ]
Invokes a response matrix solver to obtain an improved source guess for criticality source simulations.
NI | : Number of outer iterations |
NB | : Number of source batches to collect results |
MSH | : mesh type (1 = Cartesian, 2 = Cylindrical, 6 = unevenly-spaced xyz, 8 = unevenly spaced cylindrical) |
MIN_{n} | : minimum mesh boundary (n:th coordinate) |
MAX_{n} | : maximum mesh boundary (n:th coordinate) |
SZ_{n} | : number of mesh cells (n:th coordinate) |
SUB_{n} | : number of sub-mesh cells (n:th coordinate) |
LIM | : convergence criterion (typical value 1E-12) |
Notes:
- The solver is used to accelerate fission source convergence.
- Cartesian and cylindrical mesh are defined by outer mesh boundaries and number of mesh cells.
- Unevenly-spaced meshes are defined by providing the mesh cell boundaries separately.
- The coordinate axes 1, 2 and 3 in Cartesian mesh refer to (x,y,z) and in cylindrical mesh to (r,θ,z), with θ given in degrees.
- The mesh must be defined slightly larger than the geometry (the mesh boundaries should not coincide with the geometry boundaries).
- Sub-division is used to improve the solution inside mesh cells.
- The methodology is still under development, and the input syntax may change in future updates.
set seed
set seed RNG
Sets the seed value for the random number sequence. Input values:
RNG | : seed value used for the random number sequence |
Notes:
- By default, Serpent gets the RNG seed from system time. This option overrides the value.
set shbuf
set shbuf OPT
Option to use a shared or private scoring buffer. Input values:
OPT | : use shared scoring buffer (1/yes) or not (0/no) |
Notes:
- Serpent stores scores in a temporary buffer, which in OpenMP parallel mode can be either private (each thread writes in its own buffer) or shared (all threads write in same buffer). Using private buffers increases memory usage to some extent, but it should improve scalability since no barriers need to be set to protect memory.
- Default option is private (0/no).
set sie
set sie ITER
Chooses the Stochastic Implicit Euler burnup scheme to be used for the burnup calcualtion. Input values:
ITER | : number of iterations for each burnup step |
Notes:
- The SIE burnup scheme is mainly intended for burnup calculations that develop instabilities using the default predictor corrector methods.
set spd
set spd V_{n} V_{p}
Overrides the speed of simulated particles. Input values:
V_{n} | : speed of neutrons (cm/s) |
V_{p} | : speed of photons (cm/s) |
Notes:
- This option is intended for adjusting particle speeds for better visualization in track plot animations.
- Adjusting the speed (obviously) results in incorrect estimates for all time constants.
- Exceeding the speed of light causes a fatal error in debug mode.
set sfylib
set sfylib LIB_{1} [ LIB_{2} LIB_{3} ... ]
Sets the spontaneous fission yield library file paths. Input values:
LIB_{n} | : library file paths |
Notes:
- Spontaneous fission yield libraries are standard ENDF format files containing spontaneous fission yield data.
- If the file path contains special characters it is advised to enclose it within quotes
set title
set title NAME
Sets a title for the calculation. Input values:
NAME | : title used for the calculation |
Notes:
- The title is printed in the run-time output. If the title is not set, the input file name is printed instead.
set tcut
set tcut T_{max}
Sets time cut-off for neutrons and photons. Input values:
T_{max} | : 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.
- Time cut-off is automatically set in the dynamic external source simulation mode.
- Note to developers: this should take independent values for photons and neutrons
set tpa
set tpa T_{min} T_{max} TAIL NF EVB
Sets parameters for track plot animation. Input values:
T_{min} | : starting time of track plot animation (in seconds) |
T_{max} | : end time of track plot animation (in seconds) |
TAIL | : tail length of plotted particles (in cm) |
NF | : number of frames |
EVB | : event bank size |
Notes:
- The track plot animation works with the geometry plotter by creating a number of frames that visualize the motion of particles through the geometry.
- The track plotter is invoked using the "-tracks N" command line option, where N is the number of simulated particle histories (if the set tpa option is not defined, the code plots particle tracks in a geometry plot output).
- The routine produces NF frames [input]_trck[n]_frame[m].png, where [input] is the input file name, [n] is an index corresponding to the geometry plot and [m] is the frame index. The frames can be converted into a gif animation using tools like Imagemagick.
- The plotted particles have a tail to better visualize their movement from one collision to the next. The length of this tail is given in centimeters (similar to geometry dimensions). Neutrons are plotted in magenta, photons are plotted in green.
- Storing the simulated collision points requires additional memory, determined by the event bank size. If the given size is insufficient the calculation is terminated with an error message ("Event bank is empty").
- Producing track plot animations may require adjusting the particle buffers (set nbuf and set gbuf).
- The calculation may require a lot of memory for storing the complete simulated histories in neutron-multiplying systems or when particles are split by variance reduction.
- Motion of thermal and fast neutrons cannot be captured simultaneously because of the several orders of magnitude difference in their speed. Thermal systems are best visualized by enforcing all neutrons to travel at the same speed using the set spd option.
- See also detailed description on track plotter and track plot animation.
set transnorm
set transnorm FACTOR
Mulitplies the normalization from a transient source linked with set dynsrc by a factor. Input values:
FACTOR | : factor to multiply the normalization with. |
Notes:
- The normalization in transient simulations is, by default, same as in the transient source generation calculation.
- See separate description of transient simulations.
set trc
set trc MAT FILE E_{min} [ ZAI_{1} ZAI_{2} ... ]
Defines transport correction for the calculation of transport cross section and diffusion coefficient. Input values:
MAT | : material to which the correction is applied |
FILE | : file path to correction curve data |
E_{min} | : minimum energy above which the correction is applied |
ZAI_{n} | : nuclide identifiers (ZAI) |
Notes:
- The method calculates transport cross sections by multiplying material total cross sections by a user-defined energy-dependent transport correction ratio before collapsing the energy variable. These transport cross sections are used for calculating diffusion coefficients as .
- If the correction ratios are properly defined, the transport cross section is equivalent with the in-scattering approximation.
- The out-scattering approximation of transport cross section is used for materials without defined correction ratios and energies below the given minimum energy.
- The produced homogenized cross sections are written in variables TRC_TRANSPXS and TRC_DIFFCOEF in the [input]_res.m and [input].coe output files.
- See separate description of correction factor file format.
- If nuclide identifiers are given the transport correction is applied only to the total cross sections of these nuclides in the given material. In this case the correction should also be given as the ratio of the sum of transport cross sections of these nuclides and the sum of total cross sections of these nuclides. Otherwise the correction is applied to the total cross section of the material.
- Method can not be used for divided or burnable materials for the time being.
set ufs
Turns on the uniform fission source method.
set ufs MODE ORDER N_{X} N_{Y} N_{Z}
set ufs MODE ORDER LAT N_{Z} Z_{MIN} Z_{MAX}
set ufs MODE ORDER N_{X} X_{MIN} X_{MAX} N_{Y} X_{MIN} X_{MAX} N_{Z} Z_{MIN} Z_{MAX}
Notes:
- See Serpent forum topic on UFS method.
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
- See separate description of physics options in Serpent for differences to other codes.
set usym
set usym UNI AX BC X_{0} Y_{0} θ_{0} θ_{w} [ OPT ]
Defines a universe symmetry. Input values:
UNI | : universe name |
AX | : symmetry axis (1 = x, 2 = y, 3 = z) |
BC | : boundary condition (2 = reflective, 3 = periodic) |
X_{0} | : x-coordinate of the origin |
Y_{0} | : y-coordinate of the origin |
θ_{0} | : azimuthal position where the symmetry segment starts (degrees) |
θ_{w} | : width of the segment (degrees) |
OPT | : option to use actual reflections and translations instead of coordinate transformations |
Notes:
- Universe symmetries can be used to simplify construction of complex geometries.
- Symmetries can also be used to reduce the number of burnable material zones when automated depletion zone division is applied.
- When symmetries are used, it is important to pay attention to the definition of material volumes.
- When using symmetries together with lattices, the lattice positions overlapped by the symmetry should remain empty of fuel pins for example to prevent excess memory usage during depletion calculations.
- Universe symmetries are applied by default using coordinate transformations. This means that the particle position and direction are not affected during tracking. This behavior can be overridden by setting the last option to 1.
- The values of surface current and flux detectors and values produced by for example by set adf cards might not be correct when using actual reflections and transformations.
- For more information, see examples on universe symmetries.
set U235H
set U235H U235_FISSE
Sets the U-235 fission heating value. Input values:
U235_FISSE | : fission heating value of U-235 (MeV) |
Notes:
- By default the U-235 fission heating value is set to 202.27 MeV and the values for other actinides scaled based the Q-values found in the cross section libraries.
- See also set fissh.
- See also Section 5.8 of Serpent 1 User Manual.
set xenon
set xenon OPT [ MAT_{1} MAT_{2} ... ]
Sets equilibrium xenon calculation on or off:
OPT | : option to set equilibrium xenon calculation on (1/yes) or off (0/no) |
MAT_{1} MAT_{2} ... | : optional list of materials to include in the equilibrium xenon calculation. Default is all fissile materials. |
Notes:
- The equilibrium concentration is calculated on depletion zone basis. You may want to divide your fuel material into depletion zones
- The equilibrium concentration calculation requires the material volumes to be correctly set.
- The equilibrium concentration calculation requires the fission yield and decay libraries.
- The equilibrium concentration of xenon is updated according to the batching interval set in the set pop card. Having a large batching interval means that the equilibrium concentration may take a large number of cycles to converge.
set xscalc
set xscalc MODE
Calculation mode for transmutation cross sections. Input values:
MODE | : Calculation mode (1 = direct tallies, 2 = spectrum-collapse) |
Notes:
- This parameter controls the way transmutation cross sections are calculated in burnup mode. In spectrum-collapse mode these cross sections are calculated after the transport simulation, using a fine-group spectrum collected for each material.
- The spectrum-collapse mode leads to improved performance, but also increased memory footprint per depletion zone.
- The option is automatically set when using optimization modes, and it is not recommended to be defined manually.
- Many of the old example input files set spectrum collapse method on, which overrides the behaviour in lower optimization modes.
- See also set opti.
set xsplot
set xsplot NP E_{min} E_{max}
Prints cross section data to [input]_xs0.m file. Input values:
NP | : Number of energy points to print. |
E_{min} | : Lower boundary for the energy points. |
E_{max} | : Upper boundary for the energy points. |
The cross sections will be printed out at NP logarithmically spaced points between the energy boundaries.
References
- ^ Leppänen, J. "Serpent – a Continuous-energy Monte Carlo Reactor Physics Burnup Calculation Code." User manual, June 18, 2015.
- ^ Leppänen, J. "On the use of delta-tracking and the collision flux estimator in the Serpent 2 Monte Carlo particle transport code." Ann. Nucl. Energy 105 (2017) 161-167.
- ^ Leppänen, J. "Two practical methods for unionized energy grid construction in continuous-energy Monte Carlo neutron transport calculation." Ann. Nucl. Energy 36 (2009) 878-885.
- ^ "The identification of radionuclides relevant to long-term waste management in th United Kingdom", Nirex Report no. N/105 (2004)
- ^ Leppänen, J. and Isotalo, A. "Burnup calculation methodology in the Serpent 2 Monte Carlo code." In proc. PHYSOR 2012, Knoxville, TN, Apr. 15-20, 2012.