ZryOxidation

Incorporates correlations for Zircaloy cladding oxidation through metal-water reactions. Calculated processes include outer oxide scale thickness growth and oxygen mass gain; the model is to be applied to the cladding waterside boundary. Current version covers LWR Zircaloy cladding only.

Description

This material calculates corrosion oxide layer thickness and the oxygen mass gain at normal operating temperatures (temperature < 673K), and at high temperatures. The normal operating temperature available in this class are EPRI_KWU_CE and EPRI_SLI. The high temperature models available are based on correlations by Leistikow and by Cathcart.

Zirconium alloy cladding can have an exothermic reaction with coolant water which converts metal to oxide at the cladding outer surface: Such an oxidation process, which is referred to as water-side corrosion, is a fundamental aspect of LWR fuel performance. The resultant oxide film on the outer surface of cladding can affect both the thermal and mechanical properties of cladding. Because of the lower thermal conductivity of zirconium oxide in comparison with zirconium alloys, the oxidation of the cladding adds to thermal resistance in heat transfer from the fuel to the coolant.

Zirconium oxide is a brittle material and can be easily cracked. Thus it is expected that the mechanical strength of cladding is mainly determined by the metallic wall, which is thinned after corrosion. Concurrent to the oxidation process, a fraction of hydrogen can be absorbed into the metal and can diffuse under the influences of both temperature and stress.

This material also calculates the oxide growth rate as a vector. The components of this vector may be utilized in conjuction with MaterialRealVectorValueAux AuxKernels to provide element smoothed values of the oxide growth rate to LevelSetAdvection. This may be used to inform XFEM of the updated position of the interface. XFEM will then move the interface using a combination of mesh healing and cutting techniques with discrete material properties on each side of the cut interface. The final result of this approach is a second approach to the total corrosion oxide layer thickness.

Zirconium Alloy at Normal Operating Temperatures

Low temperature (250 C/ 523 K to 400 C/ 673 K) oxidation is calculated considering that cladding oxidation under normal LWR conditions occurs in two stages: a pre-transition oxidation process that follows a cubic time dependence up to a transition oxide thickness, and a post-transition process that follows a linear time dependence. The transition between the two stages typically occurs at 2 microns.

For the pre-transition period, the corrosion rate is given by an Arrhenius equation (Ritchie, 1998): (1) For the post-transition period, the corrosion rate is given by Ritchie (1998): (2) where is the oxide thickness, is the metal-oxide interface temperature, is the rate constant for pre-transition oxidation, is the activation energy for pre-transition oxidation, is the rate constant for post-transition oxidation, is the activation energy for post-transition oxidation, is the universal gas constant, and is the transition oxide thickness.

The metal-oxide interface temperature, , is calculated assuming steady-state heat conduction across the oxide thickness as: where is the outer surface (waterside) oxide temperature and is thermal conductivity of zirconium oxide. For a discussion of the metal-oxide interface temperature calculation, see the theoretical discussion in Zry Cladding Corrosion.

Normal Operating Temperature Models

EPRI KWU CE Model

For normal operating temperatures below 673 K, the EPRI/KWU/C-E oxidation model (Garzarolli et al., 1982; Garzarolli and Garzarolli, 2012) is used as the default corrosion model. The formulation is analogous to that described in Eq. (1) and Eq. (2), with the following values for the expressions shown in Table 1.

Table 1: Parameters used in the EPRI KWU CE Coolant Model (Garzarolli et al., 1982; Garzarolli and Garzarolli, 2012)

Model ExpressionParameter Value
m/day
K
m/day
K

where is the fast neutron flux in n/cms. accounts for the irradiation enhancement to corrosion.

EPRI SLI Model

The EPRI/SLI model is also implemented in BISON code for modeling of the corrosion of PWR fuel cladding materials. This model uses enhancement factors on and . For the pre-transition period, is multiplied by two factors, one related to the lithium concentration in the coolant and the other related to the iron concentration in the cladding. These factors are given by Gilmore et al. (December 1995) as (3) where = lithium concentration (ppm) in the coolant, and = fraction of iron particles dissolved (%) for a given initial particle size distribution. The parameters used in above equations are given in Table 2.

