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

FunctionalityClassAssociated Parameters
Hydrogen concentration evolution ()TimeDerivativehydrogen_name: a string of the nonlinear variable name used for the concentration of hydrogen in solid solution
Hydride concentration evolution ()TimeDerivativehydride_name: a string of the nonlinear variable name used for the concentration of hydrogen in hydride
Fick's LawMatDiffusionhydrogen_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 effectThermoDiffusionhydrogen_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 ()HydrogenSourcehydrogen_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen
Hydride hydrogen precipitation and dissolution ()HydrideSourcehydride_name: a string consisting of the nonlinear variable name used for the concentration of dissolved hydrogen
Mass diffusivity of hydrogen in the matrix ()ArrheniusMaterialPropertytemperature: 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 ()HydrogenSolubilitytemperature: 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 ()HydrogenSuperSolubilitytemperature: 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 ()HydrideDissolutionKineticstemperature: 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 ()HydrideNucleationKineticstemperature: 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 ()HydrideGrowthKineticstemperature: 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 ()GenericConstantMaterialheat_of_transport: value of the energy of hydrogen transport in the cladding
Precipitation and dissolution rate ()HydridePrecipitationRatetemperature: 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 ()HydrideFormationEnergytemperature: a string of the temperature field variable
E0, E1, E2, E3: coefficients of temperature fit for
Hydride volume fraction ()HydrideVolumeFractiontemperature: 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

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

Required 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

  1. 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]
  2. 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]
  3. E. Lacroix. Modeling Zirconium Hydride Precipitation and Dissolution in Zirconium Alloys. PhD thesis, The Pennsylvania State University, 2019.[BibTeX]
  4. 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]
  5. 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]
  6. 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]
  7. 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]