Hydrogen Precipitation

Calculates the precipitation of hydrogen in solid solution from McMinn's TSSp equilibrium and the dissolution hydrides to solid solution hydrogen from Marino's kinetics

Description

The HydrogenPrecipitation kernel calculates the precipitation of hydrogen in solid solution (e.g. metal) into hydrides and the dissolution of hydrides into hydrogen in solid solution. In this manner, the calculations performed by this kernel are similar to those completed in the HydridePrecipitationRate material.

Within a zirconium cladding material, hydrogen in solid solution in the metal can precipitate out and become incorporated into a zirconium hydride. The reverse reaction can also occur, and zirconium hydrides can dissolve into hydrogen.

Terminal Solid Solubilities

HydrogenPrecipitation uses terminal solid solubility limits to determine the change in solid state hydrogen concentration, following McMinn et al. (2000): (1) where is the precipitation terminal solid solubility limit, the coefficient = 1.39 10, the activation energy = 3.45 10, is the universal gas constant, and is the temperature. Similiarly the terminal solid solubility limit for dissolution is (McMinn et al., 2000): (2) where the coefficient = 1.06 10, the activation energy = 3.60 10, is the universal gas constant, and is the temperature.

Precipitation of Hydrogen in Solid Solution

Precipitation of the solid solution hydrogen to the hydride is considered to occur if the solid solution hydrogen concentration, , is above the terminal solid solubility of preciptation and if the hydride concentration, is below a maximum limit. (3) where is defined in Eq. 1, is the precipition kinetics term, and the maximum hydride concentration is given as (4) If the users wishes, the default value of in Eq. 4 can be overridden.

Following Kammenzind et al. (1996), the precipitation kinetics term is given as (5) where the coefficient = 62.3, the activation energy = 4.12 10, is the universal gas constant, and is the temperature. The correlation in Eq. 5 has not been verified below 573K, and, because the extrapolation is unreliable at low temperatures, the a lower limit of (6) is enforced.

Dissolution of Hydrides

Following Marino (1971) the dissolution of hydrides into solid solution hydrogen in calculated as (7) where is defined in Eq. 2, is given in Eq. 5, and is calculated by Eq. 4. Note that in Eq. 7 it is implicitly assumed that the dissolution kinetics are equal to the precipition kinetics.

Example Input Syntax


[./csspre] # precipitation/dissolution of hydrogen by OC (for solid solution)
  type = HydrogenPrecipitation
  variable = Css
  temp = temp
  Cp = Cp
[../]
(test/tests/hydrogen/hydrogen.i)

Input Parameters

  • variableThe name of the variable that this Kernel operates on

    C++ Type:NonlinearVariableName

    Description:The name of the variable that this Kernel operates on

  • CpHydride concentration

    C++ Type:std::vector

    Description:Hydride concentration

  • tempCoupled Temperature

    C++ Type:std::vector

    Description:Coupled Temperature

Required Parameters

  • maxCp_value0Maximum value for hydrogen concentration in hydride

    Default:0

    C++ Type:double

    Description:Maximum value for hydrogen concentration in hydride

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

  • save_inThe name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

    C++ Type:std::vector

    Description:The name of auxiliary variables to save this Kernel's residual contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

  • 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

  • diag_save_inThe name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

    C++ Type:std::vector

    Description:The name of auxiliary variables to save this Kernel's diagonal Jacobian contributions to. Everything about that variable must match everything about this variable (the type, what blocks it's on, etc.)

  • 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

Advanced Parameters

  • vector_tagsnontimeThe tag for the vectors this Kernel should fill

    Default:nontime

    C++ Type:MultiMooseEnum

    Description:The tag for the vectors this Kernel should fill

  • extra_vector_tagsThe extra tags for the vectors this Kernel should fill

    C++ Type:std::vector

    Description:The extra tags for the vectors this Kernel should fill

  • matrix_tagssystemThe tag for the matrices this Kernel should fill

    Default:system

    C++ Type:MultiMooseEnum

    Description:The tag for the matrices this Kernel should fill

  • extra_matrix_tagsThe extra tags for the matrices this Kernel should fill

    C++ Type:std::vector

    Description:The extra tags for the matrices this Kernel should fill

Tagging Parameters

Input Files

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. 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]
  3. Andrew McMinn, Edward C Darby, and John S Schofield. The terminal solid solubility of hydrogen in zirconium alloys. ASTM Special Technical Publication, 1354:173–195, 2000.[BibTeX]