Stokes Equation

Chapter 4
Stokes Equation
4.1
Mathematical Formulations
We introduce some notations: For u = (u1 , u2 )T , let
!
∂u1
∂u1
∆u1
∂x
∂x
grad u = ∇u = ∂u21 ∂u22 , ∆u =
.
∆u2
∂x1
∂x2
(4.1)
For two matrices A, B we sometimes write
X
aij bij .
A:B=
i,j
Also define deviatoric stress tensor
∂uj
1 ∂ui
1
+
).
ǫ(u) = (∇u + ∇uT ), and ǫij (u) = (
2
2 ∂xj
∂xi
Let Ω be a domain in Rn (n = 2, 3) with its boundary Γ := ∂Ω. The NavierStokes equations for a viscous fluid is are as follows:
n
X ∂ǫij (u)
∂ui X ∂ui
∂p
+
uj
− 2ν
+
∂t
∂xj
∂xj
∂xi
j=1
= fi (1 ≤ i ≤ n) in Ω, (4.2)
j
div u = 0 (incompressible), (4.3)
u = g on Γ.
(4.4)
Here u is the velocity of the fluid, ν > 0 is the viscosity and p is the pressure;
(Here we assume p and ν are normalized so we may assume ρ = 1) and the
vector f represents body forces per unit mass. If we introduce the stress tensor
σij := −pδij + 2νǫij (u) we have a simpler form :
∂u
∂t
+ (u · ∇)u − div σ = f in Ω,
div u = 0 in Ω,
u = g on Γ.
97
(4.5)
98
CHAPTER 4. STOKES EQUATION
Here the first term is interpreted as
X ∂vi
X ∂v
(u · ∇)v = ei
uj
=
uj
.
∂xj
∂xj
j
j
Note that if div u = 0, the following identity holds
!
X ∂ǫij (u)
1 X ∂ 2 ui
∂ 2 uj
1
=
+
= ∆ui ,
2
∂xj
2
∂xi ∂xj
2
∂xj
j
for each i
(4.6)
j
so that the equation can be written as

∂u

 ∂t + (u · ∇)u − ν∆u + grad p = f in Ω,
div u = 0 in Ω,


u = g on Γ.
(4.7)
Remark 4.1.1. If we define uv = u ⊗ v = (ui vj )i,j , then when div u = 0, we
see that the nonlinear term (u · ∇)u can be written as ∇ · (u ⊗ u).
We only consider the steady-state case and assume that u is so small that
∂ui
. Thus, we have the Stokes
we can ignore the non-linear convection term uj ∂x
j
equation:

 −ν∆u + grad p = f in Ω,
div u = 0 in Ω,
(4.8)

u = g on Γ.
4.1.1
A weak formulation
Let
V = {v ∈ H01 (Ω)n , div v = 0}
R
and L20 (Ω) be the space of all L2 (Ω) functions q such that Ω q dx = 0.
Multiply (4.8) by v ∈ H01 (Ω)n and integrate by parts, we obtain
(ν∇u, ∇v) − (p, div v) = (f , v).
Define
a(u, v) := ν
Z
n X
∂ui ∂vi
,
=ν
grad u : grad v dx
∂xj ∂xj
Ω
(4.9)
i,j=1
b(v, q) := −(q, div v).
(4.10)
Then we have the equivalent weak (abstract) form of (4.8) : Find u ∈
H 1 (Ω)n s.t.

 a(u, v) + b(v, p) = hf , vi for all v ∈ H01 (Ω)n ,
b(u, q) = 0 for all q ∈ L20 (Ω),
(4.11)

u = g on Γ.
99
4.1. MATHEMATICAL FORMULATIONS
We can find a function ug ∈ H 1 (Ω)n such that
div ug = 0 on Ω, ug = g on Γ
so that u can be decomposed as u = w + ug , w ∈ H01 (Ω)n . With
hℓ, vi := hf , vi − a(ug , v)
The problem (4.11) has another equivalent form : There exists a unique pair
of functions (w, p) ∈ H01 (Ω)n × L20 (Ω) such that
a(w, v) + b(v, p) = hℓ, vi for all v ∈ H01 (Ω)n
(4.12)
b(w, q) = 0 for all q ∈ L20 (Ω).
Furthermore, we have the following :
kuk1 + kpk0 ≤ C(kf k−1 + kgk1/2,Γ ).
4.1.2
(4.13)
A General result
Now let us put problem (4.12) into general framework of chap 4: We set
X = H01 (Ω)n ,
M = L20 (Ω).
Let X and M be two Hilbert spaces with norms k · kX and k · kM and let X ′
and M ′ be their dual spaces. As usual, we denote h·, ·i be the duality pairing
between X and X ′ or M and M ′ .
Introduce bilinear forms
a(·, ·) : X × X → R,
b(·, ·) : X × M → R
with norms
kak = sup
u,v
a(u, v)
,
kukX kvkX
kbk =
sup
v∈X,µ∈M
b(v, µ)
.
kvkX kµkM
We consider the following two variational problem called problem
(Q): Given ℓ ∈ X ′ and χ ∈ M ′ , find a pair (u, λ) ∈ X × M such that
a(u, v) + b(v, λ) = hℓ, vi for all v ∈ X
b(u, µ) = hχ, µi for all µ ∈ M.
(4.14)
(4.15)
In order to study (Q), we associate two linear operators A ∈ L(X; X ′ ) and
B ∈ L(X; M ′ ) defined by
hAu, vi = a(u, v) for all u, v ∈ X
(4.16)
hBv, µi = b(v, µ) for all v ∈ X, µ ∈ M.
(4.17)
100
CHAPTER 4. STOKES EQUATION
Let B ′ ∈ L(M ; X ′ ) be dual operators defined by
′
B µ, v = hµ, Bvi = b(v, µ), v ∈ X, µ ∈ M.
(4.18)
With these, the problem can be written as:
Find (u, λ) ∈ X × M such that
Au + B ′ λ = ℓ in X ′
(4.19)
′
Bu = χ in M .
(4.20)
We set V = Ker(B) and more generally define
V (χ) = {v ∈ X; Bv = χ}.
Note that V = V (0).
Finite dimensional problem
p 123. Girault - Raviart, ‘Finite element approximation of the Navier-Stokes
equations’.
Now change every space to finite dimensional one. Let
Xh ⊂ X,
Mh ⊂ M
be finite dimensional subspace with certain approximation properties.
As in the continuous case, we associate two linear operators Ah ∈ L(X; Xh′ ),
Bh ∈ L(X; Mh′ ) and Bh′ ∈ L(M ; Xh′ ) defined by
hAh u, vh i = a(u, vh ) for all vh ∈ Xh , u ∈ X,
(4.21)
hBh v, µh i = b(v, µh ) for all µh ∈ Mh , v ∈ X,
vh , Bh′ µ = b(vh , µ) for all vh ∈ Xh , µ ∈ M.
(4.22)
(4.23)
We define the finite dimensional analogue of V :
Vh (χ) = {vh ∈ Xh ; b(vh , µh ) =< χ, µh >, µh ∈ Mh }.
We set
Vh = Vh (0) = Ker(Bh ) ∩ Xh = {vh ∈ Xh ; b(vh , µh ) = 0, µh ∈ Mh }.
Caution: Vh 6⊂ V and Vh (χ) 6⊂ V (χ), since Mh is a proper subspace of M .
We now define the approximate problem.
(Qh ): For ℓh given in Xh′ and χh ∈ Mh′ , find a pair (uh , λh ) in Xh × Mh
such that
a(uh , vh ) + b(vh , λh ) = hℓh , vh i ,
b(uh , µh ) + c(λh , µh ) = hχh , µh i ,
∀vh ∈ Xh
∀µh ∈ Mh .
(4.24)
(4.25)
Now problem (Qh ) can be changed into the equivalent problem.
(Ph ): Find uh ∈ Vh (χ) such that
a(uh , vh ) = hℓ, vh i ,
vh ∈ Vh .
(4.26)
101
4.1. MATHEMATICAL FORMULATIONS
4.1.3
Matrix form of the equation
v5
b
v0
b
b
v1
p1
b
b
v2
b
b
v3
p2
p3
b
velocity
b
v9
b
v4
b
p4
pressure
Figure 4.1: Nodes for velocity and pressure
Assume Vh is the space of continuous, piecewise bilinear ftns satisfying
zero BC., and Wh is the space of piecewise constant ftns on the square grids
as in the figure.
Let B be the matrix representation of b by
(Bvh , q) = b(vh , q),
vh ∈ Vh , q ∈ Wh
For rectangular grid, we see
b(vh , ph )
= −( div vh , ph )
= −h2 [p1 (v1 − v0 ) + p2 (v2 − v1 ) + · · · + pn−1 (vn−1 − vn−2 ) + pn (vn − vn−1 )]
(+y direction)
= −h2 [v0 (−p1 ) + v1 (p1 − p2 ) + · · · + vn−1 (pn−1 − pn ) + vn pn ](+y direction)
= h2 [v1 (p2 − p1 ) + · · · + vn−1 (pn − pn−1 )]
= (vh , B T ph )
since v0 = vn = 0. Let v̄h = (v1 , · · · , vn ) be the vector having same nodal
values as vh ∈ Vh and p̄h be the vector having same center values as ph ∈ Wh .
If we let (nonsquare matrix)


0


−1 1
0


B = −
,




..
. −1 1
0
1
0
···
..
.
..
.

−1 1 · · ·
 0 −1 1

BT = 
..

.
0 ···
0
Then this equivalent to
p̄Th B v̄h ≡< B v̄h , p̄h >=< v̄h , B T p̄h >

0
· · ·


1
−1
102
CHAPTER 4. STOKES EQUATION
Roughly speaking B is discrete − div and B T is discrete gradient. So
Auh + B T ph = ℓh
(4.27)
Buh − δCph = −δχh .
(4.28)
Theorem 4.1.1. (A) Assume Vh (χ) is nonempty and there exists a constant
α > 0 such that
a(vh , vh ) ≥ αkvh k2X ,
∀vh ∈ Vh .
(4.29)
(B) the discrete inf-sup condition hold
sup
vh ∈Xh
b(vh , µh )
≥ β ∗ kµh kM > 0,
kvh kX
∀µh ∈ M.
(4.30)
Then the problem (Ph ) has a unique solution uh ∈ Vh (χ) and there is a constant
C > 0 such that Then there is a unique solution (uh , λh ) of the problem (Qh )
ku − uh kX + kλ − λh kM ≤ C2
inf ku − vh kX + inf kλ − µh kM
vh ∈Xh
µh ∈M
. (4.31)
Checking the discrete inf-sup condition
Lemma 4.1.1. The the discrete inf-sup condition (4.30) holds with a constant
β ∗ > 0 independent of h if and only if there exists an operator Πh ∈ L(X; Xh )
satisfying
b(v − Πh v, µh ) = 0, ∀µh ∈ Mh , v ∈ X
(4.32)
kΠh vkX ≤ CkvkX , ∀v ∈ X.
(4.33)
and
Proof. Assume such Πh exists. Then by kΠh vkX ≤ CkvkX , we see
sup
vh ∈Xh
b(vh , µh )
kvh kX
≥ sup
v∈X
b(Πh v, µh )
kΠh vkX
b(v, µh )
v∈X kΠh vkX
1
b(vh , µh )
≥
sup
C v∈X kvkX
β
≥
kµh kM .
C
=
sup
103
4.2. SOLVER
4.1.4
Error Estimate
Hypothesis
(1) There exists an operator rh : H m+1 (Ω)n ∩ H01 (Ω)n → Xh such that
kv − rh vk1 ≤ Chm kvkm+1 ,
∀v ∈ H m+1 (Ω)n
1 ≤ m ≤ l.
(4.34)
(2) There exists an operator Sh : L2 (Ω) → Mh such that
kq − Sh qk0 ≤ Chm kqkm+1 ,
∀q ∈ H m (Ω)n ,
0 ≤ m ≤ l.
(4.35)
(3) (Uniform inf-sup condition) For each qh ∈ Mh there exists vh ∈ Xh such
that
(qh , div vh ) = kqh k20 ,
(4.36)
|vh |1 ≤ Ckqh k0 ,
(4.37)
where C > 0 is independent of h, qh and vh .
Theorem 4.1.2. Under the Hypothesis the solution of the problem(4.24) satisfies
ku − uh k1 + kp − ph k0 ≤ Chm {kukm+1 + kpkm }.
(4.38)
Remark 4.1.2. One can expect one higher order for L2 error estimate by
duality technique.
ku − uh k0 ≤ Ch{|u − uh |1 + inf kp − ph k0 }.
Stabilization. (Verfürth note) We may add the following term δK
∇p] − div f ) to the second equation for each element K.
4.2
(4.39)
h2 ( div [∆u+
Solver
Standard Uzawa
Let p0h given. Let small ǫ > 0 be fixed (ǫ = 1.5 in Verfüth note). Solve for
m = 0, 1, · · · , until kpm+1
− pm
h k is sufficiently small.
h
a(um+1
, vh ) + b(vh , pm
vh ∈ Xh
h ) = (f , vh ) − a(ug , vh ),
h
1
m+1
b(um+1
, q) + δc(pm
− pm
q ∈ Mh
h , q) = (ph
h , q) + δχh (q),
h
ǫ
Normalize pm+1
each step so that it belongs to M = L20 (Ω).
h
Auh + B T ph = ℓh
(4.40)
Buh − δCph = −δχh .
(4.41)
Thus in matrix form we have
A BT
u
ℓh
=
B −δC
p
−δχh
(4.42)
104
CHAPTER 4. STOKES EQUATION
Standard Uzawa-Again
(1) Given: an initial guess p0 for the pressure, a tolerance T ol > 0 and a
relaxation parameter ǫ > 0.
(2) Apply a few Gauss-Seidel iterations (fix pm
h ) to the linear system
T m
Aum
h = ℓh − B p h
and denote the result by um+1
. Compute
h
m+1
pm+1
= pm
− δCpm
h + ǫ(Buh
h + δχh )
h
(3) Stop if
kAum+1
+ B T pm+1
− ℓh k + kBum+1
− δCpm+1
+ δχh k ≤ T ol
h
h
h
h
4.2.1
Improved Uzawa-cg MG
Solve the first equation for u (you may use multigrid) as
uh = A−1 (ℓh − B T ph )
and insert into the second eq.
BA−1 (ℓh − B T ph ) − δCph = −δχh
This gives
Aph := [BA−1 B T + δC]ph = BA−1 ℓh + δχh := f̃ .
(4.43)
One can show that A is SPD and the condition number is O(1), hence
we can Apply conjugate gradient method to this system Aph = f̃. This algorithm requires evaluation of A−1 f̃ where one can use a fast algorithm such as
mutligrid method.
The next task is how to construct spaces Xh and Mh which satisfy the
hypotheses. The CG-algorithm in general breaks down for non-symmetric or
indefinite systems. However, there are various variants of the CG-algorithm
which can be applied to these problems. A naive approach consists in applying
the CG-algorithm to the squared system LTk Lk xk = LTk bk . This approach cannot be recommended since squaring the systems squares its condition number.
A more efficient algorithm is the stabilized bi-conjugate gradient algorithm,
shortly Bi-CG-stab. The underlying idea roughly is to solve simultaneously
the original problem Lk xk = bk and its adjoint LTk yk = bTk .
Stable pair for Stokes equation
For Stokes equation, we need to choose pair of spaces so that inf-sup condition
holds. Assume Th consists of triangles. Typically we use P2 for the velocity
and P1 for the pressure. Another choice is P1 -nonconforming for velocity and
P0 for pressure(Called C-R(Crouzeix-Raviart-1973) element).
105
4.2. SOLVER
(P2 , P1 ) pair -Taylor Hood
We can show the inf-sup condition and we have
ku − uh kh + kp − ph k0 ≤ Ch2 {kuk2 + kpk1 }.
(4.44)
(P1n , P0 ) pair- Crouzeix- Raviart
Let P0 be the space of all functions which are piecewise constant on each T .
We have
ku − uh kh + kp − ph k0 ≤ Ch{kuk2 + kpk1 }.
(4.45)
Table 4.1: Summary of 2D triangular elements
velocity
pressure
b
Name
Sketch
LBB
Order
Remarks
N
1
Rarely used
Y
1
C-R, not for natural BC.
Y
1
cubic bubble
Y
1
iso P2 -P1
Y
2
P2 P1 engineer’s favor
Y
2
C-R P2+ P−1
b
b
b
P1 P0
b
b
b
P1n P0
b
b
P1+ P1
b
b
(mini)
b
b
b
b
b
b
P1 P1 (4 patch macro)
b
b
b
b
b
Pk Pk−1 (Taylor-Hood)
b
b
b
b
b
b
Pk ⊕
−1
Bk+1 Pk−1
b
Table 4.2: Pressure given by circle in the interior means discontinuous.
4.2.2
II.3. Petrov-Galerkin stabilization
The mini element revisited.
106
CHAPTER 4. STOKES EQUATION
4.2.3
Stabilization
Motivated by mini element, we can solve the following eq. with P1 /P1 pair.

 −ν∆u + grad p = f in Ω,
div u − α∆p = −α div f in Ω,
(4.46)

u = g on Γ.
Taking into account that ∆uT vanishes elementwise (for mini), the discrete
problem does not change if we also add the term α∆ div u to the left-hand side
of the second equation. This shows that in total we may add the divergence
of the momentum equation as a penalty. For the general form see, Verfurth
note. (also my paper with Kwon)
4.3
Numerical method for Navier Stokes equation
4.3.1
Picard’s iteration
−∆um+1 + ∇pm+1 = f − (um · ∇)um in Ω,
div uum+1 = 0 in Ω,
um+1 = g on Γ.
4.3.2
(4.47)
Newton’s method
Consider
−∆u + (u · ∇)u + ∇p = f in Ω,
div u = 0 in Ω,
u = g on Γ.
(4.48)
Linearize (or correct with) um+1 = um + δu to see
−∆um+1 + (um+1 · ∇)(um + δu) + ∇pm+1 = f in Ω,
+
· ∇)um + (um · ∇)δu + ∇pm+1 + (δu)2 = f in Ω,
−∆um+1 + (um+1 · ∇)um + (um · ∇)(um+1 − um ) + ∇pm+1 =
˙ f in Ω.
(4.49)
0
0
Thus we define the Newton iteration as : Given initial guess u , p solve the
following for m = 0, 1, · · · ,, say with Uzawa for each m until convergence.
−∆um+1
(um+1
−∆um+1 + ∇pm+1 +(um+1 · ∇)um
+(um · ∇)um+1 = f + (um · ∇)um in Ω
div um+1 = 0 in Ω,
um+1 = g on Γ.
(4.50)
The Newton iteration converges quadratically. However, the initial guess must
be close to the sought solution, otherwise the iteration may diverge. To avoid
this, one can use a damped Newton iteration.
107
4.3. NUMERICAL METHOD FOR NAVIER STOKES EQUATION
4.3.3
Projection scheme for Navier-Stokes eq... Chorin 68
See Jie Shen note IMS NUS.pdf. Consider the Full Navier Stokes problem:
∂u
∂t
+ (u · ∇)u − div σ = f in Ω,
div u = 0 in Ω,
u = g on Γ.
(4.51)
The original projection method, proposed by Chorin [12] and Temam [69],
was motivated by the idea of operator splitting, its semi-discrete version.
Remark 4.3.1. The above scheme has only 1/2 -order for velocity in L2 (0, T ; H 1 )
k+1
due to the nonphysical boundary condition ∂p∂n |Γ = 0.
The improved projection type scheme appears to be, the so called pressurecorrection scheme introduced in [26] (K. Goda. A multistep ...cavity flows. J.
C. P., 1979.). Its first-order version reads :
Find ũk+1 by solving
ũk+1 −uk
δt
− ν∆ũk+1 + (uk · ∇)ũk+1 + ∇pk = f (tk+1 ) in Ω,
ũk+1 |Γ = 0.
(4.52)
Then find (pk+1 , uk+1 ) from
uk+1 −ũk+1
δt
+ ∇(pk+1 − pk ) = 0,
∇ · uk+1 = 0,
uk+1 · n|Γ = 0.
(4.53)
By taking the divergence of the first equation in (4.53), we find that the second
step is equivalent to
k+1
k
1
∆(pk+1 − pk ) = δt
∇ · ũk+1 , ∂(p ∂n−p ) |Γ = 0,
uk+1 = ũk+1 − δt∇(pk+1 − pk ).
(4.54)
..... It is also shown that the above scheme is first-order accurate for the
velocity in L∞ (0, T ; L2 )∩ L2 (0, T ; H 1 ) and pressure in L2 (0, T ; L2 ). A popular
second-order version reads
( k+1
3ũ
−4uk +uk−1
+ (2uk − uk−1 ) · ∇ũk+1 − ν∆ũk+1 + ∇pk = f (tk+1 ),
2δt
ũk+1 |∂Ω = 0.
(4.55)
then find (pk+1 , uk+1 ) by
 k+1
3u
−3ũk+1

+ ∇(pk+1 − pk ) = 0,

2δt
(4.56)
div uk+1 = 0

 k+1
u
· n|∂Ω = 0.
(To solve again take divergence as before) The above scheme is second-order
for the velocity in the L2 (0, T ; L2 (Ω))-norm.
108
CHAPTER 4. STOKES EQUATION
4.4
Stream-function formulation
The discrete velocity fields computed by the methods of the previous sections
in general are not exactly incompressible. It is only weakly incompressible. In
this section we will consider a formulation of the Stokes equations which leads
to conforming solenoidal discretizations. This advantage, of course, has to be
paid for by other drawbacks. Throughout this section we assume that Ω is a
two dimensional, simply connected polygonal domain.
4.4.1
The curl operators
We need two curl-operators:
curl φ = (−
∂φ ∂φ
∂v1
∂v2
,
), curlv = (
−
) (sgn is diffent from usual)
∂y ∂x
∂y
∂x
(Stokes-2D)
Z
curluh · ξ dx =
Ω
Z
Ω
uh curl ξ dx −
Z
u · τ ξ ds
(4.57)
∂Ω
The following deep mathematical result is fundamental: A vector-field v : Ω →
R2 is solenoidal, i.e. divv = 0, if and only if there is a unique stream-function
φΩ → R : such that v = curl φ in Ω and φ = 0 on Γ.
4.4.2
Stream-function formulation of the Stokes equations
Let (u, p) be the solution of the Stokes equations with force f and homogeneous
boundary conditions and denote by ψ the stream function corresponding to
u. Since
u · t = 0 on Γ,
we conclude that in addition
∂ψ
= t · curl ψ = 0 on Γ.
∂n
Inserting this representation of u in the momentum equation and applying the
operator curl we obtain
curl f
= curl(−∆u + ∇p)
(4.58)
= −∆(curlu) + ∆(∇p)
(4.59)
2
= −∆(curl(curl ψ)) = ∆ ψ
(4.60)
This proves that the stream function solves the biharmonic equation with
homo. BC.
∆2 ψ = curl f in Ω
φ = 0 on ∂Ω
∂φ
∂n = 0 on ∂Ω
4.4. STREAM-FUNCTION FORMULATION
109
How about two phase in this form? Change this to MFVM Conversely, one
can prove: If solves the above biharmonic equation, there is a unique pressure
p with mean-value 0 such that u = curl ψ and p solve the Stokes equations.
In this sense, the Stokes equations and the biharmonic equation are equivalent. Remark II.5.1. Given a solution ψ of the biharmonic equation and the
corresponding velocity u = curl ψ the pressure is determined by the equation
f + ∆u = ∇p. But there is no constructive way to solve this problem. Hence,
the biharmonic equation is only capable to yield the velocity field of the Stokes
equations.