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.

warningwarning:Intended for LWR Fuel Only

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

FunctionalityReplaced ClassesAssociated Parameters
Calculate radial distributions of power density, burnup, and heavy metal concentrationsBurnupFunctionfuel_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 rateBurnupGrid and AuxVariablesburnup: 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 AuxVariablesN235, 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

  • 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.

Required 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

    Options:x, y, z

    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

    Options:LAGRANGE, MONOMIAL, SCALAR, LAGRANGE_VEC, MONOMIAL_VEC, L2_HIERARCHIC, L2_HIERARCHIC_VEC, L2_LAGRANGE, L2_LAGRANGE_VEC, L2_RAVIART_THOMAS

    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

    Options:UO2, U3Si2

    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>

    Options:Gd155, Gd157, U235, U238, Pu239, Pu240, Pu241, Pu242

    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

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH

    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.