Table 2: Parameters used in the EPRI SLI Li Concentration Model (Gilmore et al., December 1995)

Model ExpressionParameter Value
/day
cal/mol

The post-transition coefficient C, is multiplied by several enhancement coefficients as follows: where C = 7.619 10 The coolant chemistry (LiOH) enhancement factor is given by: The cladding tin content enhancement factor is given by: where Sn is tin content of cladding in (wt%). The heat flux normalization factor is given by: where Q/A (W/cm) is the heat flux at cladding outer surface. The hydrogen redistribution enhancement factor is: where H = cold side hydrogen content in the cladding metal-oxide interface. The fast neutron flux enhancement factor is: where = fast flux (E 1 MeV, n/cm-s), C = 1.2 10 (n/cm-s), and P = 0.24. The iron enhancement factor is defined by Gilmore et al. (December 1995) as Activation energy in the post-transition period is found to be dependent on hydrogen content (Cheng et al., 1996): where = hydrogen enhancement factor at hydride rim ( = 18811.25 ppm), = 24825 cal/mol, and = 9135.6 cal/mol.

Zirconium Alloy at High Temperatures

In the high temperature range (e.g., accident situations) the coolant has become steam, and oxidation proceeds much more rapidly than at normal LWR operating temperatures. Under these conditions, the kinetics of oxide scale growth and oxygen mass gain in the cladding can be described by a parabolic law, with the reaction rate constant defined as a function of the temperature through an Arrhenius relation (Schanz, 2003) (4) where is either the oxide scale thickness, = S (m), or the oxygen mass, = g (kg/m), is the metal-oxide interface temperature (K), is the oxidation rate constant (m or kg/m), is the activation energy (J/mol), and is the universal gas constant (J/mol-K).

Following the recommendations in Schanz (2003), the BISON model includes correlations for oxide scale growth and oxygen mass gain rates in Zircaloy-2/4 appropriate to different temperature ranges. In particular, the following approach is adopted:

  • For metal-oxide interface temperatures from 673 K up to 1800 K, the Leistikov (Leistikow et al., 1983) correlation is used. The Cathcart-Pawel correlation (Cathcart et al., 1977) is also available and can be chosen as an option. The Leistikov correlation has been selected as reference in view of the larger underlying database, the availability of experimentally determined mass gain for all tests, and the better fit for lower temperature relative to the Cathcart-Pawel correlation (Schanz, 2003).

  • Between 1800 and 1900 K, a linear interpolation is made. Linear interpolation between two correlations of Arrhenius type is obtained by a third correlation of the same type (Schanz, 2003).

  • Above 1900 K, the Prater-Courtright correlation (Prater and Courtright, 1987) is used.

The values of the parameters in Eq. (4) relative to the different correlations are given in Table 3.

Table 3: Parameters of the correlations for oxide scale (S) and oxygen mass gain (g) at high temperature (Schanz, 2003)

Correlation (ms) (K) (kg/m-s) (K)
Leistikov
Cathcart-Pawel
Prater-Courtright

Example Input Syntax

This material model requires the cladding inner and outer radius to be specified, which can either be done using the clad_inner_radius and clad_outer_radius parameters, or by specifying the name of a FuelPinGeometry UserObject, which provides those dimensions. Examples for both methods can be seen below.

