# Burnup Action System

Computes the radial distributions of power density, burnup, and concentrations of various heavy metal isotopes in UO2 and U3Si2 fuels for LWRs

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

warning: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 fisson rateBurnupGrid and AuxVariablesburnup: string containing the name of the burnup auxvariable (created by default)
fisson_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

[./burnup1]
block = 1
base_name = action_block1
rod_ave_lin_pow = power_profile
axial_power_profile = axial_peaking_factors
num_axial = 20
a_upper = 0.01
a_lower = 0.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.


[./burnup1]
type = BurnupFunction
rod_ave_lin_pow = power_profile
axial_power_profile = axial_peaking_factors
num_axial = 20
a_upper = 0.01
a_lower = 0.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:

[./BurnupGrid1]
type = BurnupGrid
block = 1
execute_on = 'initial linear'
burnup_function = burnup1
variable = fission_rate_1
fission_rate = fission_rate_1
[../]
(test/tests/burnup_action/burnup_without_actions.i)
[./fission_rate_1]
block = 1
[../]
(test/tests/burnup_action/burnup_without_actions.i)

And the blocks required to create the burnup auxvariable are:


[./BurnupGrid3]
type = BurnupGrid
block = 1
execute_on = 'initial linear'
burnup_function = burnup1
variable = burnup_1
burnup = burnup_1
[../]
(test/tests/burnup_action/burnup_without_actions.i)

[./burnup_1]
block = 1
[../]
(test/tests/burnup_action/burnup_without_actions.i)

## Input Parameters

• densityThe initial fuel density.

C++ Type:double

Description:The initial fuel density.

### Required Parameters

• fuel_volume_ratio1Reduction factor for deviation from right circular cylinder fuel. The ratio of actual volume to right circular cylinder volume.

Default:1

C++ Type:double

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

Description:If specified blocks matching these identifiers will be skipped.

• isObjectActionTrueIndicates that this is a MooseObjectAction.

Default:True

C++ Type:bool

Description:Indicates that this is a MooseObjectAction.

• energy_per_fission3.28451e-11The energy released per fission in J/fission.

Default:3.28451e-11

C++ Type:double

Description:The energy released per fission in J/fission.

• i_enrich0.05 0.95 0 0 0 0 The initial enrichments for U-235, U-238, Pu-239, Pu-240, Pu-241, Pu-242.

Default:0.05 0.95 0 0 0 0

C++ Type:std::vector

Description:The initial enrichments for U-235, U-238, Pu-239, Pu-240, Pu-241, Pu-242.

• a_lowerThe lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.

C++ Type:double

Description:The lower axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.

• fuel_inner_radius0The inner radius of the fuel.

Default:0

C++ Type:double

Description:The inner radius of the fuel.

• rpf_activeTrueFlag for turning calculation of radial power factor on.

Default:True

C++ Type:bool

Description:Flag for turning calculation of radial power factor on.

• rod_ave_lin_powRod average linear power function.

C++ Type:FunctionName

Description:Rod average linear power function.

• fuel_typeUO2Fuel type. Choices are UO2 U3Si2

Default:UO2

C++ Type:MooseEnum

Description:Fuel type. Choices are UO2 U3Si2

• rpf_inputThe radial power profile function. Used to specify the rpf from input

C++ Type:FunctionName

Description:The radial power profile function. Used to specify the rpf from input

• a_upperThe upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.

C++ Type:double

Description:The upper axial coordinate of the fuel stack. Required if fuel_pin_geometry is not specified.

• axial_power_profileAxial power peaking function.

C++ Type:FunctionName

Description:Axial power peaking function.

• num_axial20Number of axial divisions in secondary grid used to compute radial power profile.

Default:20

C++ Type:unsigned int

Description:Number of axial divisions in secondary grid used to compute radial power profile.

• initial_burnup0Initial burnup to be applied in units of MWd/kgU

Default:0

C++ Type:double

Description:Initial burnup to be applied in units of MWd/kgU

• active__all__ If specified only the blocks named will be visited and made active

Default:__all__

C++ Type:std::vector

Description:If specified only the blocks named will be visited and made active

• fuel_outer_radius0.0041The outer radius of the fuel.

Default:0.0041

C++ Type:double

Description:The outer radius of the fuel.

• value1Default/scaling value.

Default:1

C++ Type:double

Description:Default/scaling value.

• fuel_pin_geometryName of the UserObject that reads the pin geometry from the mesh.

C++ Type:UserObjectName

Description:Name of the UserObject that reads the pin geometry from the mesh.

• bias1Bias for radial point spacing. Must be between 0.5 and 2.0

Default:1

C++ Type:double

Description:Bias for radial point spacing. Must be between 0.5 and 2.0

• num_radial80Number of radial divisions in secondary grid used to compute radial power profile.

Default:80

C++ Type:unsigned int

Description:Number of radial divisions in secondary grid used to compute radial power profile.

• axial_axis1Coordinate axis of the axial direction of the fuel stack (0, 1, or 2 for x, y, or z

Default:1

C++ Type:unsigned int

Description:Coordinate axis of the axial direction of the fuel stack (0, 1, or 2 for x, y, or z

### Optional Parameters

• control_tagsAdds user-defined labels for accessing object parameters via control logic.

C++ Type:std::vector

Description:Adds user-defined labels for accessing object parameters via control logic.

• heavy_metal_molar_massThe molar mass of the heavy metal

C++ Type:double

Description:The molar mass of the heavy metal

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Description:Set the enabled status of the MooseObject.

• fuel_molar_massThe molar mass of the entire fuel

C++ Type:double

Description:The molar mass of the entire fuel

• built_by_action

C++ Type:std::string