Вы находитесь на странице: 1из 127

Computational Fluid Dynamics

Lecture Notes Summer Term 2007


R. Verf urth
Fakultat f ur Mathematik, Ruhr-Universit at Bochum
Contents
Chapter I. Fundamentals 7
I.1. Modelization 7
I.1.1. Lagrangian and Eulerian representation 7
I.1.2. Velocity 7
I.1.3. Transport theorem 8
I.1.4. Conservation of mass 9
I.1.5. Cauchy theorem 9
I.1.6. Conservation of momentum 10
I.1.7. Conservation of energy 11
I.1.8. Constitutive laws 11
I.1.9. Compressible Navier-Stokes equations in conservative
form 13
I.1.10. Euler equations 13
I.1.11. Compressible Navier-Stokes equations in non-
conservative form 13
I.1.12. Instationary incompressible Navier-Stokes equations 15
I.1.13. Stationary incompressible Navier-Stokes equations 16
I.1.14. Stokes equations 16
I.1.15. Initial and boundary conditions 17
I.2. Notations and basic results 18
I.2.1. Domains and functions 18
I.2.2. Dierentiation of products 18
I.2.3. Integration by parts formulae 19
I.2.4. Weak derivatives 19
I.2.5. Sobolev spaces and norms 20
I.2.6. Friedrichs and Poincare inequalities 21
I.2.7. Finite element partitions 21
I.2.8. Finite element spaces 22
I.2.9. Approximation properties 23
I.2.10. Nodal shape functions 23
I.2.11. A quasi-interpolation operator 26
I.2.12. Bubble functions 27
Chapter II. Stationary linear problems 29
II.1. Discretization of the Stokes equations. A rst attempt 29
II.1.1. The Poisson equation revisited 29
II.1.2. A variational formulation of the Stokes equations 29
3
4 CONTENTS
II.1.3. A naive discretization of the Stokes equations 30
II.1.4. Possible remedies 32
II.2. Mixed nite element discretizations of the Stokes
equations 32
II.2.1. Saddle-point formulation of the Stokes equations 32
II.2.2. General structure of mixed nite element discretizations
of the Stokes equations 33
II.2.3. A rst attempt 34
II.2.4. A necessary condition for a well-posed mixed
discretization 34
II.2.5. A second attempt 35
II.2.6. The inf-sup condition 36
II.2.7. A stable low-order element with discontinuous pressure
approximation 37
II.2.8. Stable higher-order elements with discontinuous
pressure approximation 37
II.2.9. Stable low-order elements with continuous pressure
approximation 38
II.2.10. Stable higher-order elements with continuous pressure
approximation 39
II.2.11. A priori error estimates 39
II.3. Petrov-Galerkin stabilization 40
II.3.1. Motivation 40
II.3.2. The mini element revisited 40
II.3.3. General form of Petrov-Galerkin stabilizations 43
II.3.4. Choice of stabilization parameters 44
II.3.5. Choice of spaces 44
II.3.6. Structure of the discrete problem 44
II.4. Non-conforming methods 44
II.4.1. Motivation 44
II.4.2. The Crouzeix-Raviart element 45
II.4.3. Construction of a local solenoidal bases 46
II.5. Stream-function formulation 48
II.5.1. Motivation 48
II.5.2. The curl operators 49
II.5.3. Stream-function formulation of the Stokes equations 49
II.5.4. Variational formulation of the biharmonic equation 50
II.5.5. A non-conforming discretization of the biharmonic
equation 51
II.5.6. Mixed nite element discretizations of the biharmonic
equation 52
II.6. Solution of the discrete problems 53
II.6.1. General structure of the discrete problems 53
II.6.2. The Uzawa algorithm 54
II.6.3. The conjugate gradient algorithm revisited 55
CONTENTS 5
II.6.4. An improved Uzawa algorithm 57
II.6.5. The multigrid algorithm 58
II.6.6. Smoothing 61
II.6.7. Prolongation 62
II.6.8. Restriction 64
II.6.9. Variants of the CG-algorithm for indenite problems 65
II.7. A posteriori error estimation and adaptive grid renement 67
II.7.1. Motivation 67
II.7.2. General structure of the adaptive algorithm 68
II.7.3. A residual a posteriori error estimator 68
II.7.4. Error estimators based on the solution of auxiliary
problems 70
II.7.5. Marking strategies 73
II.7.6. Regular renement 74
II.7.7. Additional renement 75
II.7.8. Required data structures 76
Chapter III. Stationary nonlinear problems 79
III.1. Discretization of the stationary Navier-Stokes equations 79
III.1.1. Variational formulation 79
III.1.2. Fixed-point formulation 79
III.1.3. Existence and uniqueness results 80
III.1.4. Finite element discretization 80
III.1.5. Fixed-point formulation of the discrete problem 81
III.1.6. Properties of the discrete problem 81
III.1.7. Symmetrization 82
III.1.8. A priori error estimates 82
III.1.9. A warning example 83
III.1.10. Up-wind methods 87
III.1.11. The streamline-diusion method 88
III.2. Solution of the discrete nonlinear problems 89
III.2.1. General structure 89
III.2.2. Fixed-point iteration 90
III.2.3. Newton iteration 91
III.2.4. Path tracking 91
III.2.5. A nonlinear CG-algorithm 92
III.2.6. Operator splitting 94
III.2.7. Multigrid algorithms 95
III.3. Adaptivity for nonlinear problems 95
III.3.1. General structure 95
III.3.2. A residual a posteriori error estimator 96
III.3.3. Error estimators based on the solution of auxiliary
problems 96
Chapter IV. Instationary problems 99
IV.1. Discretization of the instationary Navier-Stokes equations 99
6 CONTENTS
IV.1.1. Variational formulation 99
IV.1.2. Existence and uniqueness results 100
IV.1.3. Numerical methods for ordinary dierential equations
revisited 100
IV.1.4. Method of lines 102
IV.1.5. Rothes method 104
IV.1.6. Space-time nite elements 104
IV.1.7. The transport-diusion algorithm 105
IV.2. Space-time adaptivity 107
IV.2.1. Overview 107
IV.2.2. A residual a posteriori error estimator 108
IV.2.3. Time adaptivity 109
IV.2.4. Space adaptivity 110
IV.3. Discretization of compressible and inviscid problems 110
IV.3.1. Systems in divergence form 110
IV.3.2. Finite volume schemes 111
IV.3.3. Construction of the partitions 113
IV.3.4. Relation to nite element methods 115
IV.3.5. Construction of the numerical uxes 115
Summary 119
Bibliography 123
Index 125
CHAPTER I
Fundamentals
I.1. Modelization
I.1.1. Lagrangian and Eulerian representation. Consider a
volume occupied by a uid which moves under the inuence of in-
terior and exterior forces. We denote by the position of an
arbitrary particle at time t = 0 and by
x = (, t)
its position at time t > 0. The basic assumptions are:
(, t) : is for all times t 0 a bijective
dierentiable mapping,
its inverse mapping is dierentiable,
the transformation (, t) is orientation-preserving,
(, 0) is the identity.
There are two ways to look at the uid ow:
(1) We x and look at the trajectory t (, t). This is the
Lagrangian representation. Correspondingly is called
Lagrangian coordinate. The Langrangian coordinate sys-
tem moves with the uid.
(2) We x the point x and look at the trajectory t (, t)
1
(x)
which passes through x. This is the Eulerian representa-
tion. Correspondingly x is called Eulerian coordinate.
The Eulerian coordinate system is xed.
I.1.2. Velocity. We denote by
D =
_

j
_
1i,j3
the Jacobian matrix of (, t) and by
J = det D
its Jacobian determinant. The preservation of orientation is equivalent
to
J(, t) > 0 for all t > 0 and all .
The velocity of the ow at point x = (, t) is dened by
7
8 I. FUNDAMENTALS
v(x, t) =

t
(, t) , x = (, t).
I.1.3. Transport theorem. Consider an arbitrary volume V
and denote by
V (t) = (, t)(V ) = (, t) : V
its shape at time t > 0. Then the following transport theorem
holds for all dierentiable mappings f : (0, ) R
d
dt
_
V (t)
f(x, t)dx =
_
V (t)
_
f
t
(x, t) + div(fv)(x, t)
_
dx.
Example I.1.1. We consider a one-dimensional model situation, i.e.
= (a, b) is an interval and x and are real numbers. Then V = (, )
and V (t) = ((t), (t)) are intervals, too. The transformation rule for
integrals gives
_
V (t)
f(x, t)dx =
_
(t)
(t)
f(x, t)dx
=
_

f((, t), t)

(, t)d.
Dierentiating this equality and using the transformation rule we get
d
dt
_
V (t)
f(x, t)dx =
_

d
dt
_
f((, t), t)

(, t)
_
d
=
_

t
f((, t), t)

(, t)d
. .
=

V (t)

t
f(x,t)dx
+
_

x
f((, t), t)

t
(, t)
. .
=v((,t),t)

(, t)d
. .
=

V (t)

x
f(x,t)v(x,t)dx
+
_

f((, t), t)

t

(, t)
. .
=

v((,t),t)=

x
v((,t),t)

(,t)
d
. .
=

V (t)
f(x,t)

x
v(x,t)dx
I.1. MODELIZATION 9
=
_
V (t)

t
f(x, t)dx
+
_
V (t)

x
f(x, t)v(x, t)dx
+
_
V (t)
f(x, t)

x
v(x, t)dx
=
_
V (t)

t
f(x, t) +

x
f(x, t)v(x, t) dx.
This proves the transport theorem in one dimension.
I.1.4. Conservation of mass. We denote by (x, t) the density
of the uid. Then
_
V (t)
(x, t)dx
is the total mass of the volume V (t). The conservation of mass and the
transport theorem therefore imply that
0 =
d
dt
_
V (t)
(x, t)dx
=
_
V (t)
_

t
(x, t) + div(v)(x, t)
_
dx.
This gives the equation for the conservation of mass:

t
+ div(v) = 0 in (0, ).
I.1.5. Cauchy theorem. Fluid and continuum mechanics are
based on three fundamental assumptions concerning the interior forces:
interior forces act via the surface of a volume V (t),
interior forces only depend on the normal direction
of the surface of the volume,
interior forces are additive and continuous.
Due to the Cauchy theorem these assumptions imply that the
interior forces acting on a volume V (t) must be of the form
_
V (t)
T ndS
with a tensor T : R
33
. Here, as usual, V (t) denotes the bound-
ary of the volume V (t), n is the unit outward normal, and dS denotes
10 I. FUNDAMENTALS
the surface element.
The integral theorem of Gauss then yields
_
V (t)
T ndS =
_
V (t)
div Tdx.
I.1.6. Conservation of momentum. The total momentum of a
volume V (t) in the uid is given by
_
V (t)
(x, t)v(x, t)dx.
Due to the transport theorem its temporal variation equals
d
dt
_
V (t)
(x, t)v(x, t)dx
=
_
d
dt
_
V (t)
(x, t)v
i
(x, t)dx
_
1i3
=
_
_
V (t)
_

t
(v
i
)(x, t) + div(v
i
v)(x, t)
_
dx
_
1i3
=
_
V (t)
_

t
(v)(x, t) + div(v v)(x, t)
_
dx
where
v u = (v
i
u
j
)
1i,j3
.
Due to the conservation of momentum this quantity must be balanced
by exterior and interior forces. Exterior forces must be of the form
_
V (t)
f dx.
The Cauchy theorem tells that the interior forces are of the form
_
V (t)
div Tdx.
Hence the conservation of momentum takes the integral form
_
V (t)
_

t
(v) + div(v v)
_
dx =
_
V (t)
_
f + div T
_
dx.
This gives the equation for the conservation of momentum:

t
(v) + div(v v) = f + div T in (0, ).
I.1. MODELIZATION 11
I.1.7. Conservation of energy. We denote by e the total en-
ergy. The transport theorem implies that its temporal variation is
given by
d
dt
_
V (t)
edx =
_
V (t)
_
e
t
(x, t) + div(ev)(x, t)
_
dx.
Due to the conservation of energy this quantity must be balanced by
the energies due to the exterior and interior forces and by the change
of the internal energy.
The contributions of the exterior and interior forces are given by
_
V (t)
f vdx
and
_
V (t)
n T vd
=
_
V (t)
div(T v)dx.
Due to the Cauchy theorem and the integral theorem of Gauss, the
change of internal energy must be of the form
_
V (t)
ndS =
_
V (t)
div dx
with a vector-eld : R
3
.
Hence the conservation of energy takes the integral form
_
V (t)
_

t
e + div(ev)
_
dx =
_
V (t)
_
f v + div(T v) + div
_
dx.
This gives the equation for the conservation of energy:

