Difference between revisions of "Ants input manual"
(→conv_crit_power) |
(→bor) |
||
(104 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | This page describes the [[Ants]] input files and their syntax. | |
− | + | Many Ants variables may also or only be controlled via [[Ants Cerberus input/output manual|Cerberus input/output]]. | |
== Main input file == | == Main input file == | ||
− | ==== Input syntax | + | === Input processing === |
− | The following general syntax guide lines hold for Ants specific input. For example the HEXBU-3D/MOD5 group constant files follow their respective syntax. | + | |
+ | All input present in the input file is processed regardless of its order. For some cards, only one occurence is allowed. For other cards (e.g. some <code>iteration</code> cards) only the last one read is taken into account. The order of cards do not always mean the precedence of the cards, e.g. boundary condition cards have an exact precedence order. | ||
+ | |||
+ | === Input syntax === | ||
+ | The following general syntax guide lines hold for Ants specific input. For example the HEXBU-3D/MOD5 or Genpoly group constant files follow their respective syntax. | ||
* Ants input supports rest of line comment symbols <code>!</code> and <code>//</code>, and block comments beginning with <code>/*</code> and ending with <code>*/</code>. | * Ants input supports rest of line comment symbols <code>!</code> and <code>//</code>, and block comments beginning with <code>/*</code> and ending with <code>*/</code>. | ||
* Characters beginning and ending with <code>"</code> are treated as one token. This is useful for example in input file paths or titles. | * Characters beginning and ending with <code>"</code> are treated as one token. This is useful for example in input file paths or titles. | ||
Line 13: | Line 17: | ||
* The input is case insensitive. | * The input is case insensitive. | ||
* The main block keywords (below) are reserved. | * The main block keywords (below) are reserved. | ||
− | * Keyword <code>include</code> is reserved. It triggers the reading of an additional input file in this position. The input file path is given after the <code>include</code> keyword. | + | * Keyword <code>include</code> is reserved. It triggers the reading of an additional input file in this position. The input file path is given after the <code>include</code> keyword. <span id="include"></span> |
* Maximum line length is currently set to 65536 characters. This can be increased with recompilation, if necessary. | * Maximum line length is currently set to 65536 characters. This can be increased with recompilation, if necessary. | ||
Line 19: | Line 23: | ||
When the main input file is read, it is tokenized and split into main blocks. Depending on the main block, they might be split into sub-blocks. Currently, the main block keywords are | When the main input file is read, it is tokenized and split into main blocks. Depending on the main block, they might be split into sub-blocks. Currently, the main block keywords are | ||
*<code>title</code> | *<code>title</code> | ||
− | |||
*<code>global</code> | *<code>global</code> | ||
*<code>core</code> | *<code>core</code> | ||
Line 27: | Line 30: | ||
*<code>library</code> | *<code>library</code> | ||
*<code>output</code> | *<code>output</code> | ||
− | |||
− | |||
− | === | + | === title === |
− | Set a title for the calculation. | + | Set a title for the calculation. Currently not used for anything. |
: title [ <title> ] | : title [ <title> ] | ||
:: <title> : at most one token for the title. If omitted, an empty title will be set. | :: <title> : at most one token for the title. If omitted, an empty title will be set. | ||
− | === | + | === global === |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Set global calculation parameters. These cards will be processed before any other cards. | Set global calculation parameters. These cards will be processed before any other cards. | ||
Line 49: | Line 44: | ||
* <code>neutronics</code> | * <code>neutronics</code> | ||
− | ==== | + | ==== geometry <span id="global_geometry"></span> ==== |
Set neutronics solution geometry type. Exactly one global geometry card has to be present in the input. | Set neutronics solution geometry type. Exactly one global geometry card has to be present in the input. | ||
: global geometry <geometry> | : global geometry <geometry> | ||
:: <geometry> | :: <geometry> | ||
− | ::* | + | ::* rectangular: use rectangular geometry (for example BWR, PWR) |
::* hexagonal : use hexagonal geometry (for example VVER) | ::* hexagonal : use hexagonal geometry (for example VVER) | ||
::* triangular: use triangular geometry with hexagonal fuel assemblies (for example VVER) | ::* triangular: use triangular geometry with hexagonal fuel assemblies (for example VVER) | ||
− | ==== | + | ==== neutronics <span id="global_neutronics"></span> ==== |
Set neutronics solution transport type. Exactly one global neutronics card has to be present in the input. | Set neutronics solution transport type. Exactly one global neutronics card has to be present in the input. | ||
Line 64: | Line 59: | ||
:: <neutronics> | :: <neutronics> | ||
::* diffusion : solve diffusion equation | ::* diffusion : solve diffusion equation | ||
− | |||
− | === | + | === core === |
Set core parameters. | Set core parameters. | ||
Line 88: | Line 82: | ||
* <code>radial_boundary_coeff_west</code> | * <code>radial_boundary_coeff_west</code> | ||
* <code>radial_boundary_coeff_south</code> | * <code>radial_boundary_coeff_south</code> | ||
+ | * <code>radial_boundary_coeff_northeast</code> | ||
+ | * <code>radial_boundary_coeff_northwest</code> | ||
+ | * <code>radial_boundary_coeff_southwest</code> | ||
+ | * <code>radial_boundary_coeff_southeast</code> | ||
* <code>axial_boundary_coeff_above</code> | * <code>axial_boundary_coeff_above</code> | ||
* <code>axial_boundary_coeff_below</code> | * <code>axial_boundary_coeff_below</code> | ||
Line 98: | Line 96: | ||
==== width_x ==== | ==== width_x ==== | ||
− | Set node size in x direction for all | + | Set node size in x direction for all input nodes (unit cm). |
: core width_x <width_x> | : core width_x <width_x> | ||
− | :: <width_x> : x direction size of all | + | :: <width_x> : x direction size of all input nodes |
==== width_y ==== | ==== width_y ==== | ||
− | Set node size in y direction for all | + | Set node size in y direction for all input nodes (unit cm). Not used for hexagonal or triangular geometries. |
: core width_y <width_y> | : core width_y <width_y> | ||
− | :: <width_y> : y direction size of all | + | :: <width_y> : y direction size of all input nodes |
− | ==== width_xy ==== | + | ==== width_xy <span id="core_width_xy"></span> ==== |
− | Set node size in both x and y directions for all | + | Set node size in both x and y directions for all input nodes (unit cm). |
: core width_xy <width_xy> | : core width_xy <width_xy> | ||
− | :: <width_xy> : x and y direction sizes of all | + | :: <width_xy> : x and y direction sizes of all input nodes |
==== width_x_grid ==== | ==== width_x_grid ==== | ||
− | Set column-wise node sizes in the x direction for all | + | Set column-wise node sizes in the x direction for all input nodes (unit cm). core columns card has to be read before this card is given. |
: core width_x_grid <width_x_grid> | : core width_x_grid <width_x_grid> | ||
− | :: <width_x_grid> : column-wise x direction sizes of all | + | :: <width_x_grid> : column-wise x direction sizes of all input nodes (number of input: core columns). All values have to be the same value for hexagonal or triangular geometries. |
==== width_y_grid ==== | ==== width_y_grid ==== | ||
Line 125: | Line 123: | ||
: core width_y_grid <width_y_grid> | : core width_y_grid <width_y_grid> | ||
− | :: <width_y_grid> : row-wise y direction sizes of all | + | :: <width_y_grid> : row-wise y direction sizes of all input nodes (number of input: core rows) |
==== axial_nodes ==== | ==== axial_nodes ==== | ||
− | Set number of axial | + | Set number of axial input node layers in the z direction for the core. This card determines the number of axial layers in rest of the input. |
: core axial_nodes <axial_nodes> | : core axial_nodes <axial_nodes> | ||
− | :: <axial_nodes> : number of | + | :: <axial_nodes> : number of input node axial layers in the z direction in the core |
==== axial_heights ==== | ==== axial_heights ==== | ||
− | Set axial layer wise | + | Set axial layer wise input node sizes in the z direction for all input nodes (unit cm). core axial_nodes card has to be read before this card is given. |
: core axial_heights <axial_heights> | : core axial_heights <axial_heights> | ||
− | :: <axial_heights> : axial layer wise z direction sizes of all | + | :: <axial_heights> : axial layer wise z direction sizes of all input nodes (number of input: core axial_nodes) |
==== rows ==== | ==== rows ==== | ||
Line 152: | Line 150: | ||
==== nominal_power ==== | ==== nominal_power ==== | ||
− | Set the core nominal power (unit W). | + | Set the core nominal power (unit W). Used to initialize the core total power when set and at the beginning of each calculation step if total power is not set otherwise. |
: core nominal_power <nominal_power> | : core nominal_power <nominal_power> | ||
− | :: <nominal_power> : core nominal power | + | :: <nominal_power> : core nominal power (default 1.0 W) |
==== radial_boundary_coeff ==== | ==== radial_boundary_coeff ==== | ||
− | Set the boundary albedo for all radial directions for all nodes on the radial boundary of the core. | + | Set the boundary albedo for all radial directions for all nodes on the radial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. |
: core radial_boundary_coeff <radial_boundary_coeff> | : core radial_boundary_coeff <radial_boundary_coeff> | ||
Line 164: | Line 162: | ||
==== axial_boundary_coeff ==== | ==== axial_boundary_coeff ==== | ||
− | Set the boundary albedo for both axial direction for all nodes on the axial boundary of the core. | + | Set the boundary albedo for both axial direction for all nodes on the axial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. |
: core axial_boundary_coeff <axial_boundary_coeff> | : core axial_boundary_coeff <axial_boundary_coeff> | ||
Line 170: | Line 168: | ||
==== radial_boundary_coeff_group ==== | ==== radial_boundary_coeff_group ==== | ||
− | Set the group-wise boundary albedo for all radial directions for all nodes on the radial boundary of the core. | + | Set the group-wise boundary albedo for all radial directions for all nodes on the radial boundary of the core. The albedo is defined as Jin = albedo*Jout. This card takes precedence over <code>iteration radial_boundary_coeff</code>. |
: core radial_boundary_coeff_group <num_group> <radial_boundary_coeff_group_1> <radial_boundary_coeff_group_2> ... <radial_boundary_coeff_group_num_group> | : core radial_boundary_coeff_group <num_group> <radial_boundary_coeff_group_1> <radial_boundary_coeff_group_2> ... <radial_boundary_coeff_group_num_group> | ||
Line 176: | Line 174: | ||
==== axial_boundary_coeff_group ==== | ==== axial_boundary_coeff_group ==== | ||
− | Set the group-wise boundary albedo for both axial direction for all nodes on the axial boundary of the core. | + | Set the group-wise boundary albedo for both axial direction for all nodes on the axial boundary of the core. The albedo is defined as Jin = albedo*Jout. This card takes precedence over <code>iteration axial_boundary_coeff</code>. |
: core axial_boundary_coeff_group <num_group> <axial_boundary_coeff_group_1> <axial_boundary_coeff_group_2> ... <axial_boundary_coeff_group_num_group> | : core axial_boundary_coeff_group <num_group> <axial_boundary_coeff_group_1> <axial_boundary_coeff_group_2> ... <axial_boundary_coeff_group_num_group> | ||
Line 182: | Line 180: | ||
==== radial_boundary_coeff_east ==== | ==== radial_boundary_coeff_east ==== | ||
− | Set the boundary albedo for east radial direction for all nodes on the east boundary of the core. | + | Set the boundary albedo for east radial direction for all nodes on the east boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_east <radial_boundary_coeff_east> | : core radial_boundary_coeff_east <radial_boundary_coeff_east> | ||
Line 188: | Line 186: | ||
==== radial_boundary_coeff_north ==== | ==== radial_boundary_coeff_north ==== | ||
− | Set the boundary albedo for north radial direction for all nodes on the north boundary of the core. Not used for hexagonal or triangular geometries. | + | Set the boundary albedo for north radial direction for all nodes on the north boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for hexagonal or triangular geometries. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_north <radial_boundary_coeff_north> | : core radial_boundary_coeff_north <radial_boundary_coeff_north> | ||
Line 194: | Line 192: | ||
==== radial_boundary_coeff_west ==== | ==== radial_boundary_coeff_west ==== | ||
− | Set the boundary albedo for west radial direction for all nodes on the west boundary of the core. | + | Set the boundary albedo for west radial direction for all nodes on the west boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_west <radial_boundary_coeff_west> | : core radial_boundary_coeff_west <radial_boundary_coeff_west> | ||
Line 200: | Line 198: | ||
==== radial_boundary_coeff_south ==== | ==== radial_boundary_coeff_south ==== | ||
− | Set the boundary albedo for south radial direction for all nodes on the south boundary of the core. Not used for hexagonal or triangular geometries. | + | Set the boundary albedo for south radial direction for all nodes on the south boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for hexagonal or triangular geometries. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_south <radial_boundary_coeff_south> | : core radial_boundary_coeff_south <radial_boundary_coeff_south> | ||
Line 206: | Line 204: | ||
==== radial_boundary_coeff_northeast ==== | ==== radial_boundary_coeff_northeast ==== | ||
− | Set the boundary albedo for northeast radial direction for all nodes on the northeast boundary of the core. Not used for rectangular | + | Set the boundary albedo for northeast radial direction for all nodes on the northeast boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_northeast <radial_boundary_coeff_northeast> | : core radial_boundary_coeff_northeast <radial_boundary_coeff_northeast> | ||
Line 212: | Line 210: | ||
==== radial_boundary_coeff_northwest ==== | ==== radial_boundary_coeff_northwest ==== | ||
− | Set the boundary albedo for northwest radial direction for all nodes on the northwest boundary of the core. Not used for rectangular | + | Set the boundary albedo for northwest radial direction for all nodes on the northwest boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_northwest <radial_boundary_coeff_northwest> | : core radial_boundary_coeff_northwest <radial_boundary_coeff_northwest> | ||
Line 218: | Line 216: | ||
==== radial_boundary_coeff_southwest ==== | ==== radial_boundary_coeff_southwest ==== | ||
− | Set the boundary albedo for southwest radial direction for all nodes on the southwest boundary of the core. Not used for rectangular | + | Set the boundary albedo for southwest radial direction for all nodes on the southwest boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_southwest <radial_boundary_coeff_southwest> | : core radial_boundary_coeff_southwest <radial_boundary_coeff_southwest> | ||
Line 224: | Line 222: | ||
==== radial_boundary_coeff_southeast ==== | ==== radial_boundary_coeff_southeast ==== | ||
− | Set the boundary albedo for southeast radial direction for all nodes on the southeast boundary of the core. Not used for rectangular | + | Set the boundary albedo for southeast radial direction for all nodes on the southeast boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both <code>iteration radial_boundary_coeff</code> and <code>iteration radial_boundary_coeff_group</code>. |
: core radial_boundary_coeff_southeast <radial_boundary_coeff_southeast> | : core radial_boundary_coeff_southeast <radial_boundary_coeff_southeast> | ||
Line 230: | Line 228: | ||
==== axial_boundary_coeff_above ==== | ==== axial_boundary_coeff_above ==== | ||
− | Set the boundary albedo for upwards axial direction for all nodes on the upper axial boundary of the core. | + | Set the boundary albedo for upwards axial direction for all nodes on the upper axial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both <code>iteration axial_boundary_coeff</code> and <code>iteration axial_boundary_coeff_group</code>. |
: core axial_boundary_coeff_above <axial_boundary_coeff_above> | : core axial_boundary_coeff_above <axial_boundary_coeff_above> | ||
Line 236: | Line 234: | ||
==== axial_boundary_coeff_below ==== | ==== axial_boundary_coeff_below ==== | ||
− | Set the boundary albedo for downwards axial direction for all nodes on the bottom axial boundary of the core. | + | Set the boundary albedo for downwards axial direction for all nodes on the bottom axial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both <code>iteration axial_boundary_coeff</code> and <code>iteration axial_boundary_coeff_group</code>. |
: core axial_boundary_coeff_below <axial_boundary_coeff_below> | : core axial_boundary_coeff_below <axial_boundary_coeff_below> | ||
Line 248: | Line 246: | ||
==== division_x ==== | ==== division_x ==== | ||
− | Divide all input nodes (super nodes) into multiple calculation nodes (nodes) in x direction. Not used for hexagonal or triangular geometries. | + | Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in x direction. Not used for hexagonal or triangular geometries. |
: core division_x <division_x> | : core division_x <division_x> | ||
− | :: <division_x> : number of nodes produced in x direction from each input node. The value has to be divisible with | + | :: <division_x> : number of nodes produced in x direction from each input node. The value has to be divisible with 2. |
==== division_y ==== | ==== division_y ==== | ||
− | Divide all input nodes (super nodes) into multiple calculation nodes (nodes) in y direction. Not used for hexagonal or triangular geometries. | + | Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in y direction. Not used for hexagonal or triangular geometries. |
: core division_y <division_y> | : core division_y <division_y> | ||
− | :: <division_y> : number of nodes produced in y direction from each input node. The value has to be divisible with | + | :: <division_y> : number of nodes produced in y direction from each input node. The value has to be divisible with 2. |
==== division_z ==== | ==== division_z ==== | ||
− | Divide all input nodes (super nodes) into multiple calculation nodes (nodes) in z direction. | + | Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in z direction. |
: core division_z <division_z> | : core division_z <division_z> | ||
Line 266: | Line 264: | ||
==== division_hex ==== | ==== division_hex ==== | ||
− | Divide all input nodes (super nodes) into multiple calculation nodes (nodes) in radial plane. Not used for rectangular or hexagonal geometries. | + | Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in radial plane. Not used for rectangular or hexagonal geometries. Has to be divisible with 6, and with 4 if the value is greater than 6. |
: core division_hex <division_hex> | : core division_hex <division_hex> | ||
Line 282: | Line 280: | ||
* <code>rotation</code> | * <code>rotation</code> | ||
* <code>burnup</code> | * <code>burnup</code> | ||
− | * <code> | + | * <code>hdco</code> |
* <code>tfu</code> | * <code>tfu</code> | ||
* <code>bor</code> | * <code>bor</code> | ||
− | * <code> | + | * <code>dco</code> |
− | * <code> | + | * <code>dco_out</code> |
− | * <code> | + | * <code>tco</code> |
* <code>xen</code> | * <code>xen</code> | ||
* <code>sam</code> | * <code>sam</code> | ||
Line 293: | Line 291: | ||
* <code>zdf_below</code> | * <code>zdf_below</code> | ||
− | ==== type ==== | + | ==== type <span id="fuel_type"></span> ==== |
Add fuel or reflector element type. | Add fuel or reflector element type. | ||
Line 300: | Line 298: | ||
:: <identifier> : name of the fuel type to be used for example in [[#load|fuel load]] | :: <identifier> : name of the fuel type to be used for example in [[#load|fuel load]] | ||
:: <description> : description of the fuel type. Currently not used for anything. Optional. | :: <description> : description of the fuel type. Currently not used for anything. Optional. | ||
− | :: <nodes> : material identifiers for each axial | + | :: <nodes> : material identifiers for each axial input node of the fuel beginning from the bottom of the core and ending at the top of the core (number of input: core axial_nodes). Includes possible axial reflector nodes. Reflector nodes are specified using "-" character before the material identifier, without a separating space. Either nodes or subs has to be specified. Material identifier means the name of the corresponding material in the group constant data file. |
− | :: <subs> : fuel type identifiers for constructing a possibly radially asymmetrical fuel assembly. Not used for hexagonal geometry. The input for rectangular geometry is the fuel type identifiers for NW, NE, SW, SE quarters of the element and the input for triangular geometry is the fuel type identifiers for NW, NE, W, E, SW, SE sixths of the element. See also Ants | + | :: <subs> : fuel type identifiers for constructing a possibly radially asymmetrical fuel assembly. Not used for hexagonal geometry. The input order for rectangular geometry is the fuel type identifiers for NW, NE, SW, SE quarters of the element and the input order for triangular geometry is the fuel type identifiers for NW, NE, W, E, SW, SE sixths of the element. See also [[Ants discontinuity factor rotations]]. Either subs or nodes has to be specified. |
+ | |||
+ | ==== assembly ==== | ||
+ | |||
+ | This card is currently not documented here. | ||
− | ==== load ==== | + | ==== load <span id="fuel_load"></span>==== |
Specify fuel load map. | Specify fuel load map. | ||
Line 310: | Line 312: | ||
:: <identifiers> : a list of fuel or reflector element identifiers (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row. | :: <identifiers> : a list of fuel or reflector element identifiers (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row. | ||
− | ==== rotation ==== | + | ==== rotation <span id="fuel_rotation"></span>==== |
− | Specify fuel and control element radial rotation map. | + | Specify fuel and control element radial rotation map. Rotation applies for elements, elements defined using subs, and all discontinuity factors and pin power form functions. |
: fuel rotation <rotations> | : fuel rotation <rotations> | ||
Line 332: | Line 334: | ||
:::* SW or 5: East direction of the assembly faces south-west | :::* SW or 5: East direction of the assembly faces south-west | ||
:::* SE or 6: East direction of the assembly faces south-east | :::* SE or 6: East direction of the assembly faces south-east | ||
− | * See also Ants/ | + | * See also [[Ants discontinuity factor rotations]] |
+ | |||
+ | ==== burnup ==== | ||
+ | |||
+ | Specify fixed burnup distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel burnup <burnups> | ||
+ | :: <burnups> : a list of burnups (number of input: core axial nodes*core rows*core columns, unit: MWd/kgU) | ||
+ | |||
+ | ==== hdco ==== | ||
+ | |||
+ | Specify fixed historical coolant density distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel hdco <hdcos> | ||
+ | :: <hdcos> : a list of historical coolant densities (number of input: core axial nodes*core rows*core columns, unit: g/cm^3) | ||
+ | |||
+ | ==== tfu ==== | ||
+ | |||
+ | Specify fixed fuel temperature distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel tfu <tfus> | ||
+ | :: <tfus> : a list of fuel temperatures (number of input: core axial nodes*core rows*core columns, unit: K) | ||
+ | |||
+ | ==== bor ==== | ||
+ | |||
+ | Specify fixed boron concentration distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel bor <bors> | ||
+ | :: <bors> : a list of borons (number of input: core axial nodes*core rows*core columns, unit: ppm) | ||
+ | |||
+ | ==== dco ==== | ||
+ | |||
+ | Specify fixed coolant density distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel dco <dcos> | ||
+ | :: <dcos> : a list of coolant densities (number of input: core axial nodes*core rows*core columns, unit: g/cm^3) | ||
+ | |||
+ | ==== dco_out ==== | ||
+ | |||
+ | Specify fixed unheated coolant density distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel dco_out <dco_outs> | ||
+ | :: <dco_outs> : a list of unheated coolant densities (number of input: core axial nodes*core rows*core columns, unit: g/cm^3) | ||
+ | |||
+ | ==== tco ==== | ||
+ | |||
+ | Specify fixed coolant temperature distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel tco <tcos> | ||
+ | :: <tcos> : a list of coolant temperatures (number of input: core axial nodes*core rows*core columns, unit: K) | ||
+ | |||
+ | ==== xen ==== | ||
+ | |||
+ | Specify fixed Xe-135 distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel xen <xens> | ||
+ | :: <xens> : a list of Xe-135 densities (number of input: core axial nodes*core rows*core columns, unit: 1/cm^3) | ||
+ | |||
+ | ==== sam ==== | ||
+ | |||
+ | Specify fixed Sm-149 distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel sam <sams> | ||
+ | :: <sams> : a list of Sm-149 densities (number of input: core axial nodes*core rows*core columns, unit: 1/cm^3) | ||
+ | |||
+ | ==== zdf_above ==== | ||
+ | |||
+ | Specify fixed axial discontinuity factor distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel zdf_above <zdf_aboves> | ||
+ | :: <zdf_aboves> : a list of axial discontinuity factors on top side of input nodes (number of input: core axial nodes*core rows*core columns) | ||
+ | |||
+ | ==== zdf_below ==== | ||
+ | |||
+ | Specify fixed axial discontinuity factor distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface. | ||
+ | |||
+ | : fuel zdf_below <zdf_belows> | ||
+ | :: <zdf_belows> : a list of axial discontinuity factors on bottom side of input nodes (number of input: core axial nodes*core rows*core columns, unit: MWd/kgU) | ||
=== controlrod === | === controlrod === | ||
Line 344: | Line 423: | ||
* <code>individual</code> | * <code>individual</code> | ||
− | ==== type ==== | + | ==== type <span id="controlrod_type"></span>==== |
Add control element type. | Add control element type. | ||
Line 353: | Line 432: | ||
:: <parts> : number of parts of the control element absorber | :: <parts> : number of parts of the control element absorber | ||
:: <lengths> : lengths of the parts of the control element absorber (number of input: controlrod type parts, unit cm) | :: <lengths> : lengths of the parts of the control element absorber (number of input: controlrod type parts, unit cm) | ||
− | :: <nodes> : material identifiers for each axial | + | :: <nodes> : material identifiers for each axial input node and control element absorber part of the control element beginning from the bottom of the core and ending at the top of the core (number of input: core axial_nodes*controlrod type parts). Includes possible axial reflector nodes. Reflector nodes are specified using "-" character before the material identifier, without a separating space. Fastest running index is the axial layer and the slowest index is the control element type. The input means that for a specific axial layer of the core, the corresponding material identifier is used if the specific control element absorber part is present in the axial node. Either nodes or subs has to be specified. Material identifier means the name of the corresponding material in the group constant data file. |
− | :: <subs> : control elemenent type identifiers for constructing a possibly radially asymmetrical control element. Not used for hexagonal geometry. The input for rectangular geometry is the controlrod element type identifiers for NW, NE, SW, SE quarters of the element and the input for triangular geometry is the controlrod element type identifiers for NW, NE, W, E, SW, SE sixths of the element. See also Ants | + | :: <subs> : control elemenent type identifiers for constructing a possibly radially asymmetrical control element. Not used for hexagonal geometry. The input order for rectangular geometry is the controlrod element type identifiers for NW, NE, SW, SE quarters of the element and the input order for triangular geometry is the controlrod element type identifiers for NW, NE, W, E, SW, SE sixths of the element. See also [[Ants discontinuity factor rotations]]. Either subs or nodes has to be specified. |
− | ==== position ==== | + | ==== position <span id="controlrod_position"></span>==== |
Specify control element position map. | Specify control element position map. | ||
Line 363: | Line 442: | ||
:: <identifiers> : a list of control element identifiers (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row. | :: <identifiers> : a list of control element identifiers (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row. | ||
− | ==== group ==== | + | ==== group <span id="controlrod_group"></span><span id="controlrod_group_load"></span>==== |
Specify control element group related variables | Specify control element group related variables | ||
Line 372: | Line 451: | ||
:: <unit> : unit of the height | :: <unit> : unit of the height | ||
::* cm: cm from the bottom of the core (including possible axial reflectors) | ::* cm: cm from the bottom of the core (including possible axial reflectors) | ||
− | ::* node: number of | + | ::* node: number of input node positions from the bottom of the core (including possible axial reflectors). |
::* percentage: relative fraction of the full core height (including possible axial reflectors) in percent from the bottom of the core (including possible axial reflectors). | ::* percentage: relative fraction of the full core height (including possible axial reflectors) in percent from the bottom of the core (including possible axial reflectors). | ||
− | :: <height> : height of the control element group | + | :: <height> : height of the control element group calculated from the bottom of the core (including possible reflector nodes), defined as the height of the lowest part of the first control rod material |
+ | |||
+ | ==== individual ==== | ||
+ | |||
+ | This card is currently not documented here. | ||
=== iteration === | === iteration === | ||
Line 397: | Line 480: | ||
*<code>use_discontinuity_factor</code> | *<code>use_discontinuity_factor</code> | ||
*<code>relaxation_factor</code> | *<code>relaxation_factor</code> | ||
− | |||
*<code>xenon_state</code> | *<code>xenon_state</code> | ||
*<code>samarium_state</code> | *<code>samarium_state</code> | ||
Line 417: | Line 499: | ||
*<code>use_exponential_transformation</code> | *<code>use_exponential_transformation</code> | ||
*<code>update_omega</code> | *<code>update_omega</code> | ||
+ | *<code>print_node_debug_data</code> | ||
==== conv_crit_keff ==== | ==== conv_crit_keff ==== | ||
− | : iteration conv_crit_keff <conv_crit_keff > | + | |
+ | Set the convergence criterion of effective multiplication factor. | ||
+ | |||
+ | : iteration conv_crit_keff <conv_crit_keff> | ||
:: <conv_crit_keff> : convergence criterion for absolute value change of effective multiplication factor between consecutive outer iterations (default 1E-7) | :: <conv_crit_keff> : convergence criterion for absolute value change of effective multiplication factor between consecutive outer iterations (default 1E-7) | ||
==== conv_crit_boron ==== | ==== conv_crit_boron ==== | ||
− | : iteration conv_crit_boron <conv_crit_boron > | + | |
+ | Set the convergence criterion of global boron conventration. | ||
+ | |||
+ | : iteration conv_crit_boron <conv_crit_boron> | ||
:: <conv_crit_boron > : convergence criterion for absolute value change of boron concentration (ppm) between consecutive outer iterations (default 1E-2) | :: <conv_crit_boron > : convergence criterion for absolute value change of boron concentration (ppm) between consecutive outer iterations (default 1E-2) | ||
==== conv_crit_fsrc ==== | ==== conv_crit_fsrc ==== | ||
− | : iteration conv_crit_fsrc <conv_crit_fsrc > | + | |
+ | Set the convergence criterion of node-wise relative fission source change. | ||
+ | |||
+ | : iteration conv_crit_fsrc <conv_crit_fsrc> | ||
:: <conv_crit_fsrc > : convergence criterion for maximum of the absolute value of node wise relative fission source change between consecutive outer iterations (default 1E-5) | :: <conv_crit_fsrc > : convergence criterion for maximum of the absolute value of node wise relative fission source change between consecutive outer iterations (default 1E-5) | ||
==== conv_crit_fsrc_l2 ==== | ==== conv_crit_fsrc_l2 ==== | ||
− | : iteration conv_crit_fsrc_l2 <conv_crit_fsrc_l2 > | + | |
+ | Set the convergence criterion of L2 norm of fission source change. | ||
+ | |||
+ | : iteration conv_crit_fsrc_l2 <conv_crit_fsrc_l2> | ||
:: <conv_crit_fsrc_l2 > : convergence criterion for change of L2 norm of node-integrated fission sources between consecutive outer iterations (default 1.0) | :: <conv_crit_fsrc_l2 > : convergence criterion for change of L2 norm of node-integrated fission sources between consecutive outer iterations (default 1.0) | ||
==== conv_crit_flux ==== | ==== conv_crit_flux ==== | ||
+ | |||
+ | Set the convergence criterion of node- and group-wise relative flux change. | ||
+ | |||
: iteration conv_crit_flux <conv_crit_flux> | : iteration conv_crit_flux <conv_crit_flux> | ||
:: <conv_crit_flux> : convergence criterion for maximum of the absolute value of node and group wise relative flux change between consecutive outer iterations (default 1.0) | :: <conv_crit_flux> : convergence criterion for maximum of the absolute value of node and group wise relative flux change between consecutive outer iterations (default 1.0) | ||
==== conv_crit_partial_current ==== | ==== conv_crit_partial_current ==== | ||
+ | |||
+ | Set the convergence criterion of node, group, and moment wise relative outgoing ''physical'' partial currents (6 for rectangular geometry, 8 for hexagonal geometry and 5 for triangular geometry). | ||
+ | |||
: iteration conv_crit_partial_current <conv_crit_partial_current> | : iteration conv_crit_partial_current <conv_crit_partial_current> | ||
:: <conv_crit_partial_current> : convergence criterion for maximum of the absolute value of node, group, and moment wise relative outgoing ''physical'' partial current relative change between consecutive outer iterations (default 1.01) | :: <conv_crit_partial_current> : convergence criterion for maximum of the absolute value of node, group, and moment wise relative outgoing ''physical'' partial current relative change between consecutive outer iterations (default 1.01) | ||
==== conv_crit_poison_density ==== | ==== conv_crit_poison_density ==== | ||
+ | |||
+ | Set the convergence criterion of node- and nuclide-wise poison nuclide density change. | ||
+ | |||
: iteration conv_crit_poison_density <conv_crit_poison_density> | : iteration conv_crit_poison_density <conv_crit_poison_density> | ||
:: <conv_crit_poison_density > : convergence criterion for maximum of the absolute value of node wise relative poison nuclide (I-135, Xe-135m, Xe-135, Pm-149, Sm-149) density change between consecutive outer iterations (default 1.0) | :: <conv_crit_poison_density > : convergence criterion for maximum of the absolute value of node wise relative poison nuclide (I-135, Xe-135m, Xe-135, Pm-149, Sm-149) density change between consecutive outer iterations (default 1.0) | ||
==== conv_crit_power ==== | ==== conv_crit_power ==== | ||
+ | |||
+ | Set the convergence criterion of total power. | ||
+ | |||
: iteration conv_crit_power <conv_crit_power> | : iteration conv_crit_power <conv_crit_power> | ||
:: <conv_crit_power> : convergence criterion for absolute value change of total power (W) between consecutive outer iterations (default 1.0) | :: <conv_crit_power> : convergence criterion for absolute value change of total power (W) between consecutive outer iterations (default 1.0) | ||
Line 485: | Line 592: | ||
==== use_relaxation ==== | ==== use_relaxation ==== | ||
− | Either use partial current relaxation during inner iterations or not. Relaxation coefficient is given with [[#relaxation_factor|iteration relaxation_factor]]. | + | Either use partial current relaxation during inner iterations or not. Relaxation coefficient is given with [[#relaxation_factor|iteration relaxation_factor]]. With relaxation and relaxation factor f, the outgoing partial currents Jout are calculated at iteration n as Jout = f*Jout^n + (f-1)*Jout^(n-1). |
: iteration use_relaxation <flag> | : iteration use_relaxation <flag> | ||
Line 493: | Line 600: | ||
==== use_color ==== | ==== use_color ==== | ||
− | Either use color iteration during the inner iterations or iterate one node at a time in the node indexing order. Two | + | Either use color iteration during the inner iterations or iterate one node at a time in the node indexing order. Two color iteration scheme is used for rectangular and triangular geometries, and four color iteration scheme for hexagonal geometry. Without color iteration, the inner iterations are not parallellized. |
: iteration use_color <flag> | : iteration use_color <flag> | ||
Line 501: | Line 608: | ||
==== use_discontinuity_factor ==== | ==== use_discontinuity_factor ==== | ||
− | Either use discontinuity factors in the neutronics solution or not. Disabling | + | Either use discontinuity factors in the neutronics solution or not. Disabling the discontinuity factors overwrite the values calculated from group constant data files with 1. |
: iteration use_discontinuity_factor <flag> | : iteration use_discontinuity_factor <flag> | ||
Line 507: | Line 614: | ||
::* 1/y/yes/on/true : discontinuity factors are used if given in group constant input (default) | ::* 1/y/yes/on/true : discontinuity factors are used if given in group constant input (default) | ||
::* everything else : discontinuity factors are not used | ::* everything else : discontinuity factors are not used | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==== relaxation_factor ==== | ==== relaxation_factor ==== | ||
Line 540: | Line 639: | ||
::* zero: node-wise Pm-149 and Sm-149 concentrations will be set to zero | ::* zero: node-wise Pm-149 and Sm-149 concentrations will be set to zero | ||
::* fixed : node-wise Pm-149 and Sm-149 concentrations will stay at the values they are before initiating the calculation | ::* fixed : node-wise Pm-149 and Sm-149 concentrations will stay at the values they are before initiating the calculation | ||
− | ::* equilibrium : node-wise Pm-149 and Sm-149 concentrations will be set to the equilibrium values calculated to match the current node power level. May also mean using Pm-149 and Sm-149 absorption values included in group constants. | + | ::* equilibrium : node-wise Pm-149 and Sm-149 concentrations will be set to the equilibrium values calculated to match the current node power level. May also mean using Pm-149 and Sm-149 absorption values as included in the group constants, depending on the group constant model. |
::* plus_promethium: node-wise Pm-149 will be set to zero. Sm-149 concentration will be set to the equilibrium value of Sm-149 plus equilibrium concentration of Pm-149 (as if all Pm-149 has decayed to Sm-149). Equilibrium value of Sm-149 may also mean the value included in group constants. | ::* plus_promethium: node-wise Pm-149 will be set to zero. Sm-149 concentration will be set to the equilibrium value of Sm-149 plus equilibrium concentration of Pm-149 (as if all Pm-149 has decayed to Sm-149). Equilibrium value of Sm-149 may also mean the value included in group constants. | ||
::* depletion: node-wise Pm-149 and Sm-149 concentrations will be accumulated during burnup calculation. | ::* depletion: node-wise Pm-149 and Sm-149 concentrations will be accumulated during burnup calculation. | ||
==== power ==== | ==== power ==== | ||
+ | Set the core total power (W). This is possibly also used for normalization. | ||
+ | |||
+ | : iteration power <power> | ||
+ | :: <power> core total power | ||
+ | |||
==== flux ==== | ==== flux ==== | ||
+ | |||
+ | This card is currently not documented here. | ||
+ | |||
+ | ==== nufission_rate ==== | ||
+ | |||
+ | This card is currently not documented here. | ||
+ | |||
+ | ==== flux_fuel ==== | ||
+ | |||
+ | This card is currently not documented here. | ||
+ | |||
==== normalization_type ==== | ==== normalization_type ==== | ||
− | Set the variable to which the neutronics solution is normalized or disable normalization. | + | Set the variable to which the neutronics solution is normalized in steady state or depletion calculation, or disable normalization. The solution is not normalized in time-dependent calculations. |
: iteration normalization_type <variable> | : iteration normalization_type <variable> | ||
Line 554: | Line 669: | ||
::* none : do not normalize the neutronics solution | ::* none : do not normalize the neutronics solution | ||
::* power : normalize the neutronics solution to total produced neutronics power. The value is given by [[#power|iteration power]] (default) | ::* power : normalize the neutronics solution to total produced neutronics power. The value is given by [[#power|iteration power]] (default) | ||
− | |||
− | |||
− | |||
==== keff ==== | ==== keff ==== | ||
− | Set the effective multiplication factor | + | Set the initial value of effective multiplication factor when keff iteration is used (see [[#control_variable|iteration control_variable]]) in time independent calculations. For other caculation or iteration types, the value acts as a scaling parameter for all fission production group constants (the values are multiplied with 1/keff in each calculation node). |
: iteration keff <keff> | : iteration keff <keff> | ||
− | :: <keff> effective multiplication factor initial value or | + | :: <keff> effective multiplication factor initial value or fission production group constant scaling factor |
− | ==== boron ==== | + | ==== boron <span id="iteration boron"></span> ==== |
Set the boron concentration (ppm) initial value for boron [[#control_variable|iteration control_variable]] or global concentration value for other control variables. | Set the boron concentration (ppm) initial value for boron [[#control_variable|iteration control_variable]] or global concentration value for other control variables. | ||
Line 570: | Line 682: | ||
:: <boron> boron concentration initial value or value | :: <boron> boron concentration initial value or value | ||
− | ==== control_variable ==== | + | ==== control_variable <span id="iteration control_variable"></span> ==== |
− | Set the control variable for critical variable iteration. | + | Set the control variable for critical variable iteration in steady state or depletion calculation. Not used in time-dependent calculations. |
: iteration control_variable <variable> | : iteration control_variable <variable> | ||
Line 591: | Line 703: | ||
: iteration boron_relaxation_factor <relaxation_factor> | : iteration boron_relaxation_factor <relaxation_factor> | ||
− | :: <relaxation_factor> : critical boron concentration relaxation factor during outer iterations. | + | :: <relaxation_factor> : critical boron concentration relaxation factor during outer iterations (default 0.5). With boron relaxation and boron relaxation factor f, the boron values Bare calculated at iteration n as B = f*B^n + (f-1)*B^(n-1). |
==== critical_node_method ==== | ==== critical_node_method ==== | ||
− | Set the method used to handle near critical nodes (real eigenvalue absolute value less than or equal to value given in <code>eigenvalue_critical_limit</code> | + | Set the approximate method used to handle near critical nodes (real eigenvalue absolute value less than or equal to value given in <code>eigenvalue_critical_limit</code>. |
: iteration critical_node_method <method> | : iteration critical_node_method <method> | ||
:: <method> | :: <method> | ||
− | ::* keff_shift | + | ::* keff_shift : change the neutron fission production group constant of a near critical node by adding the value given in <code>iteration critical_node_shift</code> to the keff value used in the node. |
− | ::* mode_flux_limit : assume near critical eigenvalue to be exactly zero and use pseudo inverse instead of inverse for inverting matrix Qin. Will not represent all linear cross term fluxes. | + | ::* keff_shift_iterate : add the value given in <code>iteration critical_node_shift</code> to keff value in the near critical node and if the node is still near critical, then add the value given in <code>iteration critical_node_shift_increment</code> as many times as is needed for the node to become non-near critical. |
− | ::* fix_eigenvalue | + | ::* mode_flux_limit : assume the near critical eigenvalue to be exactly zero and use pseudo inverse instead of inverse for inverting matrix Qin. Will not represent all linear cross term fluxes. |
+ | ::* fix_eigenvalue : assume near critical eigenvalue to be exactly <code>eigenvalue_critical_limit</code> with the same sign as the near critical eigenvalue. | ||
==== eigenvalue_real_limit ==== | ==== eigenvalue_real_limit ==== | ||
Line 612: | Line 725: | ||
==== eigenvalue_critical_limit ==== | ==== eigenvalue_critical_limit ==== | ||
− | Set a tolerance value for the absolute value of the real part of an eigenvalue, under which the node is treated | + | Set a tolerance value for the absolute value of the real part of an eigenvalue, under which the node is treated as near critical. |
: iteration eigenvalue_critical_limit <limit> | : iteration eigenvalue_critical_limit <limit> | ||
− | :: <limit> : if the absolute value of the real part of an eigenvalue is below this value, treat the node as near critical | + | :: <limit> : if the absolute value of the real part of an eigenvalue is below this value, treat the node as near critical (default 1E-7, might not be high enough for hexagonal or triangular geometries) |
+ | |||
+ | ==== eigenvalue_critical_limit_fix_sign ==== | ||
+ | |||
+ | This card is currently not documented here. | ||
==== critical_node_shift ==== | ==== critical_node_shift ==== | ||
Line 622: | Line 739: | ||
: iteration critical_node_shift <value> | : iteration critical_node_shift <value> | ||
− | :: <value> : value to be added in the keff used in a near critical node | + | :: <value> : value to be added to the keff used in a near critical node (default 5.0E-4) |
+ | |||
+ | ==== critical_node_shift_increment ==== | ||
+ | |||
+ | Set keff shift increment value for a near critical node if used. | ||
+ | |||
+ | : iteration critical_node_shift_increment <value> | ||
+ | :: <value> : value to be possibly repeatedly added to the keff used in a near critical node (default 5.0E-5) | ||
==== boron_method ==== | ==== boron_method ==== | ||
Line 630: | Line 754: | ||
: iteration boron_method <method> | : iteration boron_method <method> | ||
:: <method > | :: <method > | ||
− | ::* balance : estimate critical boron directly from neutron balance equation | + | ::* balance : estimate critical boron directly from neutron balance equation (default) |
::* secant : estimate critical boron using the secant method from the actual keffs with current and previous boron concentrations | ::* secant : estimate critical boron using the secant method from the actual keffs with current and previous boron concentrations | ||
Line 640: | Line 764: | ||
::* 1/y/yes/on/true : exponential transformation is used (default). | ::* 1/y/yes/on/true : exponential transformation is used (default). | ||
::* everything else : exponential transformation is not used | ::* everything else : exponential transformation is not used | ||
− | |||
==== update_omega ==== | ==== update_omega ==== | ||
Line 649: | Line 772: | ||
::* 1/y/yes/on/true : omega values are updated during the iteration of the current time step (values calculated from flux of the current time step and the previous time step) (default). | ::* 1/y/yes/on/true : omega values are updated during the iteration of the current time step (values calculated from flux of the current time step and the previous time step) (default). | ||
::* everything else : omega values calculated from the fluxes of the two previous time steps. | ::* everything else : omega values calculated from the fluxes of the two previous time steps. | ||
+ | |||
+ | ==== print_node_debug_data ==== | ||
+ | |||
+ | This card is currently not documented here. | ||
=== library === | === library === | ||
Line 657: | Line 784: | ||
* <code>path</code> | * <code>path</code> | ||
− | ==== type ==== | + | ==== type <span id="library type"></span> ==== |
Set group constant library type. | Set group constant library type. | ||
: library type <type> | : library type <type> | ||
:: <type> | :: <type> | ||
− | ::* hexbu-3d/mod5 : HEXBU-3D/MOD5 group constant file format for hexagonal geometry (HEXBU-3D/VVER) | + | ::* [[#HEXBU-3D.2FMOD5|hexbu-3d/mod5]] : HEXBU-3D/MOD5 group constant file format for hexagonal geometry (HEXBU-3D/VVER) |
− | ::* hexbu-3d/mod5-trab3d : HEXBU-3D/MOD5 group constant file format for rectangular geometry (TRAB3D/BWR/PWR) | + | ::* [[#HEXBU-3D.2FMOD5|hexbu-3d/mod5-trab3d]] : HEXBU-3D/MOD5 group constant file format for rectangular geometry (TRAB3D/BWR/PWR) |
− | ::* nemtab: NEMTAB group constant file format | + | ::* [[#NEMTAB|nemtab]]: NEMTAB group constant file format |
− | ::* polynomial: polynomial group constant file format | + | ::* [[#Polynomial|polynomial]]: polynomial group constant file format |
− | ::* simple : simple group constant file format | + | ::* [[#Simple|simple]] : simple group constant file format |
==== path ==== | ==== path ==== | ||
Line 675: | Line 802: | ||
=== output === | === output === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | This card is currently not documented here. | |
== Group constant files == | == Group constant files == | ||
=== HEXBU-3D/MOD5 === | === HEXBU-3D/MOD5 === | ||
− | Ants supports HEBXU-3D/MOD5 group constant file format files for both HEXBU-3D and TRAB3D formats (usually used for VVER and PWR/BWR, respectively). See also [[#type_3|library type]]. The NHET parameter in the NOMCON-record has an additional supported value of -4 described in Ants | + | Ants supports HEBXU-3D/MOD5 group constant file format files for both HEXBU-3D and TRAB3D formats (usually used for VVER and PWR/BWR, respectively). See also [[#type_3|library type]]. The NHET parameter in the NOMCON-record has an additional supported value of -4 described in [[Ants discontinuity factor rotations]]. Remember the maximum line length of 80 characters in BINPUT readable files. |
=== Polynomial === | === Polynomial === | ||
− | See report on polynomial group constant file format. | + | See [[Media:GenPoly_report.pdf|report on polynomial group constant file format]]. |
=== NEMTAB === | === NEMTAB === | ||
− | When using the NEMTAB group contant file format, an file describing the contents of the actual NEMTAB group constant files is required. The input syntax is similar with the [[#Input_syntax|main input file syntax]]. | + | When using the NEMTAB group contant file format, an file describing the contents of the actual NEMTAB group constant files is required. The input syntax is similar with the [[#Input_syntax|main input file syntax]]. The burnup-dependent multi-group supporting NEMTAB format is currently not supported. |
==== Main blocks ==== | ==== Main blocks ==== | ||
Line 719: | Line 838: | ||
: file_type <file_type> | : file_type <file_type> | ||
:: <file_type > | :: <file_type > | ||
− | ::*1 : multiple materials in one file, possibly more than one file per <code>file</code> card. First <code>file</code> card defines unrodded materials, second 1st control rod part materials, third 2nd control rod part materials etc. If more than one file given per <code>file</code> card, the materials in second file are numbered as follows | + | ::*1 : multiple materials in one file, possibly more than one file per <code>file</code> card. First <code>file</code> card defines unrodded materials, second 1st control rod part materials, third 2nd control rod part materials etc. If more than one file given per <code>file</code> card, the materials in second file are numbered as follows: If there are less than 10 materials in the first file, the first material in the second file is number 11, and the second material in the second file is number 12 and so on. The materials in the third file will be numbered 21, 22, and so on. If there are less than 100 materials in the first file, the first material in the second file is number 101, and the second material in the second file is number 102 and so on. The materials in the third file will be numbered 201, 202, and so on. |
==== xs_type ==== | ==== xs_type ==== | ||
− | Specify which state variables are given in the files given by <code>file</code> cards and how the files are structured. Mandatory input. | + | Specify which state variables are given in the files given by <code>file</code> cards and how the files are structured. Mandatory input. Note that this input is not checked against the variable list given in the NEMTAB file comments. |
: xs_type <xs_type> | : xs_type <xs_type> | ||
Line 746: | Line 865: | ||
==== file ==== | ==== file ==== | ||
− | Specify group constant data files. If <file_type> = 1, first occurrence of file card specifies unrodded group constants, the second the 1st control rodded group | + | Specify group constant data files. If <file_type> = 1, first occurrence of file card specifies unrodded group constants, the second the 1st control rodded group constants and so on. |
: file <file1> [ <file2> ... ] | : file <file1> [ <file2> ... ] |
Latest revision as of 17:14, 22 March 2024
This page describes the Ants input files and their syntax.
Many Ants variables may also or only be controlled via Cerberus input/output.
Contents
- 1 Main input file
- 1.1 Input processing
- 1.2 Input syntax
- 1.3 Main blocks
- 1.4 title
- 1.5 global
- 1.6 core
- 1.6.1 width_x
- 1.6.2 width_y
- 1.6.3 width_xy
- 1.6.4 width_x_grid
- 1.6.5 width_y_grid
- 1.6.6 axial_nodes
- 1.6.7 axial_heights
- 1.6.8 rows
- 1.6.9 columns
- 1.6.10 nominal_power
- 1.6.11 radial_boundary_coeff
- 1.6.12 axial_boundary_coeff
- 1.6.13 radial_boundary_coeff_group
- 1.6.14 axial_boundary_coeff_group
- 1.6.15 radial_boundary_coeff_east
- 1.6.16 radial_boundary_coeff_north
- 1.6.17 radial_boundary_coeff_west
- 1.6.18 radial_boundary_coeff_south
- 1.6.19 radial_boundary_coeff_northeast
- 1.6.20 radial_boundary_coeff_northwest
- 1.6.21 radial_boundary_coeff_southwest
- 1.6.22 radial_boundary_coeff_southeast
- 1.6.23 axial_boundary_coeff_above
- 1.6.24 axial_boundary_coeff_below
- 1.6.25 axial_dimensions
- 1.6.26 radial_dimensions
- 1.6.27 division_x
- 1.6.28 division_y
- 1.6.29 division_z
- 1.6.30 division_hex
- 1.7 fuel
- 1.8 controlrod
- 1.9 iteration
- 1.9.1 conv_crit_keff
- 1.9.2 conv_crit_boron
- 1.9.3 conv_crit_fsrc
- 1.9.4 conv_crit_fsrc_l2
- 1.9.5 conv_crit_flux
- 1.9.6 conv_crit_partial_current
- 1.9.7 conv_crit_poison_density
- 1.9.8 conv_crit_power
- 1.9.9 num_inner
- 1.9.10 num_cgr
- 1.9.11 max_outer
- 1.9.12 use_cgr
- 1.9.13 use_cmr
- 1.9.14 use_relaxation
- 1.9.15 use_color
- 1.9.16 use_discontinuity_factor
- 1.9.17 relaxation_factor
- 1.9.18 xenon_state
- 1.9.19 samarium_state
- 1.9.20 power
- 1.9.21 flux
- 1.9.22 nufission_rate
- 1.9.23 flux_fuel
- 1.9.24 normalization_type
- 1.9.25 keff
- 1.9.26 boron
- 1.9.27 control_variable
- 1.9.28 use_boron_relaxation
- 1.9.29 boron_relaxation_factor
- 1.9.30 critical_node_method
- 1.9.31 eigenvalue_real_limit
- 1.9.32 eigenvalue_critical_limit
- 1.9.33 eigenvalue_critical_limit_fix_sign
- 1.9.34 critical_node_shift
- 1.9.35 critical_node_shift_increment
- 1.9.36 boron_method
- 1.9.37 use_exponential_transformation
- 1.9.38 update_omega
- 1.9.39 print_node_debug_data
- 1.10 library
- 1.11 output
- 2 Group constant files
Main input file
Input processing
All input present in the input file is processed regardless of its order. For some cards, only one occurence is allowed. For other cards (e.g. some iteration
cards) only the last one read is taken into account. The order of cards do not always mean the precedence of the cards, e.g. boundary condition cards have an exact precedence order.
Input syntax
The following general syntax guide lines hold for Ants specific input. For example the HEXBU-3D/MOD5 or Genpoly group constant files follow their respective syntax.
- Ants input supports rest of line comment symbols
!
and//
, and block comments beginning with/*
and ending with*/
. - Characters beginning and ending with
"
are treated as one token. This is useful for example in input file paths or titles. - All tokens are separated with either space
,
or tabular characters. - Consecutive input may be repeated using
*
. The token before*
must be a positive integer, which is the number of repeats. - The input is case insensitive.
- The main block keywords (below) are reserved.
- Keyword
include
is reserved. It triggers the reading of an additional input file in this position. The input file path is given after theinclude
keyword. - Maximum line length is currently set to 65536 characters. This can be increased with recompilation, if necessary.
Main blocks
When the main input file is read, it is tokenized and split into main blocks. Depending on the main block, they might be split into sub-blocks. Currently, the main block keywords are
title
global
core
fuel
controlrod
iteration
library
output
title
Set a title for the calculation. Currently not used for anything.
- title [ <title> ]
- <title> : at most one token for the title. If omitted, an empty title will be set.
global
Set global calculation parameters. These cards will be processed before any other cards.
Sub-blocks:
-
geometry
-
neutronics
geometry
Set neutronics solution geometry type. Exactly one global geometry card has to be present in the input.
- global geometry <geometry>
- <geometry>
- rectangular: use rectangular geometry (for example BWR, PWR)
- hexagonal : use hexagonal geometry (for example VVER)
- triangular: use triangular geometry with hexagonal fuel assemblies (for example VVER)
- <geometry>
neutronics
Set neutronics solution transport type. Exactly one global neutronics card has to be present in the input.
- global neutronics <neutronics>
- <neutronics>
- diffusion : solve diffusion equation
- <neutronics>
core
Set core parameters.
Sub-blocks:
-
width_x
-
width_y
-
width_xy
-
width_x_grid
-
width_y_grid
-
axial_nodes
-
axial_heights
-
rows
-
columns
-
nominal_power
-
radial_boundary_coeff
-
axial_boundary_coeff
-
radial_boundary_coeff_group
-
axial_boundary_coeff_group
-
radial_boundary_coeff_east
-
radial_boundary_coeff_north
-
radial_boundary_coeff_west
-
radial_boundary_coeff_south
-
radial_boundary_coeff_northeast
-
radial_boundary_coeff_northwest
-
radial_boundary_coeff_southwest
-
radial_boundary_coeff_southeast
-
axial_boundary_coeff_above
-
axial_boundary_coeff_below
-
axial_dimensions
-
radial_dimensions
-
division_x
-
division_y
-
division_z
-
division_hex
width_x
Set node size in x direction for all input nodes (unit cm).
- core width_x <width_x>
- <width_x> : x direction size of all input nodes
width_y
Set node size in y direction for all input nodes (unit cm). Not used for hexagonal or triangular geometries.
- core width_y <width_y>
- <width_y> : y direction size of all input nodes
width_xy
Set node size in both x and y directions for all input nodes (unit cm).
- core width_xy <width_xy>
- <width_xy> : x and y direction sizes of all input nodes
width_x_grid
Set column-wise node sizes in the x direction for all input nodes (unit cm). core columns card has to be read before this card is given.
- core width_x_grid <width_x_grid>
- <width_x_grid> : column-wise x direction sizes of all input nodes (number of input: core columns). All values have to be the same value for hexagonal or triangular geometries.
width_y_grid
Set row-wise node sizes in the y direction for all nodes (unit cm). core rows card has to be read before this card is given. Not used for hexagonal or triangular geometries.
- core width_y_grid <width_y_grid>
- <width_y_grid> : row-wise y direction sizes of all input nodes (number of input: core rows)
axial_nodes
Set number of axial input node layers in the z direction for the core. This card determines the number of axial layers in rest of the input.
- core axial_nodes <axial_nodes>
- <axial_nodes> : number of input node axial layers in the z direction in the core
axial_heights
Set axial layer wise input node sizes in the z direction for all input nodes (unit cm). core axial_nodes card has to be read before this card is given.
- core axial_heights <axial_heights>
- <axial_heights> : axial layer wise z direction sizes of all input nodes (number of input: core axial_nodes)
rows
Set number of rows in the x direction for the core. This card determines the number of rows in rest of the input.
- core rows <rows>
- <rows> : number of rows in the x direction in the core
columns
Set number of columns in the y direction for the core. This card determines the number of columns in rest of the input.
- core columns <columns>
- <columns> : number of columns in the y direction in the core
nominal_power
Set the core nominal power (unit W). Used to initialize the core total power when set and at the beginning of each calculation step if total power is not set otherwise.
- core nominal_power <nominal_power>
- <nominal_power> : core nominal power (default 1.0 W)
radial_boundary_coeff
Set the boundary albedo for all radial directions for all nodes on the radial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout.
- core radial_boundary_coeff <radial_boundary_coeff>
- <radial_boundary_coeff> : boundary albedo for all radial directions for all nodes on the radial boundary of the core (default 0.0)
axial_boundary_coeff
Set the boundary albedo for both axial direction for all nodes on the axial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout.
- core axial_boundary_coeff <axial_boundary_coeff>
- <axial_boundary_coeff> : boundary albedo for both axial directions for all nodes on the axial boundaries of the core (default 0.0)
radial_boundary_coeff_group
Set the group-wise boundary albedo for all radial directions for all nodes on the radial boundary of the core. The albedo is defined as Jin = albedo*Jout. This card takes precedence over iteration radial_boundary_coeff
.
- core radial_boundary_coeff_group <num_group> <radial_boundary_coeff_group_1> <radial_boundary_coeff_group_2> ... <radial_boundary_coeff_group_num_group>
- <radial_boundary_coeff_group_n> : boundary albedo of energy group n for all radial directions for all nodes on the radial boundary of the core
axial_boundary_coeff_group
Set the group-wise boundary albedo for both axial direction for all nodes on the axial boundary of the core. The albedo is defined as Jin = albedo*Jout. This card takes precedence over iteration axial_boundary_coeff
.
- core axial_boundary_coeff_group <num_group> <axial_boundary_coeff_group_1> <axial_boundary_coeff_group_2> ... <axial_boundary_coeff_group_num_group>
- <axial_boundary_coeff> : boundary albedo of energy group n for both axial directions for all nodes on the axial boundaries of the core
radial_boundary_coeff_east
Set the boundary albedo for east radial direction for all nodes on the east boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_east <radial_boundary_coeff_east>
- <radial_boundary_coeff_east> : boundary albedo for east radial direction for all nodes on the east boundary of the core
radial_boundary_coeff_north
Set the boundary albedo for north radial direction for all nodes on the north boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for hexagonal or triangular geometries. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_north <radial_boundary_coeff_north>
- <radial_boundary_coeff_north> : boundary albedo for north radial direction for all nodes on the north boundary of the core
radial_boundary_coeff_west
Set the boundary albedo for west radial direction for all nodes on the west boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_west <radial_boundary_coeff_west>
- <radial_boundary_coeff_west> : boundary albedo for west radial direction for all nodes on the west boundary of the core
radial_boundary_coeff_south
Set the boundary albedo for south radial direction for all nodes on the south boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for hexagonal or triangular geometries. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_south <radial_boundary_coeff_south>
- <radial_boundary_coeff_south> : boundary albedo for south radial direction for all nodes on the south boundary of the core
radial_boundary_coeff_northeast
Set the boundary albedo for northeast radial direction for all nodes on the northeast boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_northeast <radial_boundary_coeff_northeast>
- <radial_boundary_coeff_northeast> : boundary albedo for northeast radial direction for all nodes on the northeast boundary of the core
radial_boundary_coeff_northwest
Set the boundary albedo for northwest radial direction for all nodes on the northwest boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_northwest <radial_boundary_coeff_northwest>
- <radial_boundary_coeff_northwest> : boundary albedo for northwest radial direction for all nodes on the northwest boundary of the core
radial_boundary_coeff_southwest
Set the boundary albedo for southwest radial direction for all nodes on the southwest boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_southwest <radial_boundary_coeff_southwest>
- <radial_boundary_coeff_southwest> : boundary albedo for southwest radial direction for all nodes on the southwest boundary of the core
radial_boundary_coeff_southeast
Set the boundary albedo for southeast radial direction for all nodes on the southeast boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. Not used for rectangular geometry. This card takes precedence over both iteration radial_boundary_coeff
and iteration radial_boundary_coeff_group
.
- core radial_boundary_coeff_southeast <radial_boundary_coeff_southeast>
- <radial_boundary_coeff_southeast> : boundary albedo for southeast radial direction for all nodes on the southeast boundary of the core
axial_boundary_coeff_above
Set the boundary albedo for upwards axial direction for all nodes on the upper axial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both iteration axial_boundary_coeff
and iteration axial_boundary_coeff_group
.
- core axial_boundary_coeff_above <axial_boundary_coeff_above>
- <axial_boundary_coeff_above> : boundary albedo for upwards axial direction for all nodes on the upper axial boundary of the core
axial_boundary_coeff_below
Set the boundary albedo for downwards axial direction for all nodes on the bottom axial boundary of the core for all energy groups. The albedo is defined as Jin = albedo*Jout. This card takes precedence over both iteration axial_boundary_coeff
and iteration axial_boundary_coeff_group
.
- core axial_boundary_coeff_below <axial_boundary_coeff_below>
- <axial_boundary_coeff_below> : boundary albedo for downwards axial direction for all nodes on the bottom axial boundary of the core
axial_dimensions
Currently only used with reflector calculations. This card is currently not documented here.
radial_dimensions
Currently only used with reflector calculations. This card is currently not documented here.
division_x
Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in x direction. Not used for hexagonal or triangular geometries.
- core division_x <division_x>
- <division_x> : number of nodes produced in x direction from each input node. The value has to be divisible with 2.
division_y
Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in y direction. Not used for hexagonal or triangular geometries.
- core division_y <division_y>
- <division_y> : number of nodes produced in y direction from each input node. The value has to be divisible with 2.
division_z
Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in z direction.
- core division_z <division_z>
- <division_z> : number of nodes produced in z direction from each input node.
division_hex
Divide all input nodes (also called super nodes) into multiple calculation nodes (nodes) in radial plane. Not used for rectangular or hexagonal geometries. Has to be divisible with 6, and with 4 if the value is greater than 6.
- core division_hex <division_hex>
- <division_hex> : number of nodes produced in radial plane from each input node.
fuel
Describe fuel and reflector material distributions and state variable distributions in geometry.
Sub-blocks:
-
type
-
assembly
-
load
-
rotation
-
burnup
-
hdco
-
tfu
-
bor
-
dco
-
dco_out
-
tco
-
xen
-
sam
-
zdf_above
-
zdf_below
type
Add fuel or reflector element type.
- fuel type <identifier> [description <description> nodes <nodes> subs <subs>]
- <identifier> : name of the fuel type to be used for example in fuel load
- <description> : description of the fuel type. Currently not used for anything. Optional.
- <nodes> : material identifiers for each axial input node of the fuel beginning from the bottom of the core and ending at the top of the core (number of input: core axial_nodes). Includes possible axial reflector nodes. Reflector nodes are specified using "-" character before the material identifier, without a separating space. Either nodes or subs has to be specified. Material identifier means the name of the corresponding material in the group constant data file.
- <subs> : fuel type identifiers for constructing a possibly radially asymmetrical fuel assembly. Not used for hexagonal geometry. The input order for rectangular geometry is the fuel type identifiers for NW, NE, SW, SE quarters of the element and the input order for triangular geometry is the fuel type identifiers for NW, NE, W, E, SW, SE sixths of the element. See also Ants discontinuity factor rotations. Either subs or nodes has to be specified.
assembly
This card is currently not documented here.
load
Specify fuel load map.
- fuel load <identifiers>
- <identifiers> : a list of fuel or reflector element identifiers (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row.
rotation
Specify fuel and control element radial rotation map. Rotation applies for elements, elements defined using subs, and all discontinuity factors and pin power form functions.
- fuel rotation <rotations>
- <rotations> : a list of rotations (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row.
- Rectangular geometry:
- E or 1: East direction of the assembly faces east
- N or 2: East direction of the assembly faces north
- W or 3: East direction of the assembly faces west
- S or 4: East direction of the assembly faces south
- -E or 5: Assembly is flipped such that north and south are interchanged and then east direction of the assembly faces east
- -N or 6: Assembly is flipped such that north and south are interchanged and then east direction of the assembly faces north
- -W or 7: Assembly is flipped such that north and south are interchanged and then east direction of the assembly faces west
- -S or 8: Assembly is flipped such that north and south are interchanged and then east direction of the assembly faces south
- Hexagonal and triangular geometry:
- E or 1: East direction of the assembly faces east
- NE or 2: East direction of the assembly faces north-east
- NW or 3: East direction of the assembly faces north-west
- W or 4: East direction of the assembly faces west
- SW or 5: East direction of the assembly faces south-west
- SE or 6: East direction of the assembly faces south-east
- <rotations> : a list of rotations (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row.
- See also Ants discontinuity factor rotations
burnup
Specify fixed burnup distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel burnup <burnups>
- <burnups> : a list of burnups (number of input: core axial nodes*core rows*core columns, unit: MWd/kgU)
hdco
Specify fixed historical coolant density distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel hdco <hdcos>
- <hdcos> : a list of historical coolant densities (number of input: core axial nodes*core rows*core columns, unit: g/cm^3)
tfu
Specify fixed fuel temperature distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel tfu <tfus>
- <tfus> : a list of fuel temperatures (number of input: core axial nodes*core rows*core columns, unit: K)
bor
Specify fixed boron concentration distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel bor <bors>
- <bors> : a list of borons (number of input: core axial nodes*core rows*core columns, unit: ppm)
dco
Specify fixed coolant density distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel dco <dcos>
- <dcos> : a list of coolant densities (number of input: core axial nodes*core rows*core columns, unit: g/cm^3)
dco_out
Specify fixed unheated coolant density distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel dco_out <dco_outs>
- <dco_outs> : a list of unheated coolant densities (number of input: core axial nodes*core rows*core columns, unit: g/cm^3)
tco
Specify fixed coolant temperature distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel tco <tcos>
- <tcos> : a list of coolant temperatures (number of input: core axial nodes*core rows*core columns, unit: K)
xen
Specify fixed Xe-135 distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel xen <xens>
- <xens> : a list of Xe-135 densities (number of input: core axial nodes*core rows*core columns, unit: 1/cm^3)
sam
Specify fixed Sm-149 distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel sam <sams>
- <sams> : a list of Sm-149 densities (number of input: core axial nodes*core rows*core columns, unit: 1/cm^3)
zdf_above
Specify fixed axial discontinuity factor distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel zdf_above <zdf_aboves>
- <zdf_aboves> : a list of axial discontinuity factors on top side of input nodes (number of input: core axial nodes*core rows*core columns)
zdf_below
Specify fixed axial discontinuity factor distribution for input nodes for testing purposes. In realistic calculations, this is done via the Cerberus interface.
- fuel zdf_below <zdf_belows>
- <zdf_belows> : a list of axial discontinuity factors on bottom side of input nodes (number of input: core axial nodes*core rows*core columns, unit: MWd/kgU)
controlrod
Describe control element distributions in geometry.
Sub-blocks:
-
type
-
position
-
group
-
individual
type
Add control element type.
- controlrod type <identifier> [description <description> parts <parts> lengths <lengths> nodes <nodes> subs <subs>]
- <identifier> : name of the control element type to be used for example in controlrod position
- <description> : description of the control element type. Currently not used for anything. Optional.
- <parts> : number of parts of the control element absorber
- <lengths> : lengths of the parts of the control element absorber (number of input: controlrod type parts, unit cm)
- <nodes> : material identifiers for each axial input node and control element absorber part of the control element beginning from the bottom of the core and ending at the top of the core (number of input: core axial_nodes*controlrod type parts). Includes possible axial reflector nodes. Reflector nodes are specified using "-" character before the material identifier, without a separating space. Fastest running index is the axial layer and the slowest index is the control element type. The input means that for a specific axial layer of the core, the corresponding material identifier is used if the specific control element absorber part is present in the axial node. Either nodes or subs has to be specified. Material identifier means the name of the corresponding material in the group constant data file.
- <subs> : control elemenent type identifiers for constructing a possibly radially asymmetrical control element. Not used for hexagonal geometry. The input order for rectangular geometry is the controlrod element type identifiers for NW, NE, SW, SE quarters of the element and the input order for triangular geometry is the controlrod element type identifiers for NW, NE, W, E, SW, SE sixths of the element. See also Ants discontinuity factor rotations. Either subs or nodes has to be specified.
position
Specify control element position map.
- controlrod position <identifiers>
- <identifiers> : a list of control element identifiers (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row.
group
Specify control element group related variables
- controlrod group [load <identifiers> height <identifier> <unit> <height>]
- <identifiers> : a list of control element group identifiers (number of input: core rows*core columns). An identifier "0" is used to represent an empty location. The map runs fastest in the x direction (columns) and then y direction (rows) such that the first row is the northernmost row and the last row is the southernmost row. For hexagonal maps (used in hexagonal and triangular geometry) the row wrap is interpreted such that the first entry on each row is located in the southeast direction of the first hexagon entry on the previous row.
- <identifier> : identifier of the control element group of which height is specified
- <unit> : unit of the height
- cm: cm from the bottom of the core (including possible axial reflectors)
- node: number of input node positions from the bottom of the core (including possible axial reflectors).
- percentage: relative fraction of the full core height (including possible axial reflectors) in percent from the bottom of the core (including possible axial reflectors).
- <height> : height of the control element group calculated from the bottom of the core (including possible reflector nodes), defined as the height of the lowest part of the first control rod material
individual
This card is currently not documented here.
iteration
Set iteration parameters.
Sub-blocks:
conv_crit_keff
conv_crit_boron
conv_crit_fsrc
conv_crit_fsrc_l2
conv_crit_flux
conv_crit_partial_current
conv_crit_poison_density
conv_crit_power
num_inner
num_cgr
max_outer
use_cgr
use_cmr
use_relaxation
use_color
use_discontinuity_factor
relaxation_factor
xenon_state
samarium_state
power
flux
nufission_rate
flux_fuel
normalization_type
keff
boron
control_variable
use_boron_relaxation
boron_relaxation_factor
critical_node_method
eigenvalue_real_limit
eigenvalue_critical_limit
critical_node_shift
boron_method
use_exponential_transformation
update_omega
print_node_debug_data
conv_crit_keff
Set the convergence criterion of effective multiplication factor.
- iteration conv_crit_keff <conv_crit_keff>
- <conv_crit_keff> : convergence criterion for absolute value change of effective multiplication factor between consecutive outer iterations (default 1E-7)
conv_crit_boron
Set the convergence criterion of global boron conventration.
- iteration conv_crit_boron <conv_crit_boron>
- <conv_crit_boron > : convergence criterion for absolute value change of boron concentration (ppm) between consecutive outer iterations (default 1E-2)
conv_crit_fsrc
Set the convergence criterion of node-wise relative fission source change.
- iteration conv_crit_fsrc <conv_crit_fsrc>
- <conv_crit_fsrc > : convergence criterion for maximum of the absolute value of node wise relative fission source change between consecutive outer iterations (default 1E-5)
conv_crit_fsrc_l2
Set the convergence criterion of L2 norm of fission source change.
- iteration conv_crit_fsrc_l2 <conv_crit_fsrc_l2>
- <conv_crit_fsrc_l2 > : convergence criterion for change of L2 norm of node-integrated fission sources between consecutive outer iterations (default 1.0)
conv_crit_flux
Set the convergence criterion of node- and group-wise relative flux change.
- iteration conv_crit_flux <conv_crit_flux>
- <conv_crit_flux> : convergence criterion for maximum of the absolute value of node and group wise relative flux change between consecutive outer iterations (default 1.0)
conv_crit_partial_current
Set the convergence criterion of node, group, and moment wise relative outgoing physical partial currents (6 for rectangular geometry, 8 for hexagonal geometry and 5 for triangular geometry).
- iteration conv_crit_partial_current <conv_crit_partial_current>
- <conv_crit_partial_current> : convergence criterion for maximum of the absolute value of node, group, and moment wise relative outgoing physical partial current relative change between consecutive outer iterations (default 1.01)
conv_crit_poison_density
Set the convergence criterion of node- and nuclide-wise poison nuclide density change.
- iteration conv_crit_poison_density <conv_crit_poison_density>
- <conv_crit_poison_density > : convergence criterion for maximum of the absolute value of node wise relative poison nuclide (I-135, Xe-135m, Xe-135, Pm-149, Sm-149) density change between consecutive outer iterations (default 1.0)
conv_crit_power
Set the convergence criterion of total power.
- iteration conv_crit_power <conv_crit_power>
- <conv_crit_power> : convergence criterion for absolute value change of total power (W) between consecutive outer iterations (default 1.0)
num_inner
Set the number of inner iterations per outer iteration.
- iteration num_inner <num_inner>
- <num_inner> : number of inner iterations per outer iteration (default 50)
num_cgr
Set the number of coarse group rebalance (CGR) or coarse mesh rebalance (CMR) iterations per outer iteration. CGR/CMR is not used if boron is used as iteration control_variable.
- iteration num_cgr <num_cgr/num_cmr>
- <num_cgr/num_cmr> : number of coarse group rebalance (CGR) or coarse mesh rebalance (CMR) per outer iteration (default 4)
max_outer
Set the maximum number of outer iterations per calculation step. Currently not used for anything.
- iteration max_outer <max_outer>
- <max_outer> : maximum number of outer iterations per calculation step (default huge(0))
use_cgr
Either use or do not use coarse group rebalance (CGR) iteration during the outer iterations or calculate current effective multiplication factor from current node wise values. CGR is not used if boron is used as iteration control_variable.
- iteration use_cgr <flag>
- <flag>
- 1/y/yes/on/true : coarse group rebalance (CGR) iteration is used (default). Disables use of CMR.
- everything else : coarse group rebalance (CGR) iteration is not used
- <flag>
use_cmr
Either use or do not use coarse mesh rebalance (CMR) iteration during the outer iterations or calculate current effective multiplication factor from current node wise values. CMR is not used if boron is used as iteration control_variable.
- iteration use_cmr <flag>
- <flag>
- 1/y/yes/on/true : coarse mesh rebalance (CMR) iteration is used. Disables use of CGR.
- everything else : coarse mesh rebalance (CMR) iteration is not used (default)
- <flag>
use_relaxation
Either use partial current relaxation during inner iterations or not. Relaxation coefficient is given with iteration relaxation_factor. With relaxation and relaxation factor f, the outgoing partial currents Jout are calculated at iteration n as Jout = f*Jout^n + (f-1)*Jout^(n-1).
- iteration use_relaxation <flag>
- <flag>
- 1/y/yes/on/true : relaxation is used
- everything else : relaxation is not used (default)
- <flag>
use_color
Either use color iteration during the inner iterations or iterate one node at a time in the node indexing order. Two color iteration scheme is used for rectangular and triangular geometries, and four color iteration scheme for hexagonal geometry. Without color iteration, the inner iterations are not parallellized.
- iteration use_color <flag>
- <flag>
- 1/y/yes/on/true : color iteration is used (default)
- everything else : color iteration is not used
- <flag>
use_discontinuity_factor
Either use discontinuity factors in the neutronics solution or not. Disabling the discontinuity factors overwrite the values calculated from group constant data files with 1.
- iteration use_discontinuity_factor <flag>
- <flag>
- 1/y/yes/on/true : discontinuity factors are used if given in group constant input (default)
- everything else : discontinuity factors are not used
- <flag>
relaxation_factor
Set the partial current relaxation factor during inner iterations.
- iteration relaxation_factor <relaxation_factor>
- <relaxation_factor> : partial current relaxation factor during inner iterations. The new partial currents are multiplied with this value and added to the old partial currents multiplied with (1.0 minus relaxation_factor) (default 1.0, i.e. no relaxation even if iteration use_relaxation would be on)
xenon_state
Set node-wise I-135, Xe-135m and Xe-135 concentration state for calculation. Behavior and usable options depend on group constant model. I-135 and Xe-135m may be completely untouched depending on group constant model.
- iteration xenon_state <state>
- <state>
- zero: node-wise I-135, Xe-135m and Xe-135 concentrations will be set to zero
- fixed : node-wise I-135, Xe-135m and Xe-135 concentration will stay the values they are before initiating the calculation
- equilibrium : node-wise I-135, Xe-135m and Xe-135 concentrations will be set to the equilibrium values calculated to match the current node power level.
- dynamic: node-wise I-135, Xe-135m and Xe-135 concentrations will be calculated using time dependent equations.
- depletion: node-wise I-135, Xe-135m and Xe-135 concentrations will be accumulated during burnup calculation.
- <state>
samarium_state
Set node-wise Pm-149 and Sm-149 concentration state for calculation. Behavior and usable options depend on group constant model.
- iteration samarium_state <state>
- <state>
- zero: node-wise Pm-149 and Sm-149 concentrations will be set to zero
- fixed : node-wise Pm-149 and Sm-149 concentrations will stay at the values they are before initiating the calculation
- equilibrium : node-wise Pm-149 and Sm-149 concentrations will be set to the equilibrium values calculated to match the current node power level. May also mean using Pm-149 and Sm-149 absorption values as included in the group constants, depending on the group constant model.
- plus_promethium: node-wise Pm-149 will be set to zero. Sm-149 concentration will be set to the equilibrium value of Sm-149 plus equilibrium concentration of Pm-149 (as if all Pm-149 has decayed to Sm-149). Equilibrium value of Sm-149 may also mean the value included in group constants.
- depletion: node-wise Pm-149 and Sm-149 concentrations will be accumulated during burnup calculation.
- <state>
power
Set the core total power (W). This is possibly also used for normalization.
- iteration power <power>
- <power> core total power
flux
This card is currently not documented here.
nufission_rate
This card is currently not documented here.
flux_fuel
This card is currently not documented here.
normalization_type
Set the variable to which the neutronics solution is normalized in steady state or depletion calculation, or disable normalization. The solution is not normalized in time-dependent calculations.
- iteration normalization_type <variable>
- <variable>
- none : do not normalize the neutronics solution
- power : normalize the neutronics solution to total produced neutronics power. The value is given by iteration power (default)
- <variable>
keff
Set the initial value of effective multiplication factor when keff iteration is used (see iteration control_variable) in time independent calculations. For other caculation or iteration types, the value acts as a scaling parameter for all fission production group constants (the values are multiplied with 1/keff in each calculation node).
- iteration keff <keff>
- <keff> effective multiplication factor initial value or fission production group constant scaling factor
boron
Set the boron concentration (ppm) initial value for boron iteration control_variable or global concentration value for other control variables.
- iteration boron <boron>
- <boron> boron concentration initial value or value
control_variable
Set the control variable for critical variable iteration in steady state or depletion calculation. Not used in time-dependent calculations.
- iteration control_variable <variable>
- <variable>
- none : do not iterate a criticality parameter in the neutronics solution
- keff : iterate a critical effective multiplication factor. Value is calculated during the CGR or CMR iterations, if one is used, or with a direct balance method otherwise.
- boron: iterate a critical global boron concentration. CGR or CMR is not used. The method for estimating the critical boron concentration currently depends on the group constant model. See also iteration use_boron_relaxation and iteration boron_relaxation_factor.
- <variable>
use_boron_relaxation
Either use relaxation of the critical boron concentration or not.
- iteration use_boron_relaxation <flag>
- <flag>
- 1/y/yes/on/true : critical boron concentration relaxation is used (default). See also iteration boron_relaxation_factor.
- everything else : critical boron concentration relaxation is not used
- <flag>
boron_relaxation_factor
Set the critical boron concentration relaxation factor during outer iterations.
- iteration boron_relaxation_factor <relaxation_factor>
- <relaxation_factor> : critical boron concentration relaxation factor during outer iterations (default 0.5). With boron relaxation and boron relaxation factor f, the boron values Bare calculated at iteration n as B = f*B^n + (f-1)*B^(n-1).
critical_node_method
Set the approximate method used to handle near critical nodes (real eigenvalue absolute value less than or equal to value given in eigenvalue_critical_limit
.
- iteration critical_node_method <method>
- <method>
- keff_shift : change the neutron fission production group constant of a near critical node by adding the value given in
iteration critical_node_shift
to the keff value used in the node. - keff_shift_iterate : add the value given in
iteration critical_node_shift
to keff value in the near critical node and if the node is still near critical, then add the value given initeration critical_node_shift_increment
as many times as is needed for the node to become non-near critical. - mode_flux_limit : assume the near critical eigenvalue to be exactly zero and use pseudo inverse instead of inverse for inverting matrix Qin. Will not represent all linear cross term fluxes.
- fix_eigenvalue : assume near critical eigenvalue to be exactly
eigenvalue_critical_limit
with the same sign as the near critical eigenvalue.
- keff_shift : change the neutron fission production group constant of a near critical node by adding the value given in
- <method>
eigenvalue_real_limit
Set a tolerance value for the absolute value of the imaginary part of an eigenvalue
- iteration eigenvalue_real_limit <limit>
- <limit> : if the absolute value of the imaginary part of an eigenvalue is below this value, set it to zero
eigenvalue_critical_limit
Set a tolerance value for the absolute value of the real part of an eigenvalue, under which the node is treated as near critical.
- iteration eigenvalue_critical_limit <limit>
- <limit> : if the absolute value of the real part of an eigenvalue is below this value, treat the node as near critical (default 1E-7, might not be high enough for hexagonal or triangular geometries)
eigenvalue_critical_limit_fix_sign
This card is currently not documented here.
critical_node_shift
Set keff shift value for a near critical node if used.
- iteration critical_node_shift <value>
- <value> : value to be added to the keff used in a near critical node (default 5.0E-4)
critical_node_shift_increment
Set keff shift increment value for a near critical node if used.
- iteration critical_node_shift_increment <value>
- <value> : value to be possibly repeatedly added to the keff used in a near critical node (default 5.0E-5)
boron_method
Set method used to solve critical boron concentration.
- iteration boron_method <method>
- <method >
- balance : estimate critical boron directly from neutron balance equation (default)
- secant : estimate critical boron using the secant method from the actual keffs with current and previous boron concentrations
- <method >
use_exponential_transformation
Either use exponential transformation of the neutron flux in time dependent equations or not.
- iteration use_exponential_transformation <flag>
- <flag>
- 1/y/yes/on/true : exponential transformation is used (default).
- everything else : exponential transformation is not used
- <flag>
update_omega
Either use update omega values used with exponential transformation of the neutron flux with the flux values obtained during the current time step iteration or not.
- iteration use_exponential_transformation <flag>
- <flag>
- 1/y/yes/on/true : omega values are updated during the iteration of the current time step (values calculated from flux of the current time step and the previous time step) (default).
- everything else : omega values calculated from the fluxes of the two previous time steps.
- <flag>
print_node_debug_data
This card is currently not documented here.
library
Set group constant library parameters.
Sub-blocks:
-
type
-
path
type
Set group constant library type.
- library type <type>
- <type>
- hexbu-3d/mod5 : HEXBU-3D/MOD5 group constant file format for hexagonal geometry (HEXBU-3D/VVER)
- hexbu-3d/mod5-trab3d : HEXBU-3D/MOD5 group constant file format for rectangular geometry (TRAB3D/BWR/PWR)
- nemtab: NEMTAB group constant file format
- polynomial: polynomial group constant file format
- simple : simple group constant file format
- <type>
path
Set group constant library input file path
- library path <path>
- <path> : at most one token for the group constant library input file path. The path is relative to current working directory.
output
This card is currently not documented here.
Group constant files
HEXBU-3D/MOD5
Ants supports HEBXU-3D/MOD5 group constant file format files for both HEXBU-3D and TRAB3D formats (usually used for VVER and PWR/BWR, respectively). See also library type. The NHET parameter in the NOMCON-record has an additional supported value of -4 described in Ants discontinuity factor rotations. Remember the maximum line length of 80 characters in BINPUT readable files.
Polynomial
See report on polynomial group constant file format.
NEMTAB
When using the NEMTAB group contant file format, an file describing the contents of the actual NEMTAB group constant files is required. The input syntax is similar with the main input file syntax. The burnup-dependent multi-group supporting NEMTAB format is currently not supported.
Main blocks
nemtab
file_type
xs_type
num_group
num_prec_group
file
nemtab
Has to be the first input card in the file. Mandatory input.
- nemtab group constant library
file_type
Specify how the materials are defined using file
cards. Mandatory input.
- file_type <file_type>
- <file_type >
- 1 : multiple materials in one file, possibly more than one file per
file
card. Firstfile
card defines unrodded materials, second 1st control rod part materials, third 2nd control rod part materials etc. If more than one file given perfile
card, the materials in second file are numbered as follows: If there are less than 10 materials in the first file, the first material in the second file is number 11, and the second material in the second file is number 12 and so on. The materials in the third file will be numbered 21, 22, and so on. If there are less than 100 materials in the first file, the first material in the second file is number 101, and the second material in the second file is number 102 and so on. The materials in the third file will be numbered 201, 202, and so on.
- 1 : multiple materials in one file, possibly more than one file per
- <file_type >
xs_type
Specify which state variables are given in the files given by file
cards and how the files are structured. Mandatory input. Note that this input is not checked against the variable list given in the NEMTAB file comments.
- xs_type <xs_type>
- <xs_type>
- 1 : "T Fuel, T Mod, Rho Mod, Boron", fitting table at the beginning of each group constant, not compatible with burnup, only two energy groups, group 1 assumed first, after scattering 1->2 group 2 assumed.
- 2 : "T Fuel, Rho Mod, Boron, T Mod", otherwise as <xs_type> = 1.
- <xs_type>
num_group
Specify how many energy groups are used in file
cards. Mandatory input.
- num_group <num_group>
- <num_group > : number of energy groups
num_prec_group
Specify how many delayed neutron precursor groups are used in file
cards. Mandatory input.
- num_prec_group <num_prec_group>
- <num_prec_group> : number of precursor groups
file
Specify group constant data files. If <file_type> = 1, first occurrence of file card specifies unrodded group constants, the second the 1st control rodded group constants and so on.
- file <file1> [ <file2> ... ]
- <filen> : path to the group constant data file n. With increasing n, the prefix of material numbers increases, see
file_type
card.
- <filen> : path to the group constant data file n. With increasing n, the prefix of material numbers increases, see
Simple
A simple group constant file format to be used for example for numerical neutronics benchmarks. The input syntax is similar with the main input file syntax.
Main blocks
simple
material
end
groups
precursors
radialdfs
axialdfs
absorption
nufission
kappafission
totalfissionspectrum
diffusioncoefficient
transport
radialdiscontinuityfactor
axialdiscontinuityfactor
inversevelocity
delayedneutronfraction
precursordecayconstant
nu
kappa
kappamev
fission
velocity
scattering
removal
is_void
ppr_num_pin
ppr_x
ppr_y
ppr_width_x
ppr_width_y
ppr_form_function
is_df_quarter