UO2IsotropicDislocationDensity

Computes an effective isotropic dislocation density for UO2 fuel by smearing the sum of the dislocations across all of the slip planes; uses a Kocks-type dislocation density model.

Description

This auxkernel is used to calculate the dislocation density in UO fuel as a function of burnup. The calculated dislocation density is intended to be used in conjunction with a simplified cluster dynamics model that describes the evolution of intra-grannular bubbles in the fuel. The dislocation density measure calculated in this auxkernel does not contribute to the strain.

This auxkernel model was developed by simplifying the Continuum Dislocation Dynamics (CDD) model developed by Li et.al. to calculate a smeared-out effective total dislocation density (Li et al., 2014). The effective total dislocation density is treated as the sum of the dislocation densities on each of the slip planes in the crystal. The prominent simplifying assumption is that the density of immobile dislocation is comparable to the density of mobile dislocations. Applying this assumption, the evolution of dislocation density equations reduces to the form of the classical Kocks' dislocation density model while retaining the physical basis of the parameters (Kocks, 1976). (1)

The analytical solution of Eq. (1) is reformulated as a function of burnup, , by taking the dislocation driving force, , to be proportional to burnup. The dislocation density expression is defined as (2) where the coefficients relate to physical lattice parameters from the CDD model, as shown in the table below, and the initial dislocation density is taken as = 6.0e13 from Noirot (2006). The coefficient includes a conversion factor from time (sec) to burnup in (GWd/tU) which is on the order of 10. The values of the coefficients in Eq. (2) were determined by fitting the model to experimental data for dislocation density under increasing burnup (Nogita and Une, 1994).

Table 1: Values for coefficients in the isotropic dislocation density expression ( Eq. (2))

ParameterFitted ValuePhysical Interpretation
b
b

Figure 1: Comparison between the experimental results and the present model predictions of dislocation density as a function of burnup.

In Table 1 represents the initial shear slip rate, is the dislocation multiplication coefficient, is the burger's vector of the lattice, and is the capture radius for dislocation mutual annihilation.

The parameters in Table 1 were selected by emphasizing the fit for the first five experimental data points, taken below 45 GWd/tU. The Ham experimental approach applied in Nogita and Une (1994) is known to underestimate dislocation densities in extremely tangled dislocation networks; therefore, we allowed the fit of the parameters to deviate above the experimentally measured 83 GWd/tU dislocation densities where tangled networks were observed. The present model does, however, capture the saturation of the dislocation density at higher burnup, as shown in Figure 1.

The alignment of the current model parameters with the expected physically based values demonstrates the connection of the present model to the fuel microstructure.

Example Input Syntax

[AuxKernels<<<{"href": "../../syntax/AuxKernels/index.html"}>>>]
  [dislocation_density]
    type = UO2IsotropicDislocationDensity<<<{"description": "Computes an effective isotropic dislocation density for UO2 fuel by smearing the sum of the dislocations across all of the slip planes; uses a Kocks-type dislocation density model.", "href": "UO2IsotropicDislocationDensity.html"}>>>
    variable<<<{"description": "The name of the variable that this object applies to"}>>> = dislocation_density
    burnup<<<{"description": "Coupled Burnup, in units of fissions/atoms-U."}>>> = burnup
    execute_on<<<{"description": "The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html."}>>> = 'initial linear'
  []
[]
(test/tests/dislocation_density/isotropic_dislocation_density_burnup_aux.i)

Input Parameters

  • variableThe name of the variable that this object applies to

    C++ Type:AuxVariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the variable that this object applies to

Required Parameters

  • 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

  • burnupCoupled Burnup, in units of fissions/atoms-U.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled Burnup, in units of fissions/atoms-U.

  • burnup_functionBurnup function.

    C++ Type:BurnupFunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Burnup function.

  • check_boundary_restrictedTrueWhether to check for multiple element sides on the boundary in the case of a boundary restricted, element aux variable. Setting this to false will allow contribution to a single element's elemental value(s) from multiple boundary sides on the same element (example: when the restricted boundary exists on two or more sides of an element, such as at a corner of a mesh

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to check for multiple element sides on the boundary in the case of a boundary restricted, element aux variable. Setting this to false will allow contribution to a single element's elemental value(s) from multiple boundary sides on the same element (example: when the restricted boundary exists on two or more sides of an element, such as at a corner of a mesh

  • dislocation_annhiliation_interaction_radius10Number of burgers' vectors in the radius of interaction between two annhiliating dislocations.

    Default:10

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of burgers' vectors in the radius of interaction between two annhiliating dislocations.

  • dislocation_multiplication_factor2.5e+09Smeared isotropic parameter used to determine the multiplication of dislocations to create new dislocations.

    Default:2.5e+09

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Smeared isotropic parameter used to determine the multiplication of dislocations to create new dislocations.

  • effective_dislocation_velocity0.00028Smeared isotropic parameter representing dislocation velocity as a function of burnup.

    Default:0.00028

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Smeared isotropic parameter representing dislocation velocity as a function of burnup.

  • execute_onLINEAR TIMESTEP_ENDThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

    Default:LINEAR TIMESTEP_END

    C++ Type:ExecFlagEnum

    Options:XFEM_MARK, NONE, INITIAL, LINEAR, NONLINEAR_CONVERGENCE, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, PRE_DISPLACE

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.

  • initial_dislocation_density6e+13Dislocation density of as-recieved fuel (1/m^2).

    Default:6e+13

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Dislocation density of as-recieved fuel (1/m^2).

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.

  • 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

  • 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. UF Kocks. Laws for work-hardening and low-temperature creep. Journal of Engineering Materials and Technology, 98(1):76–85, 1976.[BibTeX]
  2. Dongsheng Li, Hussein Zbib, Xin Sun, and Mohammad Khaleel. Predicting plastic flow and irradiation hardening of iron single crystal with mechanism-based continuum dislocation dynamics. International Journal of Plasticity, 52:3–17, 2014.[BibTeX]
  3. Kazuhiro Nogita and Katsumi Une. Radiation-induced microstructural change in high burnup UO$_2$ fuel pellets. Nuclear Instruments and Methods in Physics Research Section B: Beam Interactions with Materials and Atoms, 91(1-4):301–306, 1994.[BibTeX]
  4. Laurence Noirot. MARGARET: an advanced mechanistic model of fission gas behavior in nuclear fuel. Journal of Nuclear Science and Technology, 43(9):1149–1160, 2006.[BibTeX]