# Relocation in UOvar element = document.getElementById("moose-equation-6b3797f4-b3a9-456a-97f3-28de7fb8b36b");katex.render("_2", element, {displayMode:false,throwOnError:false});

This model accounts for cracking and relocation of fuel pelletfragments in the radial direction

warning:Deprecated Solid Mechanics Material

The functionality of this solid mechanics material is being replaced in the TensorMechanics system by UO2RelocationEigenstrain.

## Description

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

One way to model the effect of UO cracking on gap width is fuel relocation. 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. This effect can be modeled by applying a radial strain to the fuel pellet. This strain is similar to a volumetric strain, but only in the radial direction.

## ESCORE Relocation Model

A method for calculating this radial strain is the ESCORE relocation model (M. A. Kramman, 1987) which is given as (1) This relocation model is a function of power, as-fabricated pellet diameter, as-fabricated gap thickness, and burnup. The model is applicable between 8 and 22 kW/ft and to burnup levels between 0 and 11,500 MWd/MTU, and mean-diameter measurements were used in the correlation development.

Table 1: Variable Definitions for the Relocation UO Models

Model ExpressionParameter Description
Diametral 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 asFuel Pellet Geometry Parameter

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

The value of the parameter in Eq. 1 depends on the value of the linear heat rate: (2) where is defined as 6 kW/ft and is defined to be 14 kW/ft. 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.

Note that the pellet average linear heating rate in Eq. 2 and Table 1 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.

## Modified ESCORE Model

It has been observed that the 6 kW/ft threshold for the initiation of relocation is well beyond the level expected to cause cracking in the fuel. For this reason, a modified ESCORE model is available in Bison: (3) when is less than and is less than 6 kW/ft.

It is also possible to use the GAPCON model for relocation (Lassmann and Blank, 1988). This model is given as (4) where is the displacement due to relocation, , is the linear heating rate (kW/m), is burnup (MWd/MTU), and is the as-fabricated cold gap.

## Example Input Syntax


[./swelling]
type = RelocationUO2
block = 1
burnup = burnup
diameter = 0.00254
q = q
gap = 0.0000254
#Put this limit in here to test it.  We'll hit it at time 1.5,
#at which point all relocation strains should stop growing.
burnup_relocation_stop = .18
[../]
(test/tests/relocation_UO2/relocation_UO2_attached_rz.i)

## Input Parameters

• diameterAs fabricated cold diameter of pellet in meters

C++ Type:double

Description:As fabricated cold diameter of pellet in meters

• gap_scalef1scaling factor for gap size

Default:1

C++ Type:double

Description:scaling factor for gap size

• recovered_relocation_strain0.001Recovered relocation strain in the hard pellet cladding contact

Default:0.001

C++ Type:double

Description:Recovered relocation strain in the hard pellet cladding contact

• relocation_scalef1scaling factor for relocation

Default:1

C++ Type:double

Description:scaling factor for relocation

• burnup_functionBurnup function

C++ Type:BurnupFunctionName

Description:Burnup function

• qFunction describing linear heat rate in pellet in W/m

C++ Type:FunctionName

Description:Function describing linear heat rate in pellet in W/m

• relocation_activation332808.4Third activation linear power in W/m term in relocation model

Default:32808.4

C++ Type:double

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

C++ Type:std::vector

• 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

• gapAs fabricated cold diametral pellet-cladding gap in meters

C++ Type:double

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

• model_volumetric_scalingTrueWhether to scale relocation strains so that they are applied to the current volume.Setting this to 'false' applies them to the original volume,which matches the behavior of the tensor_mechanics implementation of this model.

Default:True

C++ Type:bool

Description:Whether to scale relocation strains so that they are applied to the current volume.Setting this to 'false' applies them to the original volume,which matches the behavior of the tensor_mechanics implementation of this model.

• 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

• contact_pressurecoupled contact pressure

C++ Type:std::vector

Description:coupled contact pressure

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

• q_variableVariable holding linear heat rate in pellet in W/m

C++ Type:std::vector

Description:Variable holding linear heat rate in pellet in W/m

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

Default:19685

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

Default:45931.8

C++ Type:double

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

• burnupCoupled Burnup

C++ Type:std::vector

Description:Coupled Burnup

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

• modelESCORE_modifiedRelocation model. Choices are ESCORE_modified ESCORE GAPCON

Default:ESCORE_modified

C++ Type:MooseEnum

Description:Relocation model. Choices are ESCORE_modified ESCORE GAPCON

• 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

• 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

## 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]