UO Relocation Eigenstrain

This model accounts for cracking and relocation of fuel pellet fragments in the radial direction and is necessary for accurate modeling of LWR fuel. Only one of q and q variable may be given.

Description

One way to model the effect of UO cracking on gap width is fuel relocation, as done in UO2RelocationEigenstrain. Thermal gradients in a LWR fuel pellet result in corresponding stress gradients that exceed the fuel fracture stress, causing radial cracks. The free surfaces of the crack result in a overall increase of fuel pellet diameter, and we can model this effect by applying a radial strain to the fuel pellet. This relocation strain is similar to a volumetric strain, but relocation strain acts only in the radial direction.

Three models are available to account for relocation strain, set by the argument passed to the flag 'relocation_model'. These models are the ESCORE modified model, the ESCORE legacy model, and the GAPCON model. The ESCORE modified model is the default model in UO2RelocationEigenstrain.

ESCORE modified Relocation model

The modified ESCORE model, ESCORE_modified, is based on the legacy ESCORE model, described below, yet the modified model allows for lower pellet average linear heating rate values than the limits in the legacy model. The lower average linear heating rate of 6kW/ft for the legacy ESCORE model has been observed to be much larger than the average linear heating rate expected to cause cracking in the fuel (Oguma, 1983).

The relation calculating the relocation strain is based on the relocation model from M. A. Kramman (1987), given as (1) This relocation model is a function of power, as-fabricated pellet diameter, as-fabricated gap thickness, and burnup, and the variable definitions are given in Table 1. The model is applicable between pellet average linear heating rates of 1.52 and 22 kW/ft and for burnup levels between 0 and 11,500 MWd/MTU. Mean-diameter measurements were used in the correlation development.

Table 1: Variable Definitions for the Relocation UO Models

Model ExpressionParameter Description
Effective radial strain due to relocation
As-fabricated cold diameter of the pellet (in)
Pellet average linear heating rate (kW/ft)
Pellet average fuel burnup (MWd/MTU)
As-fabricated cold diametral gap (in)
note:Diametral Gap as Fuel Pellet Geometry Parameter

The UO2RelocationEigenstrain model uses the diametral gap to determine the spacing between the fuel pellets and clad. The use of the diametral gap measure is in contrast to other Bison classes which use the radial gap measure.

(2) where q is the linear heating rate (kW/m).

Note that the pellet average linear heating rate has units of kW/ft in the empirical model. However, this quantity is passed into the model as a function with units of W/m. The conversion is handled inside the model. The default value for the relocation threshold has been changed from the 19685 W/m (6kW/ft) used in original ESCORE model (M. A. Kramman, 1987) to 5000 W/m (1.52 kW/ft) to better match experimental IFA data (Swiler et al., 2013).

The fuel relocation strain is applied incrementally by calculating the relocation strain at the burnup for the current step and subtracting the relocation strain at the previous burnup. In other applications of this model, the addition of relocation strain is stopped when the gap is closed. In Bison, the relocation strain is stopped at a specified burnup.

Legacy ESCORE Relocation model

The original ESCORE relocation model, ESCORE_legacy, applies a higher relocation strain threshold value, = 6 kW/ft and a different relation for linear heat rate in the pellet: (3) These values are used in Eq. 1. Because the 6 kW/ft relocation strain threshold associated with this formulation has been determined to be too low, this relation for is retained as a legacy option in the code.

GAPCON Relocation model

It is also possible to use the GAPCON model, GAPCON, for relocation (Lassmann and Blank, 1988). This model is given as (4) The parameters in this model have the same definitions as given in Table 1.

Example Input Syntax


[./relocation]
  type = UO2RelocationEigenstrain
  block = 1
  burnup = burnup
  diameter = 0.00254
  linear_heat_rate_function = q
  gap = 0.0000254
  burnup_relocation_stop = 1.0e12
  eigenstrain_name = relocation_eigenstrain
  relocation_activation1 = 19685.039
  relocation_model = ESCORE_legacy
[../]
(test/tests/tensor_mechanics/uo2_eigenstrains/uo2_relocation/relocation_circle_tm.i)

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


[./strain]
  type = ComputeFiniteStrain
  block = 1
  eigenstrain_names = relocation_eigenstrain
  #    volumetric_locking_correction = false
