Oxide Energy Deposition

Computes the amount of energy released from the zirconium oxide reaction and applies it to the cladding.

Description

The OxideEnergyDeposition kernel calculates the energy released from the exothermic zirconium to zirconium oxide reaction and then applies the volumetric energy back to the cladding.

Oxide Energy Deposition

Cladding oxidation is a normal process and occurs throughout the life of the fuel rod. The reaction of zirconium to zirconium oxide is exothermic but during normal light water reactor (LWR) operations the amount of zirconium reacted is small and the reactor coolant system is intact.

Exothermic Reaction During LOCA

During a LOCA the coolant flashes to steam which catalyzes the zirconium oxide reaction. At this point the exothermic zirconium oxide reaction is adding a large amount of heat to a fuel system that has limited cooling. This class provides the functionality to catpure the effect of additional heat from the exothermic zirconium oxide reaction when simulating high temperature transients.

The conversion of zirconium to zirconium oxide is an exothermic reaction and follows the following simple chemical equation (Manual, 2003): (1) During a LOCA the high temperature and steam lead to a substantial amount of the zirconium being reacted and a substantial amount of extra energy is added to the system.

This kernel uses the oxide layer thickness, calculated by ZryOxidation, to determine the amount of energy added to the cladding from the exothermic reaction, Eq. 2. Equation 4-311 of Vol. 4 of the MATPRO manual (Manual, 2003) is implemented in Bison to calculate the energy from the zirconium oxide reaction. (2) where W is the mass gain per unit surface area due to oxidation at the end of the time step (kg/m), t is the timestep (s), is the initial cladding outer radius without oxidation (m), and is the heat of reaction of zirconium oxide (J/kg). The ratio is derived from the assumption that all oxygen forms stoichiometric zirconium oxide. The weight fraction of in Zr is 0.26, thus the ratio of zirconium reacted to oxygen added is: (3) where Zr is the mass of zirconium per unit surface area consumed by oxidation during a given time increment (kg/m), and W is the mass gain per unit surface area due to oxidation during a given time increment (kg/m).

Code Verification

Figure 1: Comparison of the Bison oxide energy deposition model vs. the MATPRO standard.

Following the guidance from the MATPRO manual (Manual, 2003) a test was made using Bison and the new OED model to check Bison results against the MATPRO standard.

This test was a simulation of a length of cladding (initial radius 6.25 mm) that had a constant temperature Dirichlet boundary condition applied to it on the cladding outer surface. The temperature was ramped from 300 to 1800 K in 1 second increments, 100 K per increment. This method and the cladding diameter was chosen in an effort to match what was done in the MATPRO manual. Note that the reference plot is from 1250 K to 1850 K.

It is also important to note that Bison is not using the same oxidation models that MATPRO used for this plot. We are assuming that Bison's models are as good or better than what MATPRO had.

The Bison Oxide Energy Deposition model shows good agreement when comparing the Bison test against the MATPRO plot, as shown in Figure 1.

Example Input Syntax


[./OxideEnergyDeposition]
  type = OxideEnergyDeposition
  variable = temp
  clad_inner_radius = 0.005525
  clad_outer_radius = 0.00625 # 0.000725 m thick
  scale_thickness_increment = oxide_thickness_increment
  n_radial = 1
[../]
(test/tests/OxideEnergyDeposition/matpro_test.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

  • clad_inner_radiusCladding inner radius (m)

    C++ Type:double

    Description:Cladding inner radius (m)

  • n_radialnumber of radial elements

    C++ Type:double

    Description:number of radial elements

  • scale_thickness_incrementOxide scale thickness increment

    C++ Type:std::vector

    Description:Oxide scale thickness increment

  • clad_outer_radiusInitial cladding outer radius (m)

    C++ Type:double

    Description:Initial cladding outer radius (m)

Required Parameters

  • 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_meshTrueWhether 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:True

    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. SCDAP/RELAP5-3D Code Manual. Volume 4: MATPRO a library of materials properties for light-water-reactor accident analysis. Technical Report INEEL/EXT-02-00589, Idaho National Engineering and Environmental Laboratory, 2003.[BibTeX]