Desousa - FT - Multi Fluid Flow With Free Surface - 2004
Desousa - FT - Multi Fluid Flow With Free Surface - 2004
www.elsevier.com/locate/jcp
Abstract
A method for simulating incompressible, imiscible, unsteady, Newtonian, multi-fluid flows with free surfaces is
described. A sharp interface separates fluids of different density and viscosity. Surface and interfacial tensions are also
considered and the required curvature is geometrically approximated at the fronts by a least squares quadratic fitting.
To remove small undulations at the fronts, a mass-conserving filter is employed. The numerical method employed to
solve the Navier–Stokes equations is based on the GENSMAC-3D front-tracking method. The velocity field is com-
puted using a finite-difference scheme on an Eulerian grid. The free-surface and the interfaces are represented by an
unstructured Lagrangian grid moving through an Eulerian grid. The method was validated by comparing the numerical
results with analytical results for a number of simple problems. Complex numerical simulations show the capability and
emphasize the robustness of this new method.
Ó 2004 Elsevier Inc. All rights reserved.
Keywords: Front-tracking method; Multi-fluid flows; Numerical simulation; Surface tension; Free surface flows; Finite-difference
method
1. Introduction
Numerical simulations of fluid flows are relevant to problems found in various industries such as oil,
nuclear, chemical and the food industry. Applications involving flows of several fluids, called multi-fluid
flows, include heavy oil transport, food processing, co-extrusion and bubble flows. If the fluid involves both
gas and liquid, the fluid is referred to as two-phase.
*
Corresponding author. Present address: Roland Holstlaan 465, 2624HM Delft, Netherlands.
E-mail address: [email protected] (F.S. de Sousa).
0021-9991/$ - see front matter Ó 2004 Elsevier Inc. All rights reserved.
doi:10.1016/j.jcp.2004.01.032
470 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
Multi-fluid flows are complicated because of the many physical phenomena that need to be taken into
account. Prime among these is surface or interfacial tension between any two fluids. This can be particularly
difficult when the two fluids are very different: a simple example is that of bubbles in water, where the
density ratio is about 1000 to 1.
There are essentially two techniques for approximating the interface: front capturing and front tracking.
Front-capturing techniques are characterized by treating the interface as a high variation region with no
explicit elements to represent the interface. With this approach it is arguably easier to deal with topological
changes in the interface (or interfaces) like merging and breaking. However, a major disadvantage of this
technique is the interface diffusion over several cells, resulting in loss of precision.
Early work on front capturing goes back to Glimm and his co-workers (see, e.g. [10]) where they rep-
resented the moving front by a connected set of points which form a moving internal boundary. An ir-
regular grid is then constructed in order to calculate the evolution of the fluid in the vicinity of the interface.
A special finite difference is then employed on the irregular grid. More recently the level set approach [25]
has found prominence. This approach employs a smooth function /, called the level set function, to
represent the free surface. Liquid regions are regions which have /ðx; tÞ > 0 while the region containing the
other fluid are regions in which /ðx; tÞ < 0. The free surface is the set of points such that /ðx; tÞ ¼ 0. The
unit normal and the mean curvature are then easily computed. They are given by
r/ r/
n¼ and j¼r ;
jr/j jr/j
respectively. This method was introduced by Osher and Sethian [17], and strongly promoted in two books
by Sethian [19,20].
Essentially front tracking involves explicit computational elements moving through a (static) Eulerian
grid. This approach can be more accurate than the above, but can require additional computational re-
sources. Furthermore, to take into account topological changes in the interface, the implementation can
become more complex. A front-tracking method has been described by Tryggvason and his co-workers
[7,8,30] in which the interface (or interfaces) are considered to be a linked set of points forming an un-
structured mesh. This unstructured mesh moves through a staggered Eulerian grid upon which the fluid
velocity and pressure are calculated.
The Marker-and-Cell (MAC) method was first introduced by Harlow and Welch [11]. It was specifically
designed for calculating incompressible viscous free surface flows. It is a finite-difference method based on
a staggered grid that employs the primitive variables of velocity and pressure. Due to computational
difficulties, Amsden and Harlow [1] developed a projection method called Simplified Marker-and-Cell
(SMAC) whereby essentially the velocity and pressure field are calculated sequentially. In the years that
followed many people have studied and worked on the SMAC method (e.g. [2,12,15,31,32]). More re-
cently, and motivated by the SMAC philosophy, Tome and McKee [26] developed the GENSMAC
method for two-dimensional incompressible viscous fluids with free surfaces in an arbitrary complex
domain. Extensions of the GENSMAC method for axisymmetric [27] and three-dimensional [5,28] flows
were also developed.
The starting point for this work is the GENSMAC-3D method [28]. However, rather than dealing with a
single fluid, we shall be concerned with an arbitrary number of Newtonian fluids with different densities and
viscosities, all separated by interfaces which must be determined. In addition, there is also a free surface or
free surfaces that must be treated. The fronts, both free surfaces and interfaces, will lie on Lagrangian
meshes that will move through an Eulerian grid on which the fluid velocity and pressure will be calculated.
The approach is similar to Esmaeeli and Tryggvason [7,8], but there are significant differences, both in the
discretization employed and in the way in which the interfacial forces are calculated. Both the normal to the
surface and its curvature are required. However, before these may be calculated it is necessary to remove
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 471
sub-cell undulations. Thus the technique for determining the normal and the curvature is two-stage: a novel
technique for sub-cell undulations removal is followed by the calculation of the normal and the curvature.
The governing equations for incompressible flows are the Navier–Stokes equations. The approach used
here is to consider the density and viscosity as variables over the whole domain, but constant in each
specific fluid. Thus, each fluid is taken to be incompressible, and the continuity equation is valid over the
whole domain. The pressure is discontinuous along the interfaces, with a discontinuity proportional to the
local surface tension and curvature. Hence it behaves like a Heaviside function, and in the Navier–Stokes
equations the gradient of this Heaviside function appears. Therefore, the interface can be identified as the
region where rH is nonzero.
When taking into account the interfacial tension forces and the fact that the density and the viscosity are
variable over the whole region, the nondimensional momentum equation is given by
ou 1 1 1 rI j
þ r ðuuÞ ¼ rp þ r lðru þ ruT Þ þ 2 g rH : ð1Þ
ot q q Re Fr q We
where u ¼ uðx; tÞ denotes the velocity field, p ¼ pðx; tÞ is the pressure field, q and l are the density and
viscosity of the fluid all in nondimensional form; these are variable in whole domain, but constant and in
general pdifferent
ffiffiffiffiffiffi in each phase. Here g denotes the gravitational field. Furthermore, Re ¼ q0 LU =l0 ,
Fr ¼ U = Lg and We ¼ q0 LU 2 =r0 denotes the Reynolds number, the Froude number and the Weber
number, respectively. Here, L and U are the length and velocity scales, q0 , l0 and r0 are the reference values
of density, viscosity and surface tension, and g denotes the gravitational constant.
All the fluids are assumed to be incompressible, so the velocity field is divergence free, that is
r u ¼ 0: ð2Þ
Eqs. (1) and (2) are solved based on the GENSMAC-3D method [28], using an extension of the meth-
odology described in [18] for the two-dimensional case. It is supposed that the velocity field uðx; t0 Þ is
known at a given time t0 , and the boundary conditions for the velocity and pressure are given. The updated
velocity field uðx; tÞ, at t ¼ t0 þ Dt, is calculated using the following algorithm:
pðx; tÞ be a pressure field which satisfies the correct pressure conditions on the free surface. This
(1) Let ~
pressure field is computed according to the required boundary stress conditions.
(2) The intermediate velocity field ~ uðx; tÞ is computed by the explicitly discretized form of the momentum
equations
o~
u 1 1 1 rI j
þ r ðuuÞ ¼ r~p þ r lðru þ ruT Þ þ 2 g rH ð3Þ
ot q q Re Fr q We
with ~uðx; t0 Þ ¼ uðx; t0 Þ using the correct boundary conditions for uðx; t0 Þ. It can be shown [26] that
~ðx; tÞ possesses the correct vorticity at time t. However, ~uðx; tÞ does not satisfy (2). Let
u
1
uðx; tÞ rwðx; tÞ
uðx; tÞ ¼ ~ ð4Þ
q
with
1
r rwðx; tÞ ¼ r ~
uðx; tÞ: ð5Þ
q
472 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
Thus, uðx; tÞ now satisfies (2) and the vorticity remains unchanged. Therefore, uðx; tÞ is identified as the
updated velocity field at time t.
(3) Solve the elliptic equation (5).
(4) Compute the velocity from (4).
(5) Compute the pressure using
wðx; tÞ
pðx; tÞ ¼ ~
pðx; tÞ þ : ð6Þ
Dt
(6) Update the positions of the marker particles.
The last step in the calculation involves moving the marker particles to their new positions. These are
virtual particles whose coordinates are stored and updated at the end of each cycle by solving dx=dt ¼ u by
EulerÕs method. This provides the new coordinates of every particle, allowing us to determine whether or
not it has moved to a new computational cell or if it has left the containment region through an outlet.
Using the front-tracking methodology [28,30], only marker particles on the free surface and the interfaces
need to be considered.
For the solution of (3), appropriate boundary conditions are required. At solid walls null velocities are
enforced. As implied by the title of this work, the proposed method is capable of dealing with low density
fluids in two different ways: as one of the phases of the flow or as an inert phase, thus introducing a moving
free boundary. At the free surface, the boundary conditions for pressure and velocity, assuming zero vis-
cous stress in the empty phase, are given by
ðS nÞ n ¼ pcap ; ðS nÞ m1 ¼ 0; ðS nÞ m2 ¼ 0; ð7Þ
where n, m1 and m2 are the local, normal and tangential vectors to the free surface. S is the viscous stress
tensor, given by
l h i
S ¼ pI þ ðruÞ þ ðruÞT ; ð8Þ
Re
and pcap ¼ rj=We is the capillary pressure, originating from the effects of the surface tension r. The elliptic
equation (5) is solved using the conjugate gradient method, satisfying homogeneous Dirichlet boundary
conditions at the free surface and homogeneous Neumann boundary conditions at the solid boundaries.
However, as the density variation across the interface increases, more iterations are required for the
convergence of the method. In these cases, a diagonal preconditioner was used to speed-up the convergence
of the conjugate gradient method.
3. Discretizations
In a similar manner to MAC [33], SMAC [1] and GENSMAC [26] methods, Eqs. (3)–(5) are discretized
by finite differences on a staggered grid. Fig. 1 shows an example of a staggered grid cell and the position of
the variables in this cell: the velocities are calculated on the faces, and the other variables (pressure, density
and viscosity) are computed at the cell center.
Consider the x component of the nondimensional momentum equation, expressed in Cartesian coordinates
2
ou oðu2 Þ oðuvÞ oðuwÞ 1 op l o u o2 u o2 u 1 ol ou ol ov ou
þ þ þ ¼ þ þ þ þ 2 þ þ
ot ox oy oz q ox q Re ox2 oy 2 oz2 q Re ox ox oy ox oy
ol ow ou 1 rI j oH
þ þ þ 2 gx : ð9Þ
oz ox oz Fr q We ox
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 473
Fig. 1. Position of the variables in a cell. The velocities are computed on the faces of the cell, and the pressure (p), density (q), viscosity
(l) evaluated at the cell center.
this is more accurate than simple averaging [29]. Thus, the viscous term Vx1 using (15) becomes
474 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
"
ui1;j;k 2uiþ1;j;k þ uiþ32;j;k
4
Vx1 iþ1;j;k ¼ 2 2
2 Re 1 1
þ li;j;k qiþ1;j;k þ qi;j;k Dx2
liþ1;j;k
#
uiþ1;j1;k 2uiþ1;j;k þ uiþ1;jþ1;k uiþ1;j;k1 2uiþ1;j;k þ uiþ1;j;kþ1
2 2 2 2 2 2
þ þ : ð16Þ
Dy 2 Dz2
The values of viscosity on the edges of the cell are computed by an analogous operation to (15). Finally, the
discretization of Vx2 becomes
8
>
>
1 < liþ1;j;k li;j;k uiþ32;j;k ui1;j;k
Vx2 iþ1;j;k ¼
2
The discretization of the momentum equations in the y and z directions is obtained in a similar manner. The
nonlinear terms in the momentum equation are discretized using the high order upwind scheme VONOS,
omitted here for brevity. Full details may be found in Ferreira et al. [9]. This scheme is accurate and stable
for simulations where the Reynolds number is high.
Using the tracking particles, the free surface and interfaces are approximated by a piecewise linear
surface and computationally represented by the ‘‘half-edge’’ data structure [14].
The flow properties are evaluated in a three-dimensional uniform grid, in which every cell, at each time
step, is classified according to its position relative to the fluids and the rigid boundaries. Cells with more than
half of their volume in a container are classified as BOUNDARY (B) cells; the same criteria are used for the
INFLOW (I) cells. Any cell completely inside the fluid is classified as a FULL (F) cell, those completely
outside the fluid are EMPTY (E) cells. Those containing marker particles are SURFACE (S) cells if they
have at least one EMPTY neighbor. This criteria is applied to each fluid in the simulation, and the IN-
TERFACE cells are identified as the cells that are SURFACE or FULL for more than one fluid at the same
time. Fig. 2 shows an example of cell flagging in a two-dimensional case, with a classification for each fluid.
The cell classification is updated at each time step using the information provided by the Lagrangian
mesh constituted by the tracking particles. Since time advancement is restricted by a CFL type condition,
the interfaces move at most one cell at each time step. Hence, it is only necessary to update cell classifi-
cations in the neighborhood of the surface cells. The procedure can be described in three steps. First, the
cells that contain particles are identified. If any identified cell is EMPTY then it is marked as SURFACE.
Second, cells marked as SURFACE and that do not contain particles anymore are reflagged either as
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 475
Fig. 2. Multi-fluid cell flagging example: (a) classification for fluids 1 and 2; (b) classification only for fluid 1; (c) classification only for
fluid 2.
EMPTY or FULL according to the neighboring flags. Third, the FULL cells that contain particles and
have any EMPTY neighboring cell are marked as SURFACE. This approach allows us to take surface
merging into account. However, more complex topological changes such as those involving the splitting of
surfaces could be implemented applying a strategy similar to Shin and Juric [21].
In order to apply the free surface boundary conditions (7) in each S cell, approximations for the surface
normals were needed. These have been obtained according to the classification of the neighboring cells [28].
For example:
pffiffi pffiffi nC ¼ ð1; 0; p ffiffi nC p¼ffiffi ð0; 1; 0Þ or npCffiffi ¼ ð0;
0Þ, pffiffi 0; 1Þ if only one neighbor is an E cell;
nC ¼ ð p22ffiffi; 2p
2
;ffiffi0Þ, pnffiffiC ¼ ð 22; 0; 22Þ or nC ¼ ð0; 22; 22Þ if there are two neighboring E cells, and;
nC ¼ ð 33 ; 33 ; 33Þ if there are three neighboring E cells in the x, y and z directions. Note the notation
nC here means the normal at the center of the S cell being considered. In order to implement surface tension
effects it is also necessary to estimate the surface curvature at the center of each surface cell, and to take into
account sub-cell surface tension effects. In the following sections the methodology employed in the im-
plementation of the surface tension effects is described. This methodology results in a better estimate of the
surface normal which is then used in the computation of the capillary pressure.
To implement the interfacial tension effects into the momentum equation, it is necessary to determine the
resulting forces that need to be applied in the discretized domain.
If the mesh is chosen to be sufficiently fine, then the interface can be approximated by the cells containing
the front. This approach results in an interface that is at least one cell thick (in most points on the surface
the interface will be only one cell thick). So, we have to determine the interfacial tension forces in those cells
by a discretized form of
rI j
f¼ rH ;
q We
where H is a Heaviside function that is 1 inside the particular fluid under consideration and 0 outside.
It is convenient to define one Heaviside function Hk for each fluid k in the discretized domain taking into
account the region defined by the interfacial cells. The Heaviside function is constructed at each time step
according to the cell classification, and is given by
476 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
Fig. 3. Interface cell between fluids 1 and 2, with full cells in the opposite faces.
8
< 1 if ðx; y; zÞ is inside a FULL cell or is
Hk ðx; y; zÞ ¼ inside an INTERFACE cell of the fluid k; ð17Þ
:
0 otherwise;
where n is the number of fluids involved. Each fluid supplies a different curvature and Heaviside function.
For each fluid k the force is applied at each face of the interfacial cell, that is in contact with an empty cell.
For example, to calculate the force contribution in a single face ði 12; j; kÞ, as shown in Fig. 3, we have two
Heaviside functions to be discretized, H1 and H2 .
oH1 H1 ðiDx; jDy; kDzÞ H1 ðði 1ÞDx; jDy; kDzÞ
¼ ¼ 0;
ox i1;j;k Dx
2
oH2 H2 ðiDx; jDy; kDzÞ H2 ðði 1ÞDx; jDy; kDzÞ 1
¼ ¼ ;
ox i1;j;k Dx Dx
2
The other cases are obtained following this procedure. The gradient of the Heaviside functions gives the
correct direction of action of the applied forces in any configuration.
4. Curvature calculation
Surface and interfacial tension effects are incorporated using an approach similar to the one described in
[4] for the two-dimensional case. The computation of the surface and interfacial tension is performed at two
levels: first at the sub-grid level, where small undulations in the fronts (free surface and interfaces) are
eliminated, and second at cell level, where the curvature at each surface or interface cell is approximated.
This approximation will be used in the implementation of the pressure boundary condition at the free
surface and in the calculation of the interfacial forces described above.
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 477
The curvature is approximated by the surface that best fits the points (the position of the marker par-
ticles) in that cell and its neighbors. The results presented in [22] suggest the use of an approximation by the
paraboloid
pðx; yÞ ¼ ax2 þ bxy þ cy 2 þ dx þ ey þ f : ð19Þ
In this approximation, we first need to determine the normal vector at the cell center. We can summarize
the method of curvature approximation by the following steps:
(1) Given a surface or interface cell, consider all points that lie inside a sphere Sd with its center at the cell
center with a given radius d.
(2) Fit a plane to these points, and compute its normal vector.
(3) Take a new coordinate system normal to the surface, using the previous computed normal vector.
(4) Consider a new sphere centered at the cell center, Se with a chosen radius e, and then map the points in
this sphere to the new coordinate system.
(5) Fit the surface given by (19) to the mapped points, using the new coordinate system.
(6) Compute the total curvature of the fitted surface using
o2 p o2 p
on2 og2
j¼ þ ; ð20Þ
2 32 2 32
op op
1þ on
1þ og
where p is the fitted surface satisfying (19), and ðn; g; fÞ are the coordinates of the new coordinate system.
Note the f-axis is parallel to the normal vector.
In this method, the quality of the approximations is directly related to the chosen radii d and e. Typically d
is chosen to be of the order of the cell size and e 1.5 times larger. For more detailed discussion of the
influence of these constants see [22], where the optimum choice for these numbers is discussed.
How the normal vector and the curvature approximations are made will be described in detail in the next
sub-sections.
The region Sd associated with each cell S will include a number of points. Let us call that number m; so
m ¼ mðdÞ. Let xi ¼ ðxi ; yi ; zi Þ, i ¼ 1; . . . ; md , be the number of points inside Sd and thus the number of points
in cell S and its surrounding neighbors. The equation of the plane will be either of z ¼ f ðx; yÞ, y ¼ f ðx; zÞ or
x ¼ f ðy; zÞ, according to the maximum absolute value of cell normal vector components. For example, if
jhnC ; ð0; 0; 1Þij > jhnC ; ð1; 0; 0Þij and jhnC ; ð0; 0; 1Þij > jhnC ; ð0; 1; 0Þij, where h; i denotes the inner product,
the equation of the plane is given by z ¼ f ðx; yÞ ¼ ax þ by þ c, and we need to determine the coefficients a, b
and c, such that the plane z ¼ ax þ by þ c approximates the given points. The least squares approximation
can be obtained by solving the normal equations
0 10 1 0 1
ha; ai ha; bi ha; ci a hz; ai
@ hb; ai hb; bi hb; ci A@ b A ¼ @ hz; bi A; ð21Þ
hc; ai hc; bi hc; ci c hz; ci
T T T T
where a ¼ ðx1 ; . . . ; xm Þ , b ¼ ðy1 ; . . . ; ym Þ , c ¼ ð1; . . . ; 1Þ and z ¼ ðz1 ; . . . ; zm Þ , where by m we mean md . In
this case, the normal vector to the plane z ¼ ax þ by þ c is given by
ða; b; 1Þ
nS ¼ : ð22Þ
kða; b; 1Þk
478 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
For the other cases, this process is analogous. This procedure determines nS , but the sign may be incorrect.
The correct sign can be determined by comparing nS with the normal at the cell center nC , previously
obtained (see Section 3). If hnC ; nS i > 0 the sign is correct; otherwise the sign must be reversed.
Now let xi ¼ ðxi ; yi ; zi Þ, i ¼ 0; . . . ; me , be the points lying in Se . With the normal vector nS given by the
plane fitting technique of Section 4.1, we choose another two tangent vectors at the surface such that they,
together with the normal vector, form an orthonormal basis. First, we choose two of the three canonical
vectors e1 ¼ ð1; 0; 0Þ, e2 ¼ ð0; 1; 0Þ and e3 ¼ ð0; 0; 1Þ such that their projections on the direction of the nS
vector are smallest. Second, we apply the Gramm Schmidt method to obtain the orthonormal basis. Thus,
we have a new coordinate system and the points xi can be written using this new coordinate system as
ni ¼ ðni ; gi ; fi Þ. Then, we can fit a paraboloid given by p ^ðn; gÞ ¼ an2 þ bng þ cg2 þ dn þ eg þ f . The pa-
rameters a, b, c, d, e, and f are obtained by solving
0 10 1 0 1
ha; ai ha; bi ha; ci ha; di ha; ei ha; fi a hz; ai
B hb; ai hb; bi hb; ci hb; di hb; ei hb; fi CB b C B hz; bi C
B CB C B C
B hc; ai hc; bi hc; ci hc; di hc; ei hc; fi CB c C B hz; ci C
B CB C ¼ B C ð23Þ
B hd; ai hd; bi hd; ci hd; di hd; ei hd; fi CB d C B hz; di C;
B CB C B C
@ he; ai he; bi he; ci he; di he; ei he; fi A@ e A @ hz; ei A
hf; ai hf; bi hf; ci hf; di hf; ei hf; fi f hz; fi
where a ¼ ðn21 ; . . . ; n2m ÞT , b ¼ ðn1 g1 ; . . . ; nm gm ÞT , c ¼ ðg21 ; . . . ; g2m ÞT , d ¼ ðn1 ; . . . ; nm ÞT , e ¼ ðg1 ; . . . ; gm ÞT ,
f ¼ ð1; . . . ; 1ÞT , and z ¼ ðf1 ; . . . ; fm ÞT , where by m we mean me .
The total curvature is then given by
!
a c
j ¼ 2 3 þ 3 : ð24Þ
ð1 þ d 2 Þ2 ð1 þ e2 Þ2
5. Undulations removal
In many applications, in particular when the Reynolds number is high (larger than 50), small undula-
tions may appear at the free surface and at the interfaces. This is due to variations in the velocity field from
cell to cell and may be amplified in regions where the surface area is shrinking. These undulations are
frequently much smaller than a cell size and usually they are not present in real flows. They are physically
removed by a combination of surface or interfacial tension and viscous effects. A numerical implementation
that acts at cell level, like the method presented above, cannot take into account these sub-cell undulations
and correctly suppress them.
There are several approaches that can be used to suppress these unphysical undulations such as applying
a Gaussian filter. However, in fluid flow simulations it is important that the technique applied does not alter
the mass of the flow (or the volume in the case of an incompressible fluid).
We developed a filter called TSUR-3D (TSUR: Trapezoidal Sub-grid Undulations Removal) which is
based on the TSUR filter presented in [4] for the two-dimensional case. The TSUR-3D is applied to the
unstructured grid, represented by a ‘‘half-edge’’ data structure [14]. Fig. 4 shows a typical vertex v, and its
corresponding star, formed by the set of vertices xi which are connected to it with typical edges ðv; xi Þ and
ðxi ; xiþ1 Þ, and the typical faces ðxi ; v; xiþ1 Þ, i ¼ 0; 1; . . . ; n, where xnþ1 is to be interpreted as x0 .
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 479
Fig. 4. A typical vertex and its star projected onto the plane p.
Since we are interested in local changes in volume, we define a local volume as the volume bounded by
the faces ðxi ; v; xiþ1 Þ and ðxi ; p; xiþ1 Þ, i ¼ 0; 1; . . . ; n, where p is an arbitrary point.
The balance procedure first determines a plane p defined by the normal computed from the average of
the normals of the vertices xi , i ¼ 0; 1; . . . ; n. The vertex v and the vertices xi , i ¼ 0; 1; . . . ; n, are projected
onto that plane and v is centered in that plane, and the correct height of the new vertex in the direction of
the normal of the plane is chosen so that the local volume is preserved (see Fig. 4).
This procedure smooths small undulations and keeps the volume of the fluid unchanged. The steps of the
method are explained in the following sections.
Both vertex balance and undulation removal procedures require a normal direction, which is obtained
using information from the neighboring vertices xi , i ¼ 0; 1; . . . ; n. Let v be a vertex of the interface, and let
SðvÞ be the star of v. Let p be the average of the vertices in SðvÞ, given by
1X n
p¼ xi ; ð25Þ
n i¼0
where x0 ; x1 ; . . . ; xn 2 SðvÞ. Thus, we can compute the normal vector by the average of the normal vectors at
the faces ðxi ; p; xiþ1 Þ (i ¼ 0; 1; . . . ; n), given by
Pn1
ðxi pÞ ðxiþ1 pÞ þ ðxn pÞ ðx0 pÞ
n ¼ Pi¼0 n1
; ð26Þ
k i¼0 ðxi pÞ ðxiþ1 pÞ þ ðxn pÞ ðx0 pÞk
where denotes the vector product. Note this is a weighted average: normals of faces with greater area will
be given greater weight. This equation gives a robust normal direction for this method.
480 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
The vertex balance procedure is applied at each vertex of the fluid in order to move it to a new position
on a line passing through p, given by (25) with the direction n given by (26), such that the local volume is
preserved. Let p be a plane that contains p, with normal vector n. If p is inside the projection of SðvÞ onto p,
we compute the new position of v by
vnew ¼ p þ hn; ð27Þ
where h is determined such that the local volume is preserved. This is guaranteed if
V
V ¼ hV1 or h¼ ; ð28Þ
V1
where V is the volume of the polyhedron ðv; x0 ; x1 ; . . . ; xn ; pÞ and V1 is the volume of the unitary polyhedron
ðp þ n; x0 ; x1 ; . . . ; xn ; pÞ. This is because the volume of the polyhedron ðp þ hn; x0 ; x1 ; . . . ; xn ; pÞ is equal to h
times the volume of the unitary polyhedron ðp þ n; x0 ; x1 ; . . . ; xn ; pÞ.
The volume of a tetrahedron ðx1 ; x2 ; x3 ; x4 Þ is given by
x2 x1 x3 x1 x4 x1
1
V ¼ det y2 y1 y3 y1 y4 y1 : ð29Þ
6 z2 z1 z3 z1 z4 z1
Since the volume of any polyhedron may be considered to be the sum of the volumes of several tetrahedra,
this can be straightforwardly calculated.
As we can see in Fig. 5 this procedure does not remove any undulations, but just moves the vertex to a
new position, that is better centered in its star, improving the quality of the surface mesh, while preserving
local volume. This improves the robustness of the undulation removal procedure presented below.
The vertex balance procedure is designed to produce a more homogeneous unstructured grid that
represents the free surface or interface. However, it cannot remove the sub-grid undulations, and a
smoothing procedure is required for the effective removal of these undulations.
Let e be an edge of the surface, and v1 , v2 its vertices, as shown in Fig. 6. The smoothing procedure
changes the position of v1 and v2 simultaneously, such that the local volume is preserved. Let n1 and n2 be
Fig. 5. A vertex with its star, before and after the vertex balance procedure has been applied.
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 481
the normal vectors computed by (26) at the vertices v1 and v2 , respectively. We consider a normal vector at
the edge e, given by the average of n1 and n2 ,
n1 þ n2
n¼ : ð30Þ
kn1 þ n2 k
Let
m ¼ 12ðv1 þ v2 Þ ð31Þ
be the average of the vertices of the edge e. We determine the heights h1 and h2 in the direction of this
normal vector by
h1 ¼ hv1 m; ni and h2 ¼ hv2 m; ni: ð32Þ
Next, we compute the points p1 and p2 by
p1 ¼ v 1 h1 n and p2 ¼ v2 h2 n: ð33Þ
Thus, we have two polyhedra ðv1 ; x10 ; . . . ; x1n ; p1 Þ with volume V1 and ðv2 ; x20 ; . . . ; x2m ; p2 Þ with volume V2 ,
where x10 ; . . . ; x1n 2 Sðv1 Þ and x20 ; . . . ; x2m 2 Sðv2 Þ (see Fig. 6). We have to determine a new height h in the
direction of n, such that the local volume is preserved.
We can exploit linearity between the volumes of the polyhedra and the heights and write
V1 þ V2 ¼ V1 ðh=h1 Þ þ V2 ðh=h2 Þ ð34Þ
or
V1 þ V2
h¼ : ð35Þ
V1 =h1 þ V2 =h2
The new positions of the vertices v1 and v2 are given by
v1 ¼ p1 þ hn and v2 ¼ p2 þ hn: ð36Þ
This undulation removal procedure is applied periodically to all the edges of the surface mesh with a period that
has to be chosen such that the surface is sufficiently smooth, and the large scale undulations are not strongly
affected. The frequency of applications is dependent on the problem, the grid resolution, and the time step.
A number of tests was performed to validate the code and to assess its robustness and precision. First, we
present some numerical results to validate the surface and interfacial tension computation, and to show the
improvement of the TSUR-3D filter on the free surfaces or interfaces.
482 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
In the following subsections multi-fluid flow calculations are compared with their analytic solutions. In
particular, we shall consider an oscillatory bubble, a bubble rising in a continuous phase and bubble co-
alescence. Finally, the splashing drop problem (with two phases) will be simulated to illustrate the capa-
bility and emphasize the robustness of the code.
In order to validate the method used for the computation of the surface curvature at a local level, we
report curvature computations at different points of the surfaces with constant and variable curvature. The
numerical results were compared with the analytical values of the curvature using three different objects: a
sphere, a cylinder and a torus. In fact, only the inner part of the torus is used, which possesses a critical line
where the main curvatures are opposite.
As seen in Section 4, the calculation of the normal vector and the curvature depend on the size of the
neighborhood chosen for each cell (Sd and Se ). Thus, the numerical tests were performed varying the size of
these neighborhoods to see how much the error depends on this size. The results are shown in Table 1,
where the radius size is a factor that is multiplied by h ¼ ðDx þ Dy þ DzÞ=3, where Dx, Dy and Dz are the
mesh sizes in each direction. The error for the curvature approximation is estimated as
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
P ffi
ðj1 þ j2 jA Þ2
Errorj ¼ P 2
; ð37Þ
ðjj1 j þ jj2 jÞ
where j1 and j2 are the numerical curvature in each axis and jA is the analytical mean curvature. The
summation is taken over the values computed on all the cells that contain marker particles of the objects
representation. All the results were obtained on uniform regular grids and the surface representation of the
objects can be seen in Fig. 7.
Table 1 shows the error and the standart deviation (SD) of curvature calculations on a sphere, cylinder
and torus in 20 20 20 grid with density of two marker particles per cell in each direction, corresponding
to h=R ¼ 0:2, where R is the characteristic radius of the object.
The radius given in Table 1 is directly related to the number of marker particles considered in the least
squares approximation. Thus, the number of marker particles in the local approximation increases with the
radius size, and the results tend to deteriorate as the radius increases substantially.
It can be seen that the method gives good results in simple geometries, such as the sphere and the
cylinder, but the results tend to be worse in more complex geometries. However, the results are quite good
Table 1
Results of curvature calculations on a sphere, cylinder and torus, in 20 20 20 grid with density of two marker particles per cell in
each direction
Radius Se Sphere Cylinder Torus
SD Error SD Error SD Error
0.50 0.484789 3.860100 0.000000 59.678872 3.398686 0.400360
0.75 0.938420 0.707625 0.400466 0.499420 1.621055 0.155269
1.00 0.001898 0.004464 0.001000 0.003884 0.002280 0.011108
1.25 0.001823 0.007550 0.000922 0.005000 0.001199 0.010206
1.50 0.002819 0.011471 0.001453 0.009421 0.001606 0.012529
1.75 0.002632 0.015994 0.000505 0.011392 0.005074 0.018950
2.00 0.003212 0.021014 0.001571 0.016216 0.021629 0.030836
2.25 0.003482 0.026807 0.000524 0.018985 0.037758 0.039985
2.50 0.004296 0.033207 0.002314 0.026291 0.041469 0.043646
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 483
Fig. 7. Surface representation of the objects employed in the validation of the curvature calculation: (a) sphere; (b) cylinder; (c) torus.
for radii varying from 1.0 to 1.5, with errors about 1% in the torus and less than 1% in the other objects.
These results also indicate the best choice for the radius Se .
To validate the computation of the interfacial tension and the capillary pressure, the problem of a
spherical fluid (or bubble) of one phase is immersed into a fluid of another phase. This is then simulated
using different grids. The densities of the fluids are qd ¼ 1 g/cm3 for the bubble and qf ¼ 0:5 g/cm3 for the
continuous phase. The interface tension coefficient is r ¼ 23:61 dyn/cm, and the radius of the bubble is
R ¼ 2 cm. Fig. 8 shows the pressure jump at the interface, at the plane y ¼ 3 cm. In the absence of viscous,
gravitational, or external forces, surface or interfacial tension causes a static liquid bubble to become
spherical. The Young–Laplace [3] equation for the capillary pressure is given by
1 1
Dp ¼ rj ¼ r þ ;
R1 R2
where R1 and R2 are the radii of the two perpendicular maximum circles of the sphere. In this case, the
analytic value of the pressure jump at the interface is Dp ¼ 23:61 dyn/cm3 , deducible directly from the
Young–Laplace equation.
Numerical simulations were performed for five different uniform grids, with 20, 30, 40, 50 and 60 cells in
each direction. Fig. 9 displays the numerical capillary pressure converging to the analytic value given by the
Young–Laplace equation (a), and the error as the grid is refined (b).
These numerical results are accurate with an error in the Euclidean norm smaller than 1.2% for the
coarsest grid, reduced to about 0.2% when the grid is refined. The convergence of the method for interfacial
tension calculation is quadratic, or order 2, as can be seen in Fig. 9(b).
As stated by Tryggvason et al. [29], in addition to the convergence difficulties sometimes encountered at
high density ratios, the pressure solution can cause other difficulties. If the surface tension coefficient is
high, and if the representation of the surface forces on the grid has any significant anisotropy, unphysical
velocities can be generated. These velocities, sometimes called ‘‘parasitic currents’’, are usually small.
In the absence of gravity, a spherical static bubble immersed in a continuous phase should remain ex-
actly stationary, and the velocities should be exactly zero. However, small fluctuations in the surrounding
484 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
fluid near the bubble can introduce recirculation in the flow. These unphysical velocities depend strongly on
many factors such as grid resolution, viscosity, surface tension, etc.
We simulated this problem using a bubble with radius R ¼ 0:25 in an unitary domain, with 25 25 25
and 50 50 50 computational cells in the whole domain. We used the same capillary-viscous length as
Tryggvason, given by Rm ¼ 0:002, where Rm ¼ qm2 =r, obtaining a maximum velocity of Oð103 Þ in the
25 25 25 grid against Oð104 Þ obtained by the two-dimensional version of the TryggvasonÕs code. For
the fine grid (50 50 50) we obtained a maximum velocity of Oð104 Þ against Oð105 Þ from the 2D
TryggvasonÕs code.
These results show that the parasitic currents generated by our code are quite small, and do not degrade
the solutions when the surface tension coefficient is high.
A simulation of a single phase sessile drop was performed to validate the surface tension and curvature
calculations. The steady state numerical solutions were obtained from the asymptotic steady state solutions
of the transient solution, starting from a spherical drop initially at rest on a plane. Highly accurate solutions
were obtained by the numerical integration of the equations for the equilibrium position of an axisymmetric
free surface liquid drop. These are, in non-dimensional form, given by
dh cos h dr dz
¼ Boðp zÞ ; ¼ sin h and ¼ cos h; ð38Þ
ds r ds ds
where h is the angle between the surface outward normal and the r axis, s is the coordinate along the
surface, Bo ¼ qgL2 =r is the Bond number, and p ¼ ^p=qgL is a non-dimensional pressure, where here ^p is the
dimensional reference pressure.
A fourth-order Runge–Kutta method has been used to integrate (38), using an integration step
Ds ¼ 104 . Hence the solutions can be regarded as being very accurate, aside from a region in the vicinity of
the axis r ¼ 0, where the singularity sin h=r may degrade the accuracy. To avoid integrating close to the
singularity, we start the integration from the point of maximum r and integrate up to the meniscus, and
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 485
Fig. 9. Numerical capillary pressure displaying convergence to the analytical capillary pressure (a) and a log scale graph showing the
second-order convergence (b).
then down to the contact point. The loss of accuracy of this ‘‘exact’’ solution is therefore restricted to a very
small region in the vicinity of the axis, and is therefore, for our purposes, of no concern. A quantitative
comparison of the results can be seen in Fig. 10. Fig. 10(a) shows good agreement between the ‘‘exact’’ and
486 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
numerical computations of this paper. The above results were obtained using 28 28 28 computational
cells.
The largest departure from the ‘‘exact’’ solution is observed at the top of the drop in Fig. 10(a), where
the numerical solution shows some short wavelength (sub-grid) undulations. The occurrence of undulations
has been observed to become more pronounced as the Reynolds number is increased, thus requiring the
Fig. 10. Comparison between ‘‘exact’’ and numerical solution: without applying the TSUR-3D filter (a), and with the TSUR-3D filter (b).
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 487
application of a sub-grid filter when simulating flows with higher Reynolds number (above 50). The ap-
plication of a sub-grid filter improves the results of the method, as can be seen in Fig. 10(b).
To verify that the transfer between the surface energy and kinetic energy is correctly accounted for,
which is important when the flow is dominated by surface tension effects, we validated the method on an
ellipsoidal oscillating bubble, for which an analytical solution for the oscillation frequency exists.
This problem consists of simulating an ellipsoidal bubble immersed in a continuous phase without a
gravity field. The bubble has a small initial perturbation with respect to its equilibrium spherical form and,
driven by the interfacial forces, it tends to oscillate. The non-dimensional parameters chosen for the sim-
ulation were r ¼ 10, qd ¼ 100 and ld ¼ 0:35 for the bubble and qf ¼ 1 and lf ¼ 0:001 for the surrounding
fluid. The bubbleÕs initial radius (R) was 1 and the initial amplitude of the perturbation corresponds to 2.5%
of its radius. The calculations were made in a domain of size 4R 4R 4R, discretized by both
20 20 20 and 40 40 40 computational grids. The results obtained were compared with the analytic
solutions [7,8,30], displayed in Fig. 11. The analytic expression for the frequency oscillation of a bubble in
an infinite domain is given by
24r
x2 ¼ :
ð3qd þ 2qf ÞR3
Assuming the viscous effects to be small, the amplitude will decay as
aðtÞ ¼ a0 et=s ;
Fig. 11. Oscillation of the bubble diameter as a function of non-dimensional time. It was found that the period was in error by 2.2% in
the coarse grid and 1.2% in the fine grid.
488 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
if the effect of the surrounding fluid is neglected, where s ¼ R=5m and a0 and m are the initial amplitude and
kinematic viscosity, respectively.
Fig. 11 shows a comparison between the numerical result and the analytical curve, given by
yðtÞ ¼ y0 þ a0 et=s cosðxtÞ;
where y0 and a0 are the initial oscillating axis position and the amplitude.
It can be seen that the numerical results are in good agreement with the analytic expression for the
bubble diameter. Using the extreme points to estimate the period of oscillation, we found the discrepancy
between the numerical and the analytical value for the period is about 2.2% in the coarse grid and about
1.2% in the fine grid.
Rising bubbles are classical examples that may be used to validate multi-fluid flow simulations. Bubbles
with lower density than the surrounding fluid tend to rise, due to the buoyancy effects resulting from the
pressure gradient caused by gravity.
In this paper, two numerical results of rising bubbles with low and moderate Reynolds numbers are
presented. The results, obtained using stationary domains with no-slip boundary conditions, are compared
with results published by Esmaeeli and Tryggvason [7,8] for bubbles rising in periodic domain.
Fig. 12 shows the results obtained on grids with 16 16 32 and 32 32 64 cells. In this figure small
oscillations in the rising velocity can be observed. These were eliminated when the grid was refined. The
rising velocity oscillates due to the pressure gradient in the coarse grid when the bubble moves from cell to
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 489
cell. At the terminal velocity of the bubble, the Reynolds number obtained (see Fig. 12(a)) is quite close to
1.4. This is the same value obtained by Esmaeeli and Tryggvason [7].
Fig. 13 shows the volume variation of the bubble in nondimensional time. For this case, the error found
in mass conservation is about 0.5% in the fine grid. This loss of mass is due to the unstructured mesh
Fig. 12. Rising Reynolds number (a) and the bubble centroid position (b) plotted against nondimensional time on 16 16 32 and
32 32 64 grid cells (low Reynolds number case).
490 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
control procedure, which inserts and deletes marker particles from the surface of the bubble every time step.
In fact, the deletion procedure usually reduces the volume of the bubble, and this effect is more pronounced
in finer grids where the time step is smaller, as displayed in Fig. 13. All simulations were performed on a
Pentium III machine with 1.0 GHz. The CPU times for rising bubble simulations (low Reynolds case, when
the method is at its most inefficient) are as follows: 17 h 20 min for grid size 16 16 32 and 540 h for grid
size 32 32 64.
Fig. 13. Bubble volume against nondimensional time on 16 16 32 and 32 32 64 grid cells. The error in mass conservation is
about 0.5% in the fine grid.
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 491
Fig. 14. Rising Reynolds number (a) and the bubble centroid position (b) plotted against nondimensional time on 16 16 32 and
32 32 64 grid cells (moderate Reynolds number case).
previous simulations, we considered D ¼ 2:6 mm diameter bubble, with lf ¼ 0:0125 N s/m2 , qf ¼ 880 kg/m3
pffiffiffiffiffiffiby rI ¼ 0:03 N/m. The lengths were
for the continuous phase (fluid) and interfacial tension coefficient given
nondimensionalized by the diameter D and the velocities by U ¼ gD.
492 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
Fig. 15. Rising Reynolds number (a) and the bubble centroid position (b) plotted against nondimensional time on 16 16 32 grid
cells for the high density ratio case.
In Fig. 15 the same kind of oscillations can be seen with increasing Reynolds number, due to the coarse
grid used in this simulation (16 16 32 computational cells). This figure displays similar behavior to the
previous simulations, as expected.
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 493
This example shows the simulation of the three-fluid flow of two bubbles with different densities, vis-
cosities and diameters, rising in a third phase with a greater density.
As in the previous example, the bubbles rise due to buoyancy forces. The nondimensional parameters
are: Re ¼ 55:75, Fr ¼ 1, We ¼ 4:6. For the continuous phase, qf ¼ 880 kg/m3 and lf ¼ 0:0125 N s/m2 . For
the larger bubble, D1 ¼ 4 mm, q1 ¼ 88 kg/m3 and l1 ¼ 0:00125 N s/m2 , with Eo1 ¼ 4:6. Finally, for the
smaller bubble, D2 ¼ 2 mm, q2 ¼ 176 kg/m3 and l2 ¼ 0:0025 N s/m2 , with Eo2 ¼ 1:15. The surface tension
pffiffiffiffiffiffiffiffi is rI ¼ 0:03 N/m. The lengths and velocities were nondimensionalized using
coefficient for all interfaces
D1 ¼ 4 mm and U ¼ gD1 , respectively. The grid used in this example was 32 32 64 cells.
Figs. 16 and 18 show the time evolution of the flow. It can be seen that the larger bubble undergoes a
larger deformation than the smaller bubble, due to its larger E€ otv€
os number. Fig. 17 shows a small de-
flection in the trajectory of the smaller bubble due to the interaction with the larger bubble as it passes by;
the deflection is more readily seen in Fig. 18.
Another classical example of multi-fluid flows is the coalescence of two bubbles in a continuous phase.
The two bubbles are positioned in-line at a distance of 0.4 mm apart. The diameter
pffiffiffiffiffiffi of both bubbles is
D ¼ 2:6 mm, the velocities of each bubble are nondimensionalized using U ¼ gD ¼ 0:15 m/s, the inter-
facial tension coefficient is rI ¼ 5:8 104 N/m, and the nondimensional constants Re ¼ 30 and Eo ¼ 100
are the Reynolds and E€otv€os numbers, respectively. For the continuous phase, qf ¼ 880 kg/m3 , lf ¼ 0:0125
N s/m , and for the bubbles, qd ¼ 440 kg/m3 , ld ¼ 0:00625 N s/m2 . Fig. 19 shows the transient solution of
2
the interface, with the coalescence of both bubbles, starting from the bubbles aligned vertically. This
simulation takes about 76 h and 30 min in a Pentium III machine with 1.0 GHz.
The same flow parameters were used to simulate the rise of two bubbles that are initially not aligned.
Fig. 20 shows the three-dimensional rendering of the transient solution, in which the bottom bubble chases
the top bubble until coalescence occurs. This is due to the lower pressure close to the bottom of the top
bubble. These results are in good agreement when compared with the numerical results obtained by Chen
and Li [6] and the experimental results obtained by Narayanan et al. [16]. To be more specific, the above
experimental and the numerical results show that, due to the effect of the velocity field around the leading
bubble, the following bubble is stretched and a spherical-cup-shaped leading bubble is observed. In other
words, the leading bubble induces a deformation in the following bubble, giving it a pear-like behavior.
Fig. 19 clearly shows this same behavior.
In the case of nonaxisymmetric three-dimensional merging, the results can be compared to results
published by Shin and Juric [21], where they report that ‘‘the bubbles deform considerably as they rise. The
Fig. 16. Two bubbles rising in a continuous phase, at different times. The nondimensional parameters are Re ¼ 55:75, Fr ¼ 1 and
We ¼ 4:6: (a) 0.01 s; (b) 0.03 s; (c) 0.05 s; (d) 0.07 s; (e) 0.09 s.
494 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
Fig. 17. Rising of two different bubbles: (a) coordinate x and (b) coordinate z of the bubbles centroid position plotted against non-
dimensional time.
bottom of the top bubble folds upward and deforms the lower bubble into a pear shape, pointing towards
the top bubble. The top bubble continues to deform into a hemispherical shell. The lower bubble deforms
into a more cylindrical shell and ultimately gets sucked upward merging with the top bubble while for a
short time trailing a thin tail’’. Fig. 20 clearly shows this same type of behavior.
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 495
Fig. 18. Rising of two different bubbles: bubbles centroid three-dimensional trajectory.
Fig. 19. Transient solution of bubble coalescence in a continuous phase, with in-line bubbles. The nondimensional parameters are
Re ¼ 30, Fr ¼ 1 and Eo ¼ 100: (a) 0.0 s; (b) 0.03 s; (c) 0.06 s; (d) 0.09 s; (e) 0.12 s; (f) 0.15 s.
Fig. 20. Transient solution of bubble coalescence in a continuous phase, when the bubbles are not aligned. The nondimensional
parameters are Re ¼ 30, Fr ¼ 1 and Eo ¼ 100: (a) 0.0 s; (b) 0.03 s; (c) 0.06 s; (d) 0.09 s; (e) 0.12 s; (f) 0.15 s.
496 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
Fig. 21. Transient solution of the splashing drop falling into a free surface of a heavier and more viscous fluid. The nondimensional
parameters are Re ¼ 30, Fr ¼ 1 and We ¼ 50: (a) t ¼ 0 s; (b) t ¼ 0:03 s; (c) t ¼ 0:04 s; (d) t ¼ 0:05 s; (e) t ¼ 0:06 s; (f) t ¼ 0:07 s; (g)
t ¼ 0:09 s; (h) t ¼ 0:12 s; (i) t ¼ 0:25 s.
Splashing drops are good examples to illustrate the robustness of the free surface flow codes. In this
particular case, a two-fluid splashing drop was simulated, whereby a drop falls into a container of a qui-
escent fluid of a different phase resulting in a splash.
The drop phase was taken to be less viscous and lighter than the continuous phase. The nondimensional
parameters were given by: Re ¼ 30, Fr ¼ 1 and We ¼ 50. For the drop phase, we set qg ¼ 440 kg/m3 and
lg ¼ 0:00625 N s/m2 ; for the continuous phase, we used qf ¼ 880 kg/m3 and lf ¼ 0:0125 N s/m2 . The in-
terfacial tension coefficient was rI ¼ 0:001167 N/m, and the free surfaces are driven by surface tension pffiffiffiffiffiffi
forces, with the same coefficient. Again, we used the drop diameter D and the reference velocity U ¼ gD
to nondimensionalize the lengths and velocities.
Fig. 21 shows the transient solution of the flow in a 40 40 40 grid. In this figure we are able to
observe the surface tension effects acting over the free surfaces. Fig. 22 shows the rendering of the solution
using pseudo-color to indicate velocity components and pressure over the free surfaces. Fig. 22 displays the
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 497
Fig. 22. Three-dimensional color scale rendering of the solution at time t ¼ 0:06 s: (a) x-direction velocity; (b) y-direction velocity; (c)
pressure.
x-direction velocity, the y-direction velocity and the pressure at time t ¼ 0:06 s. We can see that the velocity
field remains symmetric after the drop impact.
This simulation is an important indicator of the robustness of the code, where we can see the interaction
between the free surfaces and the interface. The code has the capability to decide when fronts should be
treated as free surfaces or as interfaces, using the information stored in its internal cellular representation.
7. Conclusions
In this work, a method for simulating incompressible multi-fluid flows with surface tension was de-
scribed. This method was based on the GENSMAC-3D front-tracking method [28], using finite-difference
schemes to discretize the governing equations, as in [18]. Surface and interfacial tensions were considered,
and the required curvature on the interface was computed by a new technique of geometrical surface ap-
proximation [4,13,22,24].
A number of numerical simulations was used to validate the method presented in this paper. The
simulation of static bubbles showed good agreement with the analytic solution, with errors less than 1.2%
indicating that the curvature calculation procedure is accurate. A numerical convergence test was per-
formed indicating quadratic convergence of the curvature calculation.
A sessile drop simulation was also carried out to verify the accuracy of the surface tension approxi-
mation method. The results were compared with the analytic solution for the steady state axisymmetric case
showing good agreement. Two types of simulations were performed. The first one shows small undulations
over the free surface that are unphysical and due to the discretization of the domain. Since the surface
tension method acts on the scale of a cell it cannot eliminate these undulations in scales smaller than a cell.
Thus a geometric filter was developed. The filter, called TSUR-3D [23,24], smooths the free surface and
interfaces, while conserving the mass of the fluid. The second type of simulation was made with the TSUR-
3D filter and shows that the filter has eliminated the undulations and so improved the accuracy of the
solution.
In order to show the correct transfer between the surface energy and kinetic energy, a transient two-fluid
oscillating bubble was simulated. The result was compared with the analytical expression for the frequency
and the amplitude decay. This also showed reasonable agreement.
Rising bubbles immersed in a continuous phase are classical examples to corroborate any multi-fluids
code. Bubbles rising with low and moderate Reynolds numbers were simulated and compared well with
results in the literature [7,8]. The results showed small oscillations in the rising Reynolds number of the
bubbles, occurring in coarse grids, and vanishing when the grid was subsequently refined. This effect is due
to the fact that the bubble diameter is very small for the grid used, causing larger errors in the interfacial
498 F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499
tension distribution and was essentially eliminated when the grid was refined. A three-fluid rising bubble
simulation was also designed to show the interaction between the fluids and the influence of the bouyancy
forces on the flow. Bubble coalescences were simulated, with bubbles initially in-line and not in-line and the
results were compared with numerical [6,22] and experimental [16] results of similar problems.
Finally, a two-fluid splashing drop was simulated to illustrate the robustness and applicability of the
code to compute the interactions between free surfaces and interfaces. All these results together demon-
strate that the new method can be used to simulate a number of problems and to investigate many physical
phenomena involving incompressible multi-fluid flows that contain free surfaces.
Acknowledgements
We thank the financial support given by the Brazilian agencies FAPESP (Fundacß~ao de Amparo a
Pesquisa do Estado de S~ao Paulo), grant 01/12623-5 and 00/03385-0, and CNPq (Conselho Nacional de
Desenvolvimento Cientıfico e Tecnologico), grant 460473/01-8.
References
[1] A.A. Amsden, F.H. Harlow, The SMAC method: a numerical technique for calculating incompressible fluid flows, Los Alamos
Scientific Laboratory, Report LA-4370, 1970.
[2] V. Armenio, An improved MAC method (SIMAC) for unsteady high-Reynolds free surface flows, International Journal for
Numerical Methods in Fluids 24 (1997) 185–214.
[3] J.U. Brackbill, D.B. Kothe, C. Zemach, A continuum method for modeling surface tension, Journal of Computational Physics 100
(1992) 335–354.
[4] A. Castelo, N. Mangiavacchi, J.A. Cuminato, A.O. Fortuna, J. Oliveira, M.F. Tome, S. McKee, Surface tension implementation
for GENSMAC2D code, in: Proceedings of the 15th Brazilian Congress of Mechanical Engineering (COBEM), Aguas de Lind
oia
– SP, 1999 (CD-ROM).
[5] A. Castelo, M.F. Tome, C.N.L. Cesar, S. McKee, J.A. Cuminato, Freeflow: an integrated simulation system for three-dimensional
free surface flows, Computing Visualization in Science 2 (2000) 199–210.
[6] L. Chen, Y. Li, A numerical method for two-phase flow with an interface, Environmental Modeling and Software 13 (1998) 247–255.
[7] A. Esmaeeli, G. Tryggvason, Direct numerical simulations of bubbly flows. Part 1. Low Reynolds number arrays, Journal of Fluid
Mechanics 377 (1998) 313–345.
[8] A. Esmaeeli, G. Tryggvason, Direct numerical simulations of bubbly flows. Part 2. Moderate Reynolds number arrays, Journal of
Fluid Mechanics 385 (1999) 325–358.
[9] V.G. Ferreira, M.F. Tome, N. Mangiavacchi, A. Castelo, J.A. Cuminato, A.O. Fortuna, S. McKee, High order upwinding and
the hydraulic jump, International Journal for Numerical Methods in Fluids 39 (2002) 549–583.
[10] J. Glimm, J. Grove, B. Lindquist, O. McBryan, G. Tryggvason, The bifurcation of tracked scalar waves, SIAM Journal on
Scientific and Statistical Computing 9 (1988) 61–79.
[11] F.H. Harlow, J.E. Welch, Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface, Physics
of Fluids 8 (1) (1965) 2182–2189.
[12] C.W. Hirt, B.D. Nichols, Volume of fluid (VOF) method for the dynamics of free boundaries, Journal of Computational Physics
39 (1981) 201–235.
[13] N. Mangiavacchi, A. Castelo, J.A. Cuminato, A.O. Fortuna, M.F. Tome, L.G. Nonato, S. McKee, Numerical simulation of
surface tension dominated axisymmetric free surface flows, in: Proceedings of ENCITÕ2000, Porto Alegre – RS, 2000 (CD-ROM).
[14] M. M€ antyla, An Introduction to Solid Modeling, Computer Science Press, Rockville, MD, 1988.
[15] H. Miyata, Finite difference simulation of breaking waves, Journal of Computational Physics 65 (1986) 179–214.
[16] S. Narayanan, H.J. Groossens, N.W.F. Kossen, Coalescence of two bubbles rising in line at low Reynolds number, Chemical
Engineering Science 29 (1974) 2071–2082.
[17] S. Osher, J.A. Sethian, Fronts propagating with curvature-dependent speed: algorithms based on Hamilton–Jacobi formulations,
Journal of Computational Physics 79 (1988) 12–49.
[18] F.L.P. Santos, N. Mangiavacchi, A. Castelo, M.F. Tome, V.G. Ferreira, J.A. Cuminato, Numerical simulation of multi-phase
flows using the freeflow-2D system, in: Proceedings of 16th Brazilian Congress of Mechanical Engineering (COBEM), Uberl^andia
– MG, 2001 (CD-ROM).
F.S. de Sousa et al. / Journal of Computational Physics 198 (2004) 469–499 499
[19] J.A. Sethian, Level Set Methods, Cambridge University Press, Cambridge, 1996.
[20] J.A. Sethian, Level Set Methods and Fast Marching Methods, Cambridge University Press, Cambridge, 1999.
[21] S. Shin, D. Juric, Modeling three-dimensional multiphase flow using a level contour reconstruction method for front-tracking
without connectivity, Journal of Computational Physics 180 (2002) 427–470.
[22] F.S. Sousa, N. Mangiavacchi, A. Castelo, L.G. Nonato, M.F. Tome, J.A. Cuminato, Simulation of 3D free-surface flows with
surface tension, in: Proceedings of 16th Brazilian Congress of Mechanical Engineering (COBEM), Uberl^andia – MG, 2001 (CD-
ROM).
[23] F.S. Sousa, N. Mangiavacchi, A. Castelo, L.G. Nonato, M.F. Tome, J.A. Cuminato, A mass conserving filter for the simulation of
3D free surface flows with surface tension, in: Proceedings of 22nd Iberian Latin–American Congress on Computational Methods
in Engineering (CILAMCE), Campinas – SP, 2001 (CD-ROM).
[24] F.S. Sousa, N. Mangiavacchi, A. Castelo, L.G. Nonato, M.F. Tome, J.A. Cuminato, Numerical simulations of 3D free-surface
flows with surface tension, in: Proceedings 5th International Meeting on High Performance Computing for Computational Science
(VECPAR), vol. 1, 2002, pp. 225–238.
[25] M. Sussman, P. Smereka, S. Osher, A level set approach for computing solutions do incompressible two-phase flow, Journal of
Computational Physics 114 (1994) 146–159.
[26] M.F. Tome, S. McKee, GENSMAC: a comp. marker-and-cell method for free surface flows in general domains, Journal of
Computational Physics 110 (1) (1994) 171–189.
[27] M.F. Tome, A. Castelo, J. Murakami, J.A. Cuminato, R. Minghim, M.C.F. Oliveira, N. Mangiavacchi, S. McKee, Numerical
simulation of axisymmetric free surface flows, Journal of Computational Physics 157 (2000) 441–472.
[28] M.F. Tome, A. Castelo, J.A. Cuminato, N. Mangiavacchi, S. McKee, GENSMAC3D: a numerical method for solving unsteady
three-dimensional free surface flows, International Journal for Numerical Methods in Fluids 37 (7) (2001) 747–796.
[29] G. Tryggvason, B. Bunner, O. Ebrat, W. Tauber, Computations of multiphase flows by a finite difference/front tracking method. I
Multi-fluid flows, in: 29th Computational Fluid Dynamics, Lecture Series 1998-03, Von Karman Institute for Fluid Dynamics,
1998.
[30] S.O. Unverdi, G. Tryggvason, A front-tracking method for viscous incompressible multi-fluid flows, Journal of Computational
Physics 100 (1991) 25–27.
[31] A.E.P. Veldman, M.E. Vogels, Axisymmetric liquid splashing under low gravity conditions, Acta Astronautica 11 (1984) 641–649.
[32] J.A. Viecelli, A computing method for incompressible flows bounded by moving walls, Journal of Computational Physics 65
(1971) 179–214.
[33] J.R. Welch, F.H. Harlow, J.P. Shannon, B.J. Daly, The MAC Method, Los Alamos Scientific Laboratory, Report LA-3425, 1965.