UPuZrVolumetricSwellingEigenstrain

Computes and sums the change in fuel pellet volume due to solid and gaseous fission product buildup in UPuZr.

Description

This model, UPuZrVolumetricSwellingEigenstrain, 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. Also, porosity (as-fabricated + gas swelling porosity) is available as a material property.

Gaseous Swelling

The derivation for the mechanistic fuel swelling model for U-Pu-Zr systems used here was originally presented in Medvedev (2012). First, it is assumed that the fission gas generated in the fuel instantly forms fission gas bubbles having a diameter of 5 m. The mechanical force balance on an equilibrium bubble can be expressed as follows (Barnes, 1964): where is the pressure of the fission gas in a bubble, is the surface tension of the fuel, is the fission gas bubble size, is the hydrostatic stress in the fuel, and is the creep strength stress of the fuel. The gas pressure in the bubble is governed by the ideal gas law: where , , , , , are the pressure, volume, amount, universal gas constant, and temperature of the fission gas, respectively. By rearranging the ideal gas law to calculate the volume of the fission gas and substituting the mechanical force balance equation, the following is obtained for the volume of the fission gas:

Substituting r = 0.5 m, = 0.8 N/m (Karahan, 2009), and = 6.9 10 Pa, from Churchman et al. (1958) for pure U, the fuel swelling due to fission gas is obtained: (1) where is the temperature in Kelvin, is in fission/m, and is in Pa. The porosity of metal fuel, also calculated in VSwellingUPuZr, is obtained from Medvedev (2012) and is given by where is the current volume and is the orginal volume.

Solid Swelling

Swelling due to solid fission products is assumed to be 1.5% per 1% burnup as suggested by Ogata and Yokoo (1999): (2) where is the fission rate density in fissions/m, is the current volume, and is the original volume.

Total Isotropic Volumetric Swelling

Following Karahan and Buongiorno (2010), the total volumetric swelling is the summation of contributions from gaseous and solid swelling:

Example Input Syntax

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [swelling]
    type = UPuZrVolumetricSwellingEigenstrain<<<{"description": "Computes and sums the change in fuel pellet volume due to solid and gaseous fission product buildup in UPuZr.", "href": "UPuZrVolumetricSwellingEigenstrain.html"}>>>
    temperature<<<{"description": "Coupled temperature variable"}>>> = temp
    hydrostatic_stress<<<{"description": "Coupled hydrostatic stress variable"}>>> = hydrostatic_stress
    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."}>>> = 'swelling'
    solid_swelling_scale_factor<<<{"description": "Scale factor to be applied to the solid swelling strain. Used for calibration and sensitivity studies"}>>> = 0
    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'
  []
[]
(test/tests/solid_mechanics/upuzr_eigenstrains/upuzr_vswelling/fission_gas.i)

Note, the eigenstrain_name parameter value must also be set for the strain calculator.

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

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled temperature variable

Required Parameters

  • 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

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

  • 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

  • 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

  • max_porosity0.25Porosity at which fission gas release finishes

    Default:0.25

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Porosity at which fission gas release finishes

  • min_porosity0.23Porosity at which fission gas release starts

    Default:0.23

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Porosity at which fission gas release starts

  • use_old_hydrostatic_stressTrueFlag to use the hydrostatic stress calculated at the previous timestep instead of the current value

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Flag to use the hydrostatic stress calculated at the previous timestep instead of the current value

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. R. S. Barnes. A Theory of Swelling and Gas Release for Reactor Materials. Journal of Nuclear Materials, 11:135–148, 1964.[BibTeX]
  2. A. T. Churchman, R. S. Barnes, and A. H. Cottrell. Effects of Heat and Pressure on the Swelling of Irradiated Uranium. Nuclear Energy, 7:88–96, 1958.[BibTeX]
  3. A. Karahan and J. Buongiorno. A new code for predicting the thermo-mechanical and irradiation behavior of metallic fuels in sodium fast reactors. Journal of Nuclear Materials, 396(2):283–293, 2010. doi:10.1016/j.jnucmat.2009.11.022.[BibTeX]
  4. Aydin Karahan. Modeling of thermo-mechanical and irradiation behavior of metallic and oxide fuels for sodium fast reactors. PhD thesis, Massachusetts Institute of Technology, Jun 2009. URL: https://tinyurl.com/y72vqvbn.[BibTeX]
  5. Pavel Medvedev. Fuel performance modeling results for representative FCRD irradiation experiments: projected deformation in the annular AFC-3A U-10Zr fuel pins and comparison to alternative designs. Technical Report INL/EXT-12-27183 Revision 1, Idaho National Laboratory, 2012.[BibTeX]
  6. T. Ogata and T. Yokoo. Devlopment and Validation of ALFUS: An Irradiation Behavior Analysis Code for Metallic Fast Reactor Fuels. Journal of Nuclear Technology, 128(1):113–123, 1999.[BibTeX]