t
e +div(ev) = f v +div(T v) +div in (0, ).
I.1.8. Constitutive laws. The equations for the conservation of
mass, momentum and energy must be complemented by constitutive
laws. These are based on the following fundamental assumptions:
T only depends on the gradient of the velocity.
The dependence on the velocity gradient is linear.
T is symmetric. (Due to the Cauchy theorem this
is a consequence of the conservation of angular mo-
mentum.)
12 I. FUNDAMENTALS
In the absence of internal friction, T is diagonal
and proportional to the pressure, i.e. all interior
forces act in normal direction.
e = +
1
2
[v[
2
. ( is called internal energy
and is often identied with the temperature.)
is proportional to the variation of the internal
energy, i.e. = .
The conditions on T imply that it must be of the form
T = 2D(v) + (div v) I pI.
Here,
I = (
ij
)
1i,j3
denotes the unit tensor,
D(v) =
1
2
(v +v
t
) =
1
2
_
v
i
x
j
+
v
j
x
i
_
1i,j3
is the deformation tensor,
p = p(, )
denotes the pressure and , R are the dynamic viscosities of
the uid.
The equation for the pressure is also called equation of state. For
an ideal gas, e.g., it takes the form p(, ) = ( 1) with > 1.
Note that div v is the trace of the deformation tensor D(v).
Example I.1.2. The physical dimension of the dynamic viscosities
and is kg m
1
s
1
and is called Poise; the one of the density is
kg m
3
. In I.1.12 (p. 15) we will introduce the kinematic viscosity
=

. Its physical dimension is m


2
s
1
and is called Stokes. Table
I.1.1 gives some relevant values of these quantities.
Table I.1.1. Viscosities of some uids and gazes

Water 20

C 1.005 10
3
1000 1.005 10
6
Alcohol 20

C 1.19 10
3
790 1.506 10
6
Ether 20

C 2.43 10
5
716 3.394 10
8
Glycerine 20

C 1.499 1260 1.190 10


3
Air 0

C 1 atm 1.71 10
5
1.293 1.322 10
5
Hydrogen 0

C 8.4 10
6
8.99 10
2
9.344 10
5
I.1. MODELIZATION 13
I.1.9. Compressible Navier-Stokes equations in conserva-
tive form. Collecting all results we obtain the compressible Na-
vier-Stokes equations in conservative form:

t
+ div(v) = 0
(v)
t
+ div(v v) = f + 2div D(v)
+ grad div v grad p
= f + v
+ ( + ) grad div v grad p
e
t
+ div(ev) = f v + 2div[D(v) v]
+ div[div v v]
div(pv) +
= f + 2div D(v) + grad div v
grad p v
+ D(v) : D(v) + (div v)
2
p div v +
p = p(, )
e = +
1
2
[v[
2
.
I.1.10. Euler equations. In the inviscid case, i.e. = = 0,
the compressible Navier-Stokes equations in conservative form reduce
to the so-called Euler equations for an ideal gas:

t
+ div(v) = 0
(v)
t
+ div(v v + pI) = f
e
t
+ div(ev + pv) = f v +
p = p(, )
e = +
1
2
[v[
2
.
I.1.11. Compressible Navier-Stokes equations in non-con-
servative form. Inserting the rst equation of I.1.9 (p. 13) in the
14 I. FUNDAMENTALS
left-hand side of the second equation yields
(v)
t
+ div(v v)
= (

t
)v +
v
t
+ (div(v))v + (v )v
= [
v
t
+ (v )v].
Inserting the rst two equations of I.1.9 in the left-hand side of the
third equation implies
D(v) : D(v) + (div v)
2
p div v +
= f + 2div D(v) + grad div v grad p v
+
( +
1
2
[v[
2
)
t
+ div(v +
1
2
[v[
2
v)
=
(v)
t
+ div(v v) v
+

t
+ div(v) +

t
+ v grad
+
1
2
[v[
2

t
+
1
2
[v[
2
div(v) +
1
2
[v[
2
t
+ v grad(
1
2
[v[
2
)
= v [
v
t
+ (v )v]
+

t
+ v grad
+ v
v
t
+ v [(v )v]
=

t
+ v grad .
With these simplications we obtain the compressible Navier-
Stokes equations in non-conservative form

t
+ div(v) = 0
[
v
t
+ (v )v] = f + v + ( + ) grad div v
grad p
[

t
+ v grad ] = D(v) : D(v) + (div v)
2
p div v
+
p = p(, ).
I.1. MODELIZATION 15
I.1.12. Instationary incompressible Navier-Stokes equa-
tions. Next we assume that the density is constant, replace p by
p

, denote by
=

the kinematic viscosity, and suppress the third equation in I.1.11


(p. 13) (conservation of energy). This yields the instationary in-
compressible Navier-Stokes equations:
div v = 0
v
t
+ (v )v = f + v grad p.
Remark I.1.3. We say that a uid is incompressible if the volume
of any sub-domain V remains constant for all times t > 0, i.e.
_
V (t)
dx =
_
V
dx for all t > 0.
The transport theorem then implies that
0 =
d
dt
_
V (t)
dx =
_
V (t)
div vdx.
Hence, incompressibility is equivalent to the equation
div v = 0.
Remark I.1.4. The incompressible Navier-Stokes equations are often
re-scaled to a non-dimensional form. To this end we introduce a refer-
ence length L, a reference time T, a reference velocity U, a reference
pressure P, and a reference force F and introduce new variables and
quantities by x = Ly, t = T, v = Uu, p = Pq, f = Fg. Physical rea-
sons suggest to x T =
L
U
. When re-writing the momentum equation
in the new quantities we obtain
Fg = f =
U
T
u

+
U
2
L
(u
y
)u
U
L
2

y
u +
P
L

y
q
=
U
L
2
_
L
2
T
u

+
LU

(u
y
)u
y
u +
PL
U

y
q
_
.
The physical dimension of F and
U
L
2
is m s
2
. The quantities
L
2
T
,
PL
U
,
and
LU

are dimensionless. The quantities L, U, and are determined


by the physical problem. The quantities F and P are xed by the con-
ditions F =
U
L
2
and
PL
U
= 1. Thus there remains only the dimensionless
parameter
16 I. FUNDAMENTALS
Re =
LU

.
It is called Reynolds number and is a measure for the complexity
of the ow. It was introduced in 1883 by Osborne Reynolds (1842
1912).
Example I.1.5. Consider an airplane at cruising speed and an oil-
vessel. The relevant quantities for the airplane are
U 900km h
1
250m s
1
L 50m
1.322 10
5
m
2
s
1
Re 9.455 10
8
.
The corresponding quantities for the oil-vessel are
U 20knots
36km h
1
10m s
1
L 300m
1.005 10
6
m
2
s
1
Re 2.985 10
9
.
I.1.13. Stationary incompressible Navier-Stokes equations.
As a next step of simplication, we assume that we are in a stationary
regime, i.e. all temporal derivatives vanish. This yields the station-
ary incompressible Navier-Stokes equations:
div v = 0
v + (v )v + grad p = f .
I.1.14. Stokes equations. In a last step we linearize the Navier-
Stokes equations at velocity v = 0 and re-scale the viscosity to 1.
This gives the Stokes equations:
div v = 0
v + grad p = f .
I.1. MODELIZATION 17
Remark I.1.6. All CFD algorithms solve complicated ow problems
via a nested sequence of simplication steps similar to the described
procedure. Therefore it is mandatory to dispose of ecient discretiza-
tion schemes and solvers for simplied problems as, e.g., the Stokes
equations, which are at the heart in the inmost loop.
I.1.15. Initial and boundary conditions. The equations of
I.1.9 I.1.12 are time-dependent. They must be completed by ini-
tial conditions for the velocity v, the internal energy and for the
problems of I.1.9 I.1.11 the density .
The Euler equations of I.1.10 (p. 13) are hyperbolic and require
boundary conditions on the inow-boundary.
The problems of I.1.9 and I.1.11 I.1.14 are of second order in
space and require boundary conditions on the whole boundary = .
For the energy-equations in I.1.9 (p. 13) and I.1.11 (p. 13) one may
choose either Dirichlet (prescribed energy) or Neumann (prescribed
energy ux) boundary conditions. A mixture of both conditions is also
possible.
The situation is less evident for the mass and momentum equations
in I.1.9 and I.1.11 I.1.14. Around 1845, Sir George Gabriel
Stokes (1819 1903) suggested that due to the friction the uid
will adhere at the boundary. This leads to the Dirichlet boundary
condition
v = 0 on .
More generally one can impose the condition v = v

with a given
boundary velocity v

.
Around 1827, Pierre Louis Marie Henri Navier (1785 1836)
had suggested the more general boundary condition

n
v n + (1
n
)n T n = 0

t
[v (v n)n] + (1
t
)[T n (n T n)n] = 0
on with parameters
n
,
t
[0, 1] that depend on the actual ow-
problem. More generally one may replace the homogeneous right-hand
sides by given known functions.
The rst equation of Navier refers to the normal components of v and
n T, the second equation refers to the tangential components of v
and n T. The special case
n
=
t
= 1 obviously yields the no-slip
condition of Stokes. The case
n
= 1,
t
= 0 on the other hand gives
the slip condition
v n = 0
T n (n T n)n = 0.
The question, which boundary condition is a better description of the
reality, was decided in the 19th century by experiments with pendu-
lums submerged in a viscous uid. They were in favour of the no-slip
18 I. FUNDAMENTALS
condition of Stokes. The viscosities of the uids, however, were similar
to that of honey and the velocities were only a few meters per second.
When dealing with much higher velocities or much smaller viscosities,
the slip condition of Navier is more appropriate. A particular example
for this situation is the re-entry of a space vehicle. Other examples are
coating problems where the location of the boundary is an unknown
and is determined by the interaction of capillary and viscous forces.
I.2. Notations and basic results
I.2.1. Domains and functions. The following notations concern-
ing domains and functions will frequently be used:
open, bounded, connected set in R
n
, n 2, 3;
boundary of supposed to be Lipschitz-continuous;
n exterior unit normal to ;
p, q, r, . . . scalar functions with values in R;
u, v, w, . . . vector-elds with values in R
n
;
S, T, . . . tensor-elds with values in R
nn
;
I unit tensor;
gradient;
div divergence;
div u =
n

i=1
u
i
x
i
;
div T =
_
n

i=1
T
ij
x
i
_
1jn
;
= div Laplace operator;
D(u) =
1
2
_
u
i
x
j
+
u
j
x
i
_
1i,jn
deformation tensor;
u v inner product;
S : T dyadic product (inner product of tensors);
u v = (u
i
v
j
)
1i,jn
tensorial product.
I.2.2. Dierentiation of products. The product formula for dif-
ferentiation yields the following formulae for the dierentiation of prod-
ucts of scalar functions, vector-elds and tensor-elds:
div(pu) = p u + p div u,
div(T u) = (div T) u +T : D(u),
div(u v) = (div u)v + (u )v.
I.2. NOTATIONS AND BASIC RESULTS 19
I.2.3. Integration by parts formulae. The above product for-
mulae and the Gauss theorem for integrals give rise to the following
integration by parts formulae:
_

pu ndS =
_

p udx +
_

p div udx,
_

n T udS =
_

(div T) udx +
_

T : D(u)dx,
_

n (u v)dS =
_

(div u)vdx +
_

(u )vdx.
I.2.4. Weak derivatives. Recall that A denotes the closure of a
set A R
n
.
Example I.2.1. For the sets
A = x R
3
: x
2
1
+ x
2
2
+ x
2
3
< 1 open unit ball
B = x R
3
: 0 < x
2
1
+ x
2
2
+ x
2
3
< 1 punctuated open unit ball
C = x R
3
: 1 < x
2
1
+ x
2
2
+ x
2
3
< 2 open annulus
we have
A = x R
3
: x
2
1
+ x
2
2
+ x
2
3
1 closed unit ball
B = x R
3
: x
2
1
+ x
2
2
+ x
2
3
1 closed unit ball
C = x R
3
: 1 x
2
1
+ x
2
2
+ x
2
3
2 closed closed annulusl.
Given a continuous function : R
n
R, we denote its support
by
supp = x R
n
: (x) ,= 0.
The set of all functions that are innitely dierentiable and have their
support contained in is denoted by C

0
():
C

0
() = C

() : supp .
Remark I.2.2. The condition supp is a non trivial one, since
supp is closed and is open. Functions satisfying this condition
vanish at the boundary of together with all their derivatives.
Given a suciently smooth function and a multi-index N
n
,
we denote its partial derivatives by
D

1
+...+
n

1
1
. . . x

n
n
.
20 I. FUNDAMENTALS
Given two function , C

0
(), the Gauss theorem for integrals
yields for every multi-index N
n
the identity
_

dx = (1)

1
+...+
n
_

.
This identity motivates the denition of the weak derivatives:
Given two integrable function , L
1
() and a multi-
index N
n
, is called the -th weak derivative of
if and only if the identity
_

dx = (1)

1
+...+
n
_

holds for all functions C

0
(). In this case we write
= D

.
Remark I.2.3. For smooth functions, the notions of classical and weak
derivatives coincide. However, there are functions which are not dif-
ferentiable in the classical sense but which have a weak derivative (cf.
Example I.2.4 below).
Example I.2.4. The function [x[ is not dierentiable in (1, 1), but it
is dierentiable in the weak sense. Its weak derivative is the piecewise
constant function which equals 1 on (1, 0) and 1 on (0, 1).
I.2.5. Sobolev spaces and norms. We will frequently use the
following Sobolev spaces and norms:
H
k
() = L
2
() : D

L
2
() for all N
n
with
1
+ . . . +
n
k,
[[
k
=
_

N
n

1
+...+
n
=k
|D

|
2
L
2
()
_

_
1/2
,
||
k
=
_
k

l=0
[[
2
l
_
1/2
=
_

N
n

1
+...+
n
k
|D

|
2
L
2
()
_

_
1/2
,
H
1
0
() = H
1
() : = 0 on ,
L
2
0
() = p L
2
() :
_

p = 0,
H
1
2
() = L
2
() : =

for some H
1
(),
I.2. NOTATIONS AND BASIC RESULTS 21
||1
2
,
= inf||
1
: H
1
(),

= .
Note that all derivatives are to be understood in the weak sense.
Remark I.2.5. The space H
1
2
() is called trace space of H
1
(),
its elements are called traces of functions in H
1
(). Except in one
dimension, n = 1, H
1
functions are in general not continuous and do
not admit point values (cf. Example I.2.6 below). A function, however,
which is piecewise dierentiable is in H
1
() if and only if it is globally
continuous. This is crucial for nite element functions.
Example I.2.6. The function [x[ is not dierentiable, but it is in
H
1
((1, 1)). In two dimension, the function ln(ln(
_
x
2
1
+ x
2
2
)) is an
example of an H
1
-function that is not continuous and which does not
admit a point value in the origin. In three dimensions, a similar exam-
ple is given by ln(
_
x
2
1
+ x
2
2
+ x
2
3
).
Example I.2.7. Consider the open unit ball
= x R
n
: x
2
1
+ . . . + x
2
n
< 1
in R
n
and the functions

(x) = x
2
1
+ . . . + x
2
n

2
R.
Then we have

H
1
()
_
0 if n = 2,
> 1
n
2
if n > 2.
I.2.6. Friedrichs and Poincare inequalities. The following in-
equalities are fundamental:
||
0
c

[[
1
for all H
1
0
(),
Friedrichs inequality
||
0
c

[[
1
for all H
1
() L
2
0
()
Poincar

e inequality.
The constants c

and c

depend on the domain and are propor-


tional to its diameter.
I.2.7. Finite element partitions. The nite element discretiza-
tions are based on partitions of the domain into non-overlapping
simple sub-domains. The collection of these sub-domains is called a
partition and is labeled T . The members of T , i.e. the sub-domains,
are called elements and are labeled K.
Any partition T has to satisfy the following conditions:
22 I. FUNDAMENTALS
is the union of all elements in T .
(Affine equivalence) Each K T is either a
triangle or a parallelogram, if n = 2, or a tetrahe-
dron or a parallelepiped, if n = 3.
(Admissibility) Any two elements in T are either
disjoint or share a vertex or a complete edge or
if n = 3 a complete face.
(Shape-regularity) For any element K, the ra-
tio of its diameter h
K
to the diameter
K
of the
largest ball inscribed into K is bounded indepen-
dently of K.
Remark I.2.8. In two dimensions, n = 2, shape regularity means
that the smallest angles of all elements stay bounded away from zero.
In practice one usually not only considers a single partition T , but
complete families of partitions which are often obtained by successive
local or global renements. Then, the ratio h
K
/
K
must be bounded
uniformly with respect to all elements and all partitions.
For any partition T we denote by h
T
or simply h the maximum of
the element diameters:
h = h
T
= maxh
K
: K T .
Remark I.2.9. In two dimensions triangles and parallelograms may
be mixed (cf. Figure I.2.1). In three dimensions tetrahedrons and
parallelepipeds can be mixed provided prismatic elements are also in-
corporated. The condition of ane equivalence may be dropped. It,
however, considerably simplies the analysis since it implies constant
Jacobians for all element transformations.
d
d
d
d
d

Figure I.2.1. Mixture of triangular and quadrilateral elements


I.2.8. Finite element spaces. For any multi-index N
n
we
set for abbreviation
[[
1
=
1
+ . . . +
n
,
I.2. NOTATIONS AND BASIC RESULTS 23
[[

= max
i
: 1 i n,
x

= x

1
1
. . . x

n
n
.
With any element K in any partition T and any integer number k we
associate a space R
k
(K) of polynomials by
R
k
(K) =
_

_
spanx

: [[
1
k ,if K is a triangle or a tetrahedron,
spanx

: [[

k ,if K is a parallelogram or
a parallelepiped.
With this notation we dene nite element spaces by
S
k,1
(T ) = : R :

K
R
k
(K) for all K T ,
S
k,0
(T ) = S
k,1
(T ) C(),
S
k,0
0
(T ) = S
k,0
(T ) H
1
0
() = S
k,0
(T ) : = 0 on .
Note, that k may be 0 for the rst space, but must be at least 1 for
the second and third space.
Example I.2.10. For a triangle, we have
R
1
(K) = span1, x
1
, x
2
,
R
2
(K) = span1, x
1
, x
2
, x
2
1
, x
1
x
2
, x
2
2
.
For a parallelogram on the other hand, we have
R
1
(K) = span1, x
1
, x
2
, x
1
x
2
,
R
2
(K) = span1, x
1
, x
2
, x
1
x
2
, x
2
1
, x
2
1
x
2
, x
2
1
x
2
2
, x
1
x
2
2
, x
2
2
.
I.2.9. Approximation properties. The nite element spaces de-
ned above satisfy the following approximation properties:
inf

T
S
k,1
(T )
|
T
|
0
ch
k+1
[[
k+1
H
k+1
(), k N,
inf

T
S
k,0
(T )
[
T
[
j
ch
k+1j
[[
k+1
H
k+1
(),
j 0, 1, k N

,
inf

T
S
k,0
0
(T )
[
T
[
j
ch
k+1j
[[
k+1
H
k+1
() H
1
0
(),
j 0, 1, k N

.
I.2.10. Nodal shape functions. A
T
denotes the set of all ele-
ment vertices.
24 I. FUNDAMENTALS
For any vertex x A
T
the associated nodal shape function is
denoted by
x
. It is the unique function in S
1,0
(T ) that equals 1 at
vertex x and that vanishes at all other vertices y A
T
x.
The support of a nodal shape function
x
is denoted by
x
and
consists of all elements that share the vertex x (cf. Figure I.2.2).

d
d
d
d
d
d

d
d
d
d
d
d
d
d
d

Figure I.2.2. Some examples of domains


x
The nodal shape functions can easily be computed elementwise from
the coordinates of the elements vertices.

d
d
d

a
0
a
0
a
1
a
1
a
2
a
2
a
3
Figure I.2.3. Enumeration of vertices of triangles and
parallelograms
Example I.2.11. (1) Consider a triangle K with vertices a
0
, . . . , a
2
numbered counterclockwise (cf. Figure I.2.3). Then the restrictions to
K of the nodal shape functions
a
0
, . . . ,
a
2
are given by

a
i
(x) =
det(x a
i+1
, a
i+2
a
i+1
)
det(a
i
a
i+1
, a
i+2
a
i+1
)
i = 0, . . . , 2,
where all indices have to be taken modulo 3.
(2) Consider a parallelogram K with vertices a
0
, . . . , a
3
numbered
counterclockwise (cf. Figure I.2.3). Then the restrictions to K of the
nodal shape functions
a
0
, . . . ,
a
3
are given by

a
i
(x) =
det(x a
i+2
, a
i+3
a
i+2
)
det(a
i
a
i+2
, a
i+3
a
i+2
)

det(x a
i+2
, a
i+1
a
i+2
)
det(a
i
a
i+2
, a
i+1
a
i+2
)
i = 0, . . . , 3,
where all indices have to be taken modulo 4.
(3) Consider a tetrahedron K with vertices a
0
, . . . , a
3
enumerated as
in Figure I.2.4. Then the restrictions to K of the nodal shape functions

a
0
, . . . ,
a
3
are given by

a
i
(x) =
det(x a
i+1
, a
i+2
a
i+1
, a
i+3
a
i+1
)
det(a
i
a
i+1
, a
i+2
a
i+1
, a
i+3
a
i+1
)
i = 0, . . . , 3,
I.2. NOTATIONS AND BASIC RESULTS 25
where all indices have to be taken modulo 4.
(4) Consider a parallelepiped K with vertices a
0
, . . . , a
7
enumerated as
in Figure I.2.4. Then the restrictions to K of the nodal shape functions

a
0
, . . . ,
a
7
are given by

a
i
(x) =
det(x a
i+1
, a
i+3
a
i+1
, a
i+5
a
i+1
)
det(a
i
a
i+1
, a
i+3
a
i+1
, a
i+5
a
i+1
)

det(x a
i+2
, a
i+3
a
i+2
, a
i+6
a
i+2
)
det(a
i
a
i+2
, a
i+3
a
i+2
, a
i+6
a
i+2
)

det(x a
i+4
, a
i+5
a
i+4
, a
i+6
a
i+4
)
det(a
i
a
i+4
, a
i+5
a
i+4
, a
i+6
a
i+4
)
i = 0, . . . , 7,
where all indices have to be taken modulo 8.

d
d
d
d
d
d

a
0
a
0
a
1
a
1
a
3
a
2
a
3
a
7
a
4
a
6
a
5
Figure I.2.4. Enumeration of vertices of tetrahedra
and parallelepipeds (The vertex a
2
of the parallelepiped
is hidden.)
Remark I.2.12. For every element (triangle, parallelogram, tetrahe-
dron, or parallelepiped) the sum of all nodal shape functions corre-
sponding to the elements vertices is identical equal to 1 on the element.
The functions
x
, x A
T
, form a bases of S
1,0
(T ). The bases
of higher-order spaces S
k,0
(T ), k 2, consist of suitable products of
functions
x
corresponding to appropriate vertices x.
Example I.2.13. (1) Consider a again a triangle K with its vertices
numbered as in example I.2.11 (1). Then the nodal basis of S
2,0
(T )

K
consists of the functions

a
i
[
a
i

a
i+1

a
i+2
] i = 0, . . . , 2
4
a
i

a
i+1
i = 0, . . . , 2,
26 I. FUNDAMENTALS
where the functions
a

are as in example I.2.11 (1) and where all


indices have to be taken modulo 3. An other basis of S
2,0
(T )

K
, called
hierarchical basis, consists of the functions

a
i
i = 0, . . . , 2
4
a
i

a
i+1
i = 0, . . . , 2.
(2) Consider a again a parallelogram K with its vertices numbered as
in example I.2.11 (2). Then the nodal basis of S
2,0
(T )

K
consists of
the functions

a
i
[
a
i

a
i+1
+
a
i+2

a
i+3
] i = 0, . . . , 3
4
a
i
[
a
i+1

a
i+2
] i = 0, . . . , 3
16
a
0

a
2
where the functions
a

are as in example I.2.11 (2) and where all


indices have to be taken modulo 3. The hierarchical basis of
S
2,0
(T )

K
consists of the functions

a
i
i = 0, . . . , 3
4
a
i
[
a
i+1

a
i+2
] i = 0, . . . , 3
16
a
0

a
2
.
(3) Consider a again a tetrahedron K with its vertices numbered as in
example I.2.11 (3). Then the nodal basis of S
2,0
(T )

K
consists of the
functions

a
i
[
a
i

a
i+1

a
i+2

a
i+3
] i = 0, . . . , 3
4
a
i

a
j
0 i < j 3,
where the functions
a

are as in example I.2.11 (3) and where all


indices have to be taken modulo 4. The hierarchical basis consists of
the functions

a
i
i = 0, . . . , 3
4
a
i

a
j
0 i < j 3.
I.2.11. A quasi-interpolation operator. We will frequently use
the quasi-interpolation operator R
T
: L
1
() S
1,0
0
(T ) which
is dened by
R
T
=

xN
T

x
1
[
x
[
_

x
dx.
Here, [
x
[ denotes the area, if n = 2, respectively volume, if n = 3,
of the set
x
.
I.2. NOTATIONS AND BASIC RESULTS 27
The operator R
T
satises the following local error estimates for all
H
1
0
() and all elements K T :
| R
T
|
L
2
(K)
c
1
h
K
||
H
1
(
K
)
,
| R
T
|
L
2
(K)
c
2
h
1/2
K
||
H
1
(
K
)
.
Here,
K
denotes the set of all elements that share at least a vertex
with K (cf. Figure I.2.5).
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
K
K
d
d
d
Figure I.2.5. Examples of domains
K
Remark I.2.14. The operator R
T
is called a quasi-interpolation op-
erator since it does not interpolate a given function at the vertices
x A
T
. In fact, point values are not dened for H
1
-functions. For
functions with more regularity which are at least in H
2
(), the situa-
tion is dierent. For those functions point values do exist and the clas-
sical nodal interpolation operator I
T
: H
2
() H
1
0
() S
1,0
0
(T ) can
be dened by the relation (I
T
())(x) = (x) for all vertices x A
T
.
I.2.12. Bubble functions. For any element K T we dene an
element bubble function by

K
=
K

xKN
T

x
,

K
=
_

_
27 if K is a triangle,
256 if K is a tetrahedron,
16 if K is a parallelogram,
64 if K is a parallelepiped.
It has the following properties:
0
K
(x) 1 for all x K,

K
(x) = 0 for all x , K,
28 I. FUNDAMENTALS
max
xK

K
(x) = 1.
We denote by c
T
the set of all edges, if n = 2, and of all faces, if
n = 3, of all elements in T . With each edge respectively face E c
T
we associate an edge respectively face bubble function by

E
=
E

xEN
T

x
,

E
=
_

_
4 if E is a line segment,
27 if E is a triangle,
16 if E is a parallelogram.
It has the following properties:
0
E
(x) 1 for all x
E
,

E
(x) = 0 for all x ,
E
,
max
x
E

E
(x) = 1.
Here
E
is the union of all elements that share E (cf. Figure I.2.6).
Note that
E
consists of two elements, if E is not contained in the
boundary , and of exactly one element, if E is a subset of .

d
d
d
d
d
d
d
d
d
d
d
d

Figure I.2.6. Examples of domains


E
(E is marked bold.)
With each edge respectively face E c
T
we nally associate a unit
vector n
E
orthogonal to E and denote by []
E
the jump across E in
direction n
E
. If E is contained in the boundary the orientation of
n
E
is xed to be the one of the exterior normal. Otherwise it is not
xed.
Remark I.2.15. []
E
depends on the orientation of n
E
but quantities
of the form [n
E
]
E
are independent of this orientation.
CHAPTER II
Stationary linear problems
II.1. Discretization of the Stokes equations. A rst attempt
II.1.1. The Poisson equation revisited. We recall the Poisson
equation
= f in
= 0 on
and its variational formulation: Find H
1
0
() such that
_

dx =
_

fdx
holds for all H
1
0
().
The Poisson equation and this variational formulation are equiva-
lent in the sense that any solution of the Poisson equation is a solution
of the variational problem and that conversely any solution of the vari-
ational problem which is twice continuously dierentiable is a solution
of the Poisson equation. Moreover, one can prove that the variational
problem admits a unique solution.
Standard nite element discretizations simply choose a partition T
of and an integer k 1 and replace in the variational problem H
1
0
()
by the nite dimensional space S
k,0
0
(T ). This gives rise to a linear
system of equations with a symmetric, positive denite, square matrix,
called stiffness matrix. If, e.g. k = 1, the size of the resulting
discrete problem is given by the number of vertices in T which do not
lie on the boundary .
II.1.2. A variational formulation of the Stokes equations.
Now we look at the Stokes equations of I.1.14 (p. 16) with no-slip
boundary condition
u + grad p = f in
div u = 0 in
u = 0 on .
The space
V = u H
1
0
()
n
: div u = 0
is a sub-space of H
1
0
()
n
which has similar properties. For every p
H
1
() and any u V the integration by parts formulae of I.2.3 (p.
29
30 II. STATIONARY LINEAR PROBLEMS
19) imply that
_

p udx =
_

p div udx = 0.
We therefore obtain the following variational formulation of the Stokes
equations: Find u V such that
_

u : udx =
_

f vdx
holds for all v V .
As for the Poisson problem, any velocity eld which solves the
Stokes equations also solves this variational problem. Moreover, one
can prove that the variational problem admits a unique solution. But,
we have lost the pressure! This is an apparent gap between dierential
equation and variational problem which is not present for the Poisson
equation.
II.1.3. A naive discretization of the Stokes equations. Al-
though the variational problem of the previous section does not incor-
porate the pressure, it nevertheless gives information about the velocity
eld. Therefore one may be attempted to use it as a starting point for
a discretization process similar to the Poisson equation. This would
yield a symmetric, positive denite system of linear equations for a
discrete velocity eld. This would have the appealing side-eect that
standard solvers such as preconditioned conjugate gradient algorithms
were available. The following example shows that this approach leads
to a dead-end road.
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
dd
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
K
0
K
1
K
2
Figure II.1.1. Courant triangulation
Example II.1.1. We consider the unit square = (0, 1)
2
and divide
it into N
2
squares of equal size. Each square is further divided into
two triangles by connecting its top-left corner with its bottom-right
II.1. A FIRST ATTEMPT 31
corner (cf. Figure II.1.1). This partition is known as Courant tri-
angulation. The length of the triangles short sides is h =
1
N1
. For
the discretization of the Stokes equations we replace V by V (T ) =
S
1,0
0
(T )
2
V , i.e. we use continuous, piecewise linear, solenoidal nite
element functions. Choose an arbitrary function v
T
V (T ). We rst
consider the triangle K
0
which has the origin as a vertex. Since all its
vertices are situated on the boundary, we have v
T
= 0 on K
0
. Next we
consider the triangle K
1
which shares its long side with K
0
. Denote by
z
1
the vertex of K
1
which lies in the interior of . Taking into account
that v
T
= 0 on and div v
T
= 0 in K
1
, applying the integration by
parts formulae of I.2.3 (p. 19) and evaluating line integrals with the
help of the trapezoidal rule, we conclude that
0 =
_
K
1
div v
T
dx
=
_
K
1
v
T
n
K
1
dS
=
h
2
v
T
(z
1
) e
1
+e
2
.
Here n
K
1
is the unit exterior normal to K
1
and e
1
, e
2
denote the
canonical bases vectors in R
2
. Next we consider the triangle K
2
, which
is adjacent to the vertical boundary of and to K
1
. With the same
arguments as for K
1
we conclude that
0 =
_
K
2
div v
T
dx
=
_
K
2
v
T
n
K
2
dS
=
h
2
v
T
(z
1
) e
1
+e
2

. .
=0

h
2
v
T
(z
1
) e
2
=
h
2
v
T
(z
1
) e
2
.
Since v
T
(z
1
) e
1
= v
T
(z
1
) e
2
we obtain
v
T
(z
1
) = 0
and consequently v
T
= 0 on K
0
K
1
K
2
. Repeating this argument,
we rst conclude that v
T
vanishes on all squares that are adjacent to
the left boundary of and then that v
T
vanishes on all of . Hence we
have V (T ) = 0. Thus this space is not suited for the approximation
of V .
Remark II.1.2. One can prove that S
k,0
0
(T )
2
V is suited for the
approximation of V only if k 5. This is no practical choice.
32 II. STATIONARY LINEAR PROBLEMS
II.1.4. Possible remedies. The previous sections show that the
Poisson and Stokes equations are fundamentally dierent and that the
discretization of the Stokes problem is a much more delicate task than
for the Poisson equation.
There are several possible remedies for the diculties presented
above:
Relax the divergence constraint: This leads to mixed nite
elements.
Add consistent penalty terms: This leads to stabilized Petrov-
Galerkin formulations.
Relax the continuity condition: This leads to non-conforming
methods.
Look for an equivalent dierential equation without the diver-
gence constraint: This leads to the stream-function formula-
tion.
In the following sections we will investigate all these possibilities
and will see that each has its particular pitfalls.
II.2. Mixed nite element discretizations of the Stokes
equations
II.2.1. Saddle-point formulation of the Stokes equations.
We recall the Stokes equations with no-slip boundary condition
u + grad p = f in
div u = 0 in
u = 0 on .
If p is any pressure solving the Stokes equations and if c is any
constant, obviously p + c is also an admissible pressure for the Stokes
equations. Hence, the pressure is at most unique up to an additive
constant. We try to x this constant by the normalization
_

pdx = 0.
If v H
1
0
()
n
and p H
1
() are arbitrary, the integration by
parts formulae of I.2.3 (p. 19) imply that
_

p vdx =
_

p v n
..
=0
dS
_

p div vdx
=
_

p div vdx.
These observations lead to the following mixed variational for-
mulation of the Stokes equations:
II.2. MIXED FINITE ELEMENTS 33
Find u H
1
0
()
n
and p L
2
0
() such that
_

u : vdx
_

p div vdx =
_

f vdx for all v H


1
0
()
n
_

q div udx = 0 for all q L


2
0
().
It has the following properties:
Any solution u, p of the Stokes equations is a solution of the
above variational problem.
Any solution u, p of the variational problem which is su-
ciently smooth is a solution of the Stokes equations.
The variational problem is the Euler-Lagrange equation cor-
responding to the constrained minimization problem
Minimize
1
2
_

[u[
2
dx
_

f udx
subject to
_

q div udx = 0 for all q L


2
0
().
Hence it is a saddle-point problem, i.e. u is a minimizer, p
is a maximizer and is the Lagrange multiplicator corresponding
the constraint div u = 0.
A deep mathematical result is:
The mixed variational formulation of the Stokes equations
admits a unique solution u, p. This solution depends con-
tinuously on the force f , i.e.
[u[
1
+|p|
0
c

|f |
0
with a constant c

which only depends on the domain .


II.2.2. General structure of mixed nite element discreti-
zations of the Stokes equations. We choose a partition T of and
two associated nite element spaces X(T ) H
1
0
()
n
for the velocity
and Y (T ) L
2
0
() for the pressure. Then we replace in the mixed
variational formulation of the Stokes equations the space H
1
0
()
n
by
X(T ) and the space L
2
0
() by X(T ).
This gives rise to the following general mixed finite element
discretization of the Stokes equations:
Find u
T
X(T ) and p
T
Y (T ) such that
_

u
T
: v
T
dx
_

p
T
div v
T
dx =
_

f v
T
dx
34 II. STATIONARY LINEAR PROBLEMS
for all v
T
X(T )
_

q
T
div u
T
dx = 0 for all q
T
Y (T ).
Remark II.2.1. Obviously, any particular mixed nite element dis-
cretization of the Stokes equations is determined by specifying the par-
tition T and the spaces X(T ) and Y (T ). The condition X(T )
H
1
0
()
n
implies that the discrete velocities are globally continuous and
vanish on the boundary. The condition Y (T ) L
2
0
() implies that the
discrete pressures have vanishing mean value, i.e.
_

p
T
dx = 0 for all
p
T
Y (T ). The condition
_

q
T
div u
T
dx = 0 for all q
T
Y (T ) in
general does not imply div u
T
= 0.
II.2.3. A rst attempt. We consider the unit square = (0, 1)
2
and the Courant triangulation of Example II.1.1 (p. 30). We choose
X(T ) = S
1,0
0
(T )
2
Y (T ) = S
0,1
(T ) L
2
0
(T )
i.e. a continuous, piecewise linear velocity approximation and a piece-
wise constant pressure approximation on a triangular grid. Assume
that u
T
, p
T
is a solution of the discrete problem. Then div u
T
is piece-
wise constant. The condition
_

q
T
div u
T
dx = 0 for all q
T
Y (T )
therefore implies div u
T
= 0. Hence we conclude from Example II.1.1
that u
T
= 0. Thus this mixed nite element discretization has the
same defects as the one of Example II.1.1.
II.2.4. A necessary condition for a well-posed mixed dis-
cretization. We consider an arbitrary mixed nite element discretiza-
tion of the Stokes equations with spaces X(T ) for the velocity and
Y (T ) for the pressure. A minimal requirement for such a discretization
obviously is its well-posedness, i.e. that it admits a unique solution.
Hence the stiness matrix must be invertible.
Denote by n
u
the dimension of X(T ) and by n
p
the one of Y (T )
and choose arbitrary bases for these spaces. Then the stiness matrix
has the form
_
A B
B
T
0
_
with a symmetric positive denite n
u
n
u
matrix A and a rectangular
n
u
n
p
matrix B. Since A is symmetric positive denite, the stiness
matrix is invertible if and only if the matrix B has rang n
p
. Since the
rang of a rectangular k m matrix is at most mink, m, this leads to
the following necessary condition for a well-posed mixed discretization:
II.2. MIXED FINITE ELEMENTS 35
n
u
n
p
.
Lets have a look at the example of the previous section in the light
of this condition. Denote by N
2
the number of the squares. An easy
calculation then yields n
u
= 2(N 1)
2
and n
p
= 2N
2
1. Hence we
have n
p
> n
u
and the discretization cannot be well-posed.
II.2.5. A second attempt. As in II.2.3 (p. 34) we consider the
unit square and divide it into N
2
squares of equal size with N even.
Contrary to II.2.3 the squares are not further sub-divided. We choose
the spaces
X(T ) = S
1,0
0
(T )
2
Y (T ) = S
0,1
(T ) L
2
0
(T )
i.e. a continuous, piecewise bilinear velocity approximation and a piece-
wise constant pressure approximation on a quadrilateral grid. This
discretization is often refered to as Q1/Q0 element.
A simple calculation yields the dimensions n
u
= 2(N 1)
2
and
n
p
= N
2
1. Hence the condition n
u
n
p
of the previous section is
satised provided N 4.
+1 +1
+1 +1
+1 +1
+1 +1
1 1
1 1
1 1
1 1
Figure II.2.1. Checkerboard mode
Denote by K
i,j
, 0 i, j N1, the square which has the lower left
corner (ih, jh) where h =
1
N1
. We now look at the particular pressure
p
T
Y (T ) which has the constant value (1)
i+j
on K
i,j
(cf. Figure
II.2.1). It is frequently called checkerboard mode. Consider an
arbitrary velocity v
T
X(T ). Using the integration by parts formulae
of I.2.3 (p. 19) and evaluating line integrals with the trapezoidal rule
36 II. STATIONARY LINEAR PROBLEMS
we obtain
_
K
ij
p
T
div v
T
dx
= (1)
i+j
_
K
ij
div v
T
dx
= (1)
i+j
_
K
ij
v
T
n
K
ij
dS
= (1)
i+j
h
2
_
(v
T
e
1
)((i + 1)h, jh) + (v
T
e
1
)((i + 1)h, (j + 1)h)
(v
T
e
1
)(ih, (j + 1)h) (v
T
e
1
)(ih, jh)
+ (v
T
e
2
)((i + 1)h, (j + 1)h) + (v
T
e
2
)(ih, (j + 1)h)
(v
T
e
2
)(ih, jh) (v
T
e
2
)((i + 1)h, jh)
_
.
Due to the homogeneous boundary condition, summation with respect
to all indices i, j yields
_

p
T
div v
T
dx = 0.
Since v
T
was arbitrary, the solution of the discrete problem cannot be
unique: One may add p
T
to any pressure solution and obtains a new
one.
This phenomenon is known as checkerboard instability. It
shows that the condition of the previous section is only a necessary one
and does not imply the well-posedness of the discrete problem.
II.2.6. The inf-sup condition. In 1974 Franco Brezzi pub-
lished the following necessary and sucient condition for the well-
posedness of a mixed nite element discretization of the Stokes equa-
tions:
inf
p
T
Y (T )\{0}
sup
u
T
X(T )\{0}
_

p
T
div u
T
dx
[u
T
[
1
|p
T
|
0
> 0.
A pair X(T ), Y (T ) of nite element spaces satisfying this condi-
tion is called stable. The same notion refers to the corresponding
discretization.
Remark II.2.2. In practice one usually not only considers a single par-
tition T , but complete families of partitions which are often obtained
by successive local or global renements. Usually they are labeled T
h
where the index h indicates that the mesh-size gets smaller and smaller.
II.2. MIXED FINITE ELEMENTS 37
In this situation, the above condition of Franco Brezzi must be satised
uniformly, i.e. the number must be independent of the mesh-size.
Remark II.2.3. The above condition is known under various
names. A prosaic one is inf-sup condition. Another one, mainly
used in western countries, is Babu

ska-Brezzi condition. A third


one, which is popular in eastern Europe and Russia, is Ladyzhens-
kaya-Babu

ska-Brezzi condition in short LBB-condition. The


additional names honour older results of Olga Ladyzhenskaya and Ivo
Babuska which, in a certain sense, lay the ground for the result of
Franco Brezzi.
In the following sections we give a catalogue of various stable ele-
ments. It incorporates the most popular elements, but it is not com-
plete. We distinguish between discontinuous and continuous pressure
approximations. The rst variant sometimes gives a better approxima-
tion of the incompressibility condition; the second variant often leads to
smaller discrete systems while retaining the accuracy of a comparable
discontinuous pressure approximation.
II.2.7. A stable low-order element with discontinuous pres-
sure approximation. This discretization departs from the unstable
Q1/Q0-element. It is based on the observation that the instability of
the Q1/Q0-element is due to the fact that the velocity space cannot
balance pressure jumps across element boundaries. As a remedy the
velocity space is enriched by edge respectively face bubble functions
(cf. I.2.12 (p. 27)) which give control on the pressure jumps.
The pair
X(T ) = S
1,0
0
(T )
n
span
E
n
E
: E c
T

Y (T ) = S
0,1
(T ) L
2
0
()
is stable.
Since the bubble functions
E
are contained in S
n,0
(T ) we obtain
as a corollary:
The pair
X(T ) = S
n,0
0
(T )
n
Y (T ) = S
0,1
(T ) L
2
0
()
is stable.
II.2.8. Stable higher-order elements with discontinuous
pressure approximation. For the following result we assume that
38 II. STATIONARY LINEAR PROBLEMS
T exclusively consists of triangles or tetrahedrons. Moreover, we de-
note for every positive integer by
P

= spanx

1
1
. . . x

n
n
:
1
+ . . . +
n
=
the space of homogeneous polynomials of degree . With these restric-
tions and notations the following result can be proven:
For every m n the pair
X(T ) =
_
S
m,0
0
(T ) span
K
: K T , P
m2

n
Y (T ) = S
m1,1
(T ) L
2
0
()
is stable.
Since the element-bubble functions
K
are polynomials of degree
n + 1 we obtain as a corollary:
For every m n the pair
X(T ) = S
n+m1,0
0
(T )
n
Y (T ) = S
m1,1
(T ) L
2
0
()
is stable.
II.2.9. Stable low-order elements with continuous pressure
approximation. Given a partition T we denote by T1
2
the rened par-
tition which is obtained by connecting in every element the midpoints
of its edges. With this notation the following results were established
in the early 1980s:
The mini element
X(T ) =
_
S
1,0
0
(T ) span
K
: K T

n
Y (T ) = S
1,0
(T ) L
2
0
()
is stable.
The Taylor-Hood element
X(T ) = S
2,0
0
(T )
n
Y (T ) = S
1,0
(T ) L
2
0
()
is stable.
The modified Taylor-Hood element
X(T ) = S
1,0
0
(T1
2
)
n
II.2. MIXED FINITE ELEMENTS 39
Y (T ) = S
1,0
(T ) L
2
0
()
is stable.
II.2.10. Stable higher-order elements with continuous pres-
sure approximation. The stability of higher order elements with con-
tinuous pressure approximation was established only in the early 1990s:
For every k 3 the higher order Taylor-Hood ele-
ment
X(T ) = S
k,0
0
(T )
n
Y (T ) = S
k1,0
(T ) L
2
0
()
is stable.
II.2.11. A priori error estimates. We consider a partition T
with mesh-size h and a stable pair X(T ), Y (T ) of corresponding nite
element spaces for the discretization of the Stokes equations. We de-
note by k
u
and k
p
the maximal polynomial degrees k and m such that
S
k,0
0
(T )
n
X(T ) and either S
m,1
(T ) L
2
0
() Y (T ) when using
a discontinuous pressure approximation or S
m,0
(T ) L
2
0
() Y (T )
when using a continuous pressure approximation. Set
k = mink
u
1, k
p
.
Further we denote by u, p the unique solution of the saddle-point
formulation of the Stokes equations (cf. II.2.1 (p. 32)) and by u
T
, p
T
the unique solution of the discrete problem under consideration.
With these notations the following a priori error estimates can be
proven:
Assume that u H
k+2
()
n
H
1
0
()
n
and p H
k+1
()
L
2
0
(), then
[u u
T
[
1
+|p p
T
|
0
c
1
h
k+1
|f |
k
.
If in addition is convex, then
|u u
T
|
0
c
2
h
k+2
|f |
k
.
The constants c
1
and c
2
only depend on the domain .
Example II.2.4. Table II.2.1 collects the numbers k
u
, k
p
, and k for
the examples of the previous sections.
40 II. STATIONARY LINEAR PROBLEMS
Table II.2.1. Parameters of various stable elements
pair k
u
k
p
k
II.2.7 1 0 0
II.2.8 m m1 m1
mini element 1 1 0
Taylor-Hood element 2 1 1
modied Taylor-Hood element 1 1 0
higher order Taylor-Hood element k k 1 k 1
Remark II.2.5. The above regularity assumptions are not realistic.
For a convex polygonal domain, one in general only has u H
2
()
n

H
1
0
()
n
and p H
1
() L
2
(). Therfore, independently of the actual
discretization, one in general only gets an O(h) error estimate. If
is not convex, but has re-entrant corners, the situation is even worse:
One in general only gets an O(h

) error estimate with an exponent


1
2
< 1 which depends on the largest interior angle at a boundary
vertex of . This poor convergence behaviour can only be remedied by
an adaptive grid renement based on an a posteriori error control.
Remark II.2.6. The dierentiation index of the pressure always is
one less than the dierentiation index of the velocity. Therefore, dis-
cretizations with k
p
= k
u
1 are optimal in that they do not waste
degrees of freedom by choosing too large a velocity space or too small
a pressure space.
II.3. Petrov-Galerkin stabilization
II.3.1. Motivation. The results of II.2 show that one can stabi-
lize a given pair of nite element spaces by either reducing the number
of degrees of freedom in the pressure space or by increasing the number
of degrees of freedom in the velocity space. This result is reassuring
but sometimes not practical since it either reduces the accuracy of the
pressure or increases the number of unknowns and thus the compu-
tational work. Sometimes one would prefer to stick to a given pair
of spaces and to have at hand a dierent stabilization process which
does neither change the number of unknowns nor the accuracy of the
nite element spaces. A particular example for this situation is the
popular equal order interpolation where X(T ) = S
m.0
0
(T )
n
and
Y (T ) = S
m,0
(T ) L
2
0
().
In this section we will devise a stabilization process with the desired
properties. For its motivation we will have another look at the mini
element of II.2.9 (p. 38).
II.3.2. The mini element revisited. We consider a triangula-
tion T of a two dimensional domain and set for abbreviation
B(T ) =
_
span
K
: K T

2
.
II.3. PETROV-GALERKIN STABILIZATION 41
The discretization of the Stokes equations with the mini element of
II.2.9 (p. 38) then takes the form:
Find u
T
S
1,0
0
(T )
2
B(T ) and p
T
S
1,0
(T ) L
2
0
() such that
_

u
T
: v
T
dx
_

p
T
div v
T
dx =
_

f v
T
dx
for all v
T
S
1,0
0
(T )
2
B(T )
_

q
T
div u
T
dx = 0
for all q
T
S
1,0
(T ) L
2
0
().
For simplicity we assume that f L
2
()
2
.
We split the velocity u
T
in a linear part u
T ,L
S
1,0
0
(T )
2
and a
bubble part u
T ,B
B(T ):
u
T
= u
T ,L
+u
T ,B
.
Since u
T ,B
vanishes on the element boundaries, dierentiation by parts
yields for every v
T
S
1,0
0
(T )
2
_

u
T ,B
: v
T
dx =

KT
_
K
u
T ,B
: v
T
dx
=

KT
_
K
u
T ,B
v
T
..
=0
dx
= 0.
Hence, we have
_

u
T ,L
: v
T
dx
_

p
T
div v
T
dx =
_

f v
T
dx
for all v
T
S
1,0
0
(T )
2
.
The bubble part of the velocity has the representation
u
T ,B
=

KT

K
with coecients
K
R
2
. Inserting the test function v
T
= e
i

K
with
i 1, 2 and K T in the momentum equation, we obtain
_
K
f e
i

K
dx
=
_

f (
K
e
i
)dx
=
_

u
T ,L
: (
K
e
i
)dx
. .
=0
+
_

u
T ,B
: (
K
e
i
)dx
. .
=
K,i

K
|
K
|
2
dx
42 II. STATIONARY LINEAR PROBLEMS

p
T
div(
K
e
i
)dx
. .
=

K
p
T
x
i

K
dx
=
K,i
_
K
[
K
[
2
dx +
_
K
p
T
x
i

K
dx, i = 1, 2,
and thus

K
=
__
K
[f p
T
]
K
dx
___
K
[
K
[
2
dx
_
1
for all K T .
For abbreviation we set

K
=
__
K
[
K
[
2
dx
_
1
.
Next we insert the representation of u
T ,B
in the continuity equation.
This yields for all q
T
S
1,0
(T ) L
2
0
()
0 =
_

q
T
div u
T
dx
=
_

q
T
div u
T ,L
dx +

KT
_
K
q
T
div(
K

K
)dx
. .
=

K

K

K
q
T
dx
=
_

q
T
div u
T ,L
dx

KT

K
__
K

K
q
T
dx
_

__
K

K
[f p
T
]dx
_
.
This proves that u
T ,L
S
1,0
0
(T )
2
, p
T
S
1,0
(T ) L
2
0
() solve the
modied problem
_

u
T ,L
: v
T
dx
_

p
T
div v
T
dx =
_

f v
T
dx
for all v
T
S
1,0
0
(T )
2
_

q
T
div u
T ,L
dx + c
T
(p
T
, q
T
) =
T
(q
T
)
for all q
T
S
1,0
(T ) L
2
0
()
where
c
T
(p
T
, q
T
) =

KT

K
_
K
p
T
q
T
dx

T
(q
T
) =

KT

K
__
K

K
q
T
dx
_

__
K

K
f dx
_
II.3. PETROV-GALERKIN STABILIZATION 43

K
=
K
[K[
1
__
K

K
dx
_
2
.
Note that
K
is proportional to h
2
K
.
The new problem can be interpreted as a P1/P1 discretization of
the dierential equation
u + grad p = f in
div u p = div f in
u = 0 on
with a suitable penalty parameter . Taking into account that
u
T
vanishes elementwise, 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. Since the penalty vanishes for the exact solu-
tion of the Stokes equations, this approach is also called consistent
penalty.
II.3.3. General form of Petrov-Galerkin stabilizations. Gi-
ven a partition T of we choose two corresponding nite element
spaces X(T ) H
1
0
()
n
and Y (T ) L
2
0
(). For every element K T
and every edge respectively face E c
T
we further choose non-negative
parameters
K
and
E
.
With these notations we consider the following discrete problem:
Find u
T
X(T ) and p
T
Y (T ) such that
_

u
T
: v
T
dx
_

p
T
div v
T
dx =
_

f v
T
dx
_

q
T
div u
T
dx
+

KT

K
h
2
K
_
K
[u
T
+p
T
] q
T
dx
+

EE
T

E
h
E
_
E
[p
T
]
E
[q
T
]
E
dS =

KT

K
h
2
K
_
K
f q
T
dx
for all v
T
X(T ) and all q
T
Y (T ).
Recall that []
E
denotes the jump across E.
Remark II.3.1. The terms involving
K
correspond to the equation
div[u +p] = div f .
The terms involving
E
are only relevant for discontinuous pressure
approximations. When using a continuous pressure approximation,
they vanish.
44 II. STATIONARY LINEAR PROBLEMS
II.3.4. Choice of stabilization parameters. With the nota-
tions of the previous section we set

max
= maxmax
KT

K
, max
EE
T

E
,

min
=
_
_
_
minmin
KT

K
, min
EE
T

E
if pressures are discontinuous,
min
KT

K
if pressures are continuous.
A good choice of the stabilization parameters then is determined by
the condition

max

min
.
II.3.5. Choice of spaces. The a priori error estimates are opti-
mal when the polynomial degree of the pressure approximation is one
less than the polynomial degree of the velocity approximation. Hence
a standard choice is
X(T ) = S
k,0
0
(T )
Y (T ) =
_

_
S
k1,0
(T ) L
2
0
() continuous pressure
approximation
S
k1,1
(T ) L
2
0
() discontinuous pressure
approximation
where k 1 for discontinuous pressure approximations and k 2 for
continuous pressure approximations. These choices yield O(h
k
) error
estimates provided the solution of the Stokes equations is suciently
smooth.
II.3.6. Structure of the discrete problem. The stiness ma-
trix of a Petrov-Galerkin scheme has the form
_
A B
B
T
C
_
with symmetric, positive denite, square matrices A and C and a rect-
angular matrix B. The entries of C are by a factor of h
2
smaller than
those of A.
Recall that C = 0 for the discretizations of II.2.
II.4. Non-conforming methods
II.4.1. Motivation. Up to now we have always imposed the con-
dition X(T ) H
1
0
()
n
, i.e. the discrete velocities had to be contin-
uous. Now, we will relax this condition. We hope that we will be
II.4. NON-CONFORMING METHODS 45
rewarded by less diculties with respect to the incompressibility con-
straint.
One can prove that, nevertheless, the velocities must enjoy some
minimal continuity: On each edge the mean value of the velocity jump
across this edge must vanish. Otherwise the consistency error will be
at least of order O(1).
II.4.2. The Crouzeix-Raviart element. We consider a trian-
gulation T of a two dimensional domain and set
X(T ) = v
T
: R
2
: v
T

K
R
1
(K) for all K T ,
v
T
is continuous at mid-points,
v
T
of interior edges,
v
T
vanishes at mid-points
v
T
of boundary edges
Y (T ) = S
0,1
(T ) L
2
0
().
This pair of spaces is called Crouzeix-Raviart element. Its
degrees of freedom are the velocity-vectors at the mid-points of in-
terior edges and the pressures at the barycentres of elements. The
corresponding discrete problem is:
Find u
T
X(T ) and p
T
Y (T ) such that

KT
_
K
u
T
: v
T
dx

KT
_
K
p
T
div v
T
dx =
_

f v
T
dx

KT
_
K
q
T
div u
T
dx = 0
for all v
T
X(T ) and all q
T
Y (T ).
The following results can be proven:
The Crouzeix-Raviart discretization admits a unique solu-
tion u
T
, p
T
.
The continuity equation div u
T
= 0 is satised element-
wise.
If is convex, the following error estimates hold
_

KT
[u u
T
[
2
H
1
(K)
_
1/2
+|p p
T
|
0
= O(h),
46 II. STATIONARY LINEAR PROBLEMS
|u u
T
|
0
= O(h
2
).
However, the Crouzeix-Raviart discretization has several drawbacks
too:
Its accuracy deteriorates drastically in the presence
of re-entrant corners.
It has no higher order equivalent.
It has no three-dimensional equivalent.
II.4.3. Construction of a local solenoidal bases. One of the
main attractions of the Crouzeix-Raviart element is the fact that it
allows the construction of a local solenoidal bases for the velocity space
and that in this way the computation of the velocity and pressure can
be decoupled.
For the construction of the solenoidal bases we denote by
NT the number of triangles,
NE
0
the number of interior edges,
NV
0
the number of interior vertices,
V (T ) = u
T
X(T ) : div u
T
= 0 the space of solenoidal
velocities.
The quantities NT, NE
0
, and NV
0
are connected via Eulers for-
mula
NT NE
0
+ NV
0
= 1.
Since X(T ) and Y (T ) satisfy the inf-sup condition, an elementary
calculation using this formula yields
dimV (T ) = dimX(T ) dimY (T )
= 2NE
0
(NT 1)
= NE
0
+ NV
0
.
With every edge E c
T
we associate a unit tangential vector t
E
and a piecewise linear function
E
which equals 1 at the midpoint of E
and which vanishes at all other midpoints of edges. With this notation
we set
w
E
=
E
t
E
for all E c
T
.
These functions obviously are linearly independent. For every triangle
K and every edge E we have
_
K
div w
E
dx =
_
K
n
K
w
E
dS = 0.
Since div w
E
is piecewise constant, this implies that the functions w
E
are contained in V (T ).
II.4. NON-CONFORMING METHODS 47
With every vertex x A
T
we associate the set c
x
of all edges
which have x as an endpoint. Starting with an arbitrary edge in c
x
we
enumerate the remaining edges in c
x
consecutively in counter-clockwise
orientation. For E c
x
we denote by t
E,x
and n
E,x
two orthogonal
unit vectors such that t
E,x
is tangential to E, points away from x, and
satises det(t
E,x
, n
E,x
) > 0. With these notations we set (cf. Figure
II.4.1)
w
x
=

EE
x
1
[E[

E
n
E,x
.
The functions w
x
obviously are linearly independent. Since the w
E
are
tangential to the edges and the w
x
are normal to the edges, both sets
of functions are linearly independent.
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
T
'

c
E

Figure II.4.1. The function w


x
Next consider a triangle K T and a vertex x A
T
of K and
denote by E
1
, E
2
the two edges of K sharing the vertex x. Denote
by m
E
i
the midpoint of E
i
, i = 1, 2. Using the integration by parts
formulae of I.2.3 (p. 19) and evaluating line integrals with the help of
the midpoint formula, we conclude that
_
K
div w
x
dx =
_
K
w
x
n
K
dS
=
2

i=1
[E
i
[w
x
(m
E
i
) n
K
=
2

i=1
n
E
i
,x
n
K
= 0.
This proves that w
x
V (T ).
Hence we have
V (T ) = spanw
x
, w
E
: x A
T
, E c
T

48 II. STATIONARY LINEAR PROBLEMS


and the discrete velocity eld of the Crouzeix-Raviart discretization is
given by the problem:
Find u
T
V (T ) such that

KT
_
K
u
T
: v
T
dx =
_

f v
T
dx
for all v
T
V (T ).
This is a linear system of equations with NE
0
+NV
0
equations and
unknowns and with a symmetric, positive denite stiness matrix. The
stiness matrix, however, has a condition of O(h
4
) compared with a
condition of O(h
2
) of the larger, symmetric, but indenite stiness
matrix of the original mixed problem.
The above problem only yields the velocity. The pressure, however,
can be computed by a simple post-processing process. To describe it,
denote by m
E
the midpoint of any edge E c
T
. Using the integration
by parts formulae of I.2.3 (p. 19) and evaluating line integrals with
the help of the midpoint formula, we conclude that
_

f
E
n
E
dx

KT
_
K
u
T
:
E
n
E
dx
=

KT
_
K
p
T
div
E
n
E
dx
=
_
E
[
E
p
T
]
E
dS
= [E[[
E
(m
E
)p
T
]
E
= [E[[p
T
]
E
.
Hence, we can compute the pressure jumps edge by edge by evaluating
the left-hand side of this equation. Starting with a triangle K which has
an edge on the boundary , we set p
T
= 0 on this triangle and compute
it on the remaining triangles by passing through adjacent triangles and
adding the pressure jump corresponding to the common edge. Finally,
we compute
P =

KT
h
[K[
[[
p
T

K
and subtract P from p
T
. This yields the pressure p
T
of the Crouzeix-
Raviart discretization which has mean-value zero.
II.5. Stream-function formulation
II.5.1. Motivation. The methods of the previous sections all dis-
cretize the variational formulation of the Stokes equations of II.1.2 (p.
II.5. STREAM-FUNCTION FORMULATION 49
29) and yield simultaneously approximations for the velocity and pres-
sure. The discrete velocity elds in general are not solenoidal, i.e. the
incompressibility constraint is satised only approximately. In II.4 we
obtained an exactly solenoidal approximation but had to pay for this
by abandoning the conformity. In this section we will consider another
variational formulation of the Stokes equations which leads to conform-
ing solenoidal discretizations. As we will see this advantage has to be
paid for by other drawbacks.
Throughout this section we assume that is a two dimensional,
simply connected polygonal domain.
II.5.2. The curl operators. The subsequent analysis is based
on two curl-operators which correspond to the rot-operator in three
dimensions and which are dened as follows:
curl =
_

x
_
,
curl v =
v
1
y

v
2
x
.
They fulll the following chain rule
curl(curl ) = for all H
2
()
curl(curl v) = v +(div v) for all v H
2
()
2
and the following integration by parts formula
_

v curl dx =
_

curl vdx +
_

v tdS
for all v H
1
()
2
, H
1
().
Here t denotes a unit tangent vector to the boundary .
The following deep mathematical result is fundamental:
A vector-eld v : R
2
is solenoidal, i.e. div v = 0, if
and only if there is a unique stream-function : R
such that v = curl in and = 0 on .
II.5.3. Stream-function formulation of the Stokes equa-
tions. Let u, p be the solution of the Stokes equations with exterior
50 II. STATIONARY LINEAR PROBLEMS
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

n
= t curl = 0 on .
Inserting this representation of u in the momentum equation and ap-
plying the operator curl we obtain
curl f = curlu +p
= (curl u) + curl(p)
. .
=0
= (curl(curl ))
=
2
.
This proves that the stream function solves the biharmonic equa-
tion

2
= curl f in
= 0 on

n
= 0 on .
Conversely, one can prove: If solves the above biharmonic equa-
tion, 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 eld of the Stokes equations.
II.5.4. Variational formulation of the biharmonic equation.
With the help of the Sobolev space
H
2
0
() =
_
H
2
() : =

n
= 0 on
_
the variational formulation of the biharmonic equation of the pre-
vious section is given by
II.5. STREAM-FUNCTION FORMULATION 51
Find H
2
0
() such that
_

dx =
_

curl f dx
for all H
2
0
().
Remark II.5.2. The above variational problem is the Euler-Lagrange
equation corresponding to the minimization problem
J() =
1
2
_

()
2
dx
_

curl f dx min in H
2
0
().
Therefore it is tempting to discretize the biharmonic equation by re-
placing in its variational formulation the space H
2
0
() by a nite ele-
ment space X(T ) H
2
0
(). But, this would require C
1
-elements! The
lowest polynomial degree for which C
1
-elements exist, is ve!
II.5.5. A non-conforming discretization of the biharmonic
equation. One possible remedy to the diculties described in Remark
II.5.2 is to drop the C
1
-continuity of the nite element functions. This
leads to non-conforming discretizations of the biharmonic equation.
The most popular one is based on the so-called Morley element.
It is a triangular element, i.e. the partition T exclusively consists of
triangles. The corresponding nite element space is given by
M(T ) = S
2,1
(T ) : is continuous at the vertices,
n
E
is continuous at
n
E
the midpoints of edges.
The degrees of freedom are
the values of at the vertices and
the values of n
E
at the midpoints of edges.
The discrete problem is given by:
Find
T
M(T ) such that

KT
_
K

T

T
dx =

KT
_
K
curl f
T
dx
for all
T
M(T ).
One can prove that this discrete problem admits a unique solution.
The stiness matrix is symmetric, positive denite and has a condition
of O(h
4
).
52 II. STATIONARY LINEAR PROBLEMS
There is a close relation between this problem and the Crouzeix-
Raviart discretization of II.4 (p. 44):
If
T
M(T ) is the solution of the Morley element dis-
cretization of the biharmonic equation, then u
T
= curl
T
is the solution of the Crouzeix-Raviart discretization of the
Stokes equations.
II.5.6. Mixed nite element discretizations of the bihar-
monic equation. Another remedy to the diculties described in Re-
mark II.5.2 (p. 51) is to use a saddle-point formulation of the bihar-
monic equation and a corresponding mixed nite element discretiza-
tion. This saddle-point formulation is obtained by introducing the
vorticity = curl u. It is given by:
Find H
1
0
(), L
2
() and H
1
() such that
_

curl curl dx =
_

f curl dx
_

dx
_

dx = 0
_

curl curl dx
_

dx = 0
for all H
1
0
(), L
2
() and H
1
()
and nd p H
1
() L
2
0
() such that
_

p qdx =
_

(f curl ) qdx
for all q H
1
() L
2
0
().
Remark II.5.3. Compared with the saddle-point formulation of the
Stokes equations of II.1.2 (p. 29), the above problem imposes weaker
regularity conditions on the velocity u = curl and stronger regularity
conditions on the pressure p. The two quantities and are both
vorticities. The second equation means that they are equal in a weak
sense. But, this equality is not a point-wise one since both quantities
have dierent regularity properties. The computation of the pressure
is decoupled from the computation of the other quantities.
For the mixed nite element discretization we depart from a trian-
gulation T of and choose an integer 1 and set k = max1, 1.
Then the discrete problem is given by:
II.6. SOLUTION OF THE DISCRETE PROBLEMS 53
Find
T
S
,0
0
(T ),
T
S
,1
(T ) and
T
S
,0
(T ) such
that
_

curl
T
curl
T
dx =
_

f curl
T
dx
_

T
dx
_

T
dx = 0
_

curl
T
curl
T
dx
_

T
dx = 0
for all
T
S
,0
0
(T ),
T
S
,1
(T ) and
T
S
,0
(T )
and nd p
T
S
k,0
(T ) L
2
0
() such that
_

p
T
q
T
dx =
_

(f curl
T
) q
T
dx
for all q
T
S
k,0
(T ) L
2
0
()
One can prove that this discrete problem is well-posed and that its
solution satises the following a priori error estimate
|
T
|
1
+|
T
|
0
+|p p
T
|
0
c
_
h
m1
_
||
m+1
+||
m
+|p|
max{1,m1}
_
+ h
m
||
m
_
,
where 1 m depends on the regularity of the solution of the
biharmonic equation. In the lowest order case = 1 this estimate does
not imply convergence. But, using a more sophisticated analysis, one
can prove in this case an O(h
1
2
)-error estimate provided H
3
(),
i.e. u H
2
()
2
.
II.6. Solution of the discrete problems
II.6.1. General structure of the discrete problems. For the
discretization of the Stokes equations we choose a partition T of the
domain and nite element spaces X(T ) and Y (T ) for the approxima-
tion of the velocity and the pressure, respectively. With these choices
we either consider a mixed method as in II.2 (p. 32) or a Petrov-
Galerkin one as in II.3 (p. 40). Denote by
n
u
the dimension of X(T ) and by
n
p
the dimension of Y (T ) respectively.
Then the discrete problem has the form
(II.6.1)
_
A B
B
T
C
__
u
p
_
=
_
f
g
_
with
54 II. STATIONARY LINEAR PROBLEMS
= 0 for the mixed methods of II.2,
> 0 and 1 for the Petrov-Galerkin methods of II.3,
a square, symmetrix, positive denite n
u
n
u
matrix A with
condition of O(h
2
),
a rectangular n
u
n
p
matrix B,
a square, symmetric, positive denite n
p
n
p
matrix C with
condition of O(1),
a vector f of dimension n
u
discretizing the exterior force, and
a vector g of dimension n
p
which equals 0 for the mixed meth-
ods of II.2 and which results from the stabilization terms on
the right-hand sides of the methods of II.3.
Remark II.6.1. For simplicity, we drop in this section the index T
indicating the discretization. Moreover, we identify nite element func-
tions with their coecient vectors with respect to a nodal bases. Thus,
u and p are now vectors of dimension n
u
and n
p
, respectively.
The stiness matrix
_
A B
B
T
C
_
of the discrete problem (II.6.1) is symmetric, but indenite, i.e. it has
positive and negative real eigenvalues. Correspondingly, well-estab-
lished methods such as the conjugate gradient algorithm cannot be
applied. This is the main diculty in solving the linear systems arising
from the discretization of the Stokes equations.
Remark II.6.2. The indeniteness of the stiness matrix results from
the saddle-point structure of the Stokes equations. This cannot be
remedied by any stabilization procedure.
II.6.2. The Uzawa algorithm. The Uzawa algorithm is proba-
bly the simplest algorithm for solving the discrete problem (II.6.1).
Algorithm II.6.3. (Uzawa algorithm)
(0) Given: an initial guess p
0
for the pressure, a tolerance > 0
and a relaxation parameter > 0.
Sought: an approximate solution of the discrete problem
(II.6.1).
(1) Set i = 0.
(2) Apply a few Gauss-Seidel iterations to the linear system
Au = f Bp
i
and denote the result by u
i+1
. Compute
p
i+1
= p
i
+ B
T
u
i+1
g Cp
i
.
(3) If
|Au
i+1
+ Bp
i+1
f | +|B
T
u
i+1
Cp
i+1
g|
II.6. SOLUTION OF THE DISCRETE PROBLEMS 55
return u
i+1
and p
i+1
as approximate solution; stop. Otherwise
increase i by 1 and go to step 2.
Remark II.6.4. (1) The relaxation parameter usually is chosen in
the interval (1, 2); a typical choice is = 1.5.
(2) | | denotes any vector norm. A popular choice is the scaled
Euclidean norm, i.e. |v| =
_
1
n
u
v v for the velocity part and |q| =
_
1
n
p
q q for the pressure part.
(3) The problem Au = f Bp
i
is a discrete version of two, if R
2
, or
three, if R
3
, Poisson equations for the components of the velocity
eld.
(4) The Uzawa algorithm iterates on the pressure. Therefore it is
sometimes called a pressure correction scheme.
The Uzawa algorithm is very simple, but extremely slow. Therefore
it cannot be recommended for practical use. We have given it never-
theless, since it is the bases for the more ecient algorithm of II.6.4
(p. 57).
II.6.3. The conjugate gradient algorithm revisited. The al-
gorithm of the next section is based on the conjugate gradient algorithm
(CG algorithm). For completeness we recapitulate this algorithm.
Algorithm II.6.5. (Conjugate gradient algorithm)
(0) Given: a linear system of equations Lx = b with a symmetric,
positive denite matrix L, an initial guess x
0
for the solution,
and a tolerance > 0.
Sought: an approximate solution of the linear system.
(1) Compute
r
0
= b Lx
0
,
d
0
= r
0
,

0
= r
0
r
0
.
Set i = 0.
(2) If

i
<
2
return x
i
as approximate solution; stop. Otherwise go to step
3.
(3) Compute
s
i
= Ld
i
,

i
=

i
d
i
s
i
,
x
i+1
= x
i
+
i
d
i
,
r
i+1
= r
i

i
s
i
,
56 II. STATIONARY LINEAR PROBLEMS

i+1
= r
i+1
r
i+1
,

i
=

i+1

i
,
d
i+1
= r
i+1
+
i
d
i
.
Increase i by 1 and go to step 2.
The convergence rate of the CG-algorithm is given by
(

1)
(

+1)
where
is the condition of L and equals the ratio of the largest to the smallest
eigenvalue of L.
The following Java methods implement the CG-algorithm.
// CG algorithm
public void cg() {
int iter = 0;
double alpha, beta, gamma;
res = multiply(a, x);
res = add(b, res, 1.0, -1.0);
d = new double[dim];
copy(d, res);
gamma = innerProduct(res, res)/dim;
residuals[0] = Math.sqrt(gamma);
while ( iter < maxit-1 && residuals[iter] > tol ) {
iter++;
b = multiply(a, d);
alpha = innerProduct(d, b)/dim;
alpha = gamma/alpha;
accumulate(x, d, alpha);
accumulate(res, b, -alpha);
beta = gamma;
gamma = innerProduct(res, res)/dim;
residuals[iter] = Math.sqrt(gamma);
beta = gamma/beta;
d = add(res, d, 1.0, beta);
}
} // end of cg
// copy vector v to vector u
public void copy(double[] u, double[] v) {
for( int i = 0; i < dim; i++ )
u[i] = v[i];
} // end of copy
// multiply matrix c with vector y
public double[] multiply(double[][] c, double[] y) {
double[] result = new double[dim];
for( int i = 0; i < dim; i++ )
result[i] = innerProduct(c[i], y);
return result;
} // end of multiply
// return s*u+t*v
public double[] add(double[] u, double[] v, double s, double t) {
double[] w = new double[dim];
for( int i = 0; i < dim; i++ )
w[i] = s*u[i] + t*v[i];
return w;
} // end of add
II.6. SOLUTION OF THE DISCRETE PROBLEMS 57
// inner product of two vectors
public double innerProduct(double[] u, double[] v) {
double prod = 0;
for( int i = 0; i < dim; i++ )
prod += u[i]*v[i];
return prod;
} // end of inner product
// add s times vector v to vector u
public void accumulate(double[] u, double[] v, double s) {
for( int i = 0; i < dim; i++ )
u[i] += s*v[i];
} // end of accumulate
II.6.4. An improved Uzawa algorithm. Since the matrix A is
positive denite, we may solve the rst equation in the system (II.6.1)
for the unknown u
u = A
1
(f Bp)
and insert the result in the second equation
B
T
A
1
(f Bp) Cp = g.
This gives a problem which only incorporates the pressure
(II.6.2) [B
T
A
1
B + C]p = B
T
A
1
f g.
One can prove that the matrix B
T
A
1
B + C is symmetric, positive
denite and has a condition of O(1), i.e. the condition does not increase
when rening the mesh. Therefore one may apply the CG-algorithm
to problem (II.6.2). The convergence rate then is independent of the
mesh-size and does not deteriorate when rening the mesh. This ap-
proach, however, requires the evaluation of A
1
, i.e. problems of the
form Av = g must be solved in every iteration. These are two, if
R
2
, or three, if R
3
, discrete Poisson equations for the compo-
nents of the velocity v. The crucial idea now is to solve these auxiliary
problems only approximately with the help of a standard multigrid
algorithm for the Poisson equation.
This idea results in the following algorithm.
Algorithm II.6.6. (Improved Uzawa algorithm)
(0) Given: an initial guess p
0
for the pressure and a tolerance
> 0.
Sought: an approximate solution of the discrete problem
(II.6.1).
(1) Apply a multigrid algorithm with starting value zero and tol-
erance to the linear system Av = f Bp
0
and denote the
result by u
0
. Compute
r
0
= B
T
u
0
g Cp
0
,
d
0
= r
0
,

0
= r
0
r
0
.
58 II. STATIONARY LINEAR PROBLEMS
Set u
0
= 0 and i = 0.
(2) If

i
<
2
compute p = p
0
+p
i
, apply a multigrid algorithm with starting
value zero and tolerance to the linear system Av = f Bp,
denote the result by u, and return u, p as approximate solution
of problem (II.6.1) stop.
Otherwise go to step 3.
(3) Apply a multigrid algorithm with starting value u
i
and toler-
ance to the linear system Av = Bd
i
and denote the result by
u
i+1
. Compute
s
i
= B
T
u
i+1
+ Cd
i
,

i
=

i
d
i
s
i
,
p
i+1
= p
i
+
i
d
i
,
r
i+1
= r
i

i
s
i
,

i+1
= r
i+1
r
i+1
,

i
=

i+1

i
,
d
i+1
= r
i+1
+
i
d
i
.
Increase i by 1 and go to step 2.
Remark II.6.7. The improved Uzawa algorithm is a nested iteration:
The outer iteration is a CG-algorithm for problem (II.6.2), the inner
iteration is a standard multigrid algorithm for discrete Poisson equa-
tions. The convergence rate of the improved Uzawa algorithm does not
deteriorate when rening the mesh. It usually lies in the range of 0.5 to
0.8. For the inner loop usually 2 to 4 multigrid iterations are sucient.
II.6.5. The multigrid algorithm. The multigrid algorithm is
based on a sequence of meshes T
0
, . . . , T
R
, which are obtained by suc-
cessive local or global renement, and associated discrete problems
L
k
x
k
= b
k
, k = 0, . . . , R, corresponding to a partial dierential equa-
tion. The nest mesh T
R
corresponds to the problem that we actually
want to solve. In our applications, the dierential equation is either
the Stokes problem or the Poisson equation. In the rst case L
k
is the
stiness matrix of problem (II.6.1) corresponding to the partition T
k
.
The vector x
k
then incorporates the velocity and the pressure approx-
imation. In the second case L
k
is the upper left block A in problem
(II.6.1) and x
k
only incorporates the discrete velocity.
The multigrid algorithm has three ingredients:
a smoothing operator M
k
, which should be easy to eval-
uate and which at the same time should give a reasonable
approximation to L
1
k
,
II.6. SOLUTION OF THE DISCRETE PROBLEMS 59
a restriction operator R
k,k1
, which maps functions on
a ne mesh T
k
to the next coarser mesh T
k1
, and
a prolongation operator I
k1,k
, which maps functions
from a coarse mesh T
k1
to the next ner mesh T
k
.
For a concrete multigrid algorithm these ingredients must be specied.
This will be done in the next sections. Here, we discuss the general
form of the algorithm and its properties.
Algorithm II.6.8. (MG (k, ,
1
,
2
, L
k
, b
k
, x
k
) one iteration of
the multigrid algorithm on mesh T
k
)
(0) Given: the level number k of the actual mesh, parameters ,

1
, and
2
, the stiness matrix L
k
of the actual discrete prob-
lem, the actual right-hand side b
k
, and an inital guess x
k
.
Sought: improved approximate solution x
k
.
(1) If k = 0 compute
x
0
= L
1
0
b
0
;
stop. Otherwise go to step 2.
(2) (Pre-smoothing) Perform
1
steps of the iterative procedure
x
k
= x
k
+ M
k
(b
k
L
k
x
k
).
(3) (Coarse grid correction)
(a) Compute
f
k1
= R
k,k1
(b
k
L
k
x
k
)
x
k1
= 0.
(b) Perform iterations of MG(k 1, ,
1
,
2
, L
k1
, b
k1
,
x
k1
) and denote the result by x
k1
.
(c) Compute
x
k
= x
k
+ I
k1,k
x
k1
.
(4) (Post-smoothing) Perform
2
steps of the iterative proce-
dure
x
k
= x
k
+ M
k
(b
k
L
k
x
k
).
The following Java method implements the multigrid method with
= 1. Note that the recursion has been resolved.
// one MG cycle
// non-recursive version
public void mgcycle( int lv, SMatrix a ) {
int level = lv;
count[level] = 1;
while( count[level] > 0 ) {
while( level > 1 ) {
smooth( a, 1 ); // presmoothing
a.mgResidue( res, x, bb ); // compute residue
restrict( a ); // restrict
level--;
count[level] = cycle;
60 II. STATIONARY LINEAR PROBLEMS
}
smooth( a, 0 ); // solve on coarsest grid
count[level]--;
boolean prolongate = true;
while( level < lv && prolongate ) {
level++;
prolongateAndAdd( a ); // prolongate to finer grid
smooth( a, -1 ); // postsmoothing
count[level]--;
if( count[level] > 0 )
prolongate = false;
}
}
} // end of mgcycle
The used variables and methods have the following meaning:
lv number of actual level, corresponds to k,
a stiness matrix on actual level, corresponds to L
k
,
x actual approximate solution, corresponds to x
k
,
bb actual right-hand side, corresponds to b
k
,
res actual residual, corresponds to b
k
L
k
x
k
,
smooth perform the smoothing,
mgResidue compute the residual,
restrict perform the restriction,
prolongateAndAdd compute the prolongation and add the re-
sult to the current approximation.
G

P
G

P
E

Figure II.6.1. Schematic presentation of a multigrid


algorithm with V-cycle and three grids. The labels have
the following meaning: o smoothing, 1 restriction, T
prolongation, c exact solution.
Remark II.6.9. (1) The parameter determines the complexity of
the algorithm. Popular choices are = 1 called V-cycle and = 2
called W-cycle. Figure II.6.1 gives a schematic presentation of the
multigrid algorithm for the case = 1 and R = 2 (three meshes).
Here, o denotes smoothing, 1 restriction, T prolongation, and c exact
solution.
II.6. SOLUTION OF THE DISCRETE PROBLEMS 61
(2) The number of smoothing steps per multigrid iteration, i.e. the pa-
rameters
1
and
2
, should not be chosen too large. A good choice for
positive denite problems such as the Poisson equation is
1
=
2
= 1.
For indenite problems such as the Stokes equations a good choice is

1
=
2
= 2.
(3) If 2, one can prove that the computational work of one multi-
grid iteration is proportional to the number of unknowns of the actual
discrete problem.
(4) Under suitable conditions on the smoothing algorithm, which is
determined by the matrix M
k
, one can prove that the convergence rate
of the multigrid algorithm is independent of the mesh-size, i.e. it does
not deteriorate when rening the mesh. These conditions will be dis-
cussed in the next section. In practice one observes convergence rates
of 0.1 0.5 for positive denite problems such as the Poisson equation
and of 0.3 0.7 for indenite problems such as the Stokes equations.
II.6.6. Smoothing. The symmetric Gauss-Seidel algorithm
is the most popular smoothing algorithm for positive denite problems
such as the Poisson equation. This corresponds to the choice
M
k
= (D
k
U
T
k
)D
1
k
(D
k
U
k
),
where D
k
and U
k
denote the diagonal and the strictly upper diagonal
part of L
k
respectively. The following Java method implements the
Gauss-Seidel algorithm for smoothing.
// one Gauss-Seidel sweep (x and b are defined on all levels)
// dir = 0: forward and backward
// dir = 1: only forward
// dir = -1; only backward
public void mgSGS( double[] x, double[] b, int dir ) {
double y;
if ( dir >= 0 ) { // forward sweep
for ( int i = dim[ lv-1 ]; i < dim[lv]; i++ ) {
y = b[i];
for ( int j = r[i]; j < r[ i+1 ]; j++ )
y -= m[j]*x[ dim[lv-1]+c[j] ];
x[i] += y/m[ d[i] ];
}
}
if ( dir <= 0 ) { // backward sweep
for ( int i = dim[lv] - 1; i >= dim[ lv-1 ]; i-- ) {
y = b[i];
for ( int j = r[i]; j < r[ i+1 ]; j++ )
y -= m[j]*x[ dim[lv-1]+c[j] ];
x[i] += y/m[ d[i] ];
}
}
} // end of mgSGS
The variables have the following meaning:
lv number of actual level, corresponds to k in the multigrid
algorithm,
62 II. STATIONARY LINEAR PROBLEMS
dim dimensions of the discrete problems on the various levels,
m stiness matrix on all levels, corresponds to the L
k
s,
x approximate solution on all levels, corresponds to the x
k
s,
b right-hand side on all levels, corresponds to the b
k
s.
For indenite problems such as the Stokes equations the most pop-
ular smoothing algorithm is the squared Jacobi iteration. This is the
Jacobi iteration applied to the squared system L
T
k
L
k
x
k
= L
T
k
b
k
and
corresponds to the choice
M
k
=
2
L
T
k
with a suitable damping parameter satisfying > 0 and = O(h
2
K
).
The following Java method implements this algorithm:
// one squared Richardson iteration (x and b are defined on all levels)
// res is an auxiliary array to store the residual
public void mgSR( double[] x, double[] b, double[] res, double om ) {
copy( res, b, 0, dim[lv-1], dim[lv] );
for( int i = 0; i < dim[lv] - dim[ lv-1 ]; i++ )
for( int j = r[ dim[lv-1]+i ]; j < r[ dim[lv-1]+i+1 ]; j++ ) {
res[i] -= m[j]*x[ dim[lv-1]+c[j] ];
}
for( int i = 0; i < dim[lv] - dim[ lv-1 ]; i++ )
for( int j = r[ dim[lv-1]+i ]; j < r[ dim[lv-1]+i+1 ]; j++ )
x[ dim[lv-1]+c[j] ] += m[j]*res[i]/om;
} // end of mgSR
The variable om is the damping parameter . The other variables and
methods are as explained before.
Another class of popular smoothing algorithms for the Stokes equa-
tions is given by the so-called Vanka methods. The idea is to loop
through patches of elements and to solve exactly the equations associ-
ated with the nodes inside the actual patch while retaining the current
values of the variables associated with the nodes outside the actual
patch.
There are many possible choices for the patches.
One extreme case obviously consists in choosing exactly one node at
a time. This yields the classical Gauss-Seidel method and is not ap-
plicable to indenite problems, since it in general diverges for those
problems.
Another extreme case obviously consists in choosing all elements. This
of course is not practicable since it would result in an exact solution of
the complete discrete problem.
In practice, one chooses patches that consist of
a single element, or
the two elements that share a given edge or face, or
the elements that share a given vertex.
II.6.7. Prolongation. Since the partition T
k
of level k always is
a renement of the partition T
k1
of level k 1 (cf. II.7.6 (p. 74),
II.7.7 (p. 75)), the corresponding nite element spaces are nested, i.e.
II.6. SOLUTION OF THE DISCRETE PROBLEMS 63
nite element functions corresponding to level k1 are contained in the
nite element space corresponding to level k. Therefore, the values of
a coarse-grid function corresponding to level k 1 at the nodal points
corresponding to level k are obtained by evaluating the nodal bases
functions corresponding to T
k1
at the requested points. This denes
the interpolation operator I
k1,k
.

d
d
d
d
d
d
i+1 i+2
i
i
i+1 i+2

d
d
d
d
d
d
i+1 i+2
i
i
i+1 i+2

d
d
d
d
d
d
i+1 i+2
i
i
i+1 i+2

d
d
d
d
d
d
i+1 i+2
i
i
i+1 i+2
d
d
d

0 0 0 0
0
i
+(i+1) +(i+2)
+(i)
+(3)
+0 +1
d
d
d

0 0 0 0
0 0
+0 +0
+1
+2 +1
+2
Figure II.6.2. Partitions of a triangle; expressions of
the form i + 1 have to be taken modulo 3
Figures II.6.2 and II.6.3 show various partitions of a triangle and of
a square, respectively (cf. II.7.6 (p. 74), II.7.7 (p. 75)). The numbers
outside the element indicate the enumeration of the element vertices
and edges. Thus, e.g. edge 2 of the triangle has the vertices 0 and 1 as
its endpoints. The numbers +0, +1 etc. inside the elements indicate
the enumeration of the child elements. The remaining numbers inside
the elements give the enumeration of the vertices of the child elements.
Example II.6.10. Consider a piecewise constant approximation, i.e.
S
0,1
(T ). The nodal points are the barycentres of the elements. Every
element in T
k1
is subdivided into several smaller elements in T
k
. The
nodal value of a coarse-grid function at the barycentre of a child element
in T
k
then is its nodal value at the barycentre of the parent element in
T
k
.
Example II.6.11. Consider a piecewise linear approximation, i.e.
S
1,0
(T ). The nodal points are the vertices of the elements. The re-
nement introduces new vertices at the midpoints of some edges of
the parent element and possibly when using quadrilaterals at the
barycentre of the parent element. The nodal value at the midpoint of
an edge is the average of the nodal values at the endpoints of the edge.
Thus, e.g. the value at vertex 1 of child +0 is the average of the values
at vertices 0 and 1 of the parent element. Similarly, the nodal value at
64 II. STATIONARY LINEAR PROBLEMS
i+3 i
i+1 i+2
i+2
i+3
i
i+1
i+3 i
i+1 i+2
i+2
i+3
i
i+1
i+3 i
i+1 i+2
i+2
i+3
i
i+1
i+3 i
i+1 i+2
i+2
i+3
i
i+1
i+3 i
i+1 i+2
i+2
i+3
i
i+1
0 0
0 0
+(i+3) +(i)
+(i+1) +(i+2)

e
e
e
e
e
e
e
e
e
e
e
e
0 0
0
+0 +1
+2
0
0
+0 +1

d
d
d
d
d
d
0 0
0
0
0
+0
+1
+2
+3
+4

d
d
d
d
d
d
0
0 0
0
0
+0
+1
+2
+3
+4
Figure II.6.3. Partitions of a square; expressions of the
form i + 1 have to be taken modulo 4
the barycentre of the parent element is the average of the nodal values
at the four element vertices.
II.6.8. Restriction. The restriction is computed by expressing
the nodal bases functions corresponding to the coarse partition T
k1
in
terms of the nodal bases functions corresponding to the ne partition
T
k
and inserting this expression in the variational formulation. This
results in a lumping of the right-hand side vector which, in a certain
sense, is the transpose of the interpolation.
Example II.6.12. Consider a piecewise constant approximation, i.e.
S
0,1
(T ). The nodal shape function of a parent element is the sum
II.6. SOLUTION OF THE DISCRETE PROBLEMS 65
of the nodal shape functions of the child elements. Correspondingly,
the components of the right-hind side vector corresponding to the child
elements are all added and associated with the parent element.
Example II.6.13. Consider a piecewise linear approximation, i.e.
S
1,0
(T ). The nodal shape function corresponding to a vertex of a
parent triangle takes the value 1 at this vertex, the value
1
2
at the
midpoints of the two edges sharing the given vertex and the value 0 on
the remaining edges. If we label the current vertex by a and the mid-
points of the two edges emanating form a by m
1
and m
2
, this results
in the following formula for the restriction on a triangle
R
k,k1
(a) = (a) +
1
2
(m
1
) + (m
2
).
When considering a quadrilateral, we must take into account that the
nodal shape functions take the value
1
4
at the barycentre b of the parent
quadrilateral. Therefore the restriction on a quadrilateral is given by
the formula
R
k,k1
(a) = (a) +
1
2
(m
1
) + (m
2
) +
1
4
(b).
Remark II.6.14. An ecient implementation of the prolongation and
restrictions loops through all elements and performs the prolongation
or restriction element-wise. This process is similar to the usual element-
wise assembly of the stiness matrix and the load vector.
II.6.9. Variants of the CG-algorithm for indenite prob-
lems. The CG-algorithm can only be applied to symmetric positive
denite systems of equations. For non-symmetric or indenite systems
it in general breaks down. 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 L
T
k
L
k
x
k
= L
T
k
b
k
which is symmetric and positive de-
nite. This approach cannot be recommended since squaring the systems
squares its condition number and thus at least doubles the required
number of iterations.
A more ecient algorithm is the stabilized bi-conjugate
gradient algorithm, shortly Bi-CG-stab. The underlying idea
roughly is to solve simultaneously the original problem L
k
x
k
= b
k
and
its adjoint L
T
k
y
k
= b
T
k
.
Algorithm II.6.15. (Stabilized bi-onjugate gradient algo-
rithm Bi-CG-stab)
(0) Given: a linear system of equations Lx = b, an initial guess
x
0
for the solution, and a tolerance > 0.
Sought: an approximate solution of the linear system.
(1) Compute
r
0
= b Lx
0
,
66 II. STATIONARY LINEAR PROBLEMS
and set
r
0
= r
0
, v
1
= 0 , p
1
= 0 ,

1
= 1 ,
1
= 1 ,
1
= 1 .
Set i = 0.
(2) If
r
i
r
i
<
2
return x
i
as approximate solution; stop. Otherwise go to step
3.
(3) Compute

i
= r
i
r
i
,

i1
=

i

i1

i1

i1
.
If
[
i1
[ <
there is a possible break-down; stop. Otherwise compute
p
i
= r
i
+
i1
p
i1

i1
v
i1
,
v
i
= Lp
i
,

i
=

i
r
0
v
i
.
If
[
i
[ <
there is a possible break-down; stop. Otherwise compute
s
i
= r
i

i
v
i
,
t
i
= Ls
i
,

i
=
t
i
s
i
t
i
t
i
,
x
i+1
= x
i
+
i
p
i
+
i
s
i
,
r
i+1
= s
i

i
t
i
.
Increase i by 1 and go to step 2.
The following Java method implements the Bi-CG-stab algorithm.
Note that it performs an automatic restart upon break-down at most
MAXRESTART times.
// pre-contioned stabilized bi-conjugate gradient method
public void pBiCgStab( SMatrix a, double[] b ) {
set(ab, 0.0, dim);
a.mvmult(ab, x);
add(res, b, ab, 1.0, -1.0, dim);
set(s, 0.0, dim);
set(rf, 0.0, dim);
double alpha, beta, gamma, rho, omega;
it = 0;
copy(rf, res, dim);
II.7. ADAPTIVITY 67
int restarts = -1; // restart in case of breakdown
while ( it < maxit && norm(res) > tolerance &&
restarts < MAXRESTART ) {
restarts++;
rho = 1.0, alpha = 1.0, omega = 1.0;
set(d, 0.0, dim);
set(v, 0.0, dim);
while ( it < maxit && lastRes > tolerance ) {
gamma = rho*omega;
if( Math.abs( gamma ) < EPS ) break;
// break-down do restart
rho = innerProduct(rf, res, dim);
beta = rho*alpha/gamma;
acc(d, v, -omega, dim);
add(d, res, d, 1.0, beta, dim);
a.mvmult(v, d);
gamma = innerProduct(rf, v, dim);
if( Math.abs( gamma ) < EPS ) break;
// break-down do restart
alpha = rho/gamma;
add(s, res, v, 1.0, -alpha, dim);
a.mvmult(ab, s);
gamma = innerProduct(ab, ab, dim);
omega = innerProduct(ab, s, dim)/gamma;
acc(x, d, alpha, dim);
acc(x, s, omega, dim);
add(res, s, ab, 1, -omega, dim);
it++;
}
}
} // end of pBiCgStab
II.7. A posteriori error estimation and adaptive grid
renement
II.7.1. Motivation. Suppose we have computed the solution of
a discretization of a partial dierential equation such as the Stokes
equations. What is the error of our computed solution?
A priori error estimates do not help in answering this question.
They only describe the asymptotic behaviour of the error. They tell
us how fast it will converge to zero when rening the underlying mesh.
But for a given mesh and discretization they give no information on
the actual size of the error.
Another closely related problem is the question about the spatial
distribution of the error. Where is it large, where is it small? Obviously
we want to concentrate our resources in areas of a large error.
In summary, we want to compute an approximate solution of the
partial dierential equation with a given tolerance and a minimal
amount of work. This task is achieved by adaptive grid renement
based on a posteriori error estimation.
Throughout this section we denote by X(T ) and Y (T ) nite ele-
ment spaces for the velocity and pressure, respectively associated with
68 II. STATIONARY LINEAR PROBLEMS
a given partition T of the domain . With these spaces we associate
either a mixed method as in II.2 (p. 32) or a Petrov-Galerkin method
as in II.3 (p. 40). The solution of the corresponding discrete problem
is denoted by u
T
, p
T
, whereas u, p denotes the solution of the Stokes
equations.
II.7.2. General structure of the adaptive algorithm. The
adaptive algorithm has a general structure which is independent of the
particular dierential equation.
Algorithm II.7.1. (General adaptive algorithm)
(0) Given: A partial dierential equation and a tolerance .
Sought: An approximate solution with an error less than .
(1) Construct an initial admissible partition T
0
and set up the as-
sociated discrete problem. Set i = 0.
(2) Solve the discrete problem corresponding to T
i
.
(3) For each element K T
i
compute an estimate
K
of the error
on K and set

i
=
_

KT
i

2
k
_
1/2
.
(4) If

i

return the current discrete solution as approximate solution;
stop. Otherwise go to step 5.
(5) Determine a subset

T
i
of elements in T
i
that must be rened.
Determine T
i+1
such that it is an admissible partition and such
that all elements in

T
i
are rened. Set up the discrete problem
corresponding to T
i+1
. Increase i by 1 and go to step 2.
In order to make the adaptive algorithm operative we must obvi-
ously specify the following ingredients:
an algorithm that computes the
K
s (a posteriori error
estimation),
a rule that selects the elements in

T
i
(marking strategy),
a rule that renes the elements in

T
i
(regular refinement),
an algorithm that constructs the partition T
i+1
(additional
refinement).
Remark II.7.2. The
K
s are usually called (a posteriori) error
estimators or (a posteriori) error indicators.
II.7.3. A residual a posteriori error estimator. The simplest
and most popular a posteriori error estimator is the residual error
estimator. For the Stokes equations it is given by
II.7. ADAPTIVITY 69

K
=
_
h
2
K
|f + u
T
p
T
|
2
L
2
(K)
+| div u
T
|
2
L
2
(K)
+
1
2

EE
T
EK
h
E
|[n
E
(u
T
p
T
I)]
E
|
2
L
2
(E)
_
1/2
.
Note that:
The rst term is the residual of the discrete solution with re-
spect to the momentum equation u+p = f in its strong
form.
The second term is the residual of the discrete solution with
respect to the continuity equation div u = 0 in it strong form.
The third term contains the boundary terms that appear when
switching from the strong to the weak form of the momentum
equation by using an integration by parts formula element-
wise.
The pressure jumps vanish when using a continuous pressure
approximation.
One can prove that the residual error estimator yields the following
upper and lower bounds on the error:
|u u
T
|
1
+|p p
T
|
0
c

KT

2
K
_
1/2
,

K
c

_
|u u
T
|
H
1
(
K
)
+|p p
T
|
L
2
(
K
)
+ h
K
|f f
T
|
L
2
(
K
)
_
.
Here, f
T
is the L
2
-projection of f onto S
0,1
(T ) and
K
denotes the
union of all elements that share an edge with K, if R
2
, or a face,
if R
3
(cf. Figure II.7.1). The f f
T
-term is of higher order. The
constant c

depends on the constant c

in the stability result at the end


of II.2.1 (p. 32) and on the shape parameter max
KT
h
K

K
of the partition
T . The constant c

depends on the shape parameter of T and on the


polynomial degree of the spaces X(T ) and Y (T ).
Remark II.7.3. The lower bound on the error is a local one whereas
the upper bound is a global one. This is not by chance. The lower error
bound involves the dierential operator which is a local one: local vari-
ations in the velocity and pressure result in local variations of the force
terms. The upper error bound on the other hand involves the inverse
70 II. STATIONARY LINEAR PROBLEMS
d
d
d
d
d
d

d
d
d
K

d
d
d
d
d
d
d
d
d
d
d
d
K
Figure II.7.1. Domain
K
for a triangle and a parallelogram
of the dierential operator which is a global one: local variations of the
exterior forces result in a global change of the velocity and pressure.
Remark II.7.4. An error estimator, which yields an upper bound on
the error, is called reliable. An estimator, which yields a lower bound
on the error, is called efficient. Any decent error estimator must be
reliable and ecient.
II.7.4. Error estimators based on the solution of auxiliary
problems. Two other classes of popular error estimators are based
on the solution of auxiliary discrete local problems with Neumann and
Dirichlet boundary conditions. For their description we denote by k
u
and k
p
the maximal polynomial degrees k and m such that
S
k,0
0
(T )
n
X(T )
and either
S
m,1
(T )L
2
0
() Y (T ) when using a discontinuous pressure
approximation or
S
m,0
(T ) L
2
0
() Y (T ) when using a continuous pressure
approximation.
Set
k
T
= maxk
u
+ n, k
p
1,
k
E
= maxk
u
1, k
p
,
where n is the space dimension, i.e. R
n
.
For the Neumann-type estimator we introduce for every element
K T the spaces
X(K) = span
K
v ,
E
w : v R
k
T
(K)
n
, w R
k
E
(E)
n
,
E c
T
K,
Y (K) = span
K
q : q R
k
u
1
(K),
where
K
and
E
are the element and edge respectively face bubble
functions dened in I.2.12 (p. 27). One can prove that the denition
of k
T
ensures that the local discrete problem
II.7. ADAPTIVITY 71
Find u
K
X(K) and p
K
Y (K) such that
_
K
u
K
: v
K
dx

_
K
p
K
div v
K
dx =
_
K
f + u
T
p
T
v
K
dx
+
_
K
[n
K
(u
T
p
T
I)]
K
v
K
dS
_
K
q
K
div u
K
dx =
_
K
q
K
div u
T
dx
for all v
K
X(K) and all q
K
Y (K).
has a unique solution. With this solution we dene the Neumann
estimator by

N,K
=
_
[u
K
[
2
H
1
(K)
+|p
K
|
2
L
2
(K)
_
1/2
.
The above local problem is a discrete version of the Stokes equations
with Neumann boundary conditions
v + grad q =

f in K
div v = g in K
n
K
v qn
K
= b on K
where the data

f , g, and b are determined by the exterior force f and
the discrete solution u
T
, p
T
.
For the Dirichlet-type estimator we denote as in the previous sub-
section for every element K T by
K
the union of all elements in
T that share an edge, if n = 2, or a face, if n = 3, (cf. Figure II.7.1 (p.
70)) and set

X(K) = span
K
v ,
E
w : v R
k
T
(K

)
n
, K

T
K
,
w R
k
E
(E)
n
, E c
T
K,

Y (K) = span
K
q : q R
k
u
1
(K

) , K

T
K
.
Again, one can prove that the denition of k
T
ensures that the local
discrete problem
72 II. STATIONARY LINEAR PROBLEMS
Find u
K


X(K) and p
K


Y (K) such that
_

K
u
K
: v
K
dx

K
p
K
div v
K
dx =
_

K
f v
K
dx
_

K
u
T
: v
K
dx
+
_

K
p
T
div v
K
dx
_

K
q
K
div u
K
dx =
_

K
q
K
div u
T
dx
for all v
K


X(K) and all q
K


Y (K).
has a unique solution. With this solution we dene the Dirichlet esti-
mator by

D,K
=
_
[ u
K
[
2
H
1
(
K
)
+| p
K
|
2
L
2
(
K
)
_
1/2
.
This local problem is a discrete version of the Stokes equations with
Dirichlet boundary conditions
v + grad q =

f in
K
div v = g in
K
v = 0 on
K
where the data

f and g are determined by the exterior force f and the
discrete solution u
T
, p
T
.
One can prove that both estimators are reliable and ecient and
equivalent to the residual estimator:
|u u
T
|
1
+|p p
T
|
0
c
1
_

KT

2
N,K
_
1/2
,

N,K
c
2
_
|u u
T
|
H
1
(
K
)
+|p p
T
|
L
2
(
K
)
+ h
K
|f f
T
|
L
2
(
K
)
_
,

K
c
3

N,K
,

N,K
c
4
_

K

2
K

_
1/2
,
II.7. ADAPTIVITY 73
|u u
T
|
1
+|p p
T
|
0
c
5
_

KT

2
D,K
_
1/2
,

D,K
c
6
_
|u u
T
|
H
1
(
K
)
+|p p
T
|
L
2
(
K
)
+ h
K
|f f
T
|
L
2
(
K
)
_
,

K
c
7

D,K
,

D,K
c
8
_

K

2
K

_
1/2
.
Here,
K
is the union of all elements in T that share at least a vertex
with K (cf. Figure I.2.5 (p. 27)). The constants c
1
, . . . , c
8
only depend
on the shape parameter of the partition T , the polynomial degree of the
discretization, and the stability parameter c

of the Stokes equations.


Remark II.7.5. The computation of the estimators
N,K
and
D,K
obviously is more expensive than the one of the residual estimator
K
.
This is recompensed by a higher accuracy. The residual estimator,
on the other hand, is completely satisfactory for identifying the re-
gions for mesh-renement. Thus it is recommended to use the cheaper
residual estimator for rening the mesh and one of the more expensive
Neumann-type or Dirichlet-type estimators for determining the actual
error on the nal mesh.
II.7.5. Marking strategies. There are two popular marking
strategies for determining the set

T
i
in the general adaptive algorithm:
the maximum strategy and the equilibration strategy.
Algorithm II.7.6. (Maximum strategy)
(0) Given: a partition T , error estimates
K
for the elements
K T , and a threshold (0, 1).
Sought: a subset

T of marked elements that should be re-
ned.
(1) Compute

T ,max
= max
KT

K
.
(2) If

K

T ,max
mark K for renement and put it into the set

T .
Algorithm II.7.7. (Equilibration strategy)
(0) Given: a partition T , error estimates
K
for the elements
K T , and a threshold (0, 1).
74 II. STATIONARY LINEAR PROBLEMS
Sought: a subset

T of marked elements that should be re-
ned.
(1) Compute

T
=

KT

2
K
.
Set

T
= 0
and

T = .
(2) If

T

T
return

T ; stop. Otherwise go to step 3.
(3) Compute

T ,max
= max
KT \

K
.
(4) For all elements K T

T check whether

K
=
T ,max
.
If this is the case, put K in

T and add
2
K
to
T
. Otherwise
skip K.
When all elements have been treated, return to step 2.
At the end of this algorithm the set

T satises

2
K

KT

2
K
.
Both marking strategies yield comparable results. The maximum
strategy obviously is cheaper than the equilibration strategy. In both
strategies, a large value of leads to small sets

T , i.e. very few elements
are marked. A small value of leads to large sets

T , i.e. nearly all
elements are marked. A popular and well established choice is 0.5.
II.7.6. Regular renement. Elements that are marked for re-
nement usually are rened by connecting their midpoints of edges.
The resulting elements are called red. The corresponding renement
is called regular.
Triangles and quadrilaterals are thus subdivided into four smaller
triangles and quadrilaterals that are similar to the parent element, i.e.
have the same angles. Thus the shape parameter of the elements does
not change.
This is illustrated by the top-left triangle of Figure II.6.2 (p. 63)
and by the top square of Figure II.6.3 (p. 64). The numbers outside
the elements indicate the local enumeration of edges and vertices of the
parent element. The numbers inside the elements close to the vertices
indicate the local enumeration of the vertices of the child elements.
II.7. ADAPTIVITY 75
The numbers +0, +1 etc. inside the elements give the enumeration
of the children. Note that the enumeration of new elements and new
vertices is chosen in such a way that triangles and quadrilaterals may
be treated simultaneously with a minimum of case selections.
Parallelepipeds are also subdivided into eight smaller similar par-
allelepipeds by joining the midpoints of edges.
For tetrahedrons, the situation is more complicated. Joining the
midpoints of edges introduces four smaller similar tetrahedrons at the
vertices of the parent tetrahedron plus a double pyramid in its interior.
The latter one is subdivided into four small tetrahedrons by cutting
it along two orthogonal planes. These tetrahedrons, however, are not
similar to the parent tetrahedron. But there are rules which determine
the cutting planes such that a repeated renement according to these
rules leads to at most four similarity classes of elements originating
from a parent element. Thus these rules guarantee that the shape pa-
rameter of the partition does not deteriorate during a repeated adaptive
renement procedure.
II.7.7. Additional renement. Since not all elements are re-
ned regularly, we need additional renement rules in order to avoid
hanging nodes (cf. Figure II.7.2) and to ensure the admissibility of
the rened partition. These rules are illustrated in Figures II.6.2 (p.
63) and II.6.3 (p. 64).

r
r
r
r
r
r
r
r
r
r
r
r

Figure II.7.2. Example of a hanging node


For abbreviation we call the resulting elements green, blue, and
purple. They are obtained as follows:
a green element by bisecting exactly one edge,
a blue element by bisecting exactly two edges,
a purple quadrilateral by bisecting exactly three edges.
In order to avoid too acute or too abstuse triangles, the blue and
green renement of triangles obey to the following two rules:
In a blue renement of a triangle, the longest one of the re-
nement edges is bisected rst.
Before performing a green renement of a triangle it is checked
whether the renement edge is part of an edge which has been
bisected during the last ng generations. If this is the case, a
blue renement is performed instead.
76 II. STATIONARY LINEAR PROBLEMS
The second rule is illustrated in Figure II.7.3. The cross in the left part
represents a hanging node which should be eliminated by a green re-
nement. The right part shows the blue renement which is performed
instead. Here the cross represents the new hanging node which is cre-
ated by the blue renement. Numerical experiments indicate that the
optimal value of ng is 1. Larger values result in an excessive blow-up
of the renement zone.

d
d
d
d
d
d
d
d
d
d
d
d

d
d
d

Figure II.7.3. Forbidden green renement and substi-


tuting blue renement
II.7.8. Required data structures. In this sub-section we shortly
describe the required data structures for a Java or C++ implementation
of an adaptive nite element algorithm. For simplicity we consider only
the two-dimensional case. Note that the data structures are indepen-
dent of the particular dierential equation and apply to all engineering
problems which require the approximate solution of partial dierential
equations.
The class NODE realizes the concept of a node, i.e. of a vertex of a
grid. It has three members c, t, and d.
The member c stores the co-ordinates in Euclidean 2-space. It is a
double array of length 2.
The member t stores the type of the node. It equals 0 if it is an
interior point of the computational domain. It is k, k > 0, if the node
belongs to the k-th component of the Dirichlet boundary part of the
computational domain. It equals k, k > 0, if the node is on the k-th
component of the Neumann boundary.
The member d gives the address of the corresponding degree of freedom.
It equals 1 if the corresponding node is not a degree of freedom, e.g.
since it lies on the Dirichlet boundary. This member takes into account
that not every node actually is a degree of freedom.
The class ELEMENT realizes the concept of an element. Its member
nv determines the element type, i.e. triangle or quadrilateral. Its
members v and e realize the vertex and edge informations, respectively.
Both are integer arrays of length 4.
It is assumed that v[3] = 1 if nv= 3.
A value e[i] = 1 indicates that the corresponding edge is on a straight
part of the boundary. Similarly e[i] = k 2, k 0, indicates that
the endpoints of the corresponding edge are on the k-th curved part of
the boundary. A value e[i] = j 0 indicates that edge i of the current
II.7. ADAPTIVITY 77
element is adjacent to element number j. Thus the member e decribes
the neighbourhood relation of elements.
The members p, c, and t realize the grid hierarchy and give the number
of the parent, the number of the rst child, and the renement type,
respectively. In particular we have
t
_

_
0 if the element is not rened
1, . . . , 4 if the element is rened green
5 if the element is rened red
6, . . . , 24 if the element is rened blue
25, . . . , 100 if the element is rened purple.
At rst sight it may seem strange to keep the information about nodes
and elements in dierent classes. But this approach has several advan-
tages:
It minimizes the storage requirement. The co-ordinates of a
node must be stored only once. If nodes and elements are rep-
resented by a common structure, these co-ordinates are stored
4 6 times.
The elements represent the topology of the grid which is inde-
pendent of the particular position of the nodes. If nodes and
elements are represented by dierent structures it is much eas-
ier to implement mesh smoothing algorithms which aect the
position of the nodes but do not change the mesh topology.
When creating a hierarchy of adaptively rened grids, the nodes
are completely hierarchical, i.e. a node of grid T
i
is also a node of any
grid T
j
with j > i. Since in general the grids are only partly rened,
the elements are not completely hierarchical. Therefore, all elements
of all grids are stored.
The information about the dierent grids is implemented by the
class LEVEL. Its members nn, nt, nq, and ne give the number of nodes,
triangles, quadrilaterals, and edges, resp. of a given grid. The members
first and last give the addresses of the rst element of the current
grid and of the rst element of the next grid, respectively. The mem-
ber dof yields the number of degrees of freedom of the corresponding
discrete nite element problems.
For demonnstration purposes we refer to the Java applet ALF
(Adaptive Linear Finite elements) which implements the described data
structures for scalar dierential equations of 2nd order and which to-
gether with a user guide is available at the address:
www.rub.de/num1/demo/alf/ALFApplet
www.rub.de/num1/demo/alf/ALFUserguide.htm
CHAPTER III
Stationary nonlinear problems
III.1. Discretization of the stationary Navier-Stokes
equations
III.1.1. Variational formulation. We recall the stationary in-
compressible Navier-Stokes equations of I.1.13 (p. 16) with no-slip
boundary condition and the re-scaling of Remark I.1.4 (p. 15)
u + Re(u )u + grad p = f in
div u = 0 in
u = 0 on
where Re > 0 is the Reynolds number. The variational formulation of
this problem is given by
Find u H
1
0
()
n
and p L
2
0
() such that
_

u : vdx
_

p div vdx
+
_

Re[(u )u] vdx =


_

f vdx
_

q div udx = 0
for all v H
1
0
()
n
and all q L
2
0
().
It has the following properties:
Any solution u, p of the Navier-Stokes equations is a solution
of the above variational problem.
Any solution u, p of the variational problem, which is su-
ciently smooth, is a solution of the Navier-Stokes equations.
III.1.2. Fixed-point formulation. For the mathematical anal-
ysis it is convenient to write the variational formulation of the Navier-
Stokes equations as a xed-point equation. To this end we denote by
T the Stokes operator which associates with each g the unique
solution v = Tg of the Stokes equations:
79
80 III. STATIONARY NONLINEAR PROBLEMS
Find v H
1
0
()
n
and q L
2
0
() such that
_

v : wdx
_

q div wdx =
_

g wdx
_

r div vdx = 0
for all w H
1
0
()
n
and all r L
2
0
().
Then the variational formulation of the Navier-Stokes equations takes
the equivalent xed-point form
u = T(f Re(u )u).
III.1.3. Existence and uniqueness results. The following ex-
istence and uniqueness results can be proven for the variational formu-
lation of the Navier-Stokes equations:
The variational problem admits at least one solu-
tion.
Every solution of the variational problem satises
the a priori bound
[u[
1
|f |
0
.
The variational problem admits a unique solution
provided
Re|f |
0
< 1,
where the constant only depends on the domain
and can be estimated by
diam()
4
n
2
2
n
1
2
.
Every solution of the variational problem has the
same regularity properties as the solution of the
Stokes equations.
The mapping, which associates with Re a solution
of the variational problem, is dierentiable. Its de-
rivative with respect to Re is a continuous linear
operator which is invertible with a continuous in-
verse for all but nitely many values of Re. I.e.
there are only nitely many turning or bifurcation
points.
III.1.4. Finite element discretization. For the nite element
discretization of the Navier-Stokes equations we choose a partition T
of the domain and corresponding nite element spaces X(T ) and
Y (T ) for the velocity and pressure. These spaces have to satisfy the
III.1. STATIONARY NAVIER-STOKES EQUATIONS 81
inf-sup condition of II.2.6 (p. 36). We then replace in the variational
problem the spaces H
1
0
()
n
and L
2
0
() by X(T ) and Y (T ), respectively.
This leads to the following discrete problem:
Find u
T
X(T ) and p
T
Y (T ) such that
_

u
T
: v
T
dx
_

p
T
div v
T
dx
+
_

Re[(u
T
)u
T
] v
T
dx =
_

f v
T
dx
_

q
T
div u
T
dx = 0
for all v
T
X(T ) and all q
T
Y (T ).
III.1.5. Fixed-point formulation of the discrete problem.
The nite element discretization of the Navier-Stokes can be written
in a xed-point form similar to the variational problem. To this end
we denote by T
T
the discrete Stokes operator which associates
with every g the solution v
T
= T
T
g of the discrete Stokes problem:
Find v
T
X(T ) and q
T
Y (T ) such that
_

v
T
: w
T
dx
_

q
T
div w
T
dx =
_

g w
T
dx
_

r
T
div v
T
dx = 0
for all w
T
X(T ) and all r
T
Y (T ).
The discrete Navier-Stokes problem then takes the equivalent xed-
point form
u
T
= T
T
(f Re(u
T
)u
T
).
Note, that as for the variational problem this equation also
determines the pressure via the operator T
T
.
III.1.6. Properties of the discrete problem. The discrete
problem has similar properties as the variational problem:
The discrete problem admits at least one solution.
Every solution of the discrete problem satises the
a priori bound
[u
T
[
1
Re|f |
0
.
82 III. STATIONARY NONLINEAR PROBLEMS
The discrete problem admits a unique solution pro-
vided
Re|f |
0
< 1,
where the constant is the same as for the varia-
tional problem.
The mapping, which associates with Re a solution
of the discrete problem, is dierentiable. Its de-
rivative with respect to Re is a continuous linear
operator which is invertible with a continuous in-
verse for all but nitely many values of Re. I.e.
there are only nitely many turning or bifurcation
points.
Remark III.1.1. The number of turning or bifurcation points of the
discrete problem of course depends on the partition T and on the choice
of the spaces X(T ) and Y (T ).
III.1.7. Symmetrization. The integration by parts formulae of
I.2.3 (p. 19) imply for all u, v, w H
1
0
()
n
the identity
_

[(u )v] wdx =


_

[(u )w] vdx +


_

v wdiv udx.
If u is solenoidal, i.e. div u = 0, this in particular yields
_

[(u )v] wdx =


_

[(u )w] vdx


for all v, w H
1
0
()
n
.
This symmetry in general is violated for the discrete problem since
div u
T
,= 0. To enforce the symmetry, one often replaces in the discrete
problem the term
_

Re[(u
T
)u
T
] v
T
dx
by
1
2
_

Re[(u
T
)u
T
] v
T
dx
1
2
_

Re[(u
T
)v
T
] u
T
dx.
III.1.8. A priori error estimates. As in II.2.11 (p. 39) we
denote by k
u
and k
p
the maximal polynomial degrees k and m such
that
S
k,0
0
(T )
n
X(T )
and either
S
m,1
(T )L
2
0
() Y (T ) when using a discontinuous pressure
approximation or
S
m,0
(T ) L
2
0
() Y (T ) when using a continuous pressure
approximation.
III.1. STATIONARY NAVIER-STOKES EQUATIONS 83
Set
k = mink
u
1, k
p
.
Further we denote by u, p a solution of the variational formulation
of the Navier-Stokes equations and by u
T
, p
T
a solution of the discrete
problem.
With these notations the following a priori error estimates can be
proved:
Assume that
u H
k+2
()
n
H
1
0
()
n
and p H
k+1
() L
2
0
(),
hRe|f |
0
is suciently small, and
u is no turning or bifurcation point of the varia-
tional problem,
then
[u u
T
[
1
+|p p
T
|
0
c
1
h
k+1
Re
2
|f |
k
.
If in addition is convex, then
|u u
T
|
0
c
2
h
k+2
Re
2
|f |
k
.
The constants c
1
and c
2
only depend on the domain .
Remark III.1.2. (1) As for the Stokes equations, the above regularity
assumptions are not realistic for practical problems.
(2) The condition hRe|f |
0
suciently small can in general not be
quantied. Therefore it cannot be checked for a given discretization.
(3) One cannot conclude from the computed discrete solution whether
the analytical solution is a turning or bifurcation point or not.
(4) For most practical examples, the right-hand side of the above er-
ror estimates behaves like O(hRe
2
) or O(h
2
Re
2
). Thus they require
unrealistically small mesh-sizes for large Reynolds numbers.
These observations show that the a priori error estimates are of
purely academic interest. Practical informations can only be obtained
from a posteriori error estimates.
III.1.9. A warning example. We consider the one-dimensional
Navier-Stokes equations
u

+ Re uu

= 0 in I = (1, 1)
u(1) = 1
u(1) = 1.
Since
uu

= (
1
2
u
2
)

,
84 III. STATIONARY NONLINEAR PROBLEMS
we conclude that
u

+
Re
2
u
2
= c
is constant.
To determine the constant c, we integrate the above equation and
obtain
2c =
_
1
1
cdx =
_
1
1
u

+
Re
2
u
2
dx = 2 +
Re
2
_
1
1
u
2
dx
. .
0
.
This shows that c 1 and that we may write c =
2
with a dier-
ent constant 1. Hence every solution of the dierential equation
satises
u

=
Re
2
u
2

2
.
Therefore it must be of the form
u(x) =
Re
tanh(
Re
x)
with suitable parameters
Re
and
Re
depending on Re.
The boundary conditions imply that

Re
=
1
tanh(
Re
)
.
Hence we have
u(x) =
tanh(
Re
x)
tanh(
Re
)
.
Inserting this expression in the dierential equation yields
0 =
_
u

+
Re
2
u
2
_

=
_

Re
tanh(
Re
)
+
_
Re
2

Re
tanh(
Re
)

u
2
_

= 2
_
Re
2

Re
tanh(

uu

.
Since neither u nor its derivative u

vanish identically, we obtain the


dening relation
2
Re
tanh(
Re
) = Re
for the parameter
Re
.
Due to the monotonicity of tanh, this equation admits for every
Re > 0 a unique solution
Re
. Since tanh(x) 1 for x 1, we have

Re

Re
2
for Re 1. Hence, the solution u has a sharp interior layer
III.1. STATIONARY NAVIER-STOKES EQUATIONS 85
at the origin for large values of Re. Figure III.1.1 depicts the solution
u for Re = 100.
Figure III.1.1. Solution of the one-dimensional Na-
vier-Stokes equations for Re = 100
For the discretization, we choose an integer N 1, divide the
interval (1, 1) into N small sub-intervals of equal length h =
2
N+1
,
and use continuous piecewise linear nite elements on the resulting
mesh. We denote by u
i
, 0 i N + 1, the value of the discrete
solution at the mesh-point x
i
= 1 +ih and evaluate all integrals with
the Simpson rule. Since all integrands are piecewise polynomials of
degree at most 2, this is an exact integration. With theses notations,
the discretization results in the following nite dierence scheme:
2u
i
u
i1
u
i+1
h
+
Re
6
(u
i
u
i1
)(2u
i
+ u
i1
)
+
Re
6
(u
i+1
u
i
)(2u
i
+ u
i+1
) = 0 for 1 i N
u
0
= 1
u
N+1
= 1.
For its solution, we try the ansatz
u
i
=
_

_
1 for i = 0
for 0 i N
1 for i = N + 1
with an unknown constant . When inserting this ansatz in the dif-
ference equations, we see that the equations corresponding to 2 i
N 1 are satised independently of the value of . The equations for
i = 1 and i = N on the other hand result in
0 =
1
h
+
Re
6
( 1)(2 + 1)
86 III. STATIONARY NONLINEAR PROBLEMS
=
1
h
_
1 +
Reh
6
(2 + 1)
_
and
0 =
+ 1
h
+
Re
6
( 1)(2 1)
=
+ 1
h
_
1
Reh
6
(2 1)
_
respectively.
If Reh = 6, these equations have the two solutions = 1 and = 1.
Both solutions obviously have nothing in common with the solution of
the dierential equation.
If Reh ,= 6, the above equations have no solution. Hence, our ansatz
does not work. A more detailed analysis, however, shows that for
Reh 6 the discrete solution has nothing in common with the solu-
tion of the dierential equation.
In summary, we see that the nite element discretization yields a qual-
itatively correct approximation only when h <
6
Re
. Hence we have to
expect a prohibitively small mesh-size for real-life problems.
When using a standard symmetric nite dierence approximation,
things do not change. The dierence equations then take the form
2u
i
u
i1
u
i+1
h
+
Re
2
u
i
(u
i+1
u
i1
) = 0 for 1 i N
u
0
= 1
u
N+1
= 1.
When Reh = 2, our ansatz now leads to the same solution as before.
Again, one can prove that one obtains a completely useless discrete
solution when Reh 2. Thus the principal result does not change in
this case. Only the critical mesh-size is reduced by a factor 3.
Next, we try a backward dierence approximation of the rst order
derivative. This results in the dierence equations
2u
i
u
i1
u
i+1
h
+ Reu
i
(u
i
u
i1
) = 0 for 1 i N
u
0
= 1
u
N+1
= 1.
When trying our ansatz, we see that equations corresponding to 2
i N 1 are again satised independently of . The equations for
i = 0 and i = N now take the form
0 =
1
h
+ Re( 1)
=
1
h
[1 + Reh]
III.1. STATIONARY NAVIER-STOKES EQUATIONS 87
and
0 =
+ 1
h
+ Re0
=
+ 1
h
respectively. Thus, in the case Reh = 1 we obtain the unique solution
= 1. A more rened analysis shows, that we obtain a qualitatively
correct discrete solution only if h
1
Re
.
Finally, we try a forward dierence approximation of the rst order
derivative. This yields the dierence equations
2u
i
u
i1
u
i+1
h
+ Reu
i
(u
i+1
u
i
) = 0 for 1 i N
u
0
= 1
u
N+1
= 1.
Our ansatz now results in the two conditions
0 =
1
h
+ Re0
=
1
h
and
0 =
+ 1
h
+ Re(1 )
=
+ 1
h
[1 Reh] .
For Reh = 1 this yields the unique solution = 1. A qualitatively
correct discrete solution is obtained only if h
1
Re
.
These experiences show that we need a true up-winding, i.e. a back-
ward dierence approximation when u > 0 and a forward dierence
approximation when u < 0. Thus the up-wind direction and with it
the discretization depend on the solution of the discrete problem!
III.1.10. Up-wind methods. The previous section shows that
we must modify the nite element discretization of III.1.4 (p. 80) in
order to obtain qualitatively correct approximations also for large
values of hRe.
One possibility to achieve this goal is to use an up-wind differ-
ence approximation for the convective derivative (u
T
)u
T
. To de-
scribe the idea we consider only the lowest order method.
In a rst step, we approximate the integral involving the convective
derivative by a one-point quadrature rule
_

[(u
T
)u
T
] v
T
dx

KT
[K[[(u
T
(x
K
) )u
T
(x
K
)] v
T
(x
K
).
88 III. STATIONARY NONLINEAR PROBLEMS
Here [K[ is the area respectively volume of the element K and x
K
denotes its barycentre. When using a rst order approximation for the
velocity, i.e. X(T ) = S
1,0
0
(T )
n
, this does not deteriorate the asymptotic
convergence rate of the nite element discretization.
In a second step, we replace the convective derivative by a suitable
up-wind dierence
(u
T
(x
K
) )u
T
(x
K
)
1
|x
K
y
K
|
|u
T
(x
K
)|(u
T
(x
K
) u
T
(y
K
)).
Here | | denotes the Euclidean norm in R
n
and y
K
is the intersection
of the half-line x
K
su
T
(x
K
) : s > 0 with the boundary of K (cf.
Figure III.1.2).
$
$
$
$
$
$
$
$
$
$
$$
b
a
y
K
x
K
Figure III.1.2. Up-wind dierence
In a last step, we replace u
T
(y
K
) by I
T
u
T
(y
K
) where I
T
u
T
denotes
the linear interpolate of u
T
in the vertices of the edge respectively face
of K which contains y
K
. If in Figure III.1.2, e.g., |y
K
b| =
1
4
|ab|,
we have I
T
u
T
(y
K
) =
1
4
u
T
(a) +
3
4
u
T
(b).
For large values of hRe, this up-winding yields a better approxi-
mation than the straight-forward discretization of III.1.4 (p. 80). For
suciently small mesh-sizes, the error converges to zero linearly with h.
The up-wind direction depends on the discrete solution. This has the
awkward side-eect that the discrete nonlinear problem is not dieren-
tiable and leads to severe complications for the solution of the discrete
problem.
III.1.11. The streamline-diusion method. The stream-
line-diffusion method has an up-wind eect, but avoids the dif-
ferentiability problem of the up-wind scheme of the previous section.
In particular, the resulting discrete problem is dierentiable and can
be solved with a Newton method. Moreover, the streamline-diusion
method simultaneously has a stabilizing eect with respect to the in-
compressibility constraint. In this respect it generalizes the Petrov-
Galerkin method of II.3 (p. 40).
The idea is to add an articial viscosity in the streamline direction.
Thus the solution is slightly smeared in its smooth direction while
III.2. SOLUTION OF THE DISCRETE NONLINEAR PROBLEMS 89
retaining its steep gradient in the orthogonal direction. The articial
viscosity is added via a suitable penalty term which is consistent in the
sense that it vanishes for any solution of the Navier-Stokes equations.
Retaining the notations of III.1.4 (p. 80), the streamline-diffu-
sion discretization is given by:
Find u
T
X(T ) and p
T
Y (T ) such that
_

u
T
: v
T
dx
_

p
T
div v
T
dx
+
_

Re[(u
T
)u
T
] v
T
dx
+

KT

K
h
2
K
_
K
Re[f u
T
+p
T
+Re(u
T
)u
T
] [(u
T
)v
T
]dx
+

KT

K
_
K
div u
T
div v
T
dx =
_

f v
T
dx
_

q
T
div u
T
dx
+

KT

K
h
2
K
_
K
[u
T
+p
T
+Re(u
T
)u
T
] q
T
dx
+

EE
T

E
h
E
_
E
[p
T
]
E
[q
T
]
E
dS =

KT

K
h
2
K
_
K
f q
T
dx
for all v
T
X(T ) and all q
T
Y (T ).
Recall that []
E
denotes the jump across E.
The stabilization parameters
K
and
E
are chosen as described in
II.3.4 (p. 44). The additional parameter
K
has to be non-negative
and can be chosen equal to zero. Computational experiments, however,
suggest that the choice
K
1 is preferable. When setting Re = 0
and
K
= 0 the above discretization reduces to the Petrov-Galerkin
discretization of the Stokes equations presented in II.3.3 (p. 43).
III.2. Solution of the discrete nonlinear problems
III.2.1. General structure. For the solution of discrete nonlin-
ear problems which result from a discretization of a nonlinear partial
dierential equation one can proceed in two ways:
One applies a nonlinear solver, such as e.g. the Newton
method, to the nonlinear dierential equation and then dis-
cretizes the resulting linear partial dierential equations.
90 III. STATIONARY NONLINEAR PROBLEMS
One directly applies a nonlinear solver, such as e.g. the New-
ton method, to the discrete nonlinear problems. The resulting
discrete linear problems can then be interpreted as discretiza-
tions of suitable linear dierential equations.
Both approaches often are equivalent and yield comparable approxima-
tions. In this section we will follow the rst approach since it requires
less notation. All algorithms can easily be re-interpreted in the second
sense described above.
We recall the xed-point formulation of the Navier-Stokes equations
of III.1.2 (p. 79)
(III.2.1) u = T(f Re(u )u)
with the Stokes operator T which associates with each g the unique
solution v = Tg of the Stokes equations
v + grad q = g in
div v = 0 in
v = 0 on .
Most of the algorithms require the solution of discrete Stokes equations
or of slight variations thereof. This can be achieved with the methods
of II.6 (p. 53).
III.2.2. Fixed-point iteration. The xed-point iteration is given
by
u
i+1
= T(f Re(u
i
)u
i
).
It results in the following algorithm:
Algorithm III.2.1. (Fixed-point iteration)
(0) Given: an initial guess u
0
and a tolerance > 0.
Sought: an approximate solution of the stationary incompress-
ible Navier-Stokes equations.
(1) Set i = 0.
(2) Solve the Stokes equations
u
i+1
+p
i+1
= f Re(u
i
)u
i
in
div u
i+1
= 0 in
u
i+1
= 0 on .
(3) If
[u
i+1
u
i
[
1

return u
i+1
, p
i+1
as approximate solution; stop. Otherwise
increase i by 1 and go to step 2.
The xed-point iteration converges if Re
2
|f |
0
1. The conver-
gence rate approximately is 1 Re
2
|f |
0
. Therefore this algorithm can
only be recommended for problems with very small Reynolds numbers.
III.2. SOLUTION OF THE DISCRETE NONLINEAR PROBLEMS 91
III.2.3. Newton iteration. Equation (III.2.1) can be re-written
in the form
F(u) = u T(f Re(u )u) = 0.
We may apply Newtons method to F. Then we must solve in each
step a linear problem of the form
g = DF(u)v
= v + ReT((u )v + (v )u).
This results in the following algorithm:
Algorithm III.2.2. (Newton iteration)
(1) Given: an initial guess u
0
and a tolerance > 0.
Sought: an approximate solution of the stationary incompress-
ible Navier-Stokes equations.
(2) Set i = 0.
(3) Solve the modied Stokes equations
u
i+1
+p
i+1
+ Re(u
i
)u
i+1
+Re(u
i+1
)u
i
= f + Re(u
i
)u
i
in
div u
i+1
= 0 in
u
i+1
= 0 on .
(4) If
[u
i+1
u
i
[
1

return u
i+1
, p
i+1
as approximate solution; stop. Otherwise
increase i by 1 and go to step 2.
The Newton iteration converges quadratically. However, the ini-
tial guess must be close to the sought solution, otherwise the it-
eration may diverge. To avoid this, one can use a damped Newton
iteration. The modied Stokes problems incorporate convection and
reaction terms which are proportional to the Reynolds number. For
large Reynolds numbers this may cause severe diculties with the
solution of the modied Stokes problems.
III.2.4. Path tracking. Instead of the single problem (III.2.1) we
now look at a whole family of Navier-Stokes equations with a parameter

= T(f (u

)u

).
Its solutions u

depend dierentiably on the parameter . The deriv-


ative v

=
du

d
solves the modied Stokes equations
v

= T((v

)u

+ (u

) + (u

)u

).
If we know the solution u

0
corresponding to the parameter
0
, we can
compute v

0
and may use u

0
+ (
1

0
)v

0
as initial guess for the
Newton iteration applied to the problem with parameter
1
>
0
. If
92 III. STATIONARY NONLINEAR PROBLEMS

0
is not too large, a few Newton iterations will yield a suciently
good approximation of v

1
.
This idea leads to the following algorithm:
Algorithm III.2.3. (Path tracking)
(0) Given: a Reynolds number Re, an initial parameter 0 <
Re, an increment > 0, and a tolerance > 0.
Sought: an approximate solution of the stationary incompress-
ible Navier-Stokes equations with Reynolds number Re.
(1) Set u

= 0.
(2) Apply a few Newton iterations to the Navier-Stokes equations
with Reynolds number , initial guess u

, and tolerance .
Denote the result by u

.
(3) If = Re return the velocity u

and the corresponding pressure


p

as approximate solution; stop. Otherwise go to step 4.


(4) Solve the modied Stokes equations
v

+q

+ (u

)v

+(v

)u

= f (u

)u

in
div v

= 0 in
v

= 0 on .
(5) 5. Replace u

by u

+ v

and by minRe, + . Go
to step 2.
The path tracking algorithm should be combined with a step-length
control: If the Newton algorithm in step 2 does not converge suciently
well, the increment should be reduced.
III.2.5. A nonlinear CG-algorithm. The idea is to apply a
nonlinear CG-algorithm to the least-squares minimization problem
minimize
1
2
[u T(f Re(u )u)[
2
1
.
It leads to the following algorithm:
Algorithm III.2.4. (Non-linear CG-algorithm of Polak-
Ribi
`
ere)
(0) Given: an initial guess u
0
and a tolerance > 0.
Sought: an approximate solution of the stationary incompress-
ible Navier-Stokes equations.
(1) Compute the solutions z
0
and g
0
the Stokes problems
z
0
+r
0
= Re(u
0
)u
0
f in
div z
0
= 0 in
z
0
= 0 on
III.2. SOLUTION OF THE DISCRETE NONLINEAR PROBLEMS 93
and
g
0
+ s
0
= Re(u
0
+z
0
) (u
0
) (u
0
)(u
0
+z
0
) in
div g
0
= 0 in
g
0
= 0 on .
Set i = 0 and w
0
= g
0
= u
0
+z
0
+ g
0
.
(2) If
__

[w
i
[
2
dx
_
1/2

return the velocity u
i
and the corresponding pressure p
i
as ap-
proximate solution; stop. Otherwise go to step 3.
(3) Compute the solutions z
i
1
and z
i
2
of the Stokes problems
z
i
1
+r
i
1
= Re(u
i
)w
i
+ (w
i
)u
i
in
div z
i
1
= 0 in
z
i
1
= 0 on
and
z
i
2
+r
i
2
= Re(w
i
)w
i
in
div z
i
2
= 0 in
z
i
2
= 0 on .
Compute
=
_

(u
i
+z
i
) : (w
i
+z
i
1
)dx
=
_

[(w
i
+z
i
1
)[
2
dx +
_

(u
i
+z
i
) : z
i
2
dx
=
3
2
_

(w
i
+z
i
1
) : z
i
2
dx
=
1
2
_

[z
i
2
[
2
.
Determine the smallest positive zero
i
of
+ +
2
+
3
and set
u
i+1
= u
i

i
w
i
z
i+1
= z
i

i
z
i
1
+
1
2

i
2
z
i
2
.
94 III. STATIONARY NONLINEAR PROBLEMS
Compute the solution g
i+1
of the Stokes problem
g
i+1
+ s
i+1
= Re(u
i+1
+z
i+1
) (u
i+1
)
(u
i+1
)(u
i+1
+z
i+1
) in
div g
i+1
= 0 in
g
i+1
= 0 on
and set
g
i+1
= g
i+1
+u
i+1
+z
i+1
.
Compute

i+1
=
__

[g
i+1
[
2
dx
_
1
_

(g
i+1
g
i
) : g
i+1
dx
and set
w
i+1
= g
i+1
+
i+1
w
i
.
Increase i by 1 and go to step 2.
This algorithm has the advantage that it only requires the solution
of Stokes problems and thus avoids the diculties associated with large
convection and reaction terms.
III.2.6. Operator splitting. The idea is to decouple the di-
culties associated with the nonlinear convection term and with the
incompressibility constraint. This leads to the following algorithm:
Algorithm III.2.5. (Operator splitting)
(1) Given: an initial guess u
0
, a damping parameter (0, 1),
and a tolerance > 0.
Sought: an approximate solution of the stationary incompress-
ible Navier-Stokes equations.
(2) Set i = 0.
(3) Solve the Stokes equations
2u
i+
1
4
u
i+
1
4
+p
i+
1
4
= 2u
i
+f
Re(u
i
)u
i
in
div u
i+
1
4
= 0 in
u
i+
1
4
= 0 on .
(4) Solve the nonlinear Poisson equations
u
i+
3
4
u
i+
3
4
+ Re(u
i+
3
4
)u
i+
3
4
= u
i+
1
4
+f
p
i+
1
4
in
u
i+
3
4
= 0 on .
III.3. ADAPTIVITY FOR NONLINEAR PROBLEMS 95
(5) Solve the Stokes equations
2u
i+1
u
i+1
+p
i+1
= 2u
i+
3
4
+f
Re(u
i+
3
4
)u
i+
3
4
in
div u
i+1
= 0 in
u
i+1
= 0 on .
(6) If
[u
i+1
u
i
[
1

return u
i+1
, p
i+1
as approximate solution; stop. Otherwise
increase i by 1 and go to step 2.
The nonlinear problem in step 3 is solved with one of the algo-
rithms presented in the previous sub-sections. This task is simplied
by the fact that the incompressibility condition and the pressure are
now missing.
III.2.7. Multigrid algorithms. When applying the multigrid al-
gorithm of II.6.5 (p. 58) to nonlinear problems one only has to modify
the pre- and post-smoothing steps. This can be done in two possible
ways:
Apply a few iterations of the Newton algorithm to the nonlin-
ear problem combined with very few iterations of a classical
iterative scheme, such as e.g. Gau-Seidel iteration, for the
auxiliary linear problems that must be solved during the New-
ton iteration.
Successively choose a node and the corresponding equation,
freeze all unknowns that do not belong to the current node,
and solve for the current unknown by applying a few Newton
iterations to the resulting nonlinear equation in one unknown.
The second variant is often called nonlinear Gau-Seidel algo-
rithm.
Alternatively one can apply a variant of the multigrid algorithm
of II.6.5 (p. 58) to the linear problems that must be solved in the
algorithms described above. Due to the lower costs for implementation,
this variant is often preferred in practice.
III.3. Adaptivity for nonlinear problems
III.3.1. General structure. The general structure of an adap-
tive algorithm as described in II.7.2 (p. 68) directly applies to nonlin-
ear problems. One only has to adapt the a posteriori error estimator.
The marking strategy, the regular renement, the additional rene-
ment, and the data structures described in II.7.5 (p. 73) II.7.8 (p.
76) do not change.
96 III. STATIONARY NONLINEAR PROBLEMS
Throughout this section we denote by X(T ) and Y (T ) nite ele-
ment spaces for the velocity and pressure, respectively associated with
a given partition T of the domain . With these spaces we associate a
discretization of the stationary incompressible Navier-Stokes equations
as described in III.1 (p. 79). The computed solution of the corre-
sponding discrete problem is denoted by u
T
, p
T
, whereas u, p denotes
a solution of the Navier-Stokes equations.
III.3.2. A residual a posteriori error estimator. The residual
a posteriori error estimator for the Navier-Stokes equations is given by

K
=
_
h
2
K
|f + u
T
p
T
Re(u
T
)u
T
|
2
L
2
(K)
+| div u
T
|
2
L
2
(K)
+
1
2

EE
T
EK
h
E
|[n
E
(u
T
p
T
I)]
E
|
2
L
2
(E)
_
1/2
.
When comparing it with the residual estimator for the Stokes equa-
tions, we observe that the nonlinear convection term has been added
to the element residual.
Under suitable conditions on the solution of the Navier-Stokes equa-
tions, one can prove that as in the linear case the residual error
estimator is reliable and ecient.
III.3.3. Error estimators based on the solution of auxiliary
problems. The error estimators based on the solution of auxiliary
local discrete problems are very similar to those in the linear case. In
particular the nonlinearity only enters into the data, the local problems
itself remain linear.
We recall the notations of II.7.4 (p. 70) and set
X(K) = span
K
v ,
E
w : v R
k
T
(K)
n
, w R
k
E
(E)
n
,
E c
T
K,
Y (K) = span
K
q : q R
k
u
1
(K),

X(K) = span
K
v ,
E
w : v R
k
T
(K

)
n
, K

T
K
,
w R
k
E
(E)
n
, E c
T
K,

Y (K) = span
K
q : q R
k
u
1
(K

) , K

T
K
,
where
k
T
= maxk
u
(k
u
1), k
u
+ n, k
p
1,
k
E
= maxk
u
1, k
p
,
III.3. ADAPTIVITY FOR NONLINEAR PROBLEMS 97
and k
u
and k
p
denote the polynomial degrees of the velocity and pres-
sure approximation respectively. Note that the denition of k
T
diers
from the one in II.7.4 (p. 70) and takes into account the polynomial
degree of the nonlinear convection term.
With these notations we consider the following discrete Stokes prob-
lem with Neumann boundary conditions
Find u
K
X(K) and p
K
Y (K) such that
_
K
u
K
: v
K
dx

_
K
p
K
div v
K
dx =
_
K
f + u
T
p
T
Re(u
T
)u
T
v
K
dx
+
_
K
[n
K
(u
T
p
T
I)]
K
v
K
dS
_
K
q
K
div u
K
dx =
_
K
q
K
div u
T
dx
for all v
K
X(K) and all q
K
Y (K).
With the solution of this problem, we dene the Neumann estimator
by

N,K
=
_
[u
K
[
2
H
1
(K)
+|p
K
|
2
L
2
(K)
_
1/2
.
Similarly we can consider the following discrete Stokes problem with
Dirichlet boundary conditions
Find u
K


X(K) and p
K


Y (K) such that
_

K
u
K
: v
K
dx

K
p
K
div v
K
dx =
_

K
f v
K
dx
_

K
u
T
: v
K
dx
+
_

K
p
T
div v
K
dx

K
Re(u
T
)u
T
v
K
dx
_

K
q
K
div u
K
dx =
_

K
q
K
div u
T
dx
98 III. STATIONARY NONLINEAR PROBLEMS
for all v
K


X(K) and all q
K


Y (K).
With the solution of this problem, we dene the Dirichlet estimator
by

D,K
=
_
[ u
K
[
2
H
1
(
K
)
+| p
K
|
2
L
2
(
K
)
_
1/2
.
As in the linear case, one can prove that both estimators are reliable
and ecient and comparable to the residual estimator. Remark II.7.5
(p. 73) also applies to the nonlinear problem.
CHAPTER IV
Instationary problems
IV.1. Discretization of the instationary Navier-Stokes
equations
IV.1.1. Variational formulation. We recall the instationary in-
compressible Navier-Stokes equations of I.1.12 (p. 15) with no-slip
boundary condition
u
t
u + (u )u grad p = f in (0, T)
div u = 0 in (0, T)
u = 0 on (0, T)
u(, 0) = u
0
in .
Here, T > 0 is given nal time and u
0
denotes a given initial velocity.
The variational formulation of this problem is given by
Find a velocity eld u with
max
0<t<T
_

[u(x, t)[
2
dx +
_
T
0
_

[u(x, t)[
2
dxdt <
and a pressure p with
_
T
0
_

[p(x, t)[
2
dxdt <
such that
_
T
0
_

_
u(x, t)
v(x, t)
t
+ u(x, t) : v(x, t)
+ [(u(x, t) )u(x, t)] v(x, t)
p(x, t) div v(x, t)
_
dxdt
=
_
T
0
_

f (x, t) v(x, t)dxdt +


_

u
0
(x) v(x, 0)dx
99
100 IV. INSTATIONARY PROBLEMS
_
T
0
_

q(x, t) div u(x, t)dxdt


= 0
holds for all v with
max
0<t<T
_

_
[
v(x, t)
t
[
2
dx +[v(x, t)[
2
_
dx <
and all q with
max
0<t<T
_

[q(x, t)[
2
dx < .
IV.1.2. Existence and uniqueness results. The variational
formulation of the instationary incompressible Navier-Stokes equations
admits at least one solution. In two space dimensions, this solution is
unique. In three space dimensions, uniqueness of the solution can only
be guaranteed within a restricted class of more regular functions. But,
the existence of such a more regular solution cannot be guaranteed.
Any solution of the instationary incompressible Navier-Stokes equa-
tions behaves like

t for small times t. For larger times the smoothness


with respect to time is better. This singular behaviour for small times
must be taken into account for the time-discretization.
IV.1.3. Numerical methods for ordinary dierential equa-
tions revisited. Before presenting the various discretization schemes
for the time-dependent Navier-Stokes equations, we shortly recapitu-
late some basic facts on numerical methods for ordinary dierential
equations.
Suppose that we have to solve an initial value problem
dy
dt
= F(y, t)
y(0) = y
0
(IV.1.1)
in R
n
on the time interval (0, T).
We choose an integer N 1 and intermediate times 0 = t
0
< t
1
<
. . . < t
N
= T and set
i
= t
i
t
i1
, 1 i N. The approximation to
y(t
i
) is denoted by y
i
.
The simplest and most popular method is the -scheme. It is given
by
y
0
= y
0
y
i
y
i1

i
= F(y
i
, t
i
) + (1 )F(y
i1
, t
i1
) , 1 i N,
IV.1. INSTATIONARY NAVIER-STOKES EQUATIONS 101
where [0, 1] is a xed parameter. The choice = 0 yields the
explicit Euler scheme, = 1 corresponds to the implicit Euler
scheme, and the choice =
1
2
gives the Crank-Nicolson scheme.
The -scheme is implicit unless = 0. It is A-stable provided
1
2
.
The -scheme is of order 1, if ,=
1
2
, and of order 2, if =
1
2
.
Another class of popular methods is given by the various Runge-
Kutta schemes. They take the form
y
0
= y
0
y
i,j
= y
i1
+
i
r

k=1
a
jk
F(t
i1
+ c
k

i
, y
i,k
) , 1 j r,
y
i
= y
i1
+
i
r

k=1
b
k
F(t
i1
+ c
k

i
, y
i,k
) , 1 i N,
where 0 c
1
. . . c
r
1. The number r is called stage number
of the Runge-Kutta scheme. The scheme is called explicit, if a
jk
= 0
for all k j, otherwise it is called implicit.
For the ease of notation one usually collects the numbers c
k
, a
jk
, b
k
in a table of the form
c
1
a
11
a
12
. . . a
1r
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
r
a
r1
a
r2
. . . a
rr
b
1
b
2
. . . b
r
The Euler and Crank-Nicolson schemes are Runge-Kutta schemes.
They correspond to the tables
0 0
1
r = 1,
1 1
1
r = 1,
0 0 0
1
1
2
1
2
1
2
1
2
r = 2.
Strongly diagonal implicit Runge-Kutta schemes (in
short SDIRK schemes) are particularly well suited for the discretiza-
tion of time-dependent partial dierential equations since they combine
high order with good stability properties. The simplest representatives
of this class are called SDIRK 2 and SDIRK 5. They are both A-stable
102 IV. INSTATIONARY PROBLEMS
and have orders 3 and 4, respectively. They are given by the data
3+

3
6
3+

3
6
0
3

3
6

3
3
3+

3
6
1
2
1
2
SDIRK2
1
4
1
4
0 0 0 0
3
4
1
2
1
4
0 0 0
11
20
17
50

1
25
1
4
0 0
1
2
371
1360

137
2720
15
544
1
4
0
1
25
24

49
48
125
16

85
12
1
4
25
24

49
48
125
16

85
12
1
4
SDIRK5.
IV.1.4. Method of lines. This is the simplest discretization
scheme for time-dependent partial dierential equations.
We choose a partition T of the spatial domain and associated
nite element spaces X(T ) and Y (T ) for the velocity and pressure,
respectively. These spaces must satisfy the inf-sup condition of II.2.6
(p. 36). Then we replace in the variational formulation the velocities u,
v and the pressures p, q by discrete functions u
T
, v
T
and p
T
, q
T
which
depend upon time and which for every time t have their values in
X(T ) and Y (T ), respectively. Next, we choose a bases for the spaces
X(T ) and Y (T ) and identify u
T
and p
T
with their coecient vectors
with respect to the bases. Then we obtain the following differential
algebraic equation for u
T
and p
T
du
T
dt
= f
T
A
T
u
T
B
T
p
T
N
T
(u
T
)
B
T
T
u
T
= 0.
Denoting by w
i
, 1 i dimX(T ), and r
j
, 1 j dimY (T ), the
bases functions of X(T ) and Y (T ) respectively, the coecients of the
stiness matrices A
T
and B
T
and of the vectors f
T
and N
T
(u
T
) are
given by
A
T ij
=
_

w
i
(x) : w
j
(x)dx,
B
T ij
=
_

r
j
(x) div w
i
(x)dx,
f
T i
=
_

f (x, t) w
i
(x)dx,
IV.1. INSTATIONARY NAVIER-STOKES EQUATIONS 103
N
T
(u
T
)
i
=
_

[(u(x, t) )u(x, t)] w


i
(x)dx.
Formally, this problem can be cast in the form (IV.1.1) by working
with test-functions v
T
in the space
V (T ) = v
T
X(T ) :
_

q
T
div v
T
dx = 0 for all q
T
Y (T )
of discretely solenoidal functions. The function F in (IV.1.1) is then
given by
F(y, t) = f
T
A
T
y N
T
(y).
If we apply the -scheme and denote by u
i
T
and p
i
T
the approximate
values of u
T
and p
T
at time t
i
, we obtain the fully discrete scheme
u
0
T
= I
T
u
0
u
i
T
u
i1
T

i
= B
T
p
i
T
+
_
f
T
(t
i
) A
T
u
i
T
N
T
(u
i
T
)
_
+ (1 )
_
f
T
(t
i1
) A
T
u
i1
T
N
T
(u
i1
T
)
_
B
T
T
u
i
T
= 0 , 1 i N,
where I
T
: H
1
0
()
n
X(T ) denotes a suitable interpolation operator
(cf. I.2.11 (p. 26)).
The equation for u
i
T
, p
i
T
can be written in the form
1

i
u
i
T
+ A
T
u
i
T
+ B
T
p
i
T
+ N
T
(u
i
T
) = g
i
B
T
T
u
i
T
= 0
with
g
i
=
1

i
u
i1
T
+ f
T
(t
i
) + (1 )
_
f
T
(t
i1
) A
T
u
i1
T
N
T
(u
i1
T
)
_
.
Thus it is a discrete version of a stationary incompressible Navier-
Stokes equation. Hence the methods of III.2 (p. 89) can be used for
its solution.
Due to the condition number of O(h
2
) of the stiness matrix A
T
,
one must choose the parameter
1
2
. Due to the singularity of the
solution of the Navier-Stokes equations at time 0, it is recommended to
rst perform a few implicit Euler steps, i.e. = 1, and then to switch
to the Crank-Nicolson scheme, i.e. =
1
2
.
The main drawback of the method of lines is the xed (w.r.t. time)
spatial mesh. Thus singularities, which move through the domain
in the course of time, cannot be resolved adaptively. This either leads
104 IV. INSTATIONARY PROBLEMS
to a very poor approximation or to an enormous overhead due to an
excessively ne spatial mesh.
IV.1.5. Rothes method. In the method of lines we rst dis-
cretize in space and then in time. This order is reversed in Rothes
method. We rst apply a -scheme or a Runge-Kutta method to the
instationary Navier-Stokes equations. This leaves us in every time-step
with a stationary Navier-Stokes equation.
For the -scheme, e.g., we obtain the problems
1

i
u
i
u
i
+(u
i
)u
i
grad p
i
= f (, t
i
) +
1

i
u
i1
+ (1 )f (, t
i1
) u
i1
+ (u
i1
)u
i1
in
div u
i
= 0 in
u
i
= 0 on .
The stationary Navier-Stokes equations are then discretized in space.
The main dierence to the methods of lines is the possibility to
choose a dierent partition and spatial discretization at each time-
level. This obviously has the advantage that we may apply an adaptive
mesh-renement on each time-level separately. The main drawback of
Rothes method is the lack of a mathematically sound step-size control
for the temporal discretization. If we always use the same spatial mesh
and the same spatial discretization, Rothes method of course yields
the same discrete solution as the method of lines.
IV.1.6. Space-time nite elements. This approach circum-
vents the drawbacks of the method of lines and of Rothes method.
When combined with a suitable space-time adaptivity as described in
the next section, it can be viewed as a Rothes method with a mathe-
matically sound step-size control in space and time.
To describe the method we choose as in IV.1.3 (p. 100) an integer
N 1 and intermediate times 0 = t
0
< t
1
< . . . < t
N
= T and set

i
= t
i
t
i1
, 1 i N. With each time t
i
we associate a partition T
i
of the spatial domain and corresponding nite element spaces X(T
i
)
and Y (T
i
) for the velocity and pressure, respectively. These spaces
must satisfy the inf-sup condition of II.2.6 (p. 36). We denote by
u
i
T
X(T
i
) and p
i
T
Y (T
i
) the approximations of the velocity and
pressure, respectively at time t
i
. The discrete problem is then given by
IV.1. INSTATIONARY NAVIER-STOKES EQUATIONS 105
Find u
0
T
X(T
0
) such that
_

u
0
T
v
0
T
dx =
_

u
0
v
0
T
dx
for all v
0
T
X(T
0
) and determine u
i
T
X(T
i
) and p
i
T
Y (T
i
) for
i = 1, . . . , N successively such that
1

i
_

u
i
T
v
i
T
dx
+
_

u
i
T
: v
i
T
dx

p
i
T
div v
i
T
dx
+
_

[(u
i
T
)u
i
T
] v
i
T
dx =
1

i
_

u
i1
T
v
i
T
dx
+
_

f (x, t
i
) v
i
T
dx
+ (1 )
_

f (x, t
i1
) v
i
T
dx
+ (1 )
_

u
i1
T
: v
i
T
dx
+ (1 )
_

[(u
i1
T
)u
i1
T
] v
i
T
dx
_

q
i
T
div u
i
T
dx = 0
holds for all v
i
T
X(T
i
) and q
i
T
Y (T
i
).
The parameter is chosen either equal to
1
2
or equal to 1. The param-
eter is chosen either equal to or equal to 1.
Note, that u
0
T
is the L
2
-projection of u
0
onto X(T
0
) and that the
right-hand side of the equation for u
i
T
involves the L
2
-projection of
functions in X(T
i1
) onto X(T
i
). Roughly speaking, these projections
make the dierence between the space-time nite elements and Rothes
method. Up to these projections one also recovers the method of lines
when all partitions and nite element spaces are xed with respect to
time.
On each time-level we have to solve a discrete version of a stationary
Navier-Stokes equation. This is done with the methods of III.2 (p. 89).
IV.1.7. The transport-diusion algorithm. This method is
based on the observation that due to the transport theorem of I.1.3
(p. 8) the term
u
t
+ (u )u
106 IV. INSTATIONARY PROBLEMS
is the material derivative along the trajectories of the ow. Therefore
_
u
t
+ (u )u
_
(x, t)
is approximated by the backward dierence
u(x, t) u(y(t ), t )

where s y(s) is the trajectory which passes at time t through the


point x. The remaining terms are approximated in a standard nite
element way.
To describe the algorithm more precisely, we retain the notations
of the previous sub-section and introduce in addition on each partition
T
i
a quadrature formula
_

dx

xQ
i

x
(x)
which is exact at least for piecewise constant functions. The most
important examples are given by
Q
i
the barycentres x
K
of the elements in T
i
,
x
K
= [K[,
Q
i
the vertices x in T
i
,
x
= [
x
[,
Q
i
the midpoints x
E
of the edges in T
i
,
x
E
= [
E
[.
Here, [[ denotes the area, if n = 2, or the volume, if n = 3, of a set
R
n
and
x
and
E
are the unions of all elements that share the
vertex x or the edge E respectively (cf. Figures I.2.2 (p. 24) and I.2.6
(p. 28)).
With these notations the transport-diffusion algorithm is
given by:
Find u
0
T
X(T
0
) such that

xQ
0

x
u
0
T
(x) v
0
T
(x) =

xQ
0

x
u
0
(x) v
0
T
(x)
for all v
0
T
X(T
0
). For i = 1, . . . , N successively, solve the
initial value problems (transport step)
dy
x
(t)
dt
= u
i1
T
(y
x
(t), t) for t
i1
< t < t
i
y
x
(t
i
) = x
IV.2. SPACE-TIME ADAPTIVITY 107
for all x Q
i
and nd u
i
T
X(T
i
) and p
i
T
Y (T
i
) such
that (diffusion step)
1

xQ
i

x
u
i
T
(x) v
i
T
(x)
+
_

u
i
T
: v
i
T
dx

p
i
T
div v
i
T
dx =
1

xQ
i

x
u
i1
T
(y
x
(t
i1
)) v
i
T
(x)
+
_

f (x, t
i
) v
i
T
dx
+ (1 )
_

f (x, t
i1
) v
i
T
dx
+ (1 )
_

u
i1
T
: v
i
T
dx
_

q
i
T
div u
i
T
dx = 0
holds for all v
i
T
X(T
i
) and q
i
T
Y (T
i
).
In contrast to the previous algorithms we now only have to solve
discrete Stokes problems at the dierent time-levels. This is the reward
for the necessity to solve the initial value problems for the y
x
and to
evaluate functions in X(T
i
) at the points y
x
(t
i1
) which are not nodal
degrees of freedom.
IV.2. Space-time adaptivity
IV.2.1. Overview. When compared to adaptive discretizations of
stationary problems an adaptive discretization scheme for instationary
problems requires some additional features:
We need an error estimator which gives upper and lower
bounds on the total error, i.e. on both the errors introduced
by the spatial and the temporal discretization.
The error estimator must allow a distinction between the tem-
poral and spatial part of the error.
We need a strategy for adapting the time-step size.
The renement strategy for the spatial discretization must also
allow the coarsening of elements in order to take account of
singularities which in the course of time move through the
spatial domain.
For the Navier-Stokes equations some special diculties arise in
addition:
108 IV. INSTATIONARY PROBLEMS
The velocities are not exactly solenoidal. This introduces an
additional consistency error which must be properly estimated
and balanced.
The convection term may be dominant. Therefore the a poste-
riori error estimators must be robust, i.e. the ratio of upper
and lower error bounds must stay bounded uniformly with re-
spect to large values of Re|u|
1
or
1

|u|
1
.
IV.2.2. A residual a posteriori error estimator. The error
estimator now consists of two components: a spatial part and a tem-
poral one. The spatial part is a straightforward generalization of the
residual estimator of III.2.2 (p. 90) for the stationary Navier-Stokes
equation. With the notations of IV.1.6 (p. 104) the spatial contribu-
tion on time-level i is given by

i
h
=
_

KT
i
h
2
K
|f (, t
i
) + (1 )f (, t
i1
)
u
i
T
u
i1
T

i
+ u
i
T
+ (1 )u
i1
T
p
i
T
(u
i
T
)u
i
T
(1 )(u
i1
T
)u
i1
T
|
2
L
2
(K)
+

KT
i
| div u
i
T
|
2
L
2
(K)
+

EE
T
i
h
E
|[n
E
(u
i
T
+ (1 )u
i1
T
p
i
T
I)]
E
|
2
L
2
(E)
_1
2
.
Recall that c
T
i
denotes the set of all interior edges, if n = 2, respectively
interior faces, if n = 3, in T
i
.
In order to obtain a robust estimator, we have to invest some work
in the computation of the temporal part of the estimator. For this
part we have to solve on each time-level the following discrete Poisson
equations:
Find u
i
T
S
1,0
0
(T
i
)
n
such that

u
i
T
: v
i
T
dx
IV.2. SPACE-TIME ADAPTIVITY 109
=
_

[((u
i
T
+ (1 )u
i1
T
) )(u
i
T
u
i1
T
)] v
i
T
dx
holds for all v
i
T
S
1,0
0
(T
i
)
n
.
The temporal contribution of the error estimator on time-level i
then is given by

=
_
[u
i
T
u
i1
T
[
2
1
+ [ u
i
T
[
2
1
+

KT
i
h
2
K
|((u
i
T
+ (1 )u
i1
T
) )(u
i
T
u
i1
T
)
+ u
i
T
|
2
L
2
(K)
+

EE
T
i
h
E
|[ u
i
T
]
E
|
2
L
2
(E)
_
1/2
.
With these ingredients the residual a posteriori error estimator for
the instationary incompressible Navier-Stokes equations takes the form
_
N

i=1

i
_
_

i
h
_
2
+
_

_
2
_
_
1/2
.
IV.2.3. Time adaptivity. Assume that we have solved the dis-
crete problem up to time-level i 1 and that we have computed the
error estimators
i1
h
and
i1

. Then we set
t
i
=
_
minT, t
i1
+
i1
if
i1


i1
h
,
minT, t
i1
+ 2
i1
if
i1


1
2

i1
h
.
In the rst case we retain the previous time-step; in the second case
we try a larger time step.
Next, we solve the discrete problem on time-level i with the current
value of t
i
and compute the error estimators
i
h
and
i

.
If
i


i
h
, we accept the current time-step and continue with the
space adaptivity, which is described in the next sub-section.
If
i

2
i
h
, we reject the current time-step. We replace t
i
by
1
2
(t
i1
+ t
i
) and repeat the solution of the discrete problem on time-
level i and the computation of the error estimators.
110 IV. INSTATIONARY PROBLEMS
The described strategy obviously aims at balancing the two contri-
butions
i
h
and
i

of the error estimator.


IV.2.4. Space adaptivity. For time-dependent problems the spa-
tial adaptivity must also allow for a local mesh coarsening. Hence, the
marking strategies of II.7.5 (p. 73) must be modied accordingly.
Assume that we have solved the discrete problem on time-level i
with an actual time-step
i
and an actual partition T
i
of the spatial
domain and that we have computed the estimators
i
h
and
i

. More-
over, suppose that we have accepted the current time-step and want to
optimize the partition T
i
.
We may assume that T
i
currently is the nest partition in a hier-
archy T
0
i
, . . . , T

i
of nested, successively rened partitions, i.e. T
i
= T

i
and T
j
i
is a (local) renement of T
j1
i
, 1 j .
Now, we go back mgenerations in the grid-hierarchy to the partition
T
m
i
. Due to the nestedness of the partitions, each element K T
m
i
is the union of several elements K

T
i
. Each K

gives a contribution
to
i
h
. We add these contributions and thus obtain for every K T
m
i
an error estimator
K
. With these estimators we then perform M
steps of the marking strategy of II.7.5 (p. 73). This yields a new
partition T
m+M
i
which usually is dierent from T
i
. We replace T
i
by
this partition, solve the corresponding discrete problem on time-level i
and compute the new error estimators
i
h
and
i

.
If the newly calculated error estimators satisfy
i
h

i

, we accept
the current partition T
i
and proceed with the next time-level.
If
i
h
2
i

, we successively rene the partition T


i
as described
in II.7 (p. 67) with the
i
h
as error estimators until we arrive at a
partition which satises
i
h

i

. When this goal is achieved we accept


the spatial discretization and proceed with the next time-level.
Typical values for the parameters m and M are 1 m 3 and
m M m + 2.
IV.3. Discretization of compressible and inviscid problems
IV.3.1. Systems in divergence form. In this section we con-
sider problems of the following form:
Given a domain R
n
with n = 2 or n = 3, an integer m n, a
vector eld g : R
m
(0, ) R
m
, a vector eld M : R
m
R
m
,
a tensor eld F : R
m
R
mn
, and a vector eld U
0
: R
m
, we are
looking for a vector eld U : (0, ) R
m
such that
M(U)
t
+ div F(U) = g(U, x, t) in (0, )
U(, 0) = U
0
in .
IV.3. COMPRESSIBLE AND INVISCID PROBLEMS 111
Such a problem, which has to be complemented with suitable boundary
conditions, is called a system (of differential equations) in
divergence form.
Note, that the divergence is taken row-wise, i.e.
div F(U) =
_
n

j=1
F(U)
i,j
x
j
_
1im
.
The tensor eld F is called the flux of the system. It is often split
into an advective flux F
adv
which contains no derivatives and a
viscous flux F
visc
which contains spatial derivatives, i.e
F = F
adv
+F
visc
.
Example IV.3.1. The compressible Navier-Stokes equations and the
Euler equations (with = 0) of I.1.9 (p. 13) and I.1.10 (p. 13) t
into this framework. For both equations we have
m = n + 2
U = (, v, e)
T
M(U) =
_
_

v
e
_
_
F
adv
(U) =
_
_
v
v v + pI
ev + pv
_
_
g =
_
_
0
f
f v
_
_
.
For the Navier-Stokes equations the viscous forces yield a viscous
ux
F
visc
(U) =
_
_
0
T+ pI
(T+ pI) v +
_
_
.
These equations are complemented by the constitutive equations
for p, T, and given in I.1.8 (p. 11).
IV.3.2. Finite volume schemes. Finite volume schemes are par-
ticularly suited for the discretization of systems in divergence form.
To describe the idea in its simplest form, we choose a time-step
> 0 and a partition T of the domain . The partition may consist of
112 IV. INSTATIONARY PROBLEMS
arbitrary polyhedrons. From I.2.7 (p. 21) we only retain the condition
that the sub-domains must not overlap.
In a rst step, we x an i and an element K T . Then we integrate
the system over the set K [(i 1), i]. This yields
_
i
(i1)
_
K
M(U)
t
dxdt +
_
i
(i1)
_
K
div F(U)dxdt
=
_
i
(i1)
_
K
g(U, x, t)dxdt.
Using the integration by parts formulae of I.2.3 (p. 19), we obtain for
the left-hand side
_
i
(i1)
_
K
M(U)
t
dxdt =
_
K
M(U(x, i))dx

_
K
M(U(x, (i 1)))dx
_
i
(i1)
_
K
div F(U)dxdt =
_
i
(i1)
_
K
F(U) n
K
dSdt,
where n
K
denotes the exterior unit normal of K.
Now, we assume that U is piecewise constant with respect to space
and time. Denoting by U
i
K
and U
i1
K
its constant values on K at times
i and (i 1) respectively, we obtain
_
K
M(U(x, i))dx [K[M(U
i
K
)
_
K
M(U(x, (i 1)))dx [K[M(U
i1
K
),
where [K[ denotes the area, if n = 2, respectively volume, if n = 3, of
the element K.
Next we approximate the ux term
_
i
(i1)
_
K
F(U) n
K
dSdt
_
K
F(U
i1
K
) n
K
dS.
The right-hand side is approximated by
_
i
(i1)
_
K
g(U, x, t)dxdt [K[g(U
i1
K
, x
K
, (i 1)),
where x
K
denotes a point in K, which is xed a priori, e.g. its barycen-
tre.
Finally, we approximate the boundary integral for the ux by a
numerical flux

_
K
F(U
i1
K
) n
K
dS

T
KK

E
T
[K K

[F
T
(U
i1
K
, U
i1
K

),
IV.3. COMPRESSIBLE AND INVISCID PROBLEMS 113
where c
T
denotes the set of all edges, if n = 2, respectively faces, if
n = 3, in T and where [K K

[ is the length respectively area of


the common edge or face of K and K

.
With these approximations the simplest finite volume scheme
for a system in divergence form is given by
For every element K T compute
U
0
K
=
1
[K[
_
K
U
0
(x)dx.
For i = 1, 2, . . . successively compute for all elements K T
M(U
i
K
) = M(U
i1
K
)

T
KK

E
T
[K K

[
[K[
F
T
(U
i1
K
, U
i1
K

)
+ g(U
i1
K
, x
K
, (i 1)).
For a concrete nite volume scheme we of course have to specify
the partition T and
the numerical ux F
T
.
This will be the subject of the following sections.
Remark IV.3.2. In practice one works with a variable time-step and
variable partitions. To this end one chooses an increasing sequence 0 =
t
0
< t
1
< t
2
< . . . of times and associates with each time t
i
a partition
T
i
of . Then is replaced by
i
= t
i
t
i1
and K and K

are elements
in T
i1
or T
i
. Moreover one has to furnish an interpolation operator
which maps piecewise constant functions with respect to one partition
to piecewise constant functions with respect to another partition.
IV.3.3. Construction of the partitions. An obvious possibility
is to construct a nite volume partition T in the same way as a nite
element partition. In practice, however, one prefers so-called dual
meshes.
To describe the idea, we consider the two-dimensional case, i.e.
n = 2. We start from a standard nite element partition

T which
satises the conditions of I.2.7 (p. 21). Then we subdivide each
element

K

T into smaller elements by either
drawing the perpendicular bisectors at the midpoints of edges
of

K (cf. Figure IV.3.1) or by
connecting the barycentre of

K with its midpoints of edges (cf.
Figure IV.3.2).
Then the elements in T consist of the unions of all small elements that
share a common vertex in the partition

T .
114 IV. INSTATIONARY PROBLEMS
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
Figure IV.3.1. Dual mesh (thick lines) via perpendic-
ular bisectors of primal mesh (thin lines)
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
d
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r

Figure IV.3.2. Dual mesh (thick lines) via barycentres


of primal mesh (thin lines)
Thus the elements in T can be associated with the vertices in A

T
.
Moreover, we may associate with each edge in c
T
exactly two vertices
in A

T
such that the line connecting these vertices intersects the given
edge.
The rst construction has the advantage that this intersection is
orthogonal. But this construction also has some disadvantages which
are not present with the second construction:
The perpendicular bisectors of a triangle may intersect in a
point outside the triangle. The intersection point is within
the triangle only if its largest angle is at most a right one.
IV.3. COMPRESSIBLE AND INVISCID PROBLEMS 115
The perpendicular bisectors of a quadrilateral may not inter-
sect at all. They intersect in a common point inside the quadri-
lateral only if it is a rectangle.
The rst construction has no three dimensional analogue.
IV.3.4. Relation to nite element methods. The fact that
the elements of a dual mesh can be associated with the vertices of a
nite element partition gives a link between nite volume and nite
element methods:
Consider a function that is piecewise constant on the dual mesh T ,
i.e. S
0,1
(T ). With we associate a continuous piecewise linear
function S
1,0
(

T ) corresponding to the nite element partition

T such that (x
K
) =
K
for the vertex x
K
A

T
corresponding to
K T .
This link sometimes considerably simplies the analysis of nite
volume methods. For example it suggests a very simple and natural
approach to a posteriori error estimation and mesh adaptivity for nite
volume methods:
Given the solution of the nite volume scheme compute the
corresponding nite element function .
Apply a standard a posteriori error estimator to .
Given the error estimator apply a standard mesh renement
strategy to the nite element mesh

T and thus construct a
new, locally rened partition

T .
Use

T to construct a new dual mesh T

. This is the renement


of T .
IV.3.5. Construction of the numerical uxes. In order to
construct the numerical ux F
T
(U
i1
K
, U
i1
K

) corresponding to the com-


mon boundary of two elements K and K

in a nite volume partition,


we split KK

into straight edges, if n = 2, or plane faces, if n = 3.


Consider such an edge respectively face E. To simplify the notation,
we denote the adjacent elements by K
1
and K
2
and write U
1
and U
2
instead of U
i1
K
1
and U
i1
K
2
, respectively.
We assume that T is the dual mesh to a nite element partition

T
as described in IV.3.3 (p. 113). Denote by x
1
and x
2
the two vertices
in A

T
such that their connecting line intersects E (cf. Figure IV.3.3).
In order to construct the contribution of E to the numerical ux
F
T
(U
1
, U
2
), we split the ux in an advective part F
T adv
(U
1
, U
2
) and
a viscous part F
T visc
(U
1
, U
2
) similar to the splitting of the analytical
ux F.
For the viscous part of the numerical ux we introduce a local
coordinate system
1
, . . . ,
n
such that the direction
n
is parallel to
the direction x
1
x
2
and such that the other directions are tangential to
E. Note, that in general x
1
x
2
will not be orthogonal to E. Then we
116 IV. INSTATIONARY PROBLEMS

x
1
x
1
x
2
x
2
r
r
r
r
r
r
Figure IV.3.3. Examples of a common edge E (thick
lines) of two volumes and corresponding nodes x
1
and x
2
of the underlying primal mesh together with their con-
necting line (thin lines)
express all derivatives in F
visc
in tems of the new coordinate system,
suppress all derivatives not involving
n
, and approximate derivatives
with respect to
n
by dierence quotients of the form

1

2
x
1
x
2

2
. Here,
|x
1
x
2
|
2
denotes the Euclidean distance of the two points x
1
and x
2
.
For the advective part of the numerical ux we need some addi-
tional notations. Consider an arbitrary vector V R
m
. Denote by
D(F
adv
(V) n
K
1
) R
mm
the derivative of F
adv
(V) n
K
1
with re-
spect to V. One can prove that for many systems in divergence form
including the compressible Navier-Stokes and Euler equations this
matrix can be diagonalized. I.e. there is an invertible m m matrix
Q(V) and a diagonal mm matrix (V) such that
Q(V)
1
D(F
adv
(V) n
K
1
)Q(V) = (V).
The entries of (V) are of course the eigenvalues of D(F
adv
(V) n
K
1
).
For any real number z we set
z
+
= maxz, 0 , z

= minz, 0
and dene
(V)

=
_
_
_
_
(V)

11
0 . . . 0
0 (V)

22
. . . 0
.
.
.
.
.
.
.
.
.
0 0 . . . (V)

mm
_
_
_
_
and
C(V)

= Q(V)(V)

Q(V)
1
.
With these notations, the Steeger-Warming approximation
of the advective ux is given by
IV.3. COMPRESSIBLE AND INVISCID PROBLEMS 117
F
T
(U
1
, U
2
) = C(U
1
)
+
U
1
+ C(U
2
)

U
2
.
Another popular numerical ux is the van Leer approximation
which is given by
F
T
(U
1
, U
2
)
=
_
C(U
1
) + C(
1
2
(U
1
+U
2
))
+
C(
1
2
(U
1
+U
2
))

_
U
1
+
_
C(U
2
) C(
1
2
(U
1
+U
2
))
+
+ C(
1
2
(U
1
+U
2
))

_
U
2
.
In both schemes one has to compute the derivatives DF
adv
(V)
n
K
1
and their eigenvalues and their eigenvectors for suitable values
of V. At rst sight the van Leer scheme seems to be more costly
than the Steeger-Warming scheme since it requires three evaluations
of C(V) instead of two. For the compressible Navier-Stokes and Euler
equations, however, this can be reduced to one evaluation since for
these equations F
adv
(V) n
K
1
= C(V)V holds for all V.
Summary
I Fundamentals
1. Modelization
Lagrangian and Eulerian coordinate systems; Lagrangian coordi-
nate system moves with the uid; Eulerian coordinate system is
xed; velocity; transport theorem; conservation of mass; Cauchy
theorem; conservation of momentum; exterior forces; interior forces;
total energy; conservation of energy; constitutive laws; equation of
state; deformation tensor; dynamic viscosities; compressible Navier-
Stokes equations in conservative form; Euler equations; compress-
ible Navier-Stokes equations in non-conservative form; instation-
ary incompressible Navier-Stokes equations; incompressible
div v = 0; kinematic viscosity; Reynolds number; stationary in-
compressible Navier-Stokes equations; Stokes equations; initial and
boundary conditions; no-slip boundary condition; slip boundary
condition
2. Notations and basic results
Notations for domains, functions, vector elds, tensors and deriva-
tives; dierentiation of products; integration by parts formulae;
closure of a set; support of a function; C

0
(); weak derivatives;
classical and weak derivatives coincide for smooth functions; weak
derivative of [x[; Sobolev spaces and norms; trace spaces; a piece-
wise smooth function is in H
1
i it its continuous; H
1
-functions
do not admit point values; Friedrichs and Poincare inequalities;
nite element partitions; ane equivalence; admissibility; shape-
regularity; in two dimensions: shape regularity smallest an-
gle bounded away from zero; triangles and parallelograms may be
mixed; polynomial spaces R
k
(K); nite element spaces S
k,1
(T ),
S
k,0
(T ), S
k,0
0
(T ); approximation properties; nodal shape functions;
representation of nodal shape functions in terms of element vertices;
hierarchical basis; element bubble functions and their properties;
edge and face bubble functions and their properties; jumps across
edges and faces
II Stationary linear problems
1. Discretization of the Stokes equations. A rst attempt
Variational formulation of the Poisson equation and standard -
nite element discretization; variational formulation of the Stokes
equations using solenoidal velocities; Courant triangulation; ap-
proximation with continuous, piecewise linear, solenoidal velocities
does not work; discretization with continuous, piecewise polyno-
mial, solenoidal velocities requires a polynomial degree 5; reme-
dies: mixed methods, Petrov-Galerkin stabilization, non-conforming
methods, stream-function formulation
119
120 SUMMARY
2. Mixed nite element discretizations of the Stokes equations
Mixed variational formulation of the Stokes equations; relation to
a constrained minimization problem; velocity is a minimizer, pres-
sure is a maximizer; existence and uniqueness of a solution of the
mixed variational problem; continuous dependence on the force
term; general structure of a mixed nite element discretization of
the Stokes equations; discrete mass equation does not imply that
discrete velocity is solenoidal; piecewise continuous linear veloci-
ties and piecewise constant pressures on a triangular grid do not
work; structure of the discrete mixed porblem; necessary condi-
tion: dimX(T ) dimY (T ); checkerboard instability; inf-sup con-
dition; stable elements; adding edge/face bubble functions to the
velocity space stabilizes the Q1/Q0 element; the pair S
n,0
0
(T )
n
,
S
0,1
(T ) L
2
0
() is stable; adding element bubble functions to the
velocity space stabilizes the pair S
m,0
0
(T )
n
, S
m1,1
(T ) L
2
0
();
the pair S
n+m1,0
0
(T )
n
, S
m1,1
(T ) L
2
0
() is stable; the mini
element, the Taylor-Hood element and the modied Taylor-Hood
element are stable; the pair S
k,0
0
(T )
n
, S
k1,0
(T ) L
2
0
() is sta-
ble for every k 3; a priori error estimates; polynomial degree of
the pressure one less than the polynomial degree of the velocity is
optimal
3. Petrov-Galerkin stabilization
Splitting the velocity of the mini element in a linear and a bub-
ble part yields a P1/P1 discretization of a modied Stokes prob-
lem with a consistent penalty; general form of Petrov-Galerkin dis-
cretizations; choice of stabilization parameters:
max

min
; choice
of spaces: polynomial degree of pressure one less than polynomial
degree of velocity; structure of the discrete problems
4. Non-conforming methods
Aim: relax the continuity condition for the discrete velocities;
Crouzeix-Raviart element and its properties; a priori error esti-
mates; drawbacks: diculties in the presence of re-entrant corners,
no higher-order equivalent, no three dimensional equivalent; con-
struction of a local solenoidal basis; computation of the velocity by
solving a symmetric positive denite system with condition O(h
4
);
computation of the pressure by a simple post-processing
5. Stream-function formulation
Aim: obtain an exactly solenoidal conforming velocity approxi-
mation; curl operators; chain rules; integration by parts formula;
v : R
2
solenoidal stream-function with v =
curl ; Stokes equations equivalent to the biharmonic equation for
the stream-function; biharmonic equation only yields the velocity,
there is no constructive way to compute the pressure; variational for-
mulation of the biharmonic equation; a conforming discretization re-
quires a polynomial degree of at least 5; non-conforming discretiza-
tion using the Morley element; relation between the Morley element
discretization of the biharmonic equation and the Crouzeix-Raviart
element discretization of the Stokes equations; vorticity; saddle-
point formulation of the biharmonic equation and corresponding
mixed nite element discretization; a priori error estimate
SUMMARY 121
6. Solution of the discrete problems
General structure of the discrete problem; stiness matrix is in-
denite standard iterative methods such as CG cannot be ap-
plied; indeniteness cannot be circumvented; the Uzawa algorithm;
Uzawa is very simple but very slow; Uzawa falls in the category
of pressure correction schemes; the CG algorithm and its prop-
erties; the improved Uzawa algorithm; idea: eliminate the veloc-
ity from the discrete Stokes equations, apply a CG algorithm to
the resulting problem for the pressure and compute velocities ap-
proximately by applying a standard multigrid algorithm to the
corresponding discrete Poisson problems; convergence rate is in-
dependent of the mesh-size; multigrid algorithm; basic ingredients:
smoothing, coarse grid correction, restriction, prolongation; V- and
W-cycles; smoothing methods: symmetric Gauss-Seidel, squared
Richardson, Vanka methods; prolongation; restriction; stabilized
bi-conjugate gradient algorithm for non-symmetric and indenite
problems
7. A posteriori error estimation and adaptive grid renement
A priori error estimates only give information on the asymptotic
behavior of the error, they give no information on its actual size
nor on its spatial distribution; general structure of the adaptive al-
gorithm; ingredients: a posteriori error estimator, marking strategy,
regular renement, additional renement; a residual error estimator
for the Stokes equations and its ingredients; global upper and local
lower bounds on the error; reliability and eciency; error estimators
based on the solution of auxiliary discrete local Stokes problems
with Neumann and Dirichlet boundary conditions; equivalence of
the estimators; maximum and equilibration strategies for marking
elements; regular subdivision of triangles, parallelograms and par-
allelepipeds by joining the mid-points of edges; regular subdivision
of tetrahedra requires an additional device for handling the double
pyramid in the interior; green, blue and purple renement of ele-
ments; additional rules for avoiding too abstuse or acute elements;
required data structures
III Stationary nonlinear problems
1. Discretization of the stationary Navier-Stokes equations
Variational formulation; Stokes operator; xed-point formulation;
properties: at least one solution, exactly one solution for suciently
small Reynolds number, solution has the same regularity as the one
of the corresponding Stokes problem, solution is dierentiable w.r.t.
the Reynolds number, at most nitely many turning and bifurca-
tion points; nite element discretization; nite element spaces must
be stable; discrete Stokes operator; xed-point formulation of the
discrete problem; discrete problem has properties similar to the an-
alytical problem; symmetric formulation of the non-linear term; a
priori error estimates; a one-dimensional example; necessity of true
up-winding with up-wind direction depending on the solution; up-
wind dierence approximation of the convective term; streamline-
diusion method; idea: add additional viscosity in streamline direc-
tion, simultaneous stabilization of convective term and divergence
constraint
2. Solution of the discrete nonlinear problems
Fixed-point iteration, convergence rate 1 Re
2
|f |
0
practicable
only for small Reynolds number; Newton iteration, solve in each
122 SUMMARY
step modied Stokes problems with convection; path tracking, step
length control; nonlinear CG-algorithm; operator splitting, idea:
treat nonlinearity and divergence constraint separately; nonlinear
multigrid algorithms, similar to multigrid for linear problems only
change smoothing
3. Adaptivity for nonlinear problems
General structure of the adaptive algorithm for nonlinear problems
is the same as for linear ones, only error estimators do change; resid-
ual error estimator: add nonlinear convection term to the element
residuals; error estimators based on the solution of auxiliary lo-
cal discrete problems: discrete problems remain linear, nonlinearity
only enters in the right-hand side
IV Instationary problems
1. Discretization of the instationary Navier-Stokes equations
Variational formulation; variational formulation admits at least one
solution, in two dimensions the solution is unique, in three dimen-
sions uniqueness can only be proved within a restricted class of
more regular functions in which existence cannot be guaranteed;
any solution behaves like

t for small times; numerical methods for


the solution of ordinary dierential equations: -scheme, explicit
and implicit Euler method, Crank-Nicolson scheme, Runge-Kutta
methods, SDIRK schemes, implicit methods are mandatory for the
time-discretization of parabolic problems, SDIRK schemes are par-
ticularly well suited; method of lines: in each time-step a discrete
stationary Navier-Stokes problem must be solved, implicit time-
discretization is mandatory, main drawback is the xed (w.r.t. time)
spatial mesh; Rothes method: rst discretize in time and then in
space, leads to a stationary Navier-Stokes problem in each time step,
allows to use varying space discretizations in time, main drawback
is missing mathematically sound control of the temporal step-size;
space-time nite elements: choose dierent spatial meshes and -
nite element spaces at each time step, allows a simultaneous spatial
and temporal adaptivity; transport-diusion algorithm: temporal
derivative and convection term are simultaneously discretized by
backward dierences along trajectories, only Stokes problems must
be solved in each time step, but trajectories must be computed at
each time step for every node of a quadrature formula
2. Space-time adaptivity
Required additional features: upper and lower bounds on spatial
and temporal order, possibility for coarsening the spatial mesh, dis-
tinction between spatial and temporal error, bounds must be uni-
form w.r.t. the Reynolds number; residual error estimator, spatial
and temporal contribution; time adaptivity; space adaptivity
3. Discretization of compressible and inviscid problems
Systems in divergence form; ux, splitting into advective and vis-
cous part; compressible Navier-Stokes and Euler equations as sys-
tems in divergence form; nite volume schemes: partitions, numer-
ical uxes; dual meshes, construction via perpendicular bisectors
or via barycentres; relation to nite element methods; construction
of the numerical uxes: splitting into viscous and advective part,
Steeger-Warming scheme, van Leer scheme
Bibliography
[1] M. Ainsworth, J. T. Oden: A Posteriori Error Estimation in Finite Element
Analysis. Wiley, 2000
[2] V. Girault, P. A. Raviart: Finite Element Approximation of the Navier-Stokes
Equations. Computational Methods in Physics, Springer, Berlin, 2nd edition,
1986
[3] R. Glowinski: Finite Element Methods for Incompressible Viscous Flows.
Handbook of Numerical Analysis Vol. IX, Elsevier 2003
[4] E. Godlewski, P. A. Raviart: Numerical Approximation of Hyperbolic Systems
of Conservation Laws. Springer, 1996
[5] D. Gunzburger, R. A. Nicolaides: Incompressible CFD - Trends and Advances.
Cambridge University Press, 1993
[6] D. Kroner: Numerical Schemes for Conservation Laws. Teubner-Wiley, 1997
[7] R. LeVeque: Finite Volume Methods for Hyperbolic Problems. Springer, 2002
[8] O. Pironneau: Finite Element Methods for Fluids. Wiley, 1989
[9] R. Temam: Navier-Stokes Equations. 3rd edition, North Holland, 1984
[10] R. Verf urth: A Review of A Posteriori Error Estimation and Adaptive Mesh-
Renement Techniques. Teubner-Wiley, Stuttgart, 1996
123
Index
, 18
||
k
, 20
||1
2
,
, 21
[[
1
, 22
[[
k
, 20
[[

, 23
, 10
, 18
, 9
:, 18
x

, 23
A, 19
c
T
, 28
c
x
, 47
A
T
, 23
T , 21
C

0
(), 19
curl, 49
curl, 49

1
+...+
n
x

1
1
...x

n
n
, 19
, 18
, 18
H
1
0
(), 20
H
1
2
(), 20
H
k
(), 20
H
2
0
(), 50
K, 21
L
2
0
(), 20
NE
0
, 46
NT, 46
NV
0
, 46
, 18
P

, 38
R
T
, 26
Re, 16
R
k
(K), 23
S
k,1
, 23
S
k,0
, 23
S
k,0
0
, 23
T, 79
T
T
, 81
D, 12
F
adv
, 111
F
visc
, 111
I, 12
T, 9
V , 29
V (T ), 46
n, 9
n
E
, 28
n
E,x
, 47
t
E
, 46
t
E,x
, 47
v, 7
w
E
, 46
w
x
, 47

max
, 44

min
, 44
div, 18

D,K
, 72

K
, 68

N,K
, 71
h, 22
h
T
, 22
h
K
, 22
[]
E
, 28
, 12

x
, 24
, 12
, 18
, 15

x
, 24
[
x
[, 26
p, 12

E
, 28

K
, 27

K
, 22
supp, 19
a posteriori error estimation, 68
a posteriori error estimator, 68
125
126 INDEX
a posteriori error indicator, 68
additional renement, 68
admissibility, 22
advective ux, 111
ane equivalence, 22
Babuska-Brezzi condition, 37
Babuska, Ivo, 37
Bi-CG-stab, 65
biharmonic equation, 50
blue element, 75
boundary, 9
Brezzi, Franco, 36
Cauchy theorem, 9
CG algorithm, 55
checkerboard instability, 36
checkerboard mode, 35
coarse grid correction, 59
compressible Navier-Stokes equations
in conservative form, 13
compressible Navier-Stokes equations
in non-conservative form, 14
conjugate gradient algorithm, 55
conservation of energy, 11
conservation of mass, 9
conservation of momentum, 10
consistent penalty, 43
Courant triangulation, 31
Crank-Nicolson scheme, 101
Crouzeix-Raviart element, 45
deformation tensor, 12, 18
dierential algebraic equation, 102
diusion step, 107
discrete Stokes operator, 81
divergence, 18
dual mesh, 113
dyadic product, 18
dynamic viscosities, 12
edge bubble function, 28
ecient, 70
element, 21
element bubble function, 27
equal order interpolation, 40
equation of state, 12
equilibration strategy, 73
error estimator, 68
error indicator, 68
Euler equations, 13
Eulerian coordinate, 7
Eulerian representation, 7
Eulers formula, 46
explicit Euler scheme, 101
explicit Runge-Kutta scheme, 101
face bubble function, 28
nite volume scheme, 113
xed-point iteration, 90
ux, 111
Friedrichs inequality, 21
Gauss-Seidel algorithm, 61
general adaptive algorithm, 68
gradient, 18
green element, 75
hanging node, 75
hierarchical basis, 26
higher order Taylor-Hood element,
39
ideal gas, 12
implicit Euler scheme, 101
implicit Runge-Kutta scheme, 101
improved Uzawa algorithm, 57
incompressible, 15
inf-sup condition, 37
inner product, 18
instationary incompressible
Navier-Stokes equations, 15
internal energy, 12
Jacobian determinant, 7
Jacobian matrix, 7
kinematic viscosity, 15
Ladyzhenskaya-Babuska-Brezzi
condition, 37
Ladyzhenskaya, Olga, 37
Lagrangian coordinate, 7
Lagrangian representation, 7
Laplace operator, 18
LBB-condition, 37
marking strategy, 68
maximum strategy, 73
MG algorithm, 59
mini element, 38
mixed nite element discretization of
the Stokes equations, 33
mixed variational formulation of the
Stokes equations, 32
modied Taylor-Hood element, 38
Morley element, 51
multigrid algorithm, 59
INDEX 127
Navier, Pierre Louis Marie Henri, 17
Newton iteration, 91
no-slip condition, 17
nodal shape function, 24
non-linear CG-algorithm of
Polak-Ribi`ere, 92
nonlinear Gau-Seidel algorithm, 95
numerical ux, 112
operator splitting, 94
partition, 21
path tracking, 92
penalty parameter, 43
Poincare inequality, 21
Poise, 12
post-smoothing, 59
pre-smoothing, 59
pressure, 12
pressure correction scheme, 55
prolongation operator, 59
purple element, 75
Q1/Q0 element, 35
quasi-interpolation operator, 26
red element, 74
reference force, 15
reference length, 15
reference pressure, 15
reference time, 15
reference velocity, 15
regular renement, 68, 74
reliable, 70
Reynolds, Osborne, 16
residual error estimator, 68
restriction operator, 59
Reynolds number, 16
robust error estimator, 108
Rothes method, 104
Runge-Kutta scheme, 101
saddle-point problem, 33
SDIRK scheme, 101
shape-regularity, 22
slip condition, 17
smoothing operator, 58
Sobolev space, 20
stabilized bi-conjugate gradient
algorithm, 65
stable, 36
stable discretization, 36
stable element, 36
stable pair, 36
stage number, 101
stationary incompressible
Navier-Stokes equations, 16
Steeger-Warming approximation, 116
Steeger-Warming scheme, 116
stiness matrix, 29
Stokes, 12
Stokes equations, 16
Stokes, George Gabriel, 17
Stokes operator, 79
stream-function, 49
streamline-diusion discretization,
89
streamline-diusion method, 88
strongly diagonal implicit
Runge-Kutta scheme, 101
support, 19
surface element, 10
system in divergence form, 111
system of dierential equations in
divergence form, 111
Taylor-Hood element, 38
tensorial product, 18
-scheme, 100
total energy, 11
trace, 12, 21
trace space, 21
transport step, 106
transport theorem, 8
transport-diusion algorithm, 106
unit outward normal, 9
unit tensor, 12, 18
up-wind dierence, 87
Uzawa algorithm, 54
V-cycle, 60
van Leer approximation, 117
van Leer scheme, 117
Vanka method, 62
velocity, 7
viscous ux, 111
vorticity, 52
W-cycle, 60

Вам также может понравиться