# Hydride Precipitation and Dissolution Rate

Calculates the preciptation or dissolution rate of hydrogen to ZrHx in Zr cladding.

note:Often Created by an Action

This object can be set up automatically by using the CladdingHydrides action.

## Description

A single material, HydridePrecipitationRate, is used to calculate the precipitation or dissolution rate. This is not a material property per se; it is just used this way for convenience. The clamping feature is used to limit the amount of hydride that forms by precipitation. If the hydride concentration exceeds the clamp value, the local rate of hydride precipitation will drop to zero even if there is local over saturation of hydrogen in solid solution.

## Precipitation Rate Model

In addition to the hysteresis effect, precipitation of hydrides is a non-equilibrium phenomenon at the time scales of interest. Attempts to model the hydride precipitation as an equilibrium process fail to predict the ingress of hydrogen into the cladding from the oxide interface. The ingress into the cold side of the cladding can only be predicted if the precipitation rate is slow enough to allow a flux of hydrogen into the cladding from the oxide. The rate of precipitation is often modeled as a kinetic rate (Marino, 1971) that is non-zero in regions where : (1) If nucleation is relatively of lesser importance and if the rate of growth of the hydrides is diffusion-limited, the rate coefficient should follow an Arrhenius relation with activation energy similar to the diffusivity of hydrogen in solid solution. Various fits for have been inferred from experiments to determine and (Kammenzind et al., 1996; Une and Ishimoto, 2003). In addition, Courty et al. (2015) performed an experiment to more directly determine the rate and obtained reasonable agreement with the deduced rate dependences reported previously, but did not find a consistent temperature dependence for . Nevertheless, an Arrhenius rate has been useful to model the effects of hydride rim formation in Bison because it improves results near the cold boundary. We have used the rate from Kammenzind et al. (1996) (2) where is the activation energy and is set equal to . The experiments by Une and Ishimoto (2003) show that even if a temperature dependence is appropriate, the rate does not increase at temperatures above 625 K. Therefore, in Bison the rate is clamped at a maximum value corresponding to a temperature of 625 K. Note that this rate form is somewhat different than was used in Courty et al. (2014).

## Dissolution Rate

Relative to the rate of precipitation, the rate of dissolution is assumed to be so rapid that equilibrium is approached and therefore (3) in regions where a hydride phase exists. To model the inequality in Bison, we again use a finite rate form similar to precipitation but with analogous terms for dissolution: (4) We then set where is the size of the time step. Because we are using a Krylov method, intermediate solution estimates that violate the inequality in Eq. 3 will automatically be forced by Eq. 4 to converge to solutions that satisfy the inequality.

Combining the flux with the precipitation rate , we obtain the evolution equations for and for , the volume fraction of ZrH (5) where is the volume fraction of the alloy phase. Thus, instead of integrating and (as in the previous implementation in Bison described in Courty et al. (2014)), we integrate and in time. This form allows us to remove the assumption of a dilute solution of hydrides, which is clearly a poor assumption in the region of the hydride rim. Note that is the microscopic concentration of dissolved hydrogen; that is, is the mass fraction of hydrogen in the Zr and not the overall mass fraction of hydrogen in the metal matrix. This is so that we can properly account for the reduced effectiveness of diffusion in the alloy phase as the hydride volume fraction becomes significant.

Note also that we assume that there is no density difference between the two phases. This assumption is clearly violated as the less dense hydride phase grows to a large volume fraction in the hydride rim. However, since the hydrides are under compression and therefore do not expand to their full volume and since diffusion is negligible in the hydride phase, we do not expect this assumption to significantly degrade the model of diffusion of hydrogen throughout the cladding.

## Clamp Correction for LWR Cladding

When applied to LWR cladding, the model described above correctly predicts diffusion of hydrogen towards cold regions and precipitation of hydrides in these regions. However, the model does not predict the measured thickness of the hydride rim for cases where the volume fraction of the hydride in the rim is much less than unity. Since this behavior is commonly observed and since the limiting mechanism for the behavior is currently unknown, Bison allows the user to specify a clamping factor that reduces to an apparently smaller volume fraction of alloy (6) We then substitute . Thus, the clamping factor artificially reduces the maximum allowable volume fraction of hydride. For example, if the hydride concentration in the rim is expected to be only 2000 wt.ppm (corresponding to a volume fraction of approximately 0.1), the user can specify that to limit precipitation of the hydride phase, therefore thickening the rim region artificially. This clamp also provides a numerically smooth limiting behavior in the region of the rim.

