IFBAHeProduction

Computes the helium gas production as a result of an IFBA layer applied to the surface of a fuel rod.

Description

IFBAHeProduction computes the Helium gas production as a result of an IFBA layer applied to the surface of a fuel rod.

An integral fuel burnable absorber (IFBA) is used for optimizing fuel assembly reactivity and power distribution in a core. The IFBA is usually applied as a thin layer of ZrB over some length of a fuel rod. The boron-10 isotope in the IFBA material absorbs a neutron and results in a lithium and helium atom according to the following reaction: (1)

In addition, the IFBA layer is depleted very quickly and is typically used up in the first 3 percent of burnup or 18 months of exposure.

Helium Production

Since the IFBA layer is normally on the order of a few microns thick, the helium atoms generated are assumed to be released immediately into the plenum.

Two models for the helium gas production (i.e., boron-10 depletion) have been implemented in BISON. The first model uses an equation based on burnup (Lee et al., 2012) and the second is the model used in FRAPCON (K. J. Geelhood et al., 2015).

Burnup Based Model

This burnup based equation for boron-10 depletion was generated using a DeCART depletion calculation (Lee et al., 2012) for boron in an IFBA rod. The effects of boron concentration and U-235 enrichment were studied. In addition, an improved approximation for the time dependency of U-235 number density decrease and fissile plutonium production resulted in the following relationship for the number density of boron-10: (2) where is the boron-10 number density at time , is the initial boron-10 number density, is the U-235 enrichment, and is the burnup. The values of the parameters are given in Table 1.

Table 1: Parameters for the Evolution of Boron-10 Density with Burnup, Eq. (2) (Lee et al., 2012)

Parameter
Value1.59389-0.007730.01051

FRAPCON Model

In FRAPCON the helium production rate is derived using an MCNP calculation for boron depletion. The empirical fit to this calculation is (3) where is the helium production rate (number of atoms/cm-s), is the percent of IFBA rods in a reactor core (this value is limited to the range of 10 percent to 50 percent), and is the Boron-10 enrichment (percent) (restricted to 0 to 90 percent). The values of the parameters are given in Table 2.

Table 2: Parameters for the Empirical Fit to the MCNP Calculation for He Production Rate, Eq. (3) (K. J. Geelhood et al., 2015)

Parameter
Value

The implementation of this empirical relationship in the FRAPCON code (K. J. Geelhood et al., 2015) uses the following form to calculate the helium production rate (4) where is the linear power in kW/ft, is the density of ZrB (g/cm), and the coefficients are given in Table 3.

Table 3: Parameters for the Numerical Implementation of the He Production Rate, Eq. (4) (K. J. Geelhood et al., 2015)

Parameter
Value

Then the boron depletion rate is a function of , given as (5)

Input Parameter Conventions

The parameters listed in Table 4 are used to calculate the initial number density of boron-10 atoms and therefore the limiting value for the moles of He gas generated by the IFBA material. Note that the units used by BISON differ from the units generally used in industry; the user must convert the input arguments to the appropriate BISON units.

Table 4: Input Parameters for IFBA Postprocessor

ParameterTypical UnitsBISON Units
ZrB Loadingmg/inkg/m
B-10 Loadingmg/inkg/m
IFBA Lengthcmm
B-10 Enrichment%fraction
ZrB Density% TDkg/m
or
ZrB Thicknessmm
Fuel Outer Radiuscmm

The model specific parameters for the two equations are listed in Table 5.

Table 5: Model Specific Input Parameters for IFBA

ModelParameterTypical UnitsBISON Units
Burnup Based Model (Eq. (2))U-235 Enrichment%fraction
FRAPCON Model (Eq. (3))IFBA Rod %%fraction

In addition, the burnup model Eq. (2) requires a postprocessor to provide the average burnup in the fuel and the FRAPCON model Eq. (3) requires a postprocessor to provide the rod average linear power.

Example Input Syntax

[Postprocessors<<<{"href": "../../syntax/Postprocessors/index.html"}>>>]
  [he_prod]
    type = IFBAHeProduction<<<{"description": "Computes the helium gas production as a result of an IFBA layer applied to the surface of a fuel rod.", "href": "IFBAHeProduction.html"}>>>
    zrb2_load<<<{"description": "Loading of ZrB2 on pellets (kg/m)"}>>> = 1.181e-4
    ifba_len<<<{"description": "Axial length of IFBA layer on pellets (m)"}>>> = 1.0e-2
    b10_enrich<<<{"description": "B-10 enrichment (fraction)"}>>> = 0.50
    zrb2_rel_dens<<<{"description": "Relative density of ZrB2 material (fraction)"}>>> = 0.7
    model<<<{"description": "He generation model: Choices are burnup or frapcon. Default is burnup."}>>> = burnup
    u235_enrich<<<{"description": "Initial U-235 enrichment (fraction)"}>>> = 0.045
    burnup<<<{"description": "The name of the postprocessor containing the rod average burnup"}>>> = average_burnup
  []
