# Isotropic UOvar element = document.getElementById("moose-equation-f10ce1b0-0d9a-4960-a939-aaa227876f81");katex.render("_2", element, {displayMode:false,throwOnError:false}); Fuel Cracking Damage Elasticity Tensor

Calculates the isotropic elastic constants for UO2 fuel as a scaled function of the number of cracks in the fuel

## Description

This class, UO2IsotropicDamageElasticityTensor, updates the isotropic elastic Young's Modulus and Poisson's ratio for UO fuel as a function of the number of cracks within the fuel at a material point. Both elastic constants are reduced by a scaling factor that depends on the number of cracks in the fuel, and the scaling model is developed in the forthcoming article from Barani et.al. (2017). The quantity of cracks is calculated as a function of average linear power; this function is based on data from Walton and Husser (1983) and Oguma (1983).

### Number of Cracks in Fuel

Fuel pellets crack when thermally-induced tensile stresses exceed the fracture strength of the material as ceramic nuclear fuel is brought up to power; therefore, this model assumes that the cracking occurs while the material is loading in the elastic deformation regime. The crack patterns are oriented either along the radial or the axial direction of the fuel rod. Barani et.al (2017), forthcoming, developed a model for the number of cracks, , as a function of the linear heat rate, LHR, which does not include the specific crack pattern. (1) where LHR = 5 is the linear heat rate required to trigger the first, = 1, crack, = 11, and = 21 kW/m. The later two parameters were determined by fitting the model to experimental data from Oguma (1983) and Walton and Husser (1983). The effects of burnup and power history on the number of cracks in the fuel are not included in the model at present.

This model does allow for multiple cracks to occur in an asynchronous manner as opposed to other models which allow fuel pellet cracking in only the first time step.

### Elastic Constant Scaling

This model treats the cracked fuel pellet material as isotropic and assumes that the principle strains are conserved. (2) The relationship for the scaled isotropic elastic constants was determined by defining the squared deviation of the scaled and original stresses in the material and then averaging over the symmetric range of strain while minimizing the squared stress deviation value by Barani et.al. (2017). For number of cracks, the isotropic elastic constants are (3)

(4)

If the number of cracks has changed from the previous time step, the updated scaled values of the Young's modulus and the Poisson's ratio are passed to the UO2ElasticityTensor class.

## Example Input Syntax

[./elasticity_tensor]
type = UO2IsotropicDamageElasticityTensor
matpro_youngs_modulus = false
matpro_poissons_ratio = false
temperature = temperature
rod_ave_lin_pow = power_history
[../]
(test/tests/tensor_mechanics/uo2_mechanics/uo2_elastic_isotropic_cracking_tm.i)

## Input Parameters

• rod_ave_lin_powAverage linear power function

C++ Type:FunctionName

Description:Average linear power function

### Required Parameters

• matpro_youngs_modulusFalseFlag for using MATPRO to compute Young's modulus

Default:False

C++ Type:bool

Description:Flag for using MATPRO to compute Young's modulus

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

• elasticity_tensor_prefactorOptional function to use as a scalar prefactor on the elasticity tensor.

C++ Type:FunctionName

Description:Optional function to use as a scalar prefactor on the elasticity tensor.

• 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

• densityInitial fuel density

C++ Type:double

Description:Initial fuel density

• po2_fraction0Weight fraction of PO2

Default:0

C++ Type:double

Description:Weight fraction of PO2

• oxygen_to_metal_ratio2Oxygen to metal ratio

Default:2

C++ Type:double

Description:Oxygen to metal ratio

• matpro_poissons_ratioFalseFlag for using MATPRO to compute Poisson's ratio

Default:False

C++ Type:bool

Description:Flag for using MATPRO to compute Poisson's ratio

• 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

• 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

• temperatureCoupled temperature

C++ Type:std::vector

Description:Coupled temperature

### 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. M. Oguma. Cracking and relocation behavior of nuclear-fuel pellets during rise to power. Nuclear Engineering and Design, 76(1):35â€“45, 1983.[BibTeX]
2. L.A. Walton and D.L. Husser. Fuel pellet fracture and relocation. 1983. IAEA Specialists Meeting on Water Reactor Fuel Element Performance Computer Modelling, Preston, UK.[BibTeX]