[../]
(test/tests/tensor_mechanics/uo2_eigenstrains/uo2_relocation/relocation_circle_tm.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

    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

  • diameterAs fabricated cold diameter of pellet in meters

    C++ Type:double

    Description:As fabricated cold diameter of pellet in meters

  • contact_pressureCoupled contact pressure variable

    C++ Type:std::vector

    Description:Coupled contact pressure variable

  • relocation_scaling_factor1A scaling factor for the diametrial scalar effective relocation strain

    Default:1

    C++ Type:double

    Description:A scaling factor for the diametrial scalar effective relocation strain

  • burnup_functionBurnup function

    C++ Type:FunctionName

    Description:Burnup function

  • contact_recovered_relocation_strain0.001The amount of recovered relocation strain in the hard pellet cladding contact

    Default:0.001

    C++ Type:double

    Description:The amount of recovered relocation strain in the hard pellet cladding contact

  • gap_scale_factor1scaling factor for the clad-pellet gap size

    Default:1

    C++ Type:double

    Description:scaling factor for the clad-pellet gap size

  • relocation_activation332808.4Third activation linear power in W/m term in relocation model; The linear power offset in the secondary regime.

    Default:32808.4

    C++ Type:double

    Description:Third activation linear power in W/m term in relocation model; The linear power offset in the secondary regime.

  • current_gap_sizeCoupled fuel-clad radial gap size

    C++ Type:std::vector

    Description:Coupled fuel-clad radial gap size

  • 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

  • linear_heat_rate_variableVariable holding the average linear heating rate in pellet in W/m

    C++ Type:std::vector

    Description:Variable holding the average linear heating rate in pellet in W/m

  • linear_heat_rate_functionFunction describing average linear heating rate in pellet in W/m

    C++ Type:FunctionName

    Description:Function describing average linear heating rate in pellet in W/m

  • gapAs fabricated cold diametral pellet-cladding gap in meters

    C++ Type:double

    Description:As fabricated cold diametral pellet-cladding gap in meters

  • model_relocation_recoveryFalseoption to turn on the modeling of relocation recovery

    Default:False

    C++ Type:bool

    Description:option to turn on the modeling of relocation recovery

  • relocation_modelESCORE_modifiedType of relocation model formulation.

    Default:ESCORE_modified

    C++ Type:MooseEnum

    Description:Type of relocation model formulation.

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

  • 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

  • relocation_activation15000First activation linear power in W/m term in relocation model

    Default:5000

    C++ Type:double

    Description:First activation linear power in W/m term in relocation model

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

  • relocation_activation245931.8Second activation linear power in W/m term in relocation model; The linear power at which relocation transitions from the initial regime to the secondary regime.

    Default:45931.8

    C++ Type:double

    Description:Second activation linear power in W/m term in relocation model; The linear power at which relocation transitions from the initial regime to the secondary regime.

  • burnupCoupled Burnup variable in FIMA

    C++ Type:std::vector

    Description:Coupled Burnup variable in FIMA

  • burnup_relocation_stop1e+12Burnup at which relocation strain stops (in FIMA)

    Default:1e+12

    C++ Type:double

    Description:Burnup at which relocation strain stops (in FIMA)

  • 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

  • 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

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

  • 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. K. Lassmann and H. Blank. Modelling of fuel rod behavior and recent advances of the TRANSURANUS code. Nuclear Engineering Design, 106:291–313, 1988.[BibTeX]
  2. Eds. M. A. Kramman, H. R. Freeburn. Escore–the epri steady-state core reload evaluator code: general description. Technical Report EPRI NP-5100, Electric Power Research Institute, February 1987.[BibTeX]
  3. M. Oguma. Cracking and relocation behavior of nuclear-fuel pellets during rise to power. Nuclear Engineering and Design, 76(1):35–45, 1983.[BibTeX]
  4. L. P. Swiler, R. L. Williamson, and D. M. Perez. Calibration of a fuel relocation model in BISON. In Proceedings of the International Conference on Mathematics and Computational Methods Applied to Nuclear Science and Engineering. Sun Valley, Idaho, May 5-9, 2013.[BibTeX]