[]
(test/tests/ifba_he_production/fill_gas_xenon_w_ifba.i)

Because this input file is using the burnup model Eq. (2), the average burnup in the fuel post processor is also required. Note that the name of the average burnup postprocessor is used as the argument to the burnup input parameter in the IFBAHeProduction post processor.

[Postprocessors<<<{"href": "../../syntax/Postprocessors/index.html"}>>>]
  [average_burnup]
    type = ElementAverageValue<<<{"description": "Computes the volumetric average of a variable", "href": "ElementAverageValue.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = '3'
    variable<<<{"description": "The name of the variable that this object operates on"}>>> = burnup
  []
[]
(test/tests/ifba_he_production/fill_gas_xenon_w_ifba.i)

Input Parameters

  • b10_enrichB-10 enrichment (fraction)

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:B-10 enrichment (fraction)

  • ifba_lenAxial length of IFBA layer on pellets (m)

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Axial length of IFBA layer on pellets (m)

Required Parameters

  • b10_load-1Loading of B-10 on pellets (kg/m)

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Loading of B-10 on pellets (kg/m)

  • burnupThe name of the postprocessor containing the rod average burnup

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the postprocessor containing the rod average burnup

  • debug0Debugging output flag: 0 = no output (default), 1 = debugging output to console

    Default:0

    C++ Type:int

    Controllable:No

    Description:Debugging output flag: 0 = no output (default), 1 = debugging output to console

  • fuel_out_rad-1Fuel pellet outer radius (m)

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fuel pellet outer radius (m)

  • ifba_rod_pct-1Percentage of fuel rods containing IFBA liners (fraction)

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Percentage of fuel rods containing IFBA liners (fraction)

  • modelburnupHe generation model: Choices are burnup or frapcon. Default is burnup.

    Default:burnup

    C++ Type:MooseEnum

    Options:burnup, frapcon

    Controllable:No

    Description:He generation model: Choices are burnup or frapcon. Default is burnup.

  • rod_ave_lin_powThe power function

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:The power function

  • u235_enrich-1Initial U-235 enrichment (fraction)

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial U-235 enrichment (fraction)

  • zrb2_load-1Loading of ZrB2 on pellets (kg/m)

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Loading of ZrB2 on pellets (kg/m)

  • zrb2_rel_dens-1Relative density of ZrB2 material (fraction)

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Relative density of ZrB2 material (fraction)

  • zrb2_thick-1Thickness of ZrB2 layer on pellets (m)

    Default:-1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Thickness of ZrB2 layer on pellets (m)

Optional Parameters

  • allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

    Default:False

    C++ Type:bool

    Controllable:No

    Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).

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

    Default:TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:XFEM_MARK, NONE, INITIAL, LINEAR, NONLINEAR_CONVERGENCE, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, TRANSFER

    Controllable:No

    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.

  • execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

    Default:0

    C++ Type:int

    Controllable:No

    Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.

  • force_postauxFalseForces the UserObject to be executed in POSTAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in POSTAUX

  • force_preauxFalseForces the UserObject to be executed in PREAUX

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREAUX

  • force_preicFalseForces the UserObject to be executed in PREIC during initial setup

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Forces the UserObject to be executed in PREIC during initial setup

Execution Scheduling Parameters

  • 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:Yes

    Description:Set the enabled status of the MooseObject.

  • outputsVector of output names where you would like to restrict the output of variables(s) associated with this object

    C++ Type:std::vector<OutputName>

    Controllable:No

    Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object

  • use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.

Advanced Parameters

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

Material Property Retrieval Parameters

Input Files

References

  1. W. G. Luscher K. J. Geelhood, P. A. Raynaud, and I. E. Porter. FRAPCON-4.0: A Computer Code for the Calculation of Steady-State, Thermal-Mechanical Behavior of Oxide Fuel Rods for High Burnup. Technical Report PNNL-19418 Vol.1 Rev. 2, Pacific Northwest National Laboratory, 2015.[BibTeX]
  2. C. Lee, K.H. Lee, J.Y. Cho, S.Y. Park, and Y.S. Yang. A study on the boron depletion in 16x16 boron mixed fuel rods. In Transactions of the Korean Nuclear Society Autumn Meeting. Gyeongju, Korea, 2012.[BibTeX]