UPuZr Volumetric Swelling Eigenstrain

Calculates 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): (1) 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: (2) 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: (3)

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: (4) 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 (5) 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): (6) 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: (7)

Example Input Syntax


[./swelling]
  type = UPuZrVolumetricSwellingEigenstrain
  temp = temp
  burnup = 0
  fission_rate = fission_rate
  hydrostatic_stress = hydrostatic_stress
  eigenstrain_name = 'swelling'
  solid_swelling_scale_factor = 0
  initial_porosity = 0.1
  outputs = all
  output_properties = 'porosity gaseous_porosity'
[../]
(test/tests/tensor_mechanics/upuzr_eigenstrains/upuzr_vswelling/fission_gas.i)

The eigenstrain_name parameter value must also be set for the strain calculator, and an example parameter setting is shown below:


[./fuel_strain]
  type = ComputeFiniteStrain
  eigenstrain_names = 'swelling'
[../]
(test/tests/tensor_mechanics/upuzr_eigenstrains/upuzr_vswelling/fission_gas.i)

Input Parameters

  • tempCoupled temperature variable

    C++ Type:std::vector

    Description:Coupled temperature variable

  • 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

    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.

Required Parameters

  • max_porosity0.25Porosity at which fission gas release finishes

    Default:0.25

    C++ Type:double

    Description:Porosity at which fission gas release finishes

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

    Default:True

    C++ Type:bool

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

  • fission_rateCoupled fission rate variable

    C++ Type:std::vector

    Description:Coupled fission rate variable

  • 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

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

  • use_material_fission_rateFalseFlag to use the material 'fission_rate_material' instead of variable fission rate

    Default:False

    C++ Type:bool

    Description:Flag to use the material 'fission_rate_material' instead of variable fission rate

  • initial_porosity0Initial or fabrication porosity

    Default:0

    C++ Type:double

    Description:Initial or fabrication porosity

  • use_material_burnupFalseFlag to use the material 'burnup_material' instead of variable burnup

    Default:False

    C++ Type:bool

    Description:Flag to use the material 'burnup_material' instead of variable burnup

  • hydrostatic_stressCoupled hydrostatic stress variable

    C++ Type:std::vector

    Description:Coupled hydrostatic stress variable

  • blockThe list of block ids (SubdomainID) that this object will be applied

    C++ Type:std::vector

    Description:The list of block ids (SubdomainID) that this object will be applied

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

    Default:True

    C++ Type:bool

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

  • boundaryThe list of boundary IDs from the mesh where this boundary condition applies

    C++ Type:std::vector

    Description:The list of boundary IDs from the mesh where this boundary condition applies

  • fission_rate_materialfission_rate_materialFission rate material property name

    Default:fission_rate_material

    C++ Type:MaterialPropertyName

    Description:Fission rate material property name

  • min_porosity0.23Porosity at which fission gas release starts

    Default:0.23

    C++ Type:double

    Description:Porosity at which fission gas release starts

  • burnupCoupled Burnup variable

    C++ Type:std::vector

    Description:Coupled Burnup variable

  • burnup_materialburnup_materialBurnup material property name

    Default:burnup_material

    C++ Type:MaterialPropertyName

    Description:Burnup material property name

Optional Parameters

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Description:Set the enabled status of the MooseObject.

  • 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

    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.

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

  • seed0The seed for the master random number generator

    Default:0

    C++ Type:unsigned int

    Description:The seed for the master random number generator

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

    Default:True

    C++ Type:bool

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

  • 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 computeSubdomainProperties() 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

    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 computeSubdomainProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped

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

    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

    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

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

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

    Default:none

    C++ Type:std::vector

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

Outputs 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:283–293, 2010.[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, June 2009.[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]