Difference between revisions of "Input syntax manual"

From Serpent Wiki
Jump to: navigation, search
(Input options)
m (set savesrc)
Line 1: Line 1:
== Preface ==
+
Serpent has no interactive user interface. All communication between the code and the user is handled through one or several input files and various [[Description of output files|output files]].
  
This page will contain the whole input syntax of Serpent 2
+
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.
  
This is a reference to one article <ref name="Leppanen1"><strong>Leppänen, J.</strong> "Development of a new Monte Carlo reactor physics code." D.Sc. Thesis, Helsinki University of Technology, 2007. ([http://montecarlo.vtt.fi/download/P640.pdf VTT Publications 640]) </ref>
+
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 [[#input cards|below]]. Additional [[#input options|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.
  
This is another reference to the same article <ref name="Leppanen1"/>
+
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.
  
== Input cards ==
+
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<ref name="manual">Leppänen, J.
 +
''"Serpent – a Continuous-energy Monte Carlo Reactor Physics Burnup Calculation Code."'' [http://montecarlo.vtt.fi/download/Serpent_manual.pdf User manual], June 18, 2015.</ref>.
  
=== mat (material definition) ===
+
== Input cards<span id="input cards"></span> ==
  
=== surf (surface definition) ===
+
NOTE: Serpent command words are in <tt>'''boldface'''</tt> and input parameters entered by the user in <tt>''CAPITAL ITALIC''</tt>. 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 (...).
  
=== cell (cell definition) ===
+
=== branch (branch definition)<span id="branch"></span> ===
  
=== det (detector definition) ===
+
'''branch''' ''NAME'' [ '''repm''' ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ]
 +
            [ '''repu''' ''UNI<sub>1</sub>'' ''UNI<sub>2</sub>'' ]
 +
            [ '''stp''' ''MAT DENS TEMP THERM<sub>1</sub> SABL<sub>1</sub> SABH<sub>1</sub> THERM<sub>2</sub> SABL<sub>2</sub> SABH<sub>2</sub> ...'' ]
 +
            [ '''tra''' ''TGT TRANS'' ]
 +
            [ '''xenon''' ''OPT'' ]
 +
            [ '''samarium''' ''OPT'' ]
 +
            [ '''norm''' ''NSF'' ]
 +
            [ '''gcu''' ''UNI<sub>2</sub>'' ]
 +
            [ '''reptrc''' ''FILE<sub>1</sub>'' ''FILE<sub>2</sub>'' ]
 +
            [ '''var''' ''VNAME VAL'' ]
 +
Defines the variations invoked for a branch in the automated burnup sequence. Input values:
  
=== src ===
+
{|
 +
| <tt>''NAME''</tt>
 +
| : branch name
 +
|-
 +
| <tt>''MAT<sub>1</sub>''</tt>
 +
| : name of the replaced material
 +
|-
 +
| <tt>''MAT<sub>2</sub>''</tt>
 +
| : name of the replacing material
 +
|-
 +
| <tt>''UNI<sub>1</sub>''</tt>
 +
| : name of the replaced universe
 +
|-
 +
| <tt>''UNI<sub>2</sub>''</tt>
 +
| : name of the replacing universe
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : name of the material for which density and temperature are adjusted
 +
|-
 +
| <tt>''DENS''</tt>
 +
| : material density after adjustment (positive entries for atomic, negative entries for mass densities)
 +
|-
 +
| <tt>''TEMP''</tt>
 +
| : material temperature after adjustment, or -1 if no adjustment in temperature
 +
|-
 +
| <tt>''THERM<sub>n</sub>''</tt>
 +
| : ''n''th thermal scattering data associated with the material
 +
|-
 +
| <tt>''SABL<sub>n</sub>''</tt>
 +
| : name of the ''n''th S(&alpha;, &beta;) library for temperature below the given value
 +
|-
 +
| <tt>''SABH<sub>n</sub>''</tt>
 +
| : name of the ''n''th S(&alpha;, &beta;) library for temperature above the given value
 +
|-
 +
| <tt>''TGT''</tt>
 +
| : target universe, surface or cell
 +
|-
 +
| <tt>''TRANS''</tt>
 +
| : name of the applied transformation
 +
|-
 +
| <tt>''OPT''</tt>
 +
| : option for setting poison concentrations (0 = set to zero, 1 = use values from restart file)
 +
|-
 +
| <tt>''NSF''</tt>
 +
| : normalization scaling factor
 +
|-
 +
| <tt>''FILE<sub>1</sub>''</tt>
 +
| : file path of the replaced transport correction curve data
 +
|-
 +
| <tt>''FILE<sub>2</sub>''</tt>
 +
| : file path of the replacing transport correction curve data
 +
|-
 +
| <tt>''VNAME''</tt>
 +
| : variable name
 +
|-
 +
| <tt>''VAL''</tt>
 +
| : variable value
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The branch name identifies the branch in the coefficient matrix of the [[#coef (coefficient matrix definition)|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 material replacement works as if <tt>''MAT<sub>1</sub>''</tt> were created using the [[#mat_.28material_definition.29|mat]] or [[#mix_.28mixture_definition.29|mix]] card of <tt>''MAT<sub>2</sub>''</tt>.
 +
**The name of the material present in the geometry will still be <tt>''MAT<sub>1</sub>''</tt> after the replacement, but the material specification (composition, density, tmp, moder, rgb, etc.) will correspond to <tt>''MAT<sub>2</sub>''</tt>.
 +
**This means that all other input-cards that are linked to a specific material name such as [[#det_dm|det dm]], [[#src_sm|src sm]], [[#set_trc|set trc]] and [[#set_iter_nuc|set iter nuc]] can be linked to the original material (<tt>''MAT<sub>1</sub>''</tt>) and they will automatically apply to whatever material <tt>''MAT<sub>2</sub>''</tt> replaces <tt>''MAT<sub>1</sub>''</tt> for the branch calculation.
 +
*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 name of the universe present in the geometry will still be <tt>''UNI<sub>1</sub>''</tt> after the replacement, but the universe contents will correspond to <tt>''UNI<sub>2</sub>''</tt>.
 +
**This means that all other input-cards that are linked to a specific universe name such as [[#det_du|det du]] and [[#src_su|src su]] can be linked to the original universe (<tt>''UNI<sub>1</sub>''</tt>) and they will automatically apply to whatever universe <tt>''UNI<sub>2</sub>''</tt> replaces <tt>''UNI<sub>1</sub>''</tt> for the branch calculation.
 +
*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(&alpha;, &beta;) 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 (thermal scattering library definition)|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 (transformations)|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.
 +
*The '''norm''' variation can be used to change the normalization. The adjustment is made applying the parameter ''NSF'' as a multiplicative scaling factor to the given normalization.
 +
*The '''gcu''' variation can be used to replace the universe for group constant generation. This variation is limited to a single-valued GCU-list.
 +
*The '''reptrc''' variation can be used to replace a transport correction file with another.
 +
*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 (coefficient matrix definition)|coef card]].
 +
*For more information, see detailed description on the [[automated burnup sequence]].
 +
*The replaced material ''MAT<sub>1</sub>'' of '''repm''' variation is also replaced inside mixtures. This means one can not replace a material with a mixture defined with [[#mix (mixture_definition)|mix card]] containing the replaced material (for example replacing pure water defined with [[#mat (material definition)|mat card]] by a mixture of boron and water defined with a [[#mix (mixture definition)|mix card]] containing the same pure water material).
 +
*The replacing material ''MAT<sub>2</sub>'' of '''repm''' variation can not be included in geometry using other cards than the branch card with the '''repm''' variation, version 2.1.30.
 +
*The "sum" option to define the material density as the sum of the constituent nuclide densities is not supported from version 2.2.0 and on.
 +
 
 +
=== casematrix (casematrix definition)<span id="casematrix"></span> ===
 +
 
 +
'''casematrix''' ''CASE_NAME''
 +
            ''NHIS'' [ ''HIS_BR<sub>1</sub>'' ''HIS_BR<sub>2</sub>'' ... ''HIS_BR<sub>NHIS</sub>'' ]
 +
            ''NBU''  [ ''BU<sub>1</sub>'' ''BU<sub>2</sub>'' ... ''BU<sub>NBU</sub>'' ]
 +
            ''NBR<sub>1</sub>'' [ ''BR<sub>1,1</sub>'' ''BR<sub>1,2</sub>'' ... ''BR<sub>1,NBR<sub>1</sub></sub>'' ]
 +
            ''NBR<sub>2</sub>'' [ ''BR<sub>2,1</sub>'' ''BR<sub>2,2</sub>'' ... ''BR<sub>1,NBR<sub>2</sub></sub>'' ]
 +
            ...
 +
 
 +
Defines the casematrix for the automated burnup sequence. Input values:
 +
 
 +
{|
 +
| <tt>''CASE_NAME''</tt>
 +
| : name of the casematrix
 +
|-
 +
| <tt>''NHIS''</tt>
 +
| : number of history variations
 +
|-
 +
| <tt>''HIS_BR<sub>k</sub>''</tt>
 +
| : name of the ''k''th history variation branch
 +
|-
 +
| <tt>''NBU''</tt>
 +
| : number of burnup points
 +
|-
 +
| <tt>''BU<sub>n</sub>''</tt>
 +
| : burnup steps at which the momentary variation branches are invoked
 +
|-
 +
| <tt>''NBR<sub>m</sub>''</tt>
 +
| : number branches in the ''m''th dimension of the burnup matrix
 +
|-
 +
| <tt>''BR<sub>m,i</sub>''</tt>
 +
| : name of the ''i''th branch in the ''m''th dimension
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The casematrix card performs multiple depletions with <tt>''NHIS''</tt> (different) historical variations and performs restarts similar as the [[#coef|coef]] input card.
 +
*The casematrix card creates a multi-dimensional coefficient matrix (of size <tt>''NBR<sub>1</sub>''</tt> &times; <tt>''NBR<sub>2</sub>''</tt> &times; <tt>''NBR<sub>3</sub>''</tt> &times; ... ). 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. This is repeated for each different depletion history.
 +
*Positive values in the burnup vector are interpreted as (MWd/kgU), negative values are interpreted as time steps in days.
 +
*The casematrix card is used together with the [[#branch (branch definition)|branch card]] and [[Installing_and_running_Serpent#Running_casematrix_calculations|-casematrix]] running option.
 +
*Multiple casematrix cards can be given in a single input file.
 +
*For more information, see detailed description on [[automated burnup sequence]].
 +
 
 +
=== cell (cell definition)<span id="cell"></span> ===
 +
 
 +
 
 +
'''cell''' ''NAME UNI<sub>0</sub> MAT'' [ ''SURF<sub>1</sub>'' ''SURF<sub>2</sub>'' ... ]
 +
 
 +
Defines a material cell. Input values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : cell name
 +
|-
 +
| <tt>''UNI<sub>0</sub>''</tt>
 +
| : universe where the cell belongs to
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : material that fills the cell
 +
|-
 +
| <tt>''SURF<sub>n</sub>''</tt>
 +
| : surface list
 +
|}
 +
 
 +
'''cell''' ''NAME UNI<sub>0</sub>'' '''fill''' ''UNI<sub>1</sub>'' [ ''SURF<sub>1</sub>'' ''SURF<sub>2</sub>'' ... ]
 +
 
 +
Defines a filled cell. Input values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : cell name
 +
|-
 +
| <tt>''UNI<sub>0</sub>''</tt>
 +
| : universe where the cell belongs to
 +
|-
 +
| <tt>''UNI<sub>1</sub>''</tt>
 +
| : universe that fills the cell
 +
|-
 +
| <tt>''SURF<sub>n</sub>''</tt>
 +
| : surface list
 +
|}
 +
 
 +
'''cell''' ''NAME UNI<sub>0</sub>'' '''outside''' [ ''SURF<sub>1</sub>'' ''SURF<sub>2</sub>'' ... ]
 +
 
 +
Defines an outside cell. Input values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : cell name
 +
|-
 +
| <tt>''UNI<sub>0</sub>''</tt>
 +
| : universe where the cell belongs to
 +
|-
 +
| <tt>''SURF<sub>n</sub>''</tt>
 +
| : surface list
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*There are three types of cells: material cells, filled cells and outside cells. Filled cells are identified by providing the key word <tt>'''fill'''</tt>, 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 <tt>'''outside'''</tt>.
 +
*Cells defined without surfaces are treated as infinite, from version 2.1.32 on.
 +
*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|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, [[#set bc|boundary conditions]] are applied. It is important that the geometry model is non-re-entrant (convex) when vacuum boundary conditions are used. Delta-tracking might miss the boundary conditions in a re-entrant (concave) outer surface.
 +
*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 [[#surf (surface definition)|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 <tt>''UNI<sub>0</sub>''</tt> 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)<span id="coef"></span> ===
 +
 
 +
'''coef''' ''NBU'' [ ''BU<sub>1</sub>'' ''BU<sub>2</sub>'' ... ]
 +
          [ ''NBR<sub>1</sub>'' ''BR<sub>1,1</sub>'' ''BR<sub>1,2</sub>'' ... ]
 +
          [ ''NBR<sub>2</sub>'' ''BR<sub>2,1</sub>'' ''BR<sub>2,2</sub>'' ... ]
 +
          ...
 +
Defines the coefficient matrix for the automated burnup sequence. Input values:
 +
 
 +
{|
 +
| <tt>''NBU''</tt>
 +
| : number of burnup points
 +
|-
 +
| <tt>''BU<sub>n</sub>''</tt>
 +
| : burnup steps at which the branches are invoked
 +
|-
 +
| <tt>''NBR<sub>m</sub>''</tt>
 +
| : number branches in the ''m''th dimension of the burnup matrix
 +
|-
 +
| <tt>''BR<sub>m,i</sub>''</tt>
 +
| : name of the ''i''th branch in the ''m''th dimension
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The coef card creates a multi-dimensional coefficient matrix (of size <tt>''NBR<sub>1</sub>''</tt> &times; <tt>''NBR<sub>2</sub>''</tt> &times; <tt>''NBR<sub>3</sub>''</tt> &times; ... ). 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 (branch definition)|branch]] card.
 +
*For multiple historical variations or historical conditions defined using a [[#branch (branch definition)|branch]] card, see the [[#casematrix (casematrix definition)|casematrix]] card.
 +
*For more information, see detailed description on [[automated burnup sequence]].
 +
 
 +
=== datamesh (general data mesh definition)<span id="datamesh"></span> ===
 +
 
 +
The <tt>'''datamesh'''</tt> card allows the user to define various meshes that can be used for spatial discretization e.g. in [[#det_dmesh|detectors]]. 
 +
 
 +
'''datamesh''' ''NAME'' '''1''' ''USE<sub>LC</sub>'' ''N<sub>X</sub>'' ''X<sub>MIN</sub>'' ''X<sub>MAX</sub>'' ''N<sub>Y</sub>'' ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>'' ''N<sub>Z</sub>'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>''
 +
 
 +
Defines a regular Cartesian mesh that can be linked to detectors, interfaces etc.
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : mesh name
 +
|-
 +
| <tt>''USE<sub>LC</sub>''</tt>
 +
| : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of cells in the x direction
 +
|-
 +
| <tt>''X<sub>MIN</sub>''</tt>
 +
| : mesh lower x boundary
 +
|-
 +
| <tt>''X<sub>MAX</sub>''</tt>
 +
| : mesh higher x boundary
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of cells in the y direction
 +
|-
 +
| <tt>''Y<sub>MIN</sub>''</tt>
 +
| : mesh lower y boundary
 +
|-
 +
| <tt>''Y<sub>MAX</sub>''</tt>
 +
| : mesh higher y boundary
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of cells in the z direction
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : mesh lower z boundary
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : mesh higher z boundary
 +
|}
 +
 
 +
'''datamesh''' ''NAME'' '''2''' ''USE<sub>LC</sub>'' ''N<sub>R</sub>'' ''R<sub>MIN</sub>'' ''R<sub>MAX</sub>'' ''N<sub>PHI</sub>''
 +
 
 +
Defines a regular 2D cylindrical mesh that can be linked to detectors, interfaces etc.
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : mesh name
 +
|-
 +
| <tt>''USE<sub>LC</sub>''</tt>
 +
| : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search
 +
|-
 +
| <tt>''N<sub>R</sub>''</tt>
 +
| : number of cells in the radial direction
 +
|-
 +
| <tt>''R<sub>MIN</sub>''</tt>
 +
| : mesh inner radial boundary
 +
|-
 +
| <tt>''R<sub>MAX</sub>''</tt>
 +
| : mesh outer radial boundary
 +
|-
 +
| <tt>''N<sub>PHI</sub>''</tt>
 +
| : number of cells in the polar angle direction
 +
|}
 +
 
 +
[[File:Hex lattice x index.png|frame|X-type hexagonal mesh horizontal indexing example for N<sub>X</sub> = N<sub>Y</sub> = 3.]]
 +
'''datamesh''' ''NAME'' '''4''' ''USE<sub>LC</sub>'' ''X<sub>0</sub>'' ''Y<sub>0</sub>'' ''PITCH'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ''N<sub>X</sub>'' ''N<sub>Y</sub>'' ''N<sub>Z</sub>''
 +
 
 +
Defines a regular x-type hexagonal mesh that can be linked to detectors, interfaces etc.
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : mesh name
 +
|-
 +
| <tt>''USE<sub>LC</sub>''</tt>
 +
| : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| : mesh horizontal origin x-coordinate
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| : mesh horizontal origin y-coordinate
 +
|-
 +
| <tt>''PITCH''</tt>
 +
| : mesh horizontal pitch (equal to cell flat-to-flat width)
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : mesh lower z boundary
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : mesh higher z boundary
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of cells in the x direction
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of cells in the y direction
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of cells in the z direction
 +
|}
 +
 
 +
[[File:Hex lattice y index.png|frame|Y-type hexagonal mesh horizontal indexing example for N<sub>X</sub> = N<sub>Y</sub> = 3.]]
 +
'''datamesh''' ''NAME'' '''5''' ''USE<sub>LC</sub>'' ''X<sub>0</sub>'' ''Y<sub>0</sub>'' ''PITCH'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ''N<sub>X</sub>'' ''N<sub>Y</sub>'' ''N<sub>Z</sub>''
 +
 
 +
Defines a regular y-type hexagonal mesh that can be linked to detectors, interfaces etc.
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : mesh name
 +
|-
 +
| <tt>''USE<sub>LC</sub>''</tt>
 +
| : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| : mesh horizontal origin x-coordinate
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| : mesh horizontal origin y-coordinate
 +
|-
 +
| <tt>''PITCH''</tt>
 +
| : mesh horizontal pitch (equal to cell flat-to-flat width)
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : mesh lower z boundary
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : mesh higher z boundary
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of cells in the x direction
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of cells in the y direction
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of cells in the z direction
 +
|}
 +
 
 +
'''datamesh''' ''NAME'' '''6''' ''USE<sub>LC</sub>'' ''N<sub>X</sub>'' ''N<sub>Y</sub>'' ''N<sub>Z</sub>''  ''X<sub>1</sub>'' ... ''X<sub>N<sub>X</sub>+1</sub>''  ''Y<sub>1</sub>'' ... ''Y<sub>N<sub>Y</sub>+1</sub>''  ''Z<sub>1</sub>'' ... ''Z<sub>N<sub>Z</sub>+1</sub>''
 +
 
 +
Defines an irregular Cartesian mesh that can be linked to detectors, interfaces etc.
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : mesh name
 +
|-
 +
| <tt>''USE<sub>LC</sub>''</tt>
 +
| : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of cells in the x direction
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of cells in the y direction
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of cells in the z direction
 +
|-
 +
| <tt>''X<sub>i</sub>''</tt>
 +
| : <tt>''N<sub>X</sub>'' + 1</tt> mesh boundaries in the x direction
 +
|-
 +
| <tt>''Y<sub>i</sub>''</tt>
 +
| : <tt>''N<sub>Y</sub>'' + 1</tt> mesh boundaries in the y direction
 +
|-
 +
| <tt>''Z<sub>i</sub>''</tt>
 +
| : <tt>''N<sub>Z</sub>'' + 1</tt> mesh boundaries in the z direction
 +
|}
 +
 
 +
'''datamesh''' ''NAME'' '''8''' ''USE<sub>LC</sub>'' ''N<sub>R</sub>'' ''N<sub>PHI</sub>''  ''R<sub>1</sub>'' ... ''R<sub>N<sub>R</sub>+1</sub>''
 +
 
 +
Defines a radially irregular 2D cylindrical mesh that can be linked to detectors, interfaces etc.
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : mesh name
 +
|-
 +
| <tt>''USE<sub>LC</sub>''</tt>
 +
| : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search
 +
|-
 +
| <tt>''N<sub>R</sub>''</tt>
 +
| : number of cells in the radial direction
 +
|-
 +
| <tt>''N<sub>PHI</sub>''</tt>
 +
| : number of cells in the polar angle direction
 +
|-
 +
| <tt>''R<sub>i</sub>''</tt>
 +
| : <tt>''N<sub>R</sub>'' + 1</tt> mesh boundaries in the r direction
 +
|}
 +
 
 +
'''datamesh''' ''NAME'' '''9''' ''N<sub>LEVEL</sub>''  ''MESH<sub>1</sub>'' ... ''MESH<sub>N<sub>LEVEL</sub></sub>''
 +
 
 +
Defines a regular nested mesh that can be linked to detectors, interfaces etc.
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : mesh name
 +
|-
 +
| <tt>''USE<sub>LC</sub>''</tt>
 +
| : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search
 +
|-
 +
| <tt>''N<sub>LEVEL</sub>''</tt>
 +
| : number of nested levels in this mesh
 +
|-
 +
| <tt>''MESH<sub>i</sub>''</tt>
 +
| : sub mesh to use at level ''i''
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*When Serpent makes the mesh search for a specific collision point it will save the collision mesh cell temporarily so that the cell search is conducted at most once even when scoring multiple estimators using the same mesh.
 +
 
 +
=== dep (depletion history)<span id="dep"></span> ===
 +
 
 +
'''dep''' ''STYPE'' [ ''STEP<sub>1</sub> STEP<sub>2</sub> ...'' ]
 +
 
 +
Defines depletion history with steps and activates depletion calculation mode. Input values:
 +
 
 +
{|
 +
| <tt>''STYPE''</tt>
 +
| : step type
 +
|-
 +
| <tt>''STEP<sub>n</sub>''</tt>
 +
| : depletion step list
 +
|}
 +
 
 +
The possible step types are:
 +
{| class="wikitable" style="text-align: left;"
 +
! Type
 +
! Description
 +
! Quantity
 +
! Unit
 +
|-
 +
| <tt>bustep</tt>
 +
| Depletion step
 +
| Burnup interval
 +
| MWd/kgHM
 +
|-
 +
| <tt>butot</tt>
 +
| Depletion step
 +
| Cumulative burnup
 +
| MWd/kgHM
 +
|-
 +
| <tt>daystep</tt>
 +
| Depletion step
 +
| Time interval
 +
| d
 +
|-
 +
| <tt>daytot</tt>
 +
| Depletion step
 +
| Cumulative time
 +
| d
 +
|-
 +
| <tt>decstep</tt>
 +
| Decay step
 +
| Time interval
 +
| d
 +
|-
 +
| <tt>dectot</tt>
 +
| Decay step
 +
| Cumulative time
 +
| d
 +
|-
 +
| <tt>actstep</tt>
 +
| Activation step
 +
| Time interval
 +
| d
 +
|-
 +
| <tt>acttot</tt>
 +
| Activation step
 +
| Cumulative time
 +
| d
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Transport cycle is omitted with the <tt>decstep</tt> and <tt>dectot</tt> options.
 +
*Transport cycle is run only once with the <tt>actstep</tt> and <tt>acttot</tt> options.
 +
 
 +
'''dep''' '''pro''' ''REP_NAME'' ''STYPE'' [ ''STEP<sub>1</sub> STEP<sub>2</sub> ...'' ]
 +
 
 +
Links a reprocessor to the depletion calculation. Input values:
 +
 
 +
{|
 +
| <tt>''REP_NAME''</tt>
 +
| : reprocessor name
 +
|-
 +
| <tt>''STYPE''</tt>
 +
| : step type
 +
|-
 +
| <tt>''STEP<sub>n</sub>''</tt>
 +
| : depletion step list
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The reprocessing system or reprocessor controller is defined using the [[#rep|rep card]].
 +
 
 +
'''dep''' '''bra''' ''PTR_BRANCH''
 +
 
 +
=== det (detector definition)<span id="det"></span> ===
 +
 
 +
'''det''' ''NAME'' [ ''PART'' ]
 +
          [ [[#det_dr|'''dr''']] ''MT'' ''MAT'' ]
 +
          [ [[#det_dv|'''dv''']] ''VOL'' ]
 +
          [ [[#det_dc|'''dc''']] ''CELL'' ]
 +
          [ [[#det_du|'''du''']] ''UNI'' ]
 +
          [ [[#det_dm|'''dm''']] ''MAT'' ]
 +
          [ [[#det_dl|'''dl''']] ''LAT'' ]
 +
          [ [[#det_dx|'''dx''']] ''X<sub>MIN</sub>'' ''X<sub>MAX</sub>'' ''N<sub>X</sub>'' ]
 +
          [ [[#det_dy|'''dy''']] ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>'' ''N<sub>Y</sub>'' ]
 +
          [ [[#det_dz|'''dz''']] ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ''N<sub>Z</sub>'' ]
 +
          [ [[#det_dn|'''dn''']] ''TYPE'' ''MIN<sub>1</sub>'' ''MAX<sub>1</sub>'' ''N<sub>1</sub>'' ''MIN<sub>2</sub>'' ''MAX<sub>2</sub>'' ''N<sub>2</sub>'' ''MIN<sub>3</sub>'' ''MAX<sub>3</sub>'' ''N<sub>3</sub>'' ] <small>1/2</small> [ [[#det_dn|'''dn''']] ''TYPE'' ''N<sub>1</sub>'' ''N<sub>2</sub>'' ''N<sub>3</sub>'' ''LIM<sub>11</sub>''...''LIM<sub>1N+1</sub>'' ''LIM<sub>21</sub>''...''LIM<sub>2N+1</sub>'' ''LIM<sub>31</sub>''...''LIM<sub>3N+1</sub>'' ] <small>3/4</small>
 +
          [ [[#det_dh|'''dh''']] ''TYPE'' ''X<sub>0</sub>'' ''Y<sub>0</sub>'' ''PITCH'' ''N<sub>1</sub>'' ''N<sub>2</sub>'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ''N<sub>Z</sub>'' ]
 +
          [ [[#det_dumsh|'''dumsh''']] ''UNI'' ''N<sub>C</sub>'' ''CELL<sub>0</sub>'' ''BIN<sub>0</sub>'' ''CELL<sub>1</sub>'' ''BIN<sub>1</sub>'' ... ]
 +
          [ [[#det_de|'''de''']] ''EGRID'' ]
 +
          [ [[#det_di|'''di''']] ''TBIN'' ]
 +
          [ [[#det_ds|'''ds''']] ''SURF'' ''DIR'' ]
 +
          [ [[#det_dir|'''dir''']] ''COS<sub>X</sub>'' ''COS<sub>Y</sub>'' ''COS<sub>Z</sub>'' ]
 +
          [ [[#det_dtl|'''dtl''']] ''SURF'' ]
 +
          [ [[#det_df|'''df''']] ''FILE'' ''FRACTION'' ]
 +
          [ [[#det_dt|'''dt''']] ''TYPE'' ''PARAM'' ]
 +
          [ [[#det_dhis|'''dhis''']] ''OPT'' ]
 +
          [ [[#det_dfl|'''dfl''']] ''FLAG'' ''OPT'' ]
 +
          [ [[#det_da|'''da''']] ''MAT'' ''FLX'' ]
 +
          [ [[#det_dfet|'''dfet''']] ''TYPE'' ''PARAMS'' ]
 +
          [ [[#det_dphb|'''dphb''']] ''PHB'' ]
 +
          [ [[#det_dmesh|'''dmesh''']] ''MESH'' ]
 +
Detector definition. The first parameter:
 +
 +
{|
 +
| <tt>''PART''</tt>
 +
| : 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 (<tt>'''dr'''</tt>):<span id="det_dr"></span>
 +
 
 +
{|
 +
| <tt>''MT''</tt>
 +
| : response number
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : material name or "<tt>void</tt>" if the material at the collision point is used
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 macroscopic reaction numbers|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 [[#set_bralib|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 <tt>'''dr'''</tt> entry must not be confused with the material in the <tt>'''dm'''</tt> 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 (<tt>'''dv'''</tt>):<span id="det_dv"></span>
 +
 
 +
{|
 +
| <tt>''VOL''</tt>
 +
| : volume in cm<sup>3</sup> (3D geometry) or cross-sectional area in cm<sup>2</sup> (2D geometry)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The results are divided by detector volume, which is by default set to 1.
 +
 
 +
 
 +
Detector cell (<tt>'''dc'''</tt>):<span id="det_dc"></span>
 +
 
 +
{|
 +
| <tt>''CELL''</tt>
 +
| : cell name where the detector is scored
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*If multiple detector cells are defined, the results are correspondingly divided into multiple bins.
 +
 
 +
 
 +
Detector universe (<tt>'''du'''</tt>):<span id="det_du"></span>
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name where the detector is scored
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*If multiple detector universes are defined, the results are correspondingly divided into multiple bins.
 +
 
 +
 
 +
Detector material (<tt>'''dm'''</tt>):<span id="det_dm"></span>
 +
 
 +
{|
 +
| <tt>''MAT''</tt>
 +
| : material name where the detector is scored
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>'''dr'''</tt> entry.
 +
 
 +
 
 +
Detector lattice (<tt>'''dl'''</tt>):<span id="det_dl"></span>
 +
 
 +
{|
 +
| <tt>''LAT''</tt>
 +
| : lattice name where the detector is scored
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The lattice detector automatically divides the results into multiple bins corresponding to the lattice cells.
 +
 
 +
 
 +
Cartesian mesh detector (<tt>'''dx'''</tt>, <tt>'''dy'''</tt> and <tt>'''dz'''</tt>):<span id="det_dx"></span><span id="det_dy"></span><span id="det_dz"></span>
 +
 
 +
{|
 +
| <tt>''X<sub>MIN</sub>''</tt>
 +
| : minimum x-coordinate of the detector mesh
 +
|-
 +
| <tt>''X<sub>MAX</sub>''</tt>
 +
| : maximum x-coordinate of the detector mesh
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of x-bins
 +
|-
 +
| <tt>''Y<sub>MIN</sub>''</tt>
 +
| : minimum y-coordinate of the detector mesh
 +
|-
 +
| <tt>''Y<sub>MAX</sub>''</tt>
 +
| : maximum y-coordinate of the detector mesh
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of y-bins
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : minimum z-coordinate of the detector mesh
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : maximum z-coordinate of the detector mesh
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of z-bins
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 and unevenly-spaced mesh detector (<tt>'''dn'''</tt>):<span id="det_dn"></span>
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : Type of curvilinear mesh - 1 = cylindrical (dimensions ''r'', ''&theta;'', ''z''), 2 = spherical (dimensions ''r'', ''&theta;'', ''&phi;''), 3 = unevenly-spaced orthogonal (dimensions ''x'', ''y'', ''z''), 4 = unevenly-spaced cylindrical (dimensions ''r'', ''&theta;'', ''z'')
 +
|-
 +
| <tt>''MIN<sub>n</sub>''</tt>
 +
| : Minimum value of coordinate ''n'' for the mesh division (lengths in cm, angles in degrees).
 +
|-
 +
| <tt>''MAX<sub>n</sub>''</tt>
 +
| : Maximum value of coordinate ''n'' for the mesh division (lengths in cm, angles in degrees).
 +
|-
 +
| <tt>''N<sub>n</sub>''</tt>
 +
| : Number of bins in the ''n'' coordinate direction (the radial division will be equal ''r'', not equal volume, in evenly-spaced types 1/2).
 +
|-
 +
| <tt>''LIM<sub>nm</sub>''</tt>
 +
| : Mesh boundary ''m'' in the ''n'' coordinate direction (lengths in cm, angles in degrees).
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>''TYPE''</tt> parameter is given as a negative value (e.g. -1) the lowest level coordinates are used instead.
 +
*The syntax for curvilinear (evenly-spaced) mesh detectors (1/-1, 2/-2) differs from the unevenly-spaced mesh ones (3/-3, 4/-4).
 +
 
 +
 
 +
Hexagonal mesh detector (<tt>'''dh'''</tt>):<span id="det_dh"></span>
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : Type of hexagonal mesh (2 = flat face perpendicular to x-axis, 3 = flat face perpendicular to y-axis)
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>, <tt>''Y<sub>0</sub>''</tt>
 +
| : coordinates of mesh center
 +
|-
 +
| <tt>''PITCH''</tt>
 +
| : mesh pitch
 +
|-
 +
| <tt>''N<sub>1</sub>''</tt>, <tt>''N<sub>1</sub>''</tt>
 +
| : mesh size
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : minimum z-coordinate of the detector mesh
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : maximum z-coordinate of the detector mesh
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of z-bins
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*All parameters must be provided, even for a two-dimensional hexagonal meshes.
 +
 
 +
 
 +
Unstructured mesh detector (<tt>'''dumsh'''</tt>):<span id="det_dumsh"></span>
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe of the unstructured mesh based geometry
 +
|-
 +
| <tt>''N<sub>C</sub>''</tt>
 +
| : number of mesh cell bins included in the output
 +
|-
 +
| <tt>''CELL<sub>n</sub>''</tt>, <tt>''BIN<sub>n</sub>''</tt>
 +
| : cell-bin index pairs defining the mapping
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The polyhedral cells in [[Unstructured mesh-based geometry type|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 (<tt>'''de'''</tt>):<span id="det_de"></span>
 +
 
 +
{|
 +
| <tt>''EGRID''</tt>
 +
| : energy grid name
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The results are divided into multiple energy bins based on the grid structure.
 +
*Energy grid structures are defined using the [[#ene (energy grid definition)|ene card]]. [[Pre-defined energy group structures]] can not be directly used in detectors, they have to be redefined using for example the fourth type of ene card.
 +
*The energy boundaries of photon photon pulse-height and photon heat analog detectors are solely defined by the associated energy grid and not limited by the unionized energy grid defining the model. That means that analog detectors might collect scores below the physics model minimum energy bound, without a cut-off, if the energy grid sets it.
 +
 
 +
 
 +
Detector time binning (<tt>'''di'''</tt>):<span id="det_di"></span>
 +
 
 +
{|
 +
| <tt>''TBIN''</tt>
 +
| : time bin structure name
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The results are divided into multiple time bins.
 +
*Time bin structures are defined using the [[#tme (time bin structure definition)|tme card]].
 +
*Time bin division may require adjusting the average collision distance ([[#set cfe|set cfe]] option) to achieve sufficient statistical accuracy.
 +
 
 +
 
 +
Surface current / flux detector (<tt>'''ds'''</tt>):<span id="det_ds"></span>
 +
 
 +
{|
 +
| <tt>''SURF''</tt>
 +
| : surface name
 +
|-
 +
| <tt>''DIR''</tt>
 +
| : direction with respect to surface normal (-2 = flux, -1 = inward current, 1 = outward current, 0 = net current)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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, and with flux detectors, the material name at the collision point has to be specified (<tt>"void"</tt> is not allowed).
 +
*The use of single-bin mesh and cell detectors is allowed to define the integration surface of the detector, from version 2.1.32 on.
 +
*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 (<tt>'''dir'''</tt>):<span id="det_dir"></span>
 +
 
 +
{|
 +
| <tt>''COS<sub>Y</sub>''</tt>
 +
| : component of the direction vector parallel to x-axis
 +
|-
 +
| <tt>''COS<sub>Y</sub>''</tt>
 +
| : component of the direction vector parallel to y-axis
 +
|-
 +
| <tt>''COS<sub>Z</sub>''</tt>
 +
| : component of the direction vector parallel to z-axis
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''dtl'''</tt>):<span id="det_dtl"></span>
 +
 
 +
{|
 +
| <tt>''SURF''</tt>
 +
| : surface inside which the detector is scored
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''df'''</tt>):<span id="det_df"></span>
 +
 
 +
{|
 +
| <tt>''FILE''</tt>
 +
| : file name where the scored points are written
 +
|-
 +
| <tt>''FRAC''</tt>
 +
| : fraction of recorded scores and ascii/binary option (positive value = ascii, negative value = binary)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>'''sf'''</tt> entry of [[#src_sf|source cards]].
 +
 
 +
 
 +
Special types (<tt>'''dt'''</tt>):<span id="det_dt"></span>
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : special type (see below)
 +
|-
 +
| <tt>''PARAM''</tt>
 +
| : 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
 +
|-
 +
| -5
 +
| = importance weighting
 +
|-
 +
| -6
 +
| = sum over number of scores
 +
|-
 +
| 2
 +
| = multiply result with another detector defined by <tt>''PARAM''</tt>
 +
|-
 +
| 3
 +
| = divide result with another detector defined by <tt>''PARAM''</tt>
 +
|-
 +
| 4
 +
| = multiply response function by (local) temperature
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>'''dc'''</tt> and <tt>'''dm'''</tt> 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 (<tt>'''dhis'''</tt>):<span id="det_dhis"></span>
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to collect histories (0 = no, 1 = yes)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*When this option is set, the batch-wise results are printed in the history output file, <tt>[input]_stats.m</tt>.
 +
*''Note to developers: statistical tests should be documented''
 +
 
 +
 
 +
Detector flagging (<tt>'''dfl'''</tt>):<span id="det_dfl"></span>
 +
 
 +
{|
 +
| <tt>''FLAG''</tt>
 +
| : flag number (between 1 and 64)
 +
|-
 +
| <tt>''OPT''</tt>
 +
| : flagging option (0 = reset if scored, 1 = set if scored, -2/2 score if set -3/3 score if not set)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''da'''</tt>):<span id="det_da"></span>
 +
 
 +
{|
 +
| <tt>''MAT''</tt>
 +
| : activated material
 +
|-
 +
| <tt>''FLX''</tt>
 +
| : flux applied to activation
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>''FLX''</tt> 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 <tt>'''dv'''</tt> 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 (<tt>'''dfet'''</tt>):<span id="det_dfet"></span>
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : functional expansion type
 +
|-
 +
| <tt>''PARAMS''</tt>
 +
| : other options, specific to each functional expansion type <tt>''TYPE''</tt>
 +
|}
 +
 
 +
{| class="wikitable" style="text-align: left;"
 +
! Geometry
 +
! <tt>PARAMS</tt>
 +
! <tt>TYPE</tt>
 +
! Description
 +
! Functional Series
 +
! Indexing
 +
|-
 +
| rowspan="1"|Cartesian
 +
| rowspan="1"|<tt>''X<sub>MIN</sub>'' ''X<sub>MAX</sub>'' ''X<sub>ORDER</sub>'' ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>'' ''Y<sub>ORDER</sub>'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ''Z<sub>ORDER</sub>''</tt>
 +
| <tt>1</tt>
 +
| Legendre only
 +
| <math>\psi(\xi)_n = P_i(\xi_x) P_j(\xi_y) P_k(\xi_z) </math>
 +
| <math>n = k + J * \left( i * I + j\right)</math>
 +
|-
 +
| rowspan="1"|Cylindrical
 +
| rowspan="1"|<tt> ''R<sub>MAX</sub>'' ''R<sub>ORDER</sub>'' ''H<sub>MIN</sub>'' ''H<sub>MAX</sub>'' ''H<sub>ORDER</sub>'' ''H<sub>ORIENTATION</sub>''</tt>
 +
| <tt>2</tt>
 +
| ..
 +
| ..
 +
| ..
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*"-1" can be supplied as an <tt>''ORDER''</tt> <tt>PARAM</tt> 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 <math>\psi(\xi)_n = P_i(\xi_x) P_j(\xi_y) P_k(\xi_z) </math> with <math>n</math> as a linear indexer of <math>\{i,j,k\}</math>
 +
***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 <math>a_n</math> already have all contributions from the orthonormalization constant pre-included, i.e. <math>c_n</math> from <math>\frac{1}{c_n} = \lVert \psi_n \rVert^2 = \int_\Gamma \psi_n^2 \omega_n </math>
 +
***Thus, an FET can be simply reconstructed/sampled from the standard functional series as: <math>F(\xi) = \sum a_n \psi_n(\xi) \omega_n(\xi)</math>
 +
*From version 2.2.0  and on, FET-based detectors follow the standard normalization set in the calculation. The volume standards for detectors are set as default value for FET-based detectors, meaning detectors are not divided by the physical volume (allowing the use of volume detector '''dv''').
 +
*In version 2.2.0, the relative error evaluation associated with FET-based detectors has been revisited.
 +
 
 +
Detector pulse-height energy broadening (<tt>'''dphb'''</tt>):<span id="det_dphb"></span>
 +
 
 +
{|
 +
| <tt>''PHB''</tt>
 +
| : user-defined (Gaussian) energy broadening for pulse-height detector function name
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* User-defined Gaussian energy broadening functions for pulse height detector are defined using the [[#phb|phb card]].
 +
 
 +
 
 +
Detector spatial integration domain and binning based on a generic data mesh (<tt>'''dmesh'''</tt>):<span id="det_dmesh"></span>
 +
 
 +
{|
 +
| <tt>''MESH''</tt>
 +
| : name of the [[#datamesh|datamesh]] to use for defining the spatial integration domain and binning for the detector scores
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* Output mesh index will be flattened (one dimensional).
 +
 
 +
=== div (divisor definition)<span id="div"></span> ===
 +
 
 +
'''div''' ''MAT'' [ '''sep''' ''LVL'' ]
 +
        [ '''subx''' ''N<sub>X</sub>'' ''X<sub>MIN</sub>'' ''X<sub>MAX</sub>'' ] <small>equal volume</small> [ '''subr''' ''-N<sub>X</sub>'' ''X<sub>1</sub>'' ''R<sub>2</sub>'' ... ''X<sub>N+1</sub>'' ] <small>manually spaced limits</small>
 +
        [ '''suby''' ''N<sub>Y</sub>'' ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>'' ] <small>equal volume</small> [ '''suby''' ''-N<sub>Y</sub>'' ''Y<sub>1</sub>'' ''Y<sub>2</sub>'' ... ''Y<sub>N+1</sub>'' ] <small>manually spaced limits</small>
 +
        [ '''subz''' ''N<sub>Z</sub>'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ] <small>equal volume</small> [ '''subz''' ''-N<sub>Z</sub>'' ''Z<sub>1</sub>'' ''Z<sub>2</sub>'' ... ''Z<sub>N+1</sub>'' ] <small>manually spaced limits</small>
 +
        [ '''subr''' ''N<sub>R</sub>'' ''R<sub>MIN</sub>'' ''R<sub>MAX</sub>'' ] <small>equal volume</small> [ '''subr''' ''-N<sub>R</sub>'' ''R<sub>1</sub>'' ''R<sub>2</sub>'' ... ''R<sub>N+1</sub>'' ] <small>manually spaced limits</small>
 +
        [ '''subs''' ''N<sub>S</sub>'' ''S<sub>0</sub>'' ]      <small>equal volume</small> [ '''subs''' ''-N<sub>S</sub>'' ''S<sub>1</sub>'' ''S<sub>2</sub>'' ... ''S<sub>N+1</sub>'' ] <small>manually spaced limits</small>
 +
        [ '''lims''' ''FLAG'' ]
 +
Divides a material into a number of sub-zones. Input values:
 +
 
 +
{|
 +
| <tt>''MAT''</tt>
 +
| : name of the divided material
 +
|-
 +
| <tt>''LVL''</tt>
 +
| : geometry level at which the cell-wise division takes place (0 = no division, 1 = last level, 2 = 2nd last level, etc.)
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of x-zones
 +
|-
 +
| <tt>''X<sub>MIN</sub>''</tt>
 +
| : minimum x-coordinate (cm)
 +
|-
 +
| <tt>''X<sub>MAX</sub>''</tt>
 +
| : maximum x-coordinate (cm)
 +
|-
 +
| <tt>''X<sub>n</sub>''</tt>
 +
| : x-coordinate boundaries (cm)
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of y-zones
 +
|-
 +
| <tt>''Y<sub>MIN</sub>''</tt>
 +
| : minimum y-coordinate (cm)
 +
|-
 +
| <tt>''Y<sub>MAX</sub>''</tt>
 +
| : maximum y-coordinate (cm)
 +
|-
 +
| <tt>''Y<sub>n</sub>''</tt>
 +
| : y-coordinate boundaries (cm)
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of z-zones
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : minimum z-coordinate (cm)
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : maximum z-coordinate (cm)
 +
|-
 +
| <tt>''Z<sub>n</sub>''</tt>
 +
| : z-coordinate boundaries (cm)
 +
|-
 +
| <tt>''N<sub>R</sub>''</tt>
 +
| : number of radial zones
 +
|-
 +
| <tt>''R<sub>MIN</sub>''</tt>
 +
| : minimum radial coordinate (cm)
 +
|-
 +
| <tt>''R<sub>MAX</sub>''</tt>
 +
| : maximum radial coordinate (cm)
 +
|-
 +
| <tt>''R<sub>n</sub>''</tt>
 +
| : radial coordinate boundaries (cm)
 +
|-
 +
| <tt>''N<sub>S</sub>''</tt>
 +
| : number of angular sectors
 +
|-
 +
| <tt>''S<sub>0</sub>''</tt>
 +
| : zero position of angular division (degrees)
 +
|-
 +
| <tt>''S<sub>n</sub>''</tt>
 +
| : angular-sector boundaries (degrees)
 +
|-
 +
| <tt>''FLAG''</tt>
 +
| : flag for mapping regions outside (material) limits to divide material - on (1/yes) or off (0/no)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 [[Defining material volumes|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#automated depletion zone division|memory usage]]).
 +
*For more information see detailed description on [[automated depletion zone division]].
 +
*The usage of <tt>''LVL''</tt> is explained on page [[automated depletion zone division]].
 +
*The feature of mapping regions outside limits is set by default OFF.
 +
*The manually-spaced angular-sector boundaries <tt>''S<sub>n</sub>''</tt> should cover the full/360 degrees angular space.
 +
*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.
 +
 
 +
=== dtrans (detector mesh transformation)<span id="dtrans"></span> ===
 +
 
 +
See [[#trans (transformations)|transformations]].
 +
 
 +
=== ene (energy grid definition)<span id="ene"></span> ===
 +
 
 +
'''ene''' ''NAME'' '''1''' ''E<sub>0</sub>'' ''E<sub>1</sub>'' ...
 +
 
 +
'''ene''' ''NAME'' '''2''' ''N'' ''E<sub>min</sub>'' ''E<sub>max</sub>''
 +
 
 +
'''ene''' ''NAME'' '''3''' ''N'' ''E<sub>min</sub>'' ''E<sub>max</sub>''
 +
 
 +
'''ene''' ''NAME'' '''4''' ''GRID''
 +
 
 +
Defines an energy grid structure. Input values:
 +
 
 +
{|
 +
|<tt>''NAME''</tt>
 +
|: energy grid name
 +
|-
 +
|<tt>''E<sub>i</sub>''</tt>
 +
|: bin boundaries (type 1)
 +
|-
 +
|<tt>''N''</tt>
 +
|: number of equi-width bins (types 2 and 3)
 +
|-
 +
|<tt>''E<sub>min</sub>''</tt>
 +
|: minimum energy (types 2 and 3)
 +
|-
 +
|<tt>''E<sub>max</sub>''</tt>
 +
|: maximum energy (types 2 and 3)
 +
|-
 +
|<tt>''GRID''</tt>
 +
|: name of the pre-defined grid (type 4)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 structures|pre-defined energy group structure]]).
 +
*Energy grid structures are used for several purposes, most commonly with [[#det_de|detectors]].
 +
*See separate description of [[pre-defined energy group structures]].
 +
 
 +
=== ftrans (fill transformation)<span id="ftrans"></span> ===
 +
 
 +
See [[#trans (transformations)|transformations]].
 +
 
 +
=== fun (function definition)<span id="fun"></span> ===
 +
 
 +
'''fun''' ''NAME'' ''TYPE'' [ ... ]
 +
 
 +
Defines a function that can be used with detector responses. Input values:
 +
 
 +
{|
 +
|<tt>''NAME''</tt>
 +
|: function name
 +
|-
 +
|<tt>''TYPE''</tt>
 +
|: function type (currently only supported type is 1 = point-wise tabular data)
 +
|}
 +
 
 +
The syntax for type 1 is:
 +
 
 +
'''fun''' ''NAME'' '''1''' ''INTT'' ''X<sub>1</sub>'' ''F<sub>1</sub>'' ''X<sub>2</sub>'' ''F<sub>2</sub>'' ...
 +
 
 +
where:
 +
{|
 +
|<tt>''INTT''</tt>
 +
|: is the interpolation type (1 = histogram, 2 = lin-lin, 3 = lin-log, 4 = log-lin, 5 = log-log)
 +
|-
 +
|<tt>''X<sub>i</sub>'', ''F<sub>i</sub>''</tt>
 +
|: are the tabulated variable-value pairs
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* The defined function is linked to detector response using [[ENDF reaction MT's and macroscopic reaction numbers|response number]] -100 (syntax: dr -100 ''NAME'').
 +
* The defined function currently is only supported as a flux-based function, aka, flux multiplier.
 +
 
 +
=== hisv (history variation matrix definition)<span id="hisv"></span> ===
 +
 
 +
'''hisv''' [ ''BU<sub>1</sub>'' ''NBR<sub>1</sub>'' ''BR<sub>1,1</sub>'' ''BR<sub>1,2</sub>'' ... ''BR<sub>1,NBR<sub>1</sub></sub>'' ]
 +
      [ ''BU<sub>2</sub>'' ''NBR<sub>2</sub>'' ''BR<sub>2,1</sub>'' ''BR<sub>2,2</sub>'' ... ''BR<sub>2,NBR<sub>2</sub></sub>'' ]
 +
      ...
 +
Defines the history variation matrix for the automated burnup sequence. Input values:
 +
 
 +
{|
 +
| <tt>''BU<sub>n</sub>''</tt>
 +
| : burnup steps at which the branches are invoked
 +
|-
 +
| <tt>''NBR<sub>n</sub>''</tt>
 +
| : number branches in the ''n''-th burnup step
 +
|-
 +
| <tt>''BR<sub>n,i</sub>''</tt>
 +
| : name of the ''i''-th branch in the ''n''-th burnup step
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The automated burnup sequence defined by the hisv card follows the same principle as the [[#coef|coef]] input card.
 +
*The hisv card performs multiple depletions within a single depletion calculation following the historical variation sequence, performing a restart at each of the listed burnup points, where it applies the variations defined in the listed branches for the given burnup point.
 +
*Positive values in the burnup vector are interpreted as (MWd/kgU), negative values are interpreted as time steps in days.
 +
*The hisv card is used together with the [[#branch|branch]] card.
 +
 
 +
=== ifc (interface file)<span id="ifc"></span> ===
 +
 
 +
'''ifc''' ''FILE'' ['''setinmat''' ''N<sub>MAT</sub>'' ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ... ''MAT<sub>N<sub>MAT</sub></sub>'' ]
 +
          ['''setoutmat''' ''N<sub>MAT</sub>'' ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ... ''MAT<sub>N<sub>MAT</sub></sub>'' ]
 +
 
 +
Links a [[Multi-physics interface|multi-physics interface]] file to be used with the current input. Input values:
 +
 
 +
{|
 +
|<tt>''FILE''</tt>
 +
|: path to the multi-physics interface file
 +
|}
 +
 
 +
The optional cards are explained below.
 +
 
 +
'''<tt>setinmat</tt>''' adds the possibility to link multiple input materials to the same interface, i.e. the same interface gives temperatures and densities (density factors) for multiple materials.
 +
 
 +
'''<tt>setoutmat</tt>''' adds the possibility to link multiple output materials to the same interface, i.e. the same interface gives temperatures and densities (density factors) for multiple materials.
 +
 
 +
{|
 +
|<tt>''N<sub>MAT</sub>''</tt>
 +
|: number of materials to link to the interface
 +
|-
 +
|<tt>''MAT<sub>i</sub>''</tt>
 +
|: name of the ''i''th material linked to the interface
 +
|-
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* If multiple materials are linked to the interface using the '''<tt>setinmat</tt>'''/'''<tt>setoutmat</tt>''' option, the densities in the interface file must be given as density factors, i.e. relative to the material card density (values between 0 and 1).
 +
* If the interface is not updated, '''<tt>setinmat</tt>'''/'''<tt>setoutmat</tt>''' options are not eligible. In the case of regular mesh-based, additionally to not updating the interface: a) the input materials cannot be specified using '''<tt>setinmat</tt>''' if power is tallied in pin-type objects; b) the output materials cannot be specified using '''<tt>setoutmat</tt>''' if power is not tallied on the same mesh.
 +
* Option '''<tt>setinmat</tt>''' was '''<tt>setmat</tt>''' in versions before 2.1.32.
 +
* See also [[Coupled multi-physics calculations]].
 +
 
 +
=== include (read another input file)<span id="include"></span> ===
 +
 
 +
'''include''' ''FILE''
 +
Reads another input file. Input values:
 +
 
 +
{|
 +
| <tt>''FILE''</tt>
 +
| : name of the input file
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 options, it cannot be used to read the values of another card.
 +
 
 +
=== lat (regular lattice definition)<span id="lat"></span> ===
 +
 
 +
See also Section 3.6 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
'''lat''' ''UNI TYPE X<sub>0</sub> Y<sub>0</sub> N<sub>X</sub> N<sub>Y</sub> PITCH'' ''UNI<sub>1</sub> UNI<sub>2</sub> ...''
 +
 
 +
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:
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name of the lattice
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : lattice type
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| : x-coordinate of the lattice origin (origin is in the center of the lattice).
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| : y-coordinate of the lattice origin (origin is in the center of the lattice).
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of lattice elements in x-direction
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of lattice elements in y-direction
 +
|-
 +
| <tt>''PITCH''</tt>
 +
| : lattice pitch
 +
|-
 +
| <tt>''UNI<sub>n</sub>''</tt>
 +
| : list of universes filling the lattice positions
 +
|}
 +
 
 +
Possible lattice types are:
 +
{| class="wikitable" style="text-align: left;"
 +
! Type
 +
! Description
 +
|-
 +
| 1
 +
| Square lattice
 +
|-
 +
| 2
 +
| X-type hexagonal lattice
 +
|-
 +
| 3
 +
| Y-type hexagonal lattice
 +
|-
 +
| 14
 +
| X-type triangular lattice
 +
|}
 +
 
 +
[[File:Rect lattice index.png|frame|Lattice type 1 indexing example for N<sub>X</sub> = N<sub>Y</sub> = 3.]]
 +
[[File:Hex lattice x index.png|frame|Lattice type 2 indexing example for N<sub>X</sub> = N<sub>Y</sub> = 3.]]
 +
[[File:Hex lattice y index.png|frame|Lattice type 3 indexing example for N<sub>X</sub> = N<sub>Y</sub> = 3.]]
 +
 
 +
<u>Notes:</u>
 +
*Number of universes in list of universes must be ''N<sub>X</sub> &times; N<sub>Y</sub>''.
 +
*For square lattices the x coordinate increases from left to right and the y coordinate increases from top to bottom, so the first ''N<sub>X</sub>'' values in the list of universes create the bottommost (minimum y) row from minimum x to maximum x and the last ''N<sub>X</sub>'' values in the list of universes create the topmost (maximum y) values. Example of the indexing is provided in the attached figure.
 +
*The line breaks usually present in the list of universes are only used to help visualizing the universe order for the user. Serpent ignores them when processing the list of universes.
 +
*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 can be checked by using the [[#plot (geometry plot definition)|geometry plotter]]. Examples of the indexing are provided in the attached figures.
 +
 
 +
'''lat''' ''UNI TYPE X<sub>0</sub> Y<sub>0</sub> PITCH UNI<sub>1</sub>''
 +
 
 +
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.
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name of the lattice
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : lattice type
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| : x-coordinate of the lattice origin
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| : y-coordinate of the lattice origin
 +
|-
 +
| <tt>''PITCH''</tt>
 +
| : lattice pitch
 +
|-
 +
| <tt>''UNI<sub>1</sub>''</tt>
 +
| : universe name of the universe filling all lattice positions
 +
|}
 +
 
 +
Possible lattice types are:
 +
{| class="wikitable" style="text-align: left;"
 +
! Type
 +
! Description
 +
|-
 +
| 6
 +
| Square lattice
 +
|-
 +
| 7
 +
| Y-type hexagonal lattice
 +
|-
 +
| 8
 +
| X-type hexagonal lattice
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The order of X- and Y-type hexagonal lattice type numbers is reversed when compared with finite hexagonal lattices.
 +
 
 +
'''lat''' ''UNI TYPE X<sub>0</sub> Y<sub>0</sub> N<sub>R</sub>'' ''N<sub>S,1</sub> RADIUS<sub>1</sub> THETA<sub>1</sub> UNI<sub>1,1</sub> UNI<sub>2,1</sub> ... N<sub>S,2</sub> RADIUS<sub>2</sub> THETA<sub>2</sub> UNI<sub>1,2</sub> UNI<sub>2,2</sub> ... ...''
 +
 
 +
Defines a finite two-dimensional circular cluster array lattice in xy-plane. The lattice is infinite in z-direction.
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name of the lattice
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : lattice type
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| : x-coordinate of the lattice origin
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| : y-coordinate of the lattice origin
 +
|-
 +
| <tt>''N<sub>R</sub>''</tt>
 +
| : number of rings in the array
 +
|-
 +
| <tt>''N<sub>S,R</sub>''</tt>
 +
| : number of sectors in Rth ring
 +
|-
 +
| <tt>''RADIUS<sub>R</sub>''</tt>
 +
| : central radius of Rth ring
 +
|-
 +
| <tt>''THETA<sub>R</sub>''</tt>
 +
| : angle of rotation of Rth ring in degrees
 +
|-
 +
| <tt>''UNI<sub>N,R</sub>''</tt>
 +
| : list of universes filling the sector positions in Rth ring
 +
|}
 +
 
 +
Possible lattice type is:
 +
{| class="wikitable" style="text-align: left;"
 +
! Type
 +
! Description
 +
|-
 +
| 4
 +
| Circular cluster array
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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<sub>0</sub> Y<sub>0</sub> N<sub>L</sub> Z<sub>1</sub> UNI<sub>1</sub> Z<sub>2</sub> UNI<sub>2</sub> ...''
 +
 
 +
Defines a finite one-dimensional vertical stack in z-direction. The stack is infinite in xy-plane.
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name of the lattice
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : lattice type
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| : x-coordinate of the lattice origin
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| : y-coordinate of the lattice origin
 +
|-
 +
| <tt>''N<sub>L</sub>''</tt>
 +
| : number of lattice elements in z-direction (number of axial layers)
 +
|-
 +
| <tt>''Z<sub>n</sub>''</tt>
 +
| : z-coordinate of the nth lattice element (lower boundary of the axial layer)
 +
|-
 +
| <tt>''UNI<sub>n</sub>''</tt>
 +
| : universe name filling the nth lattice position
 +
|}
 +
 
 +
Possible lattice type is:
 +
{| class="wikitable" style="text-align: left;"
 +
! Type
 +
! Description
 +
|-
 +
| 9
 +
| Vertical stack
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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<sub>n</sub>-UNI<sub>n</sub>'' pairs must be ''N<sub>L</sub>''.
 +
 
 +
'''lat''' ''UNI TYPE X<sub>0</sub> Y<sub>0</sub> Z<sub>0</sub> N<sub>X</sub> N<sub>Y</sub> N<sub>Z</sub> PITCH<sub>X</sub> PITCH<sub>Y</sub> PITCH<sub>Z</sub> UNI<sub>1</sub> UNI<sub>2</sub> ...''
 +
 
 +
Defines a finite three-dimensional lattice in xyz-space with cuboidal or X- or Y-type hexagonal prism elements.
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name of the lattice
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : lattice type
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| : x-coordinate of the lattice origin
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| : y-coordinate of the lattice origin
 +
|-
 +
| <tt>''Z<sub>0</sub>''</tt>
 +
| : z-coordinate of the lattice origin
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of lattice elements in x-direction
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of lattice elements in y-direction
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of lattice elements in z-direction
 +
|-
 +
| <tt>''PITCH<sub>X</sub>''</tt>
 +
| : lattice pitch in x-direction
 +
|-
 +
| <tt>''PITCH<sub>Y</sub>''</tt>
 +
| : lattice pitch in y-direction
 +
|-
 +
| <tt>''PITCH<sub>Z</sub>''</tt>
 +
| : lattice pitch in z-direction
 +
|-
 +
| <tt>''UNI<sub>n</sub>''</tt>
 +
| : list of universes filling the lattice positions
 +
|}
 +
 
 +
Possible lattice types are:
 +
{| class="wikitable" style="text-align: left;"
 +
! Type
 +
! Description
 +
|-
 +
| 11
 +
| Cuboidal lattice
 +
|-
 +
| 12
 +
| X-type hexagonal prism lattice
 +
|-
 +
| 13
 +
| Y-type hexagonal prism lattice
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Number of universes in list of universes must be ''N<sub>X</sub> &times; N<sub>Y</sub> &times; N<sub>Z</sub>''.
 +
*For hexagonal prism lattices the x- and y-direction pitches must be equal.
 +
*The universe indexing is the similar as with lattice types 1-3. The lowermost z-level is given first, and the uppermost z-level is given last.
 +
 
 +
=== ltrans (lattice transformation)<span id="ltrans"></span> ===
 +
 
 +
See [[#trans (transformations)|transformations]].
 +
 
 +
=== mat (material definition)<span id="mat"></span> ===
 +
 
 +
See Chapter 4 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
'''mat''' ''NAME DENS'' [ [[#mat_tmp|'''tmp''']] ''TEMP'' ]
 +
              [ [[#mat_tms|'''tms''']] ''TEMP'' ]
 +
              [ [[#mat_tft|'''tft''']] ''T<sub>MIN</sub>'' ''T<sub>MAX</sub>'' ]
 +
              [ [[#mat_rgb|'''rgb''']] ''R G B'' ]
 +
              [ [[#mat_vol|'''vol''']] ''VOL'' ]
 +
              [ [[#mat_mass|'''mass''']] ''MASS'' ]
 +
              [ [[#mat_burn|'''burn''']] ''N<sub>R</sub>'' ]
 +
              [ [[#mat_fix|'''fix''']] ''ID'' ''TEMP'' ]
 +
              [ [[#mat_moder|'''moder''']] ''THNAME'' ''ZA'' ]
 +
  ''NUC<sub>1</sub> FRAC<sub>1</sub>''
 +
[ ''NUC<sub>2</sub> FRAC<sub>2</sub>'' ]
 +
[    ''...''    ]
 +
 
 +
<u>Mandatory information:</u>
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : Name of the material
 +
|-
 +
| <tt>''DENS''</tt>
 +
| : Density of the material (positive for atomic, negative for mass density) or '''<tt>sum</tt>''' to calculate the density from given nuclide fractions
 +
|-
 +
| <tt>''NUC<sub>n</sub>''</tt>
 +
| : Identifier of ''n''th nuclide in composition, e.g. "92235.03c" or "U-235.03c".
 +
|-
 +
| <tt>''FRAC<sub>n</sub>''</tt>
 +
| : Fraction of ''n''th nuclide in composition, positive values are interpreted as atomic fractions/densities, negative values as mass fractions/densities.
 +
|-
 +
|}
 +
 
 +
<u>Optional cards:</u>
 +
 
 +
'''tmp''': <span id="mat_tmp"></span> Material temperature for [[Doppler-broadening preprocessor routine|Doppler-preprocessor]]
 +
 
 +
{|
 +
| <tt>''TEMP''</tt>
 +
| : Temperature (in Kelvin) of the material for [[Doppler-broadening preprocessor routine|Doppler-broadening preprocessor]]
 +
|}
 +
 
 +
'''tms''': <span id="mat_tmp"></span> Material temperature for on-the-fly [[TMS on-the-fly temperature treatment routine‏‎|TMS temperature treatment]]
 +
 
 +
{|
 +
| <tt>''TEMP''</tt>
 +
| : Temperature (in Kelvin) of the material for on-the-fly [[TMS on-the-fly temperature treatment routine‏‎|TMS temperature treatment]]
 +
|}
 +
 
 +
'''tft''': <span id="mat_tft"></span> Temperature limits for material for [[Coupled multi-physics calculations|coupled multi-physics calculations]]
 +
 
 +
{|
 +
| <tt>''T<sub>MIN</sub>''</tt>
 +
| : Lower limit for material temperature
 +
|-
 +
| <tt>''T<sub>MAX</sub>''</tt>
 +
| : Upper limit for material temperature
 +
|}
 +
 
 +
'''rgb''': <span id="mat_rgb"></span> Material color for [[#plot|geometry plots]]
 +
 
 +
{|
 +
| <tt>''R''</tt>
 +
| : Value for the red channel of [[#plot|geometry plots]] (between 0 and 255)
 +
|-
 +
| <tt>''G''</tt>
 +
| : Value for the green channel of geometry plots (between 0 and 255)
 +
|-
 +
| <tt>''B''</tt>
 +
| : Value for the blue channel of geometry plots (between 0 and 255)
 +
|}
 +
 
 +
'''vol''': <span id="mat_vol"></span> Material volume
 +
 
 +
{|
 +
| <tt>''VOL''</tt>
 +
| : Volume of the material in cm<sup>3</sup> (3D geometry) or cross-sectional area in cm<sup>2</sup> (2D geometry)
 +
|}
 +
 
 +
'''mass''': <span id="mat_mass"></span> Material mass
 +
 
 +
{|
 +
| <tt>''MASS''</tt>
 +
| : Mass of the material in grams
 +
|}
 +
 
 +
'''burn''': <span id="mat_burn"></span> Flag material for depletion
 +
 
 +
{|
 +
| <tt>''N<sub>R</sub>''</tt>
 +
| : Set to 1 in order to deplete material. The depletion zone division should be done using the [[#div|div]]-card.
 +
|}
 +
 
 +
'''fix''': <span id="mat_fix"></span> Library information for decay nuclides
 +
 
 +
{|
 +
| <tt>''LIB''</tt>
 +
| : Library ID (e.g. "09c") for nuclides without cross section data.
 +
|-
 +
| <tt>''TEMP''</tt>
 +
| : Temperature (in Kelvin) for nuclides without cross section data.
 +
|}
 +
 
 +
'''moder''': <span id="mat_moder"></span> Use thermal scattering data library for a nuclide. The moder entry can be used several times to define thermal scattering libraries for multiple nuclides, such as hydrogen and deuterium in heavy water.
 +
 
 +
{|
 +
| <tt>''THNAME''</tt>
 +
| : Name of the thermal scattering data library defined using the [[#therm_and_thermstoch_.28thermal_scattering.29|therm]] card.
 +
|-
 +
| <tt>''ZA''</tt>
 +
| : Nuclide ZA of the thermal scatterer (e.g. 1001 for H-1).
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*This description is incomplete for both the descriptions and optional settings.
 +
*See [[defining material volumes]] and [[#set mvol|set mvol]] regarding other ways to set the material volumes for example in burnup calculations.
 +
*The nuclide identifier for nuclides with associated cross-sections corresponds to ZZAAA.ID and, for nuclides without associated cross-sections, e.g., decay nuclides, to ZZAAAI. The identifiers include ''Z'', the atomic number; ''A'', the mass number of the nuclide; ''I'', the isomeric state (0 = ground state, 1 = metastable state); and ''ID'', the library identifier. For nuclides without associated cross-sections, include the '''fix''' option to indicate the library and temperature of the given nuclides.
 +
 
 +
=== mesh (mesh plot definition)<span id="mesh"></span> ===
 +
 
 +
'''mesh''' ''ORI'' ''XPIX'' ''YPIX'' [ ''SYM'' ''MIN<sub>1</sub>'' ''MAX<sub>1</sub>'' ''MIN<sub>2</sub>'' ''MAX<sub>2</sub>'' ''MIN<sub>3</sub>'' ''MAX<sub>3</sub>'' ]
 +
 
 +
'''mesh''' 8 ''CMAP'' ''DET'' ''ORI'' ''XPIX'' ''YPIX'' [ ''SYM'' ''MIN<sub>1</sub>'' ''MAX<sub>1</sub>'' ''MIN<sub>2</sub>'' ''MAX<sub>2</sub>'' ''MIN<sub>3</sub>'' ''MAX<sub>3</sub>'' ]
 +
 
 +
'''mesh''' 10 ''ORI'' ''XPIX'' ''YPIX''
 +
 
 +
Produces a png-format mesh plot of various results. Input values:
 +
 
 +
{|
 +
| <tt>''ORI''</tt>
 +
| : orientation with respect to coordinate axes
 +
|-
 +
| <tt>''XPIX''</tt>
 +
| : horizontal image size in pixels
 +
|-
 +
| <tt>''YPIX''</tt>
 +
| : vertical image size in pixels
 +
|-
 +
| <tt>''SYM''</tt>
 +
| : symmetry option (not used in Serpent 2)
 +
|-
 +
| <tt>''MIN<sub>n</sub>'' ''MAX<sub>n</sub>''</tt>
 +
| : boundaries of the plotted region
 +
|-
 +
| <tt>''CMAP''</tt>
 +
| : color map used for plotting detector scores (positive entry for linear, negative for log-scale)
 +
|-
 +
| <tt>''DET''</tt>
 +
| : detector name
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 [[#det (detector definition)|detector card]] and the [[ENDF reaction MT's and macroscopic reaction numbers|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 nth mesh-card is written in file <tt>[input]_mesh[n].png</tt>.
 +
 
 +
=== mflow (material flow definition)<span id="mflow"></span> ===
 +
 
 +
'''mflow''' ''NAME''
 +
    ''NUC<sub>1</sub>'' ''&lambda;<sub>1</sub>''
 +
  [ ''NUC<sub>2</sub>'' ''&lambda;<sub>2</sub>'' ]
 +
  [  ''...''  ]
 +
 
 +
Defines the material flow. Input values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : name of the material flow
 +
|-
 +
| <tt>''NUC<sub>n</sub>''</tt>
 +
| :  identifier of <tt>''n''</tt>th nuclide in composition
 +
|-
 +
| <tt>''&lambda;''<sub>n</sub></tt>
 +
| : reprocessing constant of <tt>''n''</tt>th nuclide in composition  (in s<sup>-1</sup>)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
* The nuclide ID can be replaced with "all", in which case all nuclides are included with the same reprocessing fraction ''&lambda;''.
 +
* The nuclide ID should follow the ZAI or ISO format (e.g., 922350 or U-235).
 +
 
 +
=== mix (mixture definition)<span id="mix"></span> ===
 +
 
 +
'''mix''' ''NAME'' [ '''rgb''' ''R G B'' ]
 +
          [ '''vol''' ''VOL'' ]
 +
          [ '''mass''' ''MASS'' ]
 +
''MAT<sub>1</sub>'' ''F<sub>1</sub>''
 +
''MAT<sub>2</sub>'' ''F<sub>2</sub>''
 +
...
 +
Defines a mixture of two or several materials. Input values:
 +
 
 +
<u>Mandatory information:</u>
 +
 
 +
{|
 +
| <tt>''MAT<sub>n</sub>''</tt>
 +
| : material name
 +
|-
 +
| <tt>''F<sub>n</sub>''</tt>
 +
| : material fraction (positive values for volume, negative values for mass fractions)
 +
|-
 +
|}
 +
 
 +
<u>Optional cards:</u>
 +
 
 +
'''rgb''': <span id="mat_rgb"></span> Material color for [[#plot|geometry plots]]
 +
 
 +
{|
 +
| <tt>''R''</tt>
 +
| : Value for the red channel of [[#plot|geometry plots]] (between 0 and 255)
 +
|-
 +
| <tt>''G''</tt>
 +
| : Value for the green channel of geometry plots (between 0 and 255)
 +
|-
 +
| <tt>''B''</tt>
 +
| : Value for the blue channel of geometry plots (between 0 and 255)
 +
|}
 +
 
 +
'''vol''': <span id="mat_vol"></span> Material volume
 +
 
 +
{|
 +
| <tt>''VOL''</tt>
 +
| : Volume of the material in cm<sup>3</sup> (3D geometry) or cross-sectional area in cm<sup>2</sup> (2D geometry)
 +
|}
 +
 
 +
'''mass''': <span id="mat_mass"></span> Material mass
 +
 
 +
{|
 +
| <tt>''MASS''</tt>
 +
| : Mass of the material in g
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 [[Installing and running Serpent#Running Serpent|-mix]] command line option.
 +
*Nuclide specific [[#mat_moder|thermal scattering data]] is automatically brought from component materials to the mixture.
 +
*Many other input cards such as [[#set_trc|set trc]], [[#set_iter_nuc|set iter nuc]], [[Sensitivity_calculations#Choosing_materials_to_perturb|sens pert matlist]] are not automatically inherited by the mixture from the components and should be directly defined using the mixture material name (opposed to component material names) if they are to be applied to the mixture.
 +
 
 +
=== nest (nested universe definition)<span id="nest"></span> ===
 +
 
 +
'''nest''' ''U'' ''TYPE''
 +
  [ ''MAT<sub>1</sub>'' ''R<sub>1</sub>'' ]
 +
  [ ''MAT<sub>2</sub>'' ''R<sub>2</sub>'' ]
 +
  ...
 +
  [ ''MAT<sub>N</sub>'' ]
 +
 
 +
'''nest''' ''U''
 +
  [ ''MAT<sub>1</sub>'' ''TYPE<sub>1</sub>'' ''PARAM<sub>11</sub> PARAM<sub>12</sub>'' ... ]
 +
  [ ''MAT<sub>2</sub>'' ''TYPE<sub>2</sub>'' ''PARAM<sub>21</sub> PARAM<sub>22</sub>'' ... ]
 +
    ...
 +
  [ ''MAT<sub>N</sub>'' ]
 +
 
 +
Defines a universe consisting of nested regions. Input values:
 +
 
 +
{|
 +
| <tt>''U''</tt>
 +
| : universe name
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : nested surface type (single surface for all regions)
 +
|-
 +
| <tt>''MAT<sub>1</sub> ... MAT<sub>N</sub>''</tt>
 +
| : material regions
 +
|-
 +
| <tt>''R<sub>1</sub> ... R<sub>N-1</sub>''</tt>
 +
| : outer radii
 +
|-
 +
| <tt>''TYPE<sub>1</sub> ... TYPE<sub>N-1</sub>''</tt>
 +
| : nested surface type (different surfaces for each region)
 +
|-
 +
| <tt>''PARAM<sub>nm</sub> ... </tt>
 +
| : surface parameters
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>'''fill''' ''U<sub>0</sub>''</tt>, 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 ([[Surface_types#Second-order_quadratic_surfaces|cylinders, spheres]] and some [[Surface_types#Regular_prisms|regular prisms]]). The [[#pin (pin geometry definition)|pin]] and [[#particle (particle geometry definition)|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)<span id="particle"></span> ===
 +
 
 +
'''particle''' ''U''
 +
        [ ''MAT<sub>1</sub>'' ''R<sub>1</sub>'' ]
 +
        [ ''MAT<sub>2</sub>'' ''R<sub>2</sub>'' ]
 +
        ...
 +
        [ ''MAT<sub>N</sub>'' ]
 +
Defines a particle universe. Input values:
 +
 
 +
{|
 +
| <tt>''U''</tt>
 +
| : universe name
 +
|-
 +
| <tt>''MAT<sub>1</sub> ... MAT<sub>N</sub>''</tt>
 +
| : material regions
 +
|-
 +
| <tt>''R<sub>1</sub> ... R<sub>N-1</sub>''</tt>
 +
| : outer radii
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>'''fill''' ''U<sub>0</sub>''</tt>, 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 [[#nest (nested universe definition)|nested universe type]].
 +
*See also description of [[#pbed (explicit stochastic geometry)|explicit stochastic geometry type]].
 +
 
 +
=== pbed (explicit stochastic (pebble bed) geometry) ===
 +
 
 +
'''pbed''' ''U<sub>0</sub>'' ''U<sub>bg</sub>'' ''FILE'' [ ''OPT'' ]
 +
Defines a stochastic particle / pebble-bed geometry. Input values:
 +
 
 +
{|
 +
| <tt>''U<sub>0</sub>''</tt>
 +
| : universe name for the dispersed medium
 +
|-
 +
| <tt>''U<sub>bg</sub>''</tt>
 +
| : background universe, i.e. universe filling the space between particles / pebbles
 +
|-
 +
| <tt>''FILE''</tt>
 +
|: input file containing the particle/pebble data
 +
|-
 +
| <tt>''OPT''</tt>
 +
|: 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<sub>1</sub>'' ''Y<sub>1</sub>'' ''Z<sub>1</sub>'' ''R<sub>1</sub>'' ''U<sub>1</sub>''
 +
 
 +
''X<sub>2</sub>'' ''Y<sub>2</sub>'' ''Z<sub>2</sub>'' ''R<sub>2</sub>'' ''U<sub>2</sub>''
 +
 
 +
...
 +
 
 +
Where:
 +
{|
 +
|<tt>''X<sub>n</sub>'', ''Y<sub>n</sub>'', ''Z<sub>n</sub>''</tt>
 +
|: are the coordinates
 +
|-
 +
|<tt>''R<sub>n</sub>''</tt>
 +
|: is the radius
 +
|-
 +
|<tt>''U<sub>n</sub>''</tt>
 +
|: is the universe
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Creates a universe (<tt>''U<sub>0</sub>''</tt>), 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 [[Installing_and_running_Serpent#Particle_disperser_routine|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 <tt>[U<sub>0</sub>].out</tt>.
 +
*See also [[Collection_of_example_input_files#Simple_burnup_examples|HTGR geometry examples]].
 +
 
 +
=== phb (pulse-height Gaussian energy broadening definition) <span id="phb"></span>===
 +
 
 +
'''phb''' ''NAME'' ''TYPE'' [ ... ]
 +
 
 +
Defines a user-defined (Gaussian) energy broadening function for pulse-height detector ([[#det_dphb|'''dphb''']]). Input values:
 +
 
 +
{|
 +
|<tt>''NAME''</tt>
 +
|: pulse-height (Gaussian) energy broadening function name
 +
|-
 +
|<tt>''TYPE''</tt>
 +
|: pulse-height function type (1 = energy-resolution interpolation, 2 = energy-FWHM interpolation, 3 = energy-resolution fitting, 4 = energy-FWHM fitting)
 +
|}
 +
 
 +
The syntax for the different types is as follows:
 +
 
 +
'''phb''' ''NAME'' '''1''' ''INTT'' ''E<sub>max,1</sub>'' ''R<sub>1</sub>'' ''E<sub>max,2</sub>'' ''R<sub>2</sub>'' ...
 +
 
 +
where:
 +
{|
 +
|<tt>''INTT''</tt>
 +
|: is the interpolation type (currently only supported type is 2 = lin-lin interpolation data)
 +
|-
 +
|<tt>''E<sub>max,i</sub>, R<sub>i</sub>''</tt>
 +
|: are the maximum energy-resolution tabulated pairs
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
* Full width at half maximum is calculated as: <math> FWHM(E_{max,i}) =  R(E_{max,i}) E_{max,i} </math>
 +
* Energies should be given in ascending order.
 +
 
 +
'''phb''' ''NAME'' '''2''' ''INTT'' ''E<sub>max,1</sub>'' ''FWHM<sub>1</sub>'' ''E<sub>max,2</sub>'' ''FWHM<sub>2</sub>'' ...
 +
 
 +
where:
 +
{|
 +
|<tt>''INTT''</tt>
 +
|: is the interpolation type (currently only supported type is 2 = lin-lin interpolation data)
 +
|-
 +
|<tt>''E<sub>max,i</sub>, FWHM<sub>i</sub>''</tt>
 +
|: are the maximum energy-full width at half maximum pairs
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
* Energies should be given in ascending order.
 +
 
 +
'''phb''' ''NAME'' '''3''' ''a'' ''b''
 +
 
 +
where:
 +
{|
 +
|<tt>''a, b''</tt>
 +
|: are the parameters to define the energy resolution fit:  <math> R = aE^b </math>
 +
|}
 +
 
 +
'''phb''' ''NAME'' '''4''' ''a'' ''b'' ''c''
 +
 
 +
where:
 +
{|
 +
|<tt>''a, b, c''</tt>
 +
|: are the parameters to define the energy full width at half maximum fit: <math> FWHM =  a + b\sqrt{(E + cE^2)} </math>
 +
|}
 +
 
 +
=== pin (pin geometry definition)<span id="pin"></span> ===
 +
 
 +
'''pin''' ''U''
 +
  [ ''MAT<sub>1</sub>'' ''R<sub>1</sub>'' ]
 +
  [ ''MAT<sub>2</sub>'' ''R<sub>2</sub>'' ]
 +
  ...
 +
  [ ''MAT<sub>N</sub>'' ]
 +
Defines a pin universe. Input values:
 +
 
 +
{|
 +
| <tt>''U''</tt>
 +
| : universe name
 +
|-
 +
| <tt>''MAT<sub>1</sub> ... MAT<sub>N</sub>''</tt>
 +
| : material regions
 +
|-
 +
| <tt>''R<sub>1</sub> ... R<sub>N-1</sub>''</tt>
 +
| : outer radii
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>'''fill''' ''U<sub>0</sub>''</tt>, 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 [[#nest (nested universe definition)|nested universe type]].
 +
 
 +
=== plot (geometry plot definition)<span id="plot"></span> ===
 +
 
 +
'''plot''' ''TYPE'' ''XPIX'' ''YPIX'' [ ''POS'' ''MIN<sub>1</sub>'' ''MAX<sub>1</sub>'' ''MIN<sub>2</sub>'' ''MAX<sub>2</sub>'' ]
 +
 
 +
'''plot''' ''TYPE'' ''F<sub>min</sub>'' ''F<sub>max</sub>'' ''E'' ''XPIX'' ''YPIX'' [ ''POS'' ''MIN<sub>1</sub>'' ''MAX<sub>1</sub>'' ''MIN<sub>2</sub>'' ''MAX<sub>2</sub>'' ]
 +
 
 +
Produces a png-format geometry plot. Input values:
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : defines the plot type (orientation and plotting of boundaries)
 +
|-
 +
| <tt>''XPIX''</tt>
 +
| : horizontal image size in pixels
 +
|-
 +
| <tt>''YPIX''</tt>
 +
| : vertical image size in pixels
 +
|-
 +
| <tt>''POS''</tt>
 +
| : position of plot plane
 +
|-
 +
| <tt>''MIN<sub>1</sub>''</tt>
 +
| : minimum horizontal coordinate of plotted region
 +
|-
 +
| <tt>''MAX<sub>1</sub>''</tt>
 +
| : maximum horizontal coordinate of plotted region
 +
|-
 +
| <tt>''MIN<sub>2</sub>''</tt>
 +
| : minimum vertical coordinate of plotted region
 +
|-
 +
| <tt>''MAX<sub>2</sub>''</tt>
 +
| : maximum vertical coordinate of plotted region
 +
|-
 +
| <tt>''F<sub>min</sub>''</tt>
 +
| : minimum importance for importance map plots
 +
|-
 +
| <tt>''F<sub>max</sub>''</tt>
 +
| : maximum importance for importance map plots
 +
|-
 +
| <tt>''E''</tt>
 +
| : particle energy for importance map plots
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The <tt>''TYPE''</tt> 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 (weight window mesh definition)|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) for cell importances, and to 6 (linear color scheme) or 7 (logarithmic color scheme) for source importances. 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.
 +
*If both, minimum and maximum importance values are set to "-1", Serpent automatically adjusts them based on the weight-window mesh data, from version 2.2.0 and on.
 +
*Each material plotted with different color. The colors are sampled randomly, unless defined using the '''rgb''' entry in the [[#mat (material definition)|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 [[Compiling Serpent|GD Graphics libraries]].
 +
*[[Installing and running Serpent#Running Serpent|Command line parameter]] <tt>''-plot''</tt> stops the execution after the geometry plots are produced. Option <tt>''-qp''</tt> invokes a quick plot mode, which does not check for overlaps. Option <tt>''-noplot''</tt> skips the geometry plots altogether.
 +
*See also [[Visualizing the results#Geometry plotter|detailed description]] on geometry plotter.
 +
*Geometry plot produced by the nth plot-card is written in file <tt>[input]_geom[n].png</tt>.
 +
*''Note to developers: particle type should be included as an input parameter in importance map plots.''
 +
 
 +
=== rep (reprocessor definition)<span id="rep"></span> ===
 +
 
 +
'''rep''' ''NAME''
 +
    [ '''rc''' ''SRC'' ''TGT'' ''MFLOW'' ''MODE'' ]
 +
    [ '''rm''' ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ]
 +
    [ '''ru''' ''UNI<sub>1</sub>'' ''UNI<sub>2</sub>'' ]
 +
 
 +
Defines the reprocessing controllers. Input values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : name of the reprocessor.
 +
|-
 +
| <tt>''SRC''</tt>
 +
| : name of the source material, from which the flow is moved
 +
|-
 +
| <tt>''TGT''</tt>
 +
| : name of the target material, to which the flow is moved
 +
|-
 +
| <tt>''MFLOW''</tt>
 +
| : name of the material flow
 +
|-
 +
| <tt>''MODE''</tt>
 +
| : continuous reprocessing mode
 +
|-
 +
| <tt>''MAT<sub>1</sub>''</tt>
 +
| : name of the replaced material
 +
|-
 +
| <tt>''MAT<sub>2</sub>''</tt>
 +
| : name of the replacing material
 +
|-
 +
| <tt>''UNI<sub>1</sub>''</tt>
 +
| : name of the replaced universe
 +
|-
 +
| <tt>''UNI<sub>2</sub>''</tt>
 +
| : name of the replacing universe
 +
|-
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The reprocessor name identifies the reprocessing regime in the depletion calculation [[#dep|dep card]]. The syntax corresponds to '''dep pro''' ''NAME''.
 +
*The nuclides identifier of those included in both source <tt>''SRC''</tt> and target <tt>''TGT''</tt> materials in reprocessors should follow the same format, either ZA.ID or ISO.ID (for nuclides with cross sections), or ZAI (for nuclides without associated cross sections, and adding the '''fix''' entry to the [[#mat (material definition)|mat card]]).
 +
*The (continuous) reprocessing implementation works with materials, not universes. Therefore, define the universes associated with those burnable materials as surface-cell type universes.
 +
*Multiple reprocessing controllers/regimes can be defined within the same reprocessor definition.
 +
*The '''rc''' continuous reprocessing option can be used to define the material flow between the source and the target materials.
 +
**The material flow is defined using the [[#mflow|mflow card]].
 +
**The continuous reprocessing <tt>''MODE''</tt> defines how to incorporate the material flow into the Bateman equations:
 +
 
 +
::{|class="wikitable" style="text-align: center;"
 +
! <tt>''MODE''</tt>
 +
! Material source
 +
! Material target
 +
! Material flow
 +
|-
 +
| 0
 +
| <math>N_{src}(t)=N_{src}(0)</math>
 +
| <math>N_{tgt}(t)=N_{tgt}(0)+t\lambda N_{src}(0)</math>
 +
| <math>\dot{N}(t)=\lambda N_{src}(0)</math>
 +
|-
 +
| 1
 +
| <math>N_{src}(t)=N_{src}(0)e^{-\lambda t}</math>
 +
| <math>N_{tgt}(t) = N_{tgt}(0) + (1-e^{-\lambda t})N_{src}(0)</math>
 +
| <math>\dot{N}(t)=\lambda N_{src}(t)</math>
 +
|-
 +
| 2
 +
| <math>N_{src}(n+1)=(1-\Delta t_{n}\lambda)N_{src}(n)</math>
 +
| <math>N_{tgt}(n+1)=N_{tgt}(n)+\Delta t_{n}\lambda N_{src}(n)</math>
 +
| <math>\dot{N}(n)=\lambda N_{src}(n)</math>
 +
|}
 +
 
 +
:*<tt>''MODE''</tt> 0 : no changes at the source material and adds ''&lambda;N<sub>0</sub>'' from the source material to the target material when solving the Bateman equations (''N<sub>0</sub>'' are initial compositions).
 +
:*<tt>''MODE''</tt> 1 : subtracts ''&lambda;N'' from the source material and adds it to the target material when solving the Bateman equations.
 +
:*<tt>''MODE''</tt> 2 : subtracts ''&lambda;N<sub>n</sub>'' from the source material and adds it to the target material when solving the Bateman equations (compositions updated with each burnup step, ''n'').
 +
*The '''rm''' material reprocessing option replaces one material with another, ''MAT<sub>1</sub>'' by ''MAT<sub>2</sub>''.
 +
*The '''ru''' universe reprocessing option replaces one universe with another, ''UNI<sub>1</sub>'' by ''UNI<sub>2</sub>''.
 +
 
 +
=== sample (Temperature / density data sample definition)<span id="sample"></span> ===
 +
 
 +
'''sample'''  ''N<sub>X</sub>'' ''X<sub>MIN</sub>'' ''X<sub>MAX</sub>''  ''N<sub>Y</sub>'' ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>''  ''N<sub>Z</sub>'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>''
 +
 
 +
Samples values from the initial material temperatures and densities to a file using a Cartesian grid.
 +
 
 +
Input values:
 +
 
 +
{|
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : Number of values to sample in the x-direction.
 +
|-
 +
| <tt>''X<sub>MIN</sub>''</tt>
 +
| : Minimum coordinate to sample from in the x-direction.
 +
|-
 +
| <tt>''X<sub>MAX</sub>''</tt>
 +
| : Maximum coordinate to sample from in the x-direction.
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : Number of values to sample in the y-direction.
 +
|-
 +
| <tt>''Y<sub>MIN</sub>''</tt>
 +
| : Minimum coordinate to sample from in the y-direction.
 +
|-
 +
| <tt>''Y<sub>MAX</sub>''</tt>
 +
| : Maximum coordinate to sample from in the y-direction.
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : Number of values to sample in the z-direction.
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : Minimum coordinate to sample from in the z-direction.
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : Maximum coordinate to sample from in the z-direction.
 +
|-
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The data from each sample is written in a separate <tt>[input]_sample''N''.m</tt> 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 [[Input syntax manual#mat|mat]]-card or through an interface definition will show a temperature of 0.
 +
 
 +
=== sens (sensitivity calculation definition)<span id="sens"></span> ===
 +
'''sens''' '''pert'''
 +
 
 +
'''sens''' '''resp'''
 +
 
 +
'''sens''' '''opt'''
 +
 
 +
Definitions for the perturbations, responses and options for [[sensitivity calculations]].
 +
 
 +
=== solid (irregular 3D geometry definition)<span id="solid"></span> ===
 +
'''solid 1''' ''UNI'' ''BGUNI''
 +
''MESH_SPLIT'' ''MESH_DIM'' ''SZ<sub>1</sub>'' ''SZ<sub>2</sub>'' ... ''SZ<sub>MESH_DIM</sub>''
 +
''POINTS_FILE''
 +
''FACES_FILE''
 +
''OWNER_FILE''
 +
''NEIGHBOUR_FILE''
 +
''MATERIALS_FILE''
 +
 
 +
Creates an unstructured mesh-based geometry universe. Input values are:
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name for the irregular geometry
 +
|-
 +
| <tt>''BGUNI''</tt>
 +
| : name of the background universe filling all undefined space
 +
|-
 +
| <tt>''MESH_SPLIT''</tt>
 +
| : Splitting criterion for the adaptive search mesh (maximum number of geometry cells in search mesh cell)
 +
|-
 +
| <tt>''MESH_DIM''</tt>
 +
| : number of levels in the adaptive search mesh
 +
|-
 +
| <tt>''SZ<sub>i</sub>''</tt>
 +
| : Size of the search mesh at level <tt>''i''</tt>
 +
|-
 +
| <tt>''POINTS_FILE''</tt>
 +
| : Path to the unstructured mesh points file
 +
|-
 +
| <tt>''FACES_FILE''</tt>
 +
| : Path to the unstructured mesh faces file
 +
|-
 +
| <tt>''OWNER_FILE''</tt>
 +
| : Path to the unstructured mesh owner file
 +
|-
 +
| <tt>''NEIGHBOUR_FILE''</tt>
 +
| : Path to the unstructured mesh neighbour file
 +
|-
 +
| <tt>''MATERIALS_FILE''</tt>
 +
| : Path to the unstructured mesh materials file
 +
|}
 +
 
 +
'''solid 2''' ''UNI'' ''BGUNI''
 +
''MESH_SPLIT'' ''MESH_DIM'' ''SZ<sub>1</sub>'' ''SZ<sub>2</sub>'' ... ''SZ<sub>MESH_DIM</sub>''
 +
''MODE'' ''R0''
 +
'''body''' ''BODY<sub>1</sub>'' ''CELL<sub>1</sub>'' ''MAT<sub>1</sub>''
 +
'''file''' ''BODY<sub>1</sub>'' ''FILE<sub>1</sub>'' ''SCALE<sub>1</sub>'' ''X<sub>1</sub>'' ''Y<sub>1</sub>'' ''Z<sub>1</sub>''
 +
'''file''' ''BODY<sub>1</sub>'' ''FILE<sub>2</sub>'' ''SCALE<sub>2</sub>'' ''X<sub>2</sub>'' ''Y<sub>2</sub>'' ''Z<sub>2</sub>''
 +
...
 +
'''body''' ''BODY<sub>2</sub>'' ''CELL<sub>2</sub>'' ''MAT<sub>2</sub>''
 +
'''file''' ''BODY<sub>2</sub>'' ''FILE<sub>3</sub>'' ''SCALE<sub>3</sub>'' ''X<sub>3</sub>'' ''Y<sub>3</sub>'' ''Z<sub>3</sub>''
 +
'''file''' ''BODY<sub>2</sub>'' ''FILE<sub>4</sub>'' ''SCALE<sub>4</sub>'' ''X<sub>4</sub>'' ''Y<sub>4</sub>'' ''Z<sub>4</sub>''
 +
...
 +
 
 +
Creates an STL-based geometry universe. Input values are:
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name for the irregular geometry
 +
|-
 +
| <tt>''BGUNI''</tt>
 +
| : name of the background universe filling all undefined space
 +
|-
 +
| <tt>''MESH_SPLIT''</tt>
 +
| : Splitting criterion for the adaptive search mesh (maximum number of geometry cells in search mesh cell)
 +
|-
 +
| <tt>''MESH_DIM''</tt>
 +
| : number of levels in the adaptive search mesh
 +
|-
 +
| <tt>''SZ<sub>i</sub>''</tt>
 +
| : Size of the search mesh at level <tt>''i''</tt>
 +
|-
 +
| <tt>''MODE''</tt>
 +
| : Mode for handling the triangulated geometry (1 = "fast", 2 = "safe").
 +
|-
 +
| <tt>''R0''</tt>
 +
| : Radius inside which two points of the STL-geometry are joined into one.
 +
|-
 +
| <tt>''BODY<sub>i</sub>''</tt>
 +
| : Name of solid body <tt>''i''</tt>
 +
|-
 +
| <tt>''CELL<sub>i</sub>''</tt>
 +
| : Name of geometry cell <tt>''i''</tt> linked with body <tt>''i''</tt>
 +
|-
 +
| <tt>''MAT<sub>i</sub>''</tt>
 +
| : Material filling cell <tt>''i''</tt>
 +
|-
 +
| <tt>''FILE<sub>i</sub>''</tt>
 +
| : Path to a file containing an STL solid model, multiple files can be linked to one body
 +
|-
 +
| <tt>''SCALE<sub>i</sub>''</tt>
 +
| : Scaling factor for the STL model in <tt>''FILE<sub>i</sub>''</tt>
 +
|-
 +
| <tt>''X<sub>i</sub>''</tt>
 +
| : Shift in x-direction to the STL model in <tt>''FILE<sub>i</sub>''</tt>
 +
|-
 +
| <tt>''Y<sub>i</sub>''</tt>
 +
| : Shift in y-direction to the STL model in <tt>''FILE<sub>i</sub>''</tt>
 +
|-
 +
| <tt>''Z<sub>i</sub>''</tt>
 +
| : Shift in z-direction to the STL model in <tt>''FILE<sub>i</sub>''</tt>
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The material entries can be replaced by <tt>'''fill''' ''UNI<sub>i</sub>''</tt>, in which case the cell <tt>''i''</tt>  is filled by the given universe.
 +
 
 +
'''solid 3'''
 +
''INTERFACE_FILE''
 +
 
 +
Creates an unstructured mesh-based geometry universe with unstructured mesh-based temperature and/or density distributions. Input values are:
 +
 
 +
{|
 +
| <tt>''INTERFACE_FILE''</tt>
 +
| : Path to the [[Multi-physics_interface#Unstructured_mesh_based_interface_and_geometry_definition_.28type_9.29|interface file]] containing the rest of the parameters
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*For simple example of a CAD-based geometry, see the [[Stanford critical bunny]].
 +
*For more information on the unstructured mesh based geometry see [[Unstructured mesh based input]].
 +
*For a simple example of an unstructured mesh based geometry see the [[Simple umsh 8 cubes input]].
 +
 
 +
=== src (source definition)<span id="src"></span> ===
 +
 
 +
'''src''' ''NAME'' [ ''PART'' ]
 +
          [ [[#src_sw|'''sw''']] ''WGT'' ]
 +
          [ [[#src_sc|'''sc''']] ''CELL'' ]
 +
          [ [[#src_su|'''su''']] ''UNI'' ]
 +
          [ [[#src_sm|'''sm''']] ''MAT'' ]
 +
          [ [[#src_sp|'''sp''']] ''X'' ''Y'' ''Z'' ]
 +
          [ [[#src_sx|'''sx''']] ''X<sub>MIN</sub>'' ''X<sub>MAX</sub>'' ]
 +
          [ [[#src_sy|'''sy''']] ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>'' ]
 +
          [ [[#src_sz|'''sz''']] ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ]
 +
          [ [[#src_srad|'''srad''']] ''R<sub>MIN</sub>'' ''R<sub>MAX</sub>'' ]
 +
          [ [[#src_ss|'''ss''']] ''SURF'' ]
 +
          [ [[#src_sd|'''sd''']] ''U'' ''V'' ''W'' ] 
 +
          [ [[#src_se|'''se''']] ''E'' ]
 +
          [ [[#src_sb|'''sb''']] ''N'' ''INTT'' ''E<sub>1</sub>'' ''WGT<sub>1</sub>'' ''E<sub>2</sub>'' ''WGT<sub>2</sub>'' ... ]
 +
          [ [[#src_sr|'''sr''']] ''NUC'' ''MT'' ]
 +
          [ [[#src_st|'''st''']] ''T<sub>MIN</sub>'' ''T<sub>MIN</sub>'' ]
 +
          [ [[#src_sf|'''sf''']] ''FILE'' ''TYPE'' ]
 +
          [ [[#src_si|'''si''']] ''N'' ''P<sub>1</sub>'' ''P<sub>2</sub>'' ... ]
 +
          [ [[#src_sg|'''sg''']] ''MAT'' ''MODE'' ]
 +
Source definition. The first parameter:
 +
 +
{|
 +
| <tt>''PART''</tt>
 +
| : 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 (<tt>'''sw'''</tt>):<span id="src_sw"></span>
 +
 
 +
{|
 +
| <tt>''WGT''</tt>
 +
| : relative source weight
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''sc'''</tt>):<span id="src_sc"></span>
 +
 
 +
{|
 +
| <tt>''CELL''</tt>
 +
| : cell inside which the source points are sampled
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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/(vertical) cylinder around the cell (using the <tt>'''sx'''</tt>, <tt>'''sy'''</tt> and <tt>'''sz'''</tt> or <tt>'''sp'''</tt>, <tt>'''srad'''</tt> and <tt>'''sz'''</tt> options, respectively).
 +
*If no spatial distribution is defined, particles are sampled uniformly over the geometry.
 +
 
 +
 
 +
Source universe (<tt>'''su'''</tt>):<span id="src_su"></span>
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe inside which the source points are sampled
 +
|}
 +
 
 +
 
 +
Source material (<tt>'''sm'''</tt>):<span id="src_sm"></span>
 +
 
 +
{|
 +
| <tt>''MAT''</tt>
 +
| : material inside which the source points are sampled
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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/(vertical) cylinder around the cell (using the <tt>'''sx'''</tt>, <tt>'''sy'''</tt> and <tt>'''sz'''</tt> or <tt>'''sp'''</tt>, <tt>'''srad'''</tt> and <tt>'''sz'''</tt> options, respectively).
 +
*If no spatial distribution is defined, particles are sampled uniformly over the geometry.
 +
 
 +
 
 +
Source point (<tt>'''sp'''</tt>):<span id="src_sp"></span>
 +
 
 +
{|
 +
| <tt>''X''</tt>, <tt>''Y''</tt>, <tt>''Z''</tt>,
 +
| : coordinates of the source point
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''sx'''</tt>, <tt>'''sy'''</tt>, <tt>'''sz'''</tt> and <tt>'''srad'''</tt>):<span id="src_sy"></span><span id="src_sx"></span><span id="src_sz"></span><span id="src_srad"></span>
 +
 
 +
{|
 +
| <tt>''X<sub>MIN</sub>''</tt>, <tt>''X<sub>MAX</sub>''</tt>
 +
| : Boundaries on X-axis
 +
|-
 +
| <tt>''Y<sub>MIN</sub>''</tt>, <tt>''Y<sub>MAX</sub>''</tt>
 +
| : Boundaries on Y-axis
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>, <tt>''Z<sub>MAX</sub>''</tt>
 +
| : Boundaries on Z-axis
 +
|-
 +
| <tt>''R<sub>MIN</sub>''</tt>, <tt>''R<sub>MAX</sub>''</tt>
 +
| : Radial boundaries
 +
|-
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Source boundaries are used to define a bounding box/(vertical) cylinder inside which the source particles are sampled.
 +
*The radial boundaries are centered around the point defined by <tt>'''sp'''</tt> and can be used in combination with <tt>'''sz'''</tt>.
 +
*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 (<tt>'''ss'''</tt>):<span id="src_ss"></span>
 +
 
 +
{|
 +
| <tt>''SURF''</tt>
 +
| : surface on which the source particles are sampled
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The surface source is currently limited to infinite vertical cylinder (<tt>'''cyl'''</tt>) and sphere (<tt>'''sph'''</tt>) surface types.
 +
*Particles are started in the direction of the inward surface normal.
 +
 
 +
 
 +
Source direction (<tt>'''sd'''</tt>):<span id="src_sd"></span>
 +
 
 +
{|
 +
| <tt>''U''</tt>, <tt>''V''</tt>, <tt>''W''</tt>,
 +
| : direction vector of source particles
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''se'''</tt>):<span id="src_se"></span>
 +
 
 +
{|
 +
| <tt>''E''</tt>
 +
| : energy of source particles
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''sr'''</tt>).
 +
 
 +
 
 +
Source energy bins (<tt>'''sb'''</tt>):<span id="src_sb"></span>
 +
 
 +
{|
 +
| <tt>''N''</tt>
 +
| : number of bins
 +
|-
 +
| <tt>''INTT''</tt>
 +
| : interpolation (0 = line spectrum, 1 = histogram, 2 = lin-lin, 4 = log-lin)
 +
|-
 +
| <tt>''E<sub>n</sub>''</tt>
 +
| : upper boundary of the energy bin
 +
|-
 +
| <tt>''WGT<sub>n</sub>''</tt>
 +
| : weight of the energy bin
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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.
 +
*Interpolation is given in a separate parameter from version 2.1.31 on.
 +
*Here, a simple test input that demonstrates the [[Source energy spectrum definition test case|source spectrum definition]].
 +
 
 +
Source reaction (<tt>'''sr'''</tt>):<span id="src_sr"></span>
 +
 
 +
{|
 +
| <tt>''NUC''</tt>
 +
| : nuclide name
 +
|-
 +
| <tt>''MT''</tt>
 +
| : reaction number
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The source reaction determines a distribution function for source energy (for example, <sup>235</sup>U fission spectrum can be defined as: <tt>'''sr''' ''92235.09c'' ''18''</tt>).
 +
*The reaction numbers are [[ENDF reaction MT's and macroscopic reaction numbers|ENDF reaction MT's]], and the data is obtained from standard cross section libraries.
 +
*Applies to neutrons only.
 +
*When the source energy parameter (<tt>'''se'''</tt>) is defined, the value is used as the energy of the incoming neutrons.
 +
 
 +
 
 +
Source time (<tt>'''st'''</tt>):<span id="src_st"></span>
 +
 
 +
{|
 +
| <tt>''T<sub>MIN</sub>''</tt>, <tt>''T<sub>MAX</sub>''</tt>
 +
| : time boundaries
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 (<tt>'''sf'''</tt>):<span id="src_sf"></span>
 +
 
 +
{|
 +
| <tt>''FILE''</tt>
 +
| : file path to source file
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : file type (-1 = binary, 1 = ASCII)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>'''df'''</tt> entry of [[#det_df|detector cards]], or the [[#set csw|set csw]] or [[#set gsw|set gsw]] options.
 +
 
 +
 
 +
User-defined source routine (<tt>'''si'''</tt>):<span id="src_si"></span>
 +
 
 +
{|
 +
| <tt>''N''</tt>
 +
| : number of parameters
 +
|-
 +
| <tt>''P<sub>n</sub>''</tt>
 +
| : parameters passed as arguments into the subroutine
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 "<tt>usersrc.c</tt>".
 +
*The subroutine may be overwritten with the blank template file when installing updates.
 +
 
 +
 
 +
Radioactive decay source (<tt>'''sg'''</tt>):<span id="src_sg"></span>
 +
 
 +
{|
 +
| <tt>''MAT''</tt>
 +
| : material name or -1
 +
|-
 +
| <tt>''MODE''</tt>
 +
| : sampling mode (1 = analog, 2 = implicit)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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|set rfw]] and [[#set rfr|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 <tt>[input]_gsrc.m</tt> or <tt>[input]_nsrc.m</tt> that contains the gamma/neutron source spectra, respectively.
 +
*See [[Radioactive decay source, practical example|practical example]] for more information.
 +
 
 +
=== srtrans (source transformation)<span id="srtrans"></span> ===
 +
 
 +
See [[#trans (transformations)|transformations]].
 +
 
 +
=== strans (surface transformation)<span id="strans"></span> ===
 +
 
 +
See [[#trans (transformations)|transformations]].
 +
 
 +
=== surf (surface definition)<span id="surf"></span> ===
 +
 
 +
'''surf''' ''NAME TYPE'' [ ''PARAM<sub>1</sub> PARAM<sub>2</sub>'' ... ]
 +
 
 +
Defines a surface. Input values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : is the surface name
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| : is the surface type
 +
|-
 +
| <tt>''PARAM<sub>n</sub>''</tt>
 +
| : are the surface parameters
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The name is used to identify the surface, for example, in the [[#cell (cell definition)|cell card]].
 +
*See [[Surface types|separate description on surface types]].
 +
*Surfaces can be moved and rotated using [[#trans (transformations)|transformations]].
 +
 
 +
=== therm and thermstoch (thermal scattering)<span id="therm"></span><span id="thermstoch"></span> ===
 +
 
 +
'''therm''' ''NAME'' ''LIB''
 +
 
 +
'''therm''' ''NAME'' ''TEMP'' ''LIB<sub>1</sub>'' ''LIB<sub>2</sub>''
 +
 
 +
'''therm''' ''NAME'' 0 ''LIB<sub>1</sub>'' ''LIB<sub>2</sub>'' ''LIB<sub>3</sub>'' ...
 +
 
 +
'''thermstoch''' ''NAME'' ''TEMP'' ''LIB<sub>1</sub>'' ''LIB<sub>2</sub>''
 +
 
 +
Defines thermal scattering data that can be linked to nuclides using input entry '''moder''' in the [[#mat (material definition)|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 ([[#mat (material definition)|mat card]]) or via the multi-physics interface ([[#ifc (interface file)|ifc card]]).
 +
 
 +
Input values:
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : name of the thermal scattering data
 +
|-
 +
| <tt>''LIB<sub>i</sub>''</tt>
 +
| : thermal scattering data identifiers as defined in the directory file (acelib)
 +
|-
 +
| <tt>''TEMP''</tt>
 +
| : temperature to which the thermal scattering data is interpolated
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*When using on-the-fly interpolation of thermal scattering data, <tt>''LIB<sub>i</sub>''</tt> 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.
 +
*The continuous S(&alpha;, &beta;) formalism is available from version 2.1.32 on.
 +
*Version 2.2.0 includes the on-the-fly temperature treatment for the continuous S(&alpha;,&beta;) formalism.
 +
 
 +
=== tme (time binning definition)<span id="tme"></span> ===
 +
 
 +
'''tme''' ''NAME'' '''1''' ''LIM<sub>1</sub> LIM<sub>2</sub>'' ...
 +
 
 +
'''tme''' ''NAME'' '''2''' ''NB T<sub>min</sub> T<sub>max</sub>''
 +
 
 +
'''tme''' ''NAME'' '''3''' ''NB T<sub>min</sub> T<sub>max</sub>''
 +
 
 +
Defines a time binning structure. The second entry sets the binning type (1 = arbitrary, 2 = uniform, 3 = log-uniform). Remaining values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : name of the time binning
 +
|-
 +
| <tt>''NB''</tt>
 +
| : number of bins
 +
|-
 +
| <tt>''LIM<sub>n</sub>''</tt>
 +
| : time bin boundaries in arbitrary binning
 +
|-
 +
| <tt>''T<sub>min</sub>''</tt>
 +
| : minimum time boundary in uniform or log-uniform binning
 +
|-
 +
| <tt>''T<sub>max</sub>''</tt>
 +
| : maximum time boundary in uniform or log-uniform binning
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 [[#det (detector definition)|detectors]] and [[Dynamic external source simulation mode|dynamic simulation mode]].
 +
 
 +
=== trans (transformations)<span id="trans"></span> ===
 +
 
 +
'''trans''' ''TYPE'' ''UNIT'' [ ''IDX'' ] ''LVL''
 +
 
 +
'''trans''' ''TYPE'' ''UNIT'' [ ''IDX'' ] ''X'' ''Y'' ''Z''
 +
 
 +
'''trans''' ''TYPE'' ''UNIT'' [ ''IDX'' ] ''X'' ''Y'' ''Z'' ''&theta;<sub>x</sub>'' ''&theta;<sub>y</sub>'' ''&theta;<sub>z</sub>'' ''ORD''
 +
 
 +
'''trans''' ''TYPE'' ''UNIT'' [ ''IDX'' ] ''X'' ''Y'' ''Z'' ''&alpha;<sub>1</sub>'' ''&alpha;<sub>2</sub>'' ''&alpha;<sub>3</sub>'' ''&alpha;<sub>4</sub>'' ''&alpha;<sub>5</sub>'' ''&alpha;<sub>6</sub>'' ''&alpha;<sub>7</sub>'' ''&alpha;<sub>8</sub>'' ''&alpha;<sub>9</sub>'' ''ORD''
 +
 
 +
'''trans''' ''TYPE'' ''UNIT'' [ ''IDX'' ] '''rot''' ''X<sub>0</sub>'' ''Y<sub>0</sub>'' ''Z<sub>0</sub>'' ''I'' ''J'' ''K'' ''&beta;''
 +
 
 +
Defines surface, universe, fill, lattice, detector mesh or source transformation. Input values:
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : type of transformation (S = surface, F = fill, U = universe, L = lattice, D = detector mesh, SR = source)
 +
|-
 +
| <tt>''UNIT''</tt>
 +
| : surface, cell, universe, lattice, detector mesh or source name to which the transformation is applied
 +
|-
 +
| <tt>''IDX''</tt>
 +
| : index number in lattice transformation (type L)
 +
|-
 +
| <tt>''LVL''</tt>
 +
| : level number in universe level transformation
 +
|-
 +
| <tt>''X'',''Y'',''Z''</tt>
 +
| : translation vector
 +
|-
 +
| <tt>''&theta;<sub>x</sub>'' ''&theta;<sub>y</sub>'' ''&theta;<sub>z</sub>''</tt>
 +
| : rotation angles with respect to x-, y- and z-axes (in degrees)
 +
|-
 +
| <tt>''&alpha;<sub>1</sub>'' ... ''&alpha;<sub>9</sub>''</tt>
 +
| : coefficients of the rotation matrix
 +
|-
 +
| <tt>''ORD''</tt>
 +
| : order in which translations and rotations are applied (1 = rotations first, 2 = translations first)
 +
|-
 +
| <tt>''X<sub>0</sub>'',''Y<sub>0</sub>'',''Z<sub>0</sub>''</tt>
 +
| : Origin of vector defining rotation axis.
 +
|-
 +
| <tt>''I'',''J'',''K''</tt>
 +
| : Components of vector defining rotation axis.
 +
|-
 +
| <tt>''&beta;''</tt>
 +
| : 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.'''
 +
|-
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>''LVL''</tt>.
 +
*Lattice transformation requires to provide the index for the transformation  <tt>''IDX''</tt>.
 +
*Source transformation is inverted. transformation is inverted compared to how surface, universe, etc. are handled.
 +
*By default translations are applied before rotations, and the order can be switched using the <tt>''ORD''</tt> 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 <math>\vec{r'} = \bold{A} \vec{r}</math> where <math>\vec{r}</math> and <math>\vec{r'}</math> are the position vectors before and after the operation and coefficients <tt>''&alpha;<sub>1</sub>'' ... ''&alpha;<sub>9</sub>''</tt> define the 3 by 3 matrix <math>\bold{A}</math>.
 +
*To preserve backwards compatibility, input parameters "strans", "utrans", "ftrans", "ltrans", "dtrans" and "srtrans" without the following type identifier are also accepted for defining surface, universe, fill, lattice, detector mesh and source transformations, respectively. To preserve compatibility with Serpent 1, parameter "trans" without type identifier defines a universe transformation.
 +
 
 +
=== transb (burnup transformation)<span id="transb"></span> ===
 +
 
 +
'''transb''' ''STEP'' [ <''trans''> ] 
 +
 
 +
Defines burnup-dependent surface, universe or fill transformation. Input values:
 +
 
 +
{|
 +
| <tt>''STEP''</tt>
 +
| : step in units of burnup (positive values) or days (negative values)
 +
|-
 +
| <tt><''trans''></tt>
 +
| : list of parameters associated with the transformation
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The parameters associated with the transformation follow the standard transformation cards syntax without "trans" identifier.
 +
 
 +
=== transv and transa (velocity and acceleration transformations)<span id="transa"></span><span id="transv"></span> ===
 +
 
 +
'''transv''' ''TYPE'' ''UNIT'' [ ''IDX'' ] [ '''tlim''' ''T<sub>0</sub>'' ''T<sub>1</sub>'' ''T<sub>TYPE</sub>'' ] ''V<sub>X</sub>'' ''V<sub>Y</sub>'' ''V<sub>Z</sub>''
 +
 
 +
'''transa''' ''TYPE'' ''UNIT'' [ ''IDX'' ] [ '''tlim''' ''T<sub>0</sub>'' ''T<sub>1</sub>'' ''T<sub>TYPE</sub>'' ] ''A<sub>X</sub>'' ''A<sub>Y</sub>'' ''A<sub>Z</sub>''
 +
 
 +
 
 +
Defines surface, universe, fill, lattice, detector mesh or source transformation. Input values:
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : type of transformation (S = surface, F = fill, U = universe, L = lattice, D = detector mesh, SR = source)
 +
|-
 +
| <tt>''UNIT''</tt>
 +
| : surface, cell, universe, lattice, detector mesh or source name to which the transformation is applied
 +
|-
 +
| <tt>''IDX''</tt>
 +
| : index number in lattice transformation (type L)
 +
|-
 +
| <tt>''T<sub>0</sub>''</tt>
 +
| : beginning time of the transformation
 +
|-
 +
| <tt>''T<sub>1</sub>''</tt>
 +
| : end time of the transformation
 +
|-
 +
| <tt>''T<sub>TYPE</sub>''</tt>
 +
| : transformation type after end time (1 = movement stops, 2 = transformation removed, 3 = initial acceleration and velocity removed, but velocity accumulated due to acceleration remains)
 +
|-
 +
| <tt>''V<sub>X</sub>'',''V<sub>Y</sub>'',''V<sub>Z</sub>''</tt>
 +
| : Initial velocity vector
 +
|-
 +
| <tt>''A<sub>X</sub>'',''A<sub>Y</sub>'',''A<sub>Z</sub>''</tt>
 +
| : Initial acceleration vector
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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]].
 +
 
 +
===umsh (unstructured mesh-based geometry definition)<span id="transa"></span><span id="umsh"></span> ===
 +
 
 +
''UNI'' ''BGUNI''
 +
''MESH_SPLIT'' ''MESH_DIM'' ''SZ<sub>1</sub>'' ''SZ<sub>2</sub>'' ... ''SZ<sub>MESH_DIM</sub>''
 +
''POINTS_FILE''
 +
''FACES_FILE''
 +
''OWNER_FILE''
 +
''NEIGHBOUR_FILE''
 +
''MATERIALS_FILE''
 +
 
 +
Defines an unstructured mesh-based geometry. Input values:
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe name for the unstructured mesh-based geometry
 +
|-
 +
| <tt>''BGUNI''</tt>
 +
| : name of the background universe filling all undefined space
 +
|-
 +
| <tt>''MESH_SPLIT''</tt>
 +
| : splitting criterion for the adaptive search mesh (maximum number of geometry cells in search mesh cell)
 +
|-
 +
| <tt>''MESH_DIM''</tt>
 +
| : number of levels in the adaptive search mesh
 +
|-
 +
| <tt>''SZ<sub>i</sub>''</tt>
 +
| : size of the search mesh at level <tt>''i''</tt>
 +
|-
 +
| <tt>''POINTS_FILE''</tt>
 +
| : path to the unstructured mesh points file
 +
|-
 +
| <tt>''FACES_FILE''</tt>
 +
| : path to the unstructured mesh faces file
 +
|-
 +
| <tt>''OWNER_FILE''</tt>
 +
| : path to the unstructured mesh owner file
 +
|-
 +
| <tt>''NEIGHBOUR_FILE''</tt>
 +
| : path to the unstructured mesh neighbour file
 +
|-
 +
| <tt>''MATERIALS_FILE''</tt>
 +
| : path to the unstructured mesh materials file
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*See also description of [[#solid (irregular 3D geometry definition)|solid (irregular 3D geometry definition), type 1]].
 +
 
 +
=== utrans (universe transformation)<span id="utrans"></span> ===
 +
 
 +
See [[#trans (transformations)|transformations]].
 +
 
 +
=== wwgen (response matrix based importance map solver)<span id="wwgen"></span> ===
 +
 
 +
'''wwgen''' ''NAME'' ''LIM'' ''NI'' ''MOD'' ''ERG'' ''MSH''
 +
      ''MIN<sub>1</sub>'' ''MAX<sub>1</sub>'' ''SZ<sub>1</sub>''
 +
      ''MIN<sub>2</sub>'' ''MAX<sub>2</sub>'' ''SZ<sub>2</sub>''
 +
      ''MIN<sub>3</sub>'' ''MAX<sub>3</sub>'' ''SZ<sub>3</sub>''
 +
      ''DET<sub>1</sub>'' ''W<sub>1</sub>'' [ ''DET<sub>2</sub>'' ''W<sub>2</sub>'' ... ]
 +
 
 +
'''wwgen''' ''NAME'' ''LIM'' ''NI'' ''MOD'' ''ERG'' ''MSH''
 +
      ''SZ<sub>1</sub>'' ''SZ<sub>2</sub>'' ''SZ<sub>3</sub>'' 
 +
      ''LIM<sub>11</sub>'' ''LIM<sub>12</sub>'' ...
 +
      ''LIM<sub>21</sub>'' ''LIM<sub>22</sub>'' ...
 +
      ''LIM<sub>31</sub>'' ''LIM<sub>32</sub>'' ...
 +
      ''DET<sub>1</sub>'' ''W<sub>1</sub>'' [ ''DET<sub>2</sub>'' ''W<sub>2</sub>'' ... ]
 +
 
 +
'''wwgen''' ''NAME'' ''LIM'' ''NI'' ''MOD'' ''ERG'' ''MSH''
 +
      ''X<sub>0</sub>'' ''Y<sub>0</sub>'' 
 +
      ''P'' ''NX'' ''NY''
 +
      ''MIN<sub>3</sub>'' ''MAX<sub>3</sub>'' ''SZ<sub>3</sub>''
 +
      ''DET<sub>1</sub>'' ''W<sub>1</sub>'' [ ''DET<sub>2</sub>'' ''W<sub>2</sub>'' ... ]
 +
 
 +
Defines the parameters for importance map calculation. Input values:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : a unique name to identify the calculation
 +
|-
 +
| <tt>''LIM''</tt>
 +
| : convergence criterion (typical value 1E-12)
 +
|-
 +
| <tt>''NI''</tt>
 +
| : maximum number of iterations
 +
|-
 +
| <tt>''MOD''</tt>
 +
| : solution mode (1 = single detector, 2 = multiple detectors, 3 = global variance reduction)
 +
|-
 +
| <tt>''ERG''</tt>
 +
| : energy group structure (or -1 if no energy dependence is included)
 +
|-
 +
| <tt>''MSH''</tt>
 +
| : mesh type (1  = Cartesian, 2 = Cylindrical, 4 = x-type hexagonal, 5 = y-type hexagonal, 6 = unevenly-spaced xyz, 8 = unevenly spaced cylindrical)
 +
|-
 +
| <tt>''MIN<sub>n</sub>''</tt>
 +
| : minimum mesh boundary (''n''th coordinate)
 +
|-
 +
| <tt>''MAX<sub>n</sub>''</tt>
 +
| : maximum mesh boundary (''n''th coordinate)
 +
|-
 +
| <tt>''SZ<sub>n</sub>''</tt>
 +
| : number of mesh cells (''n''th coordinate)
 +
|-
 +
| <tt>''LIM<sub>nm</sub>''</tt>
 +
| : mesh boundary ''m''th (''n''th coordinate)
 +
|-
 +
| <tt>''X<sub>0</sub>'', ''Y<sub>0</sub>''</tt>
 +
| : mesh center of hexagonal mesh (currently must be centered at the origin)
 +
|-
 +
| <tt>''P''</tt>
 +
| : hexagonal cell pitch
 +
|-
 +
| <tt>''NX'', ''NY''</tt>
 +
| : hexagonal mesh size
 +
|-
 +
| <tt>''DET<sub>i</sub>''</tt>
 +
| : detectors used as target response functions
 +
|-
 +
| <tt>''W<sub>i</sub>''</tt>
 +
| : weight factors for detector scores
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The solution mode provides various options on how the responses are used for calculating the importances.
 +
*The detector entries can be left out in global variance reduction mode (<tt>''MOD''</tt> = 3), in which case the mesh is optimized to uniformly populate the entire geometry.
 +
*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,&theta;,z), with &theta; given in degrees.
 +
*The hexagonal mesh is defined by mesh center, cell pitch, number of cells in the radial dimensions (similar to the hexagonal lattice) and axial binning.
 +
*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 <tt>[input].wwd</tt>.
 +
*Importance (weight window) meshes are read using the [[#wwin (weight window mesh definition)|wwin card]].
 +
*See also practical examples on [[Variance reduction]].
 +
*This capability is still <u>very much under development</u>. The input syntax may be revised at some point.
 +
 
 +
=== wwin (weight window mesh definition)<span id="wwin"></span> ===
 +
 
 +
'''wwin''' ''NAME''
 +
    [ [[#wwin_wf|'''wf''']] ''FILE'' ''FMT'' ]
 +
    [ [[#wwin_wn|'''wn''']] ''F'' ''X'' ''Y'' ''Z'' ''E'' ]
 +
    [ [[#wwin_wx|'''wx''']] ''C'' ''G'' ]
 +
    [ [[#wwin_wt|'''wt''']] ''SB'' ''TYPE'' ''MIN'' ''MAX'' ]
 +
    [ [[#wwin_wi1|'''wi''']] ''ITP'' ''NI'' ''WWG<sub>1</sub>'' ''DF<sub>1</sub>'' ''WWG<sub>2</sub>'' ''DF<sub>2</sub>'' ... ]
 +
    [ [[#wwin_wi2|'''wi''']] ''ITP'' ''NI'' ''WWG'' ''NX'' ''NY'' ''NZ'' ''NLOOP'' ''NTRK'' ''ISPL'' ''NSPL'' ''DSPL<sub>1</sub>'' ''SX<sub>1</sub>'' ''SY<sub>1</sub>'' ''SZ<sub>1</sub>'' ''DSPL<sub>2</sub>'' ''SX<sub>2</sub>'' ''SY<sub>2</sub>'' ''SZ<sub>2</sub>'' ...]
 +
 
 +
Defines a weight window mesh for variance reduction. The first parameter:
 +
 
 +
{|
 +
| <tt>''NAME''</tt>
 +
| : a unique name to identify the mesh
 +
|}
 +
 
 +
identifies the mesh. The remaining parameters are defined by separate key words followed by the input values.
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Only works in external source simulation mode.
 +
*Importance (weight window) meshes can be generated by running the [[#wwgen (response matrix based importance map solver)|response matrix based solver]], or read in MCNP WWINP format.
 +
*Importance maps can be visualized using the [[#plot (geometry plot definition)|geometry plotter]].
 +
*See also [[#set wwb|set wwb]] and [[#set maxsplit|set maxsplit]] for setting options for weight windows, splitting and Russian roulette.
 +
*See also practical examples on [[Variance reduction]].
 +
*This capability is still <u>very much under development</u>. The input syntax may be revised at some point.
 +
 
 +
 
 +
Mesh file (<tt>'''wf'''</tt>):<span id="wwin_wf"></span>
 +
 
 +
{|
 +
| <tt>''FILE''</tt>
 +
| : file path and name of the importance mesh file
 +
|-
 +
| <tt>''FMT''</tt>
 +
| : file format (1 = mesh produced by Serpent importance map generator, 2 = MCNP WWINP format weight window mesh file)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*By default the importance map is read from the mesh file and used as-is, the additional options are provided for adjustments.
 +
*Currently the MCNP format only supports simple mesh types (no sub-mesh).
 +
 
 +
 
 +
Mesh normalization (<tt>'''wn'''</tt>):<span id="wwin_wn"></span>
 +
 
 +
{|
 +
| <tt>''F''</tt>
 +
| : importance for renormalization
 +
|-
 +
| <tt>''X,Y,Z''</tt>
 +
| : coordinates of point used for renormalization
 +
|-
 +
| <tt>''E''</tt>
 +
| : energy used for renormalization
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The importances can be renormalized by fixing the value at a given position and energy.
 +
 
 +
 
 +
Mesh adjustment (<tt>'''wx'''</tt>):<span id="wwin_wx"></span>
 +
 
 +
{|
 +
| <tt>''C''</tt>
 +
| : constant multiplier for adjusting importances
 +
|-
 +
| <tt>''G''</tt>
 +
| : exponential for adjusting importances
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The importances can be adjusted by constant multiplier <tt>''C''</tt> and exponential factor <tt>''G''</tt> such that <math>F' = CF^G</math>.
 +
 
 +
 
 +
Types and options (<tt>'''wt'''</tt>):<span id="wwin_wt"></span>
 +
 
 +
{|
 +
| <tt>''SB''</tt>
 +
| : option to set source biasing on (1/yes) or off (0/no) with Serpent-generated importance maps
 +
|-
 +
| <tt>''TYPE''</tt>
 +
| :  bounds type for Serpent-generated weight-windows (1 = averaged, 2 = segment-wise)
 +
|-
 +
| <tt>''MIN''</tt>
 +
| : minimum truncation limit for importances
 +
|-
 +
| <tt>''MAX''</tt>
 +
| : maximum truncation limit for importances
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Source biasing is currently not available
 +
 
 +
 
 +
Weight-window iterations, fixed mesh (<tt>'''wi'''</tt>):<span id="wwin_wi1"></span>
 +
 
 +
{|
 +
| <tt>''ITP''</tt>
 +
| : iteration type (1 = fixed mesh)
 +
|-
 +
| <tt>''NI''</tt>
 +
| : number of iterations between Monte Carlo simulation and the response matrix solver
 +
|-
 +
| <tt>''WWG<sub>i</sub>''</tt>
 +
| :  name of the WWG-structure used in the iteration
 +
|-
 +
| <tt>''DF<sub>i</sub>''</tt>
 +
| :  global density factor
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The fixed mesh option (<tt>''ITP''</tt> = 1) allows performing iterations using a single or multiple meshes generated using the [[#wwgen (response matrix based importance map solver)|response matrix based solver]].
 +
*The global density factor is a multiplier applied to all material densities.
 +
 
 +
 
 +
Weight-window iterations, adaptive mesh (<tt>'''wi'''</tt>):<span id="wwin_wi2"></span>
 +
 
 +
{|
 +
| <tt>''ITP''</tt>
 +
| : iteration type (2 = geometry-based adaptation, 3 = tracking-based adaptation)
 +
|-
 +
| <tt>''NI''</tt>
 +
| : number of iterations between Monte Carlo simulation and the response matrix solver
 +
|-
 +
| <tt>''WWG''</tt>
 +
| :  name of the WWG-structure used in the iteration
 +
|-
 +
| <tt>''NX''</tt>
 +
| : number of x-divisions for the adaptive mesh
 +
|-
 +
| <tt>''NY''</tt>
 +
| : number of y-divisions for the adaptive mesh
 +
|-
 +
| <tt>''NZ''</tt>
 +
| : number of z-divisions for the adaptive mesh
 +
|-
 +
| <tt>''NLOOP''</tt>
 +
| : number of outer iteration loops in generation of adaptive mesh
 +
|-
 +
| <tt>''NTRK''</tt>
 +
| : number of tracks per loop in generation of adaptive mesh
 +
|-
 +
| <tt>''ISPL''</tt>
 +
| : importance split criterion
 +
|-
 +
| <tt>''NSPL''</tt>
 +
| : neighbor split criterion
 +
|-
 +
| <tt>''DSPL<sub>i</sub>''</tt>
 +
| : density split criterion (negative values for mass, positive values for atomic density)
 +
|-
 +
| <tt>''SZ<sub>i</sub>''</tt>
 +
| : minimum cell dimension
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The adaptive mesh option (<tt>''ITP''</tt> = 2 or 3) starts with a coarse base mesh, and refines the resolution iteratively.
 +
*There are two adaptive mesh options. In the geometry-based option (<tt>''ITP''</tt> = 2) Serpent covers the geometry with <tt>''NTRK''</tt> random tracks and splits cells according to density criteria. In the tracking-based option (<tt>''ITP''</tt> = 3) the tracks are started from the source instead. The procedure is repeated <tt>''NLOOP''</tt> times.
 +
*Cell splitting is defined using the <tt>''NX'', ''NY''</tt> and <tt>''NZ''</tt> options. For example <tt>''NX''</tt> = 2, <tt>''NY''</tt> = 2, <tt>''NZ''</tt> = 2 results in each cell being split to 8 sub-cells (octree mesh). For 2D meshes the <tt>''NZ''</tt> parameter must be set to 1.
 +
*Splitting is carried out recursively, until limiting criteria are met. The <tt>''DSPL''</tt> parameters define upper density boundaries and minimum cell sizes for stopping the splits.
 +
*The importance split criterion defines the maximum relative difference between the importances of two adjacent cells. If the criterion is not met, both cells are split.
 +
*The neighbor split criterion defines the maximum number of neighbor allowed for a cell. If the criterion is not met, the cell is split.
 +
 
 +
== Input options<span id="input options"></span> ==
 +
 
 +
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 absrate ===
 +
 
 +
'''set absrate''' ''A'' [ ''MAT'' ]
 +
 
 +
Sets normalization to total absorption rate.
 +
 
 +
{|
 +
| <tt>''F''</tt>
 +
| : number of  neutrons absorbed per second (neutrons/s)
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : dummy parameter
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Normalization is needed to relate the Monte Carlo reaction rate estimates to a user-given parameter.
 +
*Absorption includes all reactions in which the incident neutron is lost, i.e. all capture reactions and fission.
 +
*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 power]], [[#set powdens|set powdens]], [[#set flux|set flux]], [[#set genrate|set genrate]], [[#set fissrate|set fissrate]], [[#set lossrate|set lossrate]], [[#set srcrate|set srcrate]], [[#set sfrate|set sfrate]].
 +
*See also Section 5.8 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
=== set acelib ===
 +
 
 +
'''set acelib''' ''LIB<sub>1</sub>'' [ ''LIB<sub>2</sub>'' ''LIB<sub>3</sub>'' ... ]
 +
Sets the cross section directory file paths. Input values:
 +
 
 +
{|
 +
| <tt>''LIB<sub>n</sub>''</tt>
 +
| : file paths to directory files
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>SERPENT_DATA</tt>. 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 <tt>SERPENT_ACELIB</tt>. This file will be used if no other path is given with '''set acelib'''.
 +
 
 +
=== set adf ===
 +
 
 +
'''set adf''' ''UNI SURF SYM [ENF]''
 +
Sets parameters for the calculation of assembly discontinuity factors (ADFs). Input values:
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe where spatial homogenization is performed
 +
|-
 +
| <tt>''SURF''</tt>
 +
| : surface enclosing the universe
 +
|-
 +
| <tt>''SYM''</tt>
 +
| : symmetry option ([[ADF symmetry options|see separate list]])
 +
|-
 +
| <tt>''ENF''</tt>
 +
| : option to skip diffusion flux solver and enforce flat homogeneous flux distribution based on mean heterogeneous flux (1/yes). Default is (0/no).
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The surface enclosing the universe can be super-imposed (i.e. not part of the geometry definition), but it must enclose the <u>entire</u> universe.
 +
*The surface is super-imposed on the geometry, i.e. its parameters (coordinates) are relative to the [[Input_syntax_manual#set_root|root universe]] (default 0)
 +
*When the universe is surrounded by zero net-current (reflective) boundary conditions, the ADFs 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 [[Diffusion flux solver|built-in diffusion flux solver]].
 +
*Calculation parameters for the diffusion flux solver can be set using the [[#set dfsol|set dfsol]] option.
 +
*Calculation of ADFs is currently allowed only for planes and infinite square and hexagonal prisms.
 +
*Symmetry options are used to average out the statistical variation in the ADFs, 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#Assembly discontinuity factors|output parameters]] in the <tt>[input]_res.m</tt>.
 +
*The ADFs can be printed to the [[Automated_burnup_sequence#Output|group constant output]] with [[Input syntax manual#set_coefpara|set coefpara]].
 +
*ADFs are calculated in the [[#set nfg|few-group structure used for group constant generation]].
 +
*The <tt>''ENF''</tt> parameter should be switched on only in rare cases (and you should know what you are doing).
 +
 
 +
=== set alb ===
 +
 
 +
'''set alb''' ''UNI SURF DIR''
 +
Sets parameters for calculating albedos. Input values:
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe where spatial homogenization is performed
 +
|-
 +
| <tt>''SURF''</tt>
 +
| : surface for which the albedos are calculated
 +
|-
 +
| <tt>''DIR''</tt>
 +
| : current direction (-1 = inward, 1 = outward)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*When this option is set, Serpent calculates both total albedos (ratio of currents) and partial albedos (response matrix).
 +
*The surface enclosing the universe can be super-imposed (i.e. not part of the geometry definition), but it must enclose the <u>entire</u> universe.
 +
*The surface is super-imposed on the geometry, i.e. its parameters (coordinates) are relative to the [[Input_syntax_manual#set_root|root universe]] (default 0)
 +
*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#Albedos|output parameters]].
 +
*Albedos are calculated in the [[#set nfg|few-group structure used for group constant generation]].
 +
 
 +
=== set arr ===
 +
 
 +
'''set arr''' ''MODEN'' [ ''MODEG'' ]
 +
Sets analog reaction rate calculation on or off. Input values:
 +
 
 +
{|
 +
| <tt>''MODEN''</tt>
 +
| : mode for neutrons (0 = no reactions included, 1 = include only reactions that affect neutron balance, 2 = include all reactions)
 +
|-
 +
| <tt>''MODEG''</tt>
 +
| : mode for photons (0 = no reactions included, 1 = include all reactions)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Analog reaction rates are calculated by counting sampled events and printed in a separate output file <tt>[input]_arr[bu].m</tt>, where "<tt>bu</tt>" is the burnup step.
 +
*See detailed description on the [[Description of output files#Reaction rate output|reaction rate output file]].
 +
 
 +
=== set ba ===
 +
 
 +
'''set ba''' ''ZAI<sub>1</sub> ZAI<sub>2</sub> ...''
 +
Defines isotopes handled separately as burnable absorbers. Input values:
 +
 
 +
{|
 +
| <tt>''ZAI<sub>n</sub>''</tt>
 +
| : nuclide identifiers ([[Definitions, units and constants#definitions|ZAI]])
 +
|}
 +
<u>Notes:</u>
 +
 
 +
*Some burnup applications require separate treatment for isotopes that are used as burnable absorbers but also produced in fission. This input parameter can be used to separate the transmutation chains.
 +
*Isotope handled as the burnable absorber is created by duplicating the original and renaming it as ''ZAI<sub>n</sub> + 1000''.
 +
*For Gd-155, for example, the fission product isotope would be assigned ZAI 641550 and the burnable absorber ZAI 642550.
 +
*The input parameter defines the entire transmutation chain. Listing Gd-isotopes 641540 641550 641560 641570 641580 creates a transmutation path from Gd-154 to Gd-158. Listing only the main absorbers (641550 641570) produces a different result, since the capture products of Gd-155 and Gd-157 are lost.
 +
 
 +
=== set bala ===
 +
 
 +
'''set bala''' ''OPT''
 +
Sets OpenMP load balancing on or off. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : probability to store particles in common queue (0 = off, >0 = on)
 +
|}
 +
<u>Notes:</u>
 +
 
 +
*Load balancing may improve OpenMP parallel scalability in calculations with significant branching (most typically related to coupled neutron/photon calculations or variance reduction).
 +
*The option is ON with <tt>''OPT''</tt>= 1 with weight-window/variance reduction calculations and dynamic/time-dependent calculation modes. Otherwise, it is set OFF by default. Before version 2.2.0, the default behavior was always OFF.
 +
*When this option is set, the random number sequence is no longer preserved.
 +
 
 +
=== set bc ===
 +
 
 +
'''set bc''' ''MODE''
 +
Sets the boundary conditions for all outer boundaries of the geometry. Input values:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : 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:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : boundary type (1 = vacuum, 2 = reflective, 3 = periodic)
 +
|-
 +
| <tt>''ALB''</tt>
 +
| : albedo
 +
|}
 +
 
 +
'''set bc''' ''MODEX MODEY MODEZ''
 +
Sets the boundary conditions separately for x-, y- and z-directions. Input values:
 +
 
 +
{|
 +
| <tt>''MODEX''</tt>
 +
| : boundary type in x-direction (1 = vacuum, 2 = reflective, 3 = periodic)
 +
|-
 +
| <tt>''MODEY''</tt>
 +
| : boundary type in y-direction (1 = vacuum, 2 = reflective, 3 = periodic)
 +
|-
 +
| <tt>''MODEZ''</tt>
 +
| : 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:
 +
 
 +
{|
 +
| <tt>''MODEX''</tt>
 +
| : boundary type in x-direction (1 = vacuum, 2 = reflective, 3 = periodic)
 +
|-
 +
| <tt>''MODEY''</tt>
 +
| : boundary type in y-direction (1 = vacuum, 2 = reflective, 3 = periodic)
 +
|-
 +
| <tt>''MODEZ''</tt>
 +
| : boundary type in z-direction (1 = vacuum, 2 = reflective, 3 = periodic)
 +
|-
 +
| <tt>''ALB''</tt>
 +
| : albedo
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>''ALB''</tt> 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 (cell definition)|cell card]])
 +
*For symmetry purposes Serpent provides the [[#set usym|universe symmetry option]].
 +
*For more information, see [[Boundary conditions|detailed description on boundary conditions]].
 +
*The boundary condition type numbers can also be given as strings, with black = 1, reflective = 2 and periodic = 3.
 +
 
 +
=== set blockdt ===
 +
 
 +
'''set blockdt''' ''MAT<sub>1</sub> MAT<sub>2</sub> ...''
 +
Defines the list of materials where delta-tracking is never used. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>n</sub>''</tt>
 +
| : material names
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*This option is used to override selection of tracking mode based on the probability threshold (see [[#set dt|set dt]]) in individual materials.
 +
*Use of delta-tracking can be forced in individual materials using [[#set forcedt|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<sub>1</sub>'' [ ''LIB<sub>2</sub>'' ''LIB<sub>3</sub>'' ... ]
 +
Sets isomeric branching data library file paths. Input values:
 +
 
 +
{|
 +
| <tt>''LIB<sub>n</sub>''</tt>
 +
| : library file paths
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 [[Default isomeric branching ratios|constant branching ratios]] by default. The default values can be overridden using the [[#set isobra|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: [[Branching ratio example|example input]]
 +
*Example data from the [http://virtual.vtt.fi/virtual/montecarlo/misc/sss_jeff31a.bra JEFF-3.1 activation file]
 +
 
 +
=== set branchless ===
 +
 
 +
'''set branchless''' ''OPT'' [ ''WGT_LOW'' ''WGT_HIGH'' ]
 +
Option that enables the branchless collision method for variance reduction. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| :  option to switch calculation on (1/yes) or off (0/no). Default is off.
 +
|-
 +
| <tt>''WGT_LOW''</tt>
 +
| : weight lower-boundary (default value: 0.2)
 +
|-
 +
| <tt>''WGT_HIGH''</tt>
 +
| : weight upper-boundary (default value: 10.0)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The branchless algorithm suppresses the variability due to the simultaneous propagation of the several branches associated to a fission event
 +
*The branchless method uses analog scattering combined with forced fission so that after each collision, the neutron is either a scattering neutron or a fission neutron. In a non-multiplying method, the branchless method behaves as implicit capture.
 +
 
 +
=== set bumode ===
 +
 
 +
'''set bumode''' ''MODE'' [ ''ORDER'' ''SSD'' ]
 +
 
 +
Sets the burnup calculation mode. Input values:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : burnup calculation mode
 +
|-
 +
| <tt>''ORDER''</tt>
 +
| : CRAM order
 +
|-
 +
| <tt>''SSD''</tt>
 +
| : number of substeps for CRAM decay steps (default or 0: use TTA)
 +
|}
 +
 
 +
The possible settings for mode are:
 +
 
 +
{| class="wikitable" style="text-align: left;"
 +
! Mode
 +
! Description
 +
|-
 +
| <tt>1, tta</tt>
 +
| Transmutation Trajectory Analysis (TTA)
 +
|-
 +
| <tt>2, cram</tt>
 +
| 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:
 +
 
 +
{| class="wikitable" style="text-align: left;"
 +
! CRAM order
 +
|-
 +
| <tt>2</tt>
 +
|-
 +
| <tt>4</tt>
 +
|-
 +
| <tt>6</tt>
 +
|-
 +
| <tt>8</tt>
 +
|-
 +
| <tt>10</tt>
 +
|-
 +
| <tt>12</tt>
 +
|-
 +
| <tt>14</tt>
 +
|-
 +
| <tt>16</tt>
 +
|-
 +
| <tt>-16</tt>
 +
|-
 +
| <tt>-48</tt>
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The default setting for the burnup calculation mode is CRAM.
 +
*Default value for the CRAM order is 14 resulting in order 14 PFD CRAM.
 +
*Negative values of CRAM order mean using IPF form of CRAM with order of the absolute value of the parameter.
 +
*Positive values refer to PFD form of CRAM.
 +
*Decay calculations (see [[#dep (depletion history)|dep (depletion history)]]) and burnup calculations with very low flux are always calculated with TTA disregarding this input before version 2.1.32. The latter, very low flux condition, only applies to calculations not involving continuous reprocessing.
 +
*Positive values of <tt>''SSD''</tt> enforce usage of CRAM with given number of substeps.
 +
*The Serpent 1 <tt>''MODE''</tt> 3, a variation TTA method, in which cyclic transmutation chains are handled by inducing small variations in the coefficients instead of solving the extended TTA equations, is overwritten by the standard TTA method <tt>''MODE''</tt> 1.
 +
*Version 2.2.0 includes the sub-step method for depletion calculations involving continuous reprocessing.
 +
 
 +
=== set bunorm ===
 +
 
 +
'''set bunorm''' ''NORM''
 +
 
 +
Sets the burnup calculation normalization mode if it is not bound to a single material. Input values:
 +
 
 +
{|
 +
| <tt>''NORM''</tt>
 +
| : burnup calculation normalization mode (1 = all materials, 2 = burnable materials, 3 = non-burnable materials)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* The default normalization for burnup calculations includes all materials.
 +
 
 +
=== set ccmaxiter ===
 +
 
 +
'''set ccmaxiter''' ''NITER''
 +
Sets the maximum number of coupled calculation iterations. Input values:
 +
 
 +
{|
 +
| <tt>''NITER''</tt>
 +
| : number of iterations.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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|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:
 +
 
 +
{|
 +
| <tt>''CPOP''</tt>
 +
| : total active population to simulate.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Default maximum population is [[Definitions, units and constants#Constants|INFTY]]/1e6.
 +
*The iteration is stopped when either the maximum number of iterations (set with [[#set ccmaxiter|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 cdop ===
 +
 
 +
'''set cdop''' ''OPT''
 +
Sets the Doppler broadening method for the energy spectrum of the scattered photons. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to set Doppler broadening method off (0/no) or on (1/yes). The default option is on.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*If the Doppler broadening method is switched off, the incoherent scattering function approximation is used for calculating the energy.
 +
*In both cases, the direction of the photon is calculated using the incoherent scattering function.
 +
 
 +
=== set cea ===
 +
 
 +
'''set cea''' ''OPT''
 +
Sets the Compton electron angular distribution model on and off. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to set the Compton electron angular distribution model off (0/no) or on (1/yes). The default option is on.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Electron travels in the direction of the momentum transfer vector. This is equal to the free-electron scattering angle when Doppler broadening is not used.
 +
 
 +
=== 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:
 +
 
 +
{|
 +
| <tt>''LN''</tt>
 +
| : minimum mean distance for scoring the CFE for neutrons
 +
|-
 +
| <tt>''TN''</tt>
 +
| : minimum mean time interval for scoring the CFE for neutrons
 +
|-
 +
| <tt>''LG''</tt>
 +
| : minimum mean distance for scoring the CFE for photons
 +
|-
 +
| <tt>''TG''</tt>
 +
| : minimum mean time interval for scoring the CFE for photons
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <u>no studies have been performed on what the optimal value should be</u>.
 +
*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#Implicit estimators|result estimators]].
 +
*The collision flux estimator in Serpent is described in an article in Annals of Nuclear energy from 2017.<ref name="cfe">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 [http://www.sciencedirect.com/science/article/pii/S0306454916311367 '''105''' (2017) 161-167].</ref>
 +
*In version 2.1.27 and earlier the name of this input option was "set minxs".
 +
 
 +
=== set cmm ===
 +
 
 +
'''set cmm''' ''OPT''
 +
Sets calculation of diffusion coefficients using the cumulative migration method (CMM) on or off. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to switch CMM calculation on (1/yes) or off (0/no)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Calculation of [[Output_parameters#Diffusion_parameters|diffusion coefficients using CMM]] might take considerable time. This option allows switching the calculation off if the data is not needed.
 +
*The calculation of CMM diffusion coefficients was revised in version 2.1.31 so that the calculated values may be different than with previous versions.
 +
*CMM diffusion coefficients can be calculated also when using [[#set_impl|implicit capture reactions]] beginning from version 2.1.31.
 +
*CMM diffusion coefficients and transport cross sections are reasonable only when they are calculated over entire geometry (homogenized region covers the entire geometry and is surrounded by periodic or reflective boundary conditions).
 +
**This means that e.g. pin cell diffusion coefficients can not be calculated from a 2D fuel assembly calculation.
 +
**One may try to approximate the CMM diffusion coefficients with [[#set_trc|TRC diffusion coefficients]] with transport correction for hydrogen for light water reactor applications.
 +
*Using [[#set_shbuf|private results array]] may be recommended when CMM diffusion coefficients are calculated.
 +
 
 +
=== set coefpara ===
 +
 
 +
'''set coefpara''' ''FMT'' [ ''PARAM<sub>1</sub> PARAM<sub>2</sub>'' ... ]
 +
Defines the parameters included in the separate group constant output file. Input values:
 +
 
 +
{|
 +
| <tt>''FMT''</tt>
 +
| : output format, currently used for including or excluding statistical errors (0 = not included, 1 = included)
 +
|-
 +
| <tt>''PARAM<sub>n</sub>''</tt>
 +
| : list of parameters or detectors included in the file
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The group constant output file <tt>[input].coe</tt> is produced when the [[automated burnup sequence]] is invoked.
 +
*The available parameters are listed under [[Output parameters#Homogenized group constants|homogenized group constants]] in the description of the <tt>[input]_res.m</tt> output file.
 +
*Detectors are identified by the name assigned to them in the [[#det (detector definition)|detector card]].
 +
 
 +
=== set combing ===
 +
 
 +
'''set combing''' ''MODE''
 +
Option that enables the combing approach for precursors population control as an alternative to Russian roulette and splitting in dynamic source simulations. Input values:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : combing population-control mode (0 = none, 1 = weight-based, 2 = emission-based)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The combing method can achieve variance reduction and save computer time by keeping the population size approximately constant over time steps. In super-critical systems, it prevents the population from growing without bound while, in sub-critical systems, it does it from dying. In critical systems, it avoids the divergence of the variance of the population due to fluctuations of fission chains.
 +
 
 +
=== set comfile ===
 +
 
 +
'''set comfile''' ''INFILE'' ''OUTFILE''
 +
Defines the communication files used in the file-based coupled calculation communications. Input values:
 +
 
 +
{|
 +
| <tt>''INFILE''</tt>
 +
| : Path to inwards communication file (signals to Serpent).
 +
|-
 +
| <tt>''OUTFILE''</tt>
 +
| : Path to outwards communication file (signals from Serpent).
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Setting up a communication mode will enable the coupled calculation mode.
 +
*The communication options [[#set comfile|set comfile]], [[#set ppid|set ppid]] and [[#set pport|set pport]] are mutually exclusive, aka, multiple signalling modes are not allowed.
 +
*For more information see: [[Coupled_multi-physics_calculations#External_coupling|External coupling]]
 +
 
 +
=== set confi ===
 +
 
 +
'''set confi''' ''OPT''
 +
Sets confidentiality flag on or off. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to set confidentiality flag on (1/yes) or off (0/no)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 [[#set title|calculation title]] and the value of variable CONFIDENTIAL_DATA in the <tt>[input]_res.m</tt> output file is set to 1.
 +
 
 +
=== set coverxlib ===
 +
 
 +
'''set coverxlib''' ''LIB<sub>1</sub>'' [ ''LIB<sub>2</sub>'' ''LIB<sub>3</sub>'' ... ]
 +
Sets COVERX-format multi-group covariance data file paths. Input values:
 +
 
 +
{|
 +
| <tt>''LIB<sub>n</sub>''</tt>
 +
| : file paths to multi-group covariance data files in the COVERX format (ASCII or binary)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*If covariance data is linked when running [[Sensitivity calculations]], Serpent will automatically apply the sandwich rule using the calculated sensitivity vectors and propagate the covariance data to uncertainties of the sensitivity responses.
 +
 
 +
=== set covlib ===
 +
 
 +
'''set covlib''' ''LIB<sub>1</sub>'' [ ''LIB<sub>2</sub>'' ''LIB<sub>3</sub>'' ... ]
 +
Sets plain ASCII multi-group covariance data file paths. Input values:
 +
 
 +
{|
 +
| <tt>''LIB<sub>n</sub>''</tt>
 +
| : file paths to multi-group covariance data files in the plain ASCII format (ASCII or binary)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*If covariance data is linked when running [[Sensitivity calculations]], Serpent will automatically apply the sandwich rule using the calculated sensitivity vectors and propagate the covariance data to uncertainties of the sensitivity responses.
 +
 
 +
=== set cpd ===
 +
 
 +
'''set cpd''' ''DEPTH'' [ ''N<sub>Z</sub> Z<sub>MIN</sub> Z<sub>MAX</sub>'' ] [ ''LVL1'' ''LVL2'' ]
 +
Sets on the calculation of lattice-wise power distributions to output file <tt>[input]_core0.m</tt> on. Input values:
 +
 
 +
{|
 +
| <tt>''DEPTH''</tt>
 +
| : 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.
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : Number of equal sized axial bins into which the lattices are divided.
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : Minimum z-coordinate for the axial division.
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : Maximum z-coordinate for the axial division.
 +
|-
 +
| <tt>''LVL1''</tt>
 +
|: User-defined first level where to define the lattice-wise power distribution
 +
|-
 +
| <tt>''LVL2''</tt>
 +
|: User-defined second level where to define the lattice-wise power distribution
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* The default values for <tt>''N<sub>Z</sub>''</tt>, <tt>''Z<sub>MIN</sub>''</tt> and <tt>''Z<sub>MAX</sub>''</tt> 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 [[Stochastic Implicit Euler burnup scheme|SIE burnup scheme]]. Input values
 +
 
 +
{|
 +
| <tt>''NPG''</tt>
 +
| : number of neutrons per generation
 +
|-
 +
| <tt>''NGEN''</tt>
 +
| : number of active generations
 +
|-
 +
| <tt>''NSKIP''</tt>
 +
| : number of inactive generations
 +
|-
 +
| <tt>''NSKIP2''</tt>
 +
| : number of inactive generations on further iterations for the same burnup point
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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:
 +
 
 +
{|
 +
| <tt>''FILE''</tt>
 +
| : file name where the source points are written
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Only source points from active cycles are included.
 +
 
 +
=== set dataout ===
 +
 
 +
'''set dataout''' ''TABLE_LIST''
 +
Defines the tables included in the nuclear and material data file <tt>[input].out.m</tt>. Input values:
 +
 
 +
{|
 +
| <tt>''TABLE_LIST''</tt>
 +
| : list of tables
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The file lists all nuclides and their reactions as they are read from the nuclear data libraries. The material data includes isotopic compositions and densities, as well as volumes and masses if available. (See the [[Description of output files#Nuclide and material data output|description of the nuclear and material data output]]).
 +
*The data is divided into two sections: nuclear data (Tables 1-4) and material data (Table 5), and the tables are the following:
 +
**Table 1: Summary of nuclide data
 +
**Table 2: Reaction and decay data
 +
**Table 3: Fission yield data (only in burnup mode)
 +
**Table 4: Lost transmutation paths (only in burnup mode)
 +
**Table 5: Summary of material compositions
 +
*The entry-names to input the tables are: "all"/0 = Tables 1-5, "nuc_summary"/1 = Tables 1, "nuc_readec"/2 = Table 2, "nuc_nfy"/3 = Table 3, "nuc_lostpath"/4 = Table 4, "mat_summary"/5 = Table 5, "allnuc"/8 = Tables 1-4, "allmat"/9 = Table 5.
 +
*The default behavior is to include all the tables/data available. To omit the <tt>[input].out</tt> file, select "-1".
 +
 
 +
=== set dbrc ===
 +
 
 +
'''set dbrc''' ''E<sub>min</sub> E<sub>max</sub> NUC<sub>1</sub>'' [ ''NUC<sub>2</sub>'' ... ]
 +
Enables the use of doppler-broadening rejection correction (DBRC). Input values:
 +
 
 +
{|
 +
| <tt>''E<sub>min</sub>''</tt>
 +
| : Minimum energy for DBRC
 +
|-
 +
| <tt>''E<sub>max</sub>''</tt>
 +
| : Maximum energy for DBRC
 +
|-
 +
| <tt>''NUC<sub>n</sub>''</tt>
 +
| : Nuclide identifiers for which to apply DBRC to, with 0 K cross section data, e.g. "92238.00c"
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*This description is not complete.
 +
*Use of DBRC requires 0 K cross section data.
 +
*See also Section 5.6 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
*This input could be given without any nuclides before version 2.1.32. Then DBRC was not used at all.
 +
 
 +
=== set dd ===
 +
 
 +
'''set dd''' ''MODE'' [ ''X<sub>0</sub>'' ''Y<sub>0</sub>'' ''&alpha;<sub>0</sub>'' ]
 +
Invokes domain decomposition. Input values
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : decomposition mode (0 = none, 1 = simple, 2 = sector, 3 = sector + center)
 +
|-
 +
| <tt>''X<sub>0</sub>''</tt>
 +
| x-coordinate of the domain decomposition origin (origin is the centre of the angular division)
 +
|-
 +
| <tt>''Y<sub>0</sub>''</tt>
 +
| y-coordinate of the domain decomposition origin (origin is the centre of the angular division)
 +
|-
 +
| <tt>''&alpha;<sub>0</sub>''</tt>
 +
| angular position of the domain decomposition origin (origin is the initial position of the angular division)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Domain decomposition works in MPI mode by separating burnable materials into different parallel tasks.
 +
*Number of domains is given by the number of MPI tasks
 +
*Only burnable materials separated into depletion zones using the "div sep" option are decomposed
 +
*<tt>''MODE''</tt> 1 decomposes the geometry based on the automatically assigned depletion zone indexes (not recommended).
 +
*<tt>''MODE''</tt> 2 decomposes the zones into sectors and <tt>''MODE''</tt> 3 adds a central zone if the number of domains is greater than 4.
 +
*The additional input options, <tt>''X<sub>0</sub>''</tt>, <tt>''Y<sub>0</sub>''</tt> and <tt>''&alpha;<sub>0</sub>''</tt>, are available for <tt>''MODE''</tt> 2 and 3 (default values are zero).
 +
*Decomposed materials are plotted in domain-specific colors (unless the '''rgb''' entry in the [[#mat (material definition)|material card]] is used)
 +
*See [[Domain decomposition|practical example]] for more information.
 +
 
 +
=== set declib ===
 +
 
 +
'''set declib''' ''LIB<sub>1</sub>'' [ ''LIB<sub>2</sub>'' ''LIB<sub>3</sub>'' ... ]
 +
Sets the decay data library file paths. Input values:
 +
 
 +
{|
 +
| <tt>''LIB<sub>n</sub>''</tt>
 +
| : library file paths
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>SERPENT_DATA</tt>. The code looks for decay data files in this path if not found at the absolute.
 +
*From version 2.2.0 and on, a default decay data library directory file can be set by defining environment variable <tt>SERPENT_DECLIB</tt>. This file will be used if no other path is given with '''set declib'''.
 +
 
 +
=== set decomp ===
 +
 
 +
'''set decomp''' ''OPT'' [ ''ELEM<sub>1</sub>'' ''ELEM<sub>2</sub>'' ... ]
 +
Decomposes elemental entries in material cards into isotopes. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to include (1) or exclude (0) elements from decomposed list
 +
|-
 +
| <tt>''ELEM<sub>n</sub>''</tt>
 +
| : element names
 +
|}
 +
 
 +
<u>Notes:</u>
  
== Input options ==
+
* 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 ===
  
  <nowiki>set delnu <dnu></nowiki>
+
  '''set delnu''' ''OPT''
 
Sets delayed neutron emission on or off. Input values:
 
Sets delayed neutron emission on or off. Input values:
  
 
{|
 
{|
| <dnu> |:|
+
| <tt>''OPT''</tt>
| option to switch delayed neutron emission off (0/no) or on (1/yes)
+
| : option to switch delayed neutron emission on (1/yes) or off (0/no)
 
|}
 
|}
  
<strong>Notes:</strong>
+
<u>Notes:</u>
  
*Delayed neutron emission is on by default in neutron criticality source and off by default in external source simulations.
+
*Delayed neutron emission is on by default in neutron criticality source and off by default in (static/dynamic) external source simulation mode.
 +
*In time-dependent calculations, driven by the [[#set dynsrc|set dynsrc]] option, precursor based delayed neutron emission is included in the calculation: off at fission, but on at delayed nubar in total nubar.
 +
*See separate description of [[physics options in Serpent]] for differences to other codes.
 +
 
 +
=== set depmtx ===
 +
'''set depmtx''' ''MODE''
 +
 
 +
Print burnup matrixes to <tt>[input]_depmtx_[mat]_[bu]_[ss].m</tt> file during burnup calculation, where "<tt>bu</tt>" is the burnup step and "<tt>ss</tt>" is the substep.
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : Set printing on (1/yes) or off (0/no).
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*With non-constant predictor, this option will stop the simulation up to version 2.1.31.
 +
*With multiple substeps, only the last one is kept after the simulation up to version 2.1.31.
 +
*The burnup matrix output is named <tt>depmtx_[mat][bu].m</tt> up to version 2.1.31.
 +
 
 +
=== set depout ===
 +
'''set depout''' ''MODE'' [''STEP'']
 +
Controls which burnable material compositions are printed into the <tt>[input]_dep.m</tt> output file in case of divided materials. Input values:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : value indicating, which materials to output to the <tt>[input]_dep.m</tt> file (1 = only partials, 2 = only parents, 3 = both)
 +
|-
 +
|<tt>''STEP''</tt>
 +
| : value indicating the print-out interval of the <tt>[input]_dep.m</tt> file (0 = final step, 1 = all steps, 2 =none)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Parent materials refer to materials defined by [[#mat (material definition)|mat cards]], and partials to depletion zones created automatically using the [[#div (divisor definition)|div card]].
 +
*Default mode is 2 (only parents) and default print-out interval step is 1 (all steps).
 +
*Print-out interval step option 2, no <tt>[input]_dep.m</tt> generation, can be combined with post-processing re-depletion: "-rdep" command line option.
 +
*This option when is used with the domain decomposition feature, [[#set dd|set dd]], in a mode different from 2, generates multiple depletion files which are named adding <tt>_dd[mpiid]</tt> (domain decomposition identifier) to the standard file name. Each of them contains the partial materials information of the given domain/MPI task.
 +
 
 +
=== set deppara ===
 +
 
 +
  '''set deppara''' ''PARAM_LIST''
 +
Defines the variables included in the depletion output file <tt>[input]_dep.m</tt>. Input values:
 +
 
 +
{|
 +
| <tt>''PARAM_LIST''</tt>
 +
| : list of variables
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The default behavior is to include the full-set of variables: atomic density, mass density, activity, decay heat, spontaneous fission rate, photon emission rate, ingestion toxicity, and inhalation toxicity (see the [[Description of output files#Burnup calculation output|description of the depletion output]]).
 +
*The entry-names to input the variables are: "atom" = atomic density, "mass" = mass density, "activity" = activity, "dh" = decay heat, "sf" = spontaneous fission rate, "gsrc" = photon emission rate, "ingtox" = ingestion toxicity, "inhtox" = inhalation toxicity.
 +
*Alternatively, the "all" entry would include the full-set of variables, and the "none" entry would exclude the full-set of variables.
 +
 
 +
=== set depstepbunorm ===
 +
 
 +
'''set depstepbunorm''' ''NORM''
 +
 
 +
Sets the depletion step normalization in burnup calculations based on energy deposition. Input values:
 +
 
 +
{|
 +
| <tt>''NORM''</tt>
 +
| depletion step normalization mode based on energy deposition (1 = all materials, 2 = burnable materials)
 +
|}
 +
 
 +
<u>Notes</u>
 +
* By default, for energy deposition modes 0/1, the normalization includes only "burnable" materials while for energy deposition modes 2/3, the normalization includes "all" materials (see [[#set edepmode|set edepmode]]).
 +
 
 +
=== set dfsol ===
 +
'''set dfsol''' ''MODE'' [ ''DC'' ''NP'' ]
 +
Options for homogeneous diffusion flux solver. Input values:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : boundary conditions for solver (1 = include net currents at boundary surfaces and corners, 2 = include only surface currents)
 +
|-
 +
| <tt>''DC''</tt>
 +
| : type of diffusion coefficient used in the calculation (1 = INF_DIFFCOEF, 2 = TRC_DIFFCOEF)
 +
|-
 +
| <tt>''NP''</tt>
 +
| : number of points for trapezoidal integration for homogeneous flux
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*This input option is used to control how the deterministic diffusion flux solver used to obtain assembly discontinuity factors [[#set adf|(set adf)]] and pin power distributions [[#set ppw|(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|set trc]] option.
 +
*Default number of points for trapezoidal integration is 100.
 +
*See also separate description of the [[Diffusion flux solver|built-in diffusion flux solver]].
 +
*The format was revised in update 2.1.27 (<tt>''DC''</tt> option was added between <tt>''MODE''</tt> and <tt>''NP''</tt>).
 +
 
 +
=== set dix ===
 +
'''set dix''' ''OPT''
 +
Sets double indexing for cross section energy grid look-up on or off:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : option to set double indexing on (1/yes) or off (0/no)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Double indexing<ref name="dix">Leppänen, J.
 +
''"Two practical methods for unionized energy grid construction in continuous-energy Monte Carlo neutron transport calculation."'' Ann. Nucl. Energy [https://www.sciencedirect.com/science/article/pii/S0306454909001108 '''36''' (2009) 878-885].</ref> 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 [[#set_opti|optimization modes]] 1 and 3 (modes 2 and 4 are based on energy grid unionization).
 +
 
 +
=== set dspec ===
 +
 
 +
'''set dspec''' ''EGRID<sub>p</sub>'' ''EGRID<sub>n</sub>''
 +
Sets the energy grid structure for decay spectra.
 +
 
 +
{|
 +
| <tt>''EGRID<sub>p</sub>''</tt>
 +
| : energy grid structure for photons
 +
|-
 +
| <tt>''EGRID<sub>n</sub>''</tt>
 +
| : energy grid structure for neutrons
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The photon/neutron decay spectra is printed in the <tt>[input]_gsrc.m</tt> or <tt>[input]_nsrc.m</tt> output file, respectively.
 +
*The energy group spectra only include the contribution from the discrete/line spectra.
 +
*Setting "-1" instead of providing the energy grid structure disables the option for the given particle type.
 +
 
 +
=== set dt ===
 +
 
 +
'''set dt''' ''NTRSH'' [ ''GTRSH'' ]
 +
Sets probability threshold for delta-tracking. Input values:
 +
 
 +
{|
 +
| <tt>''NTRSH''</tt>
 +
| : probability threshold for neutrons
 +
|-
 +
| <tt>''GTRSH''</tt>
 +
| : probability threshold for photons
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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|set forcedt]] and [[#set blockdt|set blockdt]] options
 +
*Integral reaction rates are scored using the collision estimator of neutron flux, which has a few adjustable parameters (see [[#set cfe|set cfe]]).
 +
*For more information on tracking modes, see the detailed description on [[delta- and surface-tracking]].
 +
 
 +
=== set dynccfile ===
 +
 
 +
'''set dynccfile''' ''OPT''
 +
Option to store precursors and neutrons between time steps in coupled dynamic simulations into a file. Input values:
 +
 
 +
{|
 +
| <tt>''OPT</tt>
 +
| : option to switch on (1/yes) or off (0/no) the store/write dynamic data into a file. Default is on.
 +
|}
 +
 
 +
=== set dynsrc ===
 +
 
 +
'''set dynsrc''' ''PATH'' [ ''MODE'' ]
 +
 
 +
Links previously generated steady state source distributions to be used in a transient simulation with delayed neutron emission.
 +
 
 +
{|
 +
| <tt>''PATH''</tt>
 +
| : The path of the previously generated source file (without the <tt>.main</tt> suffix)
 +
|-
 +
| <tt>''MODE''</tt>
 +
| : Precursor tracking mode (0 = mesh based, 1 = point-wise)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Four source files will be required <tt>[''PATH''].main</tt>, <tt>[''PATH''].prec</tt>, <tt>[''PATH''].live</tt> and  <tt>[''PATH''].precpoints</tt>
 +
 
 +
=== set ecut ===
 +
 
 +
'''set ecut''' ''EMIN<sub>n</sub>'' ''EMIN<sub>p<sub>''
 +
Sets minimum energy cut-off for neutrons and photons. Input values:
 +
 
 +
{|
 +
| <tt>''EMIN<sub>n</sub>''</tt>
 +
| : cut-off energy for neutrons (MeV)
 +
|-
 +
| <tt>''EMIN<sub>p</sub>''</tt>
 +
| : cut-off energy for photons (MeV)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 ecutdens ===
 +
 
 +
'''set ecutdens''' ''DENS<sub>1</sub>'' ''EMIN<sub>p,1</sub>'' [ ''DENS<sub>2</sub>'' ''EMIN<sub>p,2</sub>'' ... ]
 +
Sets density-wise minimum energy cut-off for photons. Input values:
 +
 
 +
{|
 +
| <tt>''DENS<sub>i</sub>''</tt>
 +
| : mass density (g/cm<sup>3</sup>)
 +
|-
 +
| <tt>''EMIN<sub>p,i</sub>''</tt>
 +
| : cut-off energy for photons (MeV)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Mass densities and energy cut-offs must be given in ascending order.
 +
 
 +
=== set ecutmat ===
 +
 
 +
'''set ecutmat''' ''MAT<sub>1</sub>'' ''EMIN<sub>p,1</sub>'' [ ''MAT<sub>2</sub>'' ''EMIN<sub>p,2</sub>'' ... ]
 +
Sets material-wise minimum energy cut-off for photons. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>i</sub>''</tt>
 +
| : material name
 +
|-
 +
| <tt>''EMIN<sub>p,i</sub>''</tt>
 +
| : cut-off energy for photons (MeV)
 +
|}
 +
 
 +
=== set eddi ===
 +
 
 +
'''set eddi''' ''OPT''
 +
Switches on the calculation of Eddington factors. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to switch calculation on (1) or off (0)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Requires group constant generation to be set on.
 +
 
 +
=== set edepdel ===
 +
 
 +
'''set edepdel''' ''OPT'' [ ''LOCAL_EGD'' ]
 +
Option to include the energy of delayed components in energy deposition calculations. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : include (1) or exclude (0) the energy of delayed components in energy deposition estimates
 +
|-
 +
| <tt>''LOCAL_EGD''</tt>
 +
| : deposit the energy of the delayed fission gammas to fission sites (1) or with the same distribution as the prompt fission gammas (0) (this option is used only in energy deposition mode 3) 
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
* Delayed components include delayed neutrons, delayed fission gammas and delayed betas.
 +
* The energy of delayed neutrons can be excluded using this option only in energy deposition mode 1.
 +
* The energy of the delayed components is deposited at the time of fission so the time dependence of the energy deposition is not accounted for properly in transient simulations.
 +
* Default options are to include delayed components (1) and to deposit the energy of the delayed fission gammas with the same distribution as the prompt fission gammas (0).
 +
 
 +
=== set edepkcorr ===
 +
 
 +
'''set edepkcorr''' ''OPT''
 +
Option to apply correction for energy deposition estimates when simulating non-critical systems with criticality source mode. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : apply (1) or do not apply (0) correction
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
* The methodology is described in related paper. <ref name="edep">Tuominen, R., Valtavirta, V. and Leppänen, J.
 +
''"New energy deposition treatment in the Serpent 2 Monte Carlo transport code."'' Ann. Nucl. Energy [https://doi.org/10.1016/j.anucene.2019.02.003 '''129''' (2019) 224-232].</ref>
 +
 
 +
=== set edepmode ===
 +
 
 +
'''set edepmode''' ''MODE'' [ ''E_CAPT'' ]
 +
Sets energy deposition mode for energy deposition calculations. Input values:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : energy deposition mode (0, 1, 2 or 3)
 +
|-
 +
| <tt>''E_CAPT''</tt>
 +
| : additional energy release in capture reactions given in MeVs per fission (used only in energy deposition mode 1)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
* The energy deposition modes are described in related paper.  <ref name="edep" />.
 +
* The choice of energy deposition mode affects also the normalization of the results, if normalization to total power or power density is used.
 +
* Energy deposition modes 1, 2 and 3 require data which is not available in the standard ACE-format cross section files used by Serpent. Separately distributed ACE-files containing additional data are required to use these modes.
 +
* Default option is 0 which corresponds to the methodology used before version 2.1.31.
 +
* KERMA coefficients used in energy deposition modes 2 and 3 are not Doppler-broadened correctly by the built-in preprocessor. See [[Doppler-broadening preprocessor routine|Doppler-broadening preprocessor]].
 +
 
 +
=== set egrid ===
 +
 
 +
'''set egrid''' ''TOL'' [ ''EMIN EMAX'' ]
 +
 
 +
Sets the unionized energy grid reconstruction parameters. Input values:
 +
 
 +
{|
 +
| <tt>''TOL''</tt>
 +
| : fractional reconstruction tolerance
 +
|-
 +
| <tt>''EMIN''</tt>
 +
| : minimum energy in the grid (MeV)
 +
|-
 +
| <tt>''EMAX''</tt>
 +
| : maximum energy in the grid (MeV)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The default fractional reconstruction tolerance is 0.0 in transport calculation mode and 5E-5 in burnup calculation mode.
 +
*A higher energy grid reconstruction tolerance means lower memory consumption and possibly higher computation speed but also reduced accuracy of the calculation.
 +
*The default minimum energy is 1E-11 MeV (neutrons) and 1E-03 MeV (photons).
 +
*The default maximum energy is 20.0 MeV (neutrons) and 100.0 MeV (photons).
 +
*See also Section 5.3 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
=== set ekn ===
 +
 
 +
'''set ekn''' ''E''
 +
Sets the Klein-Nishina equation to approximate a Compton scattering event. Input values:
 +
 
 +
{|
 +
| <tt>''E''</tt>
 +
| : energy cut-off for modelling energy and direction of the scattered photon (MeV)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The default value of <tt>''E''</tt> is set to INFTY (1E+37).
 +
*The Klein-Nishina equation is used above <tt>''E''</tt> for calculating both the energy and direction of the scattered photon. Below <tt>''E''</tt>, the Doppler brodening method is used if switched on. Otherwise, the incoherent scattering function approximation is in use.
 +
 
 +
=== set elcond ===
 +
 
 +
'''set elcond''' ''MAT<sub>1</sub>'' ''COND<sub>1</sub>'' [ ''MAT<sub>2</sub>'' ''COND<sub>2</sub>'' ... ]
 +
Sets material-wise conductivity state for electrons in photon transport calculations. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>i</sub>''</tt>
 +
| : material name
 +
|-
 +
| <tt>''COND<sub>i</sub>''</tt>
 +
| : conductivity state (0 = non-conductor, 1 = conductor, 2 = conduction electron dependent).
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The default option is 2 or conduction electron dependent.
 +
*If the material is set as a conductor and no-conduction electrons are found, the material conductivity state is overwritten to non-conductor.
 +
*Option 2, conduction electron dependent, establishes that a single element material is a conductor if conduction electrons are found, otherwise is a non-conductor. A compound is always a non-conductor.
 +
 
 +
=== set elgas ===
 +
 
 +
'''set elgas''' ''MAT<sub>1</sub>'' ''GAS<sub>1</sub>'' [ ''MAT<sub>2</sub>'' ''GAS<sub>2</sub>'' ... ]
 +
Sets material-wise phase for electrons in photon transport calculations. Input options:
 +
 
 +
{|
 +
| <tt>''MAT<sub>i</sub>''</tt>
 +
| : material name
 +
|-
 +
| <tt>''GAS<sub>i</sub>''</tt>
 +
| : phase state (0 = condensed or non-gas, 1 = gas).
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The default option is 0/gas and only affects mixtures.
 +
*The gas phase does not affect the mean excitation energy of a single material: if [[#set elmee|set elmee]] option is set for a material, the material is considered as non-gas.
 +
 
 +
=== set elmee ===
 +
 
 +
'''set elmee''' ''MAT<sub>1</sub>'' ''MEE<sub>1</sub> [ ''MAT<sub>2</sub>'' ''MEE''<sub>2</sub>'' ... ]
 +
Sets material-wise mean excitation energy for electrons in photon transport calculations. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>i</sub>''</tt>
 +
| : material name
 +
|-
 +
| <tt>''MEE<sub>i</sub>''</tt>
 +
| : electrons mean excitation energy (MeV)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The default value is -1.0 interpreted as calculated during runtime for compounds and extracted from data for single element materials.
 +
*The maximum mean excitation energy for electrons is 1 MeV.
 +
 
 +
=== set elspn ===
 +
 
 +
'''set elspn''' ''EGRID_E''
 +
Sets the stopping power energy grid size for electrons/positrons in photon transport calculations. Input values:
 +
 
 +
{|
 +
| <tt>''EGRID_E''</tt>
 +
| : energy grid size (default value is 200)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The thick-target bremsstrahlung model ([[Input syntax manual#set ttb|set ttb]] option) assumes that the energy array is uniformly distributed in a log-energy scale.
 +
 
 +
=== set entr ===
 +
 
 +
'''set entr''' ''N<sub>X</sub> N<sub>Y</sub> N<sub>Z</sub>'' [ ''X<sub>MIN</sub> X<sub>MAX</sub> Y<sub>MIN</sub> Y<sub>MAX</sub> Z<sub>MIN</sub> Z<sub>MAX</sub>'' ]
 +
Defines the mesh structure used for calculating fission source entropy. Input values:
 +
 
 +
{|
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of mesh cells in x-direction
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of mesh cells in y-direction
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of mesh cells in z-direction
 +
|-
 +
| <tt>''X<sub>MIN</sub>''</tt>
 +
| : minimum mesh boundary in x-direction
 +
|-
 +
| <tt>''X<sub>MAX</sub>''</tt>
 +
| : maximum mesh boundary in x-direction
 +
|-
 +
| <tt>''Y<sub>MIN</sub>''</tt>
 +
| : minimum mesh boundary in y-direction
 +
|-
 +
| <tt>''Y<sub>MAX</sub>''</tt>
 +
| : maximum mesh boundary in y-direction
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : minimum mesh boundary in z-direction
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : maximum mesh boundary in z-direction
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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|set his]]).
 +
*The default mesh size is 5 &times; 5 &times; 5, 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:
 +
 
 +
{|
 +
| <tt>''FILEPATH''</tt>
 +
| : path to the file
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The file should be a [[Multi-physics_interface#Fuel_behavior_interface_.28types_5_and_6.29|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<sub>1</sub> E<sub>1</sub> ZAI<sub>2</sub> E<sub>2</sub> ...''
 +
Overrides default fission heating values. Input values:
 +
 
 +
{|
 +
| <tt>''ZAI<sub>n</sub>''</tt>
 +
| : nuclide identifiers ([[Definitions, units and constants#definitions|ZAI]])
 +
|-
 +
| <tt>''E<sub>n</sub>''</tt>
 +
| : energy deposited per fission in MeV
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 [[Input syntax manual#set U235H|set U235H]].
 +
*See also Section 5.8 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
=== set fissrate ===
 +
 
 +
'''set fissrate''' ''F'' [ ''MAT'' ]
 +
 
 +
Sets normalization to fission rate.
 +
 
 +
{|
 +
| <tt>''F''</tt>
 +
| : number of fission reactions per second (1/s)
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : dummy parameter
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Normalization is needed to relate the Monte Carlo reaction rate estimates to a user-given parameter.
 +
*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 power]], [[#set powdens|set powdens]], [[#set flux|set flux]], [[#set genrate|set genrate]], [[#set absrate|set absrate]], [[#set lossrate|set lossrate]], [[#set srcrate|set srcrate]], [[#set sfrate|set sfrate]].
 +
*See also Section 5.8 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
=== set fissye ===
 +
 
 +
'''set fissye''' ''OPT''
 +
Option to include energy-dependent fission yields. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : include (1/yes) or exclude (0/no) energy-dependent fission yields. Default is 1.
 +
|}
 +
 
 +
=== set flux===
 +
 
 +
'''set flux''' ''F'' [ ''MAT'' ]
 +
Sets normalization to total flux.
 +
 
 +
{|
 +
| <tt>''F''</tt>
 +
| : flux
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : dummy parameter
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Normalization is needed to relate the Monte Carlo reaction rate estimates to a user-given parameter.
 +
*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 power]], [[#set powdens|set powdens]], [[#set genrate|set genrate]], [[#set fissrate|set fissrate]], [[#set absrate|set absrate]], [[#set lossrate|set lossrate]], [[#set srcrate|set srcrate]], [[#set sfrate|set sfrate]].
 +
*See also Section 5.8 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
=== set fluxlimtrc===
 +
 
 +
'''set fluxlimtrc''' ''OPT''
 +
Option that enables the calculation of flux limited TRC diffusion coefficients. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| :  option to switch calculation on (1/yes) or off (0/no). Default is off.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*In infinite-spectrum calculations the anisotropic component of the non-TRC nuclides/materials is removed
 +
*S1 and SP1 are non-corrected for non-TRC nuclides/materials and below energy limit for TRC nuclides/materials (see [[#set trc|set trc]] option)
 +
 
 +
=== set fmtx ===
 +
 
 +
'''set fmtx''' '''1''' ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ...
 +
 
 +
'''set fmtx''' '''2''' ''UNI<sub>1</sub>'' ''UNI<sub>2</sub>'' ...
 +
 
 +
'''set fmtx''' '''3''' ''LVL''
 +
 
 +
'''set fmtx''' '''4''' ''X<sub>MIN</sub>'' ''X<sub>MAX</sub>'' ''N<sub>X</sub>'' ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>'' ''N<sub>Y</sub>'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ''N<sub>Z</sub>''
 +
 
 +
Set the calculation of fission matrixes. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>n</sub>''</tt>
 +
| : material list (type 1)
 +
|-
 +
| <tt>''UNI<sub>n</sub>''</tt>
 +
| : universe list (type 2)
 +
|-
 +
| <tt>''LVL''</tt>
 +
| : level number (type 3)
 +
|-
 +
| <tt>''X<sub>MIN</sub>''</tt>
 +
| : minimum x-coordinate mesh boundary (type 4)
 +
|-
 +
| <tt>''X<sub>MAX</sub>''</tt>
 +
| : maximum x-coordinate mesh boundary (type 4)
 +
|-
 +
| <tt>''N<sub>X</sub>''</tt>
 +
| : number of x-mesh cells (type 4)
 +
|-
 +
| <tt>''Y<sub>MIN</sub>''</tt>
 +
| : minimum y-coordinate mesh boundary (type 4)
 +
|-
 +
| <tt>''Y<sub>MAX</sub>''</tt>
 +
| : maximum y-coordinate mesh boundary (type 4)
 +
|-
 +
| <tt>''N<sub>Y</sub>''</tt>
 +
| : number of y-mesh cells (type 4)
 +
|-
 +
| <tt>''Z<sub>MIN</sub>''</tt>
 +
| : minimum z-coordinate mesh boundary (type 4)
 +
|-
 +
| <tt>''Z<sub>MAX</sub>''</tt>
 +
| : maximum z-coordinate mesh boundary (type 4)
 +
|-
 +
| <tt>''N<sub>Z</sub>''</tt>
 +
| : number of z-mesh cells (type 4)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* There are four options for defining the regions that compose the matrix: 1 = material, 2 = universe, 3 = level, 4 = Cartesian mesh.
 +
* The output is printed in file <tt>[input]_fmtx[bu].m</tt>, where "<tt>bu</tt>" is the burnup step. Output values are given in pairs: matrix element and associated relative error, for total, prompt and delayed (analog) fission matrixes.
 +
 
 +
=== set forcedt ===
 +
 
 +
'''set forcedt''' ''MAT<sub>1</sub> MAT<sub>2</sub> ...''
 +
Defines the list of materials where delta-tracking is always used. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>n</sub>''</tt>
 +
| : material names
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*This option is used to override selection of tracking mode based on the probability threshold (see [[#set dt|set dt]]) in individual materials.
 +
*Use of delta-tracking can be blocked in individual materials using [[#set blockdt|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 fpcut ===
 +
 
 +
'''set fpcut''' ''FPCUT''
 +
 
 +
Fission product yield cut-off <tt>''FPCUT''</tt> acts on cumulative fission yields, and the given number is the lower limit for the maximum cumulative yield in each mass chain. So "set fpcut 1E-2" means that every mass chain (nuclides with same mass number) with all cumulative yields below 1% are discarded from the calculation.
 +
 
 +
The cut-off is set to zero by default. Setting the <tt>''FPCUT''</tt> cut-off to a higher value (~1E-4 or so) is an effective way to reduce the number of nuclides in the calculation, but at some point it will start affecting the results.
 +
 
 +
=== 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.
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to switch fission source passing on (1/yes) or off (0/no)
 +
|-
 +
| <tt>''NSKIP''</tt>
 +
| : number of inactive generations on subsequent steps
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Fission source passing is turned off by default.
 +
*Number of inactive generations is taken from [[#set pop|set pop]] card on the first step and from [[#set fsp|set fsp]] on all later steps.
 +
 
 +
=== set fum ===
 +
 
 +
'''set fum''' ''ERG'' [ ''BTCH MODE LIM'' ]
 +
 
 +
'''set fum''' ''ERG'' [ ''BTCH MODE LIM TGT ITER INIT'' ]
 +
 
 +
'''set fum''' ''ERG'' [ ''BTCH MODE DC LIM TGT ITER INIT'' ]
 +
 
 +
Activates fundamental mode calculation for collapsing intermediate multi-group constant data into few-group constants with a critical spectrum.
 +
 
 +
{|
 +
| <tt>''ERG''</tt>
 +
| : Intermediate multi-group structure for calculation of the leakage-corrected critical spectrum
 +
|-
 +
| <tt>''BTCH''</tt>
 +
| : When set to 2, results are averaged over all criticality cycles
 +
|-
 +
| <tt>''MODE''</tt>
 +
| : Critical spectrum calculation type (default 0, i.e. old B<sub>1</sub> calculation)
 +
|-
 +
| <tt>''DC''</tt>
 +
| : Multi-group diffusion coefficients to be used with FM fundamental mode calculation (default value INF_DIFFCOEF). This value is not read with other modes.
 +
|-
 +
| <tt>''LIM''</tt>
 +
| : Convergence criterion of k<sub>eff</sub> in fundamental mode calculation calculated as the absolute value difference of k<sub>eff</sub> between successive iterations (default value 1E-7)
 +
|-
 +
| <tt>''TGT''</tt>
 +
| : Target value for fundamental mode k<sub>eff</sub> (default value 1.0, not used with the old B<sub>1</sub> calculation mode)
 +
|-
 +
| <tt>''ITER''</tt>
 +
| : Maximum number of fundamental mode calculation iterations (default value 25, not used with the old B<sub>1</sub> calculation mode)
 +
|-
 +
| <tt>''INIT''</tt>
 +
| : First guess for absolute value of critical B<sup>2</sup> (default value 1E-6, not used with the old B<sub>1</sub> calculation mode)
 +
|}
 +
 
 +
The possible values for mode are:
 +
 
 +
{| class="wikitable" style="text-align: left;"
 +
! Mode
 +
! Description
 +
|-
 +
| <tt>o, O, 0</tt>
 +
| Old B<sub>1</sub> calculation (use the same method as before version 2.1.31)
 +
|-
 +
| <tt>b, B, 1</tt>
 +
| New B<sub>1</sub> calculation
 +
|-
 +
| <tt>p, P, 2</tt>
 +
| P<sub>1</sub> calculation
 +
|-
 +
| <tt>f, F, 3</tt>
 +
| FM calculation
 +
|}
 +
 
 +
The possible values for FM mode multi-group diffusion coefficients are:
 +
 
 +
{| class="wikitable" style="text-align: left;"
 +
! Mode
 +
! Description
 +
|-
 +
| <tt>1</tt>
 +
| Use out-scattering diffusion coefficients
 +
|-
 +
| <tt>2</tt>
 +
| Use [[#set_trc|transport corrected]] diffusion coefficients
 +
|-
 +
| <tt>3</tt>
 +
| Use [[#set_cmm|cumulative migration method]] diffusion coefficients
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*When invoked, Serpent applies a fundamental mode leakage correction on group constants and produces a [[Output parameters#B1|second set of output parameters]].
 +
*Before version 2.1.31, the mode parameter was not read, and the old B<sub>1</sub> calculation mode was always used regardless of the parameter given here.
 +
*The group constants are named with B1_ prefix, but they are calculated with fundamental mode calculation type defined with the mode parameter.
 +
*The multi-group structure may be an energy grid defined using the [[#ene (energy grid definition)|ene card]] or a name of a [[pre-defined energy group structures|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 affect the flux spectrum used during burnup calculations.
 +
*The calculation modes other than the old B<sub>1</sub> calculation mode were added in version 2.1.31.
 +
*The descriptions of the other methods than the old B<sub>1</sub> method will be presented later in a publication.
 +
*Note that in general the intermediate multi-group structure should have more groups than the few-group structure to get reasonable results for [[#set fum|leakage corrected group constants]] and out-scatter diffusion coefficients.
 +
*Mode 0 (old B<sub>1</sub> calculation) might be very slow with a large intermediate multi-group structure (for example with approximately 2000 groups). Modes 1-3 should run much faster.
 +
 
 +
=== set gbuf ===
 +
 
 +
'''set gbuf''' ''FAC'' [ ''BNK'' ]
 +
Sets the size of photon buffer and event bank. Input values:
 +
 
 +
{|
 +
| <tt>''FAC''</tt>
 +
| : factor (> 1) defining the buffer size
 +
|-
 +
| <tt>''BNK''</tt>
 +
| : event bank size
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 gct ===
 +
 
 +
'''set gct''' ''OPT''
 +
Switches on the calculation of group constant statistics test. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to switch calculation on (1/yes) or off (0/no). Default is off.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*When this option is set, the batch-wise statistical tests are printed in the file <tt>[input]_stat.m</tt>.
 +
*Requires group constant generation to be set on.
 +
*''Note to developers: statistical tests should be documented''
 +
 
 +
=== set gcu ===
 +
 
 +
'''set gcu''' ''UNI<sub>1</sub>'' [ ''UNI<sub>2</sub>'' ''UNI<sub>3</sub>'' ... ]
 +
Sets the universes for group constant generation. Input values:
 +
 
 +
{|
 +
| <tt>''UNI<sub>n</sub>''</tt>
 +
| : universe where group constants are generated or -1 to switch group constant generation off.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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#Homogenized group constants|output parameters]].
 +
*Super-imposed group constant generation universes (i.e. not part of the geometry definition) should not be used so that they cover (partly or totally) the same geometry region as some other group constant generation universe (super-imposed or part of the geometry definition), if group constants are generated only on a single geometry level.
  
 
=== set gcut ===
 
=== set gcut ===
  
  <nowiki>set gcut <gmax> </nowiki>
+
  '''set gcut''' ''GMAX''
 
Sets generation cut-off for neutrons. Input values:
 
Sets generation cut-off for neutrons. Input values:
  
 
{|
 
{|
| <gmax>
+
| <tt>''gmax''</tt>
| number of simulated generations before cut-off
+
| : number of simulated generations before cut-off
 
|}
 
|}
  
The generation cut-off can be used in neutron external source simulations, to limit the length of fission chains.
+
<u>Notes:</u>
 +
*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|set nps]])
 +
*Generation or time cut-off ([[#set tcut|set tcut]]) is always needed for neutron external source simulations in super-critical systems.
  
<strong>Notes:</strong>
+
=== set genrate ===
  
*Applicable only to neutron external source simulation (invoked using ([[#set nps|set nps]])
+
'''set genrate''' ''G'' [ ''MAT'' ]
*Generation or time cut-off ([[#set tcut|set tcut]]) is always needed for neutron external source simulations in super-critical systems.
+
 
 +
Sets normalization to fission neutron generation rate.
 +
 
 +
{|
 +
| <tt>''G''</tt>
 +
| : number of fission neutrons emitted per second (in neutrons/s)
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : material in which the fission neutrons are generated
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 neutron generation rate in the system.
 +
*The neutron generation rate includes only prompt and delayed neutrons emitted in fission.
 +
*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 power]], [[#set powdens|set powdens]], [[#set flux|set flux]], [[#set fissrate|set fissrate]], [[#set absrate|set absrate]], [[#set lossrate|set lossrate]], [[#set srcrate|set srcrate]], [[#set sfrate|set sfrate]].
 +
*See also Section 5.8 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
=== set gpop ===
 +
 +
'''set gpop''' ''MAX_HIS'' ''MAX_POP'' ''C''
 +
Sets the on-the-fly neutron growing population size algorithm.
 +
 
 +
{|
 +
| <tt>''MAX_HIS''</tt>
 +
| : maximum number of histories
 +
|-
 +
| <tt>''MAX_POP''</tt>
 +
| : maximum population size
 +
|-
 +
| <tt>''C''</tt>
 +
| : parameter to control the population growth
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The on-the-fly neutron growing population size algorithm is used in criticality calculations to accelerate the fission source convergence.
 +
*The growing algorithm methodology is described in related paper.  <ref name="gpop">Dufek, J. and Tuttelberg, K.
 +
''"Monte Carlo criticality calculations accelerated by a growing neutron population."'' Ann. Nucl. Energy [https://doi.org/10.1016/j.anucene.2016.02.015 '''94''' (2016) 16-21].</ref>
 +
 
 +
=== set gsw ===
 +
 
 +
'''set gsw''' ''FILE'' [ ''OPT'' ]
 +
Writes secondary photon source points in coupled neutron-photon transport simulation into a file. Input values:
 +
 
 +
{|
 +
| <tt>''FILE''</tt>
 +
| : file name where the source points are written
 +
|-
 +
| <tt>''OPT''</tt>
 +
| : option to include secondary photons in transport calculation (1/yes), (0/no)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Applicable only to coupled neutron-photon transport simulation (invoked using [[#set ngamma|set ngamma]]).
 +
*Default photon-production (from neutron reactions) transported simulation option is switched off (0/no).
 +
*Only source points from active cycles are included in criticality source simulations.
 +
 
 +
=== set his ===
 +
 
 +
'''set his''' ''OPT''
 +
Sets batch history record on or off. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to switch batch history record on (1/yes) or off (0/no)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*When invoked, Serpent collects batch-wise data on k<sub>eff</sub>, fission source entropy etc. and produces a [[Description of output files#History output|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 entr]].
 +
 
 +
=== set ifp ===
 +
 
 +
'''set ifp''' ''GEN''
 +
Sets the number of generations to use for calculating the iterated fission probability. Input values:
 +
 
 +
{|
 +
| <tt>''GEN''</tt>
 +
| : Number of generations. Default value 15.
 +
|}
 +
 
 +
=== set imp ===
 +
 
 +
'''set imp''' ''TYPE'' ''G''
 +
Defines energy-dependent importances. Input values:
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : type of dependency (e = energy)
 +
|-
 +
| <tt>''G''</tt>
 +
| : exponential for adjusting importances (default value: -0.5)
 +
|}
 +
 
 +
'''set imp''' ''TYPE'' ''r<sub>1</sub>'' ''I<sub>1</sub>'' [ ''r<sub>2</sub>'' ''I<sub>2</sub>'' ... ]
 +
Defines geometry-dependent importances for given region(s). Input values:
 +
 
 +
{|
 +
| <tt>''TYPE''</tt>
 +
| : type of (geometrical) dependency (c = cell, m = material, u = universe)
 +
|-
 +
| <tt>''r<sub>n</sub>''</tt>
 +
| : region identifier (cell, material or universe name)
 +
|-
 +
| <tt>''I<sub>n</sub>''</tt>
 +
| : importance
 +
 
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Geometry-dependent importances (only) used for variance reduction
 +
*Only cell (geometry-dependent) type importances supported for now
 +
*Geometry-dependent importances requires using surface-tracking (see [[#set dt|set dt]])
 +
 
 +
=== set impl ===
 +
'''set''' '''impl''' ''ICAPT'' [ ''INXN'' ''INUBAR'' ''ILEAK'' ]
 +
 
 +
Sets implicit reaction modes on or off.
 +
 
 +
{|
 +
| <tt>''ICAPT''</tt>
 +
| : option to switch implicit capture reactions on (1/yes) or off (0/no)
 +
|-
 +
| <tt>''INXN''</tt>
 +
| : option to switch implicit nxn reactions on (1/yes) or off (0/no)
 +
|-
 +
| <tt>''INUBAR''</tt>
 +
| : number of fission neutrons to emit in each fission (nonzero = implicit treatment, 0 = analog treatment)
 +
|-
 +
| <tt>''ILEAK''</tt>
 +
| : option to switch implicit implicit leakage on (1/yes) or off (0/no)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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.
 +
*Implicit leakage requires group constant generation to be set on.
 +
*See separate description of [[physics options in Serpent]] for differences to other codes.
 +
 
 +
=== set inftrk ===
 +
'''set''' '''inftrk''' ''LOOP<sub>n</sub>'' [ ''ERR<sub>n</sub>'' ''LOOP<sub>p</sub>'' ''ERR<sub>p</sub>'' ]
 +
 
 +
Sets parameters for terminating infinite tracking loops.
 +
 
 +
{|
 +
| <tt>''LOOP<sub>n</sub>''</tt>
 +
| : number of neutron tracking loops interpreted as a geometry error 
 +
|-
 +
| <tt>''ERR<sub>n</sub>''</tt>
 +
| : flag to terminate neutron tracking when an infinite loop occurs (0 = no, 1 = yes)
 +
|-
 +
| <tt>''LOOP<sub>p</sub>''</tt>
 +
| : number of photon tracking loops interpreted as a geometry error 
 +
|-
 +
| <tt>''ERR<sub>p</sub>''</tt>
 +
| : flag to terminate photon tracking when an infinite loop occurs (0 = no, 1 = yes)
 +
|-
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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<sub>1</sub>'' ''MAT<sub>2</sub>'' ...
 +
 
 +
'''set inventory''' '''top''' ''N'' ''PARA''
 +
 
 +
Specifies which nuclides or elements to include in the <tt>[input]_dep.m</tt> output file. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>n</sub>''</tt>
 +
| : Nuclide or element to include
 +
|-
 +
| <tt>''N''</tt>
 +
| : Number of nuclides
 +
|-
 +
| <tt>''PARAM''</tt>
 +
| : Parameter name
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 [http://www.oecd-nea.org/rp/chernobyl/c02.html 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 [http://www.oecd-nea.org/science/wpncs/ADSNF/SOAR_final.pdf]
 +
**"burnupindicators" --  Burnup indicators (commonly measured from spent fuel) [http://www.oecd-nea.org/science/wpncs/ADSNF/SOAR_final.pdf]
 +
** "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 <ref>"''The identification of radionuclides relevant to long-term waste management in th United Kingdom''", Nirex Report no. N/105 (2004)</ref>
 +
** "minoractinides" -- Minor actinides (actinides - thorium - uranium - plutonium) for which cross section data are found in JEFF-3.1.1
 +
** "fp" -- Fission products
 +
** "dp" -- Actinide decay products
 +
** "ng" -- Noble gases
 +
*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
 +
**"ingtox" -- 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<sub>1</sub>'' ''MT<sub>1</sub>'' ''FG<sub>1</sub>''
 +
            ''ZAI<sub>2</sub>'' ''MT<sub>2</sub>'' ''FG<sub>2</sub>''
 +
            ...
 +
Defines constant branching ratios to isomeric states. Input values:
 +
 
 +
{|
 +
| <tt>''ZAI<sub>n</sub>''</tt>
 +
| : nuclide identifiers  ([[Definitions, units and constants#definitions|ZAI]])
 +
|-
 +
| <tt>''MT<sub>n</sub>''</tt>
 +
| : [[ENDF reaction MT's and macroscopic reaction numbers#ENDF Reaction MT's|ENDF reaction MT]]
 +
|-
 +
| <tt>''FG<sub>n</sub>''</tt>
 +
| : fraction of reactions leading to the ground state of the product nuclide
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Serpent uses [[Default isomeric branching ratios|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|set bralib]] overrides the constant ratios.
 +
 
 +
=== set iter alb ===
 +
 
 +
'''set''' '''iter''' '''alb''' [ ''CYCLES'' ''KEFF'' ''F<sub>X</sub>'' ''F<sub>Y</sub>'' ''F<sub>Z</sub>'' ]
 +
 
 +
Option that iterates the albedo boundary conditions given a target k-eff for the evaluation. Input values:
 +
 
 +
{|
 +
| <tt>''CYCLES''</tt>
 +
| : number of additional inactive cycles to run for the convergence of the iteration (default value: 50)
 +
|-
 +
| <tt>''KEFF''</tt>
 +
| : target k<sub>eff</sub> for the iteration (default value: 1.0)
 +
|-
 +
| <tt>''F<sub>X</sub>''</tt>
 +
| : albedo factor in x-direction to normalize the albedo leakage rate (default value: 1.0)
 +
|-
 +
| <tt>''F<sub>Y</sub>''</tt>
 +
| : albedo factor in y-direction to normalize the albedo leakage rate (default value: 1.0)
 +
|-
 +
| <tt>''F<sub>Z</sub>''</tt>
 +
| : albedo factor in z-direction to normalize the albedo leakage rate (default value: 1.0)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The albedo boundary conditions result from the product of the iterated albedo leakage rate by the albedo factor in each direction.
 +
 
 +
=== set iter nuc  ===
 +
 
 +
{{:Critical density iteration}}
 +
*See [[Critical density iteration]].
 +
 
 +
=== set keff ===
 +
 
 +
'''set keff''' ''K<sub>EFF</sub>''
 +
Option to scale fission neutron production in external source simulations.
 +
 
 +
{|
 +
| <tt>''K<sub>EFF</sub>''</tt>
 +
| : Fission neutron production scaling factor. Default value is 1.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*The k-effective to use for scaling the fission neutron production. Inverse of <tt>''K<sub>EFF</sub>''</tt> 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.
 +
*Affects both prompt and delayed neutron production from fissions.
 +
*In versions '''prior to 2.1.31''': does not affect delayed neutron precursor production, which will cause unexpected behaviour in [[Transient simulations]] that track delayed neutron precursor concentrations.
 +
 
 +
=== set lossrate ===
 +
 
 +
'''set lossrate''' ''L'' [ ''MAT'' ]
 +
 
 +
Sets normalization to total loss rate.
 +
 
 +
{|
 +
| <tt>''L''</tt>
 +
| : number of lost neutrons per second (neutrons/s)
 +
|-
 +
| <tt>''MAT''</tt>
 +
| : dummy parameter
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Normalization is needed to relate the Monte Carlo reaction rate estimates to a user-given parameter.
 +
*Loss rate includes absorption rate and leakage.
 +
*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 power]], [[#set powdens|set powdens]], [[#set powdens|set flux]], [[#set genrate|set genrate]], [[#set fissrate|set fissrate]], [[#set absrate|set absrate]], [[#set srcrate|set srcrate]], [[#set sfrate|set sfrate]].
 +
*See also Section 5.8 of [http://montecarlo.vtt.fi/download/Serpent_manual.pdf Serpent 1 User Manual].
 +
 
 +
=== set lost ===
 +
 
 +
'''set lost''' ''LIM''
 +
Option to treat undefined geometry regions as void. Input values:
 +
 
 +
{|
 +
| <tt>''LIM''</tt>
 +
| : maximum number of collisions allowed in undefined regions or -1 if no limit is set.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*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 <tt>[input]_res.m</tt> output file.
 +
*The option should not be used to get away with errors in incomplete or poorly defined geometries.
 +
 
 +
=== set maxsplit ===
 +
 
 +
'''set maxsplit''' ''MAX'' ''MIN''
 +
Sets limiting values for splitting and Russian roulette. Input values:
 +
 
 +
{|
 +
| <tt>''MAX''</tt>
 +
| : maximum number of splits
 +
|-
 +
| <tt>''MIN''</tt>
 +
| : minimum survival probability in Russian roulette
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Used with weight-windows (see [[Input_syntax_manual#wwin (weight window mesh definition)|weight window mesh definition]]).
 +
 
 +
=== set mbtch ===
 +
 
 +
'''set mbtch''' ''N''
 +
Adjusts the batch used with MPI data transfer. Input values:
 +
 
 +
{|
 +
| <tt>''N''</tt>
 +
| : batch size in double floats (8 bytes)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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:
 +
 
 +
{|
 +
| <tt>''NP''</tt>
 +
| : number of points sampled in the geometry
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The [[Installing and running Serpent#Monte Carlo volume calculation routine|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 VOL N MAT<sub>1</sub> MAT<sub>2</sub> ... MAT<sub>N</sub> ''
 +
          ''ZAI<sub>1</sub>'' ''MT<sub>1</sub>
 +
          ''ZAI<sub>2</sub>'' ''MT<sub>2</sub>
 +
          ...
 +
Sets parameters for calculating homogenized microscopic cross sections. Input values:
 +
 
 +
{|
 +
| <tt>''UNI''</tt>
 +
| : universe where universe where homogenized microscopic cross sections are generated
 +
|-
 +
| <tt>''VOL''</tt>
 +
| : volume of the universe
 +
|-
 +
| <tt>''N''</tt>
 +
| : number of materials included in the calculation
 +
|-
 +
| <tt>''MAT<sub>1</sub> MAT<sub>2</sub> ... MAT<sub>N</sub>''</tt>
 +
| : material names
 +
|-
 +
| <tt>''ZAI<sub>i</sub>''</tt>
 +
| : nuclide identifier ([[Definitions, units and constants#definitions|ZAI]])
 +
|-
 +
| <tt>''MT<sub>i</sub>''</tt>
 +
| : ENDF reaction [[ENDF reaction MT's and macroscopic reaction numbers|MT]]
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*When this option is set, Serpent calculates homogenized few-group microscopic cross sections for the listed nuclides and reactions.
 +
*The cross sections are always calculated in the actual spectrum of the problem, never with the [[#set fum|critical spectrum]].
 +
*The results are printed in a [[Description of output files#Micro depletion output|separate output file]].
 +
*The results can be included in the [[Description_of_output_files#Group_constant_output|group constant output]] by adding <tt>MDEP_XS</tt> in the [[#set_coefpara|set coefpara]] list.
 +
*If the number of materials is zero, the calculation is carried over all burnable materials.
 +
*If the list of nuclides and reactions is substituted by "all", Serpent will generate the micro-depletion output including all the nuclides and all reactions involved in the calculation at beginning of the  simulation aiming to the extract the constant data (stopping the calculation right after).
 +
*The listed materials must be enclosed inside the homogenized universe.
 +
*The calculation requires the [[Defining material volumes|material volumes to be correctly set]].
 +
*Transmutation reactions to ground and isomeric states can be calculated by adding 'g' and 'm' after the reaction MT (e.g. 102m is the capture cross section corresponding to daughter nuclide being in isomeric state). Reaction rates are calculated to all states by default.
 +
*Fission reactions corresponding to a specific yield in ENDF can be calculated by adding 1, 2, 3, 4, ... after the reaction MT (e.g. 181 is total fission cross section corresponding to first fission product yield) depending on the fission yield data of the nuclide in the data library. This parameter was different before 2.1.32.
 +
*Sum of all capture reactions can be obtained using MT 101
 +
*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).
 +
*The nuclide identifiers are entered as ZAI, not ZA. For example, the ZAI for U-235 is 922350 and the ZAI for Am-242m is 952421.
 +
*Parameter ''VOL'' was ''VR'' in versions before 2.1.32 (volume ratio of materials included in micro depletion to total homogenized region).
 +
*Multiple set mdep cards can be given for a single homogenized universe.
 +
*The microscopic cross section calculation methodology is described in a related article.<ref>Rintala, A., Valtavirta, V. and Leppänen, J. ''"Microscopic cross section calculation methodology in the Serpent 2 Monte Carlo code."'' Ann. Nucl. Energy [https://doi.org/10.1016/j.anucene.2021.108603 '''164''' (2021) 108603]</ref>
 +
 
 +
=== 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:
 +
 
 +
{|
 +
| <tt>''FRAC''</tt>
 +
| : the fraction of system memory that Serpent is allowed to use (between 0 and 1)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
* 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 mfpcut ===
 +
 
 +
'''set mfpcut''' ''MFPMIN<sub>p</sub>''
 +
Sets minimum mean-free-path cut-off for photons. Input values:
 +
 
 +
{|
 +
| <tt>''MFPMIN<sub>p</sub>''</tt>
 +
| : cut-off mean-free-path for photons (cm)
 +
|}
 +
 
 +
=== set mfpcutdens ===
 +
 
 +
'''set mfpcutdens''' ''DENS<sub>1</sub>'' ''MFPMIN<sub>p,1</sub>'' [ ''DENS<sub>2</sub>'' ''MFPMIN<sub>p,2</sub>'' ... ]
 +
Sets density-wise minimum mean-free-path cut-off for photons. Input values:
 +
 
 +
{|
 +
| <tt>''DENS<sub>i</sub>''</tt>
 +
| : mass density (g/cm<sup>3</sup>)
 +
|-
 +
| <tt>''MFPMIN<sub>p,i</sub>''</tt>
 +
| : cut-off mean-free-path for photons (cm)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
*Mass densities and mean-free-paths cut-offs must be given in ascending order.
 +
 
 +
=== set mfpcutmat ===
 +
 
 +
'''set mfpcutmat''' ''MAT<sub>1</sub>'' ''MFPMIN<sub>p,1</sub>'' [ ''MAT<sub>2</sub>'' ''MFPMIN<sub>p,2</sub>'' ... ]
 +
Sets material-wise minimum mean-free-path cut-off for photons. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>i</sub>''</tt>
 +
| : material name
 +
|-
 +
| <tt>''MFPMIN<sub>p,i</sub>''</tt>
 +
| : cut-off mean-free-path for photons (cm)
 +
|}
 +
 
 +
=== set micro ===
 +
 
 +
'''set micro''' ''ERG'' [ ''BTCH'' ]
 +
Defines the intermediate multi-group structure used for group constant generation.
 +
 
 +
{|
 +
| <tt>''ERG''</tt>
 +
| : Intermediate multi-group structure used for group constant generation
 +
|-
 +
| <tt>''BTCH''</tt>
 +
| : When set to 2, results are averaged over all criticality cycles
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*Serpent uses an intermediate multi-group structure to calculate [[Output parameters#Homogenized group constants|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 (energy grid definition)|ene card]] or a name of a [[pre-defined energy group structures|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.
 +
*Note that in general the intermediate multi-group structure should have more groups than the few-group structure to get reasonable results for [[#set fum|leakage corrected group constants]] and out-scatter diffusion coefficients.
 +
 
 +
=== set minxs ===
 +
 
 +
See [[#set cfe|set cfe]].
 +
 
 +
=== set multilevelgcu ===
 +
 
 +
'''set multilevelgcu''' ''OPT''
 +
Option that enables the generation of group constants in multiple overlapping universes. Input values:
 +
 
 +
{|
 +
| <tt>''OPT''</tt>
 +
| : option to switch calculation on (1/yes) or off (0/no). Default is off.
 +
|}
 +
 
 +
=== set mvol ===
 +
 
 +
'''set mvol''' ''MAT<sub>1</sub> ZONE<sub>1,1</sub> VOL<sub>1,1</sub>''
 +
          ''MAT<sub>1</sub> ZONE<sub>1,2</sub> VOL<sub>1,2</sub>''
 +
          ...
 +
          ''MAT<sub>2</sub> ZONE<sub>2,1</sub> VOL<sub>2,1</sub>''
 +
          ...
 +
Sets the volumes of material regions. Input values:
 +
 
 +
{|
 +
| <tt>''MAT<sub>m</sub>''</tt>
 +
| : name of material ''m''
 +
|-
 +
| <tt>''ZONE<sub>m,n</sub>''</tt>
 +
| : index of zone ''n'' in material ''m''
 +
|-
 +
| <tt>''VOL<sub>m,n</sub>''</tt>
 +
| : volume of zone ''n'' in material ''m''
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*This option is used to define material volumes manually. The input card is also produced when the [[Installing and running Serpent#Monte Carlo volume calculation routine|Monte Carlo based volume checker routine]] is invoked.
 +
*The zone index is related to [[automated depletion zone division]], invoked by the [[#div (divisor definition)|div]] card. If no division is used, the index must be set to zero for non-burnable materials. For burnable materials the indexing starts from 1. If no division is used, the corresponding index can be found using the  [[Installing and running Serpent#Monte Carlo volume calculation routine|Monte Carlo based volume checker routine]].
 +
*Another option to define material volumes is to use the vol entry in the [[#mat (material definition)|material card]].
 +
*For more infomation, see detailed description on [[Defining material volumes|the definition of material volumes]].
 +
 
 +
=== set nbuf ===
 +
 
 +
'''set nbuf''' ''FAC'' [ ''BNK'' ]
 +
Sets the size of neutron buffer and event bank. Input values:
 +
 
 +
{|
 +
| <tt>''FAC''</tt>
 +
| : factor (> 1) defining the buffer size
 +
|-
 +
| <tt>''BNK''</tt>
 +
| : event bank size
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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.
 +
*With a large [[#set pop|number of neutrons per generation]], lowering the factor might be necessary due to excessive memory usage. The default values of the factor allows for large fluctuations of the neutron population due to poor statistics, which is seldom an issue with larger neutron populations.
 +
*''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.
 +
 
 +
{|
 +
| <tt>''ERG''</tt>
 +
| : Name of the few-group structure used for group constant generation
 +
|}
 +
 
 +
'''set nfg''' ''NE''
 +
 
 +
Defines the few-group structure used for group constant generation. This syntax should not be used anymore.
 +
 
 +
{|
 +
| <tt>''NE''</tt>
 +
| : Number of energy groups (1/2/4) corresponding to Serpent 1 default 1-, 2- or 4-group structure.
 +
|}
 +
 
 +
'''set nfg''' ''NE E<sub>NE-1</sub> E<sub>NE-2</sub> ... E<sub>1</sub>''
 +
 
 +
Defines the few-group structure used for group constant generation. This syntax should not be used anymore.
 +
 
 +
{|
 +
| <tt>''NE''</tt>
 +
| : Number of energy groups. Must be at least 2 in this format.
 +
|-
 +
| <tt>''E<sub>N</sub>''</tt>
 +
| : Energy group boundary value between groups ''N'' and ''N+1''. Values have to be given in ascending order.
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*The few-group structure may be an energy grid defined using the [[#ene (energy grid definition)|ene card]] or a name of a [[pre-defined energy group structures|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|set micro]] or [[#set fum|set fum]] options.
 +
*Note that in general the intermediate multi-group structure should have more groups than the few-group structure to get reasonable results for [[#set fum|leakage corrected group constants]] and out-scatter diffusion coefficients.
 +
*The few-group structure must be a sub-set of the intermediate multi-group structure.
 +
*See also: [[Output parameters#Homogenized group constants|group constant output]].
 +
*The few-group structure will also be used for example for [[#set adf|assembly discontinuity factors]] and [[#set alb|albedos]].
 +
 
 +
=== set nfylib ===
 +
 
 +
'''set nfylib''' ''LIB<sub>1</sub>'' [ ''LIB<sub>2</sub>'' ''LIB<sub>3</sub>'' ... ]
 +
Sets the neutron-induced fission yield library file paths. Input values:
 +
 
 +
{|
 +
| <tt>''LIB<sub>n</sub>''</tt>
 +
| : library file paths
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>SERPENT_DATA</tt>. The code looks for fission yield data files in this path if not found at the absolute.
 +
*From version 2.2.0 and on, a default neutron-induced fission yield library directory file can be set by defining environment variable <tt>SERPENT_NFYLIB</tt>. This file will be used if no other path is given with '''set nfylib'''.
 +
 
 +
=== set ngamma ===
 +
 
 +
'''set ngamma''' ''MODE'' [ ''WMIN'' ''NMAX'' ]
 +
Sets the coupled neutron-photon transport simulation on. Input values:
 +
 
 +
{|
 +
| <tt>''MODE''</tt>
 +
| : simulation mode (0 = off, 1 = analog, 2 = implicit)
 +
|-
 +
| <tt>''WMIN''</tt>
 +
| : weight limit for implicit mode (default value: 0.1)
 +
|-
 +
| <tt>''NMAX''</tt>
 +
| : maximum number of emitted photons in implicit mode (default value: 10)
 +
|}
 +
 
 +
<u>Notes:</u>
 +
 
 +
*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 <tt>''MODE''</tt> 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:
 +
 
 +
{|
 +
| <tt>''FISS''</tt>
 +
| : option to handle fission (0 = not handled, 1 = handled)
 +
|-
 +
| <tt>''CAPT''</tt>
 +
| : option to handle capture (0 = not handled, 1 = handled)