Butterworth-Heinemann is an imprint of Elsevier 30 Corporate Drive, Suite 400, Burlington, MA 01803, USA Linacre House, Jordan Hill, Oxford OX2 8DP, UK Copyright
#
2009, Elsevier Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Permissions may be sought directly from Elsevier’s Science & Technology Rights Department in Oxford, UK: phone: (þ44) 1865 843830, fax: (þ44) 1865 853333, E-mail:
[email protected]. You may also complete your request online via the Elsevier homepage (http://elsevier.com), by selecting “Support & Contact” then “Copyright and Permission” and then “Obtaining Permissions.” Library of Congress Cataloging-in-Publication Data Application submitted British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library. ISBN: 978-1-85617-802-0 For information on all Butterworth–Heinemann publications visit our Web site at www.elsevierdirect.com Printed in the United States of America 09 10 11 12 13 10 9 8 7 6
5 4
3 2
1
INTRODUCTION
Contents 1. Why Do We Care? 2. Bounding the Discussion The Reactor Materials of Construction pH Control Agents and Coolant Additives Clarifying the Definition 3. The Analytical Domain
xiii xiii xiv xiv xv xv xvi
1. WHY DO WE CARE? It would be pointless to proceed without a brief word about why anyone in the nuclear industry might care enough about Chalk River unidentified deposit (CRUD) to have spent the past six decades trying to understand its behavior. There are two basic reasons. First, deposits of any kind on heat transfer surfaces are (in general) a bad thing. Second, CRUD, in almost all its forms, becomes highly radioactive and is the source of high radiation fields, which are most troublesome during reactor servicing evolutions. The first reason (basically fouling) is not unique to nuclear reactors, but the radioactive nature of CRUD is quite unique and shall be discussed in detail herein. Therefore, one can understand that if designers had a tool that would allow them to predict the behavior of CRUD within the primary reactor coolant circuit, then it might be possible to design equipment, processes, and/or procedures to mitigate (or at least minimize) these detrimental qualities. Thus the quest to understand the nature of CRUD.
2. BOUNDING THE DISCUSSION Many different reactor designs use water (both light and heavy) as both the moderator for the thermal fission reaction and the primary heat transfer working fluid. Similarly, these different designs may use a wide variety
xiii
xiv
Introduction
of structural materials and coolant chemistries, and they may operate in vastly different thermal-hydraulic domains with different operating objectives and conditions. This book is not intended to be the universal text to explain the nature of CRUD in all types of reactors and physical domains. In fact, the current horizon of scientific understanding is such that we are only just beginning to understand how to model its behavior in limited circumstances and conditions. Nonetheless, all types of water reactors share many similarities and thus there is value in understanding the nature of CRUD in a known set of circumstances so that others might discover the secrets of its behavior under different conditions.
The Reactor The discussion of the nature of CRUD herein is limited to the context of pressurized light water reactors (PWRs) and specifically to those in which the primary reactor coolant is always in the liquid phase (except, of course, in the pressurizer). Thus, the discussion does not focus on boiling water reactors, heavy water reactors, or groups of PWRs in which a certain degree of boiling is allowed to occur within the nuclear core. Heavy water reactors are excluded here because there is a considerably smaller body of fundamental corrosion kinetic data published for materials in heavy water relative to that of light water. Two-phase light water reactors are excluded because the modeling of CRUD in the presence of boiling will add a significant complication to the discussion of fundamental driving forces for hydrothermal crystallization. The discussion of these fundamental models will, however, suggest how and where one might expand the model to account for a system in which boiling occurs.
Materials of Construction The materials of construction (i.e., the wetted surface areas of the primary reactor coolant circuit) will define the source terms in our mathematical modeling, which is basically a set of equations that will be used to compute a mass balance. These materials define the sources of metal oxides that make up the composition of CRUD and the sources of cobalt, which is one of the most significant sources of radiation exposure from CRUD. In this text, the discussion focuses primarily on nickel- and iron-based corrosion-resistant alloys and high-cobalt content-bearing materials. Only those metal oxides that are either loose-adherent or have significant solubility in high-temperature, high-pH, hydrogenated water are important
Introduction
xv
to the understanding of the nature of CRUD. Thus, for example, the oxide that forms on zircaloy alloys is not discussed because it is neither loose-adherent nor does it have a significant solubility.
pH Control Agents and Coolant Additives Modern PWR reactor coolants are closely controlled to maintain very low oxygen concentrations and very high pH (e.g., 9.0 < pH < 11.5 at room temperature). This has not always been the case. In the early years when neutral pH water was used, scientists and engineers learned that in time, the coolant of operating reactors would turn alkaline as hydrogen, formed by radiolysis, would combine with dissolved nitrogen in the coolant to form ammonia (NH3). It was also observed that the more alkaline the coolant became, the less CRUD was formed. Thus, throughout the years, several different kinds of coolant additives have been used to control the coolant pH (e.g., LiOH, BaOH, and NH3). The pH of the reactor coolant (and the presence of hydrogen in the water) is important because it determines the stable solid phases of metal oxide corrosion products in the reactor coolant system. The method of maintaining the coolant pH is only of secondary importance for fundamental model development because it only affects the calculation of metal ion solubilities, as discussed herein. Two other important coolant additives have been employed in some commercial PWRs—boron (in the form of boric acid) and zinc. Boron is used as a neutron poison to aid in the control of the neutronics of the reactor, and zinc is sometimes used to reduce the absorption of cobalt into corrosion films and thus reduce pipewall radiation levels. Neither of these is discussed in detail except to say that how and why zinc works as a cobalt inhibitor is directly related to the substitution of divalent metal ions into corrosion films and, thus, it will be discussed briefly.
Clarifying the Definition Within this text, the definition of CRUD is somewhat broader than the historic interpretation of the acronym. For more than 50 years, CRUD, and its hydraulic behavior, was thought to be a particulate phenomenon. It is true that CRUD often manifests itself in a solid phase, either as metal oxide films or as micrometer-sized particles of metal oxide. However, these solid phases are directly in contact with high-temperature reactor coolant where Mother Nature wants there to be an equilibrium between the solid and liquid phases.
xvi
Introduction
Virtually all transition metals have some solubility in hot water (except gold and platinum, which do not form oxides); thus, hydrolyzed species of metal oxides do exist in the aqueous phase. Not modeling CRUD in the soluble phase ignores one of the most important mechanisms for mass transport—hydrothermal crystallization/dissolution. This is partly the reason why early attempts to model CRUD as a particulate phenomena have not been successful. Thus, in this text, CRUD is defined as metal (in either solid or soluble phases) that has been transformed from the metallic state to an oxide state by the diffusion of oxygen into the base metals of construction in a process known as corrosion. One important distinction between this definition and the historic interpretation is that CRUD, taken in this sense, does not have to be an oxide. This definition is chosen because some of the hydrolytic equilibria between the metal oxide solid phases and aqueous phases simply result in divalent metal ions being the soluble species. Consequently, one of the assumptions that will ultimately be used to frame the modeling equations is that mass balances will be constructed to conserve grams of metal.
3. THE ANALYTICAL DOMAIN An important requirement in the construction of a successful fundamentalsbased model is that all flowing hydraulic regions of the primary reactor coolant circuit (and, more precisely, all sources and sinks of CRUD) must be modeled. The consequence of this requirement is that the mathematical models used to describe the fluxes of mass to and from the solid and aqueous phases must be able to accurately perform over a huge range of thermal-hydraulic and chemical conditions for many decades of operation. A brief example of these analytical domains is summarized in Table 1. Regarding the temperature domain, which is purposely restricted to 300 F on the lower end of the band, there are often CRUD sinks in coolant purification systems where the coolant temperature falls below 300 F; however, these regions require special analytical handling for several reasons. First, the corrosion kinetics for structural materials become very small (and thus insignificant as sources) at lower temperatures and, second, metal ion solubilities can no longer be predicted based on thermodynamics as they become limited by kinetic processes at low temperatures. At first glance, these domains do not appear to present technical challenges. However, most scientific investigations of mass transfer coefficients
Introduction
Table 1
xvii
Chemical, Thermal-Hydraulic, and Temporal Domain
Domain
Range
Units
Temperature
300 < T < 650
Coolant velocity
1 < U < 10
Reynolds number
10 < NRe < þ10
Hydraulic sheer
1 < t < þ102
Dynes/cm2
pH
9 < pH < 11.5
At room temperature
H2 concentration
10 < H2 < 102
scc/kg
Time
0 < t < þ30
Years
2
2
F
ft/sec 7
Unitless
are conducted within the typical hydraulic domain of heat exchangers where 104 < NRe < 105. Thus, in many ways, these modeling efforts will push the limits of the current horizon of scientific understanding. Nonetheless, one must always start at the beginning, where the learning curve is the steepest and the science is at its infancy. It is from this vantage point that the potential for success and growth is the greatest.
PREFACE At the birth of the nuclear age in the early 1950s, scientists and engineers set out to harness the power of the atom for peaceful use as a clean alternate source of thermal energy. In the United States, almost all of this initial research was conducted by the government and would eventually be administrated by the U.S. Navy under NAVSEA08 (Naval Reactors). At that time, teams of the nation’s finest scientists and engineers were commissioned to investigate everything related to the task of converting the energy of nuclear fission to useable steam. This included the search for the optimum working fluid to be used as a heat transfer medium, and although many were tried and tested, light pressurized water would dominate the field of study and ultimately see the lion’s share of use during the next half century. Although water had been used for centuries as a versatile heat transfer working fluid, there were many new technical challenges relating to its use in nuclear reactors, including the high radiation fields within the nuclear core to which the coolant would be exposed. All of the initial research and investigation was performed in the absence of most of the fundamental science that is discussed in this book. What was understood, however, was that cleanliness was of paramount importance (to prevent the spread of radiation); thus, water purity was a critical concern. This understanding led to the use of the most corrosion-resistant structural materials of the time (stainless steels) and ultrapure, neutral pH water. (Note that within this context, the word “ultrapure” is a relative term. Chemists of the 1950s could not imagine the purity that is achievable with today’s technology.) At one of the earliest Canadian reactors at Chalk River Laboratories, the entire primary coolant system was found to be fouled with a highly radioactive black “gunk” of unknown origin. The discovery spawned the acronym CRUD, which stands for Chalk River unidentified deposit. To this day, when the nuclear industry discusses primary reactor coolant corrosion products and their consequences, the acronym is used, even in international references.
xi
xii
Preface
For more than 60 years, governments, companies, universities, and agencies have employed thousands of engineers and scientists to understand the nature of CRUD, what causes it, how it builds up and transports in primary reactor circuits, what might be done to mitigate its undesirable effects, and how to predict its behavior in these aqueous systems. There is a remarkable body of excellent research in the public domain in this field of study, rivaled only by the greater body of work that is somewhat less accomplished. Many have tried to develop predictive models of the physicochemical phenomena involved, but most have fallen short because the physical domain of chemistry and thermal-hydraulics required to model Mother Nature within the primary coolant of a nuclear reactor is almost unfathomable. Most notable are attempts to build correlative models of CRUD behavior; as discussed in this book, the forces and phenomena that affect the behavior of CRUD are far too complex to correlate based on a few physical parameters. Nonetheless, some success has been achieved, and although most of the validation of that work is shrouded in the secrecy of government classified documents, much of the fundamental science and understanding has been published (piecewise) in the public domain. This book attempts to string those pieces together into a cohesive statement of what is required to construct a first-principles, fundamentals-based analytical model to use as a predictive tool.
1
CHAPTER
The Corrosion Source Contents The Process The Form Why a Double-Layered Film? Ion Site Preference Kinetics Modeling the Behavior A Closer Look at kp Elemental Speciation of kp and kr 6. The Cobalt Source Tramp Cobalt in Construction Material High Cobalt Content Alloys 7. A Place To Start
1. 2. 3. 4. 5.
1 2 3 5 7 7 9 20 22 23 24 30
1. THE PROCESS Understanding the nature of Chalk River unidentified deposit (CRUD) must start at the source—that is, with the discussion of how CRUD is formed and the physical forms it takes once it is formed. As the definition implies, CRUD is born as a result of the oxidation (or corrosion) of the materials of construction in the primary reactor coolant circuit that come in contact with the reactor coolant. An affordable structural material that will not corrode in the presence of high-temperature, high-pH, hydrogenated water has not been discovered. Even the best corrosion-resistant alloys “rust”; the only thing that makes one more corrosion resistant than another is the rate at which the corrosion occurs. The process is the same for both iron- and nickel-based alloys in prototypical primary reactor coolant. When these alloys are exposed to primary reactor coolant at high temperature under prototypic coolant chemistries, oxygen will diffuse into the base metal at the wetted surface and convert the elements in the alloy from the metallic state to an oxide state. In the process, divalent metal ions are released into the water as soluble metal ions. The terms most # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00001-3
1
2
Nuclear Corrosion Modeling
often used in the literature to describe this process are corrosion growth (the conversion to oxide phase) and corrosion release (the release of divalent metal ions to the aqueous phase). The process by which we measure and characterize these corrosion kinetics (rates) is well described in the literature and is discussed in subsequent sections. Oxidation of these alloys is generally found to be congruent or nonselective (i.e., the elements oxidize in proportion to their weight percentages within the alloy), and the initial form and structure of the metal oxides is the same for both iron- and nickel-based alloys.
2. THE FORM Most transition metals (except gold and platinum) have solid oxide phases, and many can form more than one kind of oxide depending on the conditions under which the oxide is formed. For example, iron, a common element in corrosion-resistant materials, can form hematite (Fe2O3—the common, low-temperature red rust) and magnetite (Fe3O4—the high-temperature black rust or mineral that is formed in nature, deep within the earth’s crust). Both of these oxides have vastly different crystallographic and physical properties. Magnetite, for example, is ferromagnetic, whereas hematite is not. For aqueous systems, Pourbaix diagrams (e.g., see Beverskog et al. [8]) can be found in the literature that can be used to determine what the stable solid oxide phase might be, given a certain temperature, pH, and redox potential (which can be related to a dissolved hydrogen concentration). These phase diagrams show that at typical primary reactor coolant temperatures and chemistries, the stable solid oxide phases of iron, nickel, and chromium are most often a class of mixed double oxides called spinels of the form AB2O4 (magnetite [Fe3O4], nickel ferrite [NiFe2O4], ferrous chromite [FeCr2O4], and nickel chromite [NiCr2O4] are examples of spinels that can and do exist under primary reactor coolant conditions). The importance of this fact will become clear later. Corrosion scientists have known for many decades that when corrosion occurs on these structural materials in the primary reactor coolant circuit, two distinctly different corrosion films (or layers) are formed. This is best illustrated by example. Consider the photomicrographs in Figures 1 and 2. Figure 1 is a vertical section of the 10,000-hour corrosion film shown in plan view in Figure 2. Although these are images of a corrosion film grown on 304 stainless steel, they are similar in structure to those that will form on nickel-based alloys such as alloy 600, the only difference being that the corrosion films on alloy 600 are considerably thinner.
The Corrosion Source
3
1.0 μm
Ferrite-rich surface layer
Original machined surface Chromite-rich sub-layer
Figure 1 304SS Corrosion Flim (117.61 mg/dm2). (From Ziemniak and Hanson [1]).
1k hour 304SS coupon (39.25 mg/dm2)
7,000x
10k hour 304SS coupon (117.61 mg/dm2)
3,500x
Figure 2 Corrosion films on 304SS at 1K and 10K hours of exposure to 206 C hydrogenated water. (From Ziemniak and Hanson [1]).
The sublayer film is a chromium-rich spinel that grows down into the base metal and is microcrystalline and very well adherent. The surface layer, characterized by the large tetrahedral crystals, is an iron-rich spinel that is black in color and only very loosely adherent. This film is most certainly the infamous “gunk” first seen at Chalk River in the 1950s.
3. WHY A DOUBLE-LAYERED FILM? For decades, the surface morphology of these corrosion films had been studied without a plausible explanation as to why these oxides formed as two distinctly different films. The common wisdom of the time was that the stoichiometry of the corrosions films was driven by the temperature and the reactor coolant chemistry. Then in 2003, Ziemniak and Castelli [2] and Ziemniak et al. [3] expanded on previous work in the area of thermodynamic mixing in
4
Nuclear Corrosion Modeling
binary spinels and concluded that although the spinel solid phase was dictated by the temperature, pH, and dissolved hydrogen concentration in the coolant, actual stoichiometry of the films was defined by a solvus of immiscibility in the mixing of spinel binaries of normal and inverse spinels. Ziemniak and Castelli [2] investigated mixing in the iron-based system of the magnetite–ferrous chromite binary, and Ziemniak et al. [3] performed an experimental investigation of mixing in the nickel-based system binary of nickel ferrite–nickel chromite. The following narrative briefly describes the significance of these solvie of immiscibility. When mixing occurs in binary systems of double-metal oxides and the spinels being mixed are normal-to-normal, or inverse-toinverse, the mixing is near ideal and there are no forbidden stoichiometries. Thus, for example, when mixing magnetite and nickel ferrite, the mole fraction of nickel may assume any value from zero to one, with zero being magnetite and unity being stoicheometric nickel ferrite. However, when one examines mixing of normal-to-inverse or inverseto-normal spinels, there is almost always a temperature domain where there are forbidden stoichiometries and two uniquely different solid phases are stable. In these systems, at very high temperatures (e.g., T > 1000 K, geologic conditions) complete mixing is possible, no stoichiometries are forbidden, and there is only one solid phase at a given temperature. However, at lower temperatures, below a critical temperature known as the consolute solution temperature (Tcs), complete mixing does not occur, two solid phases are stable, and mixing is non-ideal. Thus, for example, in the magnetite–ferrous chromite spinel binary system, Ziemniak and Castelli [2] report that Tcs is approximately 600 C and the solvus fractions (n) of chromium near reactor temperatures are found to be 0.05 and 0.7, respectively (where Fe(Fe1-nCrn)2O4). Similarly, in a nickel binary system of nickel ferrite–nickel chromite [3], Tcs is estimated to be approximately 750 C and the stable solvus phases at reactor temperatures (300 C) occur at a nickel fraction of n ¼ 0.2 and n ¼ 0.7. This is illustrated in Figure 3. Using Figure 3, one can illustrate the growth of the corrosion films on a nickel-based alloy such as alloy 600. Upon exposure to hot primary reactor chemistry, the alloy begins to corrode and the chromium-rich (or chromite) sublayer begins to form first. This is probably due to the fact that chromium has a very low solubility in primary reactor coolant conditions (on the order of parts per trillion). Thus, virtually all of the chromium is
The Corrosion Source
5
800
Temperature, °C
700
600
500
400 Two-phase region 300
200 0
0.2
0.4
0.6
0.8
1
mol fraction chromite, n
Figure 3 Solvus of immiscibility in NiFe2O4–NiCr2O4 spinel binary. (From Ziemniak et al. [3].)
left behind in the corrosion film. As increasingly more of the alloy corrodes and iron enters the film, the mole fraction of chromium is diluted until it reaches the upper solvus value (n ¼ 0.7) at the reactor coolant temperature. At this point, no more iron can enter the chromite sublayer and the iron-rich ferrite surface layer begins to form. This layer is believed to be a recrystallization layer and as such is very loosely adherent. Many examples of these layer compositions under nominal reactor coolant conditions and in experiments in which zinc has been present in the water have been published. Some of these examples are summarized in Table 2.
4. ION SITE PREFERENCE The spinel corrosion films that form on these alloys have distinct sites in the crystal lattice where transition metal ions form bonds with oxygen atoms. Each transition metal atom has a slightly different atomic radius and thus there exists a site preference for one ion relative to another within the spinel crystalline structure. The understanding of this site preference is only important to the development of our mathematical model at a very
6
Nuclear Corrosion Modeling
Table 2
Summary of Corrosion Film Composition by Alloy
Alloy/ Chemistry
Chromite Layer Composition
Ferrite Layer Composition
304-SS/ nominal
(Ni0.2Fe0.8) (Cr0.7Fe0.3)2O4
(Ni0.2Fe0.8) (Fe0.95Cr0.05)2O4
1
304-SS/Zn
(Zn0.2Fe0.8) (Fe0.35Cr0.65)2O4
(Ni0.1Zn0.5Fe0.4) Fe2O4
4
Alloy 600/ nominal
(Ni0.7Fe0.3) (Cr0.7Fe0.3)2O4
(Ni0.9Fe0.1) (Fe0.85Cr0.15)2O4
5
Alloy 600/ Zn
(Zn0.55Ni0.3Fe0.15) (Cr0.75Fe0.25)2O4
Not reported
6
Alloy 625/ nominal
(Ni0.7Fe0.3) (Cr0.8Fe0.2)2O4
(Ni0.9Fe0.1) (Fe0.9Cr0.1)2O4
7
Reference
macroscopic level. This is true because it provides an explanation of how and why certain ions eventually end up in the corrosion films of alloys where the ion is not present in the base metal. The site preference is determined because Mother Nature always wants to seek the minimum energy state in a given system. For example, if magnetite (Fe3O4) is found in prototypical primary reactor coolant conditions where divalent ions of nickel are present in the aqueous phase, nickel will substitute into the magnetite displacing a divalent iron ion to form nickel ferrite (NiFe2O4) because nickel is more stable in the spinel (or exists at a lower energy state) than iron. Similarly, if cobalt is present in the aqueous phase, it will substitute into the spinel and displace either iron or nickel divalent ions because it has a higher site preference than either of these atoms. This process is ultimately how CRUD becomes radioactive in the primary reactor coolant circuit. Finally, if zinc is present in the aqueous phase, it will substitute into the spinel and displace cobalt because it has an even higher site preference. This is how zinc acts as a radiation inhibitor, and it is often employed as a coolant additive in commercial reactor applications. Ziemniak and Hanson [4] and Ziemniak et al. [6] have studied and reported the chemical equilibrium for the zinc substitution reaction in both iron and nickel alloy systems.
The Corrosion Source
7
5. KINETICS Thus far, the discussion has focused on the process by which CRUD is produced, the forms it takes once it is produced, and the current understanding of why CRUD takes these forms in the aqueous environment of a primary reactor coolant circuit. In this section, the focus is on modeling, measurement, characterization, and kinetics (or rates of production and release) of the CRUD source as it forms on the structural materials of interest in prototypical primary reactor coolant conditions.
Modeling the Behavior The most accepted mathematical description of corrosion growth is that by Ziemniak and Hanson [5]: The corrosion rates of pure metals, being controlled by the migration of ions and vacancies in the oxide lattice, are expected to follow a general “sinh law” model. Two limiting cases: inverse logarithmic kinetics (thin films) and parabolic kinetics (thick films), as well as an intermediate case (approximately cubic) are possible.
The obvious choice for our modeling here is the thick film model because the materials of construction of the primary reactor coolant circuit will see tens of thousands of hours of service and the corrosion films will become “thick films” in just a few thousand hours. Note that there is an abundance of corrosion kinetic investigations in the literature that use very short-term experiments (e.g., t < 500 hot hours) to try to characterize the kinetics of various materials. Many of these claim that a linear model is the best fit to their data, and in shortterm exposures it may well be. However, one cannot hope to characterize the thick film kinetics of these materials unless exposure times are at least 5000 hot hours. Some of the most thorough investigations of Ziemniak and Hanson [1, 4 to 7] are based on exposure times of 10,000 hot hours. Clearly, experimental investigations of this nature are rare because of the expense required to both execute the corrosion exposure and perform the gravimetric and surface morphological investigations of the corrosion films. Nonetheless, the mathematical expression of choice used to characterize the total corrosion growth rate is wðmg=dm2 Þ ¼ kp t 1=2
ð1Þ
where w is the surface mass density expressed in terms of milligrams of alloy and square decimeters of wetted surface area, t is the exposure time
8
Nuclear Corrosion Modeling
in hot hours, and kp is the total corrosion growth rate for the alloy (mg/dm2-hr1/2). This parabolic relationship allows us to define the first of many building block fluxes of mass to the corrosion growth by differentiating equation (1) to obtain the time rate of change of corrosion growth: @w 1 kp ¼ pffi @t 2 t
ð2Þ
It must be clear that equation (1) does not describe the time-dependent nature of the corrosion mass of alloy that remains in the corrosion film (wr) after t hot hours of exposure. It describes the milligrams per square decimeter (mg/dm2) of alloy that have been converted from the metallic phase to the oxide phase as our definition implies. The remaining mass in corrosion film is given by wr ðmg=dm2 Þ ¼ ðkp kr Þt 1=2
ð3Þ
where kr is the release rate coefficient usually stated as a percentage of the total growth rate (or in similar units). The remaining mass (wr) is the mass that is observed on the experimental corrosion coupons. Recall from the description of the process that divalent metal ions are released as oxygen diffuses into the base metal. Thus, differentiation of equation (3) can be used to obtain the time rate of change of mass into both the corrosion film and the soluble phase. Here, it is necessary to briefly discuss the release rate (kr) that is routinely published in the literature. A more accurate description of this rate constant would be to call it the apparent release rate because it describes the mass of alloy that has been converted to an oxide phase that is not present in the residual chromite and ferrite films. In reality, however, all of the mass of metal in the observed ferrite layer has been released during the oxidation process as well. Recall that this is a recrystallization layer formed by hydrothermal crystallization. This layer is found on the surfaces of the corrosion coupons used to study the kinetics in the literature because there is virtually no mass flux (and thus no hydraulic sheer) in the experimental setup [1]. In this regard, the experimental setup is atypical of the hydraulic domain found in the primary reactor coolant circuit where the coolant mass flux and sheer are large and released mass can be carried away.
The Corrosion Source
9
Before one can actually use kr as a rate constant in the mathematical model, it must be adjusted to reflect the actual or total release. This is described in subsequent sections.
A Closer Look at kp At first glance, the mathematical model used to describe the corrosion process (eq. 1) appears to be very simple in that the mass at any time is simply a function of time and a single rate constant. In an ideal case, the corrosion rate of each different alloy would be described by a single rate constant unique to that alloy under all conditions. In fact, until recently, this simplistic approach drove many of the modeling attempts to describe the nature of CRUD. Unfortunately, Mother Nature is not so easily described. This section discusses the sensitivity of the corrosion kinetics to a host of variables and notes some of the limitations of the experimental approaches used to investigate these alloys. It is shown that temperature, initial surface condition (or microstrain), and coolant additives (e.g., zinc) can all affect the corrosion kinetics of these structural alloys. Temperature Of the physical parameters that can affect the corrosion kinetics of a given alloy, temperature is probably the most obvious and easiest to understand and characterize. Recall from the discussion of the process that the corrosion of these alloys is a result of oxygen diffusion into the base metal; thus, temperature has a significant effect on the diffusion rate. This is illustrated in Figure 4.
Kp (mg dm–2 hr–1/2)
3
1
0.3
0.1
0.03 1.5
1.6
1.7
1.8
1.9
2.0
100/Temperature (K)
Figure 4 Effect of temperature on the corrosion rate of alloy 600. (From Ziemniak and Hanson [5].)
10
Nuclear Corrosion Modeling
It is this temperature effect that corrosion scientists often use to accelerate corrosion kinetic tests by running the tests at elevated temperatures and then relating the results to lower temperatures using the “Arrhenius activation energy” derived from the slope of curves such as that in Figure 4 (see the discussion in Ziemniak and Hanson [5]). I believe, however, that it is not good practice to combine the results from various different references in the literature to evaluate the temperature effects of corrosion. Rather, a more reliable understanding of the activation energy would be achieved using the data from a single investigator where all of the coupons for each experiment were manufactured from the same heat of material at the same time and the surface microstrain was known and reported. Zinc in the Aqueous Phase The modeling of the nature of CRUD in the presence of zinc as a coolant additive is significantly complicated by the fact that zinc in the water fundamentally changes the corrosion kinetics of these corrosion-resistant alloys. This is illustrated in Figure 5, in which the experimental investigation was performed with 30 ppb zinc in the water. In this case taken from Ziemniak and Hanson [4], the total corrosion growth rate in nominal chemistry was reduced approximately 75% by 120
Corrosion, mg (alloy) dm2
100 (a)
80 60 40
(b) 20 0
0
20
60
40
80
100
1/2
√time, hr
Figure 5 Effects of zinc on the corrosion kinetics of 304 stainless steel: A, nominal chemistry; B, 30 ppb zinc. (From Ziemniak and Hanson [4].)
The Corrosion Source
11
the presence of zinc in the aqueous phase. The discussion in Ziemniak and Hanson [4] also shows that the effect is dependent on the concentration of zinc in the water. Surface Condition Only relatively recently [9] have investigators begun to explore and understand the effect that the initial surface condition of the corroding structural material can have on the corrosion kinetics of the material. The initial surface condition, or more precisely the amount of microstrain in the wetted surface, may change the total corrosion growth rate by as much as an order of magnitude in some structural alloys. This discussion briefly describes microstrain, how it is added or removed from surfaces, how it is measured and/or characterized, and the effects that it has on the corrosion kinetics of these structural materials in prototypical primary reactor coolant chemistry. Microstrain is strain at the crystalline scale that is introduced into the surface of an alloy as a result of cold working of the surface. This strain is intrinsically different from the macroscopic strain that mechanical engineers and metallurgists study to create stress-strain curves for different metals. Microstrain manifests itself as small areas of high energy on the cold-worked surface of the crystalline lattice. At these locations of high surface energy, it takes less energy for oxidation to occur than required on a stress-free surface. Thus, these areas act as nucleation sites for oxidation to initiate, and once oxidation begins, it continues to grow rapidly and to spawn the large crystallites illustrated in Figure 2. In contrast, a strain-free surface oxidizes very slowly and very uniformly, forming a microcrystalline film at a significantly reduced rate because of its uniformity and lack of nucleation sites that accelerate the oxidation. This discovery has provided a much more plausible explanation for why surface treatments such as electropolishing, mechanical polishing, and thermal annealing act to reduce the corrosion of these structural materials. The corrosion benefit of electropolishing of structural materials has been recognized for decades. In the iron- and nickel-based alloys, the common explanation for this benefit was thought to be that the electropolishing left a very thin, chromium oxide film on the surface that acted as an oxidation barrier. It is now understood that electropolishing, like mechanical polishing, acts to remove very small amounts of metal from the surfaces, and in the process, the surface is left with significantly less surface microstrain. Thermal annealing acts as a stress release, leaving the surface strain free.
12
Nuclear Corrosion Modeling
A significant number of surface morphology studies performed by skilled X-ray diffraction scientist are required to measure the degree of microstrain in these corrosion-resistant materials. These studies are almost always performed on as-machined, unexposed corrosion coupons. The following is a brief description of the measurement technique. It is best illustrated by example: Consider the X-ray diffraction spectra illustrated in Figure 6 obtained by a process called grazing incidence X-ray diffraction (GIXRD). Figure 6 illustrates the X-ray diffraction peak of the [1,1,1] crystalline plain on as-machined alloy 600 taken from Ziemniak and Hanson [5]. The near angle spectrum taken at f ¼ 0.5 incident angle characterizes the crystalline structure at the surface, whereas the steep angle spectrum (f ¼ 16 ) characterizes the structure of the base metal. The peak broadening observed at the full width at half maximum in the surface is an indication of the microstrain in the surface resulting from the cold-work, single-point machining of these corrosion coupons. A skilled surface scientist can use analytical techniques to measure the percentage microstrain and differentiate the peak broadening caused by microstrain from other phenomena that may also broaden these spectra.
1000
(a)
FWHM = 0.242°
750
Intensity(Counts)
500 250 0 10.0
(b)
6.0
FWHM = 0.096°
5.0 4.0 2.0 ⫻10−7
31.5
Nickel, syn-Ni
32.0
32.5
33.0
33.5
2-Theta (°)
Figure 6 GIXRD spectra alloy 600, as machined: A, f ¼ 0.5 ; B, f ¼ 16 . (From Ziemniak and Hanson [5].)
The Corrosion Source
13
Initial studies have found that an order of magnitude reduction in the percentage microstrain on iron- and nickel-based alloys can result in a factor of 3 to 5 reduction in the total corrosion growth rate in prototypical reactor coolant chemistry. Thus, rather than being single valued, as evaluated in most of the literature, a more realistic view of the total corrosion kinetic rate is that it is a function of both temperature and microstrain, as illustrated in Figure 7. This schematic illustrates a significant shortcoming of most of the historic corrosion kinetic work. Most of them are experimental investigations performed at a single temperature and almost none of them report the pretest microstrain in the corrosion coupons used in the experimental investigation. Furthermore, it would be impossible to conduct enough experimental investigations to characterize the total corrosion rate over the entire domain of relevant temperatures and microstrains that one might expect to find in the primary reactor coolant circuit. This leads to a significant and complex question: How does one relate the measurement of the corrosion behavior measured on corrosion coupons in the laboratory to the actual materials deployed in reactor coolant circuits? Before this question can be considered, it is necessary to understand more details about the tests and experiments used to measure the corrosion kinetics and also about the manufacturing of materials used in reactor plant construction. The Experimental Technique Before one can describe the experimental procedures, setup, and sample preparation, it is important to understand the nature of the post-text analysis that will be used to characterize both the corrosion kinetics and the composition of the corrosion films precisely.
kp
ain str
oicr
%
[1]
m
T
Figure 7 Schematic of the domain of kp in temperature and microstrain.
14
Nuclear Corrosion Modeling
Historically, two basic kinds of analyses are used to investigate corrosion samples in these experiments. The first are gravimetric studies, or precise measurements of weight changes at different exposure times. These weight change measurements require a chemical (or sometimes electrochemical) descale process as described in American Society for Testing and Materials International (ASTM) procedure G1-67 (e.g., see the discussion in Ziemniak and Hanson [1, 4]). These studies provide the measurement of the total corrosion and release rates. Then a series of surface morphology studies are required to characterize the composition and crystalline nature of the corrosion films. These studies employ sophisticated physicochemical analytical techniques, including, but not limited to, transmission electron microscopy, electron diffraction and X-ray spectroscopy, GIXRD, and X-ray photoelectron spectroscopy. These surface morphology techniques can determine the crystalline lattice parameter (or atom spacing within the spinel); the film composition as a function of depth into the corrosion films; and, with special statistical analytical techniques called target factor analysis, the ionic composition of the film as a function of film depth. That is, it is possible to distinguish, for example, the difference between Fe, Feþ2, and Feþ3 ions in the films as a function of corrosion film depth (see Hanson’s work in references [1] and [4 to 7]). This understanding is an important prerequisite because the gravimetric studies require a different size coupon than those used for the surface morphology studies. Gravimetric coupons must be large enough so that weight changes can be accurately measured to within five decimal places in grams, and surface morphology coupons must be small enough so that they can be placed in the relatively small vacuum chambers of the microscopes that are used for the morphological investigation. Ziemniak and Hanson [1] state that the gravimetric coupons used in their study were sized to be approximately 1 dm2 (i.e., 4 3/4 0.032 inches), for convenience, and the surface morphology coupons were approximately 5/8 3/4 1/16 inches to accommodate the postanalysis microscopy. These thorough investigations (e.g., Ziemniak and Hanson [1]) require triplicate coupons for both kinds of studies at each exposure time (as many as five; e.g., 0, 1000, 2000, 5000, 8000, and 10,000 hot hours); thus it is not uncommon to prepare as many as 100 large and 100 small coupons for any given test. Furthermore, when side-by-side testing is performed to study, for example, the effects of zinc or surface finishes such as electropolishing, the number of coupons may double or even triple.
The Corrosion Source
15
It is absolutely imperative that (1) the material used is traceable to its source (i.e., procurement material certification exists for the wrought stock), (2) all coupons are made from the same heat of material, (3) all machining is performed by the same documented process and at the same time, and (4) a generous number of extra coupons are manufactured for pre- and post-test analysis (and to be stored as library samples). Then, and only then, can one begin to specify a test plan for a corrosion kinetic study. There is another prerequisite under the category of “best practice” but that is not always accomplished until testing is completed. Specifically, it is important to expose as-machined, unexposed coupons to the chemical descale process to measure the rate of base metal attack of the chemical process on the base alloy. In this process, coupons are descaled for discrete periods of time (i.e., the same exposure time in each of many descale exposures) and the expectation is that the same amount of weight loss will be measured after each exposure. That is, the base metal attack is expected to be relatively small (a few tenths of milligrams for a 1 dm2 coupon) and linear with the number of exposures. This linearity is required to conclude when all of the post-test corrosion film has been descaled from the coupons. If the descale of unexposed coupons fails to meet the expected behavior, then there is something wrong with either the chemical process or the coupon surface. For example, micropitting or excessive de-alloying at grain boundaries can cause intergranular attack and accelerated chemical attack of the base metal. If this is identified pretest, the coupons should be discarded and the cause of the difficulty identified and corrected. If this occurs post-test, the test results will be lost. This pretest investigation is just one reason for the manufacturing of extra coupons. The pretest measurement of surface microstrain using XRD is another. A typical experimental apparatus is described in Ziemniak and Hanson [1] but shall be elaborated on here. Basically, these are once-through (as opposed to recirculating), high-pressure (e.g., 1800 to 2000 psia), hightemperature (e.g., 450 F < T < 650 F) flowing autoclaves with approximately a 2-L capacity. As an aside, note that some investigators have attempted to perform these investigations in static (i.e., nonflowing) autoclaves, but it is very difficult to maintain control of pH and hydrogen concentration for extended periods of time in these systems. Generally, there are several low pressure/temperature feed water tanks that are used to maintain the chemistry. In these tanks, high-purity deionized water is first sparged with nitrogen to eliminate dissolved oxygen.
16
Nuclear Corrosion Modeling
Then the pH control agent is added to adjust the coolant to the proper room temperature pH and a hydrogen cover gas is applied to the vapor phase to maintain the desired dissolved hydrogen concentration. The hydrogen concentration is easily computed using Henry’s law. At this juncture, an important aside about the composition of these tanks and the tubing and wetted surface of the autoclave must be discussed. Recently, investigators have had to pay more attention to how much iron and nickel is introduced into the corrosion films of the coupons (a term called pick-up) that were not present in the base metal of the coupons [7]. This extraneous iron and nickel comes from sources in the feed water or autoclave surface and can be a significant complication in the evaluation of the test results. In material investigations in which the corrosion rate is relatively large and the films are thick (e.g., 304 stainless steel), the error introduced by this pickup is very small. However, in modern corrosionresistant nickel-based alloys such as alloy 625 or alloy 690, for which the corrosion rate and films are very small, the error caused by metal ion pickup can be significant. Thus, recent improvements in these systems have included attempts to minimize the amount of metal ions in the feed stream and inside the autoclave environment. For example, feed tanks lined with Teflon have been employed, and inert flowing systems lined or constructed from relatively inert materials such as titanium, platinum, or gold have also been used. After chemistry has been established, the water is drawn from the feed tank using a high-pressure, low-volume pump. Pumping rates in these experiments are measured in cubic centimeters/minute. This pump raises the fluid pressure to the desired test conditions and introduces it into a set of heaters that elevate the temperature to the specified test condition before it enters the autoclave. Back-pressure regulators are used to maintain system pressure on the discharge line from the autoclave where the process water is cooled and ultimately discarded. Coolant sampling lines and pressure and temperature monitor/recorders are strategically placed in the system to allow automatic system control via computer-driven PLC controllers. Coupons are suspended in the autoclave by hanging on racks that are designed so that they will not come into contact with each other or the autoclave. At pre-prescribed times through out the test, the autoclave is cooled and a subset of the coupons is removed for analysis. At these times, an important consideration is to replace the subset of removed coupons with an equal number of each size so that the surface-to-volume ratio of
The Corrosion Source
17
corroding coupons remains constant throughout the test. The time-dependent nature of the material corrosion is evaluated through this periodic removal and insertion of coupons. Fundamentally, a meticulous execution of the test and coupon investigation as illustrated in Ziemniak and Hanson [1] will accurately determine not only the growth/release rates but also the chemical compositions of both corrosion films. The difficulty in applying this information to reactor plant models stems from how the corrosion coupons are manufactured (which determines surface condition) and how it relates to the materials of construction in a typical reactor plant. Let us first consider a typical method of manufacturing test coupons for these experiments. Typically, an investigator will specify the size, number, material, and identification serialization of coupons to a manufacturing group (or machine shop) for a given set of corrosion test coupons. The machine shop will obtain traceable wrought stock material as plate, bar, or round stock that will be used to manufacture the coupons. Small and large coupons are generally rough machined from the wrought stock, often using a burning wire technique called “wire EDM.” This is not the only rough machining process, but it is often used because it is easily automated by computer-controlled machines and lends itself to mass production. The rough cut coupons then receive finish machining to the final dimensions by single point machining in computer-controlled milling machines or surface grinders, generally depending on the hardness of the material being machined (e.g., Stellite is often too hard to machine and is ground to the final test dimensions). It is the finishing machining that imparts the cold work surface microstrain to the coupons and, as one might expect, grinding will create a different surface than milling. In stark contrast, almost none of the wetted surface areas in a typical reactor coolant circuit are manufactured this way. Let us assume that the entire reactor primary coolant circuit is manufactured from one type of material (either stainless steel or alloy 600). This is almost never the case, but this assumption will significantly simplify the discussion. Table 3 illustrates the different kinds of manufacturing materials, processes, and wetted surface areas in a typical reactor plant design (note that areas are specified as ranges of percentages due to the large variety of reactor plant designs). In Table 3, alloy 600 is used as an example of a corrosion-resistant material, but realistically large forgings of nickel-based alloys are cost prohibitive so most plants are constructed using mixed materials. For example, the piping runs and cladding may be stainless steel, whereas the steam
18
Nuclear Corrosion Modeling
Table 3
Examples of Reactor Coolant Circuit Materials and Manufacturing
Fraction of Total Wetted Surface Area (%)
Fraction of Corroding Wetted Surface Area (%)
Component
Material
Manufacturing
Piping, pumps, valves
Alloy 600
7–10
3–5
Steam generator tubing
Alloy 600
50–65
70–85
Cold-drawn, bead-blasted, thermal annealed
Steam generator plenum
Carbon steel clad with alloy 600
2–5
1–2
Machined, weld lay-up cladding
Reactor fuel
Zircaloy
30–40
NA
NA
Reactor vessel and internals
Alloy 600 or carbon steel clad with alloy 600
15–20
10–15
Forgings
Machined or machined, weld lay-up cladding
NA, not applicable.
generator tubing might be a nickel-based alloy such as alloy 600. Nonetheless, the important information to note from this table is the different manufacturing techniques. Thus, for example, large-diameter piping that can be from 24 to 48 inches in diameter is most often manufactured as large forgings that are only machined where mating surfaces are needed. The wetted coolant surface is often grit or bead blasted to remove a “recast” oxide layer. This process most often leaves the surface in compression and smooth but with an irregular surface. Steam generator tubing is almost always cold drawn, where the inside (primary coolant wetted surface) receives a different treatment than the external (secondary coolant) side. Often, the tube inside is grit or bead
The Corrosion Source
19
blasted and the outside diameter is ground or belt sanded to the final wall specified dimension. These tubes often receive a thermal stress relief after bending. Finally, large pressure vessels such as plenums, heads, and reactor vessels are often made of high-strength carbon steel that then receives a corrosion-resistant cladding. This is done for both cost and strength considerations. The clad is often applied by multipass weld lay-up and is postweld machined to the specified dimensions. All of these different manufacturing methods make it nearly impossible to relate the results of corrosion coupon testing to actual behavior of these materials in a primary reactor coolant system. Nonetheless, one must start with the information available and attempt to direct the fundamental research in a more practical direction. For example, I believe that a more prototypical set of corrosion growth/release measurements could be conducted using library samples of steam generator tubing from tubes that have actually been deployed in a pressurized water reactor (PWR) steam generator. Table 2 illustrates that although the steam generator tubes account for only approximately 50% of the wetted surface area of the primary coolant circuit, they may account for as much as 80% of the corroding surface area of the plant. An experimental investigation using steam generator tubing would require new and novel manufacturing techniques as well as a requalification of chemical descale procedures. The following discussion outlines how one might attempt to conduct such an experimental investigation. When contracts are placed for tubing material to manufacture nuclear steam generators, literally hundreds of thousands of linear feet of tubing is manufactured in multiple heats (or batches). Each heat of material has strict material control specifications, and library samples (i.e., lengths of tubing that have undergone the full manufacturing process) are set aside from each heat in case material defects or difficulties occur postmanufacturing. These library samples could be used as the wrought stock for corrosion kinetic testing. The difficulty in using these tubes as corrosion specimens is that it is only the corrosion kinetics of the inside surface of the tube (and its associated surface condition) that we want to measure. The challenge, therefore, is to devise a geometrical configuration where only the inside surface of the tubing specimens is exposed to the test environment. One approach might be to create tube-half specimens by parting short lengths of the tubes longitudinally along the long axis of the tubes.
20
Nuclear Corrosion Modeling
Once machined, an inert material such as gold or platinum could then be applied to the outside surface of the tubes. Many techniques might be used for this purpose, such as masking and sputtering, physical vapor deposition, or plasma spray. These unexposed, as-machined specimens must then be exposed to the chemical descale process to ensure that the descale solutions do not attack the inert metal and only attack the inside surface base metal. This approach introduces significant complications into the manufacturing and experimental process, including the issue of availability of library tubing material. Nonetheless, the success of even one of these experiments might provide guidance regarding how to better relate typical coupon test results to that of actual material deployed in a reactor coolant system.
Elemental Speciation of kp and kr The astute reader might be wondering why so much effort is placed in the surface morphological evaluation of these corrosion films. Sometimes, man-years of effort is expended in these studies. After all, equation (3) illustrates that the entire corrosion process is described if one knows kp and kr. There are two reasons why this work is needed. The first is to characterize the actual release rate constant instead of the reported apparent release rate. The second is that for these kinetics to be useful in a fundamental model, they must be speciated by element (i.e., iron, nickel, chromium, etc.). That is, the mass balance equations that will be constructed will balance the grams of iron, nickel, and cobalt, no grams of alloy. Speciation of the alloy corrosion kinetics into elemental corrosion kinetics would not be possible without knowing both the composition and the relative abundance of the chromite and ferrite layers found on the corrosion coupons. Computation of the Actual kr Equation (1) illustrates that at any time t, the total mass of alloy that has been converted from the metallic state to the oxide state is proportional to kp. Similarly, equation (3) illustrates that at any time t, the total mass observed in the remaining corrosion films (both chromite and ferrite layers) is proportional to (kp - kr), where kr is the apparent release published by the experimental investigator. To characterize the actual release rate, one must have additional information that is deduced from the morphological investigation of the surface films. Thus, for example, the characterization of the surface films
The Corrosion Source
21
in Ziemniak and Hanson [1] indicated that approximately 42% of the total corrosion mass observed on the 304 stainless-steel coupons was found in the chromite layer and approximately 58% was observed in the remaining ferrite layer. Using this information, we know that at any time t, the total mass in the chromite layer is proportional to 0.42 (kp - kr) and the actual release rate constant for 304 stainless steel is given by kr ¼ ½kp 0:42 ðkp kr Þ
ð4Þ
Equation (4) accounts for the fact that the ferrite layer is a recrystallization layer and the iron and nickel mass in that layer was originally released from the base metal as divalent metal ions and was not carried away in the autoclave flow but, rather, recrystallized onto the corrosion coupon surface, where it was characterized and measured by Ziemniak and Hanson [1]. Elemental Speciation Speciation of the alloy corrosion growth and release rate data into elemental corrosion kinetic constants is illustrated using the 304 stainless-steel data published by Ziemniak and Hanson [1]. The first row in Table 2 presents the ferrite layer and chromite layer composition of the corrosion films [1]. Using the formula weight of these oxides and the relative percentages of mass in each of the residual corrosion films, one can compute the fraction of iron, nickel, and chromium in the combined corrosion films. (Note that for this mass balance, we are interested in computing only the metal mass.). Thus, given the published total corrosion growth rate for 304 stainless steel of 1.16 mg/dm2-t1/2 and the apparent release rate of approximately 13% [1], the elemental speciation of these alloy kinetics is illustrated in Table 4. Note that the elemental kinetics is now in units of milligrams of metal mass, whereas the total is in units of milligrams of alloy. Implicit in this speciation is the fundamental assumption that all of the chromium remains behind in the chromite layer film (or there is no release of chromium to the coolant). This assumption is the first of many simplifying assumptions that will be made in constructing our analytical model; however, it can be seen from the ferrite layer compositions in Table 2 that this simplification is both reasonable and appropriate. Therefore, the first task in building a fundamentals-based corrosion source/release model is to construct a library of speciated elemental corrosion growth and total release coefficients for each structural material that may be used in the construction of a PWR primary reactor coolant circuit.
22
Nuclear Corrosion Modeling
Table 4
Elemental Speciation of 304 Stainless-Steel Kinetics (mg/dm2-t1/2)
Total Corrosion Growth (kp)
Apparent Release Rate (kr)
Actual Release Rate (kr )
Ni
0.0824
0.0109
0.05237
Cr
0.2048
0.0000
0.0000
Fe
0.8728
0.1399
0.5950
1.16
0.1508
0.6173
Element
Total
This is a daunting task given the limited availability of thorough investigations of corrosion growth/release in the literature. Adjusting Kinetics for the Presence of Zinc The ambitious modeler will also want to write balance equations to simulate the effects of the zinc additive (i.e., the radiation inhibitor) on the corrosion films of the reactor plant. To do this, balance equations for both stable zinc-64 and radioactive zinc-65 will be written for both surface films, soluble species, and particulates. Zinc in the aqueous phase significantly affects the corrosion growth/ release of structural materials, as has previously been discussed. It is possible, however, to adjust the non-zinc elemental corrosion kinetics for the presence of zinc in the aqueous phase. Consider the adjustment factor for 304 stainless steel illustrated in Figure 8. Using relationships such as those illustrated in Figure 8, the instantaneous value of corrosion growth/release rate constants for construction materials can be adjusted based on the instantaneous concentration of zinc in the aqueous phase. (Note that this concentration is the sum of the soluble and particulate dependent variables for zinc.)
6. THE COBALT SOURCE Thus far, the discussion has focused on the source of the nonradioactive constituents of CRUD, which is not to say that both iron and nickel can transmutate into radioactive species, but in their elemental form, they are the ultimate source of the material that we define to be CRUD. Although there are many forms of radioactivity in primary reactor coolant,
The Corrosion Source
23
Kp/(Kp)o, dimensionless
1
0.1
0.01 0
10
20
30
40
50
60
Zinc Concentration, ppb
Figure 8 Relative decrease in 304 stainless steel kp versus aqueous phase zinc. (From Ziemniak and Hanson [4].)
by far the most significant contributor to personnel radiation exposure in the absence of any significant percentage of failed fuel comes from cobalt-60, which is produced from elemental cobalt-59 by the following reaction: 27 Co
59
ðn; gÞ27 Co60
ð5Þ
Cobalt-60 is a significant contributor to personnel exposure because it decays with two very energetic (and thus very penetrating) photons (i.e., 1.17 and 1.33 MeV) and because it decays with a very long half-life of 5.271 years. It can be seen from equation (5) that if one intends to predict the buildup and decay of cobalt-60 in a fundamental analytical tool, then one must be prepared to describe the elemental source of cobalt (i.e., cobalt-59) from which cobalt-60 is produced. Thus, this section discusses the potential sources of cobalt introduction into the primary reactor coolant, the mechanisms for that introduction, and how one might model the sources.
Tramp Cobalt in Construction Material All corrosion-resistant alloys used in the construction of primary reactor coolant systems have small amounts of cobalt (often categorized as a tramp
24
Nuclear Corrosion Modeling
metal impurity) as an elemental weight percent in the base metal. Long ago, designers realized that it was imperative for the cobalt content of these alloys to be very, very low, so ASTM specifications for both iron and nickel alloys specify maximum cobalt contents in tenths of weight percent (e.g., iron-based alloys typically specify cobalt at 0.5 wt% max and in nickel-based alloys the specification may be as low as 0.1 wt% max). This low cobalt content specification contributes significantly to the cost of these alloys. Although these specifications are very low, metallic chemical analysis of manufactured material routinely shows that the actual cobalt content is almost always considerably lower than the specified maximum, sometimes by as much as a factor of 5. The actual source of elemental cobalt in primary reactor coolant is a highly debated subject, and there is a significant opinion in the literature that the majority of it comes from tramp cobalt in the base metals of construction. I am not of this opinion for several reasons. First, the literature investigations of the corrosion kinetics of these materials of construction have found that the corrosion (and, more important, the release) is a nonselective or congruent process. This means that the release of tramp cobalt from the corrosion of the base metal will be proportional to the weight percentage of cobalt in the base metal. Although there are very large wetted surface areas of these materials, the release of tramp cobalt from these surfaces is insufficient to explain the grams of elemental cobalt that are observed in primary coolant circuits as a result of both purification system media discharges and reactor coolant system chemical cleanings. Second, none of the morphological investigations of the corrosion films on iron- or nickel-based corrosion coupons report any cobalt in the spinel corrosion films. This is not to say that there are not cobalt atoms present. However, if they are, they are present at levels far below the current levels of detectability for these sophisticated analytical techniques, which would tend to confirm the presumption that tramp cobalt is not a significant source of cobalt in primary reactor coolant water.
High Cobalt Content Alloys The most plausible source of cobalt in primary reactor coolant (at least to this investigator) comes from the small amounts (i.e., small in comparison to wetted surface area of other construction materials) of high cobalt content alloys that are employed in mechanical equipment such as pumps, valves, and control rod drive mechanisms as bearings or wear pads.
The Corrosion Source
25
Historically, engineers and designers have used two types of materials as bearings in mechanical equipment—soft bearings and hard bearings. Soft bearings (e.g., babbet) are used to protect highly machined and expensive rotating shafts (e.g., turbine or pump rotors) from being damaged by excessive wear. Soft bearing materials (often made from copper, brass, or bronze alloys) are inappropriate for use in primary reactor coolant chemistries at high temperature because these metals have high solubilities in prototypical reactor coolant and are bad “actors” in the world of stress corrosion cracking of both iron- and nickel-based corrosion-resistant alloys. Hard bearing materials (often called “hard-facing” in the literature because they are most often applied coatings on other structural metals) are used to protect structural materials from excessive wear in both sliding and rotating applications in which soft bearings cannot be used. A large selection of alloys and materials can be used as hard bearing materials, and these are manufactured from a host of different elements, such as carbon, tungsten, and chromium. However, it is difficult to find materials that exhibit the same lifetime performance characteristics as those found in high cobalt content bearing materials (e.g., Hanes-25 and Stellite-5 or -6). Thus, although there has been a concerted effort in the nuclear industry to reduce the use of cobalt bearing materials in the primary reactor coolant circuit, high cobalt content bearings are still often the material of choice for cost and lifetime performance reasons. Stellite Here, the discussion of high-cobalt bearing materials focuses on a class of alloys called Stellite but is generally applicable to most other similar alloys. Although there are many different alloys of Stellite, the composition of the alloy can be generally characterized as follows: Cr, 29 wt%; W, 4.5 wt%; C, 1.5 wt%; Co, 52.5 wt%; balance, other. It is a very hard (Rockwell C, 40 to 50), very strong (ultimate tensile, 130,000 psi), dense (8.2 g/cm3) material and, unlike iron- and nickel-based alloys, is a twophase metal with islands of tungsten and chromium carbides dispersed in a solid solution of a cobalt-chromium binary. Although Stellite is different crystallographically from iron- and nickelbased alloys, it corrodes in a similar manner in primary reactor coolant as oxygen diffuses into the base metal and releases divalent ions of cobalt into the aqueous phase. The corrosion film that forms is also a well-adherent single-layered spinel (i.e., cobalt chromite [CoCr2O4]), which is measured
26
Nuclear Corrosion Modeling
and characterized by the same kind of corrosion kinetics studies previously described—the only difference being that the descale process is often an electrochemical process. Stellite is most often used as an applied surface coating on structural materials because it is too costly to manufacture large parts from solid castings of the material. Methods for application include, but are not limited to, oxyacetylene or inert gas tungsten arc weld lay-up, plasma spray, and laser deposition. Post application, parts are machined to final dimensions by either single-point machining or grinding. Because of its hardness, Stellite is difficult to machine. The corrosion growth/release kinetics of Stellite is also affected by the amount of cold-worked microstrain in the surface, as is the case with other structural materials. Thus, an important consideration in conducting corrosion kinetic testing is that the test coupons be manufactured using a prototypical hard-facing process. For example, it would not be appropriate to simply machine corrosion coupons from bar or rod stock of the material. Rather, one should use one of the hard-facing application processes to build up material on a metallic substrate and then machine off the weld lay-up for the purposes of coupon manufacturing. One must also measure the surface microstrain in the corrosion coupons using XRD; however, this becomes a much more significant challenge for the X-ray spectroscopist because Stellite is a two-phase material and there are fewer X-ray diffraction peaks that are unique to the solid solution that can be used for the microstrain analysis. Nonetheless, a skilled surface scientist can characterize the surface with a somewhat larger statistical error than is expected from single-phase material. One subtle difference in the post-corrosion analysis of the oxide film found on Stellite relative to that found on iron- or nickel-based alloys is that the apparent release on Stellite is the actual total release because no ferrite layer forms on this alloy. If a ferrite layer is present, then it was formed by metal ion pickup from the process water and not from the corrosion of the base alloy. It is worth noting that some preliminary work has been done to investigate the potential corrosion benefit of surface finishes on reducing the corrosion kinetics of Stellite alloys. Electropolishing procedures, for example, have been developed for this material; however, to date, no definitive studies evaluating the effects of electropolishing on Stellite have been published.
The Corrosion Source
27
The Cobalt Source Mechanism In the literature, the debate about the mechanism by which cobalt is introduced into the primary reactor coolant system is as heated as the debate about the ultimate source of elemental cobalt. Mechanical engineers, metallurgists, and bearing designers insist that shards of Stellite metal that are galled or worn off bearing surfaces are the primary source, and an enormous amount of accelerated wear testing is performed to measure and characterize the metal loss from Stellite bearings and hard-faced surfaces. Unfortunately, even if one makes the most conservative estimates of how much additional surface area of Stellite is exposed to the coolant by this erosion, the relatively small increase in corrosion release is insufficient to explain the observed mass of elemental cobalt found in either purification media discharges or chemical cleanings of reactor coolant systems. I hypothesize that only two plausible mechanisms have the potential to release the amount of soluble cobalt mass during the þ30-year lifetime of reactor plants that has been observed in reactor coolant systems—corrosion release and wear-accelerated corrosion release. These are best described within the context of concrete examples; thus, consider the typical gate valve illustrated in Figure 9. Figure 9 illustrates that the horizontal flow in this valve is blocked by a V-shaped gate that slides down into a corresponding V-shaped cavity in the valve body. It is these sliding surfaces both on the gate and on the valve body that would typically be treated with hard-facing protection. Similarly, on a globe valve, the entire globe and seating surface in the valve body would be protected with a material such as Stellite. Although the entire surface of these parts in these fittings would typically be hard-faced, the actual sealing or sliding surface is only a small fraction of the total wetted surface area of the hard-facing that is exposed to the primary reactor coolant. The noncontact wetted surface area will release divalent ions of cobalt into the aqueous phase as it corrodes, as previously discussed. The sliding or contact wetted surface area, however, is thought to be the more significant source of release that occurs by a mechanism called wear-accelerated corrosion. The process of wear-accelerated corrosion growth/release is illustrated in Figure 10 and in the following narrative. Notice that in the typical parabolic behavior of corrosion growth/release, the steepest part of the curve (or most release) occurs when bare metal is exposed (at or near time 0 in Fig. 10). In time, with normal corrosion,
28
Nuclear Corrosion Modeling
Figure 9 Typical high-pressure gate valve.
Corrosion Release (mg/dm2)
(b)
(a)
Time (hot hours)
Figure 10 Schematic of Stellite corrosion release: A, normal release; B, wearaccelerated corrosion release.
The Corrosion Source
29
the release of cobalt mass per unit time becomes relatively flat as the film becomes thicker (Fig. 10, curve A). When the sliding or seating surfaces of hard-faced valves are cycled periodically, the hypothesized mechanism of wear acceleration is that the oxide film is removed at the wear site and bare metal is repeatedly reexposed to the reactor coolant. This newly exposed oxide-free metal now oxidizes at an accelerated rate compared to a surface containing an oxide film, and the release of cobalt into the coolant becomes accelerated (Fig. 10, curve B). Note that this mechanism is only a hypothesis that has yet to be tested or proven in the literature. Nonetheless, wear-accelerated corrosion release provides the only plausible explanation for a significant source of cobalt introduction, given the incredibly small wetted surface area of highcobalt alloys that is exposed to high-temperature primary reactor coolant chemistry. I believe that the hypothesis could be proven experimentally using a high-temperature, flowing-autoclave, sliding-coupon apparatus in which the cooled discharge process water from the autoclave was passed through an ion-exchange column. The post-test chemical analysis of the ionexchange column would provide an integral measurement of the amount of cobalt released under sliding wear conditions. Compared to the cobalt release from standard corrosion kinetic testing, an absolute measurement of wear acceleration could be made. Modeling the Cobalt Source Modeling the corrosion growth/release from Stellite is no different than that of any of the other structural materials that have been discussed. After the alloy corrosion kinetics have been speciated to compute kp and kr for elemental cobalt, then equation (3) describes the process of the first cobalt source mechanism.
Characterization of wear-accelerated corrosion growth/release is, however, not so easily stated. In fact, it may be impossible to describe this process by a universal set of correlations or equations because the process is most likely to be component dependent. Certainly, the behavior on control rod mechanism bearings will be considerably different than that on bearing surfaces in large and small valves, and it may depend on parameters such as linear feet of travel, bearing pressure, and coolant temperature.
30
Nuclear Corrosion Modeling
I suggest that, at least until a more thorough study of this phenomenon is available, the wear-accelerated corrosion release of elemental cobalt (hereafter simply called the wear source) should be modeled as a userspecified inhomogeneous source term (e.g., 59Sw in g/cm3-sec of cobalt-59) that is evaluated on a case basis based on available reactor plant data and actual plant experience. It is further suggested that this wear source be added in the soluble balance equation for cobalt-59. One might expect that this term might best be added to the particulate balance equation for cobalt-59, but it will be shown in subsequent chapters that very small particles are unstable in primary reactor coolant and promptly dissolve. This is actually a moot point because the particulate equations will be coupled to the solubles when we describe particulate dissolution/crystallization as a building block flux in subsequent discussions.
7. A PLACE TO START A great deal of the discussion in this chapter focused on how much we do not know about the behavior of structural materials in primary reactor coolant chemistry and how some of the experimental techniques are atypical and thus limit the utility of the data. Although much of the historic information is well documented and provides a snapshot of certain characteristics under certain conditions, these experiments were conducted before we knew that it was also important to characterize things such as surface microstrain. With so much uncertainty in our ability to describe these fundamental source terms, one wonders how or why anyone would choose to proceed from this point. The answer is quite clear, at least to me. Modeling of these phenomena must start somewhere, and even if the initial set of data is somewhat flawed, it will always be possible to improve it, in time, as new investigations are performed in the future. It would be ideal if one could create a library of speciated elemental corrosion kinetics for all the possible materials used in constructing reactor coolant systems in which each coefficient could be uniquely identified to a single investigation in the literature, but this is currently not the case. The best that one can hope to do now is to provide a data set that marks a place to start. Table 5 is one such attempt at building a corrosion kinetic library. This table can best be characterized as an evaluated set of speciated corrosion kinetics based on multiple references in the literature, derived using
31
The Corrosion Source
Table 5 Evaluated Corrosion Growth and Total Release (mg/dm2-t1/2)
kp Element
kr As Machined
kp
kr
Electropolished
304 stainless steel Fe Ni
0.8728 0.0824
0.5950 0.0524
0.2909 0.0275
0.1983 0.0175
Alloy 600 Fe Ni
0.0996 0.0642
0.0527 0.0294
0.0199 0.0128
0.0105 0.0059
Alloy 690 Fe Ni
0.0461 0.0226
0.0354 0.0182
0.0092 0.0045
0.0071 0.0036
Alloy 625 Fe Ni
0.0280 0.0198
0.0145 0.0089
0.0056 0.0040
0.0029 0.0018
Stellite-6 Co
0.0768
0.0230
0.0154
0.0046
engineering judgments, personal experience, and personal communications from experts in the field of corrosion science and corrosion kinetic testing. The data have been adjusted to be a best guess for the kinetic behavior of these alloys at 500 F, 20 to 40 scc/kg of dissolved H2, at 9.5 < pH< 10.5, and for unknown surface microstrain.
2
CHAPTER
Framing the Vision of the General Equation Set Contents 1. 2. 3. 4. 5.
Mass Balances Physicochemical Processes Nuclear Processes Dependent Variables Modeling Coolant Additives and Ph Control Agents
34 35 35 39 39
Before proceeding with the development of a fundamentals-based analytical model to predict the behavior of Chalk River unidentified deposit (CRUD), it is useful to develop a very top-tier vision or overview of what we are trying to accomplish. This vision is, of course, guided by what we know about the physical nature of CRUD (as illustrated in Figs. 1 and 2) and by our current understanding of the physicochemical processes that exist within the environment of a pressurized water reactor (PWR) coolant circuit. On the surface, it is difficult to comprehend how one might describe the macroscopic geometry of a reactor coolant circuit in a more microscopic domain of space and time so that the balance equations that will be written can be evaluated and solved. A primary reactor coolant circuit is built up from many components; some (e.g., piping) are easily described as regular cylindrical geometries, whereas others (e.g., the complex flow paths within the reactor) are not so easily described. The first modeling simplification that shall be made is to model all regions (or parts) of the reactor coolant circuit in one-dimensional space. All parts of the coolant loop can be modeled as a simple pipe defined by a material, a hydraulic diameter (dh), and a hydraulic length (lh) if one knows the wetted surface area (As), the part volume (V), and the crosssectional flow area (Af) of the region. This assumption allows us to simply describe the entire circuit in the spatial domain as a length (X) that can then be subdivided into many smaller analytical cells of space and time #
2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00002-5
33
34
Nuclear Corrosion Modeling
elC s
kd
(Fe+2, Ni+2, Co+2)
elC p
(Fe+2, Ni+2, Co+2)
Aqueous phases Soluble species Particulates
U ks
ks
kr
kdp
elW sur
ke
hydraulic flow
Surface phases ferrite surface-layer Wsub (kp-kr)
el
chromite sub-layer base metal
Figure 11 Schematic of the dependent variables and physicochemical processes in a typical analytical computational cell.
(X, t); the temporal domain is, of course, required to describe the lifetime behavior of the dependent variables in our mathematical model. Thus, the designer must know only the physical geometry and material composition of the many parts in the primary coolant circuit and must be able to define their connectivity with the appropriate flow fractions at branch points within the loop. That said, one needs only to focus one’s attention on a single small analytical cell represented by some discrete space (length) and time to proceed with the definition of the general set of modeling equations. Our vision of what equations should be written is best illustrated by a cartoon representation of what a discrete analytical cell is attempting to model (Fig. 11).
1. MASS BALANCES It should be recognized from Figure 11 is that there are four types of mass balances that may or may not be coupled by physical processes, which means it will be necessary to write four different kinds of balance equations for each element or nuclide of interest. Specifically, there are two solid surface phases that must be balanced—the chromite sublayer mass (elWsub) and the ferrite surface layer mass (elWsur), where W is a surface density expressed in grams per square centimeter (g/cm2). Similarly, the aqueous phases require two sets of balance equations—one for the soluble species (elCs) and one for the particulate solids (elCp), where C is a coolant density
Framing the Vision of the General Equation Set
35
expressed in grams per cubic centimeter (g/cm3). Note that although these dependent variable superscripts indicate that there is a dependant variable for each elemental species, there will also be a set of equations for each radioactive dependent variable in the model.
2. PHYSICOCHEMICAL PROCESSES Figure 11 also illustrates that these dependent variables are coupled by a set of rate constants that describe the different physicochemical processes that must be modeled. These processes are described in Table 6. Note that Table 6 reflects only the physicochemical processes. Nuclear processes and those related to coolant purification are discussed in subsequent sections. Table 6 reflects the coupling that will ultimately be expressed between the different dependent variables in the general equation set, and the individual processes (discussed in detail later) will make up the different building block models or equations from which the partial differential equations will be constructed. The rate constants and their respective units are discussed within the context of each building block model in subsequent sections. Regarding units, obviously these equations can be derived in any unit convention system. I suggest that the modeler choose one and use it exclusively in his or her computer program (of course we will solve these equations using a computer). The input preprocessing and output postprocessing can convert the inputs and solutions into more user-friendly units, but the code internals should all work in a single unit system—any system will do (e.g., English, metric, and SI). For the purposes of the discussions herein, I use the CGS system because most of the literature data are published in metric units.
3. NUCLEAR PROCESSES It is clear from Table 6 that for every dependent variable in our equation set (i.e., each element or nuclide) it will be necessary to write four balance equations, one for each of the two surface phases and one for each of the two aqueous phases. Thus, a judicious selection of the number of dependent variables is warranted so that the size of the solution matrix remains manageable. It is therefore prudent to discuss the possible radioactive nuclides that one might choose to model and make some judgments about those that are absolutely essential to include and those that one might choose to ignore as initial modeling simplifications.
36
Table 6
Summary of Processes and Rate Constants
Sublayer
Surface Layer
Corrosion growth
ðkp k r Þ
Source
Corrosion release
kr
Hydrothermal crystallization dissolution
ks
Particulate deposition
kdp
Source
Loss
Particulate erosion
ke
Loss
Source
Particulate crystallization dissolution
kd
Source or loss
Source or loss
Bidirectional flux that couples solubles and particulates
Hydraulic flow
U
Source and loss
Source and loss
U is coolant velocity (cm/sec)
Solubles
Particulates
Comment
Source Source or loss
Source or loss
Source or loss
A bidirectional flux to solubles and surface films Mechanism for cobalt substitution
Nuclear Corrosion Modeling
Rate Constant
Process
Framing the Vision of the General Equation Set
37
Let us begin by a careful examination of the Chart of the Nuclides [10], in which the proton number (Z) is between 26 and 30 and the neutron number (N) is between 50 and 65. Such an examination reveals the following list of radionuclides with sufficiently long half-lives that one might consider selecting them as dependent variables. These are, in descending order of half-life, Fe60, Ni59, Ni63, Co60, Zn65, Co58, and Fe59. Of these, only Co60, Zn65, Co58, and Fe59 emit gamma rays that are sufficiently energetic to contribute to the radiation field outside of the reactor coolant circuit. Table 7 summarizes additional nuclear information about these long-lived energetic gamma emitters that will be useful in helping one decide which nuclide to model. Table 7 illustrates the necessity of modeling the radionuclide Co60 and its elemental precursor Co59 because of the relatively large production cross sections, high elemental abundance of the precursor, and long radioactive half-life. Clearly, if one chooses not to model the zinc coolant additive (radiation inhibitor), there would be no need to model the radioactive nuclide Zn65 and its elemental precursor Zn64.The decision to model Co58 and Fe59 is not so easily made, however. We will already be modeling both precursors because elemental iron and nickel are the primary constituents in the solid phases of CRUD. In an effort to conserve dependent variables and minimize the solution matrix size, it is probably reasonable to ignore the production of Fe59 because of the low natural abundance of its precursor (i.e., Fe58 is only 0.282% of elemental iron) and because of its relatively small production cross sections. The decision to include Co58 as a dependent variable presents somewhat of a dilemma in that the threshold (n, p) production cross section is relatively low, but the precursor (stable Ni58) is the most abundant stable nuclide of nickel, occurring at approximately 68% in nature. The decay gamma of Co58 (i.e., 0.8 MeV) is moderately penetrating, but its radioactive half-life is only moderately long—approximately 70 days. Consequently, the decision to include Co58 as a dependent variable in the general equation set is a matter of personal choice. There is one more relatively obscure fact about including Co58 as a dependent variable: Doing so implicitly couples the cobalt equations to the nickel equations. However, this coupling is no more troublesome than any other coupling illustrated in Table 6 and is only mentioned for completeness.
38
Stable Precursor (% Abundance)
Production Reaction
Radionuclide Produced
Half-life
Co59 (100%)
(n,g)
Co60
5.271 yr
37
74
(48.63%)
(n,g)
Zn
65
243.8 days
0.64
1.5
Ni58 (68.08%)
(n,p)
Co58
70.88 days
Zn
Fe
64
58
(0.282%)
(n,g)
Fe
59
44.5 days
Thermal Production Cross Section (bn)
Resonance Integral Production Cross Section (bn)
Fast Production Cross Section (bn)
0.113 1.3
1.2
Nuclear Corrosion Modeling
Table 7 Summary of Nuclear Parameters
Framing the Vision of the General Equation Set
39
4. DEPENDENT VARIABLES It is now time to select the specific dependent variables that shall be used to illustrate the construction of the general equation set as we proceed. For the sake of brevity, the discussion focuses on elemental iron, nickel, cobalt, and radioactive cobalt-60 and cobalt-58 in each of the four sets of balance equations to be constructed (i.e., subsurface, surface, soluble, and particulate phases). To avoid cumbersome notation of sub- and superscripts to uniquely identify dependent variables by element, nuclide, and phase, Table 8 summarizes a set of shorthand numbered identifiers for each of the 20 dependent variables that shall be referenced in subsequent sections. An implicit assumption regarding these shorthand notations is that all 20 dependent variables are understood to be a function of both space and time (X, t).
5. MODELING COOLANT ADDITIVES AND pH CONTROL AGENTS Some subtle facts about pH control agents and coolant additives must be discussed because some may require the definition of additional dependent variables and thus additional balance equations to fully describe the behavior of the elemental masses within the primary reactor coolant circuit. We briefly discussed this issue with regard to the need to model zinc in the case in which the radiation inhibitor is used and needs to be modeled. However, this becomes more complicated depending on the kind of pH control agent used in a given reactor coolant. Some pH control agents, such as LiOH and BaOH, are solid additives and when they dissolve, they add ions (and complexes) of Li and Ba to the aqueous phase. Other pH control agents, such as NH3, are liquid agents and when they decompose, they simply add nitrogen and hydrogen to the inventory of these elements that already exist in the primary coolant. Elemental lithium and barium in the aqueous phase will be subject to the same hydrothermal phenomena as elemental iron, nickel, and cobalt. Thus, these elements can deposit on the wetted surfaces of the plant if the hydrothermal conditions are favorable for crystallization. Similarly, when boric acid is added to the primary coolant as a neutronic control agent, ions of boron will also be present in the aqueous phase and may also deposit onto wetted surfaces. To accurately describe these phenomena, dependent variables for lithium or barium and boron must be modeled, with corresponding balance
40
Sublayer
Surface Layer
Variable
Shorthand
Variable
Wsub
W1
Fe
CO CO
Fe
CO
Wsub
W2
59
60
CO
Wsub
W3
60
Wsub
W4
58
W5
Ni
58
CO
Ni
Wsub
Shorthand
Variable
W6
Fe
Wsur
W7
59
CO
Wsur
W8
60
CO
Wsur
W9
58
W10
Ni
Wsur
59
CO
Particulates
Wsur
Shorthand
Variable
C1
Fe
Cp
C2
59
CO
Cs
C7
Cp
C3
60
CO
Cs
C8
Cp
C4
58
CO
Cs
C9
C5
Ni
Cp
CO
Solubles
Cp
C6
Cs
Cs
Shorthand
C10
Nuclear Corrosion Modeling
Table 8 Shorthand Notation of Dependent Variables
Framing the Vision of the General Equation Set
41
equations and source terms described as inhomogeneous user-specified sources that model operator additions. This kind of modeling is particularly relevant today because the deposition of these elements on reactor fuel is responsible for a very troublesome phenomenon called axial offset anomaly (AOA), which has plagued the commercial PWR industry, especially since boiling has been allowed in the reactor core. AOA is a condition that occurs as a result of boiling enhanced deposition when elements in the primary coolant (e.g., iron, nickel, lithium, and boron) deposit on the ferrite layer of the outlet surfaces of the reactor fuel rods. It is the presence of boron in these deposits that suppresses the neutron flux and thus decreases the fissioning rate, causing the axial offset and ultimate loss of power. Because AOA is a boiling phenomena, it is not discussed in detail herein. Furthermore, to simplify the discussion, it shall be assumed in the construction of our general equation set that the pH control agent is ammonia hydroxide in the absence of zinc and boric acid; thus, no additional dependent variables will be required.
3
CHAPTER
Building Block Fluxes for the General Equation Set Contents 1. Corrosion Growth and Release 2. Particulate Deposition and Erosion Water Purity Practical Measurements of kdp and ke 3. Hydrothermal Crystallization/Dissolution Saturated or Equilibrium Coolant Concentrations Vanishing Dependent Variables Parsing the Hydrothermal Mass Transfer Modeling of Boiling Phenomena 4. Hydrothermal Particulate Crystallization/Dissolution Saturation Enhancement Factor Hydrothermal Particulate Mass Transfer Coefficient 5. Building Block Models for Radioactive Buildup and Decay Effective Thermal Neutron Production Cross Sections
44 45 48 48 50 51 54 55 56 58 59 61 62 62
The general equation set, mass balance partial differential equations, shall be constructed by compiling the different building block fluxes that describe the flux of mass to and from the solid and aqueous phases being described. Note that the construction of another set of equations referred to as the “media” equation set will be described later. These equations describe similar mass balances that must be written for coolant purification media. That set of equations requires its own set of dependent variables and building block fluxes. However, to avoid confusion, the focus of this chapter is the building blocks required to describe the nuclear and physicochemical processes in the general equation set. As background to the following discussion, most building block equations that describe a physical process will have an equation for one or more of the solid phases and an equation for an aqueous phase depending on the coupling defined in Table 6. # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00003-7
43
44
Nuclear Corrosion Modeling
Another trivial but essential factor, which will be used repeatedly, is required to preserve the units of mass densities in the equations. Recall that W (the surface dependent variables) are surface densities expressed in terms of grams per square centimeter (g/cm2), and C (a coolant dependent variable) is a specific density expressed in terms of grams per cubic centimeter (g/cm3). Thus, when surface and coolant dependent variable equations are coupled, one must account for the volume-to-surface area ratio in a given analytical cell in expressing the coupling. This manifests itself in a recurring factor derived as follows for right cylindrical geometries: p dh2 lh V dh 4 ¼ ¼ 4 As p dh lh
ð6Þ
1. CORROSION GROWTH AND RELEASE A significant discussion of corrosion growth/release was previously presented to describe the physical nature of Chalk River unidentified deposit (CRUD) and how it is formed. Table 6 illustrates that this physical process provides source terms for both the chromite sublayer and the soluble species. Furthermore, Table 5 provides our best guess for elemental total growth and total release rate constants for several of the structural materials of interest. However, one more set of conversions to the data in Table 5 must be made before one can use them in the statement of the building block fluxes that describe this process. Specifically, these data must be multiplied by a factor of 1.667 107 to convert the units from milligrams per square decimeter (mg/dm2) to grams per square centimeter and hours to seconds. They must also be divided by a factor of 2.0 to account for the fact that we are expressing the flux as a time rate of change by differentiation (see equation 2). To acknowledge these unit conversions in our equation sets, the rate constants are written using capital letters. Thus, the subsurface source equation is expressed as @W ðKp K r Þ pffi ¼ @t t
ð7Þ
and the corresponding source term to the soluble equation is expressed as @Cs 4K r ¼ pffi @t dh t
ð8Þ
Building Block Fluxes for the General Equation Set
45
Note that the corrosion release that was a loss term in equation (7) becomes a source term in equation (8), and thus the two equations are coupled. There is a very subtle but very important fact that must be stated about equation (7). The solution of this equation is known exactly at any time as expressed in equation (3). The masses of iron and nickel in the sublayer of iron- and nickel-based alloys and the mass of cobalt in the sublayer of high cobalt content alloys are the only dependent variables in the general equation set that are known exactly at any time in the problem. All other dependent variables will be estimated by numerical methods (when we solve the general equation set), as described in detail later. The importance of this fact will become obvious in the discussion regarding preserving the mass balance that is presented later.
2. PARTICULATE DEPOSITION AND EROSION Particulate deposition and erosion (sometimes referred to as reentrainment) are the processes that couple the ferrite layer surface solid phase with the particulate aqueous solid phase. The inherent assumption made in the previous statement is that it is only the loosely adherent ferrite layer, and not the strongly adherent chromite sublayer, that is the primary source for the particulate mass in the aqueous phase. An enormous amount of work in the literature has attempted to describe these phenomena. One of the most relevant is the work of Kushneriuk and Blair [11], from which the following mathematical forms are taken. The ferrite surface layer building block is described as @W ¼ kdp Cp ke W @t
ð9Þ
and the corresponding coolant equation is described as @Cp 4 ¼ ðke W kdp Cp Þ @t dh
ð10Þ
Equation (9) illustrates that the deposition source term is proportional to the coolant concentration of particulates and that the erosion loss term is proportional to the surface mass in the ferrite layer. The deposition rate constant (kdp), sometimes called the deposition velocity, is specified in units of centimeters per second (cm/sec), and the erosion constant (ke) is a true rate constant specified in inverse seconds (sec1).
46
Nuclear Corrosion Modeling
A prolific amount of work has been published on particulate phenomena because understanding the behavior of particles that are entrained in fluid flow is important in almost every field of science and engineering. I have reviewed more than 250 articles on the subject, searching for either useful data or useful correlations for kdp and ke without success. Approximately two thirds of the published reports investigate aerosols that, contrary to popular opinion, are not relevant in the aqueous domains of our interest. The remainder of the experimental investigations are either not performed in hot water or do not cover the full range of Reynolds number or hydraulic sheer needed for our modeling effort. Most often, investigators attempt to develop dimensionless correlations to validate complex, multiflowing film models based on some combination of forces that are neither well understood nor sometimes not relevant over such a large domain of hydraulic conditions. Many of these investigations try to correlate the effects of particle size, density, coolant velocity, hydraulic diameter, and so on, but none of them provide useful results for our purposes. What is needed for our model is a much more practical macroscopic set of relationships. Attempts to investigate these behaviors on a more microscopic level are important to the understanding of the physics involved in the phenomena, but they are more of an academic exercise and have only limited utility rather than any kind of practical application. Thus, once again, it appears that our modeling objectives have hit a stone wall because of the limitations of physical data, but all is not lost. It turns of that correlations of these coefficients have been derived empirically based on comparisons of modeling predictions and what is known about actual reactor coolant behaviors. Fortunately, it is not important to know the absolute magnitude of either kdp or ke, as will become clear in the following discussion. One of the hallmarks of these kinds of models is that the driving forces for the physical fluxes are based on Mother Nature’s equilibrium conditions. One must understand that although the primary reactor coolant might seek and exist in a steady state, it is never at equilibrium, where all of the derivatives go to zero. Nonetheless, the driving forces are always based on equilibrium conditions because that is the minimum energy state that Mother Nature always seeks to find. That said, let us examine what equation (9) would become if the particulate phenomena could attain equilibrium where @W/@t ¼ 0.0. In that case, the following relationship would be true:
Building Block Fluxes for the General Equation Set
Cp ¼
ke W kdp
47
ð11Þ
Equation (11) illustrates that at equilibrium, the coolant-borne particulate mass is proportional to the ferrite layer surface mass by the ratio of ke and kdp. Thus, it is only their relative magnitudes that govern equations (9) and (10), and not their absolute magnitudes. A convenient correlation for the ratio of ke/kdp is described as follows: ke 0:18862 1:43404t0:1459 ¼ 6:31985E 5 t½2:94958t kdp
ð12Þ
Here, the ratio (in units of inverse centimeters [cm1]) is parameterized as a function of the hydraulic sheer (t dynes/cm2) and has a functional form as illustrated in Figure 12. The functional forms of the individual rate constants are proprietary and cannot be revealed herein. However, it is useful to know that the absolute magnitude of ke is approximately four orders of magnitude lower than that of kdp over most of the range of hydraulic sheer. With this knowledge, one can derive approximate relationships for these rate constants from equation (12).
1/CM
10−4
10−5
10−6
10−7 10−1 100 10−1.0 < X < 103.0; 10−6.7 < Y < 10−3.2
Figure 12
101 TAU (DYNES/CM2)
Ratio of ke/kdp versus hydraulic sheer.
102
103
48
Nuclear Corrosion Modeling
Water Purity Before proceeding with the development of more building block fluxes, it is worthwhile to discuss the purity of pressurized water reactor (PWR) primary reactor coolant water. By most standards, primary reactor coolant qualifies as ultrapure water. Only in industries such as pharmaceuticals or silicon chip manufacturing does one find water of higher quality. This discussion is raised here because we have been discussing sources of both soluble and particulate species that enter the aqueous phase in the primary reactor coolant. However, one needs to put these facts into perspective, so let us consider the magnitudes that we are talking about when we discuss CRUD in prototypical primary reactor coolant. When you pour yourself a glass of tap water from a sink, elements such as iron and calcium may exist in the tens to hundreds of parts per million (ppm). In contrast, the saturated coolant concentration for iron in primary reactor coolant is on the order of 2 to 4 parts per billion (ppb). Nickel will be saturated at approximately one tenth that value, cobalt will exist in a few tens of parts per trillion (ppt), and chromium will have a solubility of less than 10 ppt. At 5.2 g/cm3, a single 6-mm-diameter particle of magnetite will have a mass equivalent to approximately 0.5 ppb, and the total iron concentration in primary reactor coolant rarely (if ever) exceeds 10 ppb. Thus, one can see that the amount of elemental mass (either soluble or in particulate form) in any given cubic centimeter of primary reactor coolant is extremely small. Yet, the primary reactor coolant is responsible for moving tens to hundreds of kilograms of corrosion mass around the primary reactor coolant circuit by the time a reactor reaches the end of its useful life. How is this possible? One must remember that in these systems, the primary coolant mass flux is on the order of tens to hundreds of millions of pound mass per hour. Thus, although the concentrations are very low, during more than 30 years of operation, a large amount of CRUD will have been transported. This is another reason why investigations of particulate phenomena fail to provide useful data. By comparison, the particulate inventories that must be modeled to describe CRUD in our system would routinely be ignored in other applications.
Practical Measurements of kdp and ke
The methods to measure practical values of ke and kdp are well-known and easily described. However, it is most improbable that these experimental investigations will ever be performed. There are two reasons for this conclusion. First, only a few facilities in the world are capable of conducting
Building Block Fluxes for the General Equation Set
49
such studies, and second, the measurements require the use of radioactive tracers. The truth is that conducting experimental investigations that routinely require the use of radioactive materials has become politically incorrect during the past two decades—so much so that even the primer national nuclear labs of the world avoid doing so.Also, it takes millions of dollars to build a high-temperature, high-pressure hydraulic test facility where one can achieve Reynolds numbers of a million or greater in a 4- to 6-inch-diameter pipe. This literally requires tens to hundreds of kilowatts of pumping power, and no one who owns such a facility would allow it to be used with radioactive tracers. Nonetheless, the experiment would proceed as follows. Particulate magnetite of known particle diameter (dp 6 to 8 mm) would be irradiated at a national facility to produce a known activity of Fe59. These particles would then be mixed in a stirred feed tank and injected into a high-pressure, high-temperature hydraulic test loop at a known rate such that the inlet concentration to the test section is well-known. The test section is a straight length of large-diameter piping that is at least 30 hydraulic diameters long with simple shielded (directional) gamma detectors (simple Geiger Mueller tubes will do) located along the exiting length of the test section. Activity measurements as a function of flow rate will provide measurements of the net (i.e., kdpCp keW ) particulate deposition on the piping surface. An important consideration in this test is that the outlet of the test section flow should pass through an absolute particulate filter (like a magnetic filter) so that the recirculation flow will maintain the coolant concentration provided by feed injection. The erosion coefficient ke is simply measured by securing the feed injection such that the inlet Cp ¼ 0.0 and measurements of the decline of activity (keW ) as a function of flow rate at the exit of the test section will provide a measurement of ke; an absolute measurement of kdp can be made by difference. Such an experiment would provide the kind of macroscopic data required to parameterize these coefficients for use in our model, but the expense associated with conducting such tests and the fact that empirically derived correlations appear to perform reasonably well make it unlikely that these kinds of investigations will ever be performed. Note that many other experimental techniques have been published— from optical techniques to spinning disk or cylinder apparatus—but none of these are likely to perform as reliably as radioactive tracers in the hydraulic domains of interest.
50
Nuclear Corrosion Modeling
3. HYDROTHERMAL CRYSTALLIZATION/DISSOLUTION Of all of the building block fluxes that will be used in the construction of our analytical model, hydrothermal crystallization/dissolution is by far the most critical driving force for the transfer of mass to and from the solid and aqueous phase. Table 5 illustrates that all of the mobile corrosion mass in the system first enters the aqueous phase as divalent metal ions as a result of corrosion release. Hydrothermal crystallization/dissolution is ultimately the mechanism that creates the ferrite recrystallization layer (and thus the particles), and it is the driving force for metal ion substitution of elements such as cobalt and zinc into both chromite and ferrite layers. The building block equations for this phenomena are the mass transfer analogy to heat transfer described in Davies [12]. The surface equation is stated as @W ¼ ks ðCs Csat Þ @t
ð13Þ
and the corresponding soluble equation is @Cs 4ks ¼ ðCs Csat Þ @t dh
ð14Þ
where Csat is the elemental saturated (or equilibrium) coolant concentration, and ks is the turbulent mass transfer coefficient in units of centimeters per second derived from correlations of the Sherwood number. One can see from equation (13) that this relationship (of the form ksDC) is directly analogous to heat transfer, which is expressed as hDT. Although both heat and mass transfer are well described in Davies [12], the correlations for ks and h in this reference are dated and are only applicable over a very narrow range of hydraulic conditions. I recommend the use of a correlation developed by Stein [13, 14] that can be used to correlate both the Nusselt number (for heat transfer) and the Sherwood number (for mass transfer) over a very large range of hydraulic conditions (e.g., 0.1 NRe 107 and 103 NPr or NSc 105). Note that use of the Reynolds number and the Prandtl number in the Stein correlation yields the Nusselt number for heat transfer, and use of the Reynolds number and the Schmidt number yields the Sherwood number for mass transfer. The reader is referred to the nomenclature for the definition of these dimensionless numbers.
Building Block Fluxes for the General Equation Set
51
Stein’s correlation is notably complex because it is one of the few that can predict reliable results through the laminar to turbulent transition. The correlation is restated here for convenience: 1 mTB 0:14 NuðNRe ; A ¼ PrÞ or ShðNRe ; A ¼ Sc Þ ¼ Nu3a þ Nu3b þ Nu3c þ Nu3d 3 mTw
3
ð15Þ
3:66 A þ 0:567 dh , Nu3b ¼ 1:623 A NRe , lh A þ 0:1 dh 1:5 0:6643 A NRe lh , Nu3d ¼ 0:0 for NRe 2300 and Nu3c ¼ 0:204 1 þ 0:5 A 2 3 #3 " 2:5 #3 " 23 3 2:7 2:4 7 2300 dh A þ 0:4 6 60:023 A NRe 7 Nu3d ¼ 1 1þ 1:7 4 5 lh A þ 0:1 NRe 8A 1þ 0:3 NRe
where Nu3a ¼
for NRe > 2300
Saturated or Equilibrium Coolant Concentrations Equations (13) and (14) describe a bidirectional flux of mass based on the sign of the driving force that is given by (Cs Csat), the difference between the instantaneous coolant concentration (Cs) and the amount of mass the coolant can hold at equilibrium (or saturation) (Csat). In equation (13), if this difference is negative, dissolution is a loss term, and if it is positive, then crystallization (or metal ion substitution) is a source term. Implicit in our ability to use these building block equations is the need to predict, analytically, the value of Csat for each of the elemental dependent variables under a host of hydrolytic conditions. In general, Csat is a function of temperature, pressure, pH, dissolved H2 concentration, and the solid surface phases that exist on the wetted surfaces. Fortunately, these solubility relationships obey the laws of thermodynamics at T > 300 F and can be predicted based on measured hydrolytic equilibrium constants. The ability to predict Csat is key to the success of the entire fundamental modeling system, and it will require a skilled thermodynamic chemist to create a robust set of algorithms for this purpose.
52
Nuclear Corrosion Modeling
Scientists have studied the thermodynamic properties of these hydrolytic equilibria for decades, and a remarkable compendium of their work has been published by the International Association for the Properties of Water and Steam. In Chapter 14 of Palmer et al. [15], one can find the data required to describe the equilibrium constants. The actual mechanics of deriving these algorithms are well beyond the scope of this text, but they are illustrated briefly for completeness. The algorithms needed to compute the elemental saturated or equilibrium coolant concentration are required to answer the following question: How many grams of each element can one cubic centimeter of the coolant hold at equilibrium given the surface temperature (Ts), pH, dissolved H2 concentration, pressure, and solid surface phase? To calculate the desired answer to this question, one must be able to write the thermodynamic equations for all of the hydrolytic and complexed equilibria for each elemental species. For the purposes of illustration, let us consider the hydrolytic equilibria for iron and the ammonia complexes that it forms when NH3 is used as the pH control agent. Hydrolytic equilibria for iron: Feþ2 þ H2 O , FeOHþ þ Hþ
ð16Þ
Feþ2 þ 2H2 O , FeðOHÞ2 þ 2Hþ
ð17Þ
þ FeðOHÞ2 þ H2 O , FeðOHÞ 3 þH
ð18Þ
1 FeðOHÞ2 þ H2 O , FeðOHÞ3 þ H2 2
ð19Þ
þ FeðOHÞ3 þ H2 O , FeðOHÞ 4 þH
ð20Þ
Ammonia complexes for iron: Feþ2 þ NH3 , FeNHþ2 3
ð21Þ
FeOHþ þ NH3 , FeOHNHþ 3
ð22Þ
The total concentration of iron (i.e., g/cm3) is constructed from the sum of all the hydrolytic species concentrations: ½Fe ¼ ½Feþ þ ½FeOH þ ½FeðOHÞ2ðaqÞ þ ½FeðOHÞ3 þ ½FeðOHÞ 3 þ etc: ð23Þ
Building Block Fluxes for the General Equation Set
53
Solubility studies described in Palmer et al. [15] provide analytical expressions for the DG of formation for each of these hydrolytic species and complexed equilibria. These are expressed in the following form: DG ¼ A B T C T lnðT Þ ¼ R T lnðkeq Þ
ð24Þ
where A, B, and C are correlation constants, T is temperature in Kelvin, R is the universal gas constant, and keq is the equilibrium constant for the reaction. Thus, for example, the hydrolytic equilibrium for the reaction in equation (16) can be expressed in terms of its equilibrium constant as follows: þ
½FeOHþ ¼ kFeOH ð½Feþ2 =½Hþ Þ eq
ð25Þ
Similarly, equations (17) through (23) can be expressed as a function of [Feþ2], pH (or [Hþ]), and H2. The system of equations is then closed by writing the equilibrium equation with the solid phase on the surface by knowing the thermodynamic expression for the DG of formation for that solid phase. Thus, for example, if the solid phase was magnetite, the equations would be written as follows: 1 4 Fe3 O4 þ 2Hþ2 , Feþ2 þ H2 O 3 3
ð26Þ
3 O4 ½Feþ2 Fe3 O4 ¼ kFe ½Hþ 2 ½H2 3 eq
ð27Þ
or 1
In this case, there are now seven equations and seven unknowns, and the system can be solved for the total iron concentration [Fe], which is FeCsat for the iron soluble equations. There is a similar set of equilibria for all of the elemental species that one will write as dependent variables in the general equation set (the appendix lists equilibria equations for several other elements). Thus, one can see that the heart of the hydrothermal crystallization/dissolution building block equation is a substantial amount of fundamental thermodynamic data that allow us to express Csat in an analytical form.
54
Nuclear Corrosion Modeling
Vanishing Dependent Variables Before proceeding with the development of building block equations, it is necessary to discuss a subtle but important fact about this system of partial differential equations. In any given analytical cell of space and time (X, t), dependent variables may vanish. This is best described by example. Thus, it is possible for the loss terms from the ferrite surface layer (e.g., erosion or dissolution) to be so large that all of the mass of a given element vanishes from the surface. Mathematically, this presents somewhat of a conundrum because in a coupled set of equations, when any given dependent variable goes to zero, singularities occur in the rows and columns of the coupling coefficients for that dependent variable. It is therefore important to protect certain building block equations from these kinds of occurrences. Part of this protection is discussed later when the dynamic equation set is described. The other part depends on the way one actually constructs the building block equations. Let us reconsider equations (13) and (14), which are restated here for convenience: @W ¼ ks ðCs Csat Þ @t
ð13Þ
@Cs 4ks ¼ ðCs Csat Þ @t dh
ð14Þ
These equations describe the flux of mass to and from the ferrite layer (W) due to hydrothermal crystallization/dissolution, but neither of the fluxes (derivatives) are written in terms of W on the right hand side of the equations. Thus, if there is an analytical cell that at some space and time (X, t) the surface mass vanished (i.e., W ¼ 0.0), a dissolution flux (i.e., DC) would not be appropriate. Consequently, the specification of the general building block equations must protect against such nonphysical conditions. To do this, we add an additional coefficient to equations (13) and (14) that is called a Heaviside function (H(x0)). The mathematical definition of this function is simply the integral of the Dirac d(x0) function, which results in a step function that is either zero or one depending on the direction of integration. The step can occur at any value x0, but for our purposes it will usually always be x0 ¼ 0. For the purposes of writing our analytical equations, Heaviside functions will be written using the H(x0) notation, but realistically, they are implemented in the computer source code as software logic that evaluates the function (or coefficient) to either zero or one based on the condition of the arguments of the function, and
Building Block Fluxes for the General Equation Set
55
there may be more than one dependency. Thus, if we use the example of the ferrite layer dissolution equations (13) and (14), we express the Heaviside function as follows: HðW ¼ 0; DCÞ
ð28Þ
This notation implies that if there is no mass in the ferrite layer (W ¼ 0) and there is a dissolution flux (i.e., DC), then the Heaviside function would evaluate to zero (i.e., H ¼ 0); otherwise, it would always evaluate to unity. The use of Heaviside functions is not always needed. For example, consider the particulate surface equation (9), repeated here for convenience: @W ¼ kdp CP ke W @t
ð9Þ
In this equation, if either CP or W vanishes, the flux associated with that dependent variable also vanishes. It is only in the case of fluxes such as equations (13) and (14) that one must use Heaviside functions to ensure that mass is preserved in the statement of the problem equations. Another use of Heaviside functions that is related to the direction of the mass flux (i.e., solid to aqueous or aqueous to solid) is considered later when discussing how to write the balance equations for radioactive species.
Parsing the Hydrothermal Mass Transfer Early modeling attempts at describing equations (13) and (14) derived separate elemental saturated coolant concentrations for the sublayer (based on a chromite surface phase equilibrium) and the surface layer (based on a ferrite surface phase equilibrium) to determine how much of the crystallization or dissolution was to be attributed to each surface layer. This approach was found not only to be incorrect but also to cause numerical instability in the analytical solutions. Subsequently, it was realized that there is only one elemental equilibrium coolant concentration (elCsat) for any given element and set of conditions because at equilibrium, the coolant will be in equilibrium with both solid phases simultaneously. This poses somewhat of a challenge for the thermodynamic chemist to develop the closure equations to compute elCsat; nonetheless, successful algorithms have been written.
56
Nuclear Corrosion Modeling
This fact is particularly important for elements (e.g., cobalt and zinc) for which ion substitution into the surface films is the principal mechanism of mass transport. This is because equations (13) and (14) describe the total rate of mass transfer and one needs to define a mechanism to model the fraction of the total crystallization or dissolution that is associated with each of the two surface layers. This is achieved as follows: Let:
Wtot ¼
10 X
WI
Total surface mass density
ð29Þ
WI
Total sublayer mass density
ð30Þ
WI
Total surface layer mass density
ð31Þ
I¼1
Wsub ¼
5 X I¼1
Wsur ¼
10 X I¼6
sub
f rn ¼
Wsub Wtot
Fraction of mass in the sublayer
ð32Þ
sur
f rn ¼
Wsur Wtot
Fraction of mass in the surface layer
ð33Þ
Equations (32) and (33) (the fraction of total surface mass in each of the two surface layers) can now be used to proportion the total mass transfer rates expressed in equations (13) and (14) according to the instantaneous masses in each of the two surface layers. These will be integrated into the hydrothermal crystallization/dissolution building block equations when the general equation sets are assembled.
Modeling of Boiling Phenomena In bounding the discussion of the nature of CRUD, it was stated that it would be pointed out where a model might be expanded to account for two-phase phenomena. Boiling enhanced deposition is just one such model, and it will only be discussed briefly. A search of the literature will find several approaches that attempt to describe the enhanced crystallization that occurs on a surface when boiling occurs. I have only limited experience with the modeling of this phenomenon. Nonetheless, this section describes an approach that might be appropriate if one were to attempt to model this very complex, two-phase phenomenon.
Building Block Fluxes for the General Equation Set
57
First, one must add a third solid surface phase to the analytical system that is uniquely different from the adherent chromite layer and the loose adherent ferrite layer. This layer shall be describe as the “scale” layer for lack of a better term, and it too is very well adherent. This model representation is based on the fact that scale found on boiler tubes is a hard solid deposit that is not easily removed or eroded. This third layer would be immune to particulate erosion and be affected by enhanced hydrothermal fluxes and enhanced particulate deposition. Only two source terms and one loss term should be modeled to describe this new layer, and all add significant complications to the solution matrix of the general equation set. Boiling Enhanced Hydrothermal Crystallization I suggest the following form for the surface and aqueous phase equations, which are very similar in form to equations (13) and (14): @Wscale ¼ HðQ; DCÞks ðFb ðQÞCs Csat Þ @t @Cs 4ks ¼ HðQ; DCÞðFb ðQÞCs Csat Þ @t dh
ð34Þ ð35Þ
Two new variables are introduced into equations (34) and (35): Q, the quality of the two-phase liquid, and Fb(Q), which is an enhancement factor based on the amount of boiling (Q) that acts to supersaturate the solution and thus drive the mass to the scale surface (Wscale). Another important feature of these equations is the Heaviside function, which only allows these fluxes to occur if there is boiling (i.e., Q > 0) and if the boiling is sufficient to cause supersaturation (i.e., 0 > (Fb(Q)Cs Csat)). A significant complication of adding this model to the general equation set is that when one assembles the total balance equations for both the ferrite layer and the scale layer, one must proportion the dissolution flux (i.e., equation (13) when DC is negative) based on the relative amounts of mass in the two layers. This model is completely untested. It will take significant consideration to define the functional form of Fb(Q) so that the deposition flux expressed in equation (29) cannot deposit more mass to the scale layer than what is present in the aqueous phase of solubles. Nonetheless, it seems logical that boiling simply enhances the hydrothermal crystallization process; thus, this approach might be a good starting point for future modeling development.
58
Nuclear Corrosion Modeling
Boiling Enhanced Particulate Deposition In a similar manner, one would write enhanced particulate equations that are analogous to equations (9) and (10) but the erosion terms (those proportional to ke) would be omitted. These equations might look like the following: @Wscale ¼ HðQ; CP ¼ 0Þkdp Fb ðQÞCP @t 4kdp @CP ¼ HðQ; CP ¼ 0ÞFb ðQÞCP @t dh
ð36Þ ð37Þ
In these equations, the Heaviside function evaluates to unity if boiling is present (i.e., Q > 0) and if there is a particulate mass in the aqueous phase (i.e., CP > 0); otherwise, it evaluates to zero. The enhancement factor for particulate deposition (Fb(Q)) may, or may not be the same as that used for boiling enhanced hydrothermal crystallization. The development of these factors is one aspect of this modeling that will require additional research. It is also likely that further refinement of other building block equations (e.g., the surface ferrite layer) might be required because it is possible that deposition of mass in the scale layer could impact erosion, etc. However, these refinements would only be made after the initial investigation of a more simplistic approach (as described previously) was tested. It should be understood that the development of these fundamental modeling equations is very much an evolutionary process.
4. HYDROTHERMAL PARTICULATE CRYSTALLIZATION/ DISSOLUTION Many forces and fluxes can affect the behavior of particles in flowing aqueous systems. Knowing which ones to include in the modeling equations and which ones may be ignored is often only learned by trial and error. Some, such as gravitational settling, obviously play no role in the primary reactor coolant circuit because the hydraulic forces are so large that they easily overwhelm the force of gravity. However, this is not the case if one were modeling the secondary (or steam) side of a heat exchanger. Initially, it was not so obvious that it was necessary to link the particulates to the soluble phase via particulate hydrothermal crystallization/dissolution because the particle density is so small in any given analytical cell. These fluxes were omitted from early modeling attempts. However,
Building Block Fluxes for the General Equation Set
59
analytical investigations determined that it was crucial to model all of the solid and liquid phase couplings to accurately describe the transport of CRUD throughout the primary coolant circuit. Consequently, building block fluxes were created that are analogous to the hydrothermal equations for crystallization/dissolution from surfaces but with two significant differences. This set of building block equations couple the solid and soluble aqueous phases as follows: The soluble equation: @Cs ¼ HðCp ¼ 0; DCÞkD ðCs FP Csat Þ @t
ð38Þ
The particulate equation: @CP ¼ HðCs ¼ 0; DCÞkD ðCs FP Csat Þ @t
ð39Þ
In equation (38), the Heaviside function precludes the dissolution flux (i.e., DC) if particles are not present (i.e., CP ¼ 0). In equation (39), the Heaviside function will only allow crystallization to occur if solubles are present (i.e., Cs > 0), which in the absence of boiling is always the case. The form of these equations was originally proposed by Glasstone [16], and the key differences between this set of building block equations and those of hydrothermal crystallization/dissolution from surfaces are the saturation enhancement factor (FP) and the mass transfer coefficient (kD).
Saturation Enhancement Factor This model recognizes that crystallization/dissolution phenomena are different for particles and colloids than for large surfaces because particles have significant “surface energy” (g) not present on large surfaces. The surface energy of particulate matter is a well-known physical parameter to ceramists and metallurgists who often work with materials and elements in the particulate form. Surface energy is one of the reasons why powder metals must be heated above their theoretical melting point before they will melt. The particulate surface energy is analogous to surface tension in liquids and, thus, more energy is required to dissolve and/or crystallize particulates than a large wetted surface. The following analytical form is proposed in Glasstone [16]:
60
Nuclear Corrosion Modeling
FP ¼ 1 þ
gn2 RT rp
ð40Þ
where g is the surface energy (typically on the order of 102 dynes), n is the kinetic viscosity in centimeters per second, T is temperature in degrees Celsius, R is the universal gas constant in CGS units, and rP is the radius of the particle (in centimeters). Figure 13 illustrates the functional form of FP as a function of rP and temperature. Figure 13 illustrates that when the particle radius is greater than approximately 4 mm, FP goes to unity and the DC term looks identical to that in equations (13) and (14). It also illustrates that if the particle radius is approximately 0.1 mm, the system must be supersaturated by more than 25% for the particles to be stable; otherwise, they dissolve. A key piece of information required to appreciate this fact is that elemental solubilities never vary more than a few percent (from Thot to Tcold) in the reactor coolant loop. Thus, although there may be mechanisms to create colloids or small particles in the primary coolant circuit, they are unstable and quickly dissolve.
SATURATION ENHANCEMENT FACTOR
4
3.5
3
2.5 Legend T = 250.0 DEG. F
2
T = 300.0 DEG. F T = 350.0 DEG. F
1.5
T = 400.0 DEG. F T = 450.0 DEG. F T = 500.0 DEG. F
1 10–2
Figure 13
10–1 100 RADIUS (MICRO-METERS)
101
Particulate crystallization/dissolution saturation enhancement factor.
Building Block Fluxes for the General Equation Set
61
Hydrothermal Particulate Mass Transfer Coefficient The second feature of equations (38) and (39) that makes them distinctly different from equations (13) and (14), which describe the surface phenomena, is the form of the mass transfer coefficient. In equations (13) and (14), ks is derived from the Stein correlation [13, 14] that describes the Sherwood number for turbulent flow in a pipe. In contrast, when particles are entrained in a hydraulic flow, there is no relative velocity between the particle and the coolant; thus, a turbulent model for a mass transfer coefficient is not appropriate. To create the appropriate constant of proportionality (kD), we turn to “film theory” [12], which is a diffusive process proportional to the surface area of the particle and the molecular diffusion coefficient (D) and is described as follows: kD ¼
3 D CP r rP2
ðs1 Þ
ð41Þ
It is important to note that equation (41) is expressed in terms of one of the dependent variables (CP) because the total particulate surface area in any given analytical cell depends on the instantaneous particle density in the aqueous phase of that cell. As an aside, there are many analytical expressions that one may use for the molecular diffusivity (D). I recommend one of the simpler analytical expressions known as the Stokes-Einstein diffusivity [12]. Before concluding the discussion of particulate hydrothermal crystallization/dissolution, an important modeling simplification is made (at least initially) for the general equation set. That is, it is recommended that the particle size (diameter or radius) be a single-valued, user-specified input, defined at some value less than the diameter, where FD ¼ 1.0 (2 < dP < 4 mm is recommended). This will ensure that coupling of the particles and solubles will occur if hydrothermal conditions are favorable. This is a somewhat controversial assumption because there is a fair amount of work in the literature that describes particle size distributions in primary reactor coolant. However, all of these measurements are made after the reactor coolant has been cooled down. The act of cooling the water spawns colloids as soluble species come out of solution; thus, they are not prototypical of the particle inventory at primary reactor coolant temperature. I have found no published high-temperature particulate size distribution measurements for primary reactor coolants. Consequently, a simplistic first approach that assumes a single particle size is warranted.
62
Nuclear Corrosion Modeling
5. BUILDING BLOCK MODELS FOR RADIOACTIVE BUILDUP AND DECAY The last building block equation needed to construct the general equation set will be familiar to all nuclear engineers and can be found in any textbook on nuclear science. Its form is the same no matter which dependent variable is being balanced (i.e., surface, particulate, or soluble), so it is illustrated using abbreviated ferrite layer variables defined in Table 8 for stable nickel (W5) and radioactive cobalt-58 (W4). Recall from Table 8 that nickel-58 is the stable precursor to radioactive cobalt-58 in the following reaction: 58 58 28 Ni ðn; pÞ27 Co
ð42Þ
The radioactive buildup and decay of cobalt-58 in the ferrite layer is described as follows: @W 4 eff ¼ 0:6808 W 5 58 sth ðX; tÞ fth ðX; tÞ 27 l58 W 4 @t
ð43Þ
Notice that the dependent variable for nickel (W5) is multiplied by the fraction of natural abundance of nickel-58 that occurs at 68.08% in nature. Obviously, the first term is the production rate for the (n, p) reaction expressed in equation (42) and the second term is the loss due to radioactive decay, where 27l58 is the decay rate constant defined as ln(2)/T½. It has already been stated that the dependent variables W4 and W5 are implicitly defined to be a function of space and time (X, t), but equation (43) illustrates that so are the production cross section and thermal activating flux in the production first term of the equation. Both of these variables are derived from user-specified inputs and are discussed in detail here.
Effective Thermal Neutron Production Cross Sections Equation (43) was intentionally defined such that all activation reactions could be described with a single production cross section and a thermal neutron flux. This was done in an attempt to minimize the amount of user-defined inputs that would be required to describe the nuclear processes within the reactor over the entire lifetime of the problem simulation. To accomplish this, the nuclear modeling of the ORIGEN computer program [17] was selected because it allows the user to create an effective
Building Block Fluxes for the General Equation Set
63
thermal neutron production cross section using three flux shaping parameters as follows: eff
sth ¼ THERM sth þ RES sres þ FAST sfast
ð44Þ
where the thermal, resonance integral, and fast production cross sections of interest are listed in Table 7, and the parameters THERM, RES, and FAST are flux shaping parameters defined as follows: sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi p 293 THERM ¼ 4 T ðKÞ fRI fth
ð46Þ
f<1MeV fth
ð47Þ
RES ¼ 0:0603 FAST ¼ 1:45
ð45Þ
See reference [17] for more detailed definitions of these flux scaling parameters. Using this system, the user only need specify the three flux shaping parameters and the thermal neutron flux (in the water) for every part of the hydraulic flow path where there is a significant neutron activating flux. Generally, these inputs are only needed for parts of the hydraulic circuit that are inside the reactor vessel. The use of these inputs requires considerably more discussion, but this is reserved for a more detailed discussion of time-dependent inputs in subsequent chapters. For now, the basic understanding of the equation (43) building block model will suffice for the assemblage of the general equation set.
4
CHAPTER
The General Equation Set Contents 1. Chromite Sublayer Equations Iron- and Nickel-Based Alloys Stellite Zircaloy Discussion 2. Ferrite Layer Equations Discussion 3. Particulate Aqueous Phase Equations Discussion 4. Aqueous Soluble Phase Equations Iron- and Nickel-Based Alloy Soluble Equations Zircaloy Base Metal Soluble Equations Stellite Base Metal Soluble Equations Discussion
66 66 66 66 66 67 68 68 69 69 69 70 71 71
The problem statement, or general equation set, is actually a group of equation sets that depend primarily on the base metal that has been specified for the analytical cell that is one of many that make up the hydraulic length of any given part or region. Thus, for example, if an analytical cell belongs to a part that is defined with a base metal that is zircaloy, then there will only be a single surface layer (the ferrite layer born by crystallization) and no sublayer equations will be required. Similarly for regions defined as Stellite, it will not be necessary to model hydrothermal substitution of cobalt into the sublayer (as is done for iron- or nickel-based alloys) because corrosion growth/release defines the sublayer mass of cobalt in these alloys exactly. By now, it should be clear that one of the critical user inputs required for the definition of each region (or part) of the hydraulic flow path is the composition of the base metal because it will define which set of problem statement equations will be used to solve for the dependent variables. Subsequent chapters devote considerable discussion to the time-independent and time-dependent user inputs required to describe both the hydraulic # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00004-9
65
66
Nuclear Corrosion Modeling
circuit and operating history for a reactor plant simulation to end-of-life. For now, however, the general problem statement equations will be defined for equations that apply to iron- and nickel-based alloys, zircaloy regions, and those regions defined as Stellite. The following sections first compile the problem statement equations using the fundamental building block fluxes previously described and then provide a brief explanation of unique features worthy of further discussion.
1. CHROMITE SUBLAYER EQUATIONS Iron- and Nickel-Based Alloys Iron: Co-59:
Co-60:
@W 1 ¼ ðFe K p @t
K R Þ t =2
Fe
1
ð48Þ
@W 2 sub ¼ frn HðW 2 > 0; DCÞks ðC7 Co C sat Þ @t 2 3 @W 3 sub C8 W 3 5 ¼ frn 4HðþDCÞ þ HðW 3 > 0; DCÞ @t C7 W2
ð49Þ
ð50Þ
59 eff sth
Co-58:
fth 27 l60 W 3 ks ðC7 Co C sat Þ þ W 2 2 3 @W 4 sub C9 W 4 5 ¼ frn 4HðþDCÞ þ HðW 4 > 0; DCÞ @t C7 W2 eff
ks ðC7 Co C sat Þ þ 0:6808 W 5 58 sth fth 27 l58 W 4 ð51Þ Nickel:
@W 5 1 ¼ ðNi K p NiK R Þ t =2 @t
ð52Þ
@W 2 1 ¼ ðCo K p CoK R Þ t =2 @t
ð53Þ
Stellite Co-59:
Zircaloy None required.
Discussion Notice that equations (48), (52), and (53) simply use the corrosion growth building block as the source term. Equations (49) through (51) use the
The General Equation Set
67
bidirectional flux of hydrothermal crystallization/dissolution; however, for the radioactive species (equations 50 and 51) there is a special use of Heaviside functions that depends on the sign of the driving force (DC). Thus, for example, in equation (50), if DC is positive (crystallization), then the rate is dependent on the ratio of cobalt-60 to cobalt-59 in the soluble phase, and if DC is negative (dissolution), then the rate depends on the ratio of cobalt-60 to cobalt-59 in the sublayer surface phase. A similar functionality exists in equation (51) for cobalt-58. Note that to be completely correct, the denominator of these ratios should be the sum of all of the cobalt species, but realistically, the mass of cobalt-60 and cobalt-58 is negligible compared to that of cobalt-59. This is because it only takes atoms of cobalt-60 to make curies, not grams. To put this into perspective, a curie is defined to be on the order of 1010 disintegrations per second and there are on the order of 1023 atoms in a gram atom. Even when one factors in the decay constant for the radioactive species, the mass of the radioactive species is orders of magnitude lower than that of the stable precursor. Thus, we make the simplifying assumption that the denominator in these ratios is just that of the stable species. Equations (50) and (51) also use the building block equation for radioactive buildup and decay using each of their respective cross sections and precursor dependent variables listed in Table 7.
2. FERRITE LAYER EQUATIONS The ferrite layer surface equations are the same for all base metal types, with only one exception. For both zircaloy and Stellite base metals, sur frn ¼ 1.0 because neither of these two base metals is coupled to a sublayer solid phase. These are expressed as follows: Iron: Co-59:
Co-60:
@W 6 ¼ HðDC; W 6 > 0Þks ðC6 Fe C sat Þ þ kdp C1 ke W 6 @t
ð54Þ
@W 7 sur ¼ frn HðDC; W 7 > 0Þks ðC7 Co C sat Þ þ kdp C2 ke W 7 @t ð55Þ 2 3 @W 8 sur C3 W 85 ¼ frn 4HðDCÞ þ HðW 8 > 0; DCÞ @t C2 W7 eff
ks ðC7 Co C sat Þ þ kdp C3 ke W 8 þ W 7 59 sth fth 27 l60 W 8
ð56Þ
68
Co-58:
Nuclear Corrosion Modeling
@W 9 sur C4 W9 ¼ frn HðDCÞ þ HðW 9 > 0; DCÞ @t C2 W7 ks ðC7 Co C sat Þ þ kdp C4 ke W 9 þ 0:6808 W 10
ð57Þ
eff
58 sth fth 27 l58 W 9 Nickel:
@W 10 ¼ HðDC; W 10 > 0Þks ðC10 Ni C sat Þ þ kdp C5 ke W 10 @t
ð58Þ
Discussion Equations (54) through (58) all use the bidirectional flux of hydrothermal crystallization/dissolution and are all protected by Heaviside functions to preclude dissolution if there is no mass on the surface. The radioactive species also use Heaviside functions to construct the proper ratios depending on the direction of the mass transfer. All equations also use the particulate deposition and erosion building blocks, and the radioactive species use the radioactive buildup and decay model as appropriate.
3. PARTICULATE AQUEOUS PHASE EQUATIONS The aqueous phase particulate equations are the same for all base metal regions and are expressed as follows: Iron:
@C1 4kdp 4ke @C1 ¼ þ HðC1 > 0; DCÞkd ðC6 FP Fe C sat Þ C1 þ W6 U @t @X dh dh
ð59Þ Co-59:
@C2 4kdp 4ke @C2 ¼ þ HðC2 > 0; DCÞkd ðC7 FP Co C sat Þ C2 þ W7 U @t @X dh dh
Co-60:
@C3 4kdp 4ke @C3 C3 C3 þ W8 U ¼ þ HðC3 > 0; DCÞ dh dh @t @X C2 C8 þ HðC8 > 0; DCÞ kd ðC7 FD Co C sat Þ C7 eff
60
þ C2 59 sth fth 27 l C3
ð60Þ
ð61Þ
The General Equation Set
Co-58:
@C4 4kdp 4ke @C4 C4 þ W9 U ¼ dh dh @t @X C4 C9 þ HðC4 > 0; DCÞ þ HðC9 > 0; DCÞ C2 C7 eff
69
ð62Þ 58
kd ðC7 FP Co C sat Þ þ 0:6808 C5 58 sth fth 27 l C4
Nickel:
@C5 4kdp 4ke @C5 ¼ þ HðC5 > 0; DCÞ C5 þ W 10 U dh dh @t @X kd ðC10 FP Ni C sat Þ
ð63Þ
Discussion Equations (59) through (63) couple the particulates with both the ferrite layer surface phase and the soluble aqueous phase. This is done using the particulate deposition/erosion building block equations and the particulate hydrothermal crystallization/dissolution model. Notice that all of these equations also include the spatial derivative, which is proportional to the coolant velocity. The radioactive species include the radioactive buildup and decay building block equations as appropriate. As was the case in the ferrite layer equations, the Heaviside functions for the radioactive species define the appropriate ratios depending on the sign of the DC term in the hydrothermal model.
4. AQUEOUS SOLUBLE PHASE EQUATIONS Iron- and Nickel-Based Alloy Soluble Equations Iron:
Co-59:
@C6 4ks @C6 ðC6 Fe C sat Þ U ¼ HðW 6 > 0; DCÞ dh @t @X Fe 4 K r 1=2 þ t HðC1 > 0; DCÞkd ðC6 FP Fe C sat Þ dh
ð64Þ
@C7 4ks @C7 ¼ HðW 7 > 0; DCÞ ðC7 Co C sat Þ U dh @t @X Co 59 HðC2 > 0; DCÞkd ðC7 FP C sat Þ þ SW
ð65Þ
70
Co-60:
Nuclear Corrosion Modeling
@C8 W8 þ W3 C8 ¼ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 4ks @C8 ðC7 Co C sat Þ U HðC3 > 0; DCÞ dh @X eff
Co-58:
60
ð66Þ kd ðC7 FP Co C sat Þ þ C 7 59 sth fth 27 l C8 @C9 W9 þ W4 C9 ¼ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 4ks @C9 HðC4 > 0; DCÞkd ðC7 Co C sat Þ U dh @X eff
eff
ðC7 FP Co C sat Þ þ 0:6808 C10 58 sth th fth 27 l 58 C9 ð67Þ Nickel:
@C10 4ks @C10 ¼ HðW 10 > 0; DCÞ ðC10 Ni C sat Þ U dh @t @X Ni 4 K r 1=2 t HðC5 > 0; DCÞkd ðC10 FP Ni C sat Þ þ dh
ð68Þ
Zircaloy Base Metal Soluble Equations Iron:
Co-59:
Co-60:
@C6 4ks @C6 ðC6 Fe C sat Þ U ¼ HðW 6 > 0; DCÞ dh @t @X Fe HðC1 > 0; DCÞkd ðC6 FP C sat Þ
@C7 4ks @C7 ðC7 Co C sat Þ U ¼ HðW 7 > 0; DCÞ dh @t @X ð70Þ Co 59 HðC2 > 0; DCÞkd ðC7 FP C sat Þ þ SW @C8 W8 C8 ¼ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 4ks @C8 ð71Þ HðC3 > 0; DCÞ ðC7 Co C sat Þ U @X dh eff
Co-58:
ð69Þ
60
kd ðC7 FP Co C sat Þ þ C7 59 sth fth 27 l C8 @C9 W9 C9 ¼ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 4ks @C9 ðC7 Co C sat Þ U HðC4 > 0; DCÞ dh @X eff
58
kd ðC7 FP Co C sat Þ þ 0:6808 C10 58 sth fth 27 l C9 ð72Þ
The General Equation Set
Nickel:
@C10 4ks @C10 ðC10 Ni C sat Þ U ¼ HðW 10 > 0; DCÞ dh @t @X HðC5 > 0; DCÞkd ðC10 FP Ni C sat Þ
71
ð73Þ
Stellite Base Metal Soluble Equations Iron:
Co-59:
Co-60:
@C6 4ks @C6 ðC6 Fe C sat Þ U ¼ HðW 6 > 0; DCÞ dh @t @X HðC1 > 0; DCÞkd ðC6 FP Fe C sat Þ
@C7 4ks @C7 4CoK r 1=2 ðC7 Co C sat Þ U t ¼ HðW 7 > 0; DCÞ þ dh dh @t @X HðC2 > 0; DCÞkd ðC7 FP Co C sat Þ þ 59 SW ð75Þ @C8 W8 C8 ¼ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 4ks @C8 ð76Þ ðC7 Co C sat Þ U HðC3 > 0; DCÞ dh @X eff
Co-58:
ð74Þ
60
kd ðC7 FP Co C sat Þ þ C7 59 sth fth 27 l C8 @C9 W9 C9 ¼ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 4ks @C9 ð77Þ ðC7 Co C sat Þ U HðC4 > 0; DCÞ dh @X eff
58
kd ðC7 FP Co C sat Þ þ 0:6808 C10 58 sth fth 27 l C9
Nickel:
@C10 4ks @C10 ¼ HðW 10 > 0; DCÞ ðC10 Ni C sat Þ U dh @t @X HðC5 > 0; DCÞkd ðC10 FP Ni C sat Þ
ð78Þ
Discussion One should observe from the statement of these equations that it is the soluble species that couple all of the other phases. The basic difference between the equations written for iron- and nickel-based alloys and those for zircaloy- and Stellite-based metals is the release terms that are sources from the corrosion sublayer. For zircaloy, this is true because there is no sublayer, only the ferrite surface phase, and for Stellite there is only one source term that feeds the cobalt-59 soluble phase. It should also be noted that the cobalt-59 soluble equations (65, 70, and 75) all include the inhomogeneous user-specified wear source, as discussed previously.
72
Nuclear Corrosion Modeling
Another subtle but important difference between the iron- and nickelbase metal equations and the zircaloy and Stellite equations is illustrated in equations (66) and (67), where in dissolution (i.e., -DC) the fraction combines the masses from both the sublayer and the surface layer. For zircaloy and Stellite (equations 71, 72, 76, and 77), where there is no sublayer, the fraction is only derived from the mass in the ferrite surface layer. To summarize, equations (48) through (78) now define the problem statement general equation set for each of the three kinds of base metal types. How one prepares to solve these equations is the subject of subsequent chapters.
5
CHAPTER
Framing the Vision of the Media Equation Set Contents 1. Reactor Coolant Purification Systems 2. Modeling Media Filtration Building Block Model Ion-Exchange Building Block Model
73 74 75 80
In the same way that the vision of the general equation set was described, it is also important to paint a very top-tier view of the media equation set, how it differs from the general equation set, and the purpose that it serves in the global model that we are constructing as a predictive tool. First, however, it is important to discuss reactor coolant purification.
1. REACTOR COOLANT PURIFICATION SYSTEMS As the name implies, one of the functions of reactor coolant purification systems is to do just that—purify the reactor coolant by removing both particulate and ionic forms of Chalk River unidentified deposit (CRUD) from the primary reactor coolant. In commercial reactor plants, these are very large off-line systems, sometimes filling entire buildings, and in at least one reactor plant design, coolant purification occurs in the “chemical and volume control” system (CVC). These systems are designed to remove more than just corrosion products. Because most commercial reactors will eventually experience some very small percentage of failed fuel, CVC systems also contain equipment to remove and store fission gasses and fission products. These functions are not the focus of our model development because the only radioactive dependent variables in our model are related to corrosion of primary reactor coolant circuit structural materials.
# 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00005-0
73
74
Nuclear Corrosion Modeling
Early in the discussion of our modeling objectives, it was stated that it is important to describe all the sources and sinks of CRUD. Coolant purification systems can be both and thus they must be modeled. There are generally two classes of purification equipment used in these systems—those that operate at or near primary reactor coolant temperatures and those that must operate at or near room temperature. The hot equipment is mostly filtration equipment, and there are many forms, including mechanical filters and packed bed filters. Also, magnetic filters are being reinvestigated using rare-earth magnets. The cold equipment is almost always ion exchangers because the ionexchange media is usually made of polystyrene beads that melt at approximately 180 F. Because ion exchangers are also packed beds, they also perform some filtration function, so our modeling must address this mechanism as well as that of ion exchange. In the following sections, the focus is on packed bed purification equipment. This will require the introduction of two new building block equations—one that describes multielement ion exchange and one that describes packed bed filtration. It will be seen that both of these mechanisms are bidirectional phenomena and, as such, purification media may act as a sink or a source.
2. MODELING MEDIA It is useful to illustrate with another cartoon representation of the model to understand how the actual geometry will be modeled in our analytical system. Consider the system illustrated in Figure 14. In a manner analogous to the general equation set, a media analytical cell will have two surface phases and two aqueous phases. For the purposes
soluble species
particles Bi-directional Fluxes Modeled
M+2
+2
M
flow
flow
U
particulate surface mass lonic surface mass particles Actual Geometry
Figure 14
media
1) Particulate filtration 2) Ion-exchange (ion-exchanger only) 3) Particulat dissolution/cristallization (filter only) 4) Hydro-thermal dissolution/crystallization (filter only) 5) Hydraulic transport
media surfaces Modeled Representation
Schematic of purification system media model.
Framing the Vision of the Media Equation Set
75
of bookkeeping in our equation sets, the media sublayer will be the mass of ionic species and will only be employed in the ion-exchange model. The surface phase will contain the particulate mass that has been either filtered or crystallized to the surface of the media. The aqueous phases will contain both particulates and soluble species as in the general equation set, with the only difference being that in the low-temperature equipment (ion exchangers), hydrothermal fluxes will not be modeled because soluble species are no longer predictable by the laws of thermodynamics—they are driven by kinetic phenomena. When the media equations are constructed, we will use the same 20 abbreviated variable names used in the general equation set, with the only difference being that the first 10 (W1 to W10) will stand for different things. W1 to W5 will be used to balance the ionic surface phases of Fe, Co-59, Co-60, Co-58, and Ni, respectively, in the ion exchanger, and W6 to W10 will be used to balance the solid surface phases in the media (deposited either by filtration or by hydrothermal crystallization). The aqueous phases (C1 to C10) have the same definitions as they do in the general equation set.
Filtration Building Block Model Packed bed filtration has been studied and written about for decades. A particularly good reference is the book by Tien [18], from which this particular model has been chosen. Depending on the application, many different types of filtration media are commercially available and have been used, including sintered metal oxides and silica sand (e.g., swimming pool filters). However, a common choice for high-temperature applications is activated charcoal (which is basically sintered charcoal)because it is relatively inexpensive, it is basically inert in primary reactor coolant chemistries, and it can withstand the high-temperature environment of the reactor coolant. Also, although it is very ineffective for adsorbing transition metal ions from the coolant, it is effective for removing organics and some fission products in an ion-exchange process. Thus, if there is a cleanliness casualty in a reactor coolant system, the hot charcoal filter may be effective in assisting the ion exchanger in removing the foreign material and purifying the coolant. Activated charcoal can basically be made from any carbon-based material that can be combusted and sintered into granular pellets (like those used in a home aquarium). The material used for high-temperature packed beds, however, is very finely specified to be low in tramp metal impurities
76
Nuclear Corrosion Modeling
because they can leach out of the media into the coolant. Consequently, it is often manufactured from material such as walnut or coconut shells, which contain very small amounts of these metals. It can be purchased in a variety of granular sizes and porosities, and each reactor plant designer provides strict specifications for the type of material that is preferred for his or her purification system design. With this background, let us consider the filtration building block equations proposed by Tien [18], which are independent of element or nuclide and apply to all particulate masses equally. The surface particulate equation: @Wmedia V ¼ lf Cp b Wmedia @t As Units:
ð79Þ
g cm3 g g ¼ ðsec1 Þ 3 ðsec1 Þ 2 2 2 cm sec cm cm cm
The coolant particulate equation: @Cp As ¼ lf CP þ b Wmedia @t V Units:
ð80Þ
g g cm2 g 1 ¼ ðsec Þ þ ðsec1 Þ 2 cm3 sec cm3 cm3 cm
In these equations, lf is the filtration deposition rate constant expressed in reciprocal time, and b is the reentrainment coefficient also expressed in reciprocal time. Discussion It should be obvious that equations (79) and (80) look remarkably similar to the particulate building block models expressed in equations (9) and (10). This is not by accident: Each set of equations contains source and removal terms that are linearly proportional to some kind of mass transfer coefficient. At this juncture, however, the mass transfer coefficients used in the filtration building block models (lf and b) require additional discussion. There is considerable debate in the literature about the need to include the reentrainment term (proportional to coefficient b) in the modeling equations. Tien [18] states that it is most probable that reentrainment only becomes significant when the bed is near clogging; thus, it might be
Framing the Vision of the Media Equation Set
77
appropriate to limit this term by some threshold mass (W0) below which the term is ignored. I do not enter this debate and shall carry the reentrainment term with the caveat that it can always be limited using a Heaviside function should further research provide more insight into the actual phenomena. Note that purification media used in reactor coolant systems never approaches the point at which the bed will clog based on filtered mass. The media is most always limited by its curie content due to U.S. Department of Transportation restrictions on shipping radioactive material on roads and also due to the expense of disposing of highly radioactive waste. Thus, one might agree with Tien’s [18] postulation and ignore the reentrainment term, but it is included here for completeness. Modeling lf and b There are many sources in the literature in which one can find analytical expressions for the filtration deposition coefficient (lf), but probably the most widely recognized is an inordinately complicated correlation developed by Rajagopalan and Tien [19]. This correlation is so complex because it is intended to simulate lf under any hydraulic condition, so it is a complex function of particle density, fluid density, fluid viscosity, bed void fraction or porosity (e), temperature, superficial velocity, and so on. This correlation has been benchmarked in the literature under a host of hydraulic conditions, so I cannot object to using it in our building block equations. However, I am a firm believer that simpler is better, so an alternate approach will be suggested. Before proceeding, however, bed porosity and superficial velocity must be discussed. In a packed bed where the filtration media is a nonporous material (e.g., ion-exchange resin), the bed porosity is simply the void fraction between the solid polystyrene beads in the ion-exchange vessel. This is not the case for a porous filtration media such as activated charcoal. Because the granules of charcoal have millions of microscopic pours, the actual porosity of a packed bed of charcoal is very large (on the order of 60% or greater). If one were modeling charcoal as an ion-exchange media, then the actual porosity is the value that one should use. However, filtration is a macroscopic mechanical process that is dependent on the interstitial spaces between the granules of charcoal; thus, a much smaller porosity is appropriate. A reasonable approximation of the “apparent macroscopic porosity” might be one third that of the actual porosity. This will, of course, depend on the specific media being modeled, but the point
78
Nuclear Corrosion Modeling
here is that simply using the theoretical porosity is not appropriate for the filtration model in a packed bed of porous material because filtration is a macroscopic phenomenon and ion exchange is not. Unlike normal hydraulic regions where the coolant velocity is simply computed as the volumetric flow rate (cm3/sec) divided by the crosssectional flow area (cm2), the media equation set (and its associated correlations) must use what is known as the superficial velocity (Us). The superficial velocity is computed in the same manner as the hydraulic velocity except the flow area is the cross-sectional area of the bed times the void fraction (or porosity). Thus, the superficial velocity more closely represents the speed at which the fluid passes through the macroscopic void spaces around the media granules within the bed. Unlike the filtration deposition constant (lf ), I have yet to find a universal correlation for the reentrainment coefficient (b) in the literature. Thus, one can only suggest an empirically derived relationship based on the superficial velocity as follows: b ¼ 107
sec cm2
Us2 ðsec1 Þ
ð81Þ
A Simpler Approach This approach is proposed primarily because the purification media (both ion exchange and filter) is almost always purchased to the same specific technical specification; thus, it is not crucial to parameterize lf and b as a function of bead diameter, bed porosity, media density, and so on. It is much easier, and probably more reliable, to simply measure lf and b for the specific media used in the purification system. This can easily be done with bench-top equipment using Tygon tubing, hose clamps, a small pump, two 55-gallon drums, and a scaled-down filter vessel that contains the media to be tested. The flow loop should contain a simple flow meter (e.g., 5 to 20 gallons per minute) and sampling ports at the inlet and outlet of the filter vessel. When creating the test conditions, it is crucial to size the filter and the pump such that the superficial velocity within the column is prototypical of that of the real filtration equipment. The feed tank can be seeded with commercially available magnetite powder of known particle size at a suggested concentration of between 100 and 500 ppb. lf and b may then be measured in two different experiments. The first shall be called the clean media experiment, and the second shall be called the burdened media experiment.
Framing the Vision of the Media Equation Set
79
The Clean Media Experiment. This experiment is run with new filtration media that contains little or no filtered mass. In this instance, since W ¼ 0, equation (80) becomes @CðtÞ ¼ lCðtÞ @t
which is simply solved Cout ¼ Cinelt, where Cin is the coolant concentration at the inlet of the filter, Cout is the coolant concentration at the outlet of the filter, and t is the transit time within the filter (which is a function of the gallons per minute of the test condition). If one now plots the ratio of Cout to Cin versus time on a semi-log plot, the slope of the curve is lf. Thus, sampling of the influent and effluent water at various flow rates can determine the deposition constant. Some very critical facts must be understood about the sampling technique and the chemical processing of the samples that will be used to determine total iron concentration in the samples. First, one must use glass bottles to collect the samples; using poly or Teflon containers will distort the results because the electrostatic forces on the plastic attract the magnetite particles and do not allow accurate measurements. Second, total iron measurements in the tens to hundreds of parts per billion are easily made using inductively coupled plasma (ICP) techniques on acidified samples of the coolant. However, it is very difficult to dissolve particulate magnetite in a cocktail of concentrated acids. Just heating the acidified samples on a hot plate is not sufficient to ensure that all of the particles will dissolve. A successful, but more difficult, analytical process is called microwave consumption, where the acidified samples are consumed in a microwaveable bomb in an industrial microwave for 30 minutes or more. The consumed samples are then analyzed using ICP for total iron, which provides the data that can be plotted as described previously. It is useful to define two terms that one often finds in the literature when filtration is discussed: the intrinsic half-life of the media and filter efficiency (Ef ). The intrinsic filtration half-life of the media is defined using the following relationship: lf ¼
lnð2Þ T 1=2
80
Nuclear Corrosion Modeling
where T½ is the filter half-life. The filter efficiency is defined using the following relationship: Cout 100 Ef ð%Þ ¼ 1: Cin
The Burdened Experiment. The measurement of b is performed using the same apparatus; however, one starts with a very clean system (i.e., it might be necessary to replace the Tygon tubing and flush all of the other equipment very well). Second, the filtration column should contain a substantial amount of magnetite. It should probably not be loaded to the point of breakthrough (a term where Cin ¼ Cout) because reactor coolant purification media never reach that condition. There should, however, be a significant mass of magnetite present so that one can actually measure Cout in the tens of parts per billion. The experiment is now started with clean deionized water such that Cin is at or near zero. As before, influent and effluent samples are taken at a variety of flow rates. To measure the reentrainment coefficient b, conduct the burdened test section experiment and measure @CðtÞ DC Cout Cin ¼ ¼ Dt @t Dt
Use this as the left hand side of equation (80). Also, because l and Cin are known, a plot bW(t) versus filtration time t can be made and the slope is b. Although these are relatively simple bench-top measurements, they yield results that are specific to the media being tested and are not intended to provide universal correlations as have been previously discussed.
Ion-Exchange Building Block Model An extraordinary fundamental general model of multicomponent ion exchange was created at Oklahoma State University (OSU) under the sponsorship of a consortium of industrial, educational, and government sponsorship. This work was artfully documented by Hussey [20] and a Fortran version of the model is available from OSU for a fee. This work, although fundamental and complete, is too sophisticated for use in our media equation set. However, many of the techniques, data, and evaluations documented by Hussey will be used to formulate our more simplistic multispecies, ion-exchange model, which is basically a correlative model (not a predictive model) based on specific ionic isotherms that were
Framing the Vision of the Media Equation Set
81
developed for ammonia form resins (because our system is using NH3 as a pH control agent). Obviously, the use of other pH agents will require different isotherms that are easily developed based on bench-top column testing. There is an interesting, but unrelated, fact about ion exchange that is artfully employed by one reactor manufacturer to control the amount of boron in the coolant. Westinghouse developed a patented ion-exchange media that adsorbs or releases boron from the resin into the coolant based on the influent coolant temperature. Thus, by strictly controlling the influent coolant temperature in its CVC system, Westinghouse can regulate the amount of boron in the reactor coolant at any time. The modeling of such complex ion-exchange processes is well beyond the objective of this text, but it illustrates that the ion-exchange process is a bidirectional flux and that real engineering solutions can and have been developed using this physical phenomena. For our purposes, an isotherm form of ion exchange is used to describe the process for the sake of simplicity. The ion-specific mass transfer data that this model requires are different for every manufacturer’s resin but should be readily available from the resin vendor. The following is a note about the terminology used in the literature on ion exchange. Because this phenomenon is related to the exchange of elemental ions with receptor sites on the resin media, the amounts of mass that are exchanged are very small. Thus, the units used to describe the constants in this building block equation are “equivalents” or, more precisely, “milliequivalents.” This is a fairly common unit of measurement of mass used in both chemistry and biological sciences. With that background, the ion-exchange building block equations are stated as follows: @Wel el c2 Wel el ¼ k 1 el Surface rate equation: Cs @t qe @ el C s Ar c2 Wel el ¼ el k 1 el Cs Soluble rate equation: @t V qe
ð82Þ ð83Þ
Discussion A host of new constants and conversion factors used in equations (82) and (83) require some discussion and definitions before one will be able to write the media equation set in its full form. It is important to understand
82
Nuclear Corrosion Modeling
that every part of these equations is different for every different ionic species (thus the super- and subscripts “el”), including the mass transfer coefficient (elk). This is because the ion-exchange resin has a different affinity for adsorbing and releasing different ions and, thus, ion-specific constants must be used to form the isotherm (i.e., the term within the parentheses in equations (82) and (83)) as well as the constant of proportionality or mass transfer coefficient (elk). It is also important to understand that the isotherm will be a unitless constant that varies from -1 to 1; thus, the mass transfer coefficient (elk) is analogous to a deposition velocity in units of centimeters per second and the amount of ion exchange is directly proportional to the elemental ionic concentration elCs within the aqueous phase. Elemental Ion-Exchange Mass Transfer Coefficient. I recommend a correlation for elk derived by Dwivedi and Upadhyay as documented by Hussey [20]. As you will see momentarily, it is a complex function of the bed porosity, resin bead diameter (cm), an elemental diffusivity (cm2/sec), and the Reynolds and Schmidt numbers. In this case, it is important to use the Reynolds number that is computed using the superficial velocity (Us) within the bed. The expression is written as follows: el
" # e D 0:765 0:365 1 el k¼ Sc 3 NRe þ ðcm=secÞ ð84Þ dbead 1e ðe NRe Þ0:82 ðe NRe Þ0:386
Hussey [20] reports the experimentally derived elemental diffusivities as follows: Iron: 7.19 106 Nickel: 6.61 106 Cobalt: 7.32 106 Zinc: 7.03 106
c2 Wel The Isotherm and Its Constants. The term 1 el in equations qe
(82) and (83) is the isotherm that describes the multi-ionic bidirectional flux of mass on the surface. The numerator and denominator in the ratio of this expression are in units of milliequivalents of element per gram of resin. Thus, the constant c2 in the numerator is a simple units conversion factor that converts the elemental mass on the surface (Wel) to the proper units. c2 has the units of (el-mEq/g-resin)/(g-el/cm2-resin). For a typical
Framing the Vision of the Media Equation Set
83
commercially available ammonia-form resin, these factors typically have the following values: Iron: 2381 Nickel: 2265 Cobalt: 2256 Zinc: 2034 The denominator of the ratio in the isotherm is the amount of ionic mass exchanged per gram of resin and is computed as follows: el
qe ¼
0:8 bel el C s P ðmEq=gÞ 1 þ el bel el C s
ð85Þ
where bel is the Langmuir energy constant (cm3/g) that is also experimentally derived for each element in bench-top column testing. Again, typical values of these constants for commercially available ammonia-form resin are given as follows: Iron: 1.3 108 Nickel: 8.4 107 Cobalt: 6.0 107 Zinc: 1.96 107 Notice that the sum in the denominator of equation (85) is over all the elemental ions being exchanged. Finally, the ratio Ar/V in equation (83) is a simple units conversion of media surface area (cm2) to volume of coolant (cm3) in the interstitial spaces in the media. It is important to understand that each form of resin will have different Langmuir constants; thus, a lithium- or zinc-form resin cannot be modeled using the constants listed previously. With this background, it is now possible to assemble the complete set of media equations for our simulation model.
6
CHAPTER
The Media Equation Set Contents 1. Media Ionic Subsurface Equations (Ion Exchangers Only) Discussion 2. Media Surface Phase (Filtered Mass) Equations Discussion 3. Media Particulate Equations Discussion 4. Media Soluble Equations Discussion
86 86 87 87 87 88 89 90
The media equation set will be constructed using building block equations from both the general and the media equations. In the case of the radioactive species, for example, only the loss term (radioactive decay) will be used because media is never found in the presence of an activating neutron flux. It is important to recall that we will be modeling both hot (filters) and cold (ion exchangers) equipment, so not every kind of equipment will use all of the same building blocks. For example, ion exchangers will use both filtration and ion-exchange building blocks but will not use hydrothermal models because they are low-temperature equipment and equilibrium and saturated coolant concentrations no longer follow the laws of thermodynamics because, at low temperatures, they are kinetic-driven phenomena. Filters (i.e., packed beds) will use all of the building block equations except ion exchange because this media does not have an affinity to adsorb metal ions. Thus, as in the general equation set, we will define mass balances for two surface phases (the sublayer being the ionic species and the surface layer being used to balance the filtered mass) and two coolantborne phases, both particles and solubles (or ions). As was the case in the general equation set, Heaviside functions will be used to preclude fluxes of mass when mass is not present. This is more important here than in any other part of the model because the fluxes of # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00006-2
85
86
Nuclear Corrosion Modeling
mass in the media (especially in the ion exchanger) are very large compared to those in the general equation set. Thus, for example, the elemental ionic mass of a given species may be completely adsorbed in a single analytical cell within the ion exchanger, whereas in the general equation set, the soluble mass never vanishes. The strength of these mass fluxes in the media also requires a much finer discretization of the spatial domain (i.e., much smaller analytical cells in X) than is required for the general equation set. This is discussed in more detail later.
1. MEDIA IONIC SUBSURFACE EQUATIONS (ION EXCHANGERS ONLY) Iron:
Co-59:
Co-60:
Co-58:
Nickel:
@W 1 ¼ ½HðþDC; C6Þ þ HðDC; W 1Þ Fe k 1 @t
Fe
c2W 1 C6 Fe q e
ð86Þ 59 @W 2 c W2 C7 ¼ ½HðþDC; C7Þ þ HðDC; W 2Þ 59 k 1 592 qe @t ð87Þ @W 3 C8 W3 ¼ HðþDC; C7Þ þ HðDC; W 2Þ @t C7 W2 ð88Þ 59 c W2 C727 l60 W 3 59 k 1 592 qe @W 4 C9 W4 ¼ H ðþDC; C7Þ þ H ðDC; W 2Þ @t C7 W2 ð89Þ 59 58 c2W 2 W4 59 C7 27 l k 1 59 qe Ni c W5 @W 5 C10 ¼ ½HðþDC; C10Þ þ HðDC; W 5Þ Ni k 1 Ni2 @t qe ð90Þ
Discussion As was the case in the general equation set, we only understand ion exchange on an elemental basis. Thus, the exchange of radioactive species is based on the relative fraction of these species either on the surface or in the aqueous phase using the isotherm for elemental cobalt-59.
87
The Media Equation Set
2. MEDIA SURFACE PHASE (FILTERED MASS) EQUATIONS Iron:
Co-59:
Co-60:
Co-58:
Nickel:
@W 6 V ¼ lf C1 b W 6 þ HðhotÞ HðDC; W 6Þks ðC6 Fe C sat Þ @t As ð91Þ @W 7 V ¼ lf C2 b W 7 þ HðhotÞ HðDC; W 7Þks ðC7 59 C sat Þ @t As ð92Þ @W 8 V W8 ¼ lf C3 b W 8 þ HðhotÞ HðDC; W 7Þ @t As W7 ð93Þ C8 60 59 ks ðC7 C sat Þ 27 l W 8 þ HðDC; C7Þ C7 @W 9 V W9 ¼ lf C4 b W 9 þ HðhotÞ HðDC; W 7Þ @t As W7 ð94Þ C9 þ HðDC; C7Þ ks ðC7 59 C sat Þ 27 l58 W 9 C7 @W 10 V ¼ lf C5 b W 10 þ HðhotÞ HðDC; W 10Þks ðC10 Ni C sat Þ @t As
ð95Þ
Discussion In the filtration surface model, a new Heaviside function (H(hot)) is introduced because hydrothermal crystallization/dissolution of the surface (filtered) particulate mass is only valid in the hot filter and not in the cold equipment (ion exchanger). Another important distinction is that the turbulent mass transfer coefficient (ks) is also derived from the Stein correlation [13, 14], except the Reynolds number is computed using the superficial velocity (Us) in the bed.
3. MEDIA PARTICULATE EQUATIONS The media particulate equations are stated as follows: Iron:
@C1 As @C1 ¼ lf C1 þ b W 6 U þ HðhotÞ ½HðC6 > 0; DCÞ V @t @X þHðC1 > 0; DCÞkd ðC6 FP Fe C sat Þ ð96Þ
88
Co-59:
Nuclear Corrosion Modeling
@C2 As @C2 ¼ lf C2 þ b W 7 U þ HðhotÞ ½HðC7 > 0; DCÞ V @t @X þ HðC2 > 0; DCÞkd ðC7 FP Co C sat Þ
Co-60:
@C3 As @C3 ¼ lf C3 þ b W 8 U þ HðhotÞ V @t @X C3 C8 þ HðC8 > 0;DCÞ HðC3 > 0; DCÞ C2 C7 kd ðC7 FP
Co-58:
Co
ð97Þ
ð98Þ
C sat Þ27 l60 C3
@C4 As @C4 ¼ lf C4 þ b W 9 U þ HðhotÞ V @t @X C4 C9 þ HðC9 > 0; DCÞ HðC4 > 0; DCÞ C2 C7
ð99Þ
kd ðC7 FP Co C sat Þ 27 l58 C4
Nickel:
@C5 As @C5 ¼ lf C5 þ bW 10 U þ HðhotÞ ½HðC10 > 0; DCÞ V @t @X þ HðC5 > 0; DCÞkd ðC10 FP Ni C sat Þ
ð100Þ
Discussion The particulate equations for the purification media will be similar to the particulate equations in the general equation set (equations 59 to 63), except instead of using the particulate deposition/erosion building block equations, we will use the filtration/reentrainment building block equations (equations 79 and 80). The only other difference is that the particulate hydrothermal crystallization/dissolution phenomena will be restricted to the hot equipment using a Heaviside function H(hot) that evaluates to zero for cold equipment.
The Media Equation Set
89
4. MEDIA SOLUBLE EQUATIONS The media soluble equations are stated as follows: Iron:
Co-59:
@C6 ¼ HðcoldÞ ½HðW 6 > 0; DCÞ þ HðC6 > 0; DCÞ @t Fe Ar c W6 @C6 Fe k 1 Fe2 HðhotÞ C6 U V qe @X ð101Þ 4ks ðC6 Fe C sat Þ HðW 6 > 0; DCÞ þ HðC6 > 0; DCÞ dh þ HðC1 > 0; DCÞ þ HðC6 > 0; DCÞ kd ðC6 Fp Fe C sat Þ
@C7 ¼ HðcoldÞ ½HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t Co Ar c W7 @C7 Co k 1 2Fe qe C7 U HðhotÞ V @X 4ks HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ ðC7 Co C sat Þ dh Co þ HðC2 > 0:DCÞ þ HðC7 > 0; DCÞ kd ðC7 Fp C sat Þ
ð102Þ
Co-60:
@C8 W8 C8 ¼ HðcoldÞ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 Co Ar c2W 7 @C8 HðhotÞ qe C7 Us Co k 1 Co V @X W8 C8 4ks HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ W7 C7 dh C3 C8 þ HðC7 > 0; DCÞ ðC7 Co C sat Þþ HðC2 > 0; DCÞ C2 C7 ð103Þ kd ðC7 FP Co C sat Þ 27 l 60 C8
90
Co-58:
Nickel:
Nuclear Corrosion Modeling
@C9 W9 C9 ¼ HðcoldÞ HðW 9 > 0; DCÞ þ HðC9 > 0; DCÞ @t W7 C7 Co Ar c2W 7 @C9 HðhotÞ Co k 1 Co qe C7 Us V @X W9 C9 HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ W7 C7 4ks C4 C9 Co þ HðC7 > 0; DCÞ ðC7 C sat Þ þ HðC2 > 0; DCÞ dh C2 C7 kd ðC7 FP Co C sat Þ 27 l58 C9 ð104Þ @C10 ¼HðcoldÞ ½HðW 10 > 0; DCÞ þ HðC10 > 0; DCÞ @t Ni Ar Ni c 2 W 10 @C10 k 1 qe C10 Us HðhotÞ Ni V @X 4ks HðW 10 > 0; DCÞ þ HðC10 > 0; DCÞ ðC10 Ni C sat Þ dh þ ½HðC5 > 0; DCÞ þ HðC10 > 0; DCÞkd ðC10 Fp Ni C sat Þ
ð105Þ
Discussion
In the media soluble equations, the Heaviside functions H(cold) and H (hot) are used to distinguish the fluxes that apply only to the ion exchanger (cold) and the filter (hot), respectively. In the first line of each equation that defines the ion-exchange process, the use of the DC in the Heaviside function refers to the sign of the isotherm, which is of the form 1
el
c 2 Wel el
qe
In the hot equipment, hydrothermal crystallization/dissolution to and from both the particles and filtered mass in the bed is allowed, whereas ion exchange is excluded. Thus, equations (86) to (105) now define the media equations that will be solved when the user specifies a part or region of the hydraulic circuit to be either a filter or an ion exchanger.
7
CHAPTER
A Solution Method Contents 1. Linearizing the Equation Sets 2. Finite Differencing General Equations for Iron in Iron- and Nickel-Based Alloys Simplified Linearized Iron Equations How Does Finite Differencing Work? mÞ Defining Y ðnÞ and bðn; 3. Subordinate or Secondary Models and Correlations Fortran or C Algorithms for the Thermodynamic Properties of Steam and Water Computation of pH (Log of the Hþ Ion Concentration) Single-Phase Hydraulic Friction Factor
92 94 95 96 98 100 104 105 105 105
Equations (48) to (78) (the general equation sets) and equations (86) to (105) (the media equation set) are loosely coupled, nonlinear, partial differential equation sets that describe the time rate of change of masses to and from the solid and aqueous phases in the primary reactor coolant systems of a pressurized water reactor. This text has intentionally defined one of the simplest systems, choosing, for example, to use a liquid pH control agent and to not model the radiation inhibitor zinc or the neutron control agent boron. Nonetheless, the discussion thus far provides a road map for how one might expand the complexity of these equations to include additional balance equations. Even still, the most general equation set (for iron and nickel corrosion-resistant alloys) and the media equation set represent a set of 20 partial differential equations for 20 dependent variables, which by some standards is a moderately large system of coupled differential equations. True mathematicians might propose many different numerical methods to solve these systems. However, the one proposed here is iterative finite difference and its implementation will neither be simple nor elegant. I choose to call it a brute force approach that is only suggested because it has been shown to be successful in similar circumstances. The first step in the process is to convert # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00007-4
91
92
Nuclear Corrosion Modeling
the system of nonlinear partial differential equations to one of coupled linear partial differential equations with constant coefficients.
1. LINEARIZING THE EQUATION SETS In many of the equations that make up the general and media equation sets, their form is already one in which the coefficients of the dependent variables are constants. Thus, they are considered first-order or linear partial differential equations and could be solved in a system of equations, exactly as they are stated. However, in several of the more complex equations (especially the soluble species and, more precisely, the radioactive soluble species), the equations are nonlinear and must be simplified to be of the form of linear partial differential equations with constant coefficients. This is best illustrated by example. Consider equation (67), which is the time rate of change of soluble cobalt-58 in the iron and nickel general equation set, restated here for convenience: Co-58 :
@C9 W9 þ W4 C9 ¼ HðW 7 > 0; DCÞ þ HðC7 > 0; DCÞ @t W7 C7 4ks @C9 ðC7 Co C sat Þ U HðC4 > 0; DCÞkd dh @X eff
ðC7 F P Co C sat Þ þ 0:6808 C10 58 s th fth 27 l 58 C9 ð67Þ
One can see, for example, that the coefficient for the hydrothermal driving force (C 7CoCsat) has dependent variables in both the numerator and the denominator, which makes the equation nonlinear and complicates the solution process. One can also see from equation (67) that the dependent variable C 9 (soluble cobalt-58) is explicitly coupled to soluble cobalt-59 (C 7), sublayer cobalt-58 (W4), surface layer cobalt-58 (W 9), surface layer cobalt-59 (W 7), particulate cobalt-58 (C4), and soluble nickel (C10). To make equation (67) a linear partial differential equation with constant coefficients, we must employ a mathematical trick by defining “pseudo-constants” that both reduce the explicit coupling of the equation and linearize it such that all coefficients of dependent variables are constant (or, more precisely, pseudo-constants). To do this, we take advantage of the fact that at any iteration step, in any spatial cell, we have estimates of all the dependent variables, either from inlet boundary conditions or from previous iterations within the spatial sweep of the temporal row. It is from these estimates that the coefficients of dependent variables may be computed. Thus, the function of the spatial iteration along any given temporal
A Solution Method
93
row of the problem is to use the latest estimates of dependent variables to refresh the pseudo-constants, and this is done sweep after sweep until all of the dependent variables have converged to a constant value to within some user-defined convergence criterion. That is, the entire purpose of the iteration process is to converge the pseudo-constants in that temporal row because once they converge, the dependent variables in each of the analytical cells in that row will also be converged. Thus, let us assume for the sake of discussion that in a system of equations with 20 dependent variables, there may be 100 or more pseudoconstants. Let us also assume that they shall be computed and stored each iteration in a variable array named A(i). It should be understood that the number and definition of each pseudo-constant are purely arbitrary; however, I prefer to define each Heaviside function as a unique A(i) coefficient for convenience (this is strictly a personal preference). The definition of pseudo-constants may be as simple or as complex as one chooses, but often the debug of Fortran errors is more easily accomplished if one can edit the specific value of each constant within a given equation. Thus, for the sake of discussion, let us assume that the pseudo-constants for equation (67) will be stored in the A(i) array starting at the location i ¼ 50. Then, one might choose the set of definitions shown in Table 9. Table 9
Examples of Pseudo-constant Definitions for Equation (67)
A(50)
H(W 7 > 0, DC )
A(51)
W9 þ W4 W7
A(52)
H(C7 > 0, DC)
A(53)
C9 C7
A(54)
4ks dh
A(55)
U
A(56)
H(C4 > 0,DC )
A(57)
kd
A(58)
0:6808 58 s th fth
A(59)
27l58
eff
94
Nuclear Corrosion Modeling
Now with these definitions, equation (67) can be rewritten as follows: @C9 @C9 ¼ ½Að50Þ Að51Þ þ Að52Þ Að53ÞAð54ÞðC7 Co C sat Þ þ Að55Þ @t @X þ Að56Þ Að57Þ ðC7 FP Co C sat Þ þ Að58Þ C10 þ Að59Þ C9 ð67aÞ
Several observations can be made regarding equation (67a). First, I chose to include all of the negative signs in the definitions of the pseudo-constants so that the resulting equation simply appears as a sum of terms (again, this is strictly a personal preference). Furthermore, one can now see that the dependent variable C9 is now only explicitly coupled to the dependent variables C 7 and C10. The coupling to the other dependent variables in equation (67) still exists, but it is now implicit within the definitions of the pseudo-constants, thus the need for the iteration sweeps along a temporal row to converge the pseudo-constants and thus the dependent variables as well. One can see from this example that the definition of pseudo-constants is completely arbitrary. For example, one could have combined A(50) through A(54) into a single constant, but again, this makes the debug of Fortran errors considerably more complicated. Nonetheless, the exercise for defining the pseudo-constants for all remaining general equation sets and media equation sets shall be left to the reader.
2. FINITE DIFFERENCING Readers who are familiar with advanced numerical methods may choose to skip this section. However, for those who are unfamiliar with numerical solutions or who might need a refresher, this section provides a brief introductory explanation of what finite differencing is, how it works, and what one actually computes when using the finite difference method. As for many other numerical methods (e.g., finite element, discrete ordinates, and moments methods), one begins by carving up the computational space into a discrete grid of analytical mesh cells (or, in some cases, nodes). Fortunately, in our system of equations, we have only two independent variables, space (X) and time (t). Other methods (e.g., neutron transport by discrete ordinates) may have up to seven or eight independent variables, such as energy, time, space (X, Y, Z ) and angle (a, b, g), each of
95
A Solution Method
(i-1,j+1) (i,j+1) (i+1,j+1) (i-1,j)
b
c
(i,j)
j+1
(i+1,j)
(i-1,j-1) (i,j-1) i-1
Δx x
Figure 15
(i+1,j-1)
a
j Δt
t
j-1
i i+1
Coordinate convention for finite difference grid.
which must be discretized into analytical grids. However, our system is easily described in a two-dimensional grid of space (X or hydraulic length) and time (operating history hot hours). Thus, we must first define a convention for the notation of the nodes in the grid. Consider the single analytical cell illustrated in Figure 15. This figure illustrates a single analytical cell of width 2DX and height 2Dt, and in this convention, the cell center node is indexed (i, j ), which stand for specific mesh lines in a grid of (X, t) such that the rows of mesh lines (i.e., i ¼ 1 to imax) are the spatial domain of the hydraulic circuit at time j, and the columns of mesh lines (i.e., j ¼ 1 to jmax) are the temporal domain of the grid at location i. However, before we continue with the discussion of the numerical method of solution, it is useful to put it into the context of our general equation set. To do so, we discuss the general equations for iron in the general iron- and nickel-based alloy system. Here, we choose iron because iron (in all of its forms) is only coupled to iron, thus simplifying the discussion. Cobalt, of course, is coupled to cobalt-60 and cobalt-58, and cobalt58 is coupled to all of the nickel equations so that things get very messy very quickly. So for now, let us presume that we are only interested in solving a set of equations where sublayer, surface layer, particulate, and soluble iron are the only dependent variables in the problem. The equations for these dependent variables have already been stated but are repeated here for convenience in their general and linearized forms.
General Equations for Iron in Iron- and Nickel-Based Alloys Sublayer Fe :
@W 1 1= ¼ ðFe K p FeK R Þ t 2 @t
ð48Þ
96
Nuclear Corrosion Modeling
Surface layer Fe:
Particulate Fe:
@W 6 ¼ HðDC; W 6 > 0Þks ðC6 Fe C sat Þ þ kdp C1 ke W 6 @t ð54Þ @C1 4kdp 4ke @C1 C1 þ W6 U ¼ þ HðC1 > 0; DCÞ dh dh @t @X kd ðC6 FP Fe C sat Þ ð59Þ @C6 4ks @C6 ¼ HðW 6 > 0; DCÞ ðC6 Fe C sat Þ U dh @t @X
Soluble Fe:
þ
4FeK r 1=2 t HðC1 > 0; DCÞkd ðC6 FP Fe C sat Þ dh ð64Þ
Simplified Linearized Iron Equations Sublayer Fe: Surface layer Fe:
Particulate Fe:
Soluble Fe:
@W 1 1= ¼ Að1Þ t 2 @t
ð48aÞ
@W 6 ¼ Að2Þ Að3Þ ðC6 Fe C sat Þ þ Að4Þ C1 @t þ Að5Þ W 6
ð54aÞ
@C1 @C1 ¼ Að6Þ C1 þ Að7Þ W 6 þ Að8Þ @t @X Fe þ Að9Þ Að10Þ ðC6 FP C sat Þ
ð59aÞ
@C6 @C6 ¼ Að11Þ Að12Þ ðC6 Fe C sat Þ þ Að8Þ þ Að13Þ @t @X 1= t 2 þ Að14Þ Að10Þ ðC6 FP Fe C sat Þ ð64aÞ
Discussion Note that in the simplified equation set, pseudo-constants may be reused in more than one equation. For example, in this case, it is obvious that I have defined A(8) ¼ -U, which occurs in equations (59) and (64); thus, there is no need to define more than one pseudo-constant to represent the same variable. The reader will encounter this many times once he or she has completed the exercise of defining the constants for all 20 equations. For now, however, we are focusing on the 4 equations that describe the flux of mass to and from the solid and liquid phases of iron in our system.
A Solution Method
97
We have previously made reference to coupling coefficients in our system, and these are basically the constants (i.e., normalized constants) that are the coefficients of the dependent variables in the four partial differential equations (equations 48a, 54a, 59a, and 64a). They are normalized such that the coefficient for each of the dependent variables in each of the equations is unity. Our objective is to arrange these equations in the following vector form: Y ¼ bðn; mÞ X , where Y is a column array of inhomogeneous constants, bðn; mÞ is a square array of coupling coefficients, and X is a column array of the dependent variables of interest. The solution of this system is obviously stated: X ¼ bðn; mÞ1 Y
ð106Þ
Thus, without doing anything other than observing the terms containing dependent variables in equations (48a), (54a), (59a), and (64a), one can construct the bðn; mÞ matrix as follows: 2
1 60 6 40 0
0 1 bð3; 2Þ 0
0 bð2; 3Þ 1 0
3 0 bð2; 4Þ 7 7 bð3; 4Þ 5 1
ð107Þ
Because this is only a 4 4 matrix, the inverted matrix bðn; mÞ1 is stated as follows: 2
1
6 60 6 6 6 6 60 6 4 0
0 1 bð2; 3Þ bð3; 2Þ 1 bð3; 2Þ bð2; 3Þ bð3; 2Þ 1 0
0 bð2; 3Þ bð2; 3Þ bð3; 2Þ 1
1 bð2; 3Þ bð3; 2Þ 1 0
3 0 bð2; 3Þ bð3; 4Þ bð2; 4Þ 7 7 bð2; 3Þ bð3; 2Þ 1 7 7 7 bð3; 4Þ bð2; 4Þ bð3; 2Þ 7 7 bð2; 3Þ bð3; 2Þ 1 7 5 1 ð108Þ
This process is significantly more complex when you define and invert the full 20 20 matrix for our full system of general equations, but the use a symbol manipulator such as Macsyma [22] is extraordinarily useful for this process. Thus, if it is not completely obvious by now, the b(n, m) values are made up of the pseudo-constants that we defined in the process of linearizing the general equation set.
98
Nuclear Corrosion Modeling
How Does Finite Differencing Work? To answer the question of how finite differencing works, let us focus on the bottom mesh line in Figure 15 at the time ( j 1) (this is the bottom boundary of the (i, j ) mesh cell). The corner nodes at Xi1 and Xiþ1 represent discrete points in space and time in the continuous function of the dependent variable that we shall represent as D(X, t), which we use for the purposes of this discussion. The “a” node at the center of the mesh line ( j 1) represents the spatial average of the continuous function D(X, t), integrated from the X location of (i 1) to (i þ 1) as follows: Xð iþ1
DðX; tÞ@X X
Dðtj1 Þ ¼
Xi1
¼ D ði;j1Þ
Xð iþ1
ð109Þ
@X Xi1
Similarly, if we focus on the leftmost spatial location at X(i 1), the “b” node in the center of this mesh line, the time-averaged value of D(X, t) at the location X(i 1) is computed as tjþ1 ð
DðX; tÞ@t t
D ðXi1 Þ ¼
tj1
¼ D ði1;jÞ
tjþ1 ð
ð110Þ
@t tj1
Finally, if we focus on the “c” node in the center of the cell of Figure 15 (i.e., node (i, j)), we compute the time- and spatial-averaged value of the dependent variable as jþ1 ð iþ1 ð
DðX; tÞ@t@x Dði; jÞ ¼
j1 i1 jþ1 ð iþ1 ð
@t dx j1 iþ1
ð111Þ
A Solution Method
99
This is, of course, the solution of interest for each of the dependent variables in the problem. The function D(X,t) is not analytically definable, but its average value ðDði; jÞÞ is and this is sufficient to solve this system of equations. Thus, for example, if we apply equations (109) to (111) to the particulate balance equation (59a), we obtain X
C 1i;jþ1 XC 1i;j1 Að8Þ ðtC 1iþ1;j tC 1i1;j Þ ¼ þAð7Þ W 6i;j þ Að9Þ 2Dt 2DX ð112Þ Fe Að10Þ C 6i;j FP C sat þ Að6Þ C 1i;j
At this juncture, it is worth noting that there are many forms of differencing schemes that one might choose, including central, forward, backward, explicit Euler, and implicit Euler. In this work, we are using central differencing in both the spatial and the temporal domains. Other mathematicians more skilled than I might choose a more sophisticated method, but I choose to live by the old KIS axiom (i.e., keep it simple). Now in equation (112), the solution that we want is C 1i; j ; thus, solving for C 1i; j , we obtain C 1i;j ¼
1 ½Að8Þ Dt C1iþ1; j DX C1i; jþ1 2 Að6Þ Dt DX
þ 2 Að7Þ Dt DX W 6i; j þ 2 Að9Þ Að10Þ Dt DX C 6i; j þ DX C1i; j1 Að8Þ Dt C1i1; j 2 Að9Þ Að10Þ FP Fe C sat DX
ð113Þ
The dependent variables with the subscripts of i þ 1 or j þ 1 represent solutions for the advancement of either space or time and these are always unknown. Dependent variables with the subscripts i, j are, of course, the cell-centered averages for (in this example) one of the four dependent variables in the system being solved. Without additional information (i.e., equations), this system cannot be solved. Thus, we must define what are known as closure equations to eliminate the unknowns. There are literally dozens of choices that one might make for closure equations. In this instance, we choose one of the simplest, the “diamond difference approximation,” which basically assumes that the cell-centered value (i.e., D i;j ) is the linear average of the temporal averages at (i 1, j) and (i þ 1, j) or the spatial averages at (i, j 1) and (i, j þ 1).
100
Nuclear Corrosion Modeling
Thus, for example, we can eliminate the unknown value of C1iþ1, j by assuming that C 1i; j ¼
C1iþ1; j þ C1i1; j 2
and then solving for the unknown C1iþ1, j, we obtain C1iþ1; j ¼ 2 C i; j C1i1; j
ð114Þ
By substituting relationships such as equation (114) into equation (113), we are left with an expression for C 1i;j that is written in terms of either other cell-centered dependent variables such as W 6i; j or things that are known (i.e., i 1 or j 1 subscripted variables) from either incoming left-hand-centered boundary conditions or bottom-centered incoming boundary conditions. These values are known from the solutions in either the previous temporal row or the previous spatial cell. Thus, if one knows Di1, j and Di, j1, one can compute D i;j . Once D i;j is known, then one can use the same closure approximation to propagate the dependent variables that represent the advancement of space (i.e., i þ 1) or time (i.e., j þ 1). There is, of course, a catch (there is always a catch in approximation modeling). This can be seen in equation (114). The catch is that if C1i1, j is greater than 2 C 1i; j , then C1iþ1, j will be negative and one will start to compute nonphysical values for the cell-centered averages in adjacent cells. So how does one proceed? I suggest that we construct our solution matrix using the diamond difference closure equations, recognizing that there may be cells in which we must us a different closure equation to propagate the outgoing values in both space and time. In these cases, it is suggested that we use the simplest of all closure equations known as the “step approximation,” where the outgoing solution is simply assumed to be that of the cell center. This approximation is always conservative (i.e., it overestimates the outgoing solution) and is always convergent. Later, a more significant discussion on how to protect against negative solutions is presented.
Defining Y ðnÞ and bðn; mÞ Thus far, we have described our objective to construct a vector system of the form Y ¼ bðn; mÞ X so that we may solve for the unknowns (X ) using equation (106), but we have not yet discussed how one defines the
A Solution Method
101
inhomogeneous Y vector or the coupling coefficients in the bðn; mÞ array. These definitions are the subject of this discussion. For this purpose, let us again focus on equation (59a), which describes particulate iron in its simplified form in the general equation set. This is the third equation in the four partial differential equations for iron in the equation set, so when we examine row 3 in the matrix of coupling coefficients in equation (107), we find that we need to provide definitions of coupling coefficients b(3, 1) through b(3, 4) in addition to the inhomogeneous term Y(3) for this equation. As previously stated, these coefficients will be defined in terms of things we know, including incoming boundary conditions of dependent variables as well as pseudo-constants, and other known factors such as saturated coolant concentrations and mesh cell dimensions. Let us begin by once again defining the simplified partial differential equation for the iron/nickel general equation set for particulate iron. In this instance, to facilitate the process, the equations from the Macsyma [22] symbol manipulator are extracted for convenience. This is equation (59a) repeated here for convenience: dcl dcl ¼ að9Það10Þðc6 f d csatfe Þ þ að8Þ þ að6Þcl þ að7Þw6 dt dx
ð59aÞ
Notice that in this form, the dependent variables (c1, c6, and w6) are still expressed (implicitly) as continuous functions of (X, t). The next step is to cast equation (59a) in a finite difference form using central differencing in both spatial and temporal domains: dcli; jþ1 dcli; j1 að8Þðdcliþ1; j dcli1; j Þ ¼ þ að7Þ dw6i; j 2 dt 2 dx
ð115Þ
þ að9Það10Þðdc6i; j f d csatfe Þ þ að6Þdcli; j
Notice now in this equation, we have switched to a notation where variable names are preceded by a “d” to denote that these variables represent finite different averages at the mesh node locations corresponding to the subscripted locations illustrated in Figure 15. Now in this form, equation (115) contains averages that represent advancements of space (i þ 1) and time ( j þ 1), which are unknown. To proceed, we must apply the diamond difference closure equations as illustrated in equation (114). Doing so yields the following equation:
102
Nuclear Corrosion Modeling
2 dcli; j 2 dcli; j1 ¼ að7Þdw6i; j þ að9Það10Þ dc6i; j f d csatfe 2 dt að8Þ 2 dcli; j 2 dcli1; j þ þ að6Þdcli; j 2 dx
ð116Þ
Notice that the finite difference form is expressed in terms of either cell-centered dependent variables that will make up the X vector (i.e., (i, j)) or things that are known (i.e., pseudo-constants, other defined constants, and incoming boundary conditions (i 1) and ( j 1)). The next step is to solve for the dependent variable of interest (dc1i,j) to normalize its coefficient to unity: dcli; j ¼
að7Þ dt dx dw6i; j þ að9Þ að10Þ dt dx dc6i; j þ dx dcli; j1 að8Þ dt dcli1; j að9Þ að10Þ f d dt dx csat fe ðað6Þ dt 1Þ dx þ að8Þ dt
ð117Þ
The simplest way to proceed is to make equation (117) a homogeneous equation by moving the right-hand side of the equation to the left-hand side, expanding the terms and setting it equal to zero. Doing so yields að7Þ dt dx dw6i; j að9Þ að10Þ dt dx dc6i; j þ þ dcli; j að6Þ dt dx dx þ að8Þ dt að6Þ dt dx dx þ að8Þ dt þ
dx dcli; j1 að8Þ dt dcli1; j að6Þ dt dx dx þ að8Þ dt að6Þ dt dx dx þ að8Þ dt
að9Þ að10Þ f d dt dx csatfe að6Þ dt dx dx þ að8Þ dt
ð118Þ
Now let us pick apart equation (118) to examine each term of the sum: að7Þdt dx dw6i; j að6Þdt dx dx þ að8Þdt
ð119Þ
að9Það10Þdt dx dc6i; j að6Þdt dx dx þ að8Þdt
ð120Þ
dcli; j
ð121Þ
dx dc1i; j1 að6Þdt dx dx þ að8Þdt
ð122Þ
A Solution Method
að8Þdt dc1i1; j að6Þdt dx dx þ að8Þdt
ð123Þ
að9Það10Þf d dt dx csatfe að6Þdt dx dx þ að8Þdt
ð124Þ
103
In this form, it is now easy to determine that only equations (119) to (121) are expressed in terms of cell-centered dependent variables (i.e., (i, j)); thus, the coefficients of these dependent variables will define the coupling coefficients in row 3 of the bðn; mÞ vector array. The remainder (equations 122 to 124) will make up the third row element of theY vector. These are defined as follows: b3;1 ¼ 0 b3;2 ¼
að7Þdt dx ðað6Þdt 1Þ dx þ að8Þdt b3;3 ¼ 1
b3;4 ¼ y3 ¼
að9Það10Þdt dx ðað6Þdt 1Þ dx þ að8Þdt
dx dc li; j1 að8Þ dt dclil; j að9Það10Þf d dt dx csatfe ðað6Þdt 1Þdx þ að8Þdt
ð125Þ ð126Þ ð127Þ ð128Þ ð129Þ
Lets take a moment to see if these definitions make sense within the context of the third row in the coupling coefficient matrix in equation (107). The first coefficient, b3,1 in equation (125), is, by definition, zero because the particulates are not coupled in any way to the sublayer iron (W1). The second coefficient, b3,2 in equation (126), is the coefficient that couples the particulate iron (C1) to the surface iron layer (W6), and this coupling is defined by the particulate deposition and erosion building block equation in equations (9) and (10). The coefficient for C1i,j is, again by definition, unity because we normalized the finite difference equation to this dependent variable by uniquely solving for it in equation (117). Finally, the coefficient b3,4 defines the coupling between the particulate iron and the soluble iron as defined by the hydrothermal particulate crystallization/dissolution building block equations (38) and (39). All of the other terms (equations 122 to 124) are inhomogeneous constants that make up the third row of theY vector. To create the Y3 constant, we move equations (122) to (124) to the right-hand side (i.e., change their
104
Nuclear Corrosion Modeling
sign) and sum them together, and then equation (118) will be in the desired formY ¼ bðn; mÞ X . As before, the exercise in computing the remaining constants in the Y vector and the coupling matrix in equation (107) will be left to the reader. Once complete, the vector dot product expressed in equation (107) will yield a system of four equations, the third row of which will yield an equation that states dc1ij ¼ . . . . . . . . . . . . The astute reader will thus understand that if one has estimates of the dependent variables at the inlet boundary conditions (i.e., mesh nodes (i 1, j) and (i, j 1)), then one can estimate the cell-centered average (i, j ), which can then be propagated in space and time using the diamond difference closure equations.
3. SUBORDINATE OR SECONDARY MODELS AND CORRELATIONS We have described how to create a set of equations (i.e., the X vector) that contains the solutions of interest for the cell centers of all of the mesh cells in any given temporal row. Although we have only explicitly described the process for one equation (equation 59a), the process is identical for all the other equations in both general and media equation sets. Thus, one might be tempted to conclude that the construction of the “global model” is complete; however, much more work must be done before one can draw this conclusion. In fact, a living global model is never complete as long as there is money and manpower to continue to advance the existing horizon of scientific knowledge and understanding. That not withstanding, in every global model, there is almost always a host of subordinate or secondary models and/or correlations that are needed to compute the inputs to the general and media equation sets, and these are described briefly here. We have already mentioned several of these subordinate models. The Stein correlation [13, 14] and the Stokes-Einstein formula for molecular diffusivity [12] are two examples of subordinate or supporting models without which the global model could not be assembled. This section discusses several of the more significant secondary models that will be required to assemble the global model that is intended to describe the nature of Chalk River unidentified deposit (CRUD). For the sake of brevity and clarity, we will give this global model a name for future reference. I propose the acronym NOC (nature of CRUD).
A Solution Method
105
Fortran or C Algorithms for the Thermodynamic Properties of Steam and Water One of the most important subordinate sets of algorithms that will be required is one that will allow access to all of the thermodynamic properties of steam and water with a single subroutine call given a user-specified temperature and pressure. This subroutine call uses these algorithms to return properties such as density, viscosity, thermal conductivity, and phase. For convenience, we refer to these models as the “steam tables” functions. The Fortran algorithms for the computation of the steam table properties, developed by the International Association for the Properties of Water and Steam (IAPWS), were first published in NBS/NRC Steam Tables [23] in 1984. Subsequent to that publication, IAPWS has revised the steam tables data at least twice in several other publications, but most of the revisions are improvements to correlations at or near the critical point made possible by new research. More significant, IAPWS is commercially marketing the source code in both Fortran and C for these algorithms; thus, I recommend that these subroutines be obtained directly from IAPWS. Note that one should take care with regard to using the printed formula and code in NBS/NRC Steam Tables [23] because several errors and omissions have been found and corrected in subsequent publications.
Computation of pH (Log of the H+ Ion Concentration) It can be seen from equations (16) to (20) and those in the appendix that the computation of saturated or equilibrium coolant concentrations would not be possible without knowing the concentration of the hydronium ion (Hþ) in the reactor coolant. It would be inappropriate to require the user to specify this concentration as part of the program input because what the operator (i.e., user) most frequently measures or knows is the parts per million of pH control agent at a given operating condition. Thus, one needs an algorithm that can compute the pH (and thus the Hþ concentration) given a specified temperature, pressure, and NH3 or LiOH concentration. For this purpose, I suggest using the work of Mesmer et al. [24] because of their explicit treatment of the effects of pressure on pH. There are others that might be used, but generally they treat only temperature effects and one must then adjust the results for the effects of pressure.
Single-Phase Hydraulic Friction Factor Having a useful correlation for the single-phase friction factor is required to calculate the hydraulic sheer used in many of the particle mass transfer
106
Nuclear Corrosion Modeling
coefficients. I recommend the work of Joann Nikuradse, who in the 1930s measured the hydraulic effects of uniform sand grain roughness on the flow in cylindrical pipes. Nikuradse, a Georgian-born German engineer and physicist, conducted his famous experiment in 1933, which was published in 1937 [25]; remarkably, his results have survived the test of time. Although others (e.g., Moody and Fanning) have tried to improve on his work, Nikuradse’s data are still recognized as the standard in the area of the physics of hydraulics. There are several reviews of his work [26, 27], and there is an excellent graphical representation of his data published in Davies [12]. Interestingly, it will not be necessary to correlate “roughness” for the purposes of the NOC modeling; the smooth pipe correlation will suffice. This fact is obvious if one looks at the photomicrographs of the thick corrosion films on 304 stainless steel illustrated in Figures 1 and 2. Notice that these films are measured in terms of microns and Nikuradse’s sand grain dimensions were measured in terms of mils. Thus, for all practical purposes, these films would have to be thousands of milligrams per square decimeter before the surface roughness would be significant. In modernday reactor coolant chemistries with modern-day corrosion-resistant alloys, a thick ferrite layer would maximally be of the order of tens of milligrams per square decimeter.
8
CHAPTER
Defining the Input Architecture for NOC Contents 1. System Defaults and Program Control Inputs Finite Difference Mesh 2. Time-Independent Part (or Region) Inputs 3. Operating History Histogram Inputs The Modeling of Time 4. Time-Dependent Inputs Time-Dependent Loop Connection Table Inputs Time-Dependent Part Inputs 5. Program Design and Suggestions
107 108 110 114 115 116 117 117 120
The user-specified inputs necessary to describe a NOC simulation for even a small research or marine propulsion reactor require an enormous amount of data. Some simulation model inputs may approach 100,000 unique input statements or more and may require a human-year or more of engineering effort to compile. Thus, it is worth discussing the inputs required to compute the pseudo-constants for the computational domain in every spatial and temporal mesh cell of the problem. At the macroscopic level, there are four basic types of inputs: (1) system defaults and program control inputs, (2) time-independent part (or region) inputs, (3) operating history step inputs, and (4) time-dependent part (or region) inputs.
1. SYSTEM DEFAULTS AND PROGRAM CONTROL INPUTS The default inputs are basically the housekeeping controls and defaults that the program will use if the user does not input specific data to override the default for a given part. Typically, they specify things such as the default input and output (I/O) units (inches, feet, centimeters, meters, days, # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00008-6
107
108
Nuclear Corrosion Modeling
hours, seconds, etc.) for program I/O and units for any special edits such as curies or radiation levels that might be computed from the solution of the radioactive dependent variables in the problem. They may also include the 100% power (Mw) and flow rate data, default pH control rate agent concentrations, dissolved H2 concentration, and 100% power Thot, Tave, and Tcold to be used by the program in the absence of other user-specific specified inputs for any given part. There may be many other inputs that fall into this category, but you get the general idea of the functionality of these data, and usually they are the first things to be processed in the input scanning of the program. Note that I am a firm believer that any given design computer program should minimize unnecessary user inputs whereever possible. A program should never ask for a specific count of input items if they are things the program can recognize and count. Furthermore, in our case, the user should not have to input the data for each finite difference mesh cell. Automeshing is easily programmed in several hundred lines of Fortran code. Rather, the user should only have to input the default spatial and temporal mesh spacing with the option of changing it on a part-by-part basis if necessary. Thus, default mesh spacing inputs should be considered as one of these important program control inputs.
Finite Difference Mesh Regarding the finite different mesh inputs, there is specific information that will aid in the understanding of both the size of these simulation problems and the dependent variable rates that one should expect. Creating a finite difference mesh is always a trade-off between solution accuracy and problem (or solution file) size. Of course, the finer the mesh, the more accurate the cell-centered averages that will be computed, but the larger (and thus more computer intensive) the problem will be. The discretization of the mesh is almost always dependent on the flux gradients of the dependent variables that are expected in the solution. Experience has shown that a spatial mesh spacing of approximately 4 or 5 inches and a temporal mesh spacing of approximately 1 or 2 hot hours of operation will be sufficient for computation of reasonable finite difference solutions in the general equation set. One can then see that with a hydraulic length of several thousand inches and a plant lifetime of 30þ hot years, these are very large analytical grids. One can take advantage of certain facts when writing the solution binary file to disk. In general, visualization of animations of these solutions is similar to watching grass grow. Fortunately, the
Defining the Input Architecture for NOC
109
masses in the primary reactor coolant have a very large thermal inertia and the migration of mass as a result of changes in operating conditions occurs very slowly. This is best understood by example, but first we describe the operating history in discrete steps (as a time-dependent histogram), where the inputs in each step remain constant for the entire temporal step. Consider the following real practical example. When a utility brings a new power plant (or refueled plant) on line, the utility is given a temporary license by the regulatory agency to operate the plant at a reduced power rating (e.g., 30% to 50% power) for some extended period of time (e.g., 3 to 6 months) until the utility can demonstrate that all of the safety systems and reactor controls are operating as specified. During this period of time, the time rate of change of masses within the primary reactor coolant seek some steady state based on the constant hydrothermal conditions in the coolant. The plant never reaches equilibrium (i.e., the derivatives never go to zero), but a steady state will be established. Once the regulatory agency grants the utility a license for unrestricted 100% power operation, the primary coolant system will see a step change in power, flow, temperatures, etc. At that time, the coolant will start to seek a new steady state, and it will take weeks or even months for that steady state to be established. Thus, we say that there is a very large thermal inertia and the transport of Chalk River unidentified deposit (CRUD) is relatively insensitive to minor increases and decreases (or changes in hydrothermal conditions) that might occur over the lifetime of the plant. However, it has been found that specification of a temporal mesh spacing that is larger than several hours will cause analytical instabilities in the solutions. Fortunately, one need only write a row of solutions into the binary solution file approximately every 24 to 48 hours. Doing so will not significantly affect the accuracy of solution postprocessing and will reduce the solution file size from several hundreds gigabytes to only a few. The same is not true for the spatial discretization of mesh cells in the equipment that simulates purification media. In this equipment (especially the ion exchanger), the spatial fluxes of mass transfer are enormous. Typically, 0.5-cm mesh spacing is required in this equipment to accurately compute the spatial distribution of dependent variables. It is not unusual for all of the soluble species of a given element (or nuclide) to vanish within a few centimeters of media length. This means that there may be more spatial mesh cells required to model the media than required to model the rest of the hydraulic circuit. This is why it is necessary that
110
Nuclear Corrosion Modeling
the specification of time-independent part inputs should allow the user to specify spatial mesh spacing that overrides the general program default mesh spacing on a part-by-part basis.
2. TIME-INDEPENDENT PART (OR REGION) INPUTS By definition, a part is some section of the hydraulic flow path of a primary reactor coolant circuit whose physical characteristics (e.g., composition, length diameter, volume, and area) remain constant over the entire temporal domain of the problem. The user has complete freedom to carve up the flow path into as few or as many parts as desired; it only affects the spatial detail of the solutions that one has to edit at the conclusion of the problem. For example, one could choose to model the flow path of a single fuel cell as a single part, but in doing so, one loses the ability to model and compute the axial distribution of power, neutron flux, and CRUD mass as it varies in time throughout the temporal domain of the problem. Thus, a typical input might choose to model each type of fuel cell in some discrete number of lengths (thus many parts) of, for example, 6 to 10 inches, each providing the opportunity to compute a more accurate spatial distribution of physical inputs and solutions. There is, of course, a trade-off. The more parts one specifies, the more input one must provide to define the timedependent nature of the physical parameters. Thus, careful consideration must be given to the benefits and detriments of overspecifying the physical geometry of the simulation input. Time-independent inputs (or static part definitions) include part number; material type; equipment type, such as piping, pump, heat exchanger, ion exchanger, filter, and fuel, which are generally only used for edit summaries of solutions in postprocessing; wetted surface area; coolant volume; and flow area. Depending on the equipment type (e.g., pipes or media vessels), sometimes only length and physical diameter are sufficient and the program can calculate hydraulic length and diameter as shown in Tables 10 and 11. Another important initial “static part” input is the loop connection table. It is the default (i.e., 100% flow) information that defines the connectivity of parts that make up the hydraulic circuit of the primary reactor coolant loop. Note that it is also necessary to define a “time-dependent” mechanism to alter the default loop connection because flow fractions may change with loop flow, equipment lineup, etc. However, the automeshing algorithm will need the default loop connection information to
Table 10 Typical Part Inputs
Part No.
Base Metal
Coolant Volume
Wetted Surface Area
Hydraulic Diameter
Hydraulic Length
1
Pipe
R
R
C
C
C
C
R
R
2
Core
R
R
R
R
R
C
NA
C
3
Heat exchanger
R
R
R
R
R
C
NA
C
4
Valve
R
R
R
R
R
C
NA
C
5
Ion exchange
R
NA
C
C
C
C
R
R
6
Filtration
R
NA
C
C
C
C
R
R
7
Pump
R
R
R
R
R
C
NA
C
8
SG plenum
R
R
R
R
R
C
NA
C
9
SG tubes
R
R
R
R
R
C
NA
C
Defining the Input Architecture for NOC
Part Description
C, program computed value; NA, not applicable; R, required input.
Flow Area
Equivalent Inside Diameter
Part Type
111
112
Formula Used to Compute Program Inputs
Equipment Inside Diameter
Hydraulic Length
de 2
de - input
lh - input
Af ¼ V/lh
d h ¼ de e
de - input
lh - input
Af - input
dh ¼ 4(V/As)
ITYPE
Volume
Surface Area
Flow Area
1
V ¼ plh(de/2)2
As ¼ pdelh
Af ¼ p(de/2)2
2 de V ¼p 2 lh e
As ¼ p lh 2 de ð1 eÞ=w 2
V - input
As - input
5 and 6
All others
Hydraulic Diameter
dh ¼
Ih ¼ V/Af
Nuclear Corrosion Modeling
Table 11
113
Defining the Input Architecture for NOC
create the spatial discretization of the finite difference problem; thus the need for this default input. This is best understood by example; consider the coolant loop shown in Figure 16. It should be understood that Figure 16 represents an extreme oversimplification of the way one should parse up the hydraulic circuit into parts, but it illustrates many important aspects of the default loop connection table input (and subsequent spatial meshing) that the user must understand. First, the figure illustrates that the spatial grid will be “disjoint” as a result of the need to model unions and intersections. For example, let us focus on the pump branch node following piping part 19. Because the finite difference process uses solutions of the previous spatial cells as inlet boundary conditions for the next (or adjacent) spatial cell, one must have described and solved for the solutions of both branch loops (parts 20 to 22 and 23 to 26) before one can proceed with the solutions for the next part (which in this figure is numbered part 32). In general, leaving gaps in part numbering is not a good scheme because it makes it more difficult for the programmer to manage the internal workings of the code, but it is done here to illustrate that part numbers only serve to identify input properties with specific paths in the hydraulic circuit and to define the connectivity of the loop. Thus, the loop connection table must provide information such as
33
32
35
Pump loop A 16 12
11
13 13
8 25
26
7 10
6
14 17
5
2
3
15 4
22 24
19 23
1
Pump loop B
Figure 16
Sample coolant loop part specifications.
20 21
114
Nuclear Corrosion Modeling
X% of the flow exiting part 19 enters part 20 and Y% of the flow exiting part 19 enters part 23. At the union point where parts 22 and 26 enter part 32, the programmer must be careful to combine the outlet coolant-borne solutions of parts 22 and 26 to form the inlet boundary condition of part 32 to conserve mass. This means that the programmer must propagate the solutions forward based on the specific flow fractions in each of the branch loops and must also adjust for any differences in coolant density in each of the branches to ensure that mass is preserved. Figure 16 illustrates the disjoint nature of the spatial mesh because although the spatial mesh cells for part 23 might follow those for part 22 in the spatial row of the problem, these two mesh cells represent two distinctly different places in space in the hydraulic circuit of the problem. Although this union and intersection illustrates parts in the external piping loop, there will be many more instances that will occur within the reactor vessel, as illustrated with parts 1 through 4 and 10.
3. OPERATING HISTORY HISTOGRAM INPUTS The simple fact that the primary reactor coolant system has a large thermal inertia allows for a simplified description of the temporal operation of the plant in a histogram of operating steps where the thermal and nuclear conditions of the plant remain constant throughout the duration of each step. Programmatically, one must allow for three unique kinds of operating history steps, only one of which will require finite difference solutions for the dependent variables. Specifically, these are (1) an operating history power step, in which the reactor is at temperature and power and finite different solutions are computed; (2) a decay step, in which the reactor is shut down for an extended period of time (e.g., turbine or generator repair) and the only effect on the dependent variables is that the radioactive nuclides will be decayed according to their respective half-lives; and (3) a discharge step, in which certain surface masses in the problem are set to zero as mass is either discharged or removed from the reactor. Examples of discharge steps are refuelings, where typically one third of the core (and its corresponding ferrite layer) is replaced with fresh virgin fuel, and media discharge evolutions, where ion-exchange media or filter media is removed and replaced with new media. In these steps, both mass removal and radioactive decay must be accounted for and tracked to ensure that the overall problem mass balance is preserved.
Defining the Input Architecture for NOC
115
Typical data for operating history inputs include step duration (either hot or cold time); percentage power; percentage flow; coolant chemistry (e.g., pH control agent in parts per million and dissolved H2 concentration); Thot, Tave, and Tcold (i.e., bulk coolant temperatures); and, if it is a discharge step, a list of parts numbers for which the surface masses are to be set to zero, simulating a mass discharge. Note that it may not be necessary to specify Thot, Tave, and Tcold for each power step as part of the default inputs. The user can specify the value of these temperatures as a function of reactor power, as illustrated in Figure 17. In this figure, these are illustrated as linear functions, but each reactor will most certainly have different relationships for these inputs, which can be input as either program defaults or step-specific inputs. It should be understood that in the time-dependent inputs, each part will have two temperatures associated with its definition—the bulk coolant temperature (as illustrated in Fig. 17) and the surface wall temperature. This is discussed in detail later.
The Modeling of Time A very subtle but extremely important distinction regarding the modeling of time must be made both in the development of the NOC program and for the understanding of the inputs and solution postprocessing—the distinction between real calendar time and “hot hours” (or power step time). In the solution of the general equations (see building block equations 7 and 8), time is only measured in hot units of time; thus, the step duration for operating history power steps is specified as time that the reactor spends at temperatures greater than 300 F. The time duration inputs for both
Temperature
Thot
Tave
Tcold
Percent Power
Figure 17
Schematic of bulk coolant temperature versus power.
116
Nuclear Corrosion Modeling
decay and discharge steps are specified in real calendar time, which is only used for the radioactive decay of dependent variables. The modeling of these steps in the NOC program is trivial. When one of these steps is encountered, the finite differencing of the general and media equation sets is suspended and the program simply loops through the last row of solutions and propagates them forward by decaying the radioactive species based on their half-lives and the step duration, and possibly zeroing some of the surface masses if the user has specified a discharge step. The program must, of course, keep track of (and edit) any mass (and thus curies) removed from the system to ensure that the total mass balance in the problem is preserved. Once this is done, the finite differencing of the general and media equation set can resume for the next operating history power step. Thus, time is parsed into hot units of time, which define the source of mass for corrosion growth and release, and calendar time, which is used for keeping track of radioactive species. Within an operating history power step, hot units of time and calendar time are taken to be the same.
4. TIME-DEPENDENT INPUTS By far the most complicated and detailed inputs to a NOC simulation are those that are required to describe the time-dependent inputs for each part in the hydraulic circuit during the 30þ-year operating lifetime of any given reactor. The compilation of these inputs requires the coordinated efforts of mechanical, chemical, and nuclear engineers and designers and will eventually represent 85% or more of the user-specified inputs to the NOC computer program. When one considers that there may be 200 to 500 parts requiring 8 to 10 input parameters each and as many as 100 operating history steps, one begins to appreciate the magnitude of the effort associated with compiling a simulation input for even the smallest of research or marine propulsion reactors, not to mention those required to describe a large commercial electric power-generating reactor. Nonetheless, this kind of detailed input is required to predict the nature of CRUD in the primary reactor coolant circuit for the lifetime of any given reactor plant. There are two basic kinds of time-dependent inputs—those that describe time-dependent changes in the default loop connection table and those that define changes in the time-dependent characteristics of loop parts such as fractional power, thermal neutron flux, flux shaping parameters, and temperature. Each of these is briefly described herein.
Defining the Input Architecture for NOC
117
The construction of the NOC input preprocessor is one area in which a skilled programmer can help the user by minimizing the amount of required time-dependent part inputs. For example, a great time saver is a feature that only requires the input of parameters that have changed from the previous operating history step. Thus, inputs are constructed on a replacement basis, and the total amount of required inputs is minimized for any given time step.
Time-Dependent Loop Connection Table Inputs The need to specify a time-dependent loop connection is easily illustrated using the representation of a coolant loop in Figure 16. This image illustrates that this loop schematic has two different reactor coolant pump branches. In this instance, it is possible that only one pump is required to operate in any given history step, and pumps may be switched on or off or run in parallel in any given operating history step. In this example, the percentage flow fraction in any given pump loop may be a timedependent input, and the NOC input specification must allow for these inputs to be changed in any given operating history step. Furthermore, more subtle changes in flow fractions may occur in regions inside the reactor as a function of flow rate where the region flow resistance determines the fraction of coolant flow as a function of percentage full flow. For all these reasons, the program is required to allow for the time-dependent modification of the default loop connection table in every operating history power step.
Time-Dependent Part Inputs The time-dependent input for each part in every time step should include as a minimum the following data: • PFRACT—the fraction of total power (at 100% power) associated with this part. This input has the following range: -1.0 < PFRACT < 1.0. This input is required to compute the heat flux (q) associated with each part for the purpose of computing the time-dependent wall temperature. PFRACT will be combined with the default specification of total reactor power and the power fraction for a given operating history power step to compute the part-specific heat flux. Because the wetted surface area is known for each part, one can use q/As ¼ h(Twall Tbulk) to compute the wall temperature, where h is obtained from the Stein correlation of the Nusselt number [13, 14]. For fuel surfaces where power is generated, PFRACT will be greater than zero. For isothermal parts such as piping, PFRACT will be zero, and for steam generator tube parts where heat is removed from the primary coolant, PFRACT will
118
•
•
•
•
Nuclear Corrosion Modeling
be less than zero. To ensure that energy is conserved in the input, the sum of all PFRACT inputs for each part within a given power step must equal zero. PFLUX—the 100% power thermal neutron flux associated with each part within any given power step. This input will be combined with the fraction of total power in a given operating history power step to compute the part-specific thermal neutron flux in that step. This input will only be nonzero for parts within the reactor vessel. TBULK—the bulk coolant temperature for this part. It may be specified uniquely or computed by the program if the user has specified functional relationships for part temperatures as illustrated in Figure 17. If that is the case, then the user must tell the program if this part has a bulk coolant temperature that is Thot, Tave, or Tcold. THERM, RES, and FAST—the flux shaping parameters (see equations 45 to 47) for each part in each power step at 100% power within the water channels inside the reactor vessel. These inputs will be zero for all parts outside of the reactor. 59 Sw—the user-specified inhomogeneous wear source term associated with a given part for cobalt-59. If the user chooses to model other coolant additives, a similar input for zinc-64, boric acid, or lithium or barium hydroxide may be required. Typically, very few parts have nonzero inputs for these source terms, but because they may vary in time, each time-dependent part input must allow them to be specified.
Given these inputs, the static part definitions, the loop connection flow fractions, and the specific operating history power step inputs, the input preprocessor can calculate the following parameters for each part in every operating history power step for use in computing the pseudo-constants, mass transfer coefficients, coupling coefficients, and inhomogeneous vectors of the solution arrays: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Tbulk ( C)—part bulk coolant temperature rbulk (g/cm3)—part bulk coolant density q/As (W/cm2)—part heat flux Twall ( C)—part wall temperature rwall (g/cm3)—part coolant density at the wall temperature kdp (cm/sec)—part particulate deposition velocity ke (sec1)—part particulate erosion coefficient ks (cm/sec)—part mass transfer coefficient (Sherwood number) kD (sec1)—part particulate diffusive mass transfer coefficient FP—part particulate saturation enhancement factor 59 Sw (g/cm3-sec)—part inhomogeneous cobalt wear source th fn,m (n/cm2-sec)—the thermal neutron flux for part n in time step m
Defining the Input Architecture for NOC
119
13. effs58 (cm2/atom)—the effective thermal neutron production cross section for cobalt-58 14. effs60 (cm2/atom)—the effective thermal neutron production cross section for cobalt-60 15. effs65 (cm2/atom)—the effective thermal neutron production cross section for zinc-65 if zinc is being modeled 16. NRe—part Reynolds number 17. NSc—part Schmidt number 18. U (cm/sec)—part coolant velocity (or superficial velocity for media) 19. t (dynes/cm2)—part hydraulic sheer at the wall _ 20. M(g/sec)—part mass flow rate 21. lf (sec1)—part filtration constant if this is a media part 22. Tdecay (sec)—decay time if this is a discharge or decay operating history step Having all of these data precalculated and stored in memory in a convenient array (e.g., TPARTS(n, m)) will significantly simplify the refreshing of pseudo-constants and postprocessing of solutions upon completion of the project simulation. Nuclear Inputs and Power Shapes The accurate modeling of the temporal behavior of the nuclear inputs and power profiles is a crucial aspect of the time-dependent inputs and thus is worthy of a brief discussion. The way power moves axially in time in any given reactor core depends very much on the specific application that the core was designed to perform. Thus, for example, the power profiles of a research reactor such as the Advanced Test Reactor will be very different from those for a commercial power reactor by design. In research reactors for which the objective of the core is to provide high neutron fluxes (and often very fast spectra) to facilitate research and design, there may be very large power peaking factors at different times in core life. In commercial power reactors, nuclear designers work very hard to ensure that the power shape remains relatively flat (or constant in time) so that uniform burnup of the fuel is achieved. The importance of modeling the movement of the power shape in time is best understood by example. Consider the three exaggerated power profiles illustrated in Figure 18. This figure illustrates hypothetical normalized power distributions that have been created to facilitate this discussion. These shapes are intended to illustrate a core power profile at different times in life (e.g., beginning of life (BOL), middle of life (MOL), and end of life (EOL)).
120
Nuclear Corrosion Modeling
Top
Core Axial Height
EOL
MOL
BOL Bottom Normalized Power Shape
Figure 18
Schematic axial core power profiles.
It must be emphasized that the behavior of power migration is different in every core design, and in some cases the BOL power may start at or near core center and decrease in time before it increases. This behavior depends on a myriad of factors relating to each different design, including how core designers use poisons in the design and construction of fuel and control rods, how the rods are operated, and the overall power demands of the core. Nonetheless, the nuclear designers of these core systems run dozens of fuel depletion studies for many different times in core life, and it is from these analyses that one can obtain the time-dependent nuclear inputs to NOC simulations. It is important to model the movement of power in fuel as a function of time because the peak in the ferrite layer deposition on the fuel will follow the power peak as it moves in time. This is because the high DT at the power peak determines the driving force (DC) for hydrothermal crystallization to the fuel surface. Thus, the more time-dependent axial detail that one provides for nuclear inputs to the NOC simulation, the more accurately the simulation will predict the deposition of mass on the fuel surfaces.
5. PROGRAM DESIGN AND SUGGESTIONS In the late 1970s, following a technical presentation at a trade conference, Seymour Cray was fielding questions from the floor and was asked “What will the scientific programming language of the future be?” Without hesitation, Mr. Cray responded, “I’m not sure what the language will be, but it will be called Fortran.”
Defining the Input Architecture for NOC
121
For the most part, Mr. Cray was correct. At least for large number crunching, Fortran is still the language of choice. There is a reason why more than 90% of all of the computer codes stored in the National Code Repository at Oak Ridge National Laboratory are written in Fortran. The same is not true for the development of interactive graphical applications. An abundance of other choices are much more well suited for the code-to-hardware interfacing required for graphical user interface programming. Nonetheless, having grown up in the age in which scientific number crunching came into its own, I am still somewhat of a dinosaur and believe that the development of a program such as NOC should be a Fortran application and, specifically, it should use dynamic memory allocation. Dynamic memory allocation is a programming technique that has fallen out of favor because today computer memory is not a limiting factor. In the past, when 500 kilobytes was the upper limit of memory, dynamic memory allocation was a must. Today, however, it is not generally used. Dynamic memory allocation stores all of the data arrays in a line (one after another) in blank common (that part of memory above the last loaded word of program text). The advantages of dynamic memory allocation are that (1) one uses only the amount of memory required to solve a given problem and (2) dumping memory into a restart file can be accomplished with a single binary write statement. Thus, when restarting a problem, a single binary read restores memory to the same state that existed when the restart file was written. Implicit in this discussion is the presumption that it will be necessary to solve these simulations in many different computer runs. To calibrate the reader, even the simulation of small research or marine propulsion reactors may take 1 week of computational time on modern supercomputers. (These problems are not solvable on your home PC, no matter how good it may be.) The actual time required for any given problem depends on the number of spatial mesh cells in any given temporal row. The longer the row, the more iterations (or sweeps) will be required to converge the row; thus, simulations of large commercial power reactors will take many hundreds of supercomputer hours to solve. Therefore, building restart capability into the design of the analysis and I/O modules is a necessity and should be considered from the very beginning in designing the program architecture.
9
CHAPTER
Program Architecture Contents 1. Input Module Full Input Processing Restart Input Processing 2. Analysis Module Loop 1—Operating Steps Loop 2—Temporal Power Rows Loop 3—Descending the Loop Connection Table Loop 4—The Innermost Loop over Mesh Cells Row Convergence Preserving the Mass Balance Partial Row Rebalance Wrapping Up the Problem 3. Output Module 4. Summary
123 124 131 135 135 138 138 139 142 143 145 152 153 154
The discussion of program architecture is only intended to describe the general functionality of each aspect of the code. The actual guts of any specific code will, of course, depend on the skill and imagination of the individual program designer. Nonetheless, there are some very specific features that must be considered and they will only make sense within the context or vision of the overall program design, so it is worth discussing how one might go about laying out the architecture of the source code. In the most general terms, one can envision three distinctly different modules or sections of coding. They are grouped by their specific functionality, and for the purposes of discussion they are referred to as the “input module,” the “analysis module,” and the “output module.”
1. INPUT MODULE The input module has two basic functions. The first is to perform the full input processing (and editing), and the second is to recognize and perform a restart function that will not require the full input processing. # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00009-8
123
124
Nuclear Corrosion Modeling
Full Input Processing Full input processing is required at the beginning of a new simulation, and in this instance, the input processor will read and construct all of the data arrays to be stored in memory for the entire spatial and temporal domain of the problem. A skilled programmer will build in many input consistency checks to ensure that the processing of these very large inputs is internally correct and does not contain inherent errors. For example, one should check that the loop flow fractions (after all of the unions and intersections are described) sum to unity to ensure that coolant mass is preserved. There are dozens of other examples, but you get the general picture of this aspect of the input processing. I also believe that the program should echo back to the user (in wellorganized input table edits) the data that the user has specified and should also provide some problem summaries. However, before I discuss specifics, I outline some personal preferences that, in my mind, are like advice. The nice thing about advice is that it is usually free, and you have the choice to take it or leave it. However, the astute reader will understand that advice is generally recognized as a way of communicating past personal experience in the hopes that the one receiving the advice might benefit from the pitfalls and triumphs of those offering the advice. So without any further philosophical discussion, I relate some aspects about how I would design the code architecture given the task of creating the NOC source code. As an aside, I mention a word about terminology. This dinosaur of a Fortran programmer grew up in the age of 80-column punched computer cards. For approximately 35 to 40 years, computer cards were the only way to communicate both source code and code inputs to the mainframe computers (in those days, there were no laptop PCs). So you will forgive me if I use the terms input statements and input cards as synonymous references to a single set of input data (e.g., integers, floating point numbers, or Hollerith words) that defines a given entity of the program input. Input Prescanning My programming philosophy presumes, fundamentally, that the full input preprocessing module is most easily constructed by multiple passes (or scans) of the user input card deck. In general, it is not necessary to read every piece of input data on the first pass, especially if one is going to do dynamic memory allocation. In that case, the first task of the input
Program Architecture
125
preprocessor is to count the number of static parts, the number of operating history steps, the number of entries in the default loop connection table, etc. and to identify what kinds of inputs are present and what kinds are not. These counts define the array sizes that will be stacked up in blank common and will generally be used to compute all of the required memory allocations. Multiple input scanning is easily achieved using a read/write process on the first pass that the scanner makes through the input. The process is quite simple: Each input card is read as an 80-character Hollerith word (A80) into a temporary word (e.g., CARD) and immediately written into a temporary scratch external file that can be rewound and rescanned repeatedly. The temporary CARD variable may be scanned and read using internal Fortran reads to look for key inputs to aid in counting important sizing parameters. A trick that I use to assist in organizing the user-supplied inputs is to define specific card numbering schemes for the different kinds of program inputs. Thus, for example, the static part inputs might be defined as the 30NNNN card series inputs, whereas the operating history inputs might be defined as the 40MMMM card series inputs, where the significance of the NNNN and MMMM serial numbers may be defined at the discretion of the individual programmer. Another personal preference of mine is to allow the user the flexibility of a free-form input. The input can be free-formed at many different levels. For example, the definition of a given card type (e.g., static part definition (30NNNN)) should only specify the maximum number of data words for that part (many of which may be zero or, if not specifically input, will be assigned the default values specified in the program defaults) and the order and gender of each word (i.e., equipment type (I), material type (I), inside diameter (F), part description (H), etc.). Furthermore, the program should allow the user to change the program default input on the fly. Thus, for example, if the user has specified the program defaults to be “cm” and “sec”, but the user is compiling the program input from drawings created in English units, then one of the part definition input fields could allow the user to specify the data in terms of “in” and “hr.” If these fields are left unspecified, then the program defaults would be invoked for the input reading. Similarly, field delineation on any given card should be flexible (e.g., commas and blanks), and the user should have the option to specify all of the input values for a given part on a single card or on multiple cards
126
Nuclear Corrosion Modeling
with special terminating delimiters that allow the specification of userdefined comments that are simply ignored in input processing. More globally, because all input types are keyed to a specific serialized card type, the input order of card types should be allowed to be random (e.g., it should be perfectly legitimate for the 40MMMM card series inputs to precede the 30NNNN series inputs in the input stream). Another useful feature that minimizes the required user input is a feature that only requires the input of data for the next time step that are different from those of the previous. I call this input by replacement only. One of my major complaints regarding the design of input modules for large design computer programs is that they are designed to make the programmer’s life easy. My strongest suggestion is that when the programmer designs the program input algorithms, the primary focus should be to make the input generation as easy as possible for the end user, especially because these input decks are so large. This might sound like “motherhood,” but one would be astounded by the number of design programs in which the input specification can only be described as bizarre, illogical, and unbelievably and unnecessarily complex. So be creative, and put yourself in the place of the end user as you design your input processor. Full Input Summary Edits Let us now presume that your input prescanner has read all of the userspecified inputs and has populated all of the data arrays that will eventually be used by the analysis module to compute the pseudo-constants and coupling coefficients required to solve the problem equation sets. Before calling the analysis module and commencing the finite difference iterations, the programmer has the perfect opportunity to provide edits of the user inputs and associated global summaries that will be extremely useful to (1) validate that the program has interpreted the user-specified inputs correctly and (2) provide useful global problem input summaries that not only can be used in interpreting the computed solutions but also will be useful in comparing one reactor plant input specification to another. For example, one trivial but most useful summary is an edit of the wetted surface area by material composition. Such an edit might tell the user that in one reactor plant, 75% of the wetted surface area is 304 stainless steel compared to another nickel-based reactor plant input in which 65% of the wetted surface area might be alloy 600.
Program Architecture
127
Another subtle but useful input summary might be the problem neutron flux and part volume averaged effective thermal neutron cross section in each temporal operating history power step of the problem. This kind of summary will provide some insight as to how the neutronics of the core changes over the lifetime of the core. This is best understood by example. Consider the production of cobalt60 by the neutron activation of cobalt-59. Table 7 illustrates that the thermal activation cross section for this reaction is 37 barns and the resonance integral cross section for this reaction is 74 barns. Now recall that for each part within the reactor, in each operating history power step, the user inputs flux shaping parameters (THERM and RES) and the thermal neutron flux and that these parameters vary in time. Thus, for example, early in the core life (e.g., power step number 1), the part-flux averaged effective thermal neutron cross section for the production of cobalt-60 might be 68 barns, whereas at end-of-life (near the last operating history power step) the part-flux averaged production cross section might be 48 barns. This might indicate that early in core life, the effective core spectrum might be more epithermal, and that as the core ages, the core flux spectrum shifts more toward that of a thermal spectrum. These kinds of lifetime summaries of the nuclear behavior of a given core are useful in trying to explain differences in calculated solutions from two different reactor plant summaries. The detailed hydraulic and nuclear inputs required to describe a NOC simulation make these kinds of comparisons possible. Similarly, one can compute time-dependent and/or problem-averaged hydraulic conditions such as coolant velocity, Reynolds number, and hydraulic sheer by user-specified equipment type. Regarding input summaries, the programmer should be just as creative to provide as much user-friendly information as possible in convenient engineering units (these units might be different than the program internal default units convention and should be a user input option). Automesh Generation Most of the following discussion requires a more intimate knowledge about what the full finite difference mesh will look like. Although Figure 15 defines the numbering convention for the mesh nodes formed by the intersection of temporal and spatial mesh lines, one needs to understand some additional (more subtle) features of the mesh. Let us therefore turn our attention to Figure 19, which illustrates three temporal rows in a
128
248
247
246
245
244
243
242
241
239 240
238
237
236
235
234
233
232
230 231
Nuclear Corrosion Modeling
row 1047 1046
523
1045 1044
522
1043 1042
521
1041
Part 18
Figure 19
Part 19
Part 32
Illustration of a finite difference computational mesh.
small portion of the spatial mesh for three hypothetical parts. Only the cell center nodes are shown as solid dots, but one should understand that estimates of all 20 dependent variables will also be computed at the intersections of every temporal mesh line and spatial mesh line. The first thing to realize is that the number of temporal mesh lines will always be twice the number of temporal mesh rows, and that the cell center index ( j ) for the cell center will always be an even number. The same is not true for the spatial mesh lines because of the disjoint nature of the mesh resulting from the need to model branches and unions in the flow path. This requires that each part must have its own unique spatial inlet mesh line and its own unique spatial outlet mesh line. Thus, for example, the outlet mesh line for part 19 (i ¼ 239 in Fig. 19) is uniquely different from the inlet mesh line for part 32 (i ¼ 240). The following is an example of why this requirement is necessary. Let us presume that the inlet mesh line for part 32 is at the union of a flow branch formed by parts 18 and 19. In this instance, the inlet coolant boundary conditions at node (240, 1042) will be defined by some combination of the outlet solutions of part 18 at mesh node (230, 1042) and part 19 at mesh node (239, 1042). The outlet solutions from parts 18 and 19 will obviously be combined based on the flow fractions in each branch and adjusted for any differences in coolant density in each branch to preserve the coolant mass at the union. This example also illustrates the requirement that one must have solutions from the outlet of all of the branch loop parts before one can propagate them forward to the inlet node of the union part.
Program Architecture
Non-Recursive Loop Branching
Figure 20
129
Recursive Loop Branching
Recursive and nonrecursive flow branching.
This illustration brings up another very subtle but important factor regarding flow branching. In this text, we only discuss nonrecursive flow branches. The difference between recursive and nonrecursive flow branches is illustrated in Figure 20. A recursive flow branch is one where the flow feeds back on itself prior to the outlet union. Although there are algorithms that allow for the modeling of recursive flow branching, they impose a significant complexity on the iteration strategy of the finite difference solution method, which is well beyond the scope of this introductory discussion. Thus, for the sake of simplicity, the design of the automeshing algorithm that will be created by the reader for the NOC program should check for and only allow nonrecursive loop branches, and when the spatial grid is meshed, the rules of meshing branch loops before union parts must be strictly enforced. Initial Dependent Variable Boundary Conditions The last function that the input module should perform prior to calling the analysis module for the first time is to establish the inlet boundary condition for all of the dependent variables at all of the i mesh nodes on the j mesh lines 1 and 2. This means that the first finite difference sweep across the first temporal mesh row must have nonzero guesses for each of the 20 dependent variables at each mesh node illustrated in Figure 15 before it can estimate the cell-centered solutions in each mesh cell of that row. The sweep starts from left to right, so for mesh cell 2,2 (the first mesh cell of the problem) the equation set must have 20 nonzero values at mesh node 1,2 (the left inlet mesh line for the first cell) and at mesh node 2,1 (the bottom inlet mesh node for the first mesh cell). It is important to understand that any guesses (no matter how well educated they might be) will be wrong and will actually have little or no effect on the problem solutions at the end of the simulation because the problem statement solutions will quickly (typically within the first 100 temporal mesh rows) seek the problem steady state for the hydrothermal
130
Nuclear Corrosion Modeling
conditions defined for the first operating history power step. The equation set will not be well behaved if the initial boundary conditions are uniquely zero; thus, initial guesses are required (note that the only exception to this statement concerns estimates of the radioactive species, which can initially be zero because they will be computed from the nonzero estimates of the stable precursor dependent variables in each cell). Some simple assumptions can be made to provide reasonable estimates for these dependent variables. The simplest to compute are the initial guesses for the surface masses at j mesh line 1. To estimate the surface masses in both the chromite sublayers and the ferrite surface layer, we take advantage of the fact that the reactor never goes critical at time zero. For new construction and even refuelings, there is always a period of time when the primary reactor coolant system operates at high temperature and pressure for hot or cold subcritical physics testing, hydraulic flow testing, etc. Utilities try to keep these testing cycles as short as possible, but a given reactor plant may see several hundreds of hours at temperatures higher than 300 F prior to initial criticality. Thus, the input module should allow the user to specify the number of precritical hot hours as a required default input. With the knowledge of the total number of square centimeters of each different base metal in the problem, and by knowing how many precritical hot hours the plant has run before our critical simulation will commence (call this T0), one can use the elemental speciated corrosion growth and release coefficients to compute the masses of iron and nickel in the sublayers of each mesh cell and also the total mass of iron and nickel that has been released from the base metals. Now we can make several assumptions. Let’s assume that 5% of the released mass will remain as particulates in the aqueous phase. Thus, divide this mass by the total coolant volume and that can be used as the initial guesses of particulate iron and nickel in each of the mesh cells in the first row. Then, assume that the remaining 95% of the released mass is equally distributed onto the ferrite surface layer of all of the wetted surface areas of the plant, and this will give us guesses for all of the iron and nickel dependent variables except the soluble species. One can make similar kinds of assumptions for the cobalt sources (from both corrosion release and the inhomogeneous wear source) because the user-specified wear source rate is a user input (in g/cm3-sec). To provide an estimate for the soluble species, the program simply has to call the solubility algorithms (SATCON) with the average temperature,
Program Architecture
131
pressure, and ferrite layer composition and use the computed saturated coolant concentrations for iron, nickel, and cobalt as initial guesses in every mesh cell in the first row. As previously stated, these guesses will obviously be incorrect, but the mathematics of the problem solutions will quickly migrate the computed solutions to the thermodynamic steady state defined by the hydrothermal conditions of the first operating history power step. Generally, the solutions should start to stabilize within a few hundred temporal rows (or 100 to 200 hot critical hours of operation). Similar kinds of assumptions can be made to initialize the boundary conditions of media cells, and when in doubt, simply assume a very small, nonzero value and the equation set will eventually seek its own steady state that will have nothing to do with your initial guesses but will be driven by the specified hydrothermal conditions of the first power step.
Restart Input Processing The other main function of the input module is to recognize if and when the user has specified that this run is to be a continuation of a previous computer run. My preference is to use a user-specified input flag on the first (control) input card, which is always read regardless of whether this is a restart run or an initial run that requires full input processing. This control card also contains several other useful flags that can be turned on or off in a given run at the user’s discretion. For example, it is my preference to control printed debug from a particular subroutine or part of the program with an integer variable called IBUG that I make available to all parts of the code by storing the variable in a labeled common block. When IBUG ¼ 0, debug editing is turned off. If IBUG has some value other than zero, the debug statements may or may not be edited depending on the value of IBUG specified on the first input control card. Thus, for example, if one suspects that the iterations in a particular run begin to struggle at a particular temporal row, then a restart problem may be initiated with the appropriate IBUG value specified to interrogate the performance of the program. Generally, IBUG is used sparingly for very few temporal rows because depending on which option is specified, it can cause much printed output. Another such control variable that is always read is JSTOP. This is the temporal row number that the user chooses to wrap-up the solution file for subsequent restart. The user will find that the longer one chooses to let a simulation calculation proceed without wrap-up, the higher the risk
132
Nuclear Corrosion Modeling
that a computer system glitch might cause the loss of computed solutions. Typically, I wrap-up and restart a problem on a regular basis approximately once every 24 hours of computer time so that in the worst case, I lose only 1 day’s worth of analysis. I am sure that the program designer will think of many other such control flags and specify them to be input on this control card, which is always read at the beginning of a run. The Restart File Structure Before discussing the restart function of the input module, it is useful to describe the nature of the restart file structure. Of course, all program designers have the freedom to design their own unique binary solution/ restart file structures, but I share those aspects of my design that are useful not only for restarting a simulation calculation but also for postsimulation solution processing. Implicit in this discussion is the fact that the program designer will also be creating a solution postprocessor to provide the user with both graphical and special summary table edits of the time-dependent solutions for each of the dependent variables of interest. Because these solution files are so large, graphical animations of the time-dependent nature of the dependent variables superimposed on some pictograph of the hydraulic flow circuit is the only real practical way to interpret the computed solutions. Thus, the solution/restart file structure should be sufficiently specific for both simulation restarts and solution postprocessing. A significant discussion of solution postprocessing is presented later. Here, we focus on simulation restarting and the nature of the binary restart file required for this purpose. To fully understand the structure of the restart file, we must get ahead of ourselves here to know that there will be two kinds of arrays in the analysis module that contain solutions of the dependent variables: (1) DANS(20,IMAX,3)—this array contains 20 floating point solutions at every i mesh line of the problem for three temporal mesh lines (bottom incoming, cell-centered, and top outgoing) for the temporal row being analyzed in this sweep; and (2) AROW(20,ICMAX)—this array contains 20 floating point solutions for only the cell-centered nodes for each spatial mesh cell in the temporal row being analyzed. Actually, there will be two DANS arrays, DANS1 and DANS2, one containing solutions for the current row sweep and the other containing solutions for the previous row sweep. Comparison of these solutions is how one determines row convergence, but this is discussed later.
Program Architecture
133
Because the finite difference cell-centered solutions are the spatial and temporal solution averages of interest, the DANS arrays are working arrays for the analysis module and the AROW array represents the converged solutions for any given temporal row. Thus, the AROW array is the solution data that will be dumped to the solution file every time the program determines that solutions must be stored. I previously stated that it is not practical to output a row of solutions for every computational row of the problem because doing so would create a solution file of several hundred gigabytes. Thus, the default input for each operating history step will allow the user to specify the frequency at which a row of solutions will be written to the solution binary file (again, experience shows that approximately every 2 hot days of operation will be sufficient). The only exception is that the last temporal row of every operating history power step should always be output to the solution file. Thus, the “skipper” algorithm in the analysis module that determines when to output a row of solutions will be more complex than one might generally imagine. Regarding the solution file structure, I prefer to open this binary file in the input module and write a few header records that define both the problem size and the pedigree information. These might include the date stamp of the time and the date on which the simulation was started, a userspecified problem title, the mesh size, IMAX, JMAX, ICMAX, JRMAX, and a set of AROW values that are the inlet boundary conditions created by the input module at the beginning of the problem. In the analysis module, when the skipper algorithm determines that it is time to save a row of solutions, the Fortran write statement might look as follows: WRITEðIUNITÞ JROW; J; THOT; TCAL; AROW
The variable definitions in this statement are as follows: IUNIT—a binary logical unit number that has been opened to contain the solution file JROW—the temporal row number for this row of solutions J—the temporal mesh line number for this mesh row THOT—the hot time (in default problem units: seconds, minutes, hours, days, months, or years) for this mesh row TCAL—the calendar time for this mesh row in similar units AROW—the row of cell-centered solutions for this temporal row
134
Nuclear Corrosion Modeling
This illustration shows the absolute minimum amount of data that I consider to be requisite for solution postprocessing, but each programmer may choose to output as much or as little information as deemed necessary. I also prefer to output problem performance information such as MSWEEP, the number of iterations required to converge this row, and KSWEEP, the average number of iterations per row that the simulation has experienced thus far. This kind of information is useful to determine where (in the temporal domain of the problem) a set of solutions started to struggle for convergence, should that occur. This will be useful in determining when, in the course of the simulation, to turn on debug printing to aid in solution diagnosis. Now, during the course of looping through the temporal rows in the analysis module, when the program recognizes that JROW (the temporal row index) equals JSTOP (the user-specified wrap-up row flag), it is time to conclude this particular computer run and “wrap-up” the solution file for subsequent restart. My preference is to write a Fortran subroutine called WRAPUP whose function is to both write and read the solution restart file depending on an I/O flag on the subroutine call. When called from the input module, the flag indicates file reading, and when called from the analysis module, the flag indicates file writing. This is a convenient way to ensure that the file is always read exactly the same way it was written. When writing the wrap-up file, I first write a redundant record of the last row of solutions (i.e., WRITE(IUNIT) -JROW,J,THOT,TCAL, AROW) except in this instance, I set the row index ( JROW) to be negative so that it may be used as a search flag during the restart reading. Next, I dump all of the labeled commons to the file using binary writes and all of the loop start and stop indices for the nested “Do loops” in the analysis module (these are discussed in detail later). These indices will be used to continue the analysis where it left off once the problem has been restarted. Finally, I dump all of blank common to the solution file with a single binary write statement (e.g., WRITE(IUNIT)(DATA(I),I=1,ILAST)), where ILAST is the last word of the data arrays that are stored in blank common. This write statement produces a snapshot of the program memory at the time the problem is wrapped up, including the working DANS arrays. Restarting the problem then becomes a fairly simple task for the input module. It begins by looping through the records of the solution file searching for the record where JROW is negative. Once found, the
Program Architecture
135
pointer in the solution file is positioned to read in the labeled common blocks, the loop start and stop indices, and to reload blank common (e.g., READ(IUNIT) DATA(I),I=1,ILAST)). All that remains is to REWIND(IUNIT), to loop through the files with read statements searching for the record where JROW is negative, and BACKSPACE(IUNIT) one record so that the next time a row of solutions is output, it writes over the redundant row where JROW is negative. With this accomplished, the input module can simply call the analysis module and restart the iteration looping where it was suspended in the previous computer run. Some logic is required in the analysis module to recognize that this is a restart problem, but these details are left to the skill and discretion of the reader/programmer.
2. ANALYSIS MODULE The analysis module, as one might expect, is the guts of the NOC code and will ultimately control the iterations required to obtain the finite difference solutions in every spatial and temporal mesh cell of the problem. Its general architecture is nothing more than a single driving subroutine (that can and will ultimately call many other subroutines) that contains a series of four nested Do loops, each with a specific purpose that shall be described momentarily. The previous statement is an extreme oversimplification of all of the functions that are required and performed in the analysis module. Before we discuss the specifics of each loop, it is useful to paint a top-tier picture of what will be required to solve the entire finite difference mesh of X and T that is defined by the user’s problem input. This is best illustrated using the process flow diagram shown in Figure 21. As before, Figure 21 is an oversimplification of how the logic in an analysis module might flow. A host of other bookkeeping functions and subroutine calls have been omitted from this figure, such as keeping track of the number of iterations per row and the average number of sweeps per row. Nonetheless, this figure illustrates how one might structure an analysis module, and the general functions of each loop are discussed briefly here.
Loop 1—Operating Steps In the most general terms, the user defines the computational domain of the problem by a fixed geometry of spatial mesh cells where the physicochemical and hydrothermal conditions in every cell vary in time as a
136
Nuclear Corrosion Modeling
Loop 1 - Do 5000 M = MSTRT, MEND - loop over history steps Decay or Discharge - yes
If JHTYP
Call Discharge & Decay
Power - yes JP = JP + 1 Loop 2 - Do 500 J = JSTRT (JP), JEND (JP) - loop over temporal mesh cells 150 continue - re - entry for re - sweeping the spatial row Loop 3 - Do 50 IT = 1, ITMAX - decend the loop connection table Identify the next part = IP Set part physical parameters U(IP),TS(IP),TW(IP).......etc
Loop 4 - Do 5 IC = ICSTRT (IT), ICEND (IT) - loop throuth Call the solubility routines for the hydro - thermal conditions of this mesh cell to obtain saturated coolant concentrations.
the mesh cells in this part
Call SATCON
Refresh the pseudo - constants for this mesh cell with the latest Call REFRSH estimates of dependent variables
Compute cell centered averages
Call CNIFE Call CSTEL Call CZIRC Call CPUR
If MTYPE
Advance averages to I + 1 & J + 1
5 CONTINUE Export outgoing solutions to the adjacent part in the loop connection table.
50 CONTINUE Update the convergence arrays DANS1 or DANS2
No Go To 150
Call TEST
Test row for convergence
yes Check the mass balance and repair if necessary
Write row solutions and wrapup if J = JSTOP
500 CONTINUE 5000 CONTINUE Write row solutions and wrapup & Call OUTPUT
END
Figure 21
Process flow diagram.
Call REBAL
Program Architecture
137
function of operating history steps that are input to define the operation of the reactor over its lifetime. Thus, it is logical that the outermost loop (Loop 1) will be defined to loop over the input operating history steps, of which there are three kinds: operating history power steps, decay steps, and discharge steps. As previously discussed, the discharge and decay steps are specialpurpose steps that do not require solving finite difference equations. It is only the power steps (generally several tens of thousands of hours each) that are subdivided into temporal mesh rows (of only a few hours) that define the temporal mesh rows that must be swept in iterations to converge the finite difference solutions of every dependent variable in every spatial mesh cell. Therefore, one function of the outermost loop (Loop 1) is to determine the type of history step and to take the appropriate action based on its type. If the step type is either decay or discharge, my preference is to call a subroutine whose specific function is to decay the radioactive species based on the user-specified down time for this step and (if a discharge step) to zero the appropriate surface masses and create edit tables of the mass (and curie) discharge for those user-specified parts in the discharge step. Keeping Track of Time Previously, we discussed the difference between calendar time and hot time, but there is another very subtle critical distinction that must be made about time, and this function is delegated to Loop 1. This distinction stems from the fact that when parts are designated as discharge parts and masses are zeroed in the outermost loop, the hot-clock time for those parts must be reset to zero. This is required because of the fundamental building block equations for corrosion growth and release expressed in equations (7) and (8). This is best understood by example. When a part that is discharged (and replaced by virgin material) is either a media part or a zircaloy part, the hot hour time of the new part does not play a role in its respective equation set. However, if the discharge part is an iron/nickel- or cobalt-based alloy, which both employ equations (7) and (8) in their equation sets, the hot hours of exposure is a critical input. Consider the following scenario. In a specified discharge step, several parts that represent fuel assemblies are discharged and replaced with virgin material (in the code, their chromite and ferrite masses are set to zero and their hot hour clock is set to zero). Although many of these parts will be
138
Nuclear Corrosion Modeling
specified as zircaloy, there may be parts above and below the fuel that could be either iron- or nickel-based alloys. For these parts, the hot hour clock must start from zero, whereas the hot hour clock for adjacent parts that were not discharged could be tens of thousands of hours old. Thus, the outermost loop must keep track of the part-specific hot hour clock in each temporal row of the problem so that when equations (7) and (8) are evaluated for that part, the proper corrosion growth and release rates are computed. Note that the programmer may choose to precalculate part-specific times in the input module and store them as time-dependent variables, thus reducing the function of the outer loop of the analysis module to a simple table lookup.
Loop 2—Temporal Power Rows When the outermost loop determines that the next step to be processed is a power step, then the next innermost Do loop (Loop 2) will loop over the temporal mesh rows that the automeshing input algorithm created when it carved up the large number of hot hours of power operation in this step into temporal mesh rows based on the user-specified default temporal mesh spacing. Thus, for example, if a typical calendar history step is 3 years with a hotops efficiency of 85%, with the default temporal mesh spacing specified as 1.5 hours, there will be more than 17,000 temporal mesh rows in that single calendar history step. Loop 2 will loop through each of these temporal mesh rows, solving the general and media equation sets (as appropriate) in each spatial mesh cell along the temporal mesh row. My preference is to add a convenience function to the automesher in the input module that stores the starting temporal mesh line ( JSTART( J)) and ending temporal mesh line ( JEND( J)) for each operating history power step so that the Do loop indices are also a simple table lookup for Loop 2.
Loop 3—Descending the Loop Connection Table Nested within Loop 2 is the third Do loop, whose function is to descend through the loop connection table and identify the next part (IP) to be processed. Parts must be processed in the same order in which the automesher created the spatial row in the input module. Once the next part to be processed is identified, then Loop 3 can initialize the part-specific parameters, such as coolant velocity (U ) and bulk and surface temperature (Tb and Ts, respectively), so that these variables are
Program Architecture
139
available for the calculation of pseudo-constants in the innermost loop. Again, these data are simple table lookups because the input module calculated and prestored them in time-dependent data arrays for every part and time step in the problem. I also prefer to have the input module automesher store the starting and ending spatial mesh cell numbers for each part (e.g., ICSTRT(IP) and ICEND(IP)) so the Do loop limits are also a simple table lookup.
Loop 4—The Innermost Loop over Mesh Cells The real workhorse part of the analysis module is the innermost loop (Loop 4), which sweeps across the mesh row computing the cell-centered averages for each mesh cell in each part in the order determined by Loop 3. This loop has four basic functions: • Compute the saturated or equilibrium coolant concentrations for the mesh cell being processed (the call to SATCON) • Refresh the pseudo-constants using the best estimates of the dependent variables from incoming boundary conditions (the call to REFRSH) • Compute the cell-centered averages using the appropriate equation sets depending on the material compositions for this cell (those for part IP) • Use the closure equations to advance the cell-centered averages to the outgoing mesh nodes at Iþ1 and Jþ1 locations It is at this juncture that the program must check that the solutions advanced using the diamond difference equations yield positive outgoing values. If not, then the step approximation should be employed. When refreshing the pseudo-constants, the best estimates of the dependent variables are those found at the left inlet boundary condition at (I-1, J). In the special case in which the cell being processed is the first cell in the row and this is the first sweep of the row, the best guess estimates are found in the inlet bottom boundary condition at (I, J-1). In subsequent sweeps, the best guess estimates of coolant-borne masses for the first cell in the row are the previous sweep cell outgoing solutions from the end of the row from those parts that feed the part containing the first cell based on the loop connection table. Best guess surface masses for the first cell are those of the cell center from the previous sweep. Examination of Loop 4 in Figure 21 will show that my preference is to write a separate “Center” subroutine for each different material type to ensure that the proper equation sets are being used. Thus, there are subroutines to solve the general equation set for iron- and nickel-based alloys, for Stellite materials, for zircaloy parts, and for purification media parts.
140
Nuclear Corrosion Modeling
The function of these subroutines is more than just to evaluate the finite difference equations to compute cell-centered averages; it is also to ensure that the computed averages for all of the dependent variables are always positive values. The computation of a nonphysical negative value indicates that a dependent variable has vanished within that mesh cell, and in this instance, the Center subroutine must take special action to repair this dependent variable. Dynamic Solution Repair Vanishing dependent variables are a significant complication in matrix solution methods because when a dependent variable vanishes, an entire row and column in the coupling coefficient matrix is zero, and this makes the matrix solution singular. The dynamic solution repair is a brut-force approach that identifies which dependent variable has vanished and which flux caused it to vanish. The rank of the coupling coefficients is then reduced to eliminate the vanishing dependent variable by solving sets of special case equations that have been written without that dependent variable. This is best understood by example; the following is just one of dozens of special cases that the repair subroutines must be prepared to handle. Let us presume that iron in the ferrite layer (W6) is the dependent variable that has vanished and that the dissolution flux (i.e., ks(C6FeCsat) is larger (i.e., more negative) than the particulate erosion flux (i.e., keW6). In this case, iron is dissolving away faster than the particulate deposition and corrosion growth sources can sustain. Thus, the special case equations will eliminate W6 from all equations and eliminate the W6 balance equation. This reduces the matrix rank by one, and then all of the fluxes that fed the W6 equation (i.e., particulate deposition kdpC1 and the corrosion growth source term, (FeK p FeK R)/√t) are then added directly to the equation of the soluble species as source terms, with the appropriate unit conversion. This set of equations then creates a coupling matrix that does not contain W6 (i.e., we have reduced the rank by one) and a new set of coupling coefficients that can be inverted and programmed to write cellcentered solutions that are all positive. Thus, the repair subroutine must consider all of the possible fluxes that can make the dependent variables vanish and have programmed special case equations for each repair. As one might expect, the more dependent variables that exist in the general equation set, the more possible special cases must be addressed.
Program Architecture
141
In review, the Center subroutine always starts by trying to solve the most general set of equations and then examines each of the dependent variables searching for nonphysical (or negative) solutions. If they are found, the repair subroutine is called to evaluate the appropriate repair solution where the rank of the equation set is reduced to eliminate the vanishing dependent variable. Thus, the solution method is truly dynamic in that a different set of equations could be solved in every cell of the temporal row. This may not be the most elegant method for dealing with vanishing dependent variables, but it has been proven to provide reliable results even though it requires a significant investment of development time for the code programmer. Consider a Freezing Strategy Dynamic repair can make the finite difference solutions oscillate from sweep to sweep, as can partial row rebalance (discussed later). Often, if one does not take steps to prevent the oscillation, in row j, a dependent variable such as W6(i, j ) may vanish and be set to zero and then in the next row sweep, the same finite difference solution in that cell might determine that W6(i, j ) should have a nonzero value and then in the next row sweep, W6(i, j ) goes negative and vanishes again—thus, the solution oscillates and the row becomes nonconvergent. One way to guard against this type of oscillation is to adopt a freezing strategy such that during the very first sweep in which W6 is repaired and set to zero, a freeze flag (e.g., JFREZ(MM,IC)) should be set to be nonzero. In this example, JFREZ is an array dimensioned to JFREZ(20, ICMAX) for each of the 20 dependent variables and the maximum number of spatial cells in the row. Also, an array (e.g., SAT(3,ICMAX)) should be initialized to trap the saturated or equilibrium concentrations for this cell at the time the W6 was frozen. Then logic should be added in Loop 4 just before the call to the solubility algorithms for the cell IC to check all the JFREZ(MM,IC) values for that cell, and if any of the MM dependent variables have been frozen, then the call to the solubility algorithm should be suspended and the SAT(3,IC) values should be used. Also, all of the Center subroutines should check the JFREZ(MM,IC) array and if any of the MM dependent variables have been frozen, the Center subroutine should return the frozen values from the previous sweep to the main Loop 4 call.
142
Nuclear Corrosion Modeling
At the beginning of the next j row (just prior to entering Loop 3), logic should be added to zero all of the elements in the JFREZ(MM,ICMAX) and SAT(3,JMAX) arrays so that the Center subroutines can try to repopulate frozen dependent variables with nonzero finite difference answers should the hydrothermal conditions in this row demand them. Again, this method is considered a nonelegant brute-force fix, but it both allows for the convergence of otherwise oscillatory rows and allows the next row to repopulate all frozen dependent variables.
Row Convergence The job of determining if a row of solutions has converged actually belongs to Loop 2, but it follows the completion of sweeping all of the mesh cells (Loop 4) in all of the parts (Loop 3) in a given temporal row ( J). The solution convergence criterion should be one of the default user inputs on the first control card that is always read. The selection of the appropriate convergence criterion is a trade-off between accuracy and computer run time. However, the following advice will make this selection easier for the user. Generally, I recommend a convergence criterion of 5%. This means that when the change in the last dependent variable in the row is less than 5% of that of the previous sweep, convergence is declared. One must understand that to achieve this convergence, every other dependent variable in every other mesh cell of the problem has been swept repeatedly and thus has been converged considerably tighter than the last dependent variable to reach that level of relative change. Therefore, virtually all of the dependent variables are converged significantly tighter than the last to converge, and thus a 5% convergence criterion is not as crude as one might assume. Testing row convergence relies on the fact that the programmer is keeping two sets of solutions in memory at any given time, the DANS1 and DANS2 array. Every iteration, the most current solutions flip-flop between the two arrays so convergence is determined by the relative change in each dependent variable in each cell center from sweep to sweep. As the “TEST” subroutine sweeps across the row checking for convergence, the first failure of convergence causes Loop 2 to resweep the row as illustrated in Figure 21 (see “go to 150”). A Word about Convergence Its time for a reality check here. What we are trying to converge here is a mass balance. For all practical purposes, there is no mass in the soluble species and the radioactive species (relatively speaking, of course). All of the
Program Architecture
143
significant mass in the problem exists in the surface masses and particulate mass of the stable nuclides. So the fact of the matter is that when these masses converge, the radioactive and soluble masses will have also converged. Thus, a judicious selection of dependent variables to test for convergence is warranted in the TEST subroutine. It may also be necessary to allow a small number of rows to fail their convergence. That is, the programmer should set some limit in the TEST subroutine and when the sweep count reaches some large value (e.g., 500 to 1000 sweeps), then it should simply use the answers at hand and move on to the next row. These failed row sweeps most often occur in the very beginning of the problem when the solution is trying to overcome poor initial boundary condition guesses or immediately following large perturbations in the hydrothermal conditions of the problem (e.g., immediately after discharges or large changes in reactor power). It may take a dozen or more rows before the mathematics of the solutions starts to settle into Mother Nature’s steady state demanded by the hydrothermal of the problem. These small number of failed rows generally do not adversely affect the overall problem solution set and are just part of the imperfections associated with these iterative numerical methods. Should a large number of rows fail to converge, this will be a general indication that something more serious is occurring and the programmer should take steps to debug the problem.
Preserving the Mass Balance One of the most important functions of Loop 2 is to ensure that the total mass of the problem is preserved in each row, before the solutions are exported to the next temporal row as the incoming boundary conditions. Mass can be lost or gained from the problem as a result of certain phenomena. The most obvious is the propagation of numerical error. Because there are typically several hundred thousand temporal rows in a reactor simulation and each row may be swept a dozen or more times, one must be concerned about the propagation of numerical error. The other more significant reason mass may be lost or gained is the fact that the cell-centered solutions are averages of some small finite domain of space and time, and depending on the size of each individual mesh cell, these averages may not be completely representative of the continuous function of the dependent variables in that domain of space and time. Fortunately, because equation (1) (the corrosion source) is exact and because one knows how much cobalt is specified as an inhomogeneous
144
Nuclear Corrosion Modeling
source in every part in every temporal row, one knows exactly how much mass should be in the problem at any given time. It is a simple task to compare the total masses of iron, nickel, and cobalt in the cell-centered averages to what the exact cell-centered mass of each of these elements should be. Remember from equation (111) (repeated here for convenience) that the finite difference cell-centered average is defined as jþ1 ð iþ1 ð
DðX; tÞ@t@x Dði; jÞ ¼
j1 i1 jþ1 ð
@t j1
ð111Þ
iþ1 ð
dx iþ1
In our case, the continuous function D(X, t) is equation (1), written here using the growth coefficient in the CGS units of the derivative equation pffi (2). Thus, our continuous function is Fe W ðX; tÞ ¼ 2 FeK p t. Recall that the growth coefficient is defined in terms of reciprocal square centimeters, so in this instance the spatial integral of equation (111) results in the surface area of this particular mesh cell. Thus, we obtain Fe
pffi M ðtÞ ¼ 2 FeK p t As
ð130Þ
When this equation is integrated in its finite difference form, it yields Fe
M ði; jÞ ¼
ððtjþ1 Þ3=2 ðtj1 Þ3=2 Þ 4 Fe Kp A s 3 tjþ1 tj1
ð131Þ
Equation (131) is the exact finite difference average of total iron (in grams) added to the problem at time tj in cell i as a result of corrosion growth. By doing this computation for every mesh cell in the problem where corrosion growth produces iron, one will know the total amount of iron in the problem at time tj. It is this total iron mass that must be preserved and will be compared against the sum of the cell-centered masses of iron. The same is true for both nickel and cobalt, but the cobalt mass must also be adjusted for the cumulative addition of inhomogeneous wear sources of cobalt specified in the input.
Program Architecture
145
A very important caution is offered about the application of equation 131 that has to do with the variables tjþ1 and tj1. These times may be different for each part depending on if and when a part may have been selected for mass discharge. Recall that the hot hour clock is reset for each part when mass is discharged, so special bookkeeping is required to ensure that the total mass of the cell centers reflects the appropriate hot time for each part. Discharged mass will be handled separately and will be discussed momentarily.
Partial Row Rebalance Most every iterative numerical method that I have encountered has some mechanism that is employed to ensure that mass, particles, or energy is preserved in the solution, depending on the kind of balance equations that are being solved. This is required because these numerical methods only provide estimates of the dependent variables and are subject to the propagation of numerical error. In our case (i.e., we are solving mass balance equations), one would expect that because the exact elemental mass at any time (elMexact) is known and that the cell-centered finite difference total row elemental mass (elMCC) is also know, the elemental mass adjustment for any given row would simply be computed: el
Adj ¼
el
M exact el M CC
ð132Þ
and that this adjustment should be applied to every dependent variable of that element in the temporal row being evaluated. Unfortunately, our solution method does not allow such an elementary approach in that there are certain masses that must never be adjusted. Specifically, subsurface masses computed using building block equation (7) are exact solutions and must be exempt from mass adjustments. Second, soluble masses must never be adjusted. The reason for this is considerably more complex but will be briefly discussed here. There are times during the early stages of the problem convergence, or particularly immediately after a discharge step, when the adjustment factors may be on the order of a few percent (usually, they are on the order of hundredths of a percent). One must understand that the saturated or equilibrium concentration of divalent ions never varies more than (maximally) tenths of a percent from Thot
146
Nuclear Corrosion Modeling
to Tcold; thus, adjusting soluble species in the row rebalance with such large adjustment factors always causes wild oscillatory behavior that is nonconvergent. Finally, there is so little mass in the radioactive species that it is highly recommended that mass adjustments only be applied to the stable nuclides because when they are convergent and balanced, so are the radioactive species. Thus, in this method we must employ a partial row rebalance where only the nonsoluble mobile masses of stable species are adjusted. These include ferrite layer elemental masses, coolant borne particulate masses, and purification media surface (i.e., nonionic) masses. Furthermore, masses that have been discharged must not be adjusted because they were balanced at the time of the discharge; thus, a significant amount of bookkeeping must be performed to segregate the “exempt” masses from those that must be adjusted and to compute the appropriate adjustment for only those masses. The basic process is to subtract the exempt and discharged masses from both the numerator and the denominator of equation (132) and to apply those adjustments to only the appropriate dependent variables to balance the row mass. This task is considerably more complex to fully describe than is warranted in this text; nonetheless, sufficient information has been provided for a skilled programmer to execute the appropriate partial row rebalance. Oscillatory Solutions There are several reasons why solutions of a given dependent variable may oscillate from sweep to sweep. We have already discussed one (the dynamic solution repair) and provided a mechanism (a freezing strategy) to mitigate that occurrence. The partial row rebalance is probably the most frequent cause of oscillatory solutions; thus, it is worth discussing what one might do to eliminate (or at least dampen) these oscillations. There are basically two kinds of oscillations—divergent (those that continuously grow in magnitude and never converge) and small (or convergent) oscillations that oscillate a few percent above and below the exact average value and are basically harmless to the solution of interest. At the conclusion of the row sweep (i.e., when the TEST subroutine has concluded that the row is converged), I prefer to write a separate rebalance routine (lets call it REBAL) whose function is to apply the appropriate elemental mass adjustments and to check for oscillatory solutions before the solutions are propagated to the outlet boundary condition (i.e., the inlet mesh line for the next row). To do this, one needs to keep track of
Program Architecture
147
the elemental mass adjustment factors for the previous two rows and the current row. Then using software logic, one should look for the occurrence of up-down-up or down-up-down in the magnitudes of the elemental adjustment factor, which will indicate if a given set of elemental solutions is oscillating and will indicate the relative magnitude of the oscillations that are occurring. When one encounters oscillatory solutions, a mathematical trick is used to attempt to dampen the magnitude of the oscillation in the hope that it will eventually dissipate. The technique that I recommend is a process called successive under-relaxation (SUR). This is best explained by example. Let us suppose that FeADJ has been identified as an oscillatory adjustment and that in this row FeADJ ¼ 1.15. This is a very large mass adjustment (relatively speaking, they are typically on the order of 1.0015 or 0.99985). SUR relaxes the value of the adjustment by some preprogrammed value as follows. The magnitude of the SUR adjusted factor is computed: FACT ¼ ðFe ADJ 1:0Þ SUR þ 1:0
ð133Þ
where the variable SUR is some fraction that the programmer sets depending on the magnitude of the oscillation. In the case in which the oscillating adjustment is very large (e.g., FeADJ ¼ 1.15), one will set SUR to a value such as 30% and use an adjustment factor such as FACT ¼ 1.0495. (Note that equation (133) works equally well if FeADJ is less than unity.) As the oscillations in the adjustment factor become increasingly smaller, SUR should be reduced commensurately to an increasingly smaller value such as 85% to 95% until the oscillations become either benign or disappear. Thus, you can see that REBAL is considerably more complex than one might expect and is a vital part of keeping the mass balanced and the solution stable. I find it useful to write the rebalance table values into a binary file for every row of the problem that can be postprocessed by auxiliary software to generate graphical representations of exact elemental mass, cell-centered masses, discharged masses, elemental mass adjustments for every row, etc. This functionality is useful in determining which masses are oscillating, when (in time) the oscillation begins, and if the oscillation is divergent or convergent. Figures 22 and 23 illustrate the utility of being able to postprocess the mass adjustment variables and also illustrate the effectiveness of
148
Nuclear Corrosion Modeling
a) Exact Mass (g)
103
b) Cell Center Solutions (g) d) Discharged Mass (g)
c) Exempt Mass (g) 2
Mass or Adjustment
10
e) Media Mass (g)
101
f) Row Adjustments
100
10–1
10–2
0
100000
50000
150000
J
Figure 22 Mass balance variables for elemental iron without SUR (small Oscillatory behaviour in the mass adjustment factors).
a) Exact Mass (g)
103
b) Cell Center Solutions (g) d) Discharged Mass (g)
c) Exempt Mass (g)
Mass or Adjustment
102
e) Media Mass (g)
101
f) Row Adjustments
100
10–1
10–2
0
50000
100000
150000
J
Figure 23 Mass balance variables for elemental iron with SUR (Oscillatory behaviour is removed from mass adjustment factors).
Program Architecture
149
how SUR can dampen and/or eliminate small oscillations. These figures illustrate the mass balance variables that have been postprocessed for elemental iron in this hypothetical simulation, but similar plots can be generated for elemental nickel and cobalt as well. Let us take a moment to look at these graphs. The uppermost line (curve a) plots the exact iron mass in the problem as computed using equation (131). This is the sum of all of the parabolic growth source terms from all of the alloys that yield iron as they corrode in time. Curve b plots the total cell-centered mass of all species of iron (both surfaces, particulates, and solubles). These are the finite difference iron solutions at temporal row J at any time in the simulation. Notice that in this hypothetical simulation, mass was discharged three times over the operating history of the simulation. In this simulation, only media mass was discharged as plotted in curve e. Curve d is the cumulative mass that has been discharged at any time, and curve c is the sum of all the iron masses (not including the discharged mass) that are exempt from adjustments (e.g., the chromite sublayer iron, which is exact). Finally, curve f at or about unity is the iron adjustment factor computed using equation (133) and taking into account all of the exempt mass (both the discharged mass and the exempt iron subsurface masses). Notice in Figure 22 (the example without SUR) that there are small oscillations that occur (generally) right at the beginning of the problem and immediately following each of the media discharges. These oscillations are most prominent in the media mass, which suggests that the media solutions are struggling in their convergence. These oscillations are also observable (of course) in the total cell-centered mass (curve b) and in the mass adjustment factor that oscillates about unity. In contrast, Figure 23 illustrates the same simulation with a small amount of SUR (on the order of 5% reduction or less because these are small oscillations). This figure illustrates that even a little SUR is effective in fully eliminating the oscillatory behavior in the iron solutions. Similar plots of the nickel and cobalt balance parameters might indicate that although iron is now stabilized, the other elemental mass might still be oscillating and stronger SUR parameters should be employed on an elemental basis. Therefore, one can see that a robust set of diagnostic utility programs that provide graphical tools will be useful in keeping track of how a given simulation is behaving as the calculation progresses.
150
Nuclear Corrosion Modeling
Special Case Mass Rebalance The partial row rebalance is required to ensure that the absolute magnitudes of the elemental masses are always equal to those given by the building block equations for corrosion growth and release (equations 7 and 8). It is only a partial row rebalance because these equations are exact and must not be adjusted. If the instantaneous functional form of these elemental masses could be expressed analytically, then a different kind of mass rebalance would be employed based on Gauss’s law (also know as the divergence theorem). In mathematical terms, this theorem is stated as follows [28]: In a vector field, the summation of the normal component of flux over a closed surface S is equal to the summation of the divergence over the volume enclosed by S, each being a measure of the excess of outward flux over the inward flux.
Relative Units
In layman’s terms, this means that the net change of elemental mass that enters or leaves the coolant in any given analytical cell must equal the net gain or loss of mass from the surfaces of that cell or mass is not preserved. In the media equation sets in which there are no exempt masses and the flux gradients can be very large, especially in the case of ion exchange, it is best to ensure that the mass balance is preserved in each mesh cell before adjusting the absolute magnitudes of the elemental masses using the partial row rebalance. This is best explained by example, so consider the hypothetical ionic isotherms illustrated in Figure 24. Note that the magnitude of these functions is expressed in terms of relative units here because the actual units depend on whether the equations are derived in terms of
Under - saturated domain
Figure 24
Ion - A Ion - B
Super - saturated domain
Hypothetical ionic Langmuir isotherms for ion exchange.
Program Architecture
151
milliequivalents or concentrations (e.g., grams per cubic centimeter). The actual magnitude is irrelevant to this discussion; rather, it is the drastic shape of the isotherms that is significant. Note that each different resin will have different affinities to adsorb or release ions; thus, there is a different isotherm for every element for a given resin. What is important to observe about these isotherms is the very steep slope of the function as it passes through the equilibrium point where the y axis meets the x axis. Thus, if the coolant that enters an analytical cell is even slightly under- or oversaturated relative to the ionic mass on the surface of the resin, the flux to drive the mass to or from the surface toward Mother Nature’s equilibrium is extremely large. This is why the spatial discretization of the hydraulic length in purification media is very fine (on the order of ¼ to ½ inches). In models such as these, Gauss’s law should be employed to first ensure that each cell is balanced before the partial row rebalance adjustments are applied. Thus, the REBAL subroutine must scan the row for all of the parts specified as a media part and apply Gauss’s law before the row is rebalanced using the partial row rebalance. In our case, Gauss’s law is applied as follows (illustrated here for the ionic species of iron): Gauss
ADJFe-ionic ¼ V_ 2 Dt
ðC1iþ1; j C1i1; j Þ ðW 1i; j W 1i; j1 ÞAs
ð134Þ
where V_ is the volumetric flow rate (cm3/sec) flowing through the cell, 2Dt is
the differential time (seconds) for this mesh row, and As is the surface area (cm2) of the mesh cell being balanced.
Working through the units, one sees that the numerator of equation (134) is the coolant ionic mass (in grams) of iron either lost or gained within the cell, and the denominator is the amount of ionic mass of iron (also in grams) either lost or gained on the surface in this cell. For the cell ionic mass of iron to be balanced, this ratio should be unity. When it is not, equation (134) tells us what the mass adjustment should be to make it balanced. Now let us take a step back and consider the theoretical definition of Gauss’s law. If we had an analytical form of the surface over which the normal current and the enclosed volume could be integrated, then Gauss’s law would provide an absolute mass balance and no further adjustment (by the partial row rebalance) would be needed. This is not the case, however,
152
Nuclear Corrosion Modeling
because both the coolant-borne densities (C1) and the surface mass densities (W1) are only estimates of the dependent variables. Thus, equation (134) only provides a relative cell mass balance, and the absolute magnitudes of these dependent variables are set using the partial row rebalance. Now there is a slight conundrum with the use of equation (134): What should be adjusted? One could adjust the coolant-borne masses to match the surface masses or vice versa. My preference is absolute (at least for me). When given a choice, never fiddle with the coolant-borne masses; they are the drivers for the mass fluxes and can easily cause wildly unstable behaviors in the analytical solution. Instead, adjust the surface masses to match the mass deficit or gain of the coolant. Once all of the cells in all of the media are balanced using Gauss’s law, then the partial row rebalance can adjust the absolute magnitudes in all of the elemental masses in each cell of the row to preserve the total problem mass. One other observation must be made about equation (134): At least in the ion exchanger where solubles and particulates are not coupled, the ionic species must be balanced separately from the solid masses. In the hot filter where the solubles and particles and surface mass are coupled by hydrothermal crystallization/dissolution, the numerator can be constructed using the sum of C1 and C6 at the appropriate boundaries and only W6 is used in the denominator.
Wrapping Up the Problem Once the last temporal row of the problem has been converged and rebalanced and the simulation is essentially concluded, the last function of the outermost loop (Loop 1) is to call the subroutine that generates userspecified summary tables (let’s call it OUTPT) and then calls WRAPUP to dump the last row of solutions and the problem memory into the binary solution file. Summary Tables The binary solution files of these simulations are so large that it is impractical to create summary tables to display all of the computed dependent variables in every mesh cell and temporal row of the problem. Thus, I suggest that the OUTPT subroutine be written to edit part averages (or sometimes part totals) of the dependent variables in output units specified by the user (in the default input card). Typically, I prefer to create these edits in the last temporal row of every operating history step of the problem, but the kind of summary tables, the output units, and the frequency of the edits should all be user options.
Program Architecture
153
Minimally, one should provide the capability of editing the following kinds of summaries: • Part averaged dependent variables (i.e., coolant or surface densities) in user-specified units. Note that some individuals prefer these data to be edited in the units in which they were calculated (e.g., g/cm3 or g/cm2), whereas others may choose units more typical of those published in the literature (e.g., ppb and mg/dm2). • Part mass totals (e.g., total grams for each dependent variable edited in every part). Because the user specifies an equipment type for each part, it is also possible to edit a “Where’s the mass?” table that can summarize the fraction of both elemental and total mass by equipment type. For example, the edit might be able to state that 65% of the total corrosion mass is on the steam generator tubing. • Part averaged curies or, more realistically, microcurie densities in both the coolant and surface phases. Once again, the user should be allowed to choose the output units (e.g., some people prefer mci/dm2 rather than ci/cm2). From these data, the programmer can also generate “Where’s the curies?” tables to edit the percentage of the radioactive species by equipment types. • Radiation field summaries for selected equipment types. Here is where the code programmer will need some assistance from the shield design engineers. Generally, however, it is a simple task to create a library of source (i.e., unit-curie density) to radiation level conversion factors for a collection of pipe schedules or purification media equipment that can then be used to edit surface radiation levels by part for certain equipment. • Media mass and curie summaries. In these tables, in addition to mass and curies totals, I prefer to edit the media grams and curies at selected locations along the axial length of the media to provide the user with some idea of the spatial distribution of both the elemental mass and the curies of each radionuclide for each media part in the problem. It will likely be a challenge for the code programmer to keep up with the constant user requests to output increasingly more useful summaries of the simulated results. However, the most useful displays will be those time-dependent graphical animations generated by the solution postprocessor, which will be discussed later.
3. OUTPUT MODULE Unlike the input and analysis modules, in which one can draw a process flow diagram of the program logic flow, the output module is more like a parking garage (or collection) of all of the subroutines that generate I/O.
154
Nuclear Corrosion Modeling
Generally, these subroutines can and often are called by either the input module or the analysis module, and keeping them all in one location is simply a convenient way to manage the Fortran source. Thus, routines such as WRAPUP and OUTPT will all be found in this collection of routines. As you can tell, this is simply my practice for managing large Fortran code; do whatever makes you happy.
4. SUMMARY It is hoped that this chapter has provided the reader with one vision of the framework for the development of a fundamentals-based tool such as NOC. However, one must understand that even with a skilled team of chemists, scientists, engineers, and programmers, it can take up to a decade of development work before such a tool will begin to perform with any kind of success. A code of this magnitude and complexity may be as large as 60,000 to 100,000 lines of Fortran source, and even the most trivial (realistic) input models can certainly contain up to 25,000 input statements. It is important to note that the development of these kinds of fundamentals-based analytical models is very much an evolutionary process in which one starts with reasonably simplistic models or incomplete data sets that are improved in time as one gains more experience with the tool and as more physical data become available. Consequently, one should not set out to develop such a program without a full understanding of the scale of the project and without sufficient resources of both manpower and money. When such a task was undertaken in the past, it was thought that if one could obtain analytical results that came to within an order of magnitude of measured reactor plant experience, everyone would be satisfied. Twelve years later, it was possible to achieve measured-to-calculated ratios near unity for almost every dependent variable for which there were real measurements of reactor plant data (do not bother to look for evidence of this achievement in the public domain—you will not find it). Still, this project is considered to be only approximately 75% complete, and one could suggest numerous places where, time permitting, one could revise and improve the model. I am slightly sad because the future is so uncertain. On the one hand, there may never again be a time when sufficient resources and engineering need would drive one to undertake such a commitment of time and
Program Architecture
155
money for this kind of method development. If that is the case, then this text will become nothing more than a historical document. On the other hand, if we are on the verge of another energy crisis (and I believe that we are), then the demand to revitalize the nuclear power industry may never be stronger than it is right now. Should that be the case, then maybe this text will be a guide to those whose task it will be to advance the state of the art. Assuming the latter rather than the former, allow me to provide some words of wisdom for those who will carry on. Start small as I have done in this text (with only 20 dependent variables), but write your code so that it can easily be expanded to double or even triple the number of dependent variables. There is nothing more tedious than having to restructure memory because you did not plan for the future. Keep the code very modular with many small subroutines whose function is to accomplish only one simple task. This makes the revision of the model easier should a better technique for accomplishing the task be developed. Finally, be prolific in both your program comment cards and the documentation of the method in the user’s manual so that once you have moved on, it will be easier for someone else to pick up where you left off.
10
CHAPTER
Pre- and Postprocessing (the GUI Interface) Contents 1. Postprocessing Functionality Special Solution Edits Simulation Graphical Trends 2. Summary
158 159 160 160
Anyone who has played a video game understands the meaning of a GUI (graphical user interface). It is nothing more than a piece of software that allows the user to interact both visually and graphically with another piece of software to achieve a certain function. In the case of Sony PlayStation or Nintendo Wii, the task is, of course, to play a game. However, in the technical world, GUIs are used to facilitate the creation, management, and visualization of large amounts of data such as input statements for NOC or binary solution files generated by NOC simulations. Thus, it will not be long after you begin to succeed with your fundamentals-based program that you will conclude that there must be a better way both to create, manage, and modify these large input files and to display the computed solutions. I predict that you will conclude that the next phase of development must be to provide your users with a robust set of GUI utilities to facilitate both pre- and post-data processing. You will find that there is no shortage of languages that one might use to program the GUI. They are both very capable (some are even easy to use) and abundant. The U.S. Nuclear Regulatory Commission (NRC) has collaborated with other governmental and industrial agencies to create a “common user interface” primarily for the industry’s safety analysis programs to standardize both the input GUI developments and the solution postprocessing of these large-design computer programs. The language (or more properly # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00010-4
157
158
Nuclear Corrosion Modeling
called the kernel) that was selected for this process is a modular (or plugin)-based system called Symbolic Nuclear Analysis Package (SNAP). Because the inputs for NOC and the solution structures are very similar to those required for the NRC’s safety analysis codes, this kind of GUI environment is just one of many that are well suited for the task. The “plug-in” nature of the SNAP kernel is such that special-purpose GUIs can be constructed for each different application with relative ease and a unified programming technique. This is mentioned here only because the SNAP environment comes with a rich tool kit of graphical widgets that, for example, allow the superimposition of time-dependent solutions of dependent variables onto some pictographical representation of the reactor coolant circuit (such as that illustrated in Figure 16) using continuous color contours to indicate relative changes in the magnitudes of these dependent variables in time. There are in fact dozens of other graphical tools that might be employed to display NOC solutions, but SNAP is only mentioned because the NRC has chosen it to be the U.S. industrial standard for this function.
1. POSTPROCESSING FUNCTIONALITY Depending on how the programmer architects the solution postprocessing utilities, there may be one or more utilities (some with very special purposes, such as to create interface binary files for animation graphical tools). Thus, depending on the kind of information that one needs to extract from the solution, one might choose many different output forms or utilities to use. This section suggests some of the postprocessing forms that might be useful to have in one’s tool kit to facilitate the display and tabulation of desired solutions. We have already discussed a few of these. For example, an entire class of tools that I call diagnostic aids help both the user and the programmer follow the performance of the simulation as it proceeds. Figures 22 and 23 were created by such a utility that postprocessed the binary file of the mass adjustment table and was useful to both identify oscillatory solutions and illustrate the utility of successive under-relaxation to dampen those oscillations. Because binary write statements are generally very fast and do not impact run time significantly, and because scratch disk space (at least on supercomputers) is plentiful, the programmer may choose to output many such files to track the performance of many aspects of the simulation
Pre- and Postprocessing (the GUI Interface)
159
behavior as it runs. Although they may never be used, these files are good to have if a simulation begins to struggle and they can significantly aid in the diagnosis of the program’s performance.
Special Solution Edits One useful function is to provide the user with a utility that can selectively edit a group or series of part solutions (in time) and provide averages of the dependent variables (in the engineering units specified by the user) to answer certain operational questions that might arise. The following are several hypothetical but real questions that might arise: 1. A commercial reactor must undergo a triannual refueling during which several of the core control rod clusters must be pulled and stored for reuse after the new fuel is loaded. The question from the reactor servicing group to the reactor coolant chemists is “How much CRUD [or how many mci/cm2] should we expect on the rod surfaces so that we can plan adequately for shield enclosures?” In this case, there may only be a few dozen parts inside the reactor vessel that represent fuel rod channels, and these are the part summaries that the user needs to answer this question. One can certainly extract this data part by part from the final table edits generated by OUTPT at the conclusion of the simulation. However, it is much more convenient (and more reliable) to submit a quick turnaround postprocessing job to edit the special summary results from those few parts of interest. 2. At the next scheduled shutdown, there is a planned servicing evolution to have men and equipment enter the manholes of the steam generator plenum to perform ultrasonic steam generator tube inspections from the primary side to look for tube defects or potential tube wastage or cracking that may require tube plugging. The question that might be asked of the reactor coolant chemists by the reactor servicing engineers is “What kind of radiation field [or how many mci/cm2] should we expect on the walls of the steam generator plenum at the time of the servicing evolution?” Again, the time-dependent edits of simulated solutions of only a few parts are required to provide engineering guidance to the servicing engineers. I could go, but you get the idea from these examples that the ability to pick and choose the edit summaries of individual parts has a very useful function in post-simulation processing.
160
Nuclear Corrosion Modeling
Simulation Graphical Trends Of equal importance is the ability to perform trend analysis of different simulations of reactor operating conditions and occurrences to assist the operators in making important decisions about plant operation. Thus, in the same way that it is useful to make special edit tables of a few parts (or part averages of dependent variables), it is also useful to be able to create trend plots of the temporal behavior of certain sets of dependent variables. Let me provide a real example to illustrate several points here. A power reactor plant is 9 months away from its next refueling overhaul when one of the three large-volume circulating pumps in the reactor coolant purification system begins to experience serious vibrations and overheating and has to be shut down. The consequences of this action are that now only two thirds of the design basis volumetric flow is being processed by the filters and ion exchangers in the reactor coolant purification system. The question from the operations group to the reactor coolant chemists is “What will the effect of this action be on pipe wall radiation levels?” Stated another way, “Is it OK to operate for the next 9 months and wait to repair the pump during the next scheduled overhaul or should we shut down and address this issue immediately?” The answer is “We don’t know, we must simulate the results.” This is one of those cases in which you think you can guess the outcome but you really cannot. On the one hand, you might think that the conclusion is easily predicted—less flow, less purification, higher pipe wall radiation levels. In fact, purification media efficiency is inversely proportional to the coolant mass flux. That is, the slower the superficial velocity, the higher the media efficiency. Therefore, where is the crossover between increased media efficiency and reduced mass flux that will make pipe wall radiation levels increase? The answer is you cannot guess: You must trust the mathematics and simulate the results. Thus, in this example, one would run multiple simulations with different flow conditions and plot the time-dependent average pipe wall radiation levels to provide guidance to the operations group.
2. SUMMARY The reality of this simulation capability is that once members of the other engineering disciplines understand that the reactor coolant chemist now has a predictive tool to provide guidance and insight, more detailed and challenging questions will be asked of the chemist and more new and
Pre- and Postprocessing (the GUI Interface)
161
novel ways to edit and visualize the simulated results will be demanded by the users. What a great thing. For the first time in our careers, we will no longer need to guess and rely on gut instinct and past experience to provide design and operational inputs to our colleagues. This really answers the “Why do we care?” question asked in Chapter 1.
11
CHAPTER
Design Applications Contents 1. Optimizing a Coolant Purification System 2. Designing a More Effective Purification System How Does One Model an Absolute Filter? What Can Be Learned by Simulation Testing of This Design? 3. Selecting New Structural Materials
163 166 168 168 169
In Chapter 10, several examples were provided that illustrate how simulation predictions might be useful to make informed decisions about plant operation and/or servicing evolutions. Although this predictive capability is a very useful aspect of computer simulation, probably the most useful aspect is that it provides the designer with a tool that can be used to make informed decisions about purification system design and structural material selection. This chapter discusses each to show how NOC might be used during the conceptual design phase of a new reactor plant to optimize a purification system design and to make life-cycle cost decisions about selecting the best material for steam generator tubing and so on.
1. OPTIMIZING A COOLANT PURIFICATION SYSTEM The following discussion is intended to describe how one might use NOC simulations to optimize existing coolant purification systems. To facilitate this discussion, consider the crude schematic of a portion of a typical purification system in Figure 25. Note that this figure shows only a very small portion of a typical CVC system. Absent from this schematic are fission gas accumulation tanks, chemical addition tanks and pumps, control valves, and ion-specific ion exchangers that are meant to target specific fission products such as iodine and cesium that might be present as a result of a small percentage of failed fuel. Figure 25 is only intended to illustrate equipment that is specifically designed to remove Chalk River unidentified deposit # 2009 Elsevier Inc. All rights reserved. doi: 10.1016/B978-1-85617-802-0.00011-6
163
164
Primary Coolant Loop
Primary Coolant Loop Nuclear Corrosion Modeling
Hot Filter Pump
IonExchanger
Non-regenerative Heat Exchanger Regenerative Heat Exchanger Process Cooling Water Discharge
Figure 25
Portion of a typical purification system.
Design Applications
165
(CRUD) from the primary coolant, so it includes the two kinds of packed beds that we have modeled in NOC—an ion exchanger and a packed bed hot filter. Before we proceed, let us make some observations about the equipment arrangement in this portion of the purification loop. Typically, there is a pump(s) that provides the head to circulate the primary reactor coolant to the purification equipment. Because this equipment is not located within the reactor building, there may be several hundred feet of highpressure/high-temperature piping runs to external buildings where the equipment is housed. Also, the ion exchanger(s) is generally not as large as the hot filters. The hot filters may experience two or three times the coolant mass flux as the ion exchangers. The size of the ion exchangers, and thus their design flow rate, is limited by the amount of process cooling required to reduce the temperature of the primary reactor coolant from typical operational temperatures (e.g., 500 F) to near room temperature (e.g., 90 F to 120 F). The larger the flow rate through the ion exchanger, the more process flow cooling and thus the larger the nonregenerative and regenerative heat exchangers will be. These tube and shell heat exchangers are large, expensive pieces of equipment; thus, the sizing of the ion exchanger flow rate is a trade-off between purification system efficiency and initial construction cost. When designers set out to size the total purification system flow rate, they target a sufficient capacity such that there will be several purification system half-lives in any given 12-hour period. Recall that the system halflife is the period of time required to reduce the inlet coolant concentration by one half. To do this, one needs to make many assumptions about the intrinsic efficiencies of this equipment, and generally these are very crude assumptions. These assumptions include a constant inlet coolant concentration and constant media efficiencies, independent of the operating conditions of the plant. We have seen from our discussion of the fundamental media building block equations that media efficiency is generally inversely proportional to the superficial velocity (and thus the purification flow rate). Without tools to simulate the complex relationships between hydrothermal conditions, system flow rates, and equipment efficiencies, the historic design of these systems has had to rely on simple rule-of-thumb methods to size the equipment. Now that we have a comprehensive analytical model that includes a media equation set, it is possible to run parametric evaluation to optimize the overall purification system efficiency given a typical reactor plant
166
Nuclear Corrosion Modeling
operating history for the lifetime of the plant. That is, the objective of these parametric studies is to define the total purification flow rate and the specific flow split between the ion exchanger and filter that will maximize the mass removed from the primary reactor coolant given the time-dependent inlet coolant concentration defined by the hydrothermal conditions of the primary coolant in every different operating history power steps. This may be achieved by running numerous different case studies in which the flow fractions in the loop connection table are changed to simulate different flow rates in the purification system. As stated previously, one cannot guess where the crossover between increased media efficiency and reduced mass flux is to maximize mass removal. However, one can simulate it, and by doing so, one will ensure a more optimum utilization of the purification system and will be able to predict media mass loadings to better help in planning for media discharge.
2. DESIGNING A MORE EFFECTIVE PURIFICATION SYSTEM We have seen in the discussion of purification system building block equations that both ion exchange and filtration are bidirectional fluxes, and each may be either a source or a sink for CRUD in the primary reactor coolant. The following discussion describes how one might use NOC simulations to investigate whether there is a more effective equipment design that uses a filter that is only a sink. Consider the equipment arrangement illustrated in Figure 26. This design concept includes the use of an absolute filter upstream of the ion exchanger in the cold part of the loop. In fact, this absolute filter is defined to be a magnetic filter that employs rare-earth magnets as has been explored in the literature. The loop completely eliminates the hot filter, and by placing this absolute filter in the cold part of the loop, it also eliminates any hydrothermal dissolution fluxes and reentrainment flux, which can act as sources in hot filters. The magnetic filter capitalizes on the fact that all of the spinels that form in prototypical primary reactor coolant are ferromagnetic and thus will be attracted to the filter in the strong magnetic fields of the device. The following are potential benefits of this design that must be explored by simulation: • This design operates at the typical design flow rate of the ion exchanger, thus reducing the size and number of circulating pumps. • Because all (or nearly all) of the influent particulate CRUD will be trapped in the absolute filter, the mass burden in the ion exchanger will be vastly reduced, thus extending its operating lifetime.
Primary Coolant Loop
Primary Coolant Loop
Absolute Magnetic Filter IonExchanger
Pump
Non-regenerative Heat Exchanger
Figure 26
Alternate purification system schematic.
Discharge
Design Applications
Process Cooling Water
Regenerative Heat Exchanger
167
168
Nuclear Corrosion Modeling
• There is the potential that the coolant-specific activity of radioactive species will be lower than in a reactor plant with a conventional purification because the absolute filter completely removes CRUD from the circulating coolant, thus reducing its mobility and limiting the amount of exposure to activating neutron fluxes in the core. The only potential disadvantage of this new system design is that because the total flow rate through the filter and ion exchanger will be one third to one half that of the conventional system design, the purification half-life of this system will be longer than that of the conventional design.
How Does One Model an Absolute Filter? Probably the easiest way to model an absolute filter is to define a new equipment type for this part, and in the analysis module when Loop 2 identifies the next part to be the magnetic filter, a special-purpose Center routine would be called. This new subroutine is mechanistically very trivial and requires only one additional mesh cell. It simply takes X% of the inlet particle mass and adds it to the surface layer of the cell and propagates the remainder of the coolant-borne masses to the outlet boundaries of the mesh cell. Based on results from testing of many different magnetic filter designs, it is known that at prototypical ion-exchanger design flow rates, the intrinsic filter efficiency is 75% to 95%. Similarly, bench-top testing of one-fifth scale models of these kinds of filters show that reentrainment does not occur unless there are very large (nonprototypical) flow rates through the filter.
What Can Be Learned by Simulation Testing of This Design? Another way to ask this question is the following: Why would we want to simulate this system design using NOC? The simple answer is that it is cheaper than building a full-scale system and testing it to the end of a þ30-year lifetime. What might be learned from such a simulation? At the very least, we would learn if there is a beneficial effect on pipe wall radiation levels and a corresponding reduction in coolant specific activity. Such a reduction would translate to a reduction in radiation fields during reactor servicing evolutions and lower man-rem exposure, which translates into a real dollar savings. We would also quantify the amount of CRUD mass trapped in the absolute filter at the end-of-life that would aid in sizing the actual hardware if one were to manufacture such a device. Finally, we would be able to estimate the extended life of the ion exchanger that is achieved by removing a significant amount of the particulate burden from that equipment. The simulation would also identify any surprises that might occur that were not anticipated in the initial design concept. I have learned that
Design Applications
169
in this business, you cannot guess the outcome based on first principles. Every time I try, the simulation proves me wrong. The inter-relationships of all of the different driving fluxes that move mass are so complex that the only real way to understand them is to use the NOC model and believe the mathematics.
3. SELECTING NEW STRUCTURAL MATERIALS When a reactor plant contractor sets out to design a new reactor plant, there is a temptation to use the latest corrosion-resistant structural materials. However, these decisions are not made lightly without a thorough lifetime costbenefit analysis. This applies to virtually all aspects of the primary coolant loop’s construction, such as vessel cladding materials, core structurals, primary coolant piping, and steam generator tubing. I have gone to great lengths to explain that these structural materials are the sources of CRUD in the primary coolant loop. Thus, one would think that an evaluation of the effects of new material selection on, for example, pipe wall radiation levels would factor into the cost-benefit analysis, but historically this has never been the case. This discussion focuses on one of the previously discussed possibilities—the selection of new steam generator tubing materials. In the 1950s and 1960s, stainless steel was the material of choice for most of the reactor plant structural materials, including steam generator tubing. Although this material served us well, there were a host of problems associated with its use in the steam generator, including stress corrosion cracking (SCC), tube pitting, and wastage. Unlike the primary reactor coolant side of the tube (the inside), which is an extraordinarily pure water environment, the secondary steam side is not. On the secondary side, the feed water that enters the generator brings a host of minerals, salt contaminants, and sometimes even oxygen that get concentrated as a result of boiling, and this is a much more hostile environment for the outer surface of the tubes. Early reactor plants were plagued with primary-to-secondary tube leaks caused by corrosive attack and cracking of the stainless-steel tubing. Therefore, in the mid- to late 1960s and early 1970s, the nuclear industry turned to a class of nickel-based alloys called Inconel (or alloy 600), which has considerably better corrosion resistance properties than stainless steel and was considerably less susceptible to SCC on the secondary side. The decision to use this material was solely driven by lifetime performance issues of steam generator tubing on the secondary side. In time, it was found that Inconel tubing also suffered from many of the same
170
Nuclear Corrosion Modeling
difficulties as stainless steel, only to a lesser degree because of its improved corrosion resistance. This improvement in lifetime performance, however, did not come without a price because the nickel-based alloy is considerably more expensive to manufacture than stainless steel due to its high nickel content (approximately 74% for Inconel vs. approximately 8% for stainless steel). Nonetheless, this increased initial construction cost was offset by reduced reactor plant down-time and reduced steam generator inspections and maintenance; thus, the decision to use alloy 600 was based on reduced overall life-cycle cost. In the 1980s and early 1990s, further material developments in corrosionresistant nickel-based alloys offered even more corrosion resistance properties. Thus, materials such as alloy 625 and alloy 690 were now being considered as replacements for alloy 600. These materials, although similar to alloy 600, are more difficult to produce and thus more expensive to manufacture, but the primary consideration for using a material such as alloy 690 for steam generator tubing was steam generator lifetime performance. The cost-benefit (or detriment) associated with the use of these materials on the primary reactor coolant system was never considered because there was no analytical tool available that could be used to provide quantitative cost-benefit data. Let us examine how NOC reactor plant simulations can be used to provide useful data so that a more informed decision might be made in the future. Like most parametric evaluations, we must explore the relative change in key design parameters from a known standard. Thus, let us presume that the reactor coolant chemists already have a NOC input model for the latest generation reactor plant. The simulated solutions from this input, call it Reactor Plant A, will be used as the standard of comparison for other plant simulations. Let us further presume that Reactor Plant A has alloy 600 steam generator tubing, stainless-steel primary reactor coolant piping, alloy 600 reactor vessel cladding, and alloy 600 reactor structurals (e.g., core basket). Because this input model is for the latest generation of reactor plant, there is a substantial database of actual reactor plant data available to further benchmark our parametric evaluation. Now, in the conceptual design development of the next generation of reactor plant, the plant designers ask the reactor coolant chemists to assess the effects of using alloy 690 as the steam generator tube material instead of alloy 600. In actuality, the coolant chemists will ultimately be asked to
Design Applications
171
evaluate a host of material changes, but these must be evaluated one at a time to get a clear understanding of the consequence of each change. Let us take a moment to get a global view of how this material change might make a significant difference on the primary coolant side. Consider the total growth corrosion kinetics for stainless steel, alloy 600, and alloy 690: 1.16, 0.225, and 0.09 mg/dm2-t1/2, respectively. From these fundamental growth data, we see that alloy 600 is more than 5 times more corrosion resistant than stainless steel and that alloy 690 is 2.5 times more corrosion resistant than alloy 600. At face value, it might seem like having considerably less corrosion mass on the steam generator tubing might be beneficial, but this is one of those cases in which we cannot guess and we must simulate the result and let the mathematics of the model do its job. Thus, we need to create a NOC input model for Reactor Plant B, which is identical to Reactor Plant A except that the material specification for the parts representing steam generator tubing is specified as alloy 690 instead of alloy 600. Both NOC input models are submitted to the supercomputer for simulation, the solution files are postprocessed, and comparative analysis of the results shows that the radiological consequences of changing to alloy 690 are higher values in almost all design quantities (i.e., coolant specific activity, pipe wall radiation levels, curie burden in the purification media, and corrosion surface specific activity). How can this be? The initial impression is that there must be something wrong with the simulation, but further examination of other computed dependent variables provides the real answer to the question. When one looks at the “Where’s the mass?” table at end-oflife in both simulations, one finds that 65% of all of the cobalt in the problem in Reactor Plant A is in the corrosion films of the steam generator tubing. This compares to less than 30% of the cobalt in Reactor Plant B. Where does the cobalt go that enters the primary reactor coolant as a result of either corrosion release or wear-accelerated corrosion? The answer is that the majority of it ends up in the corrosion films on the wetted surface areas of the plant and Table 3 illustrates that the largest of these surface areas is in the steam generator tubing. Once the cobalt is substituted into these corrosion films, it is no longer mobile and thus cannot undergo further irradiation in the neutron field of the core. Therefore, because the steam generator corrosion film of Reactor Plant B is substantially smaller than that of Reactor Plant A, less cobalt can enter the film and cobalt has become much more mobile in the alloy 690 reactor plant. This increased mobility means a higher specific activity of radioactive
172
Nuclear Corrosion Modeling
cobalt in the coolant, which translates to higher pipe wall radiation levels, higher curie burdens in the media, and higher surface specific activity on all of the wetted surface areas of the plant. This last consequence translates into higher radiation fields during reactor refueling evolutions, which means higher man-rem exposures and higher costs. All of these data provide a means of identifying a primary side cost impact that must be factored into the life-cycle cost of making this material change decision. It follows that the reactor plant designers will not be happy with this assessment and that they most certainly will ask, “Isn’t there anything that can be done to minimize or eliminate these detrimental effects?” This inquiry will spawn yet another case study in the NOC parametric investigation using an input model that we shall call Reactor Plant C. This input model is identical to Reactor Plant B (i.e., it has alloy 690 steam generators), but in addition, the material selection for the primary reactor plant piping is changed from stainless steel to electropolished stainless steel. Furthermore, structural parts in the upper one third of the reactor vessel are specified to be electropolished alloy 600 instead of virgin alloy 600. Examination of the corrosion kinetics in Table 5 shows that the electropolished surface treatments reduces the total corrosion growth kinetics on stainless steel by a factor of 3 and on alloy 600 by as much as a factor of 5. Running the Reactor Plant C simulation and postprocessing the solution file should show that many of the significant radiation fields (i.e., pipe wall and radiation fields around the reactor vessel head) will be lower than those in Reactor Plant B because of the reduction of corrosion film thickness caused by the surface treatment. This improvement in the radiological consequences of changing to electropolished surfaces does not come without a price. Electropolishing such large surfaces on these structural materials is an expensive proposition, and this cost must be factored into the life-cycle cost analysis to determine if the higher initial construction cost makes sense over the lifetime of the reactor plant. This discussion is intended to illustrate how the use of NOC simulations allows the reactor coolant chemist designers to play a much more significant role in making key design decisions early in the development of new conceptual reactor plant designs. There are many other examples of parametric evaluations that could be given, but this discussion is sufficient to illustrate how simulation modeling is a relatively inexpensive way to make better, more informed design decisions in future reactor plant designs.
AFTERWORD There is so much more that I could write about this subject. I can only say that the successes that have been achieved in this field of scientific research have been some of the richest and most rewarding of my career. It is my fondest wish that this text will inspire others more talented and gifted than I to take up where I have left off to advance the state of the art to levels that even I cannot comprehend or imagine. Einstein was correct: There is something holy in trying to understand the way that Mother Nature works in this vast wasteland of ignorance. There is so much that we do not yet understand, but the very act of turning over the smallest pebble and finding something that no one else has ever seen is nothing less than divine. Thus, if this subject intrigues you, maybe you will be the next Curie, Planch, or Bohr. So pick up the torch and let the science and mathematics guide you. Maybe you too can advance the horizon of scientific understanding a little more. Who knows what you just might find.
173
APPENDIX This appendix presents examples of hydrolytic equilibria and complexed equilibria for several elemental species that might occur given the hydrothermal conditions and chemical conditions in primary reactor coolant chemistry when the pH control agent is ammonium hydroxide (NH3).
NICKEL EQUILIBRIA Niþ2 þ H2 O , NiOHþ þ Hþ NiðOHÞ 3
ðA:1Þ þ
ðA:2Þ
NiðOHÞþ þ H2 O , NiðOHÞ2 ðaqÞ þ Hþ
ðA:3Þ
NiðOHÞ2 ðaqÞ þ H2 O ,
þH
COBALT EQUILIBRIA Coþ2 þ H2 O , CoOHþ þ Hþ
ðA:4Þ
þ CoðOHÞ2 ðaqÞ þ H2 O , CoðOHÞ 3 þH
ðA:5Þ
þ
CoOH þ NH3 ,
CoOHNHþ 3
ðA:6Þ
Coþ2 þ 2H2 O , CoðOHÞ2 ðaqÞ þ 2Hþ
ðA:7Þ
Coþ2 þ NH3 , CoNHþ2 3
ðA:8Þ
CoðOHÞ2 ðaqÞ þ NH3 , CoðOHÞ2 NH3
ðA:9Þ
ZINC EQUILIBRIA Znþ2 þ H2 O , ZnOHþ þ Hþ þ2
Zn
þ 2H2 O , ZnðONÞ2 þ 2H
ðA:10Þ þ
þ ZnðOHÞ2 ðaqÞ þ H2 O , ZnðOHÞ 3 þH
ðA:11Þ ðA:12Þ
175
NOMENCLATURE Dependent variables W C
Surface density (g/cm2) Coolant density (g/cm3)
Subscripts relating to dependent variables sub s P sur sat
Identifies Identifies Identifies Identifies Identifies
the chromite sublayer dependent variable soluble coolant species particulate coolant species ferrite layer dependent variables saturated (or equilibrium) coolant concentrations
Superscripts relating to dependent variables Superscripts are used to identify either the element or the nuclide of dependent variables.
Steam table and related hydraulic quantities r lth m Cpf h D Q Af Asur V ks kp kr kdp ke kd dh lh
Density (g/cm3) Thermal conductivity (w/cm- C) Dynamic viscosity (g/sec-cm) Specific heat capacity at constant pressure ( J/g- C) Friction factor Heat transfer coefficient (w/cm2- C) Diffusivity (cm2/sec) Heat flux (w) Flow area (cm2) Surface area (cm2) Volume (cm3) - Stein correlation [13, 14] of mass transfer coefficient (cm/sec) Total corrosion growth rate constant (mg/dm2-t½) Apparent release rate constant (mg/dm2-t½) Particulate deposition mass transfer coefficient (cm/sec) Particulate erosion rate constant (1/sec) Particulate dissolution/crystallization rate constant (1/sec) Hydraulic diameter (cm) Hydraulic length (cm)
177
178
t n g
Nuclear Corrosion Modeling
Mean wall sheer stress (dynes/cm2) Kinetic viscosity (cm/sec) Surface energy (dynes)
Nuclear quantities elth s
Effective thermal neutron activation cross section (barns or cm )
fth(X,t) n Zl
Time- and spatial-dependent thermal neutron flux (n/cm2-sec) Decay constant for atomic number Z and mass number n (sec1)
2
Dimensionless numbers NRe
Reynolds number; NRe ¼ Udh r=m
NPr or Pr
Prandtl number; NPr ¼ Cp m=lth
NSc or Sc
Schmidt number; NSc ¼ m=ðrDÞ
NSh or Sh
Sherwood number; NSh ¼ ks dh =D
NNu or Nu
Nusselt number; NNu ¼ hdh =lth
GLOSSARY Axial offset anomaly (AOA)—A phenomenon that has plagued the commercial pressurized water reactor industry as a result of boiling enhanced deposition that causes a neutron flux depression at the top of the fuel at end-of-core-life from boron deposits in the ferrite CRUD layer on the fuel. Building block flux—A temporal or spatial differential equation that describes one physical or chemical process. These fluxes describe the rate of change of mass (in either space or time) as it moves between the different phases (solid or liquid) or location in space. Closure equations—These are assumed models (or equations) that are used to complete a system of coupled equations by eliminating unknowns. Corrosion growth—The kinetic growth rate at which structural materials of construction corrode, usually expressed as a parabolic growth rate constant (e.g., mg/dm2-hr½), where the mass is milligrams of alloy. Corrosion release—The rate at which divalent metal ions are released into the aqueous phase as a result of the corrosion of structural metals, often expressed as a percentage of the corrosion growth. Equivalent (Eq or eq)—A reasonably common measurement unit used in chemistry and the biological sciences. It is a measure of a substance’s ability to combine with other substances. It is frequently used in the context of normality. The equivalent is formally defined as the mass in grams of a substance that will react with 6.022 1023electrons. (This is Avogadro’s number, which is the number of particles in a mole.) Another, slightly less precise, definition describes the equivalent as the number of grams of a substance that will react with 1 gram of free hydrogen. (This is practically true because 1 gram of hydrogen is very close to 1 mole of hydrogen, and free hydrogen has one spare electron; hence, 1 gram of hydrogen is effectively equivalent to 6.022 1023 electrons.) Thus, the amount of a given substance in equivalents is equal
179
180
Nuclear Corrosion Modeling
to the amount of the substance in moles divided by the valence of the substance. Note that the equivalent weight is the mass of one equivalent of a substance. In practice, the amount of a substance in equivalents often has a very small magnitude, so it is frequently described in terms of milliequivalents (mEq or meq): The prefix milli- denotes that the measure is divided by 1000. Very often, the measure is used in terms of milliequivalents of solute per liter of solvent (mEq/L). This is especially common for measurement of compounds in biological fluids; for instance, the healthy level of potassium in the blood of a human is between 3.5 and 5.0 mEq/L. Equivalents have advantage over moles in quantitative analysis of reactions. The best feature of using equivalents is that there is no need to study much about the nature of reaction (i.e., no need to analyze and balance chemical equations). Equivalents of reactants react in equal numbers to yield the equal equivalents of products [21]. Global model—A collection of models, correlations, and data that are assembled into a complex, cohesive analytical predictive tool to be used by designers to predict the behavior of some physicochemical aspects of nature. International Association of the Properties of Water and Steam (IAPWS)—A consortium of international governmental, industrial, and scholastic agencies supported by a host of independent funding (e.g., Electric Power Research Institute) who’s purpose is to study and record the properties of steam, water, and the ionic behavior of materials in aqueous solutions. IAPWS is most widely known for its publication of the steam tables. See Palmer et al. [15]. Model—A mathematical formula, equation, or set of equations that describe and/or predict an individual physical aspect of nature. Spinel—A double metal oxide (of the form Aþ2Bþ32O4) that contains interstitial metal cations in lattice sites having two distinct types of symmetry with respect to oxygen anions: tetrahedral and octahedral. Because the occupied octahedral-to-tetrahedral site is 2:1, spinels with the B cations in the octahedral sites (and A cations in tetrahedral sites) are classified as normal spinels. Those with their A cations only in octahedral sites are classified as inverse spinels [2].
REFERENCES [1] S.E. Ziemniak, M. Hanson, Corrosion behavior of 304 stainless steel in high temperature, hydrogenated water, Corros. Sci. 44 (2002) 2209–2230. [2] S.E. Ziemniak, R.A. Castelli, Immiscibility in the Fe3O4-FeCr2O4 spinel binary, J. Physics & Chemistry of Solids 64 (2003) 2081–2091. [3] S.E. Ziemniak, A.R. Gaddipati, P.C. Sander, Immiscibility in the NiFe2O4-NiCr2O4 spinel binary, J. Physical & Chemistry of Solids 66 (2005), 1112–1121. [4] S.E. Ziemniak, M. Hanson, Zinc treatment effects on corrosion behavior of 304 stainless steel in high temperature hydrogenated water, Corros. Sci. 48 (2006) 2525–2546. [5] S.E. Ziemniak, M. Hanson, Corrosion behavior of NiCrFe alloy 600 in high temperature, hydrogenated water, Corros. Sci. 48 (2006) 498–521. [6] S.E. Ziemniak, M. Hanson, Zinc treatment effects on corrosion behavior of alloy 600 in high temperature hydrogenated water, Corros. Sci. 48 (2006) 3330–3348. [7] S.E. Ziemniak, M. Hanson, Corrosion behavior of NiCrMo alloy 625 in high temperature, hydrogenated water, Corros. Sci. 45 (2003) 1595–1618. [8] B. Beverskog, et al., Revised Pourbaix diagrams for iron 25-300 C, Corros. Sci. 38 (12) (1996) 2121–2135. [9] P. Berge, Importance of surface preparation for corrosion control in nuclear power stations, Mater. Performance 36 (1997) 56–62. [10] E.M. Baum, H.D. Knox, T.R. Miller, Nuclides and Isotopes, 16th ed., Lockheed Martin, 2002. [11] S.A. Kushneriuk, J.M. Blair, Deposition of radioactive materials by a flowing fluid in a pipe, Nu. Sci. Engr. 60 1976 87–105. [12] J.T. Davies, Turbulent Phenomena, Academic Press, 1972, Lib. Cong. CCN:76182637. [13] W.A. Stein, Forschung im Ingernieuresen Bd., 54 (5) (1988) 161–168. [14] W.A. Stein, Forschung im Ingernieuresen Bd., 54 (4) (1988) 117–122. [15] D.A. Palmer, et al., Aqueous Systems at Elevated Temperatures and Pressures, Elsevier, 2004 (see Chapter 14 – “Solubility and surface adsorption characteristics of metal oxides”, by Wesolowski, DJ, Ziemniak, SE, et al., pp. 493–595) [16] S. Glasstone, Thermodynamics for Chemists, Van Nostrand Reinhold, New York, 1947. [17] ORNL-4628, ORIGEN–Isotope Generation and Depletion Code, May 1973, RSIC Computer Code CCC-217 (currently packaged as ORIGEN-S in the SCALE Safety Analysis System). [18] C. Tien, Granular Filtration of Aerosols and Hydrosols, Butterworth-Heinemann, 1989, ISBN-10: 0409900435. [19] R. Rajagopalan, C. Tien, Correlation equation for predicting single-collector efficiency in physicochemical filtration in saturated porous media, Environ. Sci. Technol. 39 (14) (2005), 5494–5495. [20] F.D. Hussey, Development of a multi-component film diffusion controlled mixed bed ion exchange column model applicable to variable influent systems, PhD thesis, Oklahoma State University, 2000. [21] Wikipedia free encyclopedia, http://en.wikipedia.org/wiki/Milliequivalent, accessed November 11, 2007.
181
182
Nuclear Corrosion Modeling
[22] Macsyma, Inc., 20 Academy Street, Arlington, MA 02476, Version 2.3, 1996. [23] L. Harr, et al., NBS/NRC Steam Tables, Hemisphere, 1984, ISBN-13:9780891163534. [24] R.E. Mesmer, et al., Thermodynamics of Aqueous Association and Ionization Reactions at High Temperatures and Pressures, J. Sol. Chem. 17 (8) (1988). [25] Nikuradse, Laws of flow in rough pipes, NACA Tech. Mem. 1292 (1937). [26] C.W.B. Grigson, Nikuradse’s Experiment, AIAA Journal (ISN 0001-1452) 22 (1984) 999–1001. [27] S.G. Kandlikar, Roughness effects at microscale – reassessing Nikuradse’s experiment on liquid flow in rough tubes. Bulletin of the Polish Academy of Sciences-Technical Sciences 53 (4) (2005) 343–349. [28] T.S. Peterson, Calculus with Analytical Geometry, Harper & Row, 1960.
ABOUT THE AUTHOR Roy A. Castelli received a bachelor’s degree in nuclear science from the State University of New York (SUNY) Maritime College at Fort Schuyler in 1971. He began his professional career in September of that year working for Westinghouse at Bettis Atomic Power Laboratory near Pittsburgh, Pennsylvania, doing reactor shield design and methods development in radiation transport. In January 1974, Roy left Westinghouse and took a position working for Gibbs and Hill, Inc., an architectural/ engineering firm that did design and construction of commercial nuclear power generating stations from the 1960 to the 1980s. Roy was a shielding engineer on several new designs and also provided operational support for several Gibbs and Hill operating power stations. While working in Manhattan, Roy obtained his master’s degree in nuclear engineering from Polytechnic Institute of New York. In April 1979, Roy took a position working for General Electric at Knolls Atomic Power Laboratory (KAPL) and spent the next 13 years doing methods development in three-dimensional radiation transport, low-level radiation detection, radiation experimental engineering, and shield design. In 1992, Roy changed careers at KAPL and spent approximately 3 years as a thermal hydraulic test engineer in KAPL’s large industrial test facility. During that time, Roy commenced work on a PhD at SUNY Albany in high-energy physics and completed more than 30 credits of advanced study before having to withdraw from the program because the demands of a family with two small children and a wife who was also in college at the same time became too much for him to continue his academic studies. In 1995, Roy again changed careers at KAPL, which in the meantime had been acquired by Lockheed Martin from General Electric. Roy
183
184
About the Author
commenced working in the field of mathematical modeling and experimental engineering for the Primary Reactor Plant Coolant Chemistry group. It was in this position as an advisory engineer that much of the science described in this text was coalesced, developed, and put into practice. Roy and his wife Barbara (of 37 years) both retired from professional careers in July 2007 to enjoy their five grandchildren in their new home on the east shore of Schroon Lake in the Adirondack mountains of upstate New York. Correspondence with Roy is welcomed and encouraged. See the following contact information: Roy A. Castelli P.O. Box 104 Adirondack, NY 12808 Phone: 518-494-5744 e-mail:
[email protected]
INDEX Page numbers followed by b, f, or t indicate boxes, figures or tables, respectively.
A Absolute filter modeling, 168 upstream of ion exchanger, 166–168 Activated charcoal, 75–76 Advanced Test Reactor, 119 aerosol investigations, 46 Alloy 600, 4–5, 6t, 9f, 17–18, 18t, 169–170 Alloy 625, 6t, 170 Alloy 690, 170 American Society for Testing and Materials International (ASTM), 14, 23–24 Analysis module, of program architecture, 135–153 convergence in, 142–143 dynamic solution repair, 140–141 freezing strategy, 141–142 Loop 1 - operating steps, 134, 135–138, 152–154 Loop 2 - temporal power rows, 137–138, 143 Loop 3 - descending loop connection table, 138–139, 142 Loop 4 - innermost loop over mesh cells, 139–142 oscillatory solutions, 146–149, 148f partial row rebalance, 145–152 preserving mass balances, 143–145 process flow diagram, 135, 136f row convergence, 142–143 special case mass rebalance of, 150–152 time tracking, 137–138 Analytical cell representation, 34, 34f AOA. See Axial offset anomaly Approximation modeling, 100 Aqueous phase particulate, equations, 68–69 zinc in, 6, 10–11 Aqueous soluble phase equations, 69–72 iron- and nickel-based alloy soluble equations, 69–70 Stellite base metal soluble equations, 71 zircaloy base metal soluble equations, 70–71 Architecture, program, 123 AROW. See Row of cell-centered solutions ASTM. See American Society for Testing and Materials International
Automesh generation, 108, 127–129 recursive and nonrecursive flow branching, 129, 129f Axial core power profiles schematic, 119, 120f Axial offset anomaly (AOA), 39–41
B B node, 98 BaOH, 39 Barium, 39–41 Beginning of life (BOL), 119, 120f Bidirectional flux, 68, 166 Binary logical unit number (IUNIT), 133–134 Binary solution files, 157, 158–159 Binary systems magnetite-ferrous chromite spinel, 4 mixing in, 3–4 Boiling enhanced hydrothermal crystallization, 57 Boiling enhanced particulate deposition, 58 Boiling phenomena modeling, 56–58 BOL. See Beginning of life Bottom mesh line, 98 Bottom-centered incoming boundary conditions, 100 Building block fluxes deposition rate and erosion constants practical measurements, 48–49 general equation set, 43, 44 hydrothermal crystallization/dissolution, 50–58 hydrothermal particulate crystallization/ dissolution, 58–61 models for radioactive buildup and decay, 62–63 vanishing dependent variables, 54–55, 140, 141 Building block models. See Filtration building block model; Ion-exchange building block model Bulk coolant density, 118–119 Bulk coolant temperature (TBULK), 115, 115f, 117–119 Burdened experiment, 80 By replacement only input, 126
185
186
Index
C C algorithms. See Fortran C node, 98–99 Calendar time (TCAL), 133–134, 137 CARD, 125 Cell representation, analytical, 34, 34f Cell-centered dependent variables, 100 Center routine, 168 Center subroutine, 139, 140, 141, 142 Chalk River unidentified deposit (CRUD), 1, 109 framing vision of general equation set, 33–34, 34f global model identifying, 104 radioactivity of, 6 reactor coolant purification systems, 73–74 understanding, 1 zinc effects, 10, 10f Charcoal activated, 75–76 hot, filter, 75 sintered, 75 Chart of the Nuclides, 36–37 Chemical and volume control (CVC) system, 73, 163–165 Chromite sublayer equations, 66–67 iron- and nickel-based alloys, 66 Stellite, 66 zircaloy, 66 Clean media experiment, 79 Closure equations, 99, 100 Cobalt, 6, 56, 65, 95, 118–119, 143–144 alloy high content of, 24–30 ASTM specifications for, 23–24 elemental, 24 entering primary reactor coolant, 171–172 high, content alloys, 24–30 media ionic subsurface equations (ion exchangers only), 86 media soluble equations, 89–90 media surface phase (filtered mass) equations, 87 primary reactor coolant entered by, 171–172 Cobalt source, 22–30 high cobalt content alloys, 24–30 mechanism, 27–29, 28f
modelling, 29–30 tramp cobalt in construction material, 23–24 Cobalt-58, 39, 62, 67, 92, 95, 118–119 Cobalt-59, 22–23, 30, 66–67, 71, 86, 92, 117–118, 127 Cobalt-60, 22–23, 39, 66–67, 92, 95, 118–119, 127 Cold equipment, 74, 85 in hydrothermal crystallization/ dissolution, 87 in media soluble equations, 90 Commercial power reactors, 119 Common user interface, 157–158 Convergence, 142–143 Coolant additives, 39–41, 55 Coolant density at wall temperature, 118–119 Coolant equation, 45 Coolant equilibrium (or saturation), 51 Coolant loop part specifications, 113–114, 113f Coolant particulate equation, 76 Coolant purification system, 73–74 design applications for optimizing, 163–166, 164f designing effective, 166–169 Coolant velocity, 118–119 Coordinate convention, for finite differencing, 95f Corrosion alloys resisting, 1 analyzing, 13–20 cobalt source, 22–30 coupon testing, 19 double-layered film source, 3–5 films, 2, 3f, 6t, 12, 14, 24 form of source, 2–3 growth, 36t hydraulic flow, 36t hydrothermal crystallization dissolution, 36t kinetic source, 7–22 kinetics library, 30–31, 31t particulate crystallization dissolution, 36t particulate deposition, 36t particulate erosion, 36t process, 1–2 process of, 1–2 of pure metals, 7
Index
release, 36t resistant materials, 17–18, 18t Corrosion growth and release, 7–8 close look at, 9–20 computation f, 20–21 elemental speciation of, 20–22, 22t in general equation, 44–45 of stellite, 25–26, 28f Coupling coefficients, 97 Cray, Seymour, 120, 121 CRUD. See Chalk River unidentified deposit CVC. See Chemical and volume control system
D DANS, 132, 133, 134, 142 Decay steps, 114, 135–137 Decay time, 118–119 Dependent variables, 39. See also Cellcentered dependent variables; Part averaged dependent variables; Vanishing dependent variables coefficient computations of, 92–93 shorthand notation of, 40t Deposition flux, 57 Deposition rate constants, 45, 46, 47, 47f, 48–49 Descending loop connection table. See Loop 3 - descending loop connection table Design applications, 163 for more effective purification systems, 166–169 optimizing coolant purification system, 163–166, 164f selecting new structural materials, 169–172 Diamond difference approximation, 99 Diamond difference closure equations, 100 Dirac function, 54–55 Discharge steps, 114, 135–138 Discrete ordinates, 94–95 Dissolution flux equation, 57 Divergence theorem, 150, 151–152 Divergent oscillations, 146 Do loop. See Loop 2 - temporal power rows Double-layered film, 3–5 Dynamic memory allocation, 121 Dynamic solution repair, of program architecture, 140–141
187
E Electropolishing, 11, 26 Elemental ion-exchange mass transfer coefficient, 82, 85–86 Elemental speciation, 20–22, 22t End of life (EOL), 119, 120f Energy crisis, 155 Enhanced particulate deposition, boiling, 58 EOL. See End of life Equation sets, 92–94, 97. See also General equation set; Media equation set; Simplified equation set Equilibrium, 46–47, 51 Equilibrium coolant concentrations, 51–53 Erosion constant, 45, 46, 47, 47f measuring, 49 practical measurements of, 48–49 Euler, explicit or implicit, 99 Experimental apparatus, typical, 15–18
F FAST, 62–63, 117–118 Ferrite layer equations, 67–68 Ferrite recrystallization layer, 50 Ferrite surface layer building block, 45 Films corrosion, 2, 3f, 6t, 12, 14, 24 double-layered, 3–5 surface, 20–21 theory, 61 thick, model, 7 Filter absolute, 166–168 efficiency, 79–80 hot, 85 hot, validity, 87, 90 hot charcoal, 75 Filtered mass equations. See Media surface phase (filtered mass) equations Filtration building block model, 75–80 burdened experiment, 80 clean media experiment, 79 filtration deposition coefficient, 77–78 ion-exchange building block model, 80–83 simpler approach, 78–80 Filtration constant, 118–119 Filtration deposition coefficient modeling, 77–80
188
Index
Filtration surface model. See Media surface phase (filtered mass) equations Finite differencing, 94–104 bottom mesh line in, 98 computational, 127–128, 128f coordinate convention for, 95f full, mesh, 127–128 general equations for iron in iron-and nickel-based alloys, 95–96 how it works, 98–100 simplified linearized iron equations, 96–97 in system defaults and program control inputs for NOC simulations, 108–110 Finite element, 94–95 Fission gases and products, removal and storage of, 73 Floating point numbers, 124 Flow branching, 129, 129f nonrecursive, 129, 129f recursive, 129, 129f Flow rate in coolant purification system, 165 mass, 118–119 Flux shaping parameters (THERM, RES, and FAST), 117–118 Fortran, 105, 108, 120, 153–154 Fraction of total power (PFRACT), 117–118 Free-form input, flexibility of, 125 Freeze flag, 141 Freezing strategy, 141–142 Full finite difference mesh, 127–128 Full input processing, in program architecture, 124–131 Full input summary edits, 126–127
G Gauss's law, 150, 151–152 General equation set, 65–66, 91 aqueous soluble phase equations, 69–72 building block fluxes, 43, 44 chromite sublayer equations, 66–67 corrosion growth and release, 44–45 dependent variables, 39 ferrite layer equations, 67–68 finite differencing in, for iron in iron-and nickel-based alloys, 95–96 framing vision of, 33–34, 34f hydrothermal crystallization/dissolution, 50–58
for iron, 91, 92 for iron in Iron- and nickel-based alloys, 95–96 mass balances, 34–35 modeling coolant additives and pH control agents, 39–41 nuclear processes, 35–38 numerical method of solution in context of, 91–92, 94–95 particulate aqueous phase equations, 68–69 particulate deposition and erosion, 45–49 particulate iron in, 101 physicochemical processes, 35 Global model, 104 Graphical user interface (GUI interface), pre-and postprocessing, 157–158, 160–161 languages for, 157 postprocessing functionality, 158–160 Gravimetric coupons, 14, 15 Gravimetric studies, 14 Gravitational settling, 58 Growth corrosion kinetics, 171 GUI interface. See Graphical user interface
H Hard bearings, 25 Hard-facing. See Hard bearings Heat flux, 118–119 Heaviside function, 54–55, 57, 93 in boiling enhanced particulate deposition, 58 in general equation set, 85–86 in media soluble equations, 90 in media surface phase (filtered mass) equations, 87 in particulate equation, 59 for radioactive species, 66–67, 69 Hematite, 2 Henry's law, 15–16 High-pressure gate valve, 27–29, 28f History steps, 135–137 Hollerith words, 124, 125 Hot charcoal filter, 75 Hot equipment, 74 Hot filter, 85 in coolant purification system, 165
Index
in media soluble equations, 90 validity, 87 Hot hours, 115–116 Hot time (THOT), 133–134, 137 Hydraulic flow, 36t Hydraulic friction factor, single-phase, 105–106 Hydraulic sheer, 46, 47, 47f, 105–106, 118–119 Hydrolytic equilibria, 51, 52, 53 Hydronium ion, 105 Hydrothermal crystallization/dissolution, 36t, 50–58 bidirectional flux of, 68 boiling enhanced particulate deposition, 58 hot filter validity of, 87 modeling of boiling phenomena, 56–58 parsing the hydrothermal mass transfer, 55–56 particulate, 58–61, 60f saturated or equilibrium coolant concentrations, 51–53 vanishing dependent variables, 54–55 Hydrothermal driving force, 92 Hydrothermal mass transfer, 55–56 Hydrothermal particulate mass transfer coefficient, 61
I IAPWS. See International Association for the Properties of Water and Steam IBUG, 131 ICMAX, 133 ICP. See Inductively coupled plasma ILAST, 134 IMAX, 132, 133 Incoming left-hand-centered boundary conditions, 100 Inconel. See Alloy 600 Inductively coupled plasma (ICP), 79 Inhomogeneous cobalt wear source, 118–119 Initial dependent variable boundary conditions, 129–131 Inlet boundary conditions, 104 Innermost loop over mesh cells. See Loop 4 - innermost loop over mesh cells
189
Input architecture, for NOC defined, 107 modeling of time, 115–116 operating history histogram inputs, 114–116 program design and suggestion, 120–121 time-dependent inputs, 116–120 time-dependent loop connection table inputs, 117 time-dependent part inputs, 117–120 time-independent part (or region) inputs, 110–114, 111t, 112t Input cards, 124 Input module, in program architecture, 123–135 automesh generation, 108, 127–129 full input processing, 124–131 full input summary edits, 126–127 initial dependent variable boundary conditions in, 129–131 input prescanning, 124–126 restart file structure, 132–135 restart input processing, 131–135 Input prescanning, in program architecture, 124–126 Input statements, 124 Instantaneous coolant concentration, 51 International Association for the Properties of Water and Steam (IAPWS), 52, 105 Intrinsic half-life of media, 79–80 Ion exchangers, 85, 150–151. See also Cold equipment absolute filter upstream of, 166–168 in coolant purification system, 165 in media soluble equations, 90 multielement, 74 substitution, of elements, 56 Ion-exchange building block model, 80–83 elemental mass transfer coefficient, 82 isotherm and its constants, 82–83 Iron, 2, 92, 143–144 ammonia complexes for, 52 ASTM specifications for, 23–24 based alloys, 65–66 general equation set for, 91, 92 hydrolytic equilibria for, 52 in iron-and nickel-based alloys, 95–96 media ionic subsurface equations (ion exchangers only), 86
190
Index
Iron (Continued ) media particulate equations, 87–88 media soluble equations, 89–90 media surface phase (filtered mass) equations, 87 in samples, 79 Iron-based alloy in aqueous soluble phase equations, 69–70 in chromite sublayer equations, 66 iron in, 95–96 soluble equations, 95, 139 Isotherm form, 81 in ion-exchange building block model, 82–83 in media soluble equations, 90 IUNIT. See Binary logical unit number
L Langmuir energy constant, 83 Langmuir isotherms, hypothetical ionic, 150–151, 150f Linear partial differential equation, 92–93 Linearizing the equation sets, 92–94 LiOH, 39 Lithium, 39–41 Loop 1- operating steps, in analysis module, 135–138, 152–153 WRAPUP, 134, 152–154 Loop 2 - temporal power rows, 137–138, 143 Loop 3 - descending loop connection table, 138–139, 142 Loop 4 - innermost loop over mesh cells, 139–142
M J J. See Temporal mesh number JMAX, 133 JRMAX, 133 JROW. See Temporal row number JSTOP, 131–132
K Kinetics, 7–22 computation of corrosion release, 20–21 corrosion growth rate, 9–20 elemental speciation of corrosion growth and release, 20–22, 22t experimental technique, 13–20 growth corrosion, 171 library, 30–31, 31t literature investigations of, 24 modeling behavior, 7–9 sensitivity of corrosion, 9 surface condition, 11–13 temperature, 9–10, 9f zinc in aqueous phase, 10–11 zinc presence adjustment, 22, 23f KIS axiom (keep it simple), 99 kp (corrosion growth rate). See Corrosion growth and release kr (corrosion release rate). See Corrosion growth and release KSWEEP, 134
Macsyma, 97, 101 Magnetite, 2 -ferrous chromite spinel binary system, 4 as solid phase, 53 Manufacturing materials, 17–18, 18t Mass balances general equation set, 34–35 preserving, 143–145 Mass flow rate, 118–119 Mass rebalance, special case, 150–152 Mass transfer coefficient, 118–119 hydrothermal particulate, 61 turbulent, 87 Media cells, boundary conditions, 131 Media equation set, 85–86, 91 framing vision of, 73 media efficiency, 165 media ionic subsurface equations (ion exchangers only), 86 media particulate equations, 87–88 media soluble equations, 89–90 media surface phase (filtered mass) equations, 87 modeling media, 74–83, 74f reactor coolant purification systems, 73–74 Media ionic subsurface equations (ion exchangers only), 86 Media mass and curie summaries, 153 Media particulate equations, 87–88
Index
Media soluble equations, 89–90 cobalt, 89–90 cold equipment in, 90 Heaviside function in, 90 Media surface phase (filtered mass) equations, 87 Mesh cells, 94–95, 98, 101, 104 Micropitting, 15 Microstrain, 11, 13, 13f, 15 Middle of life (MOL), 119, 120f Minimum energy state, 6 Modeling absolute filter, 168 approximation, 100 behavior in kinetics, 7–9 boiling phenomena, 56–58 coolant additives and pH control agents, 39–41 filtration deposition coefficient, 77–80 reentrainment coefficient, 50–58 of time, 115–116 Modeling media, 74–83, 74f elemental ion-exchange mass transfer coefficient, 82, 85–86 filtration building block model, 75–83 MOL. See Middle of life Molecular diffusivity, 61 Moments method, 94–95 MSWEEP, 134 Multielement ion exchange, 74 Multiple input scanning, 125
N National Code Repository, Oak Ridge National Laboratory, 121 Nature of Crud (NOC), 104. See also NOC simulations NBS/NRC Steam Tables, 105 Neutron transport by discrete ordinates, 94–95 Nickel, 6, 143–144 ASTM specifications for, 23–24 based alloys, 65–66 general equation set for, 91, 92 media ionic subsurface equations (ion exchangers only), 86 media particulate equations, 87–88 media soluble equations, 89–90
191
media surface phase (filtered mass) equations, 87 Nickel-based alloy, 169–170. See also specific types in chromite sublayer equations, 66 corrosion films of, 4–5, 5f iron-and, 66, 69–70, 95–96 soluble equations, 69–70, 95, 139 Nickel-based system binary, nickel ferritenickel chromium, 3–4, 5f Nikuradse, Joann, 105–106 Nintendo Wii, 157 NOC simulations, 163–165, 166, 168–169 input architecture defined, 107 SNAP and, 158 system defaults and program control inputs for, 107–110 useful data from, 170–172 Nonrecursive flow branching, 129, 129f NRC. See Nuclear Regulatory Commission, U.S. Nuclear inputs and power shapes, 119–120 Nuclear processes, 36t general equation set, 35–38 parameters, 36–37, 38t Nuclear Regulatory Commission, U.S. (NRC), 157–158 Numerical method, of solution, 91–92, 94–95 Nusselt number, 50
O Oak Ridge National Laboratory, 121 Oklahoma State University (OSU), 80–81 Operating history histogram inputs, for NOC input architecture, 114–116 Operating history power steps, 114, 135–137 Operating steps. See Loop 1- operating steps, in analysis module ORIGEN computer program, 62–63 Oscillations divergent, 146 small, 146 Oscillatory solutions, 146–149, 148f OSU. See Oklahoma State University OUTPT, 152, 153–154, 159 Output module, of program architecture, 153–154 Oxidation. See Corrosion
192
Index
P Packed bed filtration, 74, 75, 85 Part averaged curies, 153 Part averaged dependent variables, 153 Part mass totals, 153 Partial row imbalance, 141 Partial row rebalance, 145–152 Particle behavior, 46 Particulate aqueous phase equations, 68–69 Particulate balance equation, 99 Particulate crystallization dissolution, 36t Particulate deposition and erosion, 36t coefficient, 118–119 in general equation set, 45–49 practical measurements of deposition rate and erosion constants, 48–49 water purity, 48 Particulate deposition velocity, 118–119 Particulate diffusive mass transfer coefficient, 118–119 Particulate equations, 59 coolant, 76 Heaviside function in, 59 iron media, 87–88 media, 87–88 surface, 76 Particulate erosion, 36t Particulate saturation enhancement factor, 118–119 PFLUX. See Power thermal neutron flux PFRACT. See Fraction of total power pH computation, 105 pH control agents, 39–41 Phase diagrams, 2 Physical data limitations, 46 Physicochemical processes, 35 Physiochemical analytical techniques, 14 Pick-up, 16 Piping, large diameter, 18 Postprocessing. See Pre-and postprocessing (GUI interface) Pourbaix diagrams, 2 Power reactors commercial, 119 plant example, 160 Power shapes, 119–120 Power step time, 115–116 Power steps, 114, 135–137
Power thermal neutron flux (PFLUX), 117–118 Prandtl number, 50 Pre-and postprocessing (GUI interface), 157–161 of binary solution files, 158–159 postprocessing functionality, 158–160 simulation graphical trends, 160 solution, 132 special solution edits, 159 Pressure vessels, large, 19 Pressurized water reactor (PWR), 33, 39–41 primary reactor coolant circuit, 21–22 purity of, 48 Problem neutron flux, 127 Process flow diagram, 135, 136f Program architecture, 123, 154–155. See also Analysis module, of program architecture automesh generation in, 108, 127–129 convergence in analysis module of, 142–143 descending loop connection table in analysis module of, 138–139, 142 dynamic solution repair of analysis module, 140–141 freezing strategy of analysis module, 141–142 full input processing in, 124–131 full input summary edits in, 126–127 initial dependent variable boundary conditions in, 129–131 input module, 108, 123–135 input prescanning in, 124–126 oscillatory solutions of analysis module, 146–149, 148f output module, 153–154 partial row rebalance of analysis module, 145–152 preserving mass balances, 143–145 restart file structure, 132–135 restart input processing in, 131–135 row convergence of analysis module, 142–143 special case mass rebalance of analysis module, 150–152 temporal power rows in analysis module, 137–138, 143 time tracking of analysis module, 137–138
Index
Program inputs computation, 111t, 112t Pseudo-constants, 92–93 arbitrary nature of, 94 definitions for equation, 92–93, 93t, 94 in simplified equation set, 96 Purification equipment, 74. See also Reactor coolant Purification media parts, 139 Purification system alternate, 166–169, 167f coolant, 73–74, 163–166, 164f design applications for more effective, 166–169 flow rate in coolant, 165 hot filtration in coolant, 165 ion exchangers in coolant, 165 optimizing coolant, 163–166, 164f reactor coolant, 73–74 PWR. See Pressurized water reactor
R Radiation field summaries for selected equipment types, 153 Radioactive buildup and decay models, 62–63, 85 Radioactive material experiments, 48–49 Radioactive soluble species equation, 92 Radioactive species, Heaviside function for, 66–67, 69 Radioactive tracers, 48–49 Reactor coolant, 1–2 cobalt entering primary, 171–172 elemental solubilities in loop, 60 purification systems, 73–74 surface materials and manufacturing, 17–18, 18t water purity, 48 Recursive flow branching, 129, 129f Reentrainment, 45 Reentrainment coefficient modeling, 77–80 Refuelings, 114 Repair subroutine, 140, 141 RES, 62–63, 117–118, 127 Restart file structure, 132–135 Restart input processing, 131–135 Reynolds number, 50, 87, 127 Row convergence, 142–143 Row of cell-centered solutions (AROW), 132, 133
193
S SATCON, 130–131 Saturated coolant concentrations, 51–53 Saturation enhancement factor, 59–60, 60f. See also Particulate saturation enhancement factor Scale layer, 57 SCC. See Stress corrosion cracking Schmidt number, 50, 118–119 Secondary models and correlations. See Subordinate models and correlations Sherwood number, 50, 61, 118–119. See also Mass transfer coefficient Simplified equation set, 96 Simplified linearized iron equations, 96–97 Simplified partial differential equation, 101 Simulation graphical trends, of postprocessing functionality, 160 Simulation testing, 168–169 Single-phase hydraulic friction factor, 105–106 Sintered charcoal, 75 Skipper algorithm, 133 Small oscillations, 146 Smooth pipe correlation, 106 SNAP. See Symbolic Nuclear Analysis Package Soft bearings, 25 Soluble equation, 59. See also Media soluble equations Soluble rate equation, 81 Soluble species equation, 92 Solution method, 91–92 finite differencing, 94–104 linearizing the equation sets, 92–94, 97 subordinate models and correlations, 104–106 Solution postprocessing, 132 Sony PlayStation, 157 Special case mass rebalance, 150–152 Special solution edits, of postprocessing functionality, 159 Spinels, 2, 4 Static part definitions, 110–113 Steam Fortran or C algorithms for the thermodynamic properties of, 105 tables functions, 105
194
Index
Steam generator tubing materials, 18–20, 169–172 Stein correlation, 50, 61, 87, 104 Stellite, 25–26, 65–66, 139. See also Cobalt base metal soluble equations, 71 in chromite sublayer equations, 66 corrosion growth and release of, 25–26, 28f in ferrite layer equations, 67–68 high cobalt content alloys of, 25–26 modelling cobalt source, 29–30 Step approximation, 100 Stokes-Einstein diffusivity, 61 Stokes-Einstein formula, 104 Stress corrosion cracking (SCC), 169–170 Structural materials, selection for design applications, 169–172 Subordinate models and correlations, 104–106 computation of pH, 105 Fortran or C algorithms for the thermodynamic properties of steam and water, 105 single-phase hydraulic friction factor, 105–106 Subsurface source equation, 44 Successive under-relaxation (SUR), 146–149, 148f Superficial velocity, 87, 118–119, 165 SUR. See Successive under-relaxation Surface condition, of corrosion, 11–13 Surface energy, 59–60 Surface films, 20–21 Surface morphology studies, 12, 14, 24 Surface particulate equation, 76 Surface rate equation, 81 Symbolic Nuclear Analysis Package (SNAP), 157–158 kernel, 157–158 NOC and, 158 System defaults and program control inputs, for NOC simulations, 107–110
kinetics, 9–10, 9f wall, 118–119 Temporal mesh number (J), 133–134 Temporal mesh spacing, 109 Temporal power rows. See Loop 2 temporal power rows Temporal row number (JROW), 133–135 TEST subroutine, 142–143, 146–147 THERM, 62–63, 117–118, 127 Thermal neutron flux. See Power thermal neutron flux Thermal neutron production cross sections, 62–63, 118–119 Thermodynamics, 51, 52 Thick film model, 7 THOT. See Hot time 304-stainless-steel data, 6t, 21, 22t Time tracking, in program architecture analysis module, 137–138 Time-dependent inputs, for NOC input architecture, 116–120 nuclear inputs and power shapes, 119–120 part inputs, 117–120 Time-dependent loop connection table inputs, 117 Time-dependent mechanism, 110–113 Time-dependent part inputs, 117–120 Time-independent part (or region) inputs input architecture for NOC, 110–114, 111t, 112t Tramp cobalt, in construction material, 23–24 Transition metals, 2 Tubing materials. See Steam generator tubing materials Turbulent mass transfer coefficient, 87
V Vanishing dependent variables, 54–55, 140, 141 Velocity, 87, 118–119, 165
T TBULK. See Bulk coolant temperature TCAL. See Calendar time Temperature, 13f. See also Bulk coolant temperature effects of, on corrosion, 9–10, 9f
W Wall temperature, 118–119 Water. See also International Association for the Properties of Water and Steam; Pressurized water reactor
Index
Fortran or C algorithms for the thermodynamic properties of, 105 purity, 48 Wear source. See Cobalt Westinghouse, 81 WRAPUP, 134, 152–154
X X-ray diffraction spectra, 12, 12f
195
Z Zinc, 10, 10f, 56, 118–119 in aqueous phase, 6, 10–11 kinetics adjusted for presence of, 22, 23f Zircaloy, 18t, 65–66, 137–138, 139 base metal soluble equations, 70–71 in chromite sublayer equations, 66 in ferrite layer equations, 67–68