- blockThe blocks where radial power factor should be computed.
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The blocks where radial power factor should be computed.
- densityThe initial fuel density.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The initial fuel density.
Burnup Action System
Creates the set of auxvariable, auxkernels, and BurnupFunction required to collect the radial average burnup and heavy metal isotope concentrations as calculated by the BurnupFunction.
Description
The Burnup action system computes fission rate and burnup for LWR fuel including the radial power factor. Use the Burnup action to create a secondary burnup-specific integration grid on the fuel and the associated required auxvariables and auxkernels, including burnup and fission_rate.
This action is only intended for use with LWR fuel and is not appropriate for use when modeling and analyzing other fuel configurations.
The radial power factor calculation is performed on a secondary numerical grid, created internally by BISON. Once the fission rate, burnup, and other quantities are computed on this secondary grid, they are mapped back to the finite element mesh.
Constructed Objects
Table 1: Correspondence Among Action Functionality and Moose/BISON Objects for the Burnup Action
| Functionality | Replaced Classes | Associated Parameters |
|---|---|---|
| Calculate radial distributions of power density, burnup, and heavy metal concentrations | BurnupFunction | fuel_inner_radius and fuel_outer_radius: values of the fuel radial dimensions |
a_lower and a_upper: values of the fuel axial dimensions | ||
num_radial: integer of the number of burnup-specific grid divisions in the radial direction | ||
num_axial : integer of the number of burnup-specific grid divisions in the axial direction | ||
rod_ave_lin_pow: a string containing the name of the average rod linear power function | ||
| Retrieve and store the radial profiles of burnup and fission rate | BurnupGrid and AuxVariables | burnup: string containing the name of the burnup auxvariable (created by default) |
fission_rate: string cof the name of the fission rate auxvariable (created by default) | ||
average_burnup: string containing the name of the average burnup auxvariable | ||
| Retrieve and store the radial profiles of heavy metal concentration (optional) | BurnupGrid and AuxVariables | N235, N236, N238, N240, N241, N242: string containing the name of the heavy metal ion of interest |
Example Input Syntax
An example of the Burnup action block is given below, where the burnup and fission_rate auxvariables are created by default
[Burnup<<<{"href": "index.html"}>>>]
[burnup1]
block<<<{"description": "The blocks where radial power factor should be computed."}>>> = 1
base_name<<<{"description": "Base name for the AuxVariables."}>>> = action_block1
rod_ave_lin_pow<<<{"description": "Rod average linear power function."}>>> = power_profile
axial_power_profile<<<{"description": "Axial power peaking function."}>>> = axial_peaking_factors
num_radial<<<{"description": "Number of radial divisions in secondary grid used to compute radial power profile."}>>> = 80
num_axial<<<{"description": "Number of axial divisions in secondary grid used to compute radial power profile."}>>> = 20
a_upper<<<{"description": "The upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified."}>>> = 0.01
a_lower<<<{"description": "The lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified."}>>> = 0.0
fuel_inner_radius<<<{"description": "The inner radius of the fuel."}>>> = 0.0
fuel_outer_radius<<<{"description": "The outer radius of the fuel."}>>> = 0.01
fuel_volume_ratio<<<{"description": "Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume."}>>> = 1.0
[]
[](test/tests/burnup_action/burnup_with_actions.i)Replaced by the Action
The Burnup action replaces five different sets of blocks in the input file, as described in Table 1 and shown below.
Note that the burnup1 action block in the previous example and the burnup1 block for the BurnupFunction are very similar: the only differences are the type, base_name, and block parameters.
[Functions<<<{"href": "../Functions/index.html"}>>>]
[burnup1]
type = BurnupFunction<<<{"description": "Computes burnup and radial power factor. Built by an Action.", "href": "../../source/functions/BurnupFunction.html"}>>>
rod_ave_lin_pow<<<{"description": "Rod average linear power function."}>>> = power_profile
axial_power_profile<<<{"description": "Axial power peaking function."}>>> = axial_peaking_factors
num_radial<<<{"description": "Number of radial divisions in secondary grid used to compute radial power profile."}>>> = 80
num_axial<<<{"description": "Number of axial divisions in secondary grid used to compute radial power profile."}>>> = 20
a_upper<<<{"description": "The upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified."}>>> = 0.01
a_lower<<<{"description": "The lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified."}>>> = 0.0
fuel_inner_radius<<<{"description": "The inner radius of the fuel."}>>> = 0.0
fuel_outer_radius<<<{"description": "The outer radius of the fuel."}>>> = 0.01
fuel_volume_ratio<<<{"description": "Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume."}>>> = 1.0
[]
[](test/tests/burnup_action/burnup_without_actions.i)Since the Burnup action system automatically creates two auxvariables, the example input file without actions includes two pairs of BurnupGrid and AuxVariables blocks.
The first pair of blocks, used to create the fission_rate auxvariable, is:
[AuxKernels<<<{"href": "../AuxKernels/index.html"}>>>]
[BurnupGrid1]
type = BurnupGrid<<<{"description": "Retrieves burnup, fission_rate, concentrations, etc. from the grid used in BurnupFunction. Built by an Action.", "href": "../../source/auxkernels/BurnupGrid.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 1
execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
burnup_function<<<{"description": "The BurnupFunction name."}>>> = burnup1
variable<<<{"description": "The name of the variable that this object applies to"}>>> = fission_rate_1
fission_rate<<<{"description": "The fission_rate aux variable."}>>> = fission_rate_1
[]
[](test/tests/burnup_action/burnup_without_actions.i)[AuxVariables<<<{"href": "../AuxVariables/index.html"}>>>]
[fission_rate_1]
block = 1
[]
[](test/tests/burnup_action/burnup_without_actions.i)And the blocks required to create the burnup auxvariable are:
[AuxKernels<<<{"href": "../AuxKernels/index.html"}>>>]
[BurnupGrid3]
type = BurnupGrid<<<{"description": "Retrieves burnup, fission_rate, concentrations, etc. from the grid used in BurnupFunction. Built by an Action.", "href": "../../source/auxkernels/BurnupGrid.html"}>>>
block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 1
execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
burnup_function<<<{"description": "The BurnupFunction name."}>>> = burnup1
variable<<<{"description": "The name of the variable that this object applies to"}>>> = burnup_1
burnup<<<{"description": "The burnup aux variable."}>>> = burnup_1
[]
[](test/tests/burnup_action/burnup_without_actions.i)[AuxVariables<<<{"href": "../AuxVariables/index.html"}>>>]
[burnup_1]
block = 1
[]
[](test/tests/burnup_action/burnup_without_actions.i)Input Parameters
- N155Specifies that the concentration of 155 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 155 is required.
- N157Specifies that the concentration of 157 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 157 is required.
- N235Specifies that the concentration of 235 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 235 is required.
- N236Specifies that the concentration of 236 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 236 is required.
- N238Specifies that the concentration of 238 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 238 is required.
- N239Specifies that the concentration of 239 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 239 is required.
- N240Specifies that the concentration of 240 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 240 is required.
- N241Specifies that the concentration of 241 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 241 is required.
- N242Specifies that the concentration of 242 is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the concentration of 242 is required.
- RPFSpecifies that the radial power factor is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the radial power factor is required.
- a_lowerThe lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
- a_upperThe upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- average_burnupSpecifies that the radial average burnup is required.
C++ Type:std::string
Controllable:No
Description:Specifies that the radial average burnup is required.
- axial_directionyCoordinate axis of the axial direction of the fuel stack (x, y, or z)
Default:y
C++ Type:MooseEnum
Controllable:No
Description:Coordinate axis of the axial direction of the fuel stack (x, y, or z)
- axial_power_profile Axial power peaking function.
Default:
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:Axial power peaking function.
- base_nameBase name for the AuxVariables.
C++ Type:std::string
Controllable:No
Description:Base name for the AuxVariables.
- bias1Bias for radial point spacing. Must be between 0.5 and 2.0
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Bias for radial point spacing. Must be between 0.5 and 2.0
- energy_per_fission3.28451e-11The energy released per fission in J/fission.
Default:3.28451e-11
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The energy released per fission in J/fission.
- familyMONOMIALSpecifies the family of FE shape functions to use for this variable.
Default:MONOMIAL
C++ Type:MooseEnum
Controllable:No
Description:Specifies the family of FE shape functions to use for this variable.
- fuel_inner_radius0The inner radius of the fuel.
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The inner radius of the fuel.
- fuel_outer_radius0.0041The outer radius of the fuel.
Default:0.0041
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The outer radius of the fuel.
- fuel_pin_geometryName of the UserObject that reads the pin geometry from the mesh.
C++ Type:UserObjectName
Controllable:No
Description:Name of the UserObject that reads the pin geometry from the mesh.
- fuel_typeUO2Fuel type. Choices are UO2 U3Si2
Default:UO2
C++ Type:MooseEnum
Controllable:No
Description:Fuel type. Choices are UO2 U3Si2
- fuel_volume_ratioReduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume.
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- initial_burnup0Initial burnup to be applied in units of MWd/kgU
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial burnup to be applied in units of MWd/kgU
- isotope_fractions0.05 0.95 The isotope fractions associated with the 'isotopes' input line. Must sum to 1.0.
Default:0.05 0.95
C++ Type:std::vector<std::vector<double>>
Unit:(no unit assumed)
Controllable:No
Description:The isotope fractions associated with the 'isotopes' input line. Must sum to 1.0.
- isotopesU235 U238 Fuel isotopes: Gd155 Gd157 U235 U238 Pu239 Pu240 Pu241 Pu242. Number of entries must match number of entries in isotope_fractions.
Default:U235 U238
C++ Type:std::vector<MultiMooseEnum>
Controllable:No
Description:Fuel isotopes: Gd155 Gd157 U235 U238 Pu239 Pu240 Pu241 Pu242. Number of entries must match number of entries in isotope_fractions.
- num_axial20Number of axial divisions in secondary grid used to compute radial power profile.
Default:20
C++ Type:unsigned int
Controllable:No
Description:Number of axial divisions in secondary grid used to compute radial power profile.
- num_radial80Number of radial divisions in secondary grid used to compute radial power profile.
Default:80
C++ Type:unsigned int
Controllable:No
Description:Number of radial divisions in secondary grid used to compute radial power profile.
- number_of_columnsNumber of columns (for an array of BurnupFunctions).
C++ Type:unsigned int
Controllable:No
Description:Number of columns (for an array of BurnupFunctions).
- number_of_rowsNumber of rows (for an array of BurnupFunctions).
C++ Type:unsigned int
Controllable:No
Description:Number of rows (for an array of BurnupFunctions).
- offset0 0 0Translation, if any, of the rod centerline. For example, '0.1,0.2,0' for a rod with a centerline along the z axis that is 0.1 m in the x direction and 0.2 m in the y direction from the origin.
Default:0 0 0
C++ Type:libMesh::Point
Controllable:No
Description:Translation, if any, of the rod centerline. For example, '0.1,0.2,0' for a rod with a centerline along the z axis that is 0.1 m in the x direction and 0.2 m in the y direction from the origin.
- orderCONSTANTSpecifies the order of the FE shape function to use for this variable.
Default:CONSTANT
C++ Type:MooseEnum
Controllable:No
Description:Specifies the order of the FE shape function to use for this variable.
- pitchPitch between rods (for an array of BurnupFunctions).
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Pitch between rods (for an array of BurnupFunctions).
- rod_ave_lin_pow Rod average linear power function.
Default:
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:Rod average linear power function.
- rpf_activeTrueFlag for turning calculation of radial power factor on.
Default:True
C++ Type:bool
Controllable:No
Description:Flag for turning calculation of radial power factor on.
- rpf_inputThe radial power profile function. Used to specify the rpf from input
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:The radial power profile function. Used to specify the rpf from input
- value1Default/scaling value.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Default/scaling value.
Optional Parameters
- built_by_action
C++ Type:std::string
Controllable:No
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
- fuel_molar_massThe molar mass of the entire fuel
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The molar mass of the entire fuel
- heavy_metal_molar_massThe molar mass of the heavy metal
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The molar mass of the heavy metal
Advanced Parameters
Associated Actions
Available Actions
- Bison App
- BurnupActionCreates the set of auxvariable, auxkernels, and BurnupFunction required to collect the radial average burnup and heavy metal isotope concentrations as calculated by the BurnupFunction.