[Materials<<<{"href": "../../syntax/Materials/index.html"}>>>]
  [oxidation_zry]
    type = ZryOxidation<<<{"description": "Incorporates correlations for Zircaloy cladding oxidation through metal-water reactions. Calculated processes include outer oxide scale thickness growth and oxygen mass gain; the model is to be applied to the cladding waterside boundary. Current version covers LWR Zircaloy cladding only.", "href": "ZryOxidation.html"}>>>
    boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 1
    clad_inner_radius<<<{"description": "Inner cladding radius (m)"}>>> = 0.004650
    clad_outer_radius<<<{"description": "Outer cladding radius (m)"}>>> = 0.005375
    normal_operating_temperature_model<<<{"description": "Type of zircaloy corrosion model to use under normal operating temperatures. Choices are: epri_kwu_ce epri_sli"}>>> = epri_kwu_ce
    high_temperature_model<<<{"description": "Type of zircaloy corrosion model to in accident condition high temperatures. Choices are: leistikow cathcart"}>>> = leistikow
    temperature<<<{"description": "Cladding outer surface temperature (K)"}>>> = temp
    fast_neutron_flux<<<{"description": "Fast neutron flux (n/m^2-sec)"}>>> = fast_neutron_flux
    show_debug_output<<<{"description": "flag to save and output additional information to aid in debugging"}>>> = true
  []
[]
(test/tests/zry_oxidation_cladding/oxidation_cladding_zry.i)
[Materials<<<{"href": "../../syntax/Materials/index.html"}>>>]
  [oxidation_zry]
    type = ZryOxidation<<<{"description": "Incorporates correlations for Zircaloy cladding oxidation through metal-water reactions. Calculated processes include outer oxide scale thickness growth and oxygen mass gain; the model is to be applied to the cladding waterside boundary. Current version covers LWR Zircaloy cladding only.", "href": "ZryOxidation.html"}>>>
    boundary<<<{"description": "The list of boundaries (ids or names) from the mesh where this object applies"}>>> = 1
    normal_operating_temperature_model<<<{"description": "Type of zircaloy corrosion model to use under normal operating temperatures. Choices are: epri_kwu_ce epri_sli"}>>> = epri_kwu_ce
    high_temperature_model<<<{"description": "Type of zircaloy corrosion model to in accident condition high temperatures. Choices are: leistikow cathcart"}>>> = leistikow
    temperature<<<{"description": "Cladding outer surface temperature (K)"}>>> = temp
    fast_neutron_flux<<<{"description": "Fast neutron flux (n/m^2-sec)"}>>> = fast_neutron_flux
    fuel_pin_geometry<<<{"description": "Name of the UserObject that reads the pin geometry from the mesh."}>>> = pin_geometry
  []
[]
(test/tests/zry_oxidation_cladding/zryoxidation_pingeo.i)

Input Parameters

  • temperatureCladding outer surface temperature (K)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Cladding outer surface temperature (K)

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

  • clad_inner_radius0Inner cladding radius (m)

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Inner cladding radius (m)

  • clad_outer_radius0Outer cladding radius (m)

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Outer cladding radius (m)

  • computeTrueWhen false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:When false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.

  • 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 computeQpProperties() 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

    Options:NONE, ELEMENT, SUBDOMAIN

    Controllable:No

    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 computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped

  • declare_suffixAn optional suffix parameter that can be appended to any declared 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 declared properties. The suffix will be prepended with a '_' character.

  • fast_neutron_fluxFast neutron flux (n/m^2-sec)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Fast neutron flux (n/m^2-sec)

  • fraction_iron_particles0the fraction of iron particles disolve for a given initial particle size distribution, used in the EPRI_SLI model

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:the fraction of iron particles disolve for a given initial particle size distribution, used in the EPRI_SLI model

  • fuel_pin_geometryName of the UserObject that reads the pin geometry from the mesh.

    C++ Type:UserObjectName

    Controllable:No

    Description:Name of the UserObject that reads the pin geometry from the mesh.

  • high_temperature_modelleistikowType of zircaloy corrosion model to in accident condition high temperatures. Choices are: leistikow cathcart

    Default:leistikow

    C++ Type:MooseEnum

    Options:leistikow, cathcart

    Controllable:No

    Description:Type of zircaloy corrosion model to in accident condition high temperatures. Choices are: leistikow cathcart

  • interface_hydrogen_content0the cold side hydrogen content in the cladding metal-oxide interface

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:the cold side hydrogen content in the cladding metal-oxide interface

  • lithium_concentration0lithium concentration (ppm)

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:lithium concentration (ppm)

  • ls_functionLevel set function variable. If not given, normals will be used to determine heat flux.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Level set function variable. If not given, normals will be used to determine heat flux.

  • normal_operating_temperature_modelepri_kwu_ceType of zircaloy corrosion model to use under normal operating temperatures. Choices are: epri_kwu_ce epri_sli

    Default:epri_kwu_ce

    C++ Type:MooseEnum

    Options:epri_kwu_ce, epri_sli

    Controllable:No

    Description:Type of zircaloy corrosion model to use under normal operating temperatures. Choices are: epri_kwu_ce epri_sli

  • oxidation_rate_scale_factor1Scaling facter for oxide growth rate

    Default:1

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Scaling facter for oxide growth rate

  • oxygen_weight_fraction_initial0.0012As-fabricated oxygen weight fraction in cladding

    Default:0.0012

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:As-fabricated oxygen weight fraction in cladding

  • show_debug_outputFalseflag to save and output additional information to aid in debugging

    Default:False

    C++ Type:bool

    Controllable:No

    Description:flag to save and output additional information to aid in debugging

  • tin_content1.38tin content (weight percent)

    Default:1.38

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:tin content (weight percent)

  • use_coolant_channelFalseCoolant channel model is used

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Coolant channel model is used

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.

  • implicitTrueDetermines whether this object is calculated using an implicit or explicit form

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

  • 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

  • output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)

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

    Controllable:No

    Description:List of material properties, from this material, to output (outputs must also be defined to an output type)

  • outputsnone Vector of output names where you would like to restrict the output of variables(s) associated with this object

    Default:none

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

    Controllable:No

    Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object

