UPuZrVolumetricSwellingEigenstrainLM

Computes and sums the change in fuel pellet volume due to solid and gaseous (adopted LIFE-METAL model) fission product buildup in UPuZr.

Description

This model, UPuZrVolumetricSwellingEigenstrainLM, computes a volumetric strain to account for solid and gaseous swelling in U-Pu-Zr metal fuel systems. The solid swelling and gaseous swelling are optionally saved as a material property, named solid_swelling and gas_swelling, respectively. The gas_swelling can be further categorized into the swelling strain contributed by van der Waals volume of the the gas atoms (gas_swelling_vdw) and the swelling strain contributed by ideal gas (gas_swelling_ideal). Also, porosity (as-fabricated + gas swelling porosity) is available as a material property. This swelling model was originally developed for the LIFE-METAL fuel performance code by Argonne National Laboratory for the IFR program (Yacout and Billone, 2015). The original model was modified with more optional features and implemented into the BISON code by Argonne National Laboratory (an implementation report will be cited in a future version).

Gaseous Swelling

The gas swelling strain calculation is based on the amount of fission gas atoms () retained in the UPuZr fuel (fis_gas_ret), which is calculated by material property module FgrUPuZrLM. Therefore, the two modules must be used together.

The gaseous swelling in this model is divided into two components: (1)gas_swelling_vdw accounts for the swelling due to the van der Waals volume of the fission gas atoms, which is not compressible (i.e. independent to hydrostatic stress); (2) gas_swelling_ideal accounts for the swelling governed by ideal gas equation of state.

Van der Waals Swelling

The van der Waals swelling () is proportional to the retained gas atoms (, ): (1) where, is the van der Waals volume of a mole of fission gas atoms ().

Ideal Gas Swelling

For the ideal gas swelling (), the fission gas bubble density (, ) is calculated as a function of temperature: (2) where, () is a pre-exponential coefficient, while is an empirical constant in a nominal form of activation energy (). To prevent extraneous high bubble density at low temperatures. A maximum bubble density (bub_den_max) can be set up to provide an upper limit for this quantity.

According to ideal gas equation of state, the ideal swelling strain () at equilibrium can be calculated as follows: (3) where is the gas constant () and is the thermodynamic temperature (), and () is the sum of hydrostatic stress () and surface tension () of a equilibrium bubble: (4) And the ideal gas swelling strain () has the following expression: (5) where, is a decay factor controlled by the creep of the UPuZr alloy around the bubble. The decay factor consists of two parts: (6) Meanwhile, (7) where, , and are constants, is fission density rate (). (8) where and are constants, and has the following expression (9) the hydrostatic stress () can either be calculated by BISON's tensor mechanics model or use the plenum pressure of the fuel pin (controlled by Boolean variable use_plenum_pressure). The surface tension of an equilibrium fission gas bubble () can be calculated using the surface energy of UPuZr (, ) and the equilibrium bubble radius (, ): (10)

Controlled by Boolean variable use_preset_bubble_size, the equilibrium bubble radius () can either be a preset value (preset_bub_size), or calculated by equation of state. To calculate , the average amount of fission gas atoms () exist in a single bubble () needs to be calculated first: (11) where, is the fission gas amount retained in the fuel as defined in FgrUPuZrLM, is the number density of bubbles as mentioned above.

Knowing the amount of fission gas atoms in one bubble and the bubble density, the equilibrium of fission gas bubble is reached when the fission gas pressure is balanced with the sum of hydrostatic stress and surface tension: (12)

Thus, the equilibrium radius of a fission gas bubble is calculated by solving the following equation using Newton's method: (13)

Solid Swelling

Swelling due to solid fission products is assumed to be proportional to the burnup: (14) is a constant with a typical value from 1.2% to 1.5% per 1% atomic burnup. In this model, 1.5% is used so that this solid fission product model is consistent with the other UPuZr models (UPuZrVolumetricSwellingEigenstrain) in BISON. If the dissolution of fission products into liquid sodium is taken into consideration, 1.2% may be a better approximation.

Total Volumetric Swelling

The total volumetric swelling is the summation of contributions from gaseous and solid swelling: (15)

Anisotropic Swelling

A simplified anisotropic model based on an anisotropic factor is added to this swelling model to provide users a tool to adjust axial-to-radial swelling ratio to fit experiment observations. The volumetric swelling strain needs to be converted to logarithmic strain in three directions. If the swelling is isotropic: (16)

When the anisotropic factor is involved: (17) (18)

Example Input Syntax

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [gas_swelling]
    type = UPuZrVolumetricSwellingEigenstrainLM<<<{"description": "Computes and sums the change in fuel pellet volume due to solid and gaseous (adopted LIFE-METAL model) fission product buildup in UPuZr.", "href": "UPuZrVolumetricSwellingEigenstrainLM.html"}>>>
    temperature<<<{"description": "Coupled temperature variable (K)"}>>> = temp
    use_plenum_pressure<<<{"description": "Flag to use the plenum pressure instead of the hydrostatic pressure for better stability"}>>> = false
    use_preset_bubble_size<<<{"description": "Flag to use a preset bubble size instead realtime calculationfor better stability and speed"}>>> = true
    initial_porosity<<<{"description": "Initial or fabrication porosity"}>>> = 0.1
    outputs<<<{"description": "Vector of output names where you would like to restrict the output of variables(s) associated with this object"}>>> = all
    output_properties<<<{"description": "List of material properties, from this material, to output (outputs must also be defined to an output type)"}>>> = 'porosity gaseous_porosity gas_swelling_vdw gas_swelling_ideal gas_swelling gas_bubble_radius gas_bubble_density'
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = gas_swelling_eigenstrain
    anisotropic_factor<<<{"description": "Anisotropic swelling factor for the fuel"}>>> = 1.25
  []
