.. _section-12.4:

Bubble Formation and Collapse
-----------------------------

At the end of each time step before voiding starts in a channel, the
coolant temperature at each axial node is compared with the
corresponding saturation temperature. The code estimates when boiling
will start by linearly extrapolating coolant temperatures and saturation
temperatures. A switch to the boiling module is made before the
formation of the first bubble. The voiding model then takes over the
calculation of coolant temperatures and saturation temperatures by
applying the liquid slug model described in :numref:`section-12.2`
to the entire channel. At the end of each time step, the code checks to see
whether the boiling criterion has been met at any point along the axial mesh.
This criterion requires that the coolant temperature exceed the saturation
temperature by a minimum superheat value. This superheat value is selected by
the user and is entered through input variable DTS. Experience with the code has
shown that a superheat value of about 10 K is appropriate for the initial bubble
in the channel. This amount of superheat prevents the bubble from collapsing
immediately after formation and appears to produce results that agree well with
the experimental results discussed in the introduction to the chapter.

Once the code predicts that the coolant temperature has exceeded the
saturation temperature plus the superheat, it begins an iterative
process to determine within a small tolerance the time at which the
superheat criterion is satisfied exactly. This is done by checking to
see by how much the coolant temperature exceeds the sum of the
saturation temperature plus the superheat. This temperature excess is
used in a linear interpolation to reduce the time step to a value at
which the superheat criterion will be met more closely. The code then
goes back to the beginning of the time step and repeats the coolant and
saturation temperature calculations and again checks the superheat
criterion. If the criterion is met to within a built-in tolerance (0.001
K), the code fixes that time as the time of voiding initiation for the
channel and forms a vapor bubble at that point in the channel. If the
criterion is not met, the code repeats the calculation of the
temperature excess beyond the superheat criterion, calculates a new
reduced time step, and again goes back to the beginning of the time step
and repeats the temperature calculations. This iterative procedure
continues until the superheat criterion is met satisfactorily. Normally,
the procedure converges with three or four iterations.

After voiding has started in a channel, the voiding model calculation
tests at the end of each coolant time step for the formation of new
bubbles within the liquid slugs. The formation of new bubbles after
voiding has started is subject to the following limitations and
modifications.

a.	If the maximum number of bubbles (nine bubbles) already exist in the channel, then new bubbles will not be formed.

b.	No new bubbles will be formed within a minimum distance, :math:`s_{Lmin}` (minimum slug length) of a bubble-liquid interface, so nodes within :math:`s_{Lmin}` of an interface are not checked for bubble formation. Interpolated coolant temperatures and saturation temperatures at a distance :math:`s_{Lmin}` from each interface are checked, and a bubble is formed at this position if the superheat criterion is exceeded. The minimum distance :math:`s_{Lmin}` is an input variable :sasinp:`SLMIN`; experience with the code indicates that a value of about 2 cm is reasonable for most situations.

c.	No more than one new bubble will be formed in a channel in any time step.

d.	After the first bubble is formed, time steps are not repeated so as to match exactly the superheat criterion for later bubbles; when the superheat criterion is exceeded, a new bubble is formed with whatever superheat happens to exist. The superheat used in the superheat criterion for bubbles after the first one should be somewhat less than the value used at the start of boiling, generally 3 K or 4 K. This is also a user-input quantity and is read into input variable :sasinp:`DTINT`. At the end of each time step, linear extrapolation of coolant and saturation temperatures is used to predict when the next bubble will form. This prediction is used to limit the size of future time steps, so that the saturation criterion is normally exceeded only slightly when a new bubble is formed.

Bubbles are assumed to fill the whole cross section of the coolant
channel, except for a liquid film left on the cladding and structure. A
bubble starts with zero length and with the initial temperature equal to
the coolant liquid temperature at the time of bubble formation.

Pressures are continuous across the liquid-vapor interfaces; but sharp
temperature gradients can occur in the liquid temperature a short
distance from the interface can be significantly different from the
vapor temperature at the interface. For each bubble interface, the code
calculates one pressure, a vapor temperature, and a liquid temperature
at a position far enough from the interface that it is unaffected by the
vapor temperature. Also, the bubble interface position and velocity are
calculated. In addition to bubble interface values, coolant
temperatures, pressures, densities, and flow rate are calculated at the
mesh segment interfaces. The liquid film thickness in a voided region is
calculated as the average for the segment. Flow areas and hydraulic
diameters are treated as constant within a segment although they can
vary from segment to segment.

The vapor bubble pressure is assumed to be always equal to the
saturation pressure corresponding to its temperature. Thus, the
formation of a vapor bubble with a nonzero amount of superheat leads to
an immediate jump in pressure at the bubble location.

The initial bubble growth is due mainly to two effects: (1) the initial
jump in pressure corresponding to the superheat, drives the liquid slugs
apart, forming a larger bubble; and (2) heat flow through the
liquid-vapor interface produces vapor to fill the bubble and sustain the
pressure. When the bubble gets larger, vaporization of the liquid film
on the cladding becomes the main source of vapor. The vapor pressure and
temperature are assumed to be spatially uniform during the initial
bubble growth. This model for the initial bubble growth is similar to
the mode of Fauske and Cronenberg :ref:`[12-7, 12-8] <section-12.references>`
and also similar to that of Schelechtendahl :ref:`[12-9] <section-12.references>`.

After the bubble length exceeds a user-specified minimum length (usually
3-10 cm), the vapor bubble calculation is switched to a different model.
Heat flow through the liquid-vapor interfaces is ignored, but axial
variations in vapor pressure within the bubble are accounted for.
Vaporization of the liquid films in the hot part of the core, and
condensation in cooler regions, can lead to high vapor velocities and
corresponding appreciable pressure gradients within a vapor bubble. The
numerical scheme that is used to calculate the time and space variations
in the vapor pressure is an implicit scheme that can handle moderately
large (a few milliseconds) time steps. Wave effects tend to be
suppressed by the numerical scheme.

Condensation in cooler regions can cause a vapor bubble to shrink. If
the bubble size decreased to below the minimum length for the pressure
variation model, then the initial uniform pressure model is used again.
If the bubble size decreases to less than a minimum bubble size, and if
at the same time the rate of decrease of the bubble size exceeds a
minimum value, then the bubble is assumed to collapse and the bubble is
eliminated from the calculation. When a bubble collapse, the liquid
slugs above and below the bubble are combined into one slug, and the
flow rate of the combined slug is determined by conserving the combined
momentum of the two slugs.