Editing
Input syntax manual
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Input cards<span id="input cards"></span> == 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 (...). === branch (branch definition)<span id="branch"></span> === '''branch''' ''NAME'' [ [[#branch_repm|'''repm''']] ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ] [ [[#branch_repu|'''repu''']] ''UNI<sub>1</sub>'' ''UNI<sub>2</sub>'' ] [ [[#branch_stp|'''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> ...'' ] [ [[#branch_tra|'''tra''']] ''TGT TRANS'' ] [ [[#branch_xenon|'''xenon''']] ''OPT'' ] [ [[#branch_samarium|'''samarium''']] ''OPT'' ] [ [[#branch_norm|'''norm''']] ''NSF'' ] [ [[#branch_gcu|'''gcu''']] ''UNI<sub>2</sub>'' ] [ [[#branch_reptrc|'''reptrc''']] ''FILE<sub>1</sub>'' ''FILE<sub>2</sub>'' ] [ [[#branch_var|'''var''']] ''VNAME VAL'' ] [ [[#branch_incl|'''incl''']] ''MODFILE'' ] Defines the variations invoked for a branch in the automated burnup sequence. The first parameter: {| | <tt>''NAME''</tt> | : branch name |} The remaining parameters are defined by separate key words followed by the input values. <u>Notes:</u> *The branch card can be combined with the [[#coef|coef card]], [[#hisv|hisv card]], and [[#casematrix| casematrix card]]. *The branch name identifies the branch <tt>''BR<sub>m,i</sub>''</tt> in the variation matrix defined by the [[#coef|coef card]], [[#hisv|hisv card]], and [[#casematrix| casematrix card]]. *The input parameters consist of a number variations, which are invoked when the branch is applied. *A single branch card may include one or several variations. *For more information, see detailed description on the [[automated burnup sequence]]. <u>Variation types:</u> Branch material variation (<tt>'''repm'''</tt>):<span id="branch_repm"></span> {| | <tt>''MAT<sub>1</sub>''</tt> | : name of the replaced material |- | <tt>''MAT<sub>2</sub>''</tt> | : name of the replacing material |} <u>Notes:</u> *The material 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|mat]] or [[#mix|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 '''dm''' entry in the [[#det_dm|det card]], '''sm''' entry in the [[#src_sm|src card]], [[#set_trc|set trc]] option and/or [[#set_iter_nuc|set iter nuc]] option 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 replaced material ''MAT<sub>1</sub>'' is also replaced inside mixtures. **This means one can not replace a material with a mixture defined with [[#mix|mix card]] containing the replaced material (for example replacing pure water defined with [[#mat|mat card]] by a mixture of boron and water defined with a [[#mix|mix card]] containing the same pure water material). *The replacing material ''MAT<sub>2</sub>'' can not be included in the geometry using other cards than the branch card, from version 2.1.30 and on. Branch universe variation (<tt>'''repu'''</tt>):<span id="branch_repu"></span> {| | <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 universe 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 '''du''' entry in the [[#det_du|det card]] and/or '''su''' entry in the [[#src_su|src card]] 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. Branch state variation, density/temperature (<tt>'''stp'''</tt>):<span id="branch_stp"></span> {| | <tt>''MAT''</tt> | : name of the material for which density and temperature are adjusted |- | <tt>''DENS''</tt> | : material density after adjustment (positive value = atomic density [in b<sup>-1</sup>cm<sup>-1</sup>], negative value = mass density [in g/cm<sup>3</sup>]) |- | <tt>''TEMP''</tt> | : material temperature after adjustment [in K] |- | <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(α, β) library for temperature below the given value |- | <tt>''SABH<sub>n</sub>''</tt> | : name of the ''n''-th S(α, β) library for temperature above the given value |} <u>Notes:</u> *The state variation can be used to change material density and temperature. *There is a special entry for the <tt>''TEMP''</tt> parameter: **"<tt>-1</tt>": to not adjust temperature *There are two special entries for the <tt>''DENS''</tt> parameter: ** "<tt>sum</tt>": to define the material density as the sum of the constituent nuclides densities (not supported from version 2.2.0 and on) ** "<tt>original</tt>": to keep unmodified the material density (introduced in version 2.2.1). *The adjustment is made using the built-in [[Doppler-broadening preprocessor routine]] and tabular interpolation for S(α, β) thermal scattering data. *The last three parameters of the card are provided only if the material has thermal scattering libraries attached to it (see the [[#therm|therm card]]). Branch transformation variation (<tt>'''tra'''</tt>):<span id="branch_tra"></span> {| | <tt>''TGT''</tt> | : target universe, surface or cell |- | <tt>''TRANS''</tt> | : name of the applied transformation |} <u>Notes:</u> *The transformation 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 <tt>''TRANS''</tt> refers to the unit (universe, cell or surface) entry in the [[#trans|trans card]]. Branch xenon variation (<tt>'''xenon'''</tt>):<span id="branch_xenon"></span> {| | <tt>''OPT''</tt> | : option for setting xenon poison concentrations (0 = set to zero, 1 = use values from restart file) |} <u>Notes:</u> *The xenon variation can be set to enforced the Xe-135 and Xe-135m concentrations and optionally I-135 concentration to zero. **By default the concentrations are read from the restart file. *Equilibrium xenon ([[#set_xenon|set xenon]] option). **If the calculation is "<tt>on</tt>", then the option "<tt>0</tt>" sets I-135, Xe-135 and Xe-135m concentrations to zero. **If the calculation is "<tt>off</tt>", then the option "<tt>0</tt>" sets only Xe-135 and Xe-135m concentrations to zero. Branch samarium variation (<tt>'''samarium'''</tt>):<span id="branch_samarium"></span> {| | <tt>''OPT''</tt> | : option for setting samarium poison concentrations (0 = set to zero, 1 = use values from restart file) |} <u>Notes:</u> *The samarium variation can be set to enforce the Sm-149 concentration and possibly Pm-149 concentration to zero. **By default the concentrations are read from the restart file. *Equilibrium samarium ([[#set_samarium|set samarium]] option): **If the calculation is "<tt>on</tt>", then the option "<tt>0</tt>" sets both Pm-149 and Sm-149 concentrations to zero. **If the calculation is "<tt>off</tt>", then the option "<tt>0</tt>" sets only Sm-149 concentration to zero. Branch normalization variation (<tt>'''nsf'''</tt>):<span id="branch_nsf"></span> {| | <tt>''NSF''</tt> | : normalization scaling factor |} <u>Notes:</u> *The normalization 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. Branch group constant variation (<tt>'''gcu'''</tt>):<span id="branch_gcu"></span> {| | <tt>''UNI<sub>2</sub>''</tt> |: name of the replacing universe |} <u>Notes:</u> *The group constant variation can be used to replace the universe for group constant generation. *The variation is limited to a single-valued GCU-list (see [[#set gcu|set gcu]] option). Branch transport-correction variation (<tt>'''reptrc'''</tt>):<span id="branch_reptrc"></span> {| | <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 |} <u>Notes:</u> *The transport-correction variation can be used to replace a transport correction file with another (see [[#set trc|set trc]] option). Branch variable variation (<tt>'''var'''</tt>):<span id="branch_var"></span> {| | <tt>''VNAME''</tt> | : variable name |- | <tt>''VAL''</tt> | : variable value |} <u>Notes:</u> *The variable variation can be used to pass information into the output file, which may be convenient for the post-processing of the data. Branch user-defined variation (<tt>'''incl'''</tt>):<span id="branch_incl"></span> {| | <tt>''MODFILE''</tt> |: file path to an additional/modified input file |} <u>Notes:</u> *The user-defined variation can be used as a multi-purpose option to modify the base-input via the additional input file <tt>''MODFILE''</tt>. === 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 (positive value = burnup [in MWd/kg], negative value = time [in d]) |- | <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> × <tt>''NBR<sub>2</sub>''</tt> × <tt>''NBR<sub>3</sub>''</tt> × ... ). **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. *The casematrix card is used together with the [[#branch|branch card]] and [[Installing_and_running_Serpent#Running_casematrix_calculations|<tt>''-casematrix''</tt>]] command line 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 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 |} <u>Notes:</u> *The cell definition is based on the universe-based geometry type in Serpent. *Universes are implicitly declared, e.g., by using the <tt>''UNI<sub>0</sub>''</tt> key word on cell cards, as there is no explicit universe input card. *The surface list defines the boundaries of the cell by listing the surface names (as provided in the surface definition, [[#surf|surf card]]), together with the operator identifiers (nothing for intersection, ":" for union, "-" for complement and "#" for cell complement). *The general cell definition (so-called "material cell") have tailored types, defined by special material entries (replacing <tt>''MAT''</tt>): ::{| class="wikitable" style="text-align: left;" ! Type ! Description |- | <tt>void</tt> | region is defined as zero-collision |- | <tt>fill ''UNI<sub>1</sub>''</tt> | region is filled by another universe, <tt>''UNI<sub>1</sub>''</tt> |- | <tt>outside</tt><span id="cell_outside"></span> | region is not part of the actual geometry ("outside world") |- |} ::Outside cells: ::*When the particle enters an outside cell, the boundary conditions are applied (see [[#set bc|set bc]] option). 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. ::*See [[#set bc|set bc]] for limitations of the surfaces types for outside cells if repeated boundary conditions are applied. ::*Outside cells are allowed only in the root universe. It is important that all space outside the model is defined. *Cells defined without surfaces are treated as infinite, from version 2.1.32 on. *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. *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 (positive value = burnup [in MWd/kg], negative value = time [in d]) |- | <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> × <tt>''NBR<sub>2</sub>''</tt> × <tt>''NBR<sub>3</sub>''</tt> × ... ). **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. *The coef card is used together with the [[#branch|branch]] card. *For multiple historical variations or historical conditions defined using a [[#branch|branch]] card, see the [[#casematrix|casematrix]] card. *For more information, see detailed description on [[automated burnup sequence]]. === datamesh (general data mesh definition)<span id="datamesh"></span> === '''datamesh''' ''NAME'' ''TYPE'' ''USE<sub>LC</sub>'' [ ... ] Defines a general data mesh to be used for spacial discretisation. Input values: {| | <tt>''NAME''</tt> | : mesh name |- | <tt>''TYPE''</tt> | : mesh type |- | <tt>''USE<sub>LC</sub>''</tt> | : use lowest level coordinates (1/yes) instead of global coordinates (0/no) for the mesh search |- |} The remaining parameters are type-dependent. <u>Notes:</u> *The general data mesh can be used, e.g., with detectors ('''dmesh''' entry in the [[#det|det card]]), interfaces ([[#ifc|ifc card]]), sensitivities ('''opt dmesh''' entry in the [[#sens|sens card]]), etc. *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. *The nested data meshes (type 9) take the coordinates' level from the <tt>''USE<sub>LC</sub>''</tt> parameter defined in the nested mesh itself and use it in the subsequent sub-meshes, overriding the <tt>''USE<sub>LC</sub>''</tt> parameter defined on those. The available <u>general data mesh types</u> are: ::{| class="wikitable" style="text-align: left;" ! Type ! Description |- | [[#datamesh_1|<tt>1</tt>]] | regular 3D Cartesian mesh |- | [[#datamesh_2|<tt>2</tt>]] | regular 2D cylindrical mesh |- | [[#datamesh_4|<tt>4</tt>]] | regular 3D X-type hexagonal mesh |- | [[#datamesh_5|<tt>5</tt>]] | regular 3D Y-type hexagonal mesh |- | [[#datamesh_6|<tt>6</tt>]] | irregular 3D Cartesian mesh |- | [[#datamesh_8|<tt>8</tt>]] | radially irregular 2D cylindrical mesh |- | [[#datamesh_9|<tt>9</tt>]] | regular nested mesh |- |} The syntax of the available types is as follows: '''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>'' <span id="datamesh_1"></span> {| | <tt>''N<sub>X</sub>''</tt> | : number of cells in the x-direction |- | <tt>''X<sub>MIN</sub>''</tt> | : mesh lower x-boundary [in cm] |- | <tt>''X<sub>MAX</sub>''</tt> | : mesh higher x-boundary [in cm] |- | <tt>''N<sub>Y</sub>''</tt> | : number of cells in the y-direction |- | <tt>''Y<sub>MIN</sub>''</tt> | : mesh lower y-boundary [in cm] |- | <tt>''Y<sub>MAX</sub>''</tt> | : mesh higher y-boundary [in cm] |- | <tt>''N<sub>Z</sub>''</tt> | : number of cells in the z-direction |- | <tt>''Z<sub>MIN</sub>''</tt> | : mesh lower z-boundary [in cm] |- | <tt>''Z<sub>MAX</sub>''</tt> | : mesh higher z-boundary [in cm] |} '''datamesh''' ''NAME'' '''2''' ''USE<sub>LC</sub>'' ''N<sub>R</sub>'' ''R<sub>MIN</sub>'' ''R<sub>MAX</sub>'' ''N<sub>PHI</sub>'' <span id="datamesh_2"></span> {| | <tt>''N<sub>R</sub>''</tt> | : number of cells in the radial direction |- | <tt>''R<sub>MIN</sub>''</tt> | : mesh inner radial boundary [in cm] |- | <tt>''R<sub>MAX</sub>''</tt> | : mesh outer radial boundary [in cm] |- | <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>'' <span id="datamesh_4"></span> {| | <tt>''X<sub>0</sub>''</tt> | : mesh horizontal origin x-coordinate [in cm] |- | <tt>''Y<sub>0</sub>''</tt> | : mesh horizontal origin y-coordinate [in cm] |- | <tt>''PITCH''</tt> | : mesh horizontal pitch (equal to cell flat-to-flat width) [in cm] |- | <tt>''Z<sub>MIN</sub>''</tt> | : mesh lower z-boundary [in cm] |- | <tt>''Z<sub>MAX</sub>''</tt> | : mesh higher z-boundary [in cm] |- | <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>'' <span id="datamesh_5"></span> {| | <tt>''X<sub>0</sub>''</tt> | : mesh horizontal origin x-coordinate [in cm] |- | <tt>''Y<sub>0</sub>''</tt> | : mesh horizontal origin y-coordinate [in cm] |- | <tt>''PITCH''</tt> | : mesh horizontal pitch (equal to cell flat-to-flat width) [in cm] |- | <tt>''Z<sub>MIN</sub>''</tt> | : mesh lower z-boundary [in cm] |- | <tt>''Z<sub>MAX</sub>''</tt> | : mesh higher z-boundary [in cm] |- | <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>'' <span id="datamesh_6"></span> {| | <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 [in cm] |- | <tt>''Y<sub>i</sub>''</tt> | : <tt>''N<sub>Y</sub>'' + 1</tt> mesh boundaries in the y-direction [in cm] |- | <tt>''Z<sub>i</sub>''</tt> | : <tt>''N<sub>Z</sub>'' + 1</tt> mesh boundaries in the z-direction [in cm] |} '''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>'' <span id="datamesh_8"></span> {| | <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 radial direction [in cm] |} '''datamesh''' ''NAME'' '''9''' ''USE<sub>LC</sub>'' ''N<sub>LEVEL</sub>'' ''MESH<sub>1</sub>'' ... ''MESH<sub>N<sub>LEVEL</sub></sub>'' <span id="datamesh_9"></span> {| | <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'' |} === 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> *Multiple depletion histories with different step types can be specified in the input, and they will be executed in the input order. *Depletion calculations (burnup/activation steps) require normalization. **See: [[#set power|set power]], [[#set powdens|set powdens]], [[#set flux|set flux]], [[#set genrate|set genrate]], [[#set fissrate|set fissrate]], [[#set absrate|set absrate]], [[#set lossrate|set lossrate]], [[#set srcrate|set srcrate]], [[#set sfrate|set sfrate]]. **If multiple depletion histories and normalizations are defined in the input, the first normalization will be used with the first depletion history, the second normalization with the second depletion history and so on. ***Note that even though decay calculations (decay steps) disregard the user defined normalization, a normalization has to be defined also for the decay history, if multiple normalizations are defined in the input and there are depletion histories (burnup/activation steps) after the decay calculation. **If the normalization is set to zero, physical estimates, e.g., detectors will be printed as zero. ***Alternatively, use a very small value to enforce a non-zero normalization. **Except: ***Radioactive decay source: source rate normalization is carried out automatically based on the total emission rate. ***Decay steps: equivalent, e.g., zero power. *Activation step, "<tt>actstep</tt>" and "<tt>acttot</tt>": **Transport cycle is run only once and transmutation cross sections are not updated. **Limitations: ***It must be preceeded by a burnup step. ***It cannot be used with a burnable material radioactive source. ***Burnup is not calculated correctly *Decay step, "<tt>decstep</tt>" and "<tt>dectot</tt>": **Transport cycle is omitted and transmutation cross sections are not calculated. **Limitations: ***It cannot preceed activation steps. ***Physical estimates, e.g., detectors will not be printed for the given step (value zero) due to normalization '''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_dn1|'''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>'' ] [ [[#det_dn2|'''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>'' ] [ [[#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 two first parameters: {| | <tt>''NAME''</tt> | : detector name |- | <tt>''PART''</tt> | : particle type (n = neutron, p = photon) |} The remaining parameters are defined by separate key words followed by the input values. <u>Notes:</u> *The particle type <tt>''PART''</tt> is optional in single particle simulations. *The detectors estimates are integrated values over the space, angle, energy and time domains. *A detector with an associated discretization in space, angle, energy and/or time turns into multiple bins. Each bin results are correspondingly integrated over the discretization domain. *A single detector card may include one or several detector types. If multiple detectors are defined, the results are correspondingly divided into multiple bins. <u>Detector types:</u> Detector response (<tt>'''dr'''</tt>):<span id="det_dr"></span> {| | <tt>''MT''</tt> | : response number |- | <tt>''MAT''</tt> | : response associated material name |} <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: *** They are associated with microscopic cross sections *** The detector result is independent of the material density. *** Materials associated to microscopic cross sections must consist of a single nuclide. ***Microscopic reactions to ground and isomeric states can be calculated by adding "<tt>g</tt>" or "<tt>m</tt>" 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: *** They are associated with macroscopic cross sections and special types *** The detector 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. **There is a special entry for the response associated material: *** "<tt>void</tt>": to allow the response not to be pre-assigned with a specific material. **** When the detector scores in a collision, the cross-section is taken from the material at the collision point. **** Use, e.g., to calculate integral reaction rates over regions composed of multiple materials. **** It only can be used with negative response numbers. *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 bin-volume (default value: 1.0) *In the case of surface detectors, ''VOL'' represents the surface area [in cm<sup>2</sup>] (3D geometry) or the surface length [in cm] (2D geometry). 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> *There is a special entry for the material name: **"<tt>fiss</tt>": to score only in fissile region(s) *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. Detector evenly-spaced Cartesian mesh (<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 [in cm] |- | <tt>''X<sub>MAX</sub>''</tt> | : maximum x-coordinate of the detector mesh [in cm] |- | <tt>''N<sub>X</sub>''</tt> | : number of x-bins |- | <tt>''Y<sub>MIN</sub>''</tt> | : minimum y-coordinate of the detector mesh [in cm] |- | <tt>''Y<sub>MAX</sub>''</tt> | : maximum y-coordinate of the detector mesh [in cm] |- | <tt>''N<sub>Y</sub>''</tt> | : number of y-bins |- | <tt>''Z<sub>MIN</sub>''</tt> | : minimum z-coordinate of the detector mesh [in cm] |- | <tt>''Z<sub>MAX</sub>''</tt> | : maximum z-coordinate of the detector mesh [in cm] |- | <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 evenly-spaced bins. *For a Cartesian mesh the division is provided with separate entries in x-, y- and z- locations (<tt>'''dx'''</tt>, <tt>'''dy'''</tt> and <tt>'''dz'''</tt>, respectively). Detector evenly-spaced curvilinear mesh (<tt>'''dn'''</tt>):<span id="det_dn1"></span> {| | <tt>''TYPE''</tt> | : type of curvilinear mesh - 1 = cylindrical (dimensions ''r'', ''θ'', ''z''), 2 = spherical (dimensions ''r'', ''θ'', ''φ'') |- | <tt>''MIN<sub>n</sub>''</tt> | : minimum value of ''n''-coordinate for the mesh division [in cm (''r'', ''z''), in degrees (''θ'', ''φ'')]. |- | <tt>''MAX<sub>n</sub>''</tt> | : maximum value of ''n''-coordinate for the mesh division [in cm (''r'', ''z''), 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). |} <u>Notes:</u> *All parameters must be provided, even for one- or two-dimensional curvilinear meshes. *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. Detector unevenly-spaced mesh (<tt>'''dn'''</tt>):<span id="det_dn2"></span> {| | <tt>''TYPE''</tt> | : type of curvilinear mesh - 3 = unevenly-spaced orthogonal (dimensions ''x'', ''y'', ''z''), 4 = unevenly-spaced cylindrical (dimensions ''r'', ''θ'', ''z'') |- | <tt>''N<sub>n</sub>''</tt> | : number of bins in the ''n''-coordinate direction |- | <tt>''LIM<sub>nm</sub>''</tt> | : mesh ''m''-boundary in the ''n''-coordinate direction [in cm (''r'', ''z''), in degrees (''θ'', ''φ'')]. |} <u>Notes:</u> *All parameters must be provided, even for one- or two-dimensional meshes. *By default, the unevenly-spaced 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. Detector hexagonal mesh (<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 [in cm] |- | <tt>''PITCH''</tt> | : mesh pitch [in cm] |- | <tt>''N<sub>1</sub>''</tt>, <tt>''N<sub>2</sub>''</tt> | : mesh size |- | <tt>''Z<sub>MIN</sub>''</tt> | : minimum z-coordinate of the detector mesh [in cm] |- | <tt>''Z<sub>MAX</sub>''</tt> | : maximum z-coordinate of the detector mesh [in cm] |- | <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. Detector unstructured mesh (<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|ene card]]. **[[Pre-defined energy group structures]] can not be directly used in detectors, they have to be redefined using for example the type "<tt>4</tt>" of [[#ene|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|tme card]]. *Time bin division may require adjusting the average collision distance ([[#set cfe|set cfe]] option) to achieve sufficient statistical accuracy. Detector current / flux surface (<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. *Flux mode: **The surface flux mode is invoked by setting the direction parameter to "<tt>-2</tt>", otherwise this parameter defines the current direction with respect to surface normal. *Current mode: **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 further define the surface and integration domain 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>X</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. Detector super-imposed track-length (<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 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 purpose of the track-length detector is to provide better statistics for special applications (activation wire measurements, etc.). *For more information see the detailed description on [[delta- and surface-tracking]] and [[Result estimators#Implicit estimators|result estimators]]. 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. *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. *When used with the surface current detector this option can provide surface source distributions for other calculations. *Source files can be read using the <tt>'''sf'''</tt> entry of the [[#src_sf|src card]]. Detector special types (<tt>'''dt'''</tt>):<span id="det_dt"></span> {| | <tt>''TYPE''</tt> | : special type (see below) |- | <tt>''PARAM''</tt> | : additional parameters |} The possible special types are: ::{| class="wikitable" style="text-align: left;" ! Type ! Description ! Notes |- | -1 | cumulative spectrum | use with energy binning ('''de''') |- | -2 | division by energy width | use with energy binning ('''de''') |- | -3 | division by lethargy width | use with energy binning ('''de''') |- | -4 | sum over cell or material bins | use with cell and/or material binning ('''dc''', '''dm''') |- | -5 | importance weighting | - |- | -6 | sum over number of scores | - |- | 2 | multiply result with another detector defined by <tt>''PARAM''</tt> | bin-compatibility |- | 3 | divide result with another detector defined by <tt>''PARAM''</tt> | bin-compatibility |- | 4 | multiply response function by (local) temperature | - |- |} <u>Notes:</u> *Type "<tt>3</tt> can be used to calculate flux-weighted averages (microscopic and macroscopic cross sections, etc.). Detector history collection flag (<tt>'''dhis'''</tt>):<span id="det_dhis"></span> {| | <tt>''OPT''</tt> | : option to switch on (1/yes) or off (0/no) the collection of histories, batch-wise results |} <u>Notes:</u> *When this option is set, the batch-wise results are printed in the history output file, <tt>[input]_stats.m</tt>. *The statistical tests are described in a related report<ref name="stat_tests">Kaltiaisenaho, T. ''"Statistical tests and the underestimation of variance in Serpent 2."'' VTT-R-00371-14, VTT Technical Research Centre of Finland, [https://serpent.vtt.fi/serpent/download/VTT-R-00371-14.pdf 2014]</ref>. *''Note to developers: statistical tests should be documented'' Detector score 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) |} The possible flagging options are: ::{| class="wikitable" style="text-align: left;" ! Flag ! Description ! Notes |- | <tt>0</tt> | reset if scored | - |- | <tt>1</tt> | set if scored | - |- | <tt>-2/2</tt> | score if set | 2 (apply OR-type logic), -2 (apply AND-type logic) |- | <tt>-3/3</tt> | score if not set | 3 (apply OR-type logic), -3 (apply AND-type logic) |- |} <u>Notes:</u> *Detector flagging allows limiting detector scores to histories which have already contributed to another score. *Scoring logic: ** OR-type logic: detector is scored if any of the associated flags is set/unset ** AND-type logic: detector is scored if all the associated flags are set/unset Detector activation (<tt>'''da'''</tt>):<span id="det_da"></span> {| | <tt>''MAT''</tt> | : activated material |- | <tt>''FLX''</tt> | : flux applied to activation [in 1/cm<sup>2</sup>s] |} <u>Notes:</u> *Activation detector allows performing activation calculation for materials that are not part of the geometry. *Flux applied to activation: **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. ***There is a special entry for the <tt>''FLX''</tt> parameter: **** "<tt>-1</tt>": in this case, the flux magnitude is also taken from the detector scores. *Requires neutron transport simulation and burnup mode. *The detector associated material must be burnable, and cannot part of the actual geometry. *The volume of the material, aka detector, 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. Detector Functional Expansion Tally, FET (<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> *"<tt>-1</tt>" 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'' [ [[#div_sep|'''sep''']] ''LVL'' ] [ [[#div_subx1|'''subx''']] ''N<sub>X</sub>'' ''X<sub>MIN</sub>'' ''X<sub>MAX</sub>'' ] [ [[#div_subx2|'''subx''']] ''N<sub>X</sub>'' ''X<sub>1</sub>'' ''X<sub>2</sub>'' ... ''X<sub>N+1</sub>'' ] [ [[#div_suby1|'''suby''']] ''N<sub>Y</sub>'' ''Y<sub>MIN</sub>'' ''Y<sub>MAX</sub>'' ] [ [[#div_suby2|'''suby''']] ''N<sub>Y</sub>'' ''Y<sub>1</sub>'' ''Y<sub>2</sub>'' ... ''Y<sub>N+1</sub>'' ] [ [[#div_subz1|'''subz''']] ''N<sub>Z</sub>'' ''Z<sub>MIN</sub>'' ''Z<sub>MAX</sub>'' ] [ [[#div_subz2|'''subz''']] ''N<sub>Z</sub>'' ''Z<sub>1</sub>'' ''Z<sub>2</sub>'' ... ''Z<sub>N+1</sub>'' ] [ [[#div_subr1|'''subr''']] ''N<sub>R</sub>'' ''R<sub>MIN</sub>'' ''R<sub>MAX</sub>'' ] [ [[#div_subr2|'''subr''']] ''N<sub>R</sub>'' ''R<sub>1</sub>'' ''R<sub>2</sub>'' ... ''R<sub>N+1</sub>'' ] [ [[#div_subs1|'''subs''']] ''N<sub>S</sub>'' ''S<sub>0</sub>'' ] [ [[#div_subs2|'''subs''']] ''N<sub>S</sub>'' ''S<sub>1</sub>'' ''S<sub>2</sub>'' ... ''S<sub>N+1</sub>'' ] [ [[#div_peb|'''peb''']] ''PBED'' ''N<sub>UNI</sub>'' [ ''UNI<sub>1</sub>'' ... ''UNI<sub>N</sub>'' ] ] [ [[#div_lims|'''lims''']] ''FLAG'' ] Divides a material into a number of sub-zones. The first parameter: {| | <tt>''MAT''</tt> | : name of the divided material |} The remaining parameters are defined by separate key words followed by the input values. <u>Notes:</u> *A single div card may include one or several sub-divisions. *As general rule: ** if the number of zones associated with a sub-division is <u>positive</u>, the sub-division is <u>equal volume</u> (see below) ** if the number of zones associated with a sub-division is <u>negative</u>, the subdivision is <u>user-defined volume</u> (see below) *If a material is not divided, all occurrences of it are treated as a single depletion zone (except for depleted materials defined in pin structures: pin-type division). *The use of automated instead of manual depletion zone division saves memory, which may become significant in very large burnup calculation problems (see [[#set opti|set opti]]). *The volumes of the divided materials must be set manually (see [[#set mvol|set mvol]] option) or automatically, via the Monte Carlo checker-routine (see [[#set mcvol|set mcvol]] option or [[Installing and running Serpent#Running Serpent|''-checkvolumes'']] command line option). **For a more detailed description, check [[Defining material volumes|Defining material volumes]]). *For more information, see detailed description on [[automated depletion zone division]]. <u>Sub-division types:</u> Sub-division geometry level (<tt>'''sep'''</tt>): <span id="div_sep"></span> {| | <tt>''LVL''</tt> | : geometry level at which the material-wise division takes place (0 = no division, 1 = last level, 2 = 2nd last level, etc.) |- |} <u>Notes:</u> *The sub-division criterion is the geometry level. *The level number is counted backwards from the last one, i.e. level "<tt>1</tt>" is the last level. *Use examples: **to sub-divide the fuel in large LWR core into separate depletion zones on assembly-, instead of pin-basis. **to sub-divide HTGR fuel kernels into depletion zones on compact- or pebble-basis. Sub-division Cartesian mesh, <u>equal volume</u> (<tt>'''subx'''</tt>, <tt>'''suby'''</tt> and <tt>'''subz'''</tt>):<span id="div_subx1"></span><span id="div_suby1"></span><span id="div_subz1"></span> {| | <tt>''N<sub>X</sub>''</tt> | : number of x-zones (positive value) |- | <tt>''X<sub>MIN</sub>''</tt> | : minimum x-coordinate [in cm] |- | <tt>''X<sub>MAX</sub>''</tt> | : maximum x-coordinate [in cm] |- | <tt>''N<sub>Y</sub>''</tt> | : number of y-zones (positive value) |- | <tt>''Y<sub>MIN</sub>''</tt> | : minimum y-coordinate [in cm] |- | <tt>''Y<sub>MAX</sub>''</tt> | : maximum y-coordinate [in cm] |- | <tt>''N<sub>Z</sub>''</tt> | : number of z-zones (positive value) |- | <tt>''Z<sub>MIN</sub>''</tt> | : minimum z-coordinate [in cm] |- | <tt>''Z<sub>MAX</sub>''</tt> | : maximum z-coordinate [in cm] |- |} <u>Notes:</u> * An equal volume sub-division is performed in the given dimension. * The value of the parameter <tt>''N<sub>n</sub>''</tt> which defines the number of zones in the given dimension must be positive. * For a Cartesian mesh sub-division, a separate entry in x-, y-, z- directions is provided (<tt>'''subx'''</tt>, <tt>'''suby'''</tt> and <tt>'''subz'''</tt>, respectively). Sub-division Cartesian mesh, <u>user-defined volume</u> (<tt>'''subx'''</tt>, <tt>'''suby'''</tt> and <tt>'''subz'''</tt>):<span id="div_subx2"></span><span id="div_suby2"></span><span id="div_subz2"></span> {| | <tt>''N<sub>X</sub>''</tt> | : number of x-zones (negative value) |- | <tt>''X<sub>n</sub>''</tt> | : x-coordinate boundaries [in cm] |- | <tt>''N<sub>Y</sub>''</tt> | : number of y-zones (negative value) |- | <tt>''Y<sub>n</sub>''</tt> | : y-coordinate boundaries [in cm] |- | <tt>''N<sub>Z</sub>''</tt> | : number of z-zones (negative value) |- | <tt>''Z<sub>n</sub>''</tt> | : z-coordinate boundaries [in cm] |- |} <u>Notes:</u> * An user-defined volume sub-division is performed in the given dimension. * The value of the parameter <tt>''N<sub>n</sub>''</tt> which defines the number of zones in the given dimension must be negative. * For a Cartesian mesh sub-division, a separate entry in x-, y-, z- directions is provided (<tt>'''subx'''</tt>, <tt>'''suby'''</tt> and <tt>'''subz'''</tt>, respectively). Sub-division cylindrical annular mesh, <u>equal volume</u> (<tt>'''subr'''</tt>):<span id="div_subr1"></span> {| | <tt>''N<sub>R</sub>''</tt> | : number of radial-zones (positive value) |- | <tt>''R<sub>MIN</sub>''</tt> | : minimum radial-coordinate [in cm] |- | <tt>''R<sub>MAX</sub>''</tt> | : maximum radial-coordinate [in cm] |- |} <u>Notes:</u> * An equal volume radial sub-division is performed (annular-type sub-division) * The value of the parameter <tt>''N<sub>R</sub>''</tt> which defines the number of zones in the given dimension must be positive. Sub-division cylindrical annular mesh, <u>user-defined volume</u> (<tt>'''subr'''</tt>):<span id="div_subr2"></span> {| | <tt>''N<sub>R</sub>''</tt> | : number of radial-zones (negative value) |- | <tt>''R<sub>n</sub>''</tt> | : radial-coordinate boundaries [in cm] |- |} <u>Notes:</u> * An user-defined volume radial sub-division is performed (annular-type sub-division) * The value of the parameter <tt>''N<sub>R</sub>''</tt> which defines the number of zones in the given dimension must be negative. Sub-division cylindrical sector mesh, <u>equal volume</u> (<tt>'''subs'''</tt>):<span id="div_subs1"></span> {| | <tt>''N<sub>S</sub>''</tt> | : number of angular-zones (positive value) |- | <tt>''S<sub>0</sub>''</tt> | : zero position of angular division [in degrees] |- |} <u>Notes:</u> * An equal volume angular sub-division is performed (sector-type sub-division) * The value of the parameter <tt>''N<sub>S</sub>''</tt> which defines the number of zones in the angular dimension must be positive. Sub-division cylindrical sector mesh, <u>user-defined volume</u> (<tt>'''subs'''</tt>):<span id="div_subs2"></span> {| | <tt>''N<sub>S</sub>''</tt> | : number of angular-zones (negative value) |- | <tt>''S<sub>n</sub>''</tt> | : angular-sector boundaries [in degrees] |- |} <u>Notes:</u> * An user-defined volume angular sub-division is performed (sector-type sub-division) * The value of the parameter <tt>''N<sub>S</sub>''</tt> which defines the number of zones in the angular dimension must be negative. * The manually-spaced angular-sector boundaries <tt>''S<sub>n</sub>''</tt> must cover the full/360 degrees angular space. Sub-division pebble-bed structure (<tt>'''peb'''</tt>): <span id="div_peb"></span> {| | <tt>''PBED''</tt> | : stochastic particle / pebble-bed structure |- | <tt>''N<sub>UNI</sub>''</tt> | : number of universes to link related to the <tt>''PBED''</tt> structure (special case: 0 = link to all) |- | <tt>''UNI<sub>N</sub>''</tt> |: list of universes to link (non-zero number of universes) |- |} <u>Notes:</u> *The pebble bed-based sub-division divides each item in a pebble bed universe as its own item. *It features a speed-up on the depletion zone division indexing process with large number of pebble bed structures. Sub-division limit enforcement (<tt>'''lims'''</tt>): <span id="div_lims"></span> {| | <tt>''FLAG''</tt> | : flag for mapping regions outside (material) limits to divide material: on (1/yes) or off (0/no). The default option is "<tt>off</tt>" |- |} === dtrans (detector mesh transformation)<span id="dtrans"></span> === Defines detector mesh transformations. Shortcut for "trans d". <u>Notes:</u> *The parameters associated with the transformation follow the standard transformation cards syntax without '''trans''' <tt>''TYPE''</tt> identifier. *See [[#trans|transformations]]. === ene (energy grid definition)<span id="ene"></span> === '''ene''' ''NAME'' ''TYPE'' [ ... ] Defines an energy grid structure. Input values: {| |<tt>''NAME''</tt> |: energy grid name |- |<tt>''TYPE''</tt> |: energy grid type |- |} The remaining parameters are type-dependent. The available <u>energy grid structure types</u> are: ::{| class="wikitable" style="text-align: left;" ! Type ! Description |- | [[#ene_1|<tt>1</tt>]] | arbitrary defined grid |- | [[#ene_2|<tt>2</tt>]] | equal energy-width bins |- | [[#ene_3|<tt>3</tt>]] | equal lethargy-width bins |- | [[#ene_4|<tt>4</tt>]] | [[pre-defined energy group structures|pre-defined energy group structure]] |- |} The syntax of the available types is as follows: '''ene''' ''NAME'' '''1''' ''E<sub>0</sub>'' ''E<sub>1</sub>'' ... <span id="ene_1"></span> {| |- |<tt>''E<sub>i</sub>''</tt> |: bin boundaries [in MeV] in ascending order (<tt>''E<sub>i+1</sub>''</tt> > <tt>''E<sub>i</sub>''</tt>) |- |} '''ene''' ''NAME'' '''2''' ''N'' ''E<sub>min</sub>'' ''E<sub>max</sub>'' <span id="ene_2"></span> {| |- |<tt>''N''</tt> |: number of equi-width bins |- |<tt>''E<sub>min</sub>''</tt> |: minimum energy [in MeV] |- |<tt>''E<sub>max</sub>''</tt> |: maximum energy [in MeV] |- |} '''ene''' ''NAME'' '''3''' ''N'' ''E<sub>min</sub>'' ''E<sub>max</sub>'' <span id="ene_3"></span> {| |- |<tt>''N''</tt> |: number of equi-width bins |- |<tt>''E<sub>min</sub>''</tt> |: minimum energy [in MeV] |- |<tt>''E<sub>max</sub>''</tt> |: maximum energy [in MeV] |- |} '''ene''' ''NAME'' '''4''' ''GRID'' <span id="ene_4"></span> {| |- |<tt>''GRID''</tt> |: name of the [[pre-defined energy group structures|pre-defined energy group structure]] |} <u>Notes:</u> *Energy grid structures are used for several purposes, e.g. with detectors ('''de''' entry in the [[#det_de|det card]]). === ftrans (fill transformation)<span id="ftrans"></span> === Defines fill transformations. Shortcut for "<tt>trans f</tt>". <u>Notes:</u> *The parameters associated with the transformation follow the standard transformation cards syntax without '''trans''' <tt>''TYPE''</tt> identifier. *See [[#trans|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 |} The remaining input values are type-dependent. <u>Notes:</u> * The defined function is linked to detector response using [[ENDF reaction MT's and macroscopic reaction numbers|MT -100 ]] (syntax: dr -100 ''NAME''). * The defined function currently is only supported as a flux-based function, aka, flux multiplier. The available function types are: ::{| class="wikitable" style="text-align: left;" ! Type ! Description |- | [[#fun_1|<tt>1</tt>]] | point-wise tabular data |- |} The syntax for the available types is as follows: '''fun''' ''NAME'' '''1''' ''INTT'' ''X<sub>1</sub>'' ''F<sub>1</sub>'' ''X<sub>2</sub>'' ''F<sub>2</sub>'' ... <span id="fun_1"></span> {| |<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 |} === 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 (positive value = burnup [in MWd/kg], negative value = time [in d]) |- | <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. **It performs a restart at each of the listed burnup points, where it applies the variations defined in the listed branches for the given burnup point. *The hisv card is used together with the [[#branch|branch]] card. === ifc (interface file)<span id="ifc"></span> === '''ifc''' ''FILE'' [ [[#ifc_setinmat|'''setinmat''']] ''N<sub>MAT</sub>'' ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ... ''MAT<sub>N<sub>MAT</sub></sub>'' ] [ [[#ifc_setoutmat|'''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. The first parameter: {| |<tt>''FILE''</tt> |: path to the multi-physics interface file |} The remaining parameters are defined by separate key words followed by the input values, being optional. <u>Notes:</u> *See also [[Coupled multi-physics calculations]]. <u>Optional entries:</u> Interface input materials (<tt>'''setinmat'''</tt>): <span id="mix_setinmat"></span> {| | <tt>''N<sub>MAT</sub>''</tt> | : number of input materials to link to the interface |- | <tt>''MAT<sub>n</sub>''</tt> | : name of the ''n''-th input material linked to the interface |} <u>Notes:</u> *It 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. *If multiple input materials are linked to the interface using the 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, the entry is not eligible. *If the regular mesh-based interface is used and power is tallied in pin-type objects, the entry is not eligible. *The option '''<tt>setinmat</tt>''' is referred as '''<tt>setmat</tt>''' up to version 2.1.31. Interface output materials (<tt>'''setoutmat'''</tt>): <span id="mix_setoutmat"></span> {| | <tt>''N<sub>MAT</sub>''</tt> | : number of output materials to link to the interface |- | <tt>''MAT<sub>n</sub>''</tt> | : name of the ''n''-th output material linked to the interface |} <u>Notes:</u> *It 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. *If multiple input materials are linked to the interface using the 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, the entry is not eligible. *If the regular mesh-based interface is used and if power is not tallied on the same mesh, the entry is not eligible. === 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. *Nested included file paths must refer to the original base input file or current working directory. === lat (regular lattice definition)<span id="lat"></span> === '''lat''' ''UNI'' ''TYPE'' [ ... ] Defines a regular lattice universe. Input values: {| | <tt>''UNI''</tt> | : universe name of the lattice |- | <tt>''TYPE''</tt> | : lattice type |- |} The remaining input values are case/type-dependent. <u>Notes:</u> * See also Section 3.6 of <ref name="manual" />. The available <u>lattice definitions and types</u> (condensed in five cases) are: ::{| class="wikitable" style="text-align: left; ! Case ! xy-plane description ! z-direction description ! Types |- | [[#lattice_I|<tt>I</tt>]] | finite 2D lattice with square, hexagonal or triangular elements | infinite z-direction | 1 = square, 2 = X-type hexagonal, 3 = Y-type hexagonal, 14 = X-type triangular |- | [[#lattice_II|<tt>II</tt>]] | infinite 2D lattice with square or hexagonal elements | infinite z-direction | 6 = square, 7 = '''Y'''-type hexagonal, 8 = '''X'''-type hexagonal |- | [[#lattice_III|<tt>III</tt>]] | finite 2D lattice circular cluster array | infinite z-direction | 4 = circular cluster array |- | [[#lattice_IV|<tt>IV</tt>]] | infinite xy-plane | finite 1D lattice with vertical stack | 9 = vertical stack |- | [[#lattice_V|<tt>V</tt>]] | finite 3D lattice with square or hexagonal elements | finite 3D lattice | 11 = cuboid, 12 = X-type hexagonal prism, 13 = Y-type hexagonal prism |- |} The syntax of the available cases is as follows: <u>Case I</u>:<span id="lattice_I"></span> finite 2D lattice in xy-plane with square, X- or Y-type hexagonal, or X-type triangular elements, and infinite in z-direction. '''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> ...'' {| | <tt>''X<sub>0</sub>''</tt> | : x-coordinate of the lattice origin (origin is in the center of the lattice) [in cm]. |- | <tt>''Y<sub>0</sub>''</tt> | : y-coordinate of the lattice origin (origin is in the center of the lattice) [in cm]. |- | <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 [in cm] |- | <tt>''UNI<sub>n</sub>''</tt> | : list of universes filling the lattice positions |} Possible lattice definitions 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 listed universes universes must be ''N<sub>X</sub> × 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 plotter]]. Examples of the indexing are provided in the attached figures. <u>Case II</u>:<span id="lattice_II"></span> infinite 2D lattice in xy-plane with infinitely repeating square or X- or Y-type hexagonal element, and infinite in z-direction. '''lat''' ''UNI TYPE X<sub>0</sub> Y<sub>0</sub> PITCH UNI<sub>1</sub>'' {| | <tt>''X<sub>0</sub>''</tt> | : x-coordinate of the lattice origin [in cm] |- | <tt>''Y<sub>0</sub>''</tt> | : y-coordinate of the lattice origin [in cm] |- | <tt>''PITCH''</tt> | : lattice pitch [in cm] |- | <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. <u>Case III</u>:<span id="lattice_III"></span> finite 2Dl circular cluster array lattice in xy-plane and infinite in z-direction. '''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> ... ...'' {| | <tt>''X<sub>0</sub>''</tt> | : x-coordinate of the lattice origin [in cm] |- | <tt>''Y<sub>0</sub>''</tt> | : y-coordinate of the lattice origin [in cm] |- | <tt>''N<sub>R</sub>''</tt> | : number of rings in the array |- | <tt>''N<sub>S,R</sub>''</tt> | : number of sectors in ''R''-th ring |- | <tt>''RADIUS<sub>R</sub>''</tt> | : central radius of ''R''-th ring [in cm] |- | <tt>''THETA<sub>R</sub>''</tt> | : angle of rotation of ''R''-th ring [in degrees] |- | <tt>''UNI<sub>N,R</sub>''</tt> | : list of universes filling the sector positions in ''R''-th 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. <u>Case IV</u>:<span id="lattice_IV"></span> infinite lattice in xy-plane, and finite 1D vertical stack in z-direction '''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> ...'' {| | <tt>''X<sub>0</sub>''</tt> | : x-coordinate of the lattice origin [in cm] |- | <tt>''Y<sub>0</sub>''</tt> | : y-coordinate of the lattice origin [in cm] |- | <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 ''n''-th lattice element (lower boundary of the axial layer) [in cm] |- | <tt>''UNI<sub>n</sub>''</tt> | : universe name filling the ''n''-th lattice position |} Possible lattice types are: ::{| 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>''. <u>Case V</u>:<span id="lattice_V"></span> finite 3D lattice in xyz-space with cuboidal or X- or Y-type hexagonal prism elements '''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> ...'' {| | <tt>''X<sub>0</sub>''</tt> | : x-coordinate of the lattice origin [in cm] |- | <tt>''Y<sub>0</sub>''</tt> | : y-coordinate of the lattice origin [in cm] |- | <tt>''Z<sub>0</sub>''</tt> | : z-coordinate of the lattice origin [in cm] |- | <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 [in cm] |- | <tt>''PITCH<sub>Y</sub>''</tt> | : lattice pitch in y-direction [in cm] |- | <tt>''PITCH<sub>Z</sub>''</tt> | : lattice pitch in z-direction [in cm] |- | <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> × N<sub>Y</sub> × 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. === mat (material definition)<span id="mat"></span> === See Chapter 4 of <ref name="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>'' ] [ ''...'' ] Material definition. The mandatory parameters are: {| | <tt>''NAME''</tt> | : name of the material |- | <tt>''DENS''</tt> | : density of the material (positive value = atomic density [in b<sup>-1</sup>cm<sup>-1</sup>], negative value = mass density [in g/cm<sup>3</sup>]) |- | <tt>''NUC<sub>n</sub>''</tt> | : Identifier of ''n''-th nuclide in composition |- | <tt>''FRAC<sub>n</sub>''</tt> | : fraction of ''n''-th nuclide in composition (positive value = atomic fractions/density, negative values = mass fractions/density) |- |} The remaining parameters are defined by separate key words followed by the input values, being optional. <u>Notes:</u> *There is a special entry for the <tt>''DENS''</tt> parameter: ** "<tt>sum</tt>": to calculate the density from given nuclide fractions *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 more information, see the detailed description on [[Definitions, units and constants#Definitions|Definitions]]. <u>Optional entries:</u> Material temperature for Doppler-broadening pre-processor (<tt>'''tmp'''</tt>): <span id="mat_tmp"></span> {| | <tt>''TEMP''</tt> | : temperature of the material [in K] |} <u>Notes:</u> *It defines the material temperature for [[Doppler-broadening preprocessor routine|Doppler-preprocessor]]. Material temperature for on-the-fly temperature treatment (<tt>'''tms'''</tt>): <span id="mat_tms"></span> {| | <tt>''TEMP''</tt> | : temperature of the material [in K] |} <u>Notes:</u> *It defines the material temperature for on-the-fly [[TMS on-the-fly temperature treatment routine|TMS temperature treatment]]. Material temperature for coupled multi-physics calculations (<tt>'''tft'''</tt>): <span id="mat_tft"></span> {| | <tt>''T<sub>MIN</sub>''</tt> | : lower limit for material temperature [in K] |- | <tt>''T<sub>MAX</sub>''</tt> | : upper limit for material temperature [in K] |} <u>Notes:</u> *It sets the temperature limits for material for [[Coupled multi-physics calculations|coupled multi-physics calculations]]. *It is used to define the minimum and maximum temperature for the TMS-treatment directly from the interface files (see [[#ifc|ifc]] card). *For more information, see the detailed description on the [[multi-physics interface| Multi-physics interface]]. Material RGB-color (<tt>'''rgb'''</tt>): <span id="mat_rgb"></span> {| | <tt>''R''</tt> | : value for the red channel (between 0 and 255) |- | <tt>''G''</tt> | : value for the green channel (between 0 and 255) |- | <tt>''B''</tt> | : value for the blue channel (between 0 and 255) |} <u>Notes:</u> *It assigns a dedicated RGB-color to the material for the material representation in [[#plot|geometry plots]]. *If the entry is not provided, the material color is sampled randomly. Material volume (<tt>'''vol'''</tt>): <span id="mat_vol"></span> {| | <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) |} <u>Notes:</u> *It defines the material volume. *Alternatives ways to provide the material volume includes: ** [[#set mvol|set mvol]] option, used to define the material volumes manually ** [[#set mcvol|set mcvol]] option, used to define the material volumes automatically using the Monte Carlo checker routine at runtime. ** [[Installing and running Serpent#Monte Carlo volume calculation routine|<tt>''-checkvolumes''</tt>]] command line option, used to evaluate the material volumes in an independent run. *For more information, see the detailed description on [[defining material volumes|material volumes definition]]. Material mass (<tt>'''mass'''</tt>): <span id="mat_mass"></span> {| | <tt>''MASS''</tt> | : mass of the material [in g] |} <u>Notes:</u> *The material mass can be provided as an alternative to the material volume. Material depletion flag (<tt>'''burn'''</tt>): <span id="mat_burn"></span> {| | <tt>''N<sub>R</sub>''</tt> | : option to flag the material as burnable (1/yes) or non-burnable (0/no). The default option is "<tt>non-burnable</tt>" |- |} <u>Notes:</u> *In order to deplete the material and include it in the burnup calculation, <u>the flag must be set to "<tt>1</tt>"</u> *The depletion zone division should be done using the [[#div|div]] card. However, ** if a material is defined within a pin-structure, Serpent, by default if no [[#div|div]] card is associated to the material, sub-divides the material in a pin-type level. ** in Serpent 1, the "flag" is interpreted as the number of annular regions (<u>not recommended</u>) Material library information for nuclides without cross section data and their decay products (<tt>'''fix'''</tt>): <span id="mat_fix"></span> {| | <tt>''LIB''</tt> | : library ID (e.g. "09c") for nuclides without cross section data. |- | <tt>''TEMP''</tt> | : temperature for nuclides without cross section data [in K] |} <u>Notes:</u> *It defines the library properties: identifier and temperature for the nuclides without cross section data, e.g. decay nuclides, within the material composition. *Decay products from these nuclides may have cross section data and will inherit the library ID and temperature based on this card. Material associated thermal-scattering data (<tt>'''moder'''</tt>): <span id="mat_moder"></span> {| | <tt>''THNAME''</tt> | : name of the [[#therm|thermal scattering data library]] |- | <tt>''ZA''</tt> | : nuclide ZA of the thermal scatterer (e.g. 1001 for H-1). |} <u>Notes:</u> *It links the thermal-scattering data library for a given nuclide within the material composition. *The thermal-scattering data library and the associated temperature treatment is defined by the [[#therm|therm]] card. *A single material can include multiple "<tt>moder</tt>" entries to define thermal-scattering libraries form multiple nuclides, such as H-H20 and D-D20 in semi-heavy water. === 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 [in cm] |- | <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 produces a mesh plot of all scores contributing 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 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 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>'' ''λ<sub>1</sub>'' [ ''NUC<sub>2</sub>'' ''λ<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>''λ''<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 should follow the [[Definitions, units and constants#definitions|ZAI]] or ISO format (e.g., 922350 or U-235). * There is a special entry for the nuclide ID: ** "<tt>all</tt>": in which case all nuclides are included with the same reprocessing fraction ''λ''. === mix (mixture definition)<span id="mix"></span> === '''mix''' ''NAME'' [ [[#mix_rgb|'''rgb''']] ''R G B'' ] [ [[#mix_vol|'''vol''']] ''VOL'' ] [ [[#mix_mass|'''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. Mandatory input values: {| | <tt>''MAT<sub>n</sub>''</tt> | : material name |- | <tt>''F<sub>n</sub>''</tt> | : material fraction (positive value = volume fraction, negative value = mass fraction) |- |} The remaining parameters are defined by separate key words followed by the input values, being optional. <u>Notes:</u> *Mixtures can be used to define complicated material definitions consisting of two or more physical materials mixed homogeneously. *The mixtures are automatically decomposed into standard materials before running the transport simulation. **Alternatively, the decomposed material compositions can be written into file using the [[Installing and running Serpent#Running Serpent|<tt>''-mix''</tt>]] command line option. *Inherited properties/cards: **Nuclide specific thermal scattering data (see '''moder''' entry in the [[#mat_moder|mat]] card) is automatically brought from component materials to the mixture. **Other input option 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. **If they are to be applied to the mixture, they should be directly defined using the mixture material name (opposed to component material names) . *Burnable mixtures are not supported. <u>Optional entries:</u> Mixture RGB-color (<tt>'''rgb'''</tt>): <span id="mix_rgb"></span> {| | <tt>''R''</tt> | : value for the red channel (between 0 and 255) |- | <tt>''G''</tt> | : value for the green channel (between 0 and 255) |- | <tt>''B''</tt> | : value for the blue channel (between 0 and 255) |} <u>Notes:</u> *RGB color coding for material representation in [[#plot|geometry plots]]. Mixture volume (<tt>'''vol'''</tt>): <span id="mix_vol"></span> {| | <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) |} Mixture mass (<tt>'''mass'''</tt>): <span id="mix_mass"></span> {| | <tt>''MASS''</tt> | : mass of the material [in g] |} === nest (nested universe definition)<span id="nest"></span> === '''nest''' ''UNI<sub>0</sub>'' ''TYPE'' [ ''MAT<sub>1</sub>'' ''R<sub>1</sub>'' ] [ ''MAT<sub>2</sub>'' ''R<sub>2</sub>'' ] ... [ ''MAT<sub>N</sub>'' ] '''nest''' ''UNI<sub>0</sub>'' [ ''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>''UNI<sub>0</sub>''</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 [in cm] |- | <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. *Special <tt>''MAT<sub>i</sub>''</tt> entry: the material entries can be replaced by "<tt>fill ''UNI<sub>i</sub>''</tt>", in which case the region is filled by another universe, <tt>''UNI<sub>i</sub>''</tt>. *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]] and [[#particle|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''' ''UNI<sub>0</sub>'' [ ''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>''UNI<sub>0</sub>''</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 [in cm] |} <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. *Special <tt>''MAT<sub>i</sub>''</tt> entry: the material entries can be replaced by "<tt>fill ''UNI<sub>i</sub>''</tt>", in which case the region is filled by another universe, <tt>''UNI<sub>i</sub>''</tt>. *Most typically used for defining TRISO fuel particles. *The particle card is special case of a [[#nest|nested universe type]]. *See also description of [[#pbed|explicit stochastic geometry type]]. === pbed (explicit stochastic (pebble bed) geometry definition)<span id="pbed"></span> === '''pbed''' ''UNI<sub>0</sub>'' ''UNI<sub>bg</sub>'' ''FILE'' [ ''OPT'' ] Defines a stochastic particle / pebble-bed geometry. Input values: {| | <tt>''UNI<sub>0</sub>''</tt> | : universe name for the dispersed medium |- | <tt>''UNI<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 |} The <u>syntax of the file</u> containing the particle/pebble data is: ::{| class="toccolours" style="text-align: left;" | ''X<sub>1</sub>'' ''Y<sub>1</sub>'' ''Z<sub>1</sub>'' ''R<sub>1</sub>'' ''UNI<sub>1</sub>'' |- | ''X<sub>2</sub>'' ''Y<sub>2</sub>'' ''Z<sub>2</sub>'' ''R<sub>2</sub>'' ''UNI<sub>2</sub>'' |- | ... |- |} where: {| |<tt>''X<sub>n</sub>'', ''Y<sub>n</sub>'', ''Z<sub>n</sub>''</tt> |: are the coordinates [in cm] |- |<tt>''R<sub>n</sub>''</tt> |: is the radius [in cm] |- |<tt>''UNI<sub>n</sub>''</tt> |: is the universe |} The supported <u>additional options</u> are: ::{| class="wikitable" style="text-align: left;" ! Option ! Description |- | <tt>pow</tt> | power distribution |- |} <u>Notes:</u> *Creates a universe (<tt>''UNI<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#Running Serpent|<tt>''-disperse''</tt>]] command line option which launches the particle disperser routine. *Can be used for modelling stochastic particle / pebble-bed geometries in multiple levels. *If the "<tt>pow</tt>" (power distribution) option is set, the pebble/particle-wise distribution is written in file <tt>[''FILE'']_pow[bu].m</tt>, where "<tt>bu</tt>" is the burnup step, from version 2.2.1 and on (in previous versions, <tt>[''FILE''].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 |} The remaining input values are type-dependent. The <u>pulse-height funtion types</u> are: ::{| class="wikitable" style="text-align: left;" ! Type ! Description |- | [[#phb_1|<tt>1</tt>]] | energy-resolution interpolation |- | [[#phb_2|<tt>2</tt>]] | energy-FWHM interpolation |- | [[#phb_3|<tt>3</tt>]] | energy-resolution fitting |- | [[#phb_4|<tt>4</tt>]] | energy-FWHM fitting |- |} The syntax for the available 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>'' ... <span id="phb_1"></span> {| |<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 [in MeV (energy)] |} <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>'' ... <span id="phb_2"></span> {| |<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 [in MeV (energy)] |} <u>Notes:</u> * Energies should be given in ascending order. '''phb''' ''NAME'' '''3''' ''a'' ''b'' <span id="phb_3"></span> {| |<tt>''a, b''</tt> |: are the parameters to define the energy resolution fit: <math> R = aE^b </math> |} '''phb''' ''NAME'' '''4''' ''a'' ''b'' ''c'' <span id="phb_4"></span> {| |<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''' ''UNI<sub>0</sub>'' [ ''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>''UNI<sub>0</sub>''</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 [in cm] |} <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. *Special <tt>''MAT<sub>i</sub>''</tt> entry: the material entries can be replaced by "<tt>fill ''UNI<sub>i</sub>''</tt>", in which case the region is filled by another universe, <tt>''UNI<sub>i</sub>''</tt>. *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 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 [in cm] |- | <tt>''MIN<sub>1</sub>''</tt> | : minimum horizontal coordinate of plotted region [in cm] |- | <tt>''MAX<sub>1</sub>''</tt> | : maximum horizontal coordinate of plotted region [in cm] |- | <tt>''MIN<sub>2</sub>''</tt> | : minimum vertical coordinate of plotted region [in cm] |- | <tt>''MAX<sub>2</sub>''</tt> | : maximum vertical coordinate of plotted region [in cm] |- | <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 [in MeV] |} <u>Notes:</u> *The <tt>''TYPE''</tt> parameter consists of one ('A') or two concatenated values ('AB'): **The first value ('A') defines the plot plane (yz-plot = 1, "<tt>x</tt>", xz-plot = 2, "<tt>y</tt>", xy-plot = 3, "<tt>z</tt>"). **The second value ('B') defines which boundaries are plotted (0 = no boundaries, 1 = cell boundaries, 2 = material boundaries, 3 = both cell and material boundaries). ***If the second value ('B') is not provided, default value 2 = material boundaries is used. *The relative dimensions of image size (<tt>''XPIX''</tt>, <tt>''YPIX''</tt>) should match that of the plotted region. Otherwise the image gets distorted. *The position parameter <tt>''POS''</tt> 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: <tt>''MIN<sub>n</sub>''</tt>, <tt>''MAX<sub>n</sub>''</tt>, define the boundaries of the plotted region (e.g. minimum and maximum x- and y-coordinates for xy-type plot). ** If the coordinates are not provided, the plot is extended to the maximum dimensions of the geometry. *The second format allows to plot he importance maps read using the [[#wwin|wwin card]]: **They can be plotted on top of the geometry by setting the second value ('B') of the type parameter for: *** Cell importances: 4 (linear color scheme) or 5 (logarithmic color scheme) *** Source importances: 6 (linear color scheme) or 7 (logarithmic color scheme) **The input parameters include the minimum and maximum importance (<tt>''F<sub>min</sub>''</tt>, <tt>''F<sub>max</sub>''</tt>) and the particle energy, <tt>''E''</tt>. ***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. ****If the calculation fails on providing those minimum and maximum values due to the weight-window evaluation, the values are set by default to (1E-200, 1E+200). **''Note to developers: particle type should be included as an input parameter in importance map plots.'' *Material colors: **Each material plotted with different color. **The colors are sampled randomly, unless defined using the '''rgb''' entry in the material card (see [[#mat|mat]]) or mixture card (see [[#mix|mix]]) **Special RGB-colors: ::{|class="wikitable" style="text-align: left;" ! RGB value ! Color ! Description |- | (0, 0, 0) | <span style="color:#000; background:#000">COLOR</span> | Outside cell or void-material |- | (0, 255, 0) | <span style="color:#00FF00; background:#00FF00">COLOR</span> | No cell found at coordinates |- | (255, 0, 0) | <span style="color:#FF0000; background:#FF0000">COLOR</span> | Overlap of multiple cells found at coordinates |- | (255, 0, 255) | <span style="color:#FF00FF; background:#FF00FF">COLOR</span> | Undefined material density factor at coordinates |} *Geometry plotter requires compiling the source code with [[Installing and running Serpent#GD Graphics library|GD Graphics libraries]]. *Command line options: **[[Installing and running Serpent#Running Serpent|<tt>''-plot''</tt>]] stops the execution after the geometry plots are produced **[[Installing and running Serpent#Running Serpent|<tt>''-qp''</tt>]] invokes a quick plot mode, which does not check for overlaps **[[Installing and running Serpent#Running Serpent|<tt>''-noplot''</tt>]] skips the geometry plots altogether *See also [[Visualizing the results#Geometry plotter|detailed description]] on geometry plotter. *The geometry plot produced by the ''n''-th plot-card is written in file <tt>[input]_geom[n].png</tt>. === rep (reprocessor definition)<span id="rep"></span> === '''rep''' ''NAME'' [ [[#rep_rc|'''rc''']] ''SRC'' ''TGT'' ''MFLOW'' ''MODE'' ] [ [[#rep_rm|'''rm''']] ''MAT<sub>1</sub>'' ''MAT<sub>2</sub>'' ] [ [[#rep_ru|'''ru''']] ''UNI<sub>1</sub>'' ''UNI<sub>2</sub>'' ] Defines the reprocessing controllers. The first parameter: {| | <tt>''NAME''</tt> | : name of the reprocessor. |} The remaining parameters are defined by separate key words followed by the input values. <u>Notes:</u> *The reprocessor name identifies the reprocessing regime in the depletion calculation [[#dep|dep card]]. The syntax corresponds to '''dep pro''' ''NAME''. *Multiple reprocessing controllers/regimes can be defined within the same reprocessor definition. <u>Reprocessing regime types:</u> Reprocessing continuos regime (<tt>'''rc'''</tt>):<span id="rep_rc"></span> {| | <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 |- |} <u>Notes:</u> *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 **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|mat card]]). **For more information, see the detailed description on [[Definitions, units and constants#definitions|Nuclide IDs]]). *The continuous reprocessing regime works with materials, not universes. Therefore, define the universes associated with those burnable materials as surface-cell type universes. *The continuous reprocessing regime 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 ''λ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 ''λN'' from the source material and adds it to the target material when solving the Bateman equations. :*<tt>''MODE''</tt> 2 : subtracts ''λ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''). Reprocessing material regime (<tt>'''rm'''</tt>):<span id="rep_rm"></span> {| | <tt>''MAT<sub>1</sub>''</tt> | : name of the replaced material |- | <tt>''MAT<sub>2</sub>''</tt> | : name of the replacing material |- |} <u>Notes:</u> *The material reprocessing regime replaces one material with another, ''MAT<sub>1</sub>'' by ''MAT<sub>2</sub>''. Reprocessing universe regime (<tt>'''ru'''</tt>):<span id="rep_ru"></span> {| | <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 universe reprocessing regime 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 [in cm] |- | <tt>''X<sub>MAX</sub>''</tt> | : maximum coordinate to sample from in the x-direction [in cm] |- | <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 [in cm] |- | <tt>''Y<sub>MAX</sub>''</tt> | : maximum coordinate to sample from in the y-direction [in cm] |- | <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 [in cm] |- | <tt>''Z<sub>MAX</sub>''</tt> | : maximum coordinate to sample from in the z-direction [in cm] |- |} <u>Notes:</u> *The data from each sample is written in a separate output file: **Default: <tt>[input]_sample[n].m</tt>, where "<tt>n</tt>" is the sample number. **Coupled multi-physics calculation: <tt>[input]_sample[n]_iter[i].m</tt>, where "<tt>i</tt>" is the iteration number. **Burnup calculations: <tt>[input]_sample[n]_bstep[bu].m</tt>, where "<tt>bu</tt>" is the burnup step index. *** Coupled multi-physics calculation: <tt>[input]_sample[n]_bstep[bu]_iter[i].m</tt> **Time-dependent calculations: <tt>[input]_sample[n]_tstep[t].m</tt>, where "<tt>t</tt>" is the time step index *** Coupled multi-physics calculation: <tt>[input]_sample[n]_tstep[t]_iter[i].m</tt> *Sampling units: ** Density: positive values = atomic densities [in b<sup>-1</sup> cm<sup>-1</sup>], negative value = mass density [in g/cm<sup>3</sup>]. ** Temperature: [in K] *Materials with no temperature specified either in their [[#mat|mat]] card or through an interface [[#ifc|ifc]] card definition will show a temperature of 0 K. === 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<sub>0</sub>'' ''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<sub>0</sub>''</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 |} <u>Notes:</u> *For more information on the unstructured mesh based geometry see [[Unstructured mesh based input]]. *For a practical example: [[Simple umsh 8 cubes input]]. '''solid 2''' ''UNI<sub>0</sub>'' ''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<sub>0</sub>''</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> *Special <tt>''MAT<sub>i</sub>''</tt> entry: the material entries can be replaced by "<tt>fill ''UNI<sub>i</sub>''</tt>", in which case the region is filled by another universe, <tt>''UNI<sub>i</sub>''</tt>. *For a practical example: [[Stanford critical bunny]]. '''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 more information on the unstructured mesh based geometry see [[Unstructured mesh based input]]. *For a practical example: [[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_sa|'''sa''']] ''PHI'' ] [ [[#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 two first parameters: {| | <tt>''NAME''</tt> |: source name |- | <tt>''PART''</tt> | : particle type (n = neutron, p = photon) |} The remaining parameters are defined by separate key words followed by the input values. <u>Notes:</u> *The particle type <tt>''PART''</tt> is optional in single particle simulations. *A single source card may include one or several source types. <u>Source types:</u> 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 [in cm] |} <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 [in cm] |- | <tt>''Y<sub>MIN</sub>''</tt>, <tt>''Y<sub>MAX</sub>''</tt> | : boundaries on Y-axis [in cm] |- | <tt>''Z<sub>MIN</sub>''</tt>, <tt>''Z<sub>MAX</sub>''</tt> | : boundaries on Z-axis [in cm] |- | <tt>''R<sub>MIN</sub>''</tt>, <tt>''R<sub>MAX</sub>''</tt> | : radial boundaries [in cm] |- |} <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. Source surface (<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. *The default behavior is that particles are started in the direction of the outward surface normal. *Positive and negative surface entries refer to neutrons being emitted in the direction of the positive and negative surface normal, respectively. ** Meaning: positive = outward, negative = inward - same convention as for the surface detectors. 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 angular-aperture (<tt>'''sa'''</tt>):<span id="src_sa"></span> {| | <tt>''PHI''</tt> | : polar angle [in degrees] |} <u>Notes</u> *The source angular-aperture option can be set to define the semi-aperture with respect a direction. *The option requires the definition of a unidirectional source (<tt>'''sd'''</tt>). Source energy (<tt>'''se'''</tt>):<span id="src_se"></span> {| | <tt>''E''</tt> | : energy of source particles [in MeV] |} <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 [in MeV] |- | <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 identifier |} <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 [in s] |} <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: [<tt> x y z u v w E wgt t </tt>] . *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 |- | <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<ref name="endf" /> libraries and forms the normalized source distribution automatically. *Radioactive material: **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). **There is a special entry for the <tt>''MAT''</tt> parameter: ***"<tt>-1</tt>": to refer to all radioactive materials in the calculation system *Sampling mode: **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. *The radiation types included are discrete line and continuum spectra for photon and neutron reactions. **The radioactive decay source in version 2.1.28 and earlier 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. === strans (surface transformation)<span id="strans"></span> === Defines surface transformations. Shortcut for "<tt>trans s</tt>". <u>Notes:</u> *The parameters associated with the transformation follow the standard transformation cards syntax without '''trans''' <tt>''TYPE''</tt> identifier. *See [[#trans|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 card]]. *See [[Surface types|separate description on surface types]]. *Surfaces can be moved and rotated using [[#trans|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 cards]]. 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 [in K] |} <u>Notes:</u> * On-the-fly thermal motion sampling (TMS) temperature treatment: **It requires the third value of the therm card to be set to "<tt>0</tt>" **The thermal scattering data is automatically interpolated to the local temperature. **The local temperature is either defined using: *** the '''tms''' entry in the material card (see [[#mat|mat card]]) *** the multi-physics interface (see [[#ifc|ifc card]]), where the temperature limits are defined using the '''tft''' entry in the material card (see [[#mat|mat card]]) **The thermal scattering libraries <tt>''LIB<sub>i</sub>''</tt> must cover the whole range in which the materials appear in the geometry, i.e. data extrapolation is not supported. *Interpolation: **Thermal scattering data is interpolated using the methodology of makxsf code<ref name="makxsf">Brown, F. B. ''"The makxsf Code with Doppler Broadening"'', Los Alamos National Laboratory Tech. Rep., LA-UR-06-7002, Los Alamos, NM, [https://mcnp.lanl.gov/pdf_files/TechReport_2006_LANL_LA-UR-06-7002_Brown.pdf 2006]</ref>. **Alternatively, the interpolation can be performed using the stochastic mixing approach with the '''thermstoch''' entry. ***This interpolation mode doesn't support on-the-fly interpolation. *The continuous S(α, β) formalism: **It is available from version 2.1.32 on. **The on-the-fly temperature treatment is available from version 2.2.0 and on. === 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 [in s] |- | <tt>''T<sub>min</sub>''</tt> | : minimum time boundary in uniform or log-uniform binning [in s] |- | <tt>''T<sub>max</sub>''</tt> | : maximum time boundary in uniform or log-uniform binning [in s] |} <u>Notes:</u> *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|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'' ''θ<sub>x</sub>'' ''θ<sub>y</sub>'' ''θ<sub>z</sub>'' ''ORD'' '''trans''' ''TYPE'' ''UNIT'' [ ''IDX'' ] ''X'' ''Y'' ''Z'' ''α<sub>1</sub>'' ''α<sub>2</sub>'' ''α<sub>3</sub>'' ''α<sub>4</sub>'' ''α<sub>5</sub>'' ''α<sub>6</sub>'' ''α<sub>7</sub>'' ''α<sub>8</sub>'' ''α<sub>9</sub>'' ''ORD'' '''trans''' ''TYPE'' ''UNIT'' [ ''IDX'' ] '''rot''' ''X<sub>0</sub>'' ''Y<sub>0</sub>'' ''Z<sub>0</sub>'' ''I'' ''J'' ''K'' ''β'' 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 of lattice position to which the lattice transformation (type L) is applied |- | <tt>''LVL''</tt> | : level number in universe level transformation |- | <tt>''X'',''Y'',''Z''</tt> | : translation vector [in cm] |- | <tt>''θ<sub>x</sub>'' ''θ<sub>y</sub>'' ''θ<sub>z</sub>''</tt> | : rotation angles with respect to x-, y- and z-axes [in degrees] |- | <tt>''α<sub>1</sub>'' ... ''α<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 [in cm] |- | <tt>''I'',''J'',''K''</tt> | : components of vector defining rotation axis. |- | <tt>''β''</tt> | : angle around rotation axis defined by a vector [in degrees]. |- |} The possible transformation types are: ::{| class="wikitable" style="text-align: left;" ! Type ! Description ! Notes |- | <tt>s</tt> | surface | |- | <tt>f</tt> | fill | It is applied in the universe filling the given cell. |- | <tt>u</tt> | universe | ''Special type'': <u>level</u> transformation, in which the coordinates in the given universe are obtained relative to geometry level <tt>''LVL''</tt>. |- | <tt>l</tt> | lattice | It requires to provide the index number <tt>''IDX''</tt> of lattice position to which the transformation is applied. |- | <tt>d</tt> | mesh detector | It is associated to mesh detectors (such as '''dx''', '''dy''', '''dz''', '''dh''', '''dn''' or '''dmesh''', see [[#det|det card]]) |- | <tt>sr</tt> | source | It is inverted compared to how surface, universe, etc. are handled |- |} <u>Notes:</u> *Translations: by providing the translation vector. **By default translations are applied before rotations, and the order can be switched using the <tt>''ORD''</tt> parameter. *Rotations: **With respect x-/y-/z-axes: 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>''α<sub>1</sub>'' ... ''α<sub>9</sub>''</tt> define the 3 by 3 matrix <math>\bold{A}</math>. :*With respect a general axes: using the '''rot''' keyword and associated syntax. :**In Serpent 2.1.29, a positive value of ''β'' corresponds to rotation to the negative mathematical direction and vice versa. *Backwards compatibility: **To preserve backwards compatibility, input parameters "<tt>strans</tt>", "<tt>utrans</tt>", "<tt>ftrans</tt>" and "<tt>dtrans</tt>" without the following type identifier are also accepted for defining surface, universe, fill and detector mesh transformations, respectively. **To preserve compatibility with Serpent 1, parameter "<tt>trans</tt>" without type identifier defines a universe transformation. === transb (burnup transformation)<span id="transb"></span> === '''transb''' ''STEP'' [ <''trans''> ] Defines burnup-dependent surface, universe, fill, lattice, detector mesh or source transformation. Input values: {| | <tt>''STEP''</tt> | : depletion step (positive value = burnup [in MWd/kg], negative value = time [in d]) |- | <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. *Standard properties applicable to regular or non-time dependent transformations apply. *For more information, see detailed description on transformations ([[#trans|trans card]]). *Geometry plots associated with burnup transformations are featured from version 2.2.1 and on. === 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 a time-dependent 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 of lattice position to which the lattice transformation (type L) is applied |- | <tt>''T<sub>0</sub>''</tt> | : beginning time of the transformation [in s] |- | <tt>''T<sub>1</sub>''</tt> | : end time of the transformation [in s] |- | <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 [in cm/s] |- | <tt>''A<sub>X</sub>'',''A<sub>Y</sub>'',''A<sub>Z</sub>''</tt> | : initial acceleration vector [in cm/s<sup>2</sup>] |} <u>Notes:</u> *Standard properties applicable to regular or non-time dependent transformations apply. *The transformation is updated at the simulation time-interval boundaries. ** The time-dependent transformation evaluation method option is defined by the [[#set_transtime|set transtime]] option. *For practical examples: **See [[UGM 2016 Moving geometry]]. **See [[Rotating Translating STL Bunny]]. ===umsh (unstructured mesh-based geometry definition)<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> *For more information, see the description of the '''solid''' description of how to create a 3D unstructured mesh-based universe geometry ([[#solid|solid card]], type 1). === utrans (universe transformation)<span id="utrans"></span> === Defines universe transformations. Shortcut for "<tt>trans u</tt>". <u>Notes:</u> *The parameters associated with the transformation follow the standard transformation cards syntax without '''trans''' <tt>''TYPE''</tt> identifier. *See [[#trans|transformations]]. === voro (stochastic Voronoi tessellation geometry definition)<span id="voro"></span> === '''voro''' ''UNI<sub>0</sub>'' ''UNI<sub>bg</sub>'' ''R<sub>0</sub>'' '''-1''' ''NP'' ''UNI<sub>1</sub>'' ''VF<sub>1</sub>'' [ ''UNI<sub>2</sub>'' ''VF<sub>2</sub>'' ... ] '''voro''' ''UNI<sub>0</sub>'' ''UNI<sub>bg</sub>'' ''R<sub>0</sub>'' ''FILE'' Defines a stochastic Voronoi tessellation geometry. Input values: {| | <tt>''UNI<sub>0</sub>''</tt> |: universe name for the Voronoi medium |- | <tt>''UNI<sub>bg</sub>''</tt> |: background universe name filling all undefined space |- | <tt>''R<sub>0</sub>''</tt> |: test radius [in cm] |- | <tt>''NP''</tt> |: number of seed points |- | <tt>''UNI<sub>m</sub>''</tt> |: sub-universe name for the ''m''-th random fragmented polyhedral zone |- | <tt>''VF<sub>m</sub>''</tt> |: volume fraction associated to ''m''-th random fragmented polyhedral zone |- | <tt>''FILE''</tt> |: input file containing the Voronoi data |} The <u>syntax of the file</u> containing the Voronoi seed points data is: ::{| class="toccolours" style="text-align: left;" |- | ''X<sub>1</sub>'' ''Y<sub>1</sub>'' ''Z<sub>1</sub>'' ''UNI<sub>1</sub>'' |- | ''X<sub>2</sub>'' ''Y<sub>2</sub>'' ''Z<sub>2</sub>'' ''UNI<sub>1</sub>'' |- | ... |- | ''X<sub>N</sub>'' ''Y<sub>N</sub>'' ''Z<sub>N</sub>'' ''UNI<sub>1</sub>'' |- | ''X<sub>N+1</sub>'' ''Y<sub>N+1</sub>'' ''Z<sub>N+1</sub>'' ''UNI<sub>2</sub>'' |- | ... |} where: {| | <tt>''X<sub>n</sub>'', ''Y<sub>n</sub>'', ''Z<sub>n</sub>''</tt> |: seed points coordinates [in cm] |- | <tt>''UNI<sub>m</sub>''</tt> |: sub-universe name for the ''m''-th random zone associated to the given seed point |} <u>Notes:</u> *The input consists of a list of seed points and associated sub-universes filling the Voronoi cells Alternatively, the number of seeds points and volume fractions of each zone can be provided, letting Serpent sample the positions randomly. **The advantage of the first option is that the distribution can be defined explicitly, taking into account, for example, the varying level of fragmentation closer to the boundaries. *The cell search and surfaces distances are based on search mesh and local short-list of points to reduce the computational effort. **The search mesh is conditioned by the test radius, which should enclose the Voronoi polyhedral cells. ***Too small radius may result in geometry errors as some points are excluded from all the search mesh cells in which they should be. ***Too large radius may results in including points in cells that do not actually intersect with the polyhedral boundary. *The <tt>''DENS''</tt> parameter in the [[#set mcvol|mcvol]] input option can be switched "<tt>on</tt>" to compensate the non-preservation of the volume fractions provided as input due to the randomness of the seed points. **It applies calculated scaling factors to material densities preserving the original masses (scaling factor = volume MC routine / volume given) *The stochastic geometry type based on Voronoi tessellation is described in related paper<ref>Leppänen, J. ''"A New Stochastic Geometry Type Based on Voronoi Tessellation in the Serpent 2 Monte Carlo Code."'' In proc. M&C2023, Niagara Fall, Canada, Aug. 13-17, 2023</ref>. === 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,θ,z), with θ 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|wwin card]]. *See also practical examples on [[Variance reduction]]. === 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 |} 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 solver]], or read in MCNP WWINP format<ref>Kulesza, J. A. (ed.), ''“MCNP code version 6.3.0 Theory & User Manual: Appendix A Mesh-Based WWINP, WWOUT, and WWONE File Format,”'' LA-UR-22-30006, Rev. 1, Los Alamos National Laboratory [https://mcnp.lanl.gov/pdf_files/TechReport_2022_LANL_LA-UR-22-30006Rev.1_KuleszaAdamsEtAl.pdf (2022)].</ref>. *Importance maps can be visualized using the [[#plot|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]]. <u>Weight-window mesh paramters:</u> 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 [in MeV] |} <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 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 (positive value = atomic density [in b<sup>-1</sup>cm<sup>-1</sup>], negative values = mass density [in g/cm<sup>3</sup>]) |- | <tt>''SZ<sub>i</sub>''</tt> | : minimum cell dimension [in cm] |} <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 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. **The <tt>''DSPL''</tt> and <tt>''SZ<sub>i</sub>''</tt> parameters define upper density boundaries and minimum cell sizes for stopping the splits.
Summary:
Please note that all contributions to Serpent Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
My wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information