## Example Input Syntax


[Materials]
[./precip_rate]
type = HydridePrecipitationRate
block = 0
temperature = temperature
hydrogen_in_solution_ppm = hydrogen_in_solution_ppm
hydrogen_as_hydride_ppm = hydrogen_as_hydride_ppm
[../]
[]
(test/tests/hydride/sink_source_kernel/dissolution.i)

The variables hydrogen_in_solution_ppm and hydrogen_as_hydride_ppm must be referenced by source and time derivative kernels as shown below:


[Kernels]
# Evolution of Css includes only precipitation/dissolution.
[./dHdt]
type = HydrogenTimeDerivative
variable = hydrogen_in_solution_ppm
hydrogen_as_hydride_ppm = hydrogen_as_hydride_ppm
[../]
[./dissolved_H_sink]
type = HydrogenSource
variable = hydrogen_in_solution_ppm
[../]

# Evolution of Cp includes generation of hydride by precipitation.
[./dhydridedt]
type = TimeDerivative
variable = hydrogen_as_hydride_ppm
[../]
[./hydride_source]
type = HydrideSource
variable = hydrogen_as_hydride_ppm
[../]

# Temperature reaches uniform steady-state profile almost instantaneously.
[./dTdt]
type = TimeDerivative
variable = temperature
[../]
[./diffT]
type = CoefDiffusion
variable = temperature
coef = 1 # The absolute value of coef is not important.
[../]
[]
(test/tests/hydride/sink_source_kernel/dissolution.i)

## Input Parameters

• hydrogen_as_hydride_ppmConcentration of hydrogen as hydride (wt.ppm)

C++ Type:std::vector

Description:Concentration of hydrogen as hydride (wt.ppm)

• hydrogen_in_solution_ppmConcentration of dissolved hydrogen (wt.ppm)

C++ Type:std::vector

Description:Concentration of dissolved hydrogen (wt.ppm)

• temperatureTemperature

C++ Type:std::vector

Description:Temperature

### Required Parameters

• hydride_clamp1Maximum volume fraction of hydride.

Default:1

C++ Type:double

Description:Maximum volume fraction of hydride.

• 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

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

• 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. Olivier Courty, Arthur T. Motta, and Jason D. Hales. Modeling and simulation of hydrogen behavior in Zircaloy-4 fuel cladding. Journal of Nuclear Materials, 452:311â€“320, 2014. URL: http://dx.doi.org/10.1016/j.jnucmat.2014.05.013, doi:10.1016/j.jnucmat.2014.05.013.[BibTeX]
2. Olivier F. Courty, Arthur T. Motta, Christopher J. Piotrowski, and Jonathan D. Almer. Hydride precipitation kinetics in zircaloy-4 studied using synchrotron x-ray diffraction. Journal of Nuclear Materials, 461(0):180 – 185, 2015. URL: http://www.sciencedirect.com/science/article/pii/S0022311515001300, doi:http://dx.doi.org/10.1016/j.jnucmat.2015.02.035.[BibTeX]
3. BG Kammenzind, David G Franklin, H Richard Peters, and Walter J Duffin. Hydrogen pickup and redistribution in alpha-annealed Zircaloy-4. ASTM Special Technical Publication, 1295:338â€“369, 1996.[BibTeX]
4. G.P. Marino. Hydrogen supercharging in zircaloy. Materials Science and Engineering, 7(6):335 – 341, 1971. URL: http://www.sciencedirect.com/science/article/pii/0025541671900164, doi:http://dx.doi.org/10.1016/0025-5416(71)90016-4.[BibTeX]
5. K Une and S Ishimoto. Dissolution and precipitation behavior of hydrides in Zircaloy-2 and high Fe Zircaloy. Journal of Nuclear Materials, 322(1):66â€“72, 2003.[BibTeX]