- blockThe list of block ids for the cladding.
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of block ids for the cladding.
- hydrogen_as_hydride_ppmConcentration of hydrogen as hydride (wt.ppm).
C++ Type:NonlinearVariableName
Unit:(no unit assumed)
Controllable:No
Description:Concentration of hydrogen as hydride (wt.ppm).
- hydrogen_in_solution_ppmConcentration of dissolved hydrogen (wt.ppm).
C++ Type:NonlinearVariableName
Unit:(no unit assumed)
Controllable:No
Description:Concentration of dissolved hydrogen (wt.ppm).
- temperatureTemperature (K).
C++ Type:VariableName
Unit:(no unit assumed)
Controllable:No
Description:Temperature (K).
Cladding Hydrides Action
Action to add kernels and materials to model hydride formation in the cladding (does not include hydrogen pickup).
Description
The Cladding Hydrides Action is designed to simplify the input file when modeling hydride evolution in the cladding. Modeling the evolution of hydrides in the cladding requires two variables to track concentration of the hydrogen in solid solution () and the hydrogen as precipitated hydride (). These concentrations are usually specified in wt.ppm (can also be written as ). Since the variable for the hydride content may have a steep gradient, it can be important to use the bounds feature from MOOSE to prevent negative concentrations. A good example can be found in the input file for one of the assessment cases described here.
Hydrogen behavior
In the Hydrogen Nucleation-Growth-Dissolution (HNGD) model (Lacroix, 2019; Lacroix et al., 2021; Passelaigue et al., 2021; Passelaigue et al., 2022), the changes in hydride content () are given by
and the evolution of the amount of hydrogen in solid solution () is governed by
which includes the diffusion due to Fick's Law and Soret effect in addition to the changes due to precipitation and dissolution. The diffusion coefficient of hydrogen in zirconium is defined as where ms, J/mol, is the gas constant in J/mol/K, and is the temperature in Kelvin (Zhang et al., 2017). J/mol is the heat of transport measured by Kammenzind (Kammenzind et al., 1996). Note that the heat of transport of hydrogen in Zircaloy-4 was more recently measured and a values of J/mol was deemed more appropriate given the scatter of measurements (Kang et al., 2023). is the source term due to precipitation and dissolution derived by HydridePrecipitationRate.
Constructed Objects
Table 1: Correspondence Among Action Functionality and MOOSE/BISON Objects for the HydrideAction Action
| Functionality | Class | Associated Parameters |
|---|---|---|
| Hydrogen concentration evolution () | TimeDerivative | hydrogen_name: a string of the nonlinear variable name used for the concentration of hydrogen in solid solution |
| Hydride concentration evolution () | TimeDerivative | hydride_name: a string of the nonlinear variable name used for the concentration of hydrogen in hydride |
| Fick's Law | MatDiffusion | hydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen |
diffusivity name of the MaterialProperty used to store the hydrogen diffusivity | ||
| Soret effect | ThermoDiffusion | hydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen |
temperature: a string of the temperature field variable | ||
| Soluble hydrogen precipitation and dissolution () | HydrogenSource | hydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen |
| Hydride hydrogen precipitation and dissolution () | HydrideSource | hydride_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen |
| Mass diffusivity of hydrogen in the matrix () | ArrheniusMaterialProperty | temperature: a string of the temperature field variable |
frequency_factor: value of the Arrhenius hydrogen supersolubility frequency factor | ||
activation_energy: value of the Arrhenius hydrogen supersolubility activation energy | ||
| Hydrogen solubility () | HydrogenSolubility | temperature: a string of the temperature field variable |
hydride_volume_fraction_name a string of the material name used for the volume fraction of hydrides | ||
solubility_frequency_factor: value Arrhenius hydrogen solubility frequency factor | ||
solubility_activation_energy: value Arrhenius hydrogen solubility activation energy | ||
solubility_g: value of g parameter in modifying function | ||
solubility_delta: value of delta parameter in modifying function | ||
| Hydrogen supersolubility () | HydrogenSuperSolubility | temperature: a string of the temperature field variable |
solubility_name: a string of the material name used for the solubility of hydrogen in zirconium | ||
super_solubility_frequency_factor: value of the Arrhenius hydrogen supersolubility frequency factor | ||
super_solubility_activation_energy: value of the Arrhenius hydrogen supersolubility activation energy | ||
super_solubility_tau: value of the characteristic decrease time of the supersolubility during an annealing | ||
| Hydride dissolution kinetics () | HydrideDissolutionKinetics | temperature: a string of the temperature field variable |
hydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen | ||
solubility_name: a string of the material name used for the solubility of hydrogen in zirconium | ||
dissolution_kinetic_frequency_factor value of the Arrhenius hydride dissolution kinetic frequency factor | ||
dissolution_kinetic_activation_energy value of the Arrhenius hydride dissolution kinetic activation energy | ||
| Hydride nucleation kinetics () | HydrideNucleationKinetics | temperature: a string of the temperature field variable |
hydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen | ||
super_solubility_name: a string of the material name used for the supersolubility of hydrogen in zirconium | ||
nucleation_kinetic_frequency_factor value of the Arrhenius hydride dissolution kinetic frequency factor | ||
hydride_volume_fraction_name a string of the material name used for the volume fraction of hydrides | ||
hydride_formation_energy_name a string of the material name used for the hydride formation energy | ||
| Hydride growth kinetics () | HydrideGrowthKinetics | temperature: a string of the temperature field variable |
hydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen | ||
hydride_name: a string of the nonlinear variable name used for the concentration of hydrogen in hydride | ||
solubility_name: a string of the material name used for the solubility of hydrogen in zirconium | ||
growth_diffusion_kinetic_frequency_factor value of the Arrhenius hydride diffusion-driven growth kinetic frequency factor | ||
growth_diffusion_kinetic_activation_energy value of the Arrhenius hydride diffusion-driven growth kinetic activation energy | ||
growth_reaction_kinetic_frequency_factor value of the Arrhenius hydride reaction-driven growth kinetic frequency factor | ||
hydride_volume_fraction_name a string of the material name used for the volume fraction of hydrides | ||
hydride_formation_energy_name a string of the material name used for the hydride formation energy | ||
| Heat of transport for hydrogen () | GenericConstantMaterial | heat_of_transport: value of the energy of hydrogen transport in the cladding |
| Precipitation and dissolution rate () | HydridePrecipitationRate | temperature: a string of the temperature field variable |
hydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen | ||
hydride_name: a string of the nonlinear variable name used for the concentration of hydrogen in hydride | ||
solubility_name: a string of the material name used for the solubility of hydrogen in zirconium | ||
super_solubility_name: a string of the material name used for the supersolubility of hydrogen in zirconium | ||
dissolution_kinetic_name: a string of the material name used for the kinetic coefficient for hydride dissolution | ||
nucleation_kinetic_name: a string of the material name used for the kinetic coefficient for hydride nucleation | ||
growth_kinetic_name: a string of the material name used for the kinetic coefficient for hydride growth | ||
| Hydride formation energy () | HydrideFormationEnergy | temperature: a string of the temperature field variable |
E0, E1, E2, E3: coefficients of temperature fit for | ||
| Hydride volume fraction () | HydrideVolumeFraction | temperature: a string of the temperature field variable |
x0, x1, x2, x3: coefficients of temperature fit for |
If hydrogen pickup is of interest, a corrosion model and pickup boundary condition must be added to the input file (see HydrogenPickup).
Example Input Syntax
[CladdingHydrides<<<{"href": "index.html"}>>>]
[hydrides]
block<<<{"description": "The list of block ids for the cladding."}>>> = 0
temperature<<<{"description": "Temperature (K)."}>>> = temp
hydrogen_in_solution_ppm<<<{"description": "Concentration of dissolved hydrogen (wt.ppm)."}>>> = Css
hydrogen_as_hydride_ppm<<<{"description": "Concentration of hydrogen as hydride (wt.ppm)."}>>> = Cprec
solubility_frequency_factor<<<{"description": "Frequency factor for Arrhenius TSSd (s-1)."}>>> = 67116
solubility_activation_energy<<<{"description": "Activation energy for Arrhenius TSSd (J/mol)."}>>> = 32294
# solubility_g = 0
# solubility_delta = 1
[]
[](test/tests/hydrogen/benchmark_transients.i)[Variables<<<{"href": "../Variables/index.html"}>>>]
[Css]
scaling<<<{"description": "Specifies a scaling factor to apply to this variable"}>>> = 1e6
[]
[](test/tests/hydrogen/benchmark_transients.i)[Variables<<<{"href": "../Variables/index.html"}>>>]
[Cprec]
order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = FIRST
family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = LAGRANGE
scaling<<<{"description": "Specifies a scaling factor to apply to this variable"}>>> = 1e6
[]
[](test/tests/hydrogen/benchmark_transients.i)Input Parameters
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- diffusivity_activation_energy44000Activation energy for Arrhenius hydrogen diffusivity (J/mol).
Default:44000
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Activation energy for Arrhenius hydrogen diffusivity (J/mol).
- diffusivity_frequency_factor1.08e-06Frequency factor for Arrhenius hydrogen diffusivity (s-1).
Default:1.08e-06
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Frequency factor for Arrhenius hydrogen diffusivity (s-1).
- dissolution_kinetic_frequency_factor1110Constant coefficient for Arrhenius dissolution kinetics (s-1).
Default:1110
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Constant coefficient for Arrhenius dissolution kinetics (s-1).
- formation_energy_E0-54543First coefficient of polynomial (J/mol).
Default:-54543
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:First coefficient of polynomial (J/mol).
- formation_energy_E138.58Second coefficient of polynomial (J/mol/K).
Default:38.58
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Second coefficient of polynomial (J/mol/K).
- formation_energy_E2-0.01929Third coefficient of polynomial (J/mol/K^2).
Default:-0.01929
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Third coefficient of polynomial (J/mol/K^2).
- formation_energy_E32.894e-05Fourth coefficient of polynomial (J/mol/K^3).
Default:2.894e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fourth coefficient of polynomial (J/mol/K^3).
- growth_diffusion_kinetic_coef535000Frequency factor for Arrhenius reaction-driven growth kinetics (s-1).
Default:535000
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Frequency factor for Arrhenius reaction-driven growth kinetics (s-1).
- growth_diffusion_kinetic_energy86806Activation energy for Arrhenius reaction-driven growth (J/mol).
Default:86806
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Activation energy for Arrhenius reaction-driven growth (J/mol).
- growth_reaction_kinetic_coef1.6e-05Frequency factor for Arrhenius diffusion-driven growth kinetics (s-1).
Default:1.6e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Frequency factor for Arrhenius diffusion-driven growth kinetics (s-1).
- heat_of_transport25500Heat of transport for hydrogen in cladding (J/mol).
Default:25500
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Heat of transport for hydrogen in cladding (J/mol).
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- nucleation_kinetic_frequency_factor2.75e-05Frequency factor for Arrhenius nucleation kinetics (s-1).
Default:2.75e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Frequency factor for Arrhenius nucleation kinetics (s-1).
- solubility_activation_energy35459Activation energy for Arrhenius TSSd (J/mol).
Default:35459
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Activation energy for Arrhenius TSSd (J/mol).
- solubility_delta1.05Parameter delta for effective TSSd (-).
Default:1.05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Parameter delta for effective TSSd (-).
- solubility_frequency_factor101999Frequency factor for Arrhenius TSSd (s-1).
Default:101999
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Frequency factor for Arrhenius TSSd (s-1).
- solubility_g200Parameter g for effective TSSd (wt.ppm).
Default:200
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Parameter g for effective TSSd (wt.ppm).
- super_solubility_activation_energy25249Activation energy for Arrhenius TSSp (J/mol).
Default:25249
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Activation energy for Arrhenius TSSp (J/mol).
- super_solubility_frequency_factor30853Frequency factor for Arrhenius TSSp (s-1).
Default:30853
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Frequency factor for Arrhenius TSSp (s-1).
- super_solubility_tau10000Characteristic time of supersolubility decrease (s).
Default:10000
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Characteristic time of supersolubility decrease (s).
- use_automatic_differentiationFalseFlag to use automatic differentiation (AD) objects when possible
Default:False
C++ Type:bool
Controllable:No
Description:Flag to use automatic differentiation (AD) objects when possible
- volume_fraction_x00.623First coefficient of x_delta polynomial (-).
Default:0.623
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:First coefficient of x_delta polynomial (-).
- volume_fraction_x1-5.73e-05Second coefficient of x_delta polynomial (K^-1).
Default:-5.73e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Second coefficient of x_delta polynomial (K^-1).
- volume_fraction_x28.48e-08Third coefficient of x_delta polynomial (K^-2).
Default:8.48e-08
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Third coefficient of x_delta polynomial (K^-2).
- volume_fraction_x3-9.93e-11Fourth coefficient of x_delta polynomial (K^-3).
Default:-9.93e-11
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fourth coefficient of x_delta polynomial (K^-3).
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.
Advanced Parameters
Associated Actions
Available Actions
- Bison App
- HydrideActionAction to add kernels and materials to model hydride formation in the cladding (does not include hydrogen pickup).
References
- 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]
- S. Kang, P. Hsun Huang, V. Petrov, A. Manera, T. Ahn, B. Kammenzind, and A. T. Motta.
Determination of the hydrogen heat of transport in zircaloy-4.
Journal of Nuclear Materials, 573:154122, 1 2023.
doi:10.1016/J.JNUCMAT.2022.154122.[BibTeX]
- E. Lacroix.
Modeling Zirconium Hydride Precipitation and Dissolution in Zirconium Alloys.
PhD thesis, The Pennsylvania State University, 2019.[BibTeX]
- E. Lacroix, P.-C. A. Simon, A. T. Motta, and J.D. Almer.
Zirconium hydride precipitation and dissolution kinetics in the hysteresis region in zirconium alloys.
Zirconium in the Nuclear Industry: 19th International Symposium, ASTM STP 1597, pages 67–91, 2021.[BibTeX]
- F. Passelaigue, E. Lacroix, G. Pastore, and A.T. Motta.
Implementation and Validation of the Hydride Nucleation-Growth-Dissolution (HNGD) model in BISON.
Journal of Nuclear Materials, 544:152683, 2021.[BibTeX]
- F. Passelaigue, P.-C. A. Simon, and A.T. Motta.
Predicting the hydride rim by improving the solubility limits in the Hydride Nucleation-Growth-Dissolution (HNGD) model.
Journal of Nuclear Materials, 558:153363, 2022.[BibTeX]
- Yongfeng Zhang, Chao Jiang, and Xianming Bai.
Anisotropic hydrogen diffusion in α-zr and zircaloy predicted by accelerated kinetic monte carlo simulations.
Scientific Reports, 7:1–13, 1 2017.
URL: www.nature.com/scientificreports, doi:10.1038/srep41033.[BibTeX]