# numlesson2 ```marica.pelanti@ensta-paristech.fr
Introduction to CFD
MF206 ENSTA ParisTech
2017-2018
Application Lesson 2
Lid-driven cavity flow problem via
Vorticity-Stream function formulation
Objective: To practice on the different steps of a flow problem computation (definition of flow model,
boundary conditions, grid, discretization method, implementation, analysis of results) by using a simple
Finite Difference scheme for the solution of a classical benchmark test for the incompressible Navier–Stokes
equations.
UL
Lid
H
y
x
L
Figure 1: Lid-driven cavity test configuration.
1
Problem description
The lid-driven cavity test problem is a common test case used for the assessment of numerical methods for
the solution of the incompressible Navier–Stokes equations, see in particular [1, 2]. An analytical solution
for this flow problem is not available, nonetheless there is abundance of numerical results for comparison in
the literature, obtained by a variety of methods. We consider a viscous laminar flow in a two-dimensional
cavity of height H and width L. A square cavity is assumed, H = L. The left, bottom, and right walls of the
cavity are fixed (velocity ~vwall = 0), while the top wall (the lid) moves with constant velocity ~vL = (UL , 0),
see configuration in Figure 1. Initially the flow is at rest (~v (~x, 0) = 0), and it is set in motion impulsively by
the moving lid. The flow density ρ is assumed constant and gravity effects are neglected. Flow properties are
also assumed constant: &micro; = const. (dynamic viscosity), κ =const. (thermal diffusivity), cp = const. (heat
coefficient). The flow can be then modeled by the 2D incompressible Navier–Stokes equations:
~ &middot; ~v = 0 ,
∇
(1a)
~
∂~v
~ v = − ∇p + ν∇2~v ,
+ ~v &middot; ∇~
∂t
ρ
(1b)
with appropriate initial and boundary conditions in the domain Ω = [0, L] &times; [0, L]. The unknowns of the
system are the velocity ~v (~x, t), ~v = (vx , vy ), ~x = (x, y), and the pressure p(~x, t). Let us define the Reynolds
1
number
UL L
,
(2)
ν
where ν = &micro;/ρ is the kinematic viscosity. When the Reynolds number (2) is sufficiently small (Re &lt; 7500)
the flow reaches a steady laminar configuration after a certain time and we will consider such a situation. The
flow field is characterized by a primary vortex and additional weaker counter-rotating secondary vortexes
in correspondence of the cavity corners, depending on the Reynolds number. See an example of numerical
solution taken from  for the flow field for Re = 100 in Figure 2.
Re =
Figure 2: Numerical results taken from  for the lid-driven cavity test for Re = 100 (uniform grid 129&times;129).
Left: stream function contours (streamlines); Right: vorticity contours.
2
1. Flow model formulation
(a) Non-dimensionalization of the governing equations. We define the non-dimensional variables
~x̃ = ~x ,
L
t̃ =
t
,
L/UL
~ṽ = ~v ,
UL
p̃ =
p
.
ρUL2
(3)
Verify that the incompressible Navier–Stokes equations (1) have the non-dimensional form:
~ &middot; ~v = 0 ,
∇
∂~v
~ v = −∇p
~ + 1 ∇2~v ,
+ ~v &middot; ∇~
∂t
Re
(4a)
(4b)
where we have omitted the tilde symbol ˜ for the non-dimensional variables to simplify the notation.
Write also the appropriate initial and boundary conditions in non-dimensional form.
(b) Vorticity-Stream function formulation. Let’s now rewrite the governing (non-dimensional) flow equations in terms of velocity and pressure (4) in a (non-dimensional) formulation in terms of the vorticity
~ &times; ~v and the stream function ψ, defined by
ω
~ =∇
vx =
∂ψ
∂y
and vy = −
∂ψ
.
∂x
(5)
~ &middot; ~v = 0 (4a) is identically satisfied. Also recall
Note that with this definition the continuity equation ∇
~
~
that in two dimensions ω
~ = ω k, where k is the unit vector normal to the (x, y) plane and the scalar
value of the vorticity is
∂vx
∂vy
−
.
(6)
ω=
∂x
∂y
2
Show that from (4) we obtain the following equations for the vorticity and the stream function:
2
∂ω
∂ψ ∂ω
∂ψ ∂ω
1
∂ ω ∂2ω
+
,
(7a)
+
+ −
=
∂t
∂y ∂x
∂x ∂y
Re ∂x2
∂y 2
∂2ψ ∂2ψ
+
= −ω .
(7b)
∂x2
∂y 2
Write initial and boundary conditions for (7). The boundary conditions should be conditions of Dirichlet and Neumann type for the the stream function ψ.
(c) Note that the system (7) is composed of a convection-diffusion equation for the vorticity, eq. (7a),
and a Poisson equation for the stream function, eq. (7b). What is the mathematical nature of these
equations?
2. Numerical scheme and simulations
(a) Now write and implement in Matlab a Finite Difference Scheme to solve the flow equations (7) for
the vorticity and stream function over the domain [0, 1] &times; [0, 1] (square of unit length). Employ a
uniform grid in the x and y directions. Discretize the equation for the vorticity (7a) by the explicit
Forward-Time Centered-Space (FTCS) scheme (first-order accurate in time and second-order accurate
in space). Use second-order finite centered differences with a 5-point stencil for the Laplacian operator
of the stream function equation (7b).
Specifically, use the following algorithm to update the solution from a time level t to the next t + ∆t:
. initial vorticity given
. solve discrete Poisson equation for the stream function (by using S.O.R. method for linear systems)
. find vorticity on the boundary
. update the vorticity in interior points by applying the FTCS scheme to the vorticity equation
. t = t + ∆t (time increment)
For the implementation in Matlab, you can start from the given template numless2 cav templ.m. To
find the vorticity at the grid points on the boundary once you have solved for the stream function ψ,
first write expressions of the vorticity at the wall ωwall in terms of derivatives of ψ by using (7b) and
the boundary conditions for ψ. Then, write a finite difference form of these expressions to obtain the
vorticity at the grid points on the boundary in terms of discrete values of ψ (on the boundary and at
interior points next to the boundary).
(b) Solve the problem for Re = 10 with N = 30 grid points in the x and y directions until a final time
tf = 3 by using a fixed time step ∆t = 0.001. Note that the flow will be stationary for approximately
t &gt; 2. Plot contour lines of the vorticity ω and of the stream function ψ at tf . Compute the velocity
field from the stream function and plot velocity contour lines and the velocity vector field.
(c) Compute now the solution for Re = 100 with N = 50 grid points until a final time tf = 11 by using
a fixed time step ∆t = 0.001. The flow will be stationary for approximately t &gt; 10 for the chosen
value of the Reynolds number. Note that as the Reynolds number is increased the shear layers become
thinner, this requiring more grid points to resolve them. Plot the vorticity ω, the stream function ψ
and the velocity vector field at t = tf . Optional: you can also observe the solution at chosen times
during the transient period towards the stationary configuration.
(d) For a two-dimensional linear convection-diffusion equation for a quantity φ of the form
2
∂φ
∂φ
∂φ
∂ φ ∂2φ
+ ax
+ ay
=ν
+
∂t
∂x
∂y
∂x2
∂y 2
3
(8)
we have the following necessary and sufficient stability conditions for the FTCS algorithm:
2ν
h2
∆t ≤ min
,
,
a2x + a2y 4ν
(9)
where h denotes the mesh width (assuming a uniform grid). Note that the stability condition for the 2D
FTCS scheme is more restrictive than the one for the 1D case (this more severe restriction is a general
feature of schemes when passing from 1D to 2D to 3D). The equation for the vorticity that we solve via
the FTCS method is non-linear, hence the stability conditions above do not hold strictly. Nevertheless
they can be used to estimate the time step ∆t necessary for stability. By using (9), provide an estimate
for the maximum ∆t allowed for stability for the two considered tests (Re = 10 and Re = 100). Based
on (9), what is the expected effect of very high Reynolds numbers on the time step needed for stability?
What is instead the effect of a finer grid, keeping the same Reynolds number?
(e) We make now some qualitative comparison with results in the literature, namely those in Ghia et
al. . Compare your results for the x-component vx of the velocity ~v = (vx , vy ) along the vertical line
at the middle of the cavity to those taken from , which you will find in the given Matlab file.
3. Temperature field computation (if lesson time is enough)
For an incompressible flow with constant fluid properties the governing equation for the temperature T (~x, t)
is decoupled from the mass and momentum equations, and the temperature distribution can be computed
after the solution of the problem for (p, ~v ) or for (~
ω , ψ). By observing also that for an incompressible fluid
cv = cp (heat coefficients at constant volume and constant pressure are equal), and neglecting here internal
heat generation due to viscous dissipation (cf. ), the temperature equation can be written as
2
∂ T
∂2T
∂T
∂T
∂T
+ vx
+ vy
=α
+
,
(10)
∂t
∂x
∂y
∂x2
∂y 2
where α = ρcκp is the thermal diffusivity (and κ denotes the thermal conductivity coefficient).
By using the non-dimensional variables in (3) and the non-dimensional temperature
T − T0
,
(11)
Tr − T0
where T0 and Tr are two reference temperatures, we obtain the following non-dimensional equation for the
temperature (omitting again the tilde symbol ˜ for non-dimensional variables):
2
∂T
1
∂ T
∂2T
∂T
∂T
+ vx
+ vy
=
+
,
(12)
∂t
∂x
∂y
Re &middot; P r ∂x2
∂y 2
T̃ =
where we have introduced the Prandtl number
ν
&micro;cp
= .
(13)
κ
α
Add in your Matlab code a method to compute the temperature distribution for the test with Re = 100
(Task 2 (c)) by using again the FTCS method. Note that this is easily done at each time step once you
have computed the stream function. Assume that at the fixed walls of the cavity T = 0, while T = 1 along
the moving lid. Initially in the interior of the cavity T = 0. Compute the solution for T for P r = 0.1 and
P r = 5. Comment on the difference of results for different Prandtl number. (Note: P r ≈ 0.7 − 0.8 for air
and other gases, P r ≈ 7 for water at 20o C.)
Pr =
References
 O. R. Burggraf. Analytical and numerical studies of the structure of steady separated flows. J. Fluid
Mech., 24:113–151, 1966.
 U. Ghia, K. N. Ghia, and C. T. Shin. High-Re solutions for incompressible flow using the Navier–Stokes
equations and a multigrid method. J. Comput. Phys., 48:387–411, 1982.
4
```