Outputs 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. J. V. Cathcart, R. E. Pawel, R. A. McKee, R. E. Druschel, G. J. Yurek, J. J. Campbell, and S. H. Jury. Zirconium metal-water oxidation kinetics, IV. reaction rate studies. Technical Report ORNL/NUREG-17, Oak Ridge National Laboratory, 1977.[BibTeX]
  2. B. Cheng, P. M. Gilmore, and H. H. Klepfer. PWR zircaloy fuel cladding corrosion performance, mechanisms, and modeling. In Zirconium in the Nuclear Industry: Eleventh International Symposium, 137–160. ASTM STP 1295, American Society for Testing and Materials, 1996, 1996.[BibTeX]
  3. F. Garzarolli and M. Garzarolli. PWR Zr alloy cladding water side corrosion. Technical Report ANT International, ANT International, 2012.[BibTeX]
  4. F. Garzarolli, W. Jung, H. Shoenfeld, A. M. Garde, G. W. Parray, and P.G. Smerd. Review of PWR fuel rod waterside corrosion behavior. Technical Report EPRI NP-2789 Project 1250 Final Report, Kraftwerk Union A.G. and Combustion Engineering Inc., 1982.[BibTeX]
  5. P. M. Gilmore, H. H. Klepfer, and J. M. Sorensen. EPRI PWR fuel cladding corrosion (PFCC) model volume 1: theory and user's manual. Technical Report TR-105387-V1, EPRI, December 1995.[BibTeX]
  6. S. Leistikow, G. Schanz, H. v. Berg, and A.E. Aly. Comprehensive presentation of extended Zircaloy-4/steam oxidation results 600-1600 C. In CSNI/IAEA specialists meeting on water reactor fuel safety and fission product release in off-normal and accident conditions. Riso Nat. Lab., Denmark, 1983.[BibTeX]
  7. J. T. Prater and E. L. Courtright. Zircaloy-4 oxidation at 1300 to 2400 C. Technical Report NUREG/CR-4889, PNL-6166, Pacific Northwest Lab, 1987.[BibTeX]
  8. I. G. Ritchie. Waterside corrosion of zirconium alloys in nuclear power plants. Technical Report IAEA TECDOC 996, IAEA, 1998.[BibTeX]
  9. G. Schanz. Recommendations and supporting information on the choice of zirconium oxidation models in severe accident codes. Technical Report FZKA 6827, SAM-COLOSS-P043, Institut für Materialforschung, 2003.[BibTeX]