[]
(test/tests/solid_mechanics/upuzr_gas_LM/preset_rad.i)

Input Parameters

  • eigenstrain_nameMaterial property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator.

    C++ Type:std::string

    Controllable:No

    Description:Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator.

  • temperatureCoupled temperature variable (K)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled temperature variable (K)

Required Parameters

  • C_125Fitting parameter

    Default:25

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fitting parameter

  • C_28.5882e-31Thermal creep fitting factor

    Default:8.5882e-31

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Thermal creep fitting factor

  • C_310Fitting parameter

    Default:10

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Fitting parameter

  • C_67.65478e-35Radiation creep fitting factor

    Default:7.65478e-35

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Radiation creep fitting factor

  • Q_2217568Creep activation energy

    Default:217568

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Creep activation energy

  • Q_bd257734Bubble density formular activation energy

    Default:257734

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Bubble density formular activation energy

  • R8.314Gas constant

    Default:8.314

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Gas constant

  • anisotropic_factor1Anisotropic swelling factor for the fuel

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Anisotropic swelling factor for the fuel

  • b_v3.387e-05Van der Waals volume

    Default:3.387e-05

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Van der Waals volume

  • base_nameOptional parameter that allows the user to define multiple mechanics material systems on the same block, i.e. for multiple phases

    C++ Type:std::string

    Controllable:No

    Description:Optional parameter that allows the user to define multiple mechanics material systems on the same block, i.e. for multiple phases

  • blockThe list of blocks (ids or names) that this object will be applied

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

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • boundaryThe list of boundaries (ids or names) from the mesh where this object applies

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

    Controllable:No

    Description:The list of boundaries (ids or names) from the mesh where this object applies

  • bub_den_coeff10Bubble density formular coefficient

    Default:10

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Bubble density formular coefficient

  • bub_den_max5e+16maximum bubble density

    Default:5e+16

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:maximum bubble density

  • bub_size_residual_thres1e-12Convergence criteria threshold for buble size calculation use Newton's method

    Default:1e-12

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Convergence criteria threshold for buble size calculation use Newton's method

  • burnupburnupburnup material property name

    Default:burnup

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:burnup material property name

  • computeTrueWhen false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:When false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.

  • constant_onNONEWhen ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped

    Default:NONE

    C++ Type:MooseEnum

    Options:NONE, ELEMENT, SUBDOMAIN

    Controllable:No

    Description:When ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped

  • declare_suffixAn optional suffix parameter that can be appended to any declared 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 declared properties. The suffix will be prepended with a '_' character.

  • fis_gas_retfis_gas_retretained fission gas material property name

    Default:fis_gas_ret

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:retained fission gas material property name

  • fission_ratefission_rateFission rate material property name

    Default:fission_rate

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:Fission rate material property name

  • gm0.8Surface tension of UPuZr

    Default:0.8

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Surface tension of UPuZr

  • hydrostatic_stressCoupled hydrostatic stress variable

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled hydrostatic stress variable

  • initial_porosity0Initial or fabrication porosity

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Initial or fabrication porosity

  • k_14.5Thermal creep exponent for porosity

    Default:4.5

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Thermal creep exponent for porosity

  • plenum_pressureplenum_pressureplenum pressure used as hydrostatic pressure

    Default:plenum_pressure

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:plenum pressure used as hydrostatic pressure

  • preset_bub_size2.5e-06preset bubble radius

    Default:2.5e-06

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:preset bubble radius

  • use_plenum_pressureTrueFlag to use the plenum pressure instead of the hydrostatic pressure for better stability

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Flag to use the plenum pressure instead of the hydrostatic pressure for better stability

  • use_preset_bubble_sizeTrueFlag to use a preset bubble size instead realtime calculationfor better stability and speed

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Flag to use a preset bubble size instead realtime calculationfor better stability and speed

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

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:The seed for the master random number generator

  • 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

  • gas_swelling_scale_factor1Scale factor to be applied to the gaseous swelling strain. Used for calibration and sensitivity studies

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scale factor to be applied to the gaseous swelling strain. Used for calibration and sensitivity studies

  • solid_swelling_scale_factor1Scale factor to be applied to the solid swelling strain. Used for calibration and sensitivity studies

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scale factor to be applied to the solid swelling strain. Used for calibration and sensitivity studies

Advanced: Scaling Factors Parameters

  • output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)

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

    Controllable:No

    Description:List of material properties, from this material, to output (outputs must also be defined to an output type)

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

    Default:none

    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

Outputs 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. AM Yacout and MC Billone. Current status of the life fast reactors fuel performance codes. In Fast Reactors and Related Fuel Cycles: Safe Technologies and Sustainable Scenarios (FR13). COMPANION CD-ROM. Proceedings of an International Conference. 2015.[BibTeX]