Computational Fluid Dynamics

MMAE 517
Illinois Institute of Technology
c ( 2010 K. W. Cassel
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 1 / 454
Introduction to CFD
CFD Advertisements...
“CFD is a modern and rather special expression
of fluid mechanics. It is an endlessly fascinating,
interdisciplinary blend of basic numerical methods,
a solid understanding of both experimental
and anayltical fluid dynamics, software engineering
and pragmatism.”
W.N. Dawes (JFM 1996)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 2 / 454
Introduction to CFD
Advantages and disadvantages of analytical, computational and experimental
approaches to fluid mechanics:
Analytical:
+ Provides exact solutions to governing equations.
+ Gives physical insight, e.g. relative importance of different effects.
+ Can consider hypothetical problems (e.g. inviscid, incompressible,
zero-gravity, etc.).
− Exact solutions only available for simple problems and geometries.
− Of limited direct value in design.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 3 / 454
Introduction to CFD
Computational:
+ Address more complex problems (physics and geometries).
+ Can consider hypothetical flows ⇒ test theoretical models.
+ Provides detailed solutions ⇒ good understanding of flow, e.g. does
separation occur?
+ Perform parametric studies.
+ Can easily try different configurations, e.g. geometry, boundary conditions,
etc... ⇒ important in design.
+ Computers becoming faster and cheaper ⇒ range of CFD expanding.
+ Increased potential using parallel processing.
+ More cost effective and faster than experimental prototyping.
− Requires accurate governing equations (don’t have for turbulence,
combustion, etc..., which require modeling).
− Boundary conditions sometimes difficult to implement, e.g. outlet.
− Difficult to do in certain parameter regimes, e.g. high Reynolds numbers, and
complex geometries.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 4 / 454
Introduction to CFD
Experimental:
+ Easier to get overall quantities for problem (e.g. lift and drag on an airfoil).
+ No “modeling” necessary.
− Often requires intrusive measurement probes.
− Limited measurement accuracy.
− Limited measurement resolution.
− Effects of support apparatus, end walls, etc... must be considered.
− Some quantities difficult to obtain, e.g. streamfunction, vorticity, etc....
− Experimental equipment often expensive and takes up space.
− Difficult and costly to test full-scale models.
Note: Computational approaches do not replace analytical or experimental
approaches, but complement them.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 5 / 454
Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution
Outline
2
Numerical Methods: General Considerations and Approaches
Components and Properties of a Numerical Solution
Numerical Solution Approaches
Finite Difference
Boundary-Value Problems
Finite Element
Spectral Methods
Vortex Methods
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 6 / 454
Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution
Numerical Solution Procedure:
Numerical Solution
System of Linear Equations
Mathematical Model
i.e. Governing Equations
(odes or pdes)
Physical System
i.e. Reality
1 Physical Laws + Models
2 Discretization
3 Matrix Solver
Analytical
Solution
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 7 / 454
Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution
Steps:
1
Mass, momentum and energy conservation + models, idealizations, etc...
2
Discretization – approximation of the continuous differential equation(s) by a
system of algebraic equations for the dependent variables at discrete locations
in the independent variables (space and time). For example, using finite
differences
3
Numerical solutions of linear systems of equations.
⇒ Method of discretization often produces certain structure: e.g. second-order
centered differences lead to a tridiagonal system of equations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 8 / 454
Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution
Sources of errors in numerical solutions arise due to each step of the Numerical
Solution Procedure:
1
Modeling errors – difference between actual flow and exact solution of
mathematical model.
2
Discretization errors – difference between exact solution of governing
equations and exact solution of algebraic equations.
i) Method of discretization → inherent error of method, i.e. truncation error.
ii) Computational grid → can be refined.
3
Iterative convergence errors – difference between numerical solution, i.e.
iterative, and exact solution to algebraic equations.
This is where the “pragmatism” mentioned by Dawes is an important element of
CFD.
e.g. DNS of turbulence in other than elementary flows is currently impossible.
⇒ Compromises must often be made at each stage of the procedure.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 9 / 454
Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution
Properties of successful numerical solution methods:
1
Consistency – discretized equations must become governing equations as grid
size goes to zero
truncation error = discretized equations – exact equations
e.g.:
du
dx
=
u
i+1
−u
i−1
2∆x
+O(∆x
2
),
where O(∆x
2
) is the truncation error. Therefore, from the definition of the
derivative, as ∆x →0,
u
i+1
−u
i−1
2∆x

du
dx
for consistency.
2
Stability – numerical procedure must not magnify errors produced in the
numerical solution.
Unstable method ⇒ diverge from exact solution.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 10 / 454
Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution
3
Convergence – numerical solution of discretized equations approaches exact
solution of governing equations as grid size goes to zero (cf. iterative
convergence).
Generally don’t have exact solution; therefore, refine grid until
grid-independent solution is obtained.
Truncation error gives the rate of convergence to the exact solution as grid is
reduced, e.g. for O(∆x
2
) ⇒∆x →e, where e is the error. Then halving the
grid size reduces the error by a factor of four.
4
“Correctness” – numerical solution should compare favorably with available
analytical solutions, experimental results or other computational solutions
within the limitations of each.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 11 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Outline
2
Numerical Methods: General Considerations and Approaches
Components and Properties of a Numerical Solution
Numerical Solution Approaches
Finite Difference
Boundary-Value Problems
Finite Element
Spectral Methods
Vortex Methods
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 12 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
The discretization step (step 2 in the Numerical Solution Procedure) may be
accomplished using different methods. The most common approaches used in
CFD are briefly described below.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 13 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Finite Difference
Basic approach:
Discretize the governing equations in differential form using
Taylor-series-based finite-difference approximations at each grid point.
Produces algebraic equations involving each grid point and surrounding
points.
Local approximation method.
Popular in fluid dynamics research.
Advantages:
Relatively straightforward to understand and implement (based on Taylor
series).
Utilizes familiar differential form of governing equations.
Very general ⇒ Apply to a wide variety of problems (including complex
physics, e.g. fluids plus heat transfer plus combustion).
Can extend to higher-order approximations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 14 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Disadvantages:
More difficult to implement for complex geometries.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 15 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Finite Volume
Basic approach:
Apply conservation equations in integral form to a set of control volumes.
Produces algebraic equations for each control volume involving surrounding
control volumes.
Local approximation method.
Popular for commercial CFD codes (e.g. FLUENT).
Advantages:
Easier to treat complex geometries than finite-difference approach.
“Ensures” conservation of necessary quantities (i.e. mass, momentum,
energy, etc.), i.e. even if solution in inaccurate.
Disadvantages:
More difficult to construct higher-order schemes.
Uses less familiar integral formulation of governing equations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 16 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Finite Element
Basic approach:
Apply conservation equations in variational form with weighting function to
set of finite elements.
Produces set of linear or nonlinear algebraic equations.
Local approximation method.
Popular in commercial codes (particularly for solid mechanics and heat
transfer).
Advantages:
Easy to treat complex geometries.
Disadvantages:
Results in unstructured grids.
Solution methods are inefficient for the types of matrices resulting from
finite-element discretizations (cf. finite difference ⇒ sparse, highly structured
matrices).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 17 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Spectral Methods
Basic approach:
Solution of governing equations in differential form are approximated using
truncated (usually orthogonal) eigenfunction expansions.
Produces system of algebraic equations (steady) or system of ordinary
differential equations (unsteady) involving the coefficients in the
eigenfunction expansion.
Global approximation method.
Popular for direct numerical simulation (DNS) of turbulence.
Advantages:
Obtain highly accurate solutions when underlying solution is smooth.
Can achieve rapid convergence.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 18 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Disadvantages:
Less straightforward to implement than finite difference.
More difficult to treat complicated boundary conditions (e.g. Neumann).
Small changes in problem can cause large changes in algorithm.
Not well suited for solutions having large gradients.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 19 / 454
Numerical Methods: General Considerations and Approaches Numerical Solution Approaches
Vortex Methods
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 20 / 454
Finite-Difference Methods Extended Fin Example
Outline
3
Finite-Difference Methods
Extended Fin Example
Formal Basis for Finite Differences
Application to Extended Fin Example
Properties of Tridiagonal Matrices
Thomas Algorithm
Extended Fin Example – Convection Boundary Condition
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 21 / 454
Finite-Difference Methods Extended Fin Example
As an example, consider the 1-D heat conduction in an extended surface with
convection to the ambient air.
The heat transfer within the extended fin is governed by the 1-D
ordinary-differential equation (see, for example, Incropera & DeWitt):
d
2
T
dx
2
+

1
A
c
dA
c
dx

dT
dx

1
A
c
h
k
dA
s
dx

(T −T

) = 0, (3.1)
where
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 22 / 454
Finite-Difference Methods Extended Fin Example
T(x) = temperature distribution,
A
c
(x) = cross-sectional area,
A
s
(x) = surface area from base,
h = convective heat transfer coefficient,
k = thermal conductivity.
Note that equation (3.1) is a second-order ordinary differential equation with
variable coefficients, and it is a boundary-value problem requiring boundary
conditions at both ends of the domain.
Letting θ(x) = T(x) −T

, rewrite equation (3.1) as
d
2
θ
dx
2
+f(x)

dx
+g(x)θ = 0, (3.2)
where
f(x) =
1
A
c
dA
c
dx
,
g(x) = −
1
A
c
h
k
dA
s
dx
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 23 / 454
Finite-Difference Methods Extended Fin Example
For now, consider Dirichlet boundary conditions
θ = θ
b
= T
b
−T

at x = 0,
θ = θ
L
= T
L
−T

at x = L.
(3.3)
Equation (3.2) with boundary conditions (3.3) represents the mathematical model
(step 1 in the Numerical Solution Procedure).
Step 2 → Discretization:
Divide the interval 0 ≤ x ≤ L into I equal subintervals of length ∆x =
L
I
:
Here, f
i
= f(x
i
) and g
i
= g(x
i
) are known, and the solution θ
i
= θ(x
i
) is to be
determined for i = 2, . . . , I.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 24 / 454
Finite-Difference Methods Extended Fin Example
In order to discretize the differential equation, consider the definition of the
derivative

dx

x=x
i
= lim
∆x→0
θ(x
i
+ ∆x) −θ(x
i
)
∆x
.
This may be interpreted as a forward difference if ∆x is small, but not going to
zero, i.e. finite difference.
Graphical interpretation:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 25 / 454
Finite-Difference Methods Extended Fin Example
Forward Difference:

dx

x
i

θ
i+1
−θ
i
∆x
Backward Difference:

dx

x
i

θ
i
−θ
i−1
∆x
Central Difference:

dx

x
i

θ
i+1
−θ
i−1
2∆x
Which approximation is better?
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 26 / 454
Finite-Difference Methods Formal Basis for Finite Differences
Outline
3
Finite-Difference Methods
Extended Fin Example
Formal Basis for Finite Differences
Application to Extended Fin Example
Properties of Tridiagonal Matrices
Thomas Algorithm
Extended Fin Example – Convection Boundary Condition
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 27 / 454
Finite-Difference Methods Formal Basis for Finite Differences
Consider the Taylor series expansion of a function θ(x) in the vicinity of the point
x
i
θ(x) = θ(x
i
) + (x −x
i
)


dx

i
+
(x −x
i
)
2
2!

d
2
θ
dx
2

i
+
(x −x
i
)
3
3!

d
3
θ
dx
3

i
+ +
(x −x
i
)
n
n!

d
n
θ
dx
n

i
+ .
(3.4)
Apply the Taylor series at x = x
i+1
: (x
i+1
−x
i
= ∆x)
θ
i+1
= θ
i
+∆x


dx

i
+
∆x
2
2

d
2
θ
dx
2

i
+
∆x
3
6

d
3
θ
dx
3

i
+ +
∆x
n
n!

d
n
θ
dx
n

i
+ .
(3.5)
Solving for (dθ/dx)
i
gives


dx

i
=
θ
i+1
−θ
i
∆x

∆x
2

d
2
θ
dx
2

i
− −
∆x
n−1
n!

d
n
θ
dx
n

i
+ . (3.6)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 28 / 454
Finite-Difference Methods Formal Basis for Finite Differences
Similarly, apply the Taylor series at x = x
i−1
: (x
i−1
−x
i
= −∆x)
θ
i−1
= θ
i
−∆x


dx

i
+
∆x
2
2

d
2
θ
dx
2

i

∆x
3
6

d
3
θ
dx
3

i
+ +
(−1)
n
∆x
n
n!

d
n
θ
dx
n

i
+ .
(3.7)
Solving again for (dθ/dx)
i
gives


dx

i
=
θ
i
−θ
i−1
∆x
+
∆x
2

d
2
θ
dx
2

i

∆x
2
6

d
3
θ
dx
3

i
+ +
(−1)
n
∆x
n−1
n!

d
n
θ
dx
n

i
+ .
(3.8)
Alternatively, subtract equation (3.7) from (3.5) to obtain
θ
i+1
−θ
i−1
= 2∆x


dx

i
+
∆x
3
3

d
3
θ
dx
3

i
+ +
2∆x
2n+1
(2n + 1)!

d
2n+1
θ
dx
2n+1

i
+ ,
(3.9)
and solve for (dθ/dx)
i
to obtain


dx

i
=
θ
i+1
−θ
i−1
2∆x

∆x
2
6

d
3
θ
dx
3

i
− −
∆x
2n
(2n + 1)!

d
2n+1
θ
dx
2n+1

i
− . (3.10)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 29 / 454
Finite-Difference Methods Formal Basis for Finite Differences
Equations (3.6), (3.8) and (3.10) are exact expressions for the first derivative
(dθ/dx)
i
, i.e. if all of the terms are retained in the expansions.
Approximate finite difference expressions for the first derivative may then be
obtained by truncating the series after the first term:


dx

i

θ
i+1
−θ
i
∆x
+O(∆x) → Forward difference


dx

i

θ
i
−θ
i−1
∆x
+O(∆x) → Backward difference


dx

i

θ
i+1
−θ
i−1
2∆x
+O(∆x
2
) → Central difference
The truncation error is the sum of all the truncated terms.
⇒ For small ∆x, successive terms get smaller and the order of the truncation
error is given by the first truncated term.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 30 / 454
Finite-Difference Methods Formal Basis for Finite Differences
Higher-order approximations may be obtained by various manipulations of the
Taylor series at additional points. For example, to obtain a second-order acccurate
forward-difference approximation to the first derivative, apply the Taylor series at
x
i+2
as follows
θ
i+2
= θ
i
+ 2∆x


dx

i
+
(2∆x)
2
2!

d
2
θ
dx
2

i
+
(2∆x)
3
3!

d
3
θ
dx
3

i
+ . (3.11)
We eliminate the (d
2
θ/dx
2
)
i
term by taking 4(3.5) − (3.11) to obtain

i+1
−θ
i+2
= 3θ
i
+ 2∆x


dx

i

2∆x
3
3

d
3
θ
dx
3

i
+ .
Solving for (dθ/dx)
i
gives


dx

i
=
−3θ
i
+ 4θ
i+1
−θ
i+2
2∆x
+
∆x
2
3

d
3
θ
dx
3

i
+ , (3.12)
which is second-order accurate and involves the point of interest and the two
previous points.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 31 / 454
Finite-Difference Methods Formal Basis for Finite Differences
For a second-order accurate central-difference approximation to the second
derivative add equation (3.5) and (3.7) for θ
i+1
and θ
i−1
, respectively, to
eliminate the (dθ/dx)
i
term. This gives
θ
i+1

i−1
= 2θ
i
+ ∆x
2

d
2
θ
dx
2

i
+
∆x
4
12

d
4
θ
dx
4

i
+ .
Solving for (d
2
θ/dx
2
)
i
leads to

d
2
θ
dx
2

i
=
θ
i+1
−2θ
i

i−1
∆x
2

∆x
2
12

d
4
θ
dx
4

i
+ . (3.13)
Note that the second-order accurate central-difference approximations for both
the first and second derivatives involve the point of interest and its two neighbors.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 32 / 454
Finite-Difference Methods Application to Extended Fin Example
Outline
3
Finite-Difference Methods
Extended Fin Example
Formal Basis for Finite Differences
Application to Extended Fin Example
Properties of Tridiagonal Matrices
Thomas Algorithm
Extended Fin Example – Convection Boundary Condition
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 33 / 454
Finite-Difference Methods Application to Extended Fin Example
Returning to the fin equation (3.2)
d
2
θ
dx
2
+f(x)

dx
+g(x)θ = 0,
and approximating the derivatives using second-order accurate finite differences
gives
θ
i+1
−2θ
i

i−1
(∆x)
2
+f
i
θ
i+1
−θ
i−1
2∆x
+g
i
θ
i
= 0,
for the point x
i
. Multiplying by (∆x)
2
and collecting terms leads to
a
i
θ
i−1
+b
i
θ
i
+c
i
θ
i+1
= d
i
, i = 2, . . . , I, (3.14)
where the difference equation is applied at each interior point of the domain, and
a
i
= 1 −
∆x
2
f
i
,
b
i
= −2 + (∆x)
2
g
i
,
c
i
= 1 +
∆x
2
f
i
,
d
i
= 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 34 / 454
Finite-Difference Methods Application to Extended Fin Example
Note that because we have discretized the differential equation at each interior
grid point, we obtain a set of (I −1) algebraic equations for the (I −1) unknown
values of the temperature θ
i
, i = 2, . . . , I at each interior grid point.
The coefficient matrix for the difference equation (3.14) is tridiagonal

b
2
c
2
0 0 0 0 0
a
3
b
3
c
3
0 0 0 0
0 a
4
b
4
c
4
0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 a
I−1
b
I−1
c
I−1
0 0 0 0 0 a
I
b
I
¸
¸
¸
¸
¸
¸
¸
¸
¸

θ
2
θ
3
θ
4
.
.
.
θ
I−1
θ
I
¸
¸
¸
¸
¸
¸
¸
¸
¸
=

d
2
−a
2
θ
1
d
3
d
4
.
.
.
d
I−1
d
I
−c
I
θ
I+1
¸
¸
¸
¸
¸
¸
¸
¸
¸
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 35 / 454
Finite-Difference Methods Properties of Tridiagonal Matrices
Outline
3
Finite-Difference Methods
Extended Fin Example
Formal Basis for Finite Differences
Application to Extended Fin Example
Properties of Tridiagonal Matrices
Thomas Algorithm
Extended Fin Example – Convection Boundary Condition
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 36 / 454
Finite-Difference Methods Properties of Tridiagonal Matrices
Consider a N N tridiagonal matrix with constant a
i
, b
i
, and c
i
A =

b c 0 0 0
a b c 0 0
0 a b 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 b c
0 0 0 a b
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
It can be shown that the eigenvalues of a tridiagonal matrix are
λ
j
= b + 2

ac cos


N + 1

, j = 1, . . . , N. (3.15)
The eigenvalues with the largest and smallest magnitudes are (which is largest or
smallest depends upon a, b and c)

1
[ =

b + 2

ac cos

π
N + 1

,

N
[ =

b + 2

ac cos


N + 1

.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 37 / 454
Finite-Difference Methods Properties of Tridiagonal Matrices
Then the condition number of A using an L
2
norm is defined by
cond
2
(A) =
[λ[
max
[λ[
min
.
Let us consider N large. Thus, expanding cosine in a Taylor series (the first is
expanded about π/(N + 1) →0 and the second about Nπ/(N + 1) →π
cos

π
N + 1

= 1 −
1
2!

π
N + 1

2
+
1
4!

π
N + 1

4
+ ,
cos


N + 1

= −1 +
1
2!


N + 1
−π

2
− = −1 +
1
2

π
N + 1

2
− .
Consider the common case that may result from the use of central differences for
a second-order derivative:
a = 1, b = −2, c = 1,
which is weakly diagonally dominant.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 38 / 454
Finite-Difference Methods Properties of Tridiagonal Matrices
Then with the large N expansions from above

1
[ =

−2 + 2

(1)(1)
¸
1 −
1
2

π
N + 1

2
+
¸

=

π
N + 1

2
+ ,

N
[ =

−2 + 2

(1)(1)
¸
−1 +
1
2

π
N + 1

2

¸

= 4 + .
(3.16)
Thus, the condition number for large N is approximately
cond
2
(A) ≈
4
(π/(N + 1))
2
=
4(N + 1)
2
π
2
, for large N.
⇒ Increases proportional to N
2
with increasing N.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 39 / 454
Finite-Difference Methods Properties of Tridiagonal Matrices
Now consider the case with
a = 1, b = −4, c = 1,
which is strictly, or strongly, diagonally dominant. Then from equation (3.16), the
condition number for large N is approximately
cond
2
(A) ≈
6
2
= 3, for large N.
⇒ Constant with increasing N.
It can be proven that for any strictly diagonally dominant matrix A, i.e.
[a
ii
[ >
¸
N
j=1,j=i
[a
ij
[:
1) A is nonsingular; therefore, it is invertible.
2) Gauss elimination does not require row interchanges for conditioning.
3) Computations are stable with respect to round-off errors.
To see the influence of condition number on round-off error, see the Mathematica
notebook “Ill-Conditioned Matrices and Round-Off Error.”
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 40 / 454
Finite-Difference Methods Thomas Algorithm
Outline
3
Finite-Difference Methods
Extended Fin Example
Formal Basis for Finite Differences
Application to Extended Fin Example
Properties of Tridiagonal Matrices
Thomas Algorithm
Extended Fin Example – Convection Boundary Condition
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 41 / 454
Finite-Difference Methods Thomas Algorithm
Tridiagonal systems of equations may be solved directly using the Thomas
algorithm, which is essentially application of Gauss elimination and consists of two
stages (shown here for Dirichlet boundary conditions):
1) Forward Elimination:
F
1
= 0, δ
1
= θ
1
= θ
b
= boundary condition
F
i
=
c
i
b
i
−a
i
F
i−1
, δ
i
=
d
i
−a
i
δ
i−1
b
i
−a
i
F
i−1
, i = 2, . . . , I.
2) Back Substitution:
θ
I+1
= θ
L
= boundary condition
θ
i
= δ
i
−F
i
θ
i+1
, i = I, . . . , 2.
Note the order of evaluation for the back substitution.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 42 / 454
Finite-Difference Methods Thomas Algorithm
Notes:
1
See Anderson, Appendix A for a derivation.
2
The Thomas algorithm only requires O(I) operations, which is as good a
scaling as one could hope for. Gauss elimination of a full (dense) matrix, for
example, requires O(I
3
) operations.
3
To prevent ill-conditioning the system of equations should be diagonally
dominant. For our tridiagonal system, this means
[b
i
[ ≥ [a
i
[ +[c
i
[,
where if the greater than sign applies we say that the matrix is strictly
diagonally dominant, or weakly diagonally dominant if the equal sign applies.
Performing operations with ill-conditioned matrices can result in the growth
of small round-off errors that then contaminate the solution. For example,
note how errors could accumulate in the F
i
, δ
i
coefficients in the Thomas
algorithm.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 43 / 454
Finite-Difference Methods Extended Fin Example – Convection Boundary Condition
Outline
3
Finite-Difference Methods
Extended Fin Example
Formal Basis for Finite Differences
Application to Extended Fin Example
Properties of Tridiagonal Matrices
Thomas Algorithm
Extended Fin Example – Convection Boundary Condition
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 44 / 454
Finite-Difference Methods Extended Fin Example – Convection Boundary Condition
Rather than a Dirichlet boundary condition at the tip of the fin, which assumes
that we know the temperature there, let us consider a more realistic convection
condition at the tip
−k
dT
dx
= h(T −T

) at x = L,
or with θ(x) = T(x) −T

−k


dx

x=L
= hθ(L)
Note that the convection condition results in specifying a linear combination of
the temperature and its derivative at the tip. This is known as a Robin boundary
condition and is of the form
pθ +q

dx
= r at x = L,
where p = h, q = k, r = 0, which are inputs to the Thomas algorithm.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 45 / 454
Finite-Difference Methods Extended Fin Example – Convection Boundary Condition
Now let us consider evaluation of the heat flux at the base of the fin
q
b
= −kA
c
(0)

dT
dx

x=0
= −kA
c
(0)


dx

x=0
.
In order to evaluate dθ/dx at the base x = 0, we must use a forward difference.
From equation (3.6) applied at i = 1, we have the first-order accurate
forward-difference approximation


dx

x=0

θ
2
−θ
1
∆x
+O(∆x).
For a more accurate approximation, we may use the second-order accurate
approximation from equation (3.12) applied at i = 1


dx

x=0

−3θ
1
+ 4θ
2
−θ
3
2∆x
+O(∆x
2
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 46 / 454
Finite-Difference Methods Extended Fin Example – Convection Boundary Condition
Even higher-order finite-difference approximations may be formed. For example,
the third-order, forward-difference approximation is


dx

x=0

−11θ
1
+ 18θ
2
−9θ
3
+ 2θ
4
6∆x
+O(∆x
3
).
Observe that each successive approximation requires one additional point in the
interior of the domain.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 47 / 454
Classification of Second-Order Partial Differential Equations Mathematical Classification
Outline
4
Classification of Second-Order Partial Differential Equations
Mathematical Classification
Hyperbolic Equations
Parabolic Equations
Elliptic Equations
Mixed Equations
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 48 / 454
Classification of Second-Order Partial Differential Equations Mathematical Classification
Consider the general second-order partial differential equation for u(x, y)
au
xx
+bu
xy
+cu
yy
+du
x
+eu
y
+fu = g. (4.1)
Linear ⇒ a, b, c, d, e and f are only functions of (x, y).
Quasi-linear ⇒ a, b and c may be functions of (x, y, u, u
x
, u
y
), i.e. equation is
linear in highest derivative (e.g. no u
2
xx
terms).
Let us determine the criteria necessary for the existence of a smooth
(differentiable) and unique (single-valued) solution along a curve C:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 49 / 454
Classification of Second-Order Partial Differential Equations Mathematical Classification
Along C, let
φ
1
(τ) = u
xx
, φ
2
(τ) = u
xy
, φ
3
(τ) = u
yy
,
ψ
1
(τ) = u
x
, ψ
2
(τ) = u
y
.
(4.2)
Substituting into equation (4.1) gives

1
+bφ
2
+cφ
3
= g −dψ
1
−eψ
2
−fu = H. (4.3)
Transforming from (x, y) →τ, we have
d

=
dx


∂x
+
dy


∂y
.
Thus, from (4.2)

1

=
d

u
x
=
dx

u
xx
+
dy

u
xy
=
dx

φ
1
+
dy

φ
2
, (4.4)

2

=
d

u
y
=
dx

u
xy
+
dy

u
yy
=
dx

φ
2
+
dy

φ
3
. (4.5)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 50 / 454
Classification of Second-Order Partial Differential Equations Mathematical Classification
Equations (4.3)–(4.5) are three equations for three unknowns, i.e. the
second-order derivatives φ
1
, φ
2
and φ
3
. Written in matrix form, they are

a b c
dx/dτ dy/dτ 0
0 dx/dτ dy/dτ
¸
¸

φ
1
φ
2
φ
3
¸
¸
=

H

1
/dτ

2
/dτ
¸
¸
If the determinant of the coefficient matrix is not equal to zero, a unique solution
exists for the second derivatives along the curve C. It can be shown that if the
second-order derivatives exist, then derivatives of all orders exist along C as well.
On the other hand, if the determinant of the coefficient matrix is equal to zero,
the solution is not unique, i.e. the second derivatives are discontinuous along C.
Setting the determinant equal to zero gives
a

dy

2
+c

dx

2
−b

dx

dy

= 0,
or multiplying by (dτ/dx)
2
a

dy
dx

2
−b

dy
dx

+c = 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 51 / 454
Classification of Second-Order Partial Differential Equations Mathematical Classification
This is a quadratic equation for dy/dx, which is the slope of the curve C.
Thus,
dy
dx
=
b ±

b
2
−4ac
2a
. (4.6)
→ The curves C for which y(x) satisfy (4.6) are called characteristic curves of
equation (4.1), and they are curves along which the second-order derivatives
are discontinuous.
Because the characteristics must be real, their behavior is determined by the sign
of b
2
−4ac:
b
2
−4ac > 0 ⇒ 2 real roots ⇒ 2 characteristics ⇒ hyperbolic p.d.e.
b
2
−4ac = 0 ⇒ 1 real root ⇒ 1 characteristic ⇒ parabolic p.d.e.
b
2
−4ac < 0 ⇒ no real roots ⇒ no characteristics ⇒ elliptic p.d.e.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 52 / 454
Classification of Second-Order Partial Differential Equations Mathematical Classification
The terminology arises from classification of the second-degree algebraic equation
ax
2
+bxy +cy
2
+dx +ey +f = 0, i.e. conic sections.
Note that if from equation (4.1), we write (let x = x
1
, y = x
2
, then
au
11
+
b
2
u
12
+
b
2
u
21
+cu
22
= H)
A =
¸
a b/2
b/2 c

(analogous to quadratic forms in MMAE 501). Then
det[A] = ac −b
2
/4
or
−4 det[A] = b
2
−4ac

> 0, hyperbolic
= 0, parabolic
< 0, elliptic
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 53 / 454
Classification of Second-Order Partial Differential Equations Mathematical Classification
Notes:
1
Physically, characteristics are curves along which information propagates in
the solution.
2
For the case of elliptic equations, the matrix A is positive definite.
3
The classification depends on the coefficients of the highest-order derivatives,
i.e. a, b and c.
4
It can be shown that the classification of a partial differential equation is
independent of the coordinate system (see, for example, Tannehill et al.).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 54 / 454
Classification of Second-Order Partial Differential Equations Hyperbolic Equations
Outline
4
Classification of Second-Order Partial Differential Equations
Mathematical Classification
Hyperbolic Equations
Parabolic Equations
Elliptic Equations
Mixed Equations
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 55 / 454
Classification of Second-Order Partial Differential Equations Hyperbolic Equations
From equation (4.6), for a hyperbolic equation there are two real roots, say
dy
dx
= λ
1
,
dy
dx
= λ
2
. (4.7)
If a, b and c are constant (λ
1
, λ
2
constant), then we may integrate to obtain
y = λ
1
x +x
1
, y = λ
2
x +x
2
,
which are straight lines. Therefore, the solution propagates along two linear
characteristic curves.
For example, consider the wave equation

2
u
∂t
2
= σ
2

2
u
∂x
2
, (y →t : a = σ
2
, b = 0, c = −1)
where u(x, t) is the amplitude of the wave, and σ is the wave speed. Therefore,
from equations (4.6) and (4.7),
λ
1
=
1
σ
, λ
2
= −
1
σ
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 56 / 454
Classification of Second-Order Partial Differential Equations Hyperbolic Equations
Therefore, the characteristics of the wave equation with a, b, and c constant are
straight lines with slopes 1/σ and −1/σ.
The solution to the wave equation is of the form
u(x, t) = F
1
(x +σt) +F
2
(x −σt),
and initial conditions are required at say t = 0, such as
u(x, 0) = f(x), u
t
(x, 0) = g(x).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 57 / 454
Classification of Second-Order Partial Differential Equations Hyperbolic Equations
Note that no boundary conditions are necessary at specified values of x, i.e. the
solution (F
1
, F
2
) only depends upon the initial conditions.
Hyperbolic equations in fluid dynamics:
Unsteady inviscid flow
Steady supersonic inviscid flow
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 58 / 454
Classification of Second-Order Partial Differential Equations Parabolic Equations
Outline
4
Classification of Second-Order Partial Differential Equations
Mathematical Classification
Hyperbolic Equations
Parabolic Equations
Elliptic Equations
Mixed Equations
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 59 / 454
Classification of Second-Order Partial Differential Equations Parabolic Equations
From equation (4.6), for a parabolic equation there is only one real root, which is
dy
dx
=
b
2a
. (4.8)
If a and b are constant, then we may integrate to obtain
y =
b
2a
x +γ
1
,
which is a straight line. Therefore, the solution propagates along one linear
characteristic direction (usually time).
For example, consider the one-dimensional, unsteady diffusion equation (e.g. heat
conduction)
∂u
∂t
= α

2
u
∂x
2
, (y →t : a = α, b = c = 0)
where u(x, t) is the quantity undergoing diffusion (e.g. temperature), and α is the
diffusivity.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 60 / 454
Classification of Second-Order Partial Differential Equations Parabolic Equations
The solution marches forward in time, i.e. the characteristics (with b = 0) are lines
of constant t.
Initial and boundary conditions are required, such as
u(x, 0) = u
0
(x), u(x
1
, t) = f(t), u(x
2
, t) = g(t).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 61 / 454
Classification of Second-Order Partial Differential Equations Parabolic Equations
Parabolic equations in fluid dynamics:
Unsteady Navier-Stokes
Steady boundary-layer flow (no separation):
u
∂u
∂x
+v
∂u
∂y
= −
∂p
∂x
+

2
u
∂y
2
, (a = 0, b = 0, c = 1).
In this case the solution marches forward in the x−direction from an initial
velocity profile.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 62 / 454
Classification of Second-Order Partial Differential Equations Elliptic Equations
Outline
4
Classification of Second-Order Partial Differential Equations
Mathematical Classification
Hyperbolic Equations
Parabolic Equations
Elliptic Equations
Mixed Equations
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 63 / 454
Classification of Second-Order Partial Differential Equations Elliptic Equations
Disturbances have infinite speed of propagation in all directions, i.e. no
characteristics ⇒ A disturbance anywhere affects the solution everywhere
instantaneously.
For example, consider the Laplace equation (e.g. two-dimensional steady heat
conduction, potential flow, etc.)

2
u
∂x
2
+

2
u
∂y
2
= 0, (a = 1, b = 0, c = 1)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 64 / 454
Classification of Second-Order Partial Differential Equations Elliptic Equations
Requires a global solution strategy, and boundary conditions (typically u or
∂u/∂n) must be specified on a closed contour bounding the domain.
Elliptic equations in fluid dynamics:
Steady Navier-Stokes (also steady energy equation)
Potential (inviscid, incompressible, irrotational) flow
Poisson equation for pressure or streamfunction
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 65 / 454
Classification of Second-Order Partial Differential Equations Mixed Equations
Outline
4
Classification of Second-Order Partial Differential Equations
Mathematical Classification
Hyperbolic Equations
Parabolic Equations
Elliptic Equations
Mixed Equations
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 66 / 454
Classification of Second-Order Partial Differential Equations Mixed Equations
If a, b and c are variable coefficients, then b
2
−4ac may change sign with space
and/or time.
⇒ Character of equations may be different in certain regions.
For example, consider transonic flow (Mach ∼ 1). The governing equation for
two-dimensional, steady, compressible, potential flow about a slender body is
(1 −M
2
)

2
φ
∂s
2
+

2
φ
∂n
2
= 0, (x →s, y →n : a = 1 −M
2
, b = 0, c = 1),
where φ(s, n) is the velocity potential, M is the local Mach number, and s and n
are streamline coordinates with s locally being tangent to the streamline and n
being normal to the streamline.
To determine the nature of the equation, observe that
b
2
−4ac = 0 −4(1 −M
2
)(1) = −4(1 −M
2
);
therefore,
M < 1 ⇒ b
2
−4ac < 0 ⇒ Elliptic
M = 1 ⇒ b
2
−4ac = 0 ⇒ Parabolic
M > 1 ⇒ b
2
−4ac > 0 ⇒ Hyperbolic
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 67 / 454
Classification of Second-Order Partial Differential Equations Mixed Equations
In the above example, we have the same equation, but different behavior in
various regions. In the following example, we have different equations in different
regions of the flow.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 68 / 454
Classification of Second-Order Partial Differential Equations Mixed Equations
Consider the steady, incompressible viscous flow past a surface.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 69 / 454
Numerical Solutions of Elliptic Problems Introduction
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 70 / 454
Numerical Solutions of Elliptic Problems Introduction
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 71 / 454
Numerical Solutions of Elliptic Problems Introduction
Recall that elliptic problems have no preferred direction of propagation; therefore,
they require:
1
Boundary conditions on a closed contour surrounding the domain, i.e.
boundary-value problem.
2
Global solution method.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 72 / 454
Numerical Solutions of Elliptic Problems Introduction
Types of boundary conditions:
1
Dirichlet – φ specified.
2
Neumann –
∂φ
∂n
specified (n is normal to boundary).
3
Robin (mixed) –
∂φ
∂n
+aφ = b specified
Notes:
1
Combinations of the above boundary conditions may be applied on different
portions of the boundary as long as some boundary condition is applied at
every point along the boundary contour.
2
Solutions to the Laplace and Poisson equations with Neumann boundary
conditions on the entire boundary can only be determined relative to an
unknown constant, i.e. φ(x, y) +c is a solution.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 73 / 454
Numerical Solutions of Elliptic Problems Introduction
Linear vs. Non-Linear Elliptic Problems:
Linear – Linear equation and boundary conditions
e.g. Laplace (f = 0) or Poisson equations

2
φ
∂x
2
+

2
φ
∂y
2
= f(x, y),
with Dirichlet, Neumann or Robin boundary conditions.
Non-Linear:
1
Linear equation with non-linear boundary conditions; e.g. heat conduction with
radiation condition

2
T
∂x
2
+

2
T
∂y
2
= 0,
∂T
∂n
= D(T
4
−T
4
sur
).
2
Non-linear equation; e.g.: Navier-Stokes equations
u
∂u
∂x
+ v
∂u
∂y
= −
∂p
∂x
+
1
Re


2
u
∂x
2
+

2
u
∂y
2
«
.
Note that as Reynolds number, Re, increases, the non-linearity increases.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 74 / 454
Numerical Solutions of Elliptic Problems Finite-Difference Methods for the Poisson Equation
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 75 / 454
Numerical Solutions of Elliptic Problems Finite-Difference Methods for the Poisson Equation
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 76 / 454
Numerical Solutions of Elliptic Problems Finite-Difference Methods for the Poisson Equation
As a representative elliptic equation, which is important in its own right, consider
the two-dimensional Poisson equation

2
φ
∂x
2
+

2
φ
∂y
2
= f(x, y), (5.1)
where if f(x, y) = 0 we have the Laplace equation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 77 / 454
Numerical Solutions of Elliptic Problems Finite-Difference Methods for the Poisson Equation
In order to define the grid:
Divide the x interval, 0 ≤ x ≤ a, into I equal subintervals of length ∆x, with
x
i
= ∆x(i −1).
Divide the y interval, 0 ≤ y ≤ b, into J equal subintervals of length ∆y, with
y
j
= ∆y(j −1).
⇒ 2-D grid intersecting in (I + 1) ×(J + 1) points.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 78 / 454
Numerical Solutions of Elliptic Problems Finite-Difference Methods for the Poisson Equation
Consider an approximation to equation (5.1) at a typical point (i, j); the five
point finite-difference stencil is
Using second-order accurate, central differences (with φ
i,j
= φ(x
i
, y
j
)):

2
φ
∂x
2

φ
i+1,j
−2φ
i,j

i−1,j
(∆x)
2
+O(∆x
2
),

2
φ
∂y
2

φ
i,j+1
−2φ
i,j

i,j−1
(∆y)
2
+O(∆y
2
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 79 / 454
Numerical Solutions of Elliptic Problems Finite-Difference Methods for the Poisson Equation
Substituting into (5.1) and multiplying by (∆x)
2
gives the final form of the
finite-difference equation
φ
i+1,j
−2
¸
1 +

∆x
∆y

2
¸
φ
i,j

i−1,j
+

∆x
∆y

2

i,j+1

i,j−1
) = (∆x)
2
f
i,j
,
(5.2)
which results in a system of (I + 1) (J + 1) equations for (I + 1) (J + 1)
unknowns.
There are two options for solving such systems of equations:
1
Direct Methods:
i) No iterative convergence errors.
ii) Efficient for certain types of linear systems, e.g. tridiagonal, block-tridiagonal.
iii) Become less efficient for large systems of equations.
iv) Typically cannot adapt to non-linear problems.
2
Iterative Methods:
i) Iterative convergence errors.
ii) Generally more efficient for large systems of equations.
iii) Apply to non-linear problems.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 80 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 81 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 82 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
We wish to consider direct methods for solving the discretized Poisson equation.
Repeating the difference equation (5.2) for the Poisson equation, we have
φ
i+1,j
−2(1 +
¯
∆)φ
i,j

i−1,j
+
¯
∆(φ
i,j+1

i,j−1
) = (∆x)
2
f
i,j
, (5.3)
where
¯
∆ = (∆x/∆y)
2
, and i = 1, . . . , I + 1; j = 1, . . . , J + 1.
In order to write the system of difference equations in matrix form, let us renumber
the two-dimensional mesh (i, j) into a one-dimensional array (n) as follows
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 83 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Thus, the relationship between the one-dimensional and two-dimensional indices is
n = (i −1)(J + 1) +j, n = 1, . . . , (I + 1)(J + 1),
where i = 1, . . . , I + 1 and j = 1, . . . , J + 1.
Therefore, our five-point finite difference stencil becomes
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 84 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
And the finite-difference equation (5.4) for the Poisson equation becomes (with
∆ = ∆x = ∆y ⇒
¯
∆ = 1)
φ
n+J+1

n−(J+1)

n+1

n−1
−4φ
n
= ∆
2
f
n
, (5.4)
where n = 1, . . . , (I + 1)(J + 1).
Thus, the system of equations Aφ = d is of the form

D I 0 0 0
I D I 0 0
0 I D 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 D I
0 0 0 I D
¸
¸
¸
¸
¸
¸
¸
¸
¸

φ
1
φ
2
φ
3
.
.
.
φ
(I+1)(J+1)−1
φ
(I+1)(J+1)
¸
¸
¸
¸
¸
¸
¸
¸
¸
=

d
1
d
2
d
3
.
.
.
d
(I+1)(J+1)−1
d
(I+1)(J+1)
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
A is a block tridiagonal matrix with (I + 1) blocks in both directions, where each
block is a (J + 1) (J + 1) matrix, and d contains all known information from
the boundary conditions.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 85 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
0 is a zero matrix block, I is an identity matrix block, and the tridiagonal blocks
are
D =

−4 1 0 0 0
1 −4 1 0 0
0 1 −4 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 −4 1
0 0 0 1 −4
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
In general, the method for solving the system Aφ = d depends upon the form of
the coefficient matrix A:
Full or dense ⇒ Gauss elimination, LU decomposition, etc. (very expensive
computationally).
Sparse and banded → Result from discretizations of certain classes of
problems (e.g. separable elliptic partial differential equations, such as the
Poisson equation):
→ Tridiagonal ⇒ Thomas algorithm
→ Fast Fourier Transform (FFT) and/or cyclic reduction, which generally are the
fastest methods for problems in which they apply.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 86 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Fourier Transform Methods
The Fourier transform of a continuous function h(t) is defined by
H(f) =


−∞
h(t)e
2πift
dt,
where f is the frequency, and i is the imaginary number. The inverse transform is
h(t) =


−∞
H(f)e
−2πift
df.
Consider the discrete form of the Fourier transform in which we have N values of
h(t) at discrete points defined by
h
k
= h(t
k
), t
k
= k∆, k = 0, 1, 2, . . . , N −1,
where ∆ is the step size in the data.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 87 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
After taking the Fourier transform, we will have N discrete points in the
frequency domain defined by
f
n
=
n
N∆
, n = −
N
2
, . . . ,
N
2
,
corresponding to the Nyquist critical frequency range. Thus, the discrete Fourier
transform is
H(f
n
) =


−∞
h(t)e
2πif
n
t
dt,
or approximating the integral by summing over each ∆ interval
H(f
n
) ≈
N−1
¸
k=0
h
k
e
2πif
n
t
k
∆.
Using the fact that f
n
t
k
= (n/N∆)k∆ = nk/N gives
H(f
n
) ≈ ∆
N−1
¸
k=0
h
k
e
2πikn/N
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 88 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Denoting the summation in the previous expression by
ˆ
h
n
, we write
∴ H(f
n
) ≈ ∆
ˆ
h
n
,
ˆ
h
n
=
N−1
¸
k=0
h
k
e
2πikn/N
. (5.5)
The discrete inverse Fourier transform is then
h
k
=
1
N
N/2
¸
n=−N/2
ˆ
h
n
e
−2πikn/N
. (5.6)
The above expressions are all for a one-dimensional domain.
For a two-dimensional grid, we define:
k = 0, . . . , K −1, l = 0, . . . , L −1 → Physical grid
m = −
K
2
, . . . ,
K
2
, n = −
L
2
, . . . ,
L
2
→ Transform space (frequency)
The two-dimensional discrete Fourier transform of φ is (analogous to (5.5)
Φ(f
m,n
) ≈ ∆
2
ˆ
φ
m,n
,
ˆ
φ
m,n
=
K−1
¸
k=0
L−1
¸
l=0
φ
k,l
e
2πimk/K
e
2πinl/L
. (5.7)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 89 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
This is equivalent to taking the Fourier transform in each direction. The inverse
Fourier transform is (analogous to (5.6))
φ
k,l
=
1
KL
K/2
¸
m=−K/2
L/2
¸
n=−L/2
ˆ
φ
m,n
e
−2πikm/K
e
−2πiln/L
. (5.8)
Now let us apply this to the discretized Poisson equation (5.2). For simplicity, set
∆ = ∆x = ∆y giving (with i →k, j →l)
φ
k+1,l

k−1,l

k,l+1

k,l−1
−4φ
k,l
= ∆
2
f
k,l
, (5.9)
where now f
k,l
is the right-hand-side of the Poisson equation (not frequency).
Substituting equation (5.8) into equation (5.9) leads to
ˆ
φ
m,n

e
−2πi(k+1)m/K
e
−2πiln/L
+e
−2πi(k−1)m/K
e
−2πiln/L
+e
−2πikm/K
e
−2πi(l+1)n/L
+e
−2πikm/K
e
−2πi(l−1)n/L
−4e
−2πikm/K
e
−2πiln/L

= ∆
2
ˆ
f
m,n
e
−2πikm/K
e
−2πiln/L
,
where
ˆ
f
m,n
is the Fourier transform of the right-hand-side f
k,l
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 90 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Canceling the common factor e
−2πikm/K
e
−2πiln/L
, we have
ˆ
φ
m,n

e
−2πim/K
+e
2πim/K
+e
−2πin/L
+e
2πin/L
−4

= ∆
2
ˆ
f
m,n
.
Recalling that cos(ax) =

e
iax
+e
−iax

/2 gives
ˆ
φ
m,n
¸
2 cos

2πm
K

+ 2 cos

2πn
L

−4

= ∆
2
ˆ
f
m,n
.
Solving for
ˆ
φ
m,n
leads to
ˆ
φ
m,n
=

2
ˆ
f
m,n
2

cos

2πm
K

+ cos

2πn
L

−2
, (5.10)
for m = 1, . . . , K −1; n = 1, . . . , L −1.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 91 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Therefore, to solve the difference equation (5.9) using Fourier transform methods:
1) Compute the Fourier transform
ˆ
f
m,n
of the right-hand-side f
k,l
using (similar
to (5.7))
ˆ
f
m,n
=
K−1
¸
k=0
L−1
¸
l=0
f
k,l
e
2πimk/K
e
2πinl/L
. (5.11)
2) Compute
ˆ
φ
m,n
from equation (5.10).
3) Compute φ
k,l
using the inverse Fourier transform (5.8).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 92 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Notes:
1) The above procedure works for periodic boundary conditions, i.e. the solution
satisfies
φ
k,l
= φ
k+K,l
= φ
k,l+L
.
For Dirichlet boundary conditions ⇒ Use sine transform.
For Neumann boundary conditions ⇒ Use cosine transform.
2) In practice, the Fourier (and inverse) transforms are computed using a Fast
Fourier Transform (FFT) technique (see, for example, Numerical Recipes).
3) Fourier transform methods can only be applied to partial differential
equations with constant coefficients in the direction(s) for which the Fourier
transform is applied.
4) We use Fourier transforms to solve the difference equation, not the
differential equation; therefore, this is not a spectral method.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 93 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Cyclic Reduction
Again, consider the Poisson equation

2
φ
∂x
2
+

2
φ
∂y
2
= f(x, y),
discretized on a two-dimensional grid with ∆ = ∆x = ∆y and
i = 0, . . . , I; j = 0, . . . , J, where I = 2
n
with integer n ((I +1) (J +1) points):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 94 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Applying central differences to the Poisson equation, the difference equation for
constant x-lines becomes
u
i−1
−2u
i
+u
i+1
+B

u
i
= ∆
2
f
i
, i = 0, . . . , I, (5.12)
where
u
i
=

φ
i,0
φ
i,1
φ
i,2
.
.
.
φ
i,J−1
φ
i,J
¸
¸
¸
¸
¸
¸
¸
¸
¸
, f
i
=

f
i,0
f
i,1
f
i,2
.
.
.
f
i,J−1
f
i,J
¸
¸
¸
¸
¸
¸
¸
¸
¸
, B

=

−2 1 0 0 0
1 −2 1 0 0
0 1 −2 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 −2 1
0 0 0 1 −2
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
The first three terms in equation (5.12) correspond to the central difference in the
x-direction, and the fourth term corresponds to the central difference in the
y-direction (see B

).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 95 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Taking B = −2I +B

, where I is the identity matrix, equation (5.12) becomes
u
i−1
+Bu
i
+u
i+1
= ∆
2
f
i
, i = 0, . . . , I, (5.13)
where the (J + 1) (J + 1) matrix B is
B =

−4 1 0 0 0
1 −4 1 0 0
0 1 −4 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 −4 1
0 0 0 1 −4
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
Note that equation (5.13) corresponds to the block-tridiagonal matrix for equation
(5.4), where B is the tridiagonal portion and u
i−1
and u
u+1
are the ’fringes.’
Writing three successive equations of (5.13) for i −1, i and i + 1:
u
i−2
+Bu
i−1
+u
i
= ∆
2
f
i−1
,
u
i−1
+Bu
i
+u
i+1
= ∆
2
f
i
,
u
i
+Bu
i+1
+u
i+2
= ∆
2
f
i+1
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 96 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
Multiplying −B times the middle equation and adding all three gives
u
i−2
+B

u
i
+u
i+2
= ∆
2
f

i
, (5.14)
where
B

= 2I −B
2
,
f

i
= f
i−1
−Bf
i
+f
i+1
.
This is an equation of the same form as (5.13); therefore, applying this procedure
to all even numbered i equations in (5.13) reduces the number of equations by a
factor of two.
This cyclic reduction procedure can be repeated until a single equation remains for
the middle line of variables, u
I/2
(I = 2
n
, with integer n), which is tridiagonal.
Thus, using the solution for u
I/2
, solutions for all other i are obtained by
successively solving the tridiagonal problems at each level in reverse:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 97 / 454
Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems
This results in a total of I tridiagonal problems to obtain u
i
, i = 0, . . . , I.
Notes:
1) Speed of FFT and cyclic reduction methods are comparable.
2) Cyclic reduction may be applied to somewhat more general equations, such
as those with variable coefficients.
3) Can accelerate by taking FFT in one direction (with constant coefficients)
and using cyclic reduction in the other.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 98 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 99 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 100 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Returning to the difference equation (5.2) for the Poisson equation (5.1)
φ
i+1,j
−2(1 +
¯
∆)φ
i,j

i−1,j
+
¯
∆(φ
i,j+1

i,j−1
) = (∆x)
2
f
i,j
, (5.15)
where
¯
∆ = (∆x/∆y)
2
.
This may be written in general form as
Lφ = f, (5.16)
where L is the finite-difference operator for the particular problem.
Iterative methods consist of beginning with an initial guess and iteratively
“relaxing” equation (5.16) until convergence.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 101 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Jacobi Iteration
Solving equation (5.15) for φ
i,j
and indicating the iteration number using a
superscript
φ
n+1
i,j
=
1
2(1 +
¯
∆)

φ
n
i+1,j

n
i−1,j
+
¯

φ
n
i,j+1

n
i,j−1

−(∆x)
2
f
i,j

. (5.17)
Procedure:
1
Provide an initial guess φ
1
i,j
for φ
i,j
at each point
i = 1, . . . , I + 1, j = 1, . . . , J + 1.
2
Relax (iterate) by applying (5.17) at each grid point to produce successive
approximations:
φ
2
i,j
, φ
3
i,j
, . . . , φ
n
i,j
, . . .
3
Continue until convergence, determined by
max


n+1
i,j
−φ
n
i,j
[

max


n
i,j
[
< ,
where, for example, = 10
−4
⇒ convergence to ∼ 4 significant figures.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 102 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Notes:
1
Convergence is too slow ⇒ not used in practice.
2
Requires φ
n+1
i,j
and φ
n
i,j
to be stored for all i = 1, . . . , I + 1, j = 1, . . . , J + 1.
3
Used as a basis for comparison with other methods to follow.
4
Although not necessary, it is instructive to view iterative methods in matrix
form Ax = c.
→ See MMAE 501, section 2.2.2 notes.
We write A = M
1
−M
2
; thus, an iterative scheme may be devised by
writing Ax = c in the form
M
1
x
(n+1)
= M
2
x
(n)
+c,
where we put the iteration number in parentheses in order to distinguish it
from powers. Multiplying by M
−1
1
gives
x
(n+1)
= M
−1
1
M
2
x
(n)
+M
−1
1
c,
or
x
(n+1)
= Mx
(n)
+M
−1
1
c,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 103 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
where M = M
−1
1
M
2
is the iteration matrix.
Let
D = diagonal elements of A
−L = lower triangular elements of A
−U = upper triangular elements of A
Therefore,
Ax = (D−L −U)x = c.
Then for Jacobi iteration (M
1
= D, M
2
= L +U):
Dx
(n+1)
= (L +U)x
(n)
+c
x
(n+1)
= D
−1
(L +U)x
(n)
+D
−1
c
∴ M = M
−1
1
M
2
= D
−1
(L +U)
Then we check to be sure that the spectral radius of M satisfies ρ < 1 to
ensure convergence of the iterative scheme.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 104 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
In addition, a smaller spectral radius results in more rapid convergence. It
can be shown that for equation (5.17) with
¯
∆ = 1 (∆x = ∆y) and Dirichlet
boundary conditions that
ρ
Jac
(I, J) =
1
2
¸
cos

π
I + 1

+ cos

π
J + 1

.
If I = J and I is large, then
ρ
Jac
(I) = cos

π
I + 1

= 1 −
1
2

π
I + 1

2
+ ; (5.18)
therefore, as I →∞, ρ
Jac
(I) →1. As a result, we observe slower
convergence as I is increased, i.e. there is a disproportionate increase in
computational time as I is increased.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 105 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Gauss-Seidel Iteration
There are two problems with Jacobi iteration:
1
Slow convergence.
2
Must store current and previous iterations for entire grid.
The Gauss-Seidel method addresses both problems by using the most recently
updated information. For example, if sweeping along lines of constant y
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 106 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Therefore, when updating φ
i,j
, the points φ
i,j−1
and φ
i−1,j
have already been
updated, and using these updated values, equation (5.17) is changed to
φ
n+1
i,j
=
1
2(1 +
¯
∆)

φ
n
i+1,j

n+1
i−1,j
+
¯

φ
n
i,j+1

n+1
i,j−1

−(∆x)
2
f
i,j

. (5.19)
Observe that now it is not necessary to store φ
n
i,j
at the previous iteration. The
values of φ
i,j
are all stored in the same array, and it is not necessary to distinguish
between the (n) or (n + 1)
st
iterates. We simply use the most recently updated
information.
In matrix form, the Gauss-Seidel method is (M
1
= D−L, M
2
= U):
(D−L)x
(n+1)
= Ux
(n)
+c
x
(n+1)
= (D−L)
−1
Ux
(n)
+ (D−L)
−1
c
∴ M = M
−1
1
M
2
= (D−L)
−1
U
It can be shown that
ρ
GS
= ρ
2
Jac
;
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 107 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
therefore, for our model problem
ρ
GS
(I) = ρ
2
Jac
(I) =
¸
1 −
1
2

π
I + 1

2
+
¸
2
= 1 −

π
I + 1

2
+ . (5.20)
Thus, the rate of convergence is twice as fast as for Jacobi, i.e. the Gauss-Seidel
method requires one-half the iterations for the same level of accuracy.
Note: It can be shown that diagonal dominance of A is a sufficient (but not
necessary) condition for convergence of the Jacobi and Gauss-Seidel iteration
methods, i.e. ρ < 1, where ρ is the spectral radius of M = M
−1
1
M
2
(see Morton
and Mayers, p. 205 for proof).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 108 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Successive Overrelaxation (SOR)
In Gauss-Seidel iteration, the sign of the error typically does not change from
iteration to iteration; therefore, the iterative solution normally approaches the
exact solution very slowly. Convergence can often be accelerated by
“over-relaxing,” or magnifying, the change at each iteration.
This is accomplished by taking a weighted average of the previous iterate φ
n
i,j
and
the Gauss-Seidel iterate φ
n+1
i,j
. So if we denote the Gauss-Seidel iterate (5.19) by
φ

i,j
, the new SOR iterate is given by
φ
n+1
i,j
= (1 −ω)φ
n
i,j
+ωφ

i,j
, (5.21)
where ω is the relaxation parameter and 0 < ω < 2 for convergence (Morton &
Mayers, p. 206).
ω = 1 ⇒ Gauss-Seidel
1 < ω < 2 ⇒ Overrelaxation
0 < ω < 1 ⇒ Underrelaxation
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 109 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Overrelaxation typically accelerates convergence of linear problems, while
underrelaxation is often required for convergence when dealing with non-linear
problems.
In matrix form, the SOR method is (M
1
= D−ωL, M
2
= (1 −ω)D+ωU):
(D−ωL)x
(n+1)
= [(1 −ω)D+ωU] x
(n)
+ωc
x
(n+1)
= (D−ωL)
−1
[(1 −ω)D+ωU] x
(n)
+ω(D−ωL)
−1
c
∴ M = M
−1
1
M
2
= (D−ωL)
−1
[(1 −ω)D+ωU]
It can be shown that for the Poisson equation, the optimal value of ω is
ω
opt
=
2
1 +

1 −ρ
2
Jac
, (5.22)
and for this ω
opt
, the spectral radius for SOR is
ρ
SOR
=

ρ
Jac
1 +

1 −ρ
2
Jac

2
. (5.23)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 110 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Recall that for our model problem, ρ
Jac
= 1 −
1
2

π
I+1

2
+ ; thus,
ω
opt
=
2
1 +

1 −ρ
2
Jac
=
2
1 +

1 −
¸
1 −
1
2

π
I+1

2
+

2
=
2
1 +

1 −
¸
1 −

π
I+1

2
+

ω
opt

2
1 +
π
I+1
.
(5.24)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 111 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Then for large I
ρ
SOR

1 −
1
2

π
I+1

2
1 +
π
I+1
¸
¸
¸
2

¸
1 −
1
2

π
I + 1

2
¸
¸
1 −
π
I + 1
+

¸
2

1 −
π
I + 1
+

2
ρ
SOR
≈ 1 −

I + 1
.
(5.25)
Thus, as I →∞, ω
opt
→2, and ρ
SOR
→1.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 112 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
However, from a comparison of equations (5.25) and (5.20), we see that
ρ
SOR
< ρ
GS
,
such that SOR converges at a rate
2(I+1)
π
times faster than Gauss-Seidel if the
optimal value of the relaxation parameter is used for the model problem under
consideration. Therefore, the relative convergence rate improves linearly with
increasing I.
This analysis assumes that we know ω
opt
. Typically, we do not, and the rate of
convergence depends significantly on the choice of ω, e.g. the typical behavior for
linear problems is as follows (for given I):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 113 / 454
Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods
Notes:
1
Although ω
opt
does not depend on the right-hand-side, it does depend upon:
i) differential equation
ii) method of discretization
iii) boundary conditions
iv) shape of domain
2
For a given problem, ω
opt
must be estimated from a similar problem and/or
trial and error.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 114 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 115 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 116 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
Dirichlet Boundary Conditions
Simply apply the specified values at the boundaries to φ
1,j
, φ
I+1,j
, φ
i,1
, and
φ
i,J+1
and iterate on the Jacobi (5.17), Gauss-Seidel (5.19), or SOR (5.21)
equation in the interior, i = 2, . . . , I, j = 2, . . . , J.
For example, Jacobi or Gauss-Seidel iterate at i = 2, j = 2:
φ
n+1
2,2
=
1
2(1 +
¯
∆)

φ
n
3,2

1,2
+
¯

φ
n
2,3

2,1

−(∆x)
2
f
2,2

.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 117 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
Neumann (Derivative) Boundary Conditions
Consider the following boundary condition
∂φ
∂x
= c at x = 0. (5.26)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 118 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
The simplest treatment would be to use the Jacobi (5.17), Gauss-Seidel (5.19), or
SOR (5.21) equation to update φ
i,j
in the interior for i = 2, . . . , I, and then to
approximate the boundary condition (5.26) by a forward difference applied at i = 1
φ
2,j
−φ
1,j
∆x
+O(∆x) = c. (5.27)
This could then be used to update φ
1,j
, j = 2, . . . , J using
φ
1,j
= φ
2,j
−c∆x.
This is unacceptable, however, because (5.27) is only first-order accurate.
A better alternative is to update the interior points as before, but now apply the
difference equation at the boundary. For example, we could apply Jacobi (5.17) at
i = 1
φ
n+1
1,j
=
1
2(1 +
¯
∆)

φ
n
2,j

n
0,j
+
¯

φ
n
1,j+1

n
1,j−1

−(∆x)
2
f
1,j

. (5.28)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 119 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
However, this involves a value φ
n
0,j
that is outside the domain. A second-order
accurate central-difference approximation for the boundary condition (5.26) is
φ
n
2,j
−φ
n
0,j
2∆x
+O(∆x
2
) = c, (5.29)
which also involves the value φ
n
0,j
. Therefore, solving (5.29) for φ
n
0,j
gives
φ
n
0,j
= φ
n
2,j
−2c∆x,
and substituting into the difference equation (5.28) to eliminate φ
n
0,j
leads to
φ
n+1
1,j
=
1
2(1 +
¯
∆)

2

φ
n
2,j
−c∆x

+
¯

φ
n
1,j+1

n
1,j−1

−(∆x)
2
f
1,j

. (5.30)
Thus, we use (5.30) to update φ
n+1
1,j
, j = 2, . . . , J.
Notes:
1
This is the same procedure used for a Dirichlet condition but with an
additional sweep along the left boundary using (5.30) for φ
n+1
1,j
, j = 2, . . . , J.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 120 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
2
This approach requires special treatment at corners depending upon the
boundary condition along the adjacent boundary. For example, consider if in
addition to (5.26) we have
∂φ
∂y
= d at y = b. (5.31)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 121 / 454
Numerical Solutions of Elliptic Problems Boundary Conditions
Applying (5.30) at the corner i = 1, j = J + 1
φ
n+1
1,J+1
=
1
2(1 +
¯
∆)

2

φ
n
2,J+1
−c∆x

+
¯

φ
n
1,J+2

n
1,J

−(∆x)
2
f
1,J+1

,
(5.32)
where φ
n
1,J+2
is outside the domain. Approximating (5.31) using a central
difference in the same manner as (5.29) gives
φ
n
1,J+2
−φ
=
d,
which leads to
φ
n
1,J+2
= φ
n
1,J
+ 2d∆y.
Substituting into (5.32) to eliminate φ
n
1,J+2
gives
φ
n+1
1,J+1
=
1
2(1 +
¯
∆)

2

φ
n
2,J+1
−c∆x

+ 2
¯

φ
n
1,J
+d∆y

−(∆x)
2
f
1,J+1

,
which is used to update the corner value i = 1, j = J + 1.
3
If a lower-order approximation, such as (5.27), is used at a boundary, its
truncation error generally dominates the convergence rate.
4
The above approach is used in thomas.f, etc.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 122 / 454
Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 123 / 454
Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 124 / 454
Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method
Recall that in elliptic problems, the solution anywhere depends on the solution
everywhere, i.e. it has an infinite speed of propagation in all directions.
However, in Jacobi, Gauss-Seidel, and SOR, information only propagates through
the mesh one point at a time. For example, if sweeping along lines of constant y
with 0 ≤ x ≤ a, it takes I iterations before the boundary condition at x = a is
“felt” at x = 0.
⇒ These techniques are not very “elliptic like.”
A more “elliptic-like” method could be obtained by solving entire lines in the grid
in an implicit manner. For example, sweeping along lines of constant y and
solving each constant y-line implicitly, i.e. all at once, would allow for the
boundary condition at x = a to influence the solution in the entire domain after
only one sweep through the grid.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 125 / 454
Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method
Returning to the difference equation (5.15) for the Poisson equation
φ
i+1,j
−2(1 +
¯
∆)φ
i,j

i−1,j
+
¯
∆(φ
i,j+1

i,j−1
) = (∆x)
2
f
i,j
. (5.33)
Consider the j
th
line and assume that values along the j + 1
st
and j −1
st
lines
are taken from the previous iterate.
Rewriting (5.33) as an implicit equation for the values of φ
i,j
along the j
th
line
gives
φ
n+1
i+1,j
−2(1+
¯
∆)φ
n+1
i,j

n+1
i−1,j
= (∆x)
2
f
i,j

¯

φ
n
i,j+1

n
i,j−1

, i = 2, . . . , I.
(5.34)
Therefore, we have a tridiagonal problem for φ
i,j
along the j
th
line, which can be
solved using the Thomas algorithm.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 126 / 454
Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method
Notes:
1
If sweeping through j-lines, j = 2, . . . , J, then φ
n
i,j−1
becomes φ
n+1
i,j−1
in
(5.34), i.e. it has already been updated. Therefore, we use updated values as
in Gauss-Seidel.
2
Can also incorporate SOR.
3
More efficient at spreading information throughout the domain; therefore, it
reduces the number of iterations required for convergence, but there is more
computation per iteration.
4
This provides motivation for the ADI method.
ADI Method
In the ADI method we sweep along lines but in alternating directions.
In the first half of the iteration we perform a sweep along constant y-lines by
solving the series of tridiagonal problems for j = 2, . . . , J:
φ
n+1/2
i+1,j
−(2 +σ)φ
n+1/2
i,j

n+1/2
i−1,j
= (∆x)
2
f
i,j

¯

φ
n
i,j+1

2 −
σ
¯

φ
n
i,j

n+1/2
i,j−1

, i = 2, . . . , I.
(5.35)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 127 / 454
Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method
Notes:
1
The φ
n+1/2
i,j−1
term on the right-hand-side has been updated from the previous
line.
2
Unlike in equation (5.34), differencing in the x- and y-directions are kept
separate to mimic diffusion in each direction. This is called a splitting
method.
3
σ is an acceleration parameter to enhance diagonal dominance (σ > 0).
σ = 0 corresponds to no acceleration. Note that the σ terms on each side of
the equation cancel.
In the second half of the iteration we sweep along constant x-lines by solving the
series of tridiagonal problems for i = 2, . . . , I:
¯
∆φ
n+1
i,j+1
−(2
¯
∆ +σ)φ
n+1
i,j
+
¯
∆φ
n+1
i,j−1
= (∆x)
2
f
i,j

φ
n+1/2
i+1,j
−(2 −σ) φ
n+1/2
i,j

n+1
i−1,j

, j = 2, . . . , J,
(5.36)
where φ
n+1
i−1,j
has been updated from the previous line.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 128 / 454
Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method
Notes:
1
Involves (I −1) + (J −1) tridiagonal solves for each iteration (for Dirichlet
boundary conditions).
2
For ∆x = ∆y (
¯
∆ = 1), it can be shown that for the Poisson (or Laplace)
equation with Dirichlet boundary conditions that the acceleration parameter
that gives the best speedup is
σ = 2 sin (π/R) ,
where R = max(I + 1, J + 1).
3
The ADI method with splitting is typically faster than Gauss-Seidel or SOR
for equations in which the terms are easily factored into x and y directions,
but it is more difficult if have derivative mixed terms such as ∂
2
φ/∂x∂y.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 129 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 130 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 131 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
As we have seen before, in order to obtain higher-order finite-difference
approximations it is necessary to incorporate more points in the finite-difference
stencil. However, it is advantageous to maintain the compact nature of
second-order accurate central differences because they produce systems of
equations, e.g. tridiagonal, that may be solved efficiently. Here we derive a
compact fourth-order accurate central-difference approximation for the
second-order derivatives in the Poisson equation.
For convenience, we define the following second-order accurate central-difference
operators
δ
2
x
φ
i,j
=
φ
i−1,j
−2φ
i,j

i+1,j
∆x
2
,
δ
2
y
φ
i,j
=
φ
i,j−1
−2φ
i,j

i,j+1
∆y
2
.
Recall from equation (3.13) in section 3.2 that from the Taylor series, we have

2
φ
∂x
2
= δ
2
x
φ −
∆x
2
12

4
φ
∂x
4
+O(∆x
4
). (5.37)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 132 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Therefore,
δ
2
x
φ =

2
φ
∂x
2
+
∆x
2
12

4
φ
∂x
4
+O(∆x
4
).
δ
2
x
φ =
¸
1 +
∆x
2
12

2
∂x
2


2
φ
∂x
2
+O(∆x
4
).
(5.38)
But from equation (5.37)

2
∂x
2
= δ
2
x
+O(∆x
2
).
Substituting into (5.38) gives
δ
2
x
φ =
¸
1 +
∆x
2
12

δ
2
x
+O(∆x
2
)


2
φ
∂x
2
+O(∆x
4
),
δ
2
x
φ =
¸
1 +
∆x
2
12
δ
2
x


2
φ
∂x
2
+O(∆x
4
).
Solving for ∂
2
φ/∂x
2

2
φ
∂x
2
=

1 +
∆x
2
12
δ
2
x

−1
δ
2
x
φ +

1 +
∆x
2
12
δ
2
x

−1
O(∆x
4
) (5.39)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 133 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
From a binomial expansion (with ∆x sufficiently small)

1 +
∆x
2
12
δ
2
x

−1
= 1 −
∆x
2
12
δ
2
x
+O(∆x
4
). (5.40)
Because the last term in equation (5.39) is still O(∆x
4
), we can write equation
(5.39) as

2
φ
∂x
2
=

1 +
∆x
2
12
δ
2
x

−1
δ
2
x
φ +O(∆x
4
). (5.41)
Substituting the expression (5.40) into equation (5.41) leads to a O(∆x
4
)
accurate central-difference approximation for the second derivative

2
φ
∂x
2
=

1 −
∆x
2
12
δ
2
x

δ
2
x
φ +O(∆x
4
).
Due to the δ
2
x

2
x
φ) operator, however, this approximation involves the five points
φ
i−2
, φ
i−1
, φ
i
, φ
i+1
and φ
i+2
; therefore, it is not compact.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 134 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
In order to obtain a compact scheme, we also consider the derivative in the
y-direction. Similar to equation (5.41), we have in the y-direction

2
φ
∂y
2
=

1 +
∆y
2
12
δ
2
y

−1
δ
2
y
φ +O(∆y
4
). (5.42)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 135 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Now consider the Poisson equation

2
φ
∂x
2
+

2
φ
∂y
2
= f(x, y).
Substituting equations (5.41) and (5.42) into the Poisson equation leads to

1 +
∆x
2
12
δ
2
x

−1
δ
2
x
φ +

1 +
∆y
2
12
δ
2
y

−1
δ
2
y
φ +O(∆
4
) = f(x, y),
where ∆ = max(∆x, ∆y). Multiplying by

1 +
∆x
2
12
δ
2
x

1 +
∆y
2
12
δ
2
y

gives

1 +
∆y
2
12
δ
2
y

δ
2
x
φ +

1 +
∆x
2
12
δ
2
x

δ
2
y
φ +O(∆
4
)
=
¸
1 +
∆x
2
12
δ
2
x
+
∆y
2
12
δ
2
y
+O(∆
4
)

f(x, y),
(5.43)
which is a fourth-order accurate finite-difference approximation to the Poisson
equation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 136 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Expand the first term in equation (5.43) as follows

1 +
∆y
2
12
δ
2
y

δ
2
x
φ =

1 +
∆y
2
12
δ
2
y

φ
i−1,j
−2φ
i,j

i+1,j
∆x
2
=
1
∆x
2

i−1,j
−2φ
i,j

i+1,j
)
+
1
12∆x
2
[(φ
i−1,j−1
−2φ
i−1,j

i−1,j+1
)
−2 (φ
i,j−1
−2φ
i,j

i,j+1
)
+(φ
i+1,j−1
−2φ
i+1,j

i+1,j+1
)]
=
1
12∆x
2
[−20φ
i,j
+ 10 (φ
i−1,j

i+1,j
)
−2 (φ
i,j−1

i,j+1
)

i−1,j−1

i−1,j+1

i+1,j−1

i+1,j+1
] .
Therefore, we have a nine-point stencil, but the approximation only requires three
points in each direction and thus it is compact.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 137 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Similarly, expanding the second term in equation (5.43) yields

1 +
∆x
2
12
δ
2
x

δ
2
y
φ =
1
12∆y
2
[−20φ
i,j
+ 10 (φ
i,j−1

i,j+1
)
−2 (φ
i−1,j

i+1,j
) +φ
i−1,j−1

i−1,j+1

i+1,j−1

i+1,j+1
] ,
and the right-hand-side of equation (5.43) is
¸
1 +
∆x
2
12
δ
2
x
+
∆y
2
12
δ
2
y

f(x, y) = f
i,j
+
1
12
[f
i−1,j
−2f
i,j
+f
i+1,j
+f
i,j−1
−2f
i,j
+f
i,j+1
]
=
1
12
[8f
i,j
+f
i−1,j
+f
i+1,j
+f
i,j−1
+f
i,j+1
] .
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 138 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Thus, the coefficients in the finite-difference stencil for φ(x, y) are as follows:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 139 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
and for f(x, y) they are
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 140 / 454
Numerical Solutions of Elliptic Problems Compact Finite Differences
Notes:
1
Observe that in equation (5.43) the two-dimensionality of the equation has
been taken advantage of to obtain the compact finite-difference stencil, i.e.
see the δ
2
x
δ
2
y
φ and δ
2
y
δ
2
x
φ difference operators.
2
Because the finite-difference stencil is compact, i.e. only involving three
points in each direction, application of the ADI method as in the previous
section results in a set of tridiagonal problems to solve. Therefore, this
fourth-order, compact finite-difference approach is no less efficient then that
for the second-order scheme used in the previous section (there are simply
additional terms on the right-hand-side of the equations).
3
The primary disadvantage of using higher-order schemes is that it is generally
necessary to use lower-order approximations for derivative boundary
conditions. This is not a problem, however, for Dirichlet boundary conditions.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 141 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 142 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 143 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Motivation
The iterative techniques we have discussed all have the following property:
High-frequency components of error ⇒ fast convergence.
Low-frequency components of error ⇒ slow convergence.
To illustrate this, consider the simple one-dimensional problem
d
2
φ
dx
2
= 0, 0 ≤ x ≤ 1, (5.44)
with φ(0) = φ(1) = 0, which has the exact solution φ(x) = 0. Therefore, all plots
of the numerical solution are also plots of the error.
Discretizing equation (5.44) at I + 1 points using central differences gives
φ
i+1
−2φ
i

i−1
= 0, i = 1, . . . , I −1
φ
0
= φ
I
= 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 144 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
To show how the nature of the error affects convergence, consider an initial guess
consisting of the Fourier mode φ(x) = sin(kπx), where k is the wavenumber and
indicates the number of half sine waves on the interval 0 ≤ x ≤ 1. In discretized
form, with x
i
= i∆x = i/I, this is
φ
i
= sin

kπi
I

, i = 0, . . . , I,
with the wavenumber 1 ≤ k ≤ I −1. Thus,
Small k ⇒ long, smooth waves (low frequency).
Large k ⇒ highly oscillatory waves (high frequency).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 145 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Consider initial guesses with k = 1, 3, 6 (the figures are from Briggs et al.):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 146 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Applying Jacobi and Gauss-Seidel iteration with I = 64, the solution converges
more rapidly for the higher frequency initial guess.
Jacobi:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 147 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Gauss-Seidel:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 148 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
A more realistic situation is one in which the initial guess contains multiple modes,
for example
φ
i
=
1
3
¸
sin

πi
I

+ sin

6πi
I

+ sin

32πi
I

.
The k = 1, 6, and 32 terms represent low-, medium- and high-frequency modes,
respectively.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 149 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Applying Jacobi iteration with I = 64, the error is reduced rapidly during the early
iterations but more slowly thereafter.
Thus, there is rapid convergence until the high-frequency modes are smoothed
out, then slow convergence for the lower frequency modes.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 150 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
See, for example, the following sequence using Jacobi iteration:
k = 3 after 1 iteration (left) and 10 iterations (right):
k = 16 after 1 iteration (left) and 10 iterations (right):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 151 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
k = 2 and k = 16 after 1 iteration (left) and 10 iterations (right):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 152 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Multigrid methods take advantage of this property of relaxation techniques by
recognizing that smooth components of the error become more oscillatory with
respect to the grid size on a coarse grid.
Thus, relaxation is more effective on a coarse grid representation of the error (it is
also faster).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 153 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Notes:
1) Multigrid methods are not so much a specific set of techniques as they are a
framework for accelerating relaxation (iterative) methods.
2) Multigrid methods are comparable in speed with fast direct methods, such as
Fourier methods and cyclic reduction, but can be used to solve general
elliptic equations with variable coefficients and even nonlinear equations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 154 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Multigrid Methodology
Consider the general second-order linear elliptic partial differential equation of the
form
A(x, y)

2
φ
∂x
2
+B(x, y)
∂φ
∂x
+C(x, y)

2
φ
∂y
2
+D(x, y)
∂φ
∂y
+E(x, y)φ = F(x, y). (5.45)
To be elliptic, A(x, y)C(x, y) > 0 for all (x, y). Approximating this differential
equation using second-order accurate central differences gives
A
i,j
φ
i+1,j
−2φ
i,j

i−1,j
∆x
2
+B
i,j
φ
i+1,j
−φ
i−1,j
2∆x
C
i,j
φ
i,j+1
−2φ
i,j

i,j−1
∆y
2
+D
i,j
φ
i,j+1
−φ
i,j−1
2∆y
+E
i,j
φ
i,j
= F
i,j
,
where A
i,j
= A(x
i
, y
j
), etc. We rewrite this equation in the form
a
i,j
φ
i+1,j
+b
i,j
φ
i−1,j
+c
i,j
φ
i,j+1
+d
i,j
φ
i,j−1
+e
i,j
φ
i,j
= F
i,j
, (5.46)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 155 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
where
a
i,j
=
A
i,j
∆x
2
+
B
i,j
2∆x
, b
i,j
=
A
i,j
∆x
2

B
i,j
2∆x
,
c
i,j
=
C
i,j
∆y
2
+
D
i,j
2∆y
, d
i,j
=
C
i,j
∆y
2

D
i,j
2∆y
,
e
i,j
= E
i,j

2A
i,j
∆x
2

2C
i,j
∆y
2
.
For convenience, write (5.46) (or some other difference equation) as
Lφ = f, (5.47)
where L represents the difference operator. If φ is the exact solution to equation
(5.46), then the error is defined by
e = φ −
¯
φ, (5.48)
where
¯
φ is an approximation to φ. The residual is defined by
r = f −L
¯
φ. (5.49)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 156 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Observe from (5.47) that if
¯
φ = φ, then the residual is zero; therefore, the residual
is a measure of how “wrong” the approximate solution is.
Substituting (5.48) into equation (5.47) gives the error equation
Le = r = f −L
¯
φ. (5.50)
From these definitions, we can devise a scheme with which to correct the solution
on a fine grid by solving for the error on a coarse grid.
⇒ Coarse-Grid Correction (CGC)
Definitions:
Fine grid →Ω
h
; Coarse grid →Ω
2h
→ Grids are typically reduced by a factor of two in each direction.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 157 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Restriction operator: I
2h
h
→ Move information from fine grid to coarse grid.
Interpolation (Prolongation) operator: I
h
2h
→ Move information from coarse grid to fine grid.
Coarse-Grid Correction Sequence:
1) Relax L
h
¯
φ
h
= f
h
using Gauss-Seidel, ADI, etc. ν
1
times on the fine grid Ω
h
with an initial guess
¯
φ
h
.
2) Compute the residual on Ω
h
and restrict it to the coarse grid Ω
2h
:
r
2h
= I
2h
h
r
h
= I
2h
h
(f
h
−L
h
¯
φ
h
).
3) Using the residual as the right-hand-side, ’solve’ the error equation
L
2h
e
2h
= r
2h
on the coarse grid Ω
2h
.
4) Interpolate the error to the fine grid and correct the fine-grid approximation
according to
¯
φ
h

¯
φ
h
+I
h
2h
e
2h
.
5) Relax L
h
¯
φ
h
= f
h
ν
2
times on the fine grid Ω
h
with corrected approximation
¯
φ
h
as the initial guess.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 158 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Note: In practice, ν
1
and ν
2
are small (1, 2, or 3).
This CGC scheme is the primary component of all the many multigrid algorithms.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 159 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
To illustrate consider the CGC sequence for equation (5.44), i.e. φ

= 0
(I = 64, ν
1
= 3):
Initial guess:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 160 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Step 1 after one relaxation sweep on fine grid:
→ The high-frequency mode is eliminated after only one relaxation step.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 161 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Step 1 after three relaxation sweeps on fine grid:
→ The low-frequency mode is reduced very little after three relaxation step.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 162 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Step 3 after one relaxation sweep on coarser grid:
→ ... and not much more after three.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 163 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Step 3 after three relaxation sweeps on coarser grid:
→ Restriction to the coarser grid accelerates convergence of the
low-frequency mode, which has higher frequency relative to the coarser grid.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 164 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Step 5 after three relaxation sweeps on fine grid:
→ Low-frequency mode is nearly eliminated after CGC.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 165 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
How do we obtain the coarse grid solution for e
2h
in step 3?
→ Recursively replace step 3 by additional CGCs on progressively coarser grids.
⇒ V-Cycle
For example, a four-grid V-cycle is illustrated by
The V-cycles are repeated until convergence.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 166 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Note: The error being solved for on successively coarser grids is the error of the
error on the next finer grid, i.e. on grid...

h
→ relaxation on original equation for φ.

2h
→ relaxation on equation for error on Ω
h
.

4h
→ relaxation on equation for error on Ω
2h
.
.
.
.
This simple V-cycle scheme is appropriate when a good initial guess is available.
For example, when considering a solution to equation (5.45) in the context of an
unsteady calculation in which case the solution for φ
h
from the previous time step
is a good initial guess for the current time step.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 167 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
If no good initial guess is available, then Full Multigrid V-Cycle (FMV) may be
applied according to the following procedure:
1) Solve Lφ = f on the coarset grid (Note: φ not e)
2) Interpolate to next finer grid.
3) Perform V-cycle to correct φ.
4) Interpolate to next finer grid.
5) Repeat (3) and (4) until finest grid is reached.
6) Perform V-cycles until convergence.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 168 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Grid Definitions:
Because each successive grid differs by a factor of two, the finest grid size is often
taken as 2
n
+ 1, where n is an integer. Somewhat more general grids may be
obtained using the following grid definitions.
The differential equation (5.45) is discretized on a uniform grid having N
x
N
y
points which are defined by
N
x
= m
x
2
(n
x
−1)
+ 1, N
y
= m
y
2
(n
y
−1)
+ 1, (5.51)
where n
x
and n
y
determine the number of grid levels, and m
x
and m
y
determine
the size of the coarsest grid, which is (m
x
+ 1) (m
y
+ 1).
For a given grid, n
x
and n
y
should be as large as possible, and m
x
and m
y
should
be as small as possible for maximum efficiency (typically m
x
and m
y
are 2, 3 or
5). For example:
N
x
= 65 ⇒ m
x
= 2, n
x
= 6
N
x
= 129 ⇒ m
x
= 2, n
x
= 7
N
x
= 49 ⇒ m
x
= 3, n
x
= 5
N
x
= 81 ⇒ m
x
= 5, n
x
= 5
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 169 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
The number of grid levels is given by
N = max(n
x
, n
y
) (5.52)
resulting in the series of grids
G(1) < . . . < G(L) < . . . < G(N), (5.53)
where G(1) is the coarsest grid, G(N) is the finest grid and L = 1, . . . , N. Each
grid G(L) has M
x
(L) M
y
(L) grid points, where
M
x
(L) = m
x
2
[max(n
x
+L−N,1)−1]
+ 1,
M
y
(L) = m
y
2
[max(n
y
+L−N,1)−1]
+ 1.
(5.54)
For example,
N
x
= 65, N
y
= 49 ⇒ m
x
= 2, n
x
= 6 and m
y
= 3, n
y
= 5.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 170 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Thus, N = max(n
x
, n
y
) = 6 and
G(6) : M
x
(6) = 65, M
y
(6) = 49
G(5) : M
x
(5) = 33, M
y
(5) = 25
G(4) : M
x
(4) = 17, M
y
(4) = 13
G(3) : M
x
(3) = 9, M
y
(3) = 7
G(2) : M
x
(2) = 5, M
y
(2) = 4
G(1) : M
x
(1) = 3, M
y
(1) = 4
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 171 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Boundary Conditions
At each boundary the general form of the boundary condition is
pφ +q
∂φ
∂n
= s, (5.55)
where n is the direction normal to the surface. This boundary condition is applied
directly on the finest grid Ω
h
, i.e.
p
h
φ
h
+q
h
∂φ
h
∂n
= s
h
. (5.56)
But on the coarser grids, we need the boundary condition for the error. In order to
obtain such a condition, consider the following. On the coarse grid Ω
2h
, equation
(5.55) applies to the solution φ; thus,
p
2h
φ
2h
+q
2h
∂φ
2h
∂n
= s
2h
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 172 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
If we enforce the error to be zero on the boundaries, then from
e
2h
= φ
2h

¯
φ
2h
= 0, i.e. φ
2h
=
¯
φ
2h
, we also have
p
2h
¯
φ
2h
+q
2h

¯
φ
2h
∂n
= s
2h
.
Therefore, to obtain a boundary condition for the error on Ω
2h
p
2h
e
2h
+q
2h
∂e
2h
∂n
= p
2h
φ
2h
+q
2h
∂φ
2h
∂n

p
2h
¯
φ
2h
+q
2h

¯
φ
2h
∂n

= s
2h
−s
2h
p
2h
e
2h
+q
2h
∂e
2h
∂n
= 0.
(5.57)
Thus, the boundary conditions are homogeneous on all but the finest grid, where
the original condition on φ is applied. For example,
Dirichlet ⇒e = 0 on boundary.
Neumann ⇒
∂e
∂n
= 0 on boundary.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 173 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
That is, the type of boundary condition (Dirichlet, Neumann, or Robin) does not
change, i.e. the p and q coefficients are the same, but they become homogeneous,
i.e. s = 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 174 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Relaxation
Typically, red-black Gauss-Seidel iteration is used to relax the difference equation:
By performing the relaxation on all of the red and black points separately, it
eliminates data dependencies such that it is easily implemented on parallel
computers (see section 10). Note that when Gauss-Seidel is used, SOR should not
be implemented because it destroys the high-frequency smoothing.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 175 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
The point-by-point relaxation of Gauss-Seidel does not work well, however, if
there are large gradients in the solution or rapid variations in the coefficients in
the differential equation (5.45). In such cases it is better to use line relaxation for
the same reason that ADI is better than Gauss-Seidel.
In general, we may have such behavior in both directions; therefore, we could use
alternating-direction-line (ADL) relaxation. When sweeping along lines of
constant y, the following tridiagonal problem is solved for each j = 1, . . . , M
y
(L)
(see equation (5.46))
a
i,j
φ
i+1,j
+e
i,j
φ
i,j
+b
i,j
φ
i−1,j
= f
i,j
−c
i,j
φ

i,j+1
−d
i,j
φ

i,j−1
, (5.58)
for i = 1, . . . , M
x
(L). Here φ

denotes the most recent approximation. Similar to
red-black Gauss-Seidel, we could sweep all lines with j even and j odd separately.
We will refer to this as zebra relaxation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 176 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Then lines of constant x are swept by solving the tridiagonal problem for each
i = 1, . . . , M
x
(L) given by
c
i,j
φ
i,j+1
+e
i,j
φ
i,j
+d
i,j
φ
i,j−1
= f
i,j
−a
i,j
φ

i+1,j
−b
i,j
φ

i−1,j
, (5.59)
for j = 1, . . . , M
y
(L). Again we could sweep all lines with i even and i odd
separately.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 177 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Restriction Operator: I
2h
h
The restriction operator is required for moving information from the finer grid to
the coarser grid.
Notation:
Grid Indices Range
Coarser (i, j) 1 ≤ i ≤ NXC, 1 ≤ j ≤ NY C
Finer (i

, j

) 1 ≤ i

≤ NXF, 1 ≤ j

≤ NY F
Applying restriction in both directions:
NXC =
1
2
(NXF −1) + 1, NY C =
1
2
(NY F −1) + 1
i

= 2i −1, j

= 2j −1
The easiest restriction operator is straight injection for which
φ
2h
i,j
= φ
h
i

,j
∗,
i.e. we simply drop the points that are not common to both grids. The matrix
symbol for straight injection is [1].
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 178 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
A better operator is full weighting. The matrix symbol is
Thus,
φ
2h
i,j
=
1
16

φ
h
i

−1,j

−1

h
i

−1,j

+1

h
i

+1,j

−1

h
i

+1,j

+1

+
1
8

φ
h
i

,j

−1

h
i

,j

+1

h
i

−1,j
∗ +φ
h
i

+1,j

+
1
4
φ
h
i

,j

(5.60)
This represents a weighted average of surrounding points in the fine mesh.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 179 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
We then use straight injection on the boundaries, i.e. φ
2h
i,j
= φ
h
i

,j
∗,
i = 1, NXC, j = 1, . . . , NY C and j = 1, NY C, i = 1, . . . , NXC.
If, for example, restriction is applied only in the x-direction, then NY C = NY F
and j

= j in equation (5.60).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 180 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Interpolation (Prolongation) Operator: I
h
2h
The interpolation operator is required for moving information from the coarser to
finer grid. The most commonly used interpolation operator is based on bilinear
interpolation.
φ
h
i

,j
∗ = φ
2h
i,j
←copy common points
φ
h
i

+1,j
∗ =
1
2

φ
2h
i,j

2h
i+1,j

φ
h
i

,j

+1
=
1
2

φ
2h
i,j

2h
i,j+1

φ
h
i

+1,j

+1
=
1
4

φ
2h
i,j

2h
i+1,j

2h
i,j+1

2h
i+1,j+1

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 181 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Speed Comparisons
Consider the test problem
A(x)

2
φ
∂x
2
+B(x)
∂φ
∂x
+C(y)

2
φ
∂y
2
+D(y)
∂φ
∂y
= F(x, y),
with Neumann boundary conditions. The following times are for an SGI Indy
R5000-150MHz. The grid is N N.
ADI:
= 10
−4
= 10
−5
N Iterations Time (sec) Iterations Time (sec)
65 673 22.35 821 27.22
129 2, 408 366.06 2, 995 456.03
Note that in both cases, the total time required for the N = 129 case is
approximately 16 that with N = 65 (∼ 4 increase in points and ∼ 4 increase
in iterations).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 182 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
Multigrid:
V-cycle with ADL relaxation (no FMV to get improved initial guess). Here the
convergence criterion is evaluated between V-cycles.
= 10
−4
= 10
−5
N Iterations Time (sec) Iterations Time (sec)
65 18 1.78 23 2.28
129 23 10.10 29 12.68
Notes:
1) In both cases, the total time required for the N = 129 case is approximately
6 that with N = 65 (the minimum is 4).
⇒ The multigrid method scales to larger grid sizes more effectively than ADI
alone, i.e. note the small increase in the number of V-cycles with increasing N.
2) The case with N = 65 is approximately 13 faster than ADI, and the case
with N = 129 is approximately 36 faster!
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 183 / 454
Numerical Solutions of Elliptic Problems Multigrid Methods
3) References:
1
Briggs, W.C., Henson, V.E. and McCormick, S.F., “A Multigrid Tutorial,”
(2nd Edition) SIAM (2000).
2
Thomas, J.L., Diskin, B. and Brandt, A.T., “Textbook Multigrid Efficiency for
Fluid Simulations,” Ann. Rev. Fluid Mech. (2003), 35, pp. 317–340.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 184 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Outline
5
Numerical Solutions of Elliptic Problems
Introduction
Finite-Difference Methods for the Poisson Equation
Direct Methods for Linear Systems
Fourier Transform Methods
Cyclic Reduction
Iterative (Relaxation) Methods
Jacobi Iteration
Gauss-Seidel Iteration
Successive Overrelaxation (SOR)
Boundary Conditions
Dirichlet Boundary Conditions
Neumann (Derivative) Boundary Conditions
Alternating-Direction-Implicit (ADI) Method
Compact Finite Differences
Multigrid Methods
Motivation
Multigrid Methodology
Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 185 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 186 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Consider the 2-D, steady Burger’s equations
Re
¸
u
∂u
∂x
+v
∂u
∂y

=

2
u
∂x
2
+

2
u
∂y
2
, (5.61)
Re
¸
u
∂v
∂x
+v
∂v
∂y

=

2
v
∂x
2
+

2
v
∂y
2
, (5.62)
which represent a simplified version of the Navier-Stokes equations as there are no
pressure terms. The terms on the left-hand-side are the convection terms, and
those on the right-hand-side are the viscous or diffusion terms.
The Burger’s equations are elliptic due to the nature of the second-order viscous
terms, but the convection terms make the equations non-linear.
A simple approach to linearizing the equations is known as Picard iteration in
which we take the coefficients of the non-linear (first derivative) terms to be
known from the previous iteration denoted by
u

i,j
, v

i,j
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 187 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Let us begin by approximating (5.61) using central differences for all derivatives as
follows
Re
¸
u

i,j
u
i+1,j
−u
i−1,j
2∆x
+v

i,j
u
i,j+1
−u
i,j−1
2∆y

=
u
i+1,j
−2u
i,j
+u
i−1,j
(∆x)
2
+
u
i,j+1
−2u
i,j
+u
i,j−1
(∆y)
2
.
Multiplying by (∆x)
2
and rearranging leads to

1 −
1
2
Re ∆xu

i,j

u
i+1,j
+

1 +
1
2
Re ∆xu

i,j

u
i−1,j
+

¯
∆−
1
2
Re ∆x
¯

1/2
v

i,j

u
i,j+1
+

¯
∆ +
1
2
Re ∆x
¯

1/2
v

i,j

u
i,j−1
−2(1 +
¯
∆)u
i,j
= 0,
(5.63)
where
¯
∆ = (∆x/∆y)
2
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 188 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
We can solve (5.63) using any of the iterative methods discussed except SOR
(generally need under-relaxation for non-linear problems). However, is (5.63)
diagonally dominant? To be diagonally dominant we must have
[1 −p[ +[1 +p[ +

¯
∆−q

+

¯
∆ +q

2(1 +
¯
∆)

,
where
p =
1
2
Re ∆xu

i,j
, q =
1
2
Re ∆x
¯

1/2
v

i,j
.
Suppose, for example, that p > 1 and q >
¯
∆, then this requires that
(p −1) + (1 +p) + (q −
¯
∆) + (
¯
∆ +q) ≤ 2(1 +
¯
∆)
2(p +q) ≤ 2(1 +
¯
∆),
but with p > 1 and q >
¯
∆ this condition cannot be satisfied, and equation (5.63)
is not diagonally dominant. The same result holds for p < −1 and q < −
¯
∆.
Therefore, we must have [p[ ≤ 1 and [q[ ≤
¯
∆ or

1
2
Re ∆xu

i,j

≤ 1, and

1
2
Re ∆xv

i,j


¯

1/2
,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 189 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
which is a restriction on mesh size for given Re and velocity field.
Three difficulties:
1
As the Reynolds number Re increases, the grid sizes ∆x and ∆y must
decrease.
2
The velocities u

i,j
and v

i,j
vary throughout the domain and are unknown.
3
The central difference approximations for the first-order derivatives contribute
to the off-diagonal terms but not the main diagonal terms thereby adversely
affecting diagonal dominance.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 190 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing
In order to restore diagonal dominance, we use forward or backward differences for
the first-derivative terms depending upon the signs of the coefficients of the first
derivative terms, i.e. the velocities. For example, consider the u

∂u/∂x term:
1
If u

i,j
> 0, then using a backward difference
u

∂u
∂x
= u

i,j
u
i,j
−u
i−1,j
∆x
+O(∆x),
which gives a positive addition to the u
i,j
term to promote diagonal
dominance.
2
If u

i,j
< 0, then using a forward difference
u

∂u
∂x
= u

i,j
u
i+1,j
−u
i,j
∆x
+O(∆x),
which again gives a positive addition to the u
i,j
term to promote diagonal
dominance.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 191 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Similarly for the v

∂u/∂y term:
1
If v

i,j
> 0, then using a backward difference
v

∂u
∂y
= v

i,j
u
i,j
−u
i,j−1
∆y
+O(∆y).
2
If v

i,j
< 0, then using a forward difference
v

∂u
∂y
= v

i,j
u
i,j+1
−u
i,j
∆y
+O(∆y).
Let us consider diagonal dominance of the approximations to the x-derivative
terms in Burger’s equation (5.61) in the x-direction
T
x
=

2
u
∂x
2
−Re u
∂u
∂x
=
u
i+1,j
−2u
i,j
+u
i−1,j
(∆x)
2

Re u

i,j
∆x

u
i,j
−u
i−1,j
, u

i,j
> 0
u
i+1,j
−u
i,j
, u

i,j
< 0
;
therefore,
(∆x)
2
T
x
=

u
i+1,j
+ (1 +Re ∆xu

i,j
)u
i−1,j
−(2 +Re ∆xu

i,j
)u
i,j
, u

i,j
> 0
(1 −Re ∆xu

i,j
)u
i+1,j
+u
i−1,j
−(2 −Re ∆xu

i,j
)u
i,j
, u

i,j
< 0
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 192 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Therefore, if using ADI with splitting of x- and y-derivative terms, diagonal
dominance of the tridiagonal problems along lines of constant y requires that:
1
For u

i,j
> 0 (Re ∆xu

i,j
> 0):
[1[ +[1 +Re ∆xu

i,j
[ ≤ [ −(2 +Re ∆xu

i,j
)[
1 + 1 +Re ∆xu

i,j
= 2 +Re ∆xu

i,j
,
which is weakly diagonally dominant.
2
For u

i,j
< 0 (Re ∆xu

i,j
< 0):
[1[ +[1 −Re ∆xu

i,j
[ ≤ [ −(2 −Re ∆xu

i,j
)[
1 + 1 −Re ∆xu

i,j
= 2 −Re ∆xu

i,j
,
which is also weakly diagonally dominant.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 193 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Notes:
1
The same is true for the y-derivative terms when sweeping along lines of
constant x.
2
Updwind-downwind differencing forces diagonal dominance; therefore, the
iteration will always converge with no mesh restrictions.
3
The forward and backward differences used for the first-order derivatives are
only first-order accurate, i.e. the method is O(∆x, ∆y) accurate. To see the
potential affects of this error, consider the 1-D Burger’s equation
Re u
du
dx
=
d
2
u
dx
2
. (5.64)
Recall from section 3.2 that, for example, the first-order, backward-difference
approximation to the first-order derivative is

du
dx

i
=
u
i
−u
i−1
∆x
+
∆x
2

d
2
u
dx
2

i
+. . . ,
where we have included the truncation error.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 194 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
Substituting into (5.64) gives
Re u

i
¸
u
i
−u
i−1
∆x
+
∆x
2

d
2
u
dx
2

i
+. . .

=

d
2
u
dx
2

i
,
or
Re u
i
u
i
−u
i−1
∆x
=
¸
1 −
Re
2
∆xu

i

d
2
u
dx
2

i
.
Therefore, depending upon the values of Re, ∆x, and u

, the truncation
error from the first-derivative terms, which is not included in the numerical
solution, may be of the same order, or even larger than, the physical diffusion
term. This is often referred to as artificial or numerical diffusion, the effects
of which increase with increasing Reynolds number.
4
Remedies:
i) Can return to O(∆x
2
, ∆y
2
) accuracy using deferred correction in which we
use the approximate solution to evaluate the leading term of the truncation
error which is then added to the original discretized equation as a source term.
ii) Alternatively, we could use second-order accurate forward and backward
differences, but the resulting system of equations would no longer be
tridiagonal.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 195 / 454
Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms
5
Note that we have linearized the difference equation, not the differential
equation, in order to obtain a linear system of algebraic equations
⇒ The physical nonlinearity is still being solved for.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 196 / 454
Numerical Solutions of Parabolic Problems Introduction
Outline
6
Numerical Solutions of Parabolic Problems
Introduction
Explicit Methods
Euler Method (First-Order Explicit)
Richardson Method
DuFort-Frankel Method
Stability Analysis
Introduction
Numerical Stability Analysis
Implicit Methods
First-Order Implicit
Crank-Nicolson
Non-Linear Convective Problems
First-Order Explicit
Crank-Nicolson
Upwind-Downwind Differencing
Multidimensional Problems
First-Order Explicit Method
First-Order Implicit Method
ADI Method with Time Splitting
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 197 / 454
Numerical Solutions of Parabolic Problems Introduction
Outline (cont’d)
Factored ADI Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 198 / 454
Numerical Solutions of Parabolic Problems Introduction
Parabolic ⇒ preferred direction of propagation of solution:
1
time (unsteady problems)
2
spatial (some steady problems), e.g. steady duct flows and boundary-layer
flows.
Properties:
1
Initial-value problems, e.g. 1-D, unsteady, heat conduction (cf. elliptic ⇒
BVP)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 199 / 454
Numerical Solutions of Parabolic Problems Introduction
2
Numerical algorithm “marches” in preferred direction in step-by-step manner,
i.e. it is not necessary to keep solution at every time step (just previous
step(s)).
Consider the general linear, 1-D, unsteady equation
∂φ
∂t
= a(x, t)

2
φ
∂x
2
+b(x, t)
∂φ
∂x
+c(x, t)φ +d(x, t). (6.1)
A simple model problem for this is the unsteady, 1-D diffusion equation
∂φ
∂t
= α

2
φ
∂x
2
, (6.2)
where
φ = T ⇒ heat conduction
φ = u ⇒ momentum diffusion (due to viscosity)
φ = ω ⇒ vorticity diffusion
φ = c ⇒ mass diffusion (c = concentration)
Techniques developed for equation (6.2) can be used for equation (6.1).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 200 / 454
Numerical Solutions of Parabolic Problems Introduction
Methods of Solution:
1
Reduce partial differential equation to a set of ordinary differential equations
and solve, e.g. method of lines, predictor-corrector, Runge-Kutta, etc...
2
Finite-difference methods:
a) Explicit methods – obtain equation for φ at each mesh point.
b) Implicit methods – obtain set of algebraic equations for φ at all mesh points at
each ∆t.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 201 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
Outline
6
Numerical Solutions of Parabolic Problems
Introduction
Explicit Methods
Euler Method (First-Order Explicit)
Richardson Method
DuFort-Frankel Method
Stability Analysis
Introduction
Numerical Stability Analysis
Implicit Methods
First-Order Implicit
Crank-Nicolson
Non-Linear Convective Problems
First-Order Explicit
Crank-Nicolson
Upwind-Downwind Differencing
Multidimensional Problems
First-Order Explicit Method
First-Order Implicit Method
ADI Method with Time Splitting
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 202 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
Outline (cont’d)
Factored ADI Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 203 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
Explicit Methods ⇒ Spatial derivatives are all evaluated at previous time level(s),
i.e. single unknown φ
n+1
i
on left-hand-side.
Note that now the superscript n denotes the time step rather than the iteration
number.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 204 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
Euler Method (First-Order Explicit)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 205 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
First-order, forward difference for time derivative
∂φ
∂t
=
φ
n+1
i
−φ
n
i
∆t
+O(∆t).
Second-order, central difference for spatial derivatives at n
th
time level (known)

2
φ
∂x
2
=
φ
n
i+1
−2φ
n
i

n
i−1
(∆x)
2
+O(∆x
2
).
Substituting into (6.2)
φ
n+1
i
−φ
n
i
∆t
= α
φ
n
i+1
−2φ
n
i

n
i−1
(∆x)
2
,
and solving for φ
n+1
i
φ
n+1
i
= φ
n
i
+
α∆t
(∆x)
2

φ
n
i+1
−2φ
n
i

n
i−1

φ
n+1
i
= (1 −2s)φ
n
i
+s

φ
n
i+1

n
i−1

, i = 2, . . . , I,
(6.3)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 206 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
where s = α∆t/(∆x)
2
.
Notes:
1
Equation (6.3) is an explicit equation for φ
n+1
i
at the (n + 1)
st
time step.
2
Method is second-order accurate in space and first-order accurate in time.
3
Time steps ∆t may be varied from step-to-step.
4
Restrictions on ∆t and ∆x for Euler method applied to 1-D diffusion
equation to remain stable (see section 6.3):
s =
α∆t
(∆x)
2

1
2
⇒ stable (very restrictive).
s =
α∆t
(∆x)
2
>
1
2
⇒ unstable.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 207 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
Richardson Method
We want to improve on the temporal accuracy of the Euler method; therefore, we
use a central difference for the time derivative.
φ
n+1
i
−φ
n−1
i
2∆t
= α
φ
n
i+1
−2φ
n
i

n
i−1
(∆x)
2
φ
n+1
i
= φ
n−1
i
+ 2s

φ
n
i+1
−2φ
n
i

n
i−1

, i = 2, . . . , I. (6.4)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 208 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
Notes:
1
Second-order accurate in space and time.
2
Must keep ∆t constant and requires starting method (need φ
i
at two time
steps).
3
Unconditionally unstable for s > 0 ⇒ Do not use.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 209 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
DuFort-Frankel Method
In order to maintain second-order accuracy, but improve stability, let us modify the
Richardson method by taking an average between time levels for φ
n
i
. To devise
such an approximation, consider the Taylor series approximation at t
n+1
about t
n
φ
n+1
i
= φ
n
i
+ ∆t

∂φ
∂t

n
i
+
∆t
2
2


2
φ
∂t
2

n
i
+ .
Similarly, consider the Taylor series approximation at t
n−1
about t
n
φ
n−1
i
= φ
n
i
−∆t

∂φ
∂t

n
i
+
∆t
2
2


2
φ
∂t
2

n
i
+ .
Adding these Taylor series together gives
φ
n+1
i

n−1
i
= 2φ
n
i
+ ∆t
2


2
φ
∂t
2

n
i
+ ,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 210 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
and solving for φ
n
i
leads to
φ
n
i
=
1
2

φ
n+1
i

n−1
i


1
2
∆t
2


2
φ
∂t
2

n
i
+ . (6.5)
Therefore, averaging between time levels in this manner is O(∆t
2
) accurate.
Substituting into the difference equation (6.4) from Richardson’s method gives
φ
n+1
i
= φ
n−1
i
+ 2s

φ
n
i+1

φ
n+1
i

n−1
i


n
i−1

(1 + 2s)φ
n+1
i
= (1 −2s)φ
n−1
i
+ 2s

φ
n
i+1

n
i−1

φ
n+1
i
=
1 −2s
1 + 2s
φ
n−1
i
+
2s
1 + 2s

φ
n
i+1

n
i−1

, i = 2, . . . , I. (6.6)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 211 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
However, let us consider the consistency of this approximation. Including the
truncation errors of each approximation, the 1-D, unsteady diffusion equation is
approximated as in the Richardson method (with central differences for the
temporal and spacial derivatives)
∂φ
∂t
−α

2
φ
∂x
2
=
φ
n+1
i
−φ
n−1
i
2∆t

∆t
2
6


3
φ
∂t
3

n
i
+
−α
φ
n
i+1
−2φ
n
i

n
i−1
∆x
2
+
α∆x
2
12


4
φ
∂x
4

n
i
+ .
Substituting the time-averaging equation (6.5) for φ
n
i
to implement the
DuFort-Frankel method leads to
∂φ
∂t
−α

2
φ
∂x
2
=
φ
n+1
i
−φ
n−1
i
2∆t

α
∆x
2

φ
n
i+1

n
i−1

φ
n+1
i

n−1
i


α∆t
2
∆x
2


2
φ
∂t
2

n
i

∆t
2
6


3
φ
∂t
3

n
i
+
α∆x
2
12


4
φ
∂x
4

n
i
+ .
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 212 / 454
Numerical Solutions of Parabolic Problems Explicit Methods
For consistency, all of the truncation error terms must go to zero as
∆t →0, ∆x →0. That is, the difference equation must reduce to the differential
equation as ∆x, ∆t →0. The second and third truncation error terms do so;
however, the first term requires that ∆t →0 faster than ∆x →0, i.e. ∆t << ∆x,
for consistency. Because this is not the case in general, the DuFort-Frankel
method is considered inconsistent.
Notes:
1
Second-order accurate in space.
2
Must keep ∆t constant and starting method necessary.
3
Method is unconditionally stable for any s = α∆t/(∆x)
2
.
4
The method is inconsistent ⇒ Do not use.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 213 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Outline
6
Numerical Solutions of Parabolic Problems
Introduction
Explicit Methods
Euler Method (First-Order Explicit)
Richardson Method
DuFort-Frankel Method
Stability Analysis
Introduction
Numerical Stability Analysis
Implicit Methods
First-Order Implicit
Crank-Nicolson
Non-Linear Convective Problems
First-Order Explicit
Crank-Nicolson
Upwind-Downwind Differencing
Multidimensional Problems
First-Order Explicit Method
First-Order Implicit Method
ADI Method with Time Splitting
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 214 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Outline (cont’d)
Factored ADI Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 215 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Introduction
Real flows ⇒ small disturbances, e.g. imperfections, vibrations, etc...
Numerical solutions ⇒ small errors, e.g. truncation, round-off, etc...
Issue → What happens to small disturbances/errors as flow and/or solution
evolves in time?
Decay ⇒ stable (disturbances/errors are damped out).
Grow ⇒ unstable (disturbances/errors are amplified).
Two possible sources of instability in CFD:
1
Hydrodynamic instability – the flow itself is inherently unstable (see, for
example, Drazin & Reid)
→ This is real, i.e. physical
2
Numerical instability – the numerical algorithm magnifies small errors
→ This is not physical ⇒ Need a new method.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 216 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Difficulty → In CFD both are manifest in similar ways, i.e. oscillatory solutions;
therefore, it is often difficult to determine whether oscillatory numerical solutions
are a result of a numerical or hydrodynamic instability.
→ For an example of this, see “Supersonic Boundary-Layer Flow Over a
Compression Ramp,” Cassel, Ruban & Walker, JFM 1995, 1996.
Hydrodynamic vs. Numerical Instability:
1
Hydrodynamic stability analysis (Section 9 and MMAE 514):
Often difficult to perform.
Assumptions must often be made, e.g. parallel flow.
Can provide conclusive evidence for hydrodynamic instability (particularly if
confirmed by analytical or numerical results). For example, in supersonic flow
over a ramp, the Rayleigh Fjørtoft’s theorems are necessary conditions that
can be tested for.
2
Numerical stability analysis:
Often gives guidance, but not always conclusive for complex problems.
Note: Just because a numerical solution does not become oscillatory does not
mean that no physical instabilities are present! There may not be sufficient
resolution.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 217 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Numerical Stability Analysis
Two methods:
1) Matrix Method:
More rigorous → evaluates stability of entire scheme, including treatment of
boundary conditions.
More difficult → involves determining eigenvalues of a large matrix.
2) von Neumann (Fourier Series) Method:
For linear initial-value problems with constant coefficients.
⇒ More restrictive, i.e. nonlinear problems must be linearized.
Does not account for boundary conditions.
Most commonly used.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 218 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Matrix Method
Denote the exact solution of the difference equation at t = t
n
by
˜
φ
n
i
; then the
error is
e
n
i
= φ
n
i

˜
φ
n
i
, i = 2, . . . , I, (6.7)
where φ
n
i
is the approximate solution at t = t
n
. Consider the
first-order explicit (Euler) method given by equation (6.3), which is repeated here
φ
n+1
i
= (1 −2s)φ
n
i
+s(φ
n
i+1

n
i−1
), (6.8)
where s = α∆t/∆x
2
. Both φ
n
i
and
˜
φ
n
i
satisfy this equation; thus, the error
satisfies the same equation
e
n+1
i
= (1 −2s)e
n
i
+s(e
n
i+1
+e
n
i−1
), i = 2, . . . , I. (6.9)
This may be written in matrix form as
e
n+1
= Ae
n
, n = 0, 1, 2, . . . . (6.10)
Thus, we perform a matrix multiply to advance each time step (cf. matrix form for
iterative methods).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 219 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
The (I −1) (I −1) matrix A and the vector e
n
are
A =

1 −2s s 0 0 0
s 1 −2s s 0 0
0 s 1 −2s 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 1 −2s s
0 0 0 s 1 −2s
¸
¸
¸
¸
¸
¸
¸
¸
¸
, e
n
=

e
n
2
e
n
3
e
n
4
.
.
.
e
n
I−1
e
n
I
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
Note that if φ is specified at the boundaries, then the error is zero there, i.e.
e
n
1
= e
n
I+1
= 0.
The method is stable if the eigenvalues λ
j
of the matrix A are such that

j
[ ≤ 1 for all λ
j
, (6.11)
i.e. ρ ≤ 1, in which case the error will not grow.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 220 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Because A is tridiagonal with constant elements along each diagonal, the
eigenvalues are (see section 3.5)
λ
j
= 1 −(4s) sin
2


2I

, j = 1, . . . , I −1. (6.12)
Note that there are (I −1) eigenvalues of the (I −1) (I −1) matrix A. For
equation (6.11) to hold,
−1 ≤ 1 −(4s) sin
2


2I

≤ 1.
The right inequality is true for all j (s > 0 and sin
2
() > 0). The left inequality is
true if
1 −(4s) sin
2


2I

≥ −1
−(4s) sin
2


2I

≥ −2
s sin
2


2I


1
2
∴ true for all j if s ≤
1
2
.
¸
0 < sin
2


2I

< 1

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 221 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Thus, the Euler method is stable for s ≤ 1/2.
Notes:
Whereas here we only needed eigenvalues for a tridiagonal matrix, in general
we need to find the eigenvalues of a (I + 1) (I + 1) matrix.
The effect of different boundary conditions are reflected in A and, therefore,
the resulting eigenvalues.
This is the same method used to obtain convergence properties of iterative
methods for elliptic problems. Recall that the spectral radius ρ(I, J) is the
modulus of the largest eigenvalue of the iteration matrix
φ
n+1
= Aφ
n
,
where here n indicates successive iterates rather than time steps. If ρ ≤ 1,
then the iterative procedure converges. In iterative methods, however, we are
concerned not only with whether they will converge or not, but the rate at
which they converge, e.g. Gauss-Seidel vs. Jacobi.
⇒ Minimize ρ for maximum convergence rate.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 222 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
Parabolic problems ⇒ We only require eigenvalues to be less than or equal to
one for stability (it is not necessary to minimize).
⇒ It is often advantageous to use a time-marching (parabolic) scheme for solving
steady (elliptic) problems due to the less restrictive stability criterion. This is
sometimes referred to as the pseudo-transient method, e.g.

2
φ = 0 →
∂φ
∂t
+∇
2
φ = 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 223 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
von Neumann Method (Fourier Analysis)
We expand the errors along grid lines at one time level as a Fourier series. Then
we determine if the Fourier modes decay or amplify in time.
Expanding the error at t = 0 (n = 0)
e(x, 0) =
I−1
¸
m=1
e
m
(x, 0) =
I−1
¸
m=1
a
m
(0)e

m
x
, (6.13)
where a
m
(0) are the amplitudes of the Fourier modes, θ
m
= mπ, and here
i =

−1. At a later time t
e(x, t) =
I−1
¸
m=1
e
m
(x, t) =
I−1
¸
m=1
a
m
(t)e

m
x
. (6.14)
We want to determine how a
m
(t) behaves with time.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 224 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
To do this, define the gain of mode m, G
m
(x, t), as
G
m
(x, t) =
e
m
(x, t)
e
m
(x, t −∆t)
=
a
m
(t)
a
m
(t −∆t)
,
which is the amplification factor for the m
th
mode during one time step.
Therefore, the error will not grow if [G
m
[ ≤ 1 for all m, i.e. the method is stable.
If it takes n time steps to get to time t, then the amplification after n time steps is
(G
m
)
n
=
a
m
(t)
a
m
(t −∆t)
a
m
(t −∆t)
a
m
(t −2∆t)
. . .
a
m
(∆t)
a
m
(0)
=
a
m
(t)
a
m
(0)
,
where (G
m
)
n
is the n
th
power of G
m
.
The von Neumann method consists of seeking a solution of the form (6.14), with
a
m
(t) = (G
m
)
n
a
m
(0), of the error equation corresponding to the difference
equation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 225 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
For the first-order explicit (Euler) method, the error equation (4.8) is (use index j
instead of i)
e
n+1
j
= (1 −2s)e
n
j
+s(e
n
j+1
+e
n
j−1
), j = 2, . . . , I. (6.15)
This equation is linear; therefore, each mode m must satisfy the equation
independently. Thus, substituting (6.14) with a
m
(t) = (G
m
)
n
a
m
(0) into equation
(6.15) gives (canceling a
m
(0) in each term)
(G
m
)
n+1
e

m
x
= (1 −2s)(G
m
)
n
e

m
x
+s(G
m
)
n

e

m
(x+∆x)
+e

m
(x−∆x)

.
Dividing by (G
m
)
n
e

m
x
we have
G
m
= (1 −2s) +s

e

m
∆x
+e
−iθ
m
∆x

= 1 −2s [1 −cos(θ
m
∆x)] [cos(ax) = (e
iax
+e
−iax
)/2]
G
m
= 1 −(4s) sin
2

θ
m
∆x
2

[sin
2
x = [1 −cos(2x)]/2]
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 226 / 454
Numerical Solutions of Parabolic Problems Stability Analysis
For stability, [G
m
[ ≤ 1; therefore,
−1 ≤ 1 −(4s) sin
2

θ
m
∆x
2

≤ 1 for all θ
m
= mπ.
The right inequality holds for all m and s > 0, i.e.
0 ≤ sin
2

θ
m
∆x
2

≤ 1.
The left inequality holds if s ≤ 1/2 (see matrix method). Thus, for this case we
obtain the same stability criterion as from the matrix method.
Note that [G
m
[ is the modulus; thus, if we have a complex number, [G
m
[ equals
the square root of the sum of the squares of the real and imaginary parts.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 227 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
Outline
6
Numerical Solutions of Parabolic Problems
Introduction
Explicit Methods
Euler Method (First-Order Explicit)
Richardson Method
DuFort-Frankel Method
Stability Analysis
Introduction
Numerical Stability Analysis
Implicit Methods
First-Order Implicit
Crank-Nicolson
Non-Linear Convective Problems
First-Order Explicit
Crank-Nicolson
Upwind-Downwind Differencing
Multidimensional Problems
First-Order Explicit Method
First-Order Implicit Method
ADI Method with Time Splitting
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 228 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
Outline (cont’d)
Factored ADI Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 229 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
We can improve on the stability properties of explicit methods by solving implicitly
for more information at the new time level.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 230 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
First-Order Implicit
Recall the first-order explicit method:
Central difference for spatial derivatives on the n
th
(previous) time level.
First-order forward difference for time derivative.
First-order implicit:
Central difference for spatial derivatives on the (n + 1)
st
(current) time level.
First-order backward difference for time derivative.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 231 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
For the unsteady, 1-D diffusion equation, this gives
φ
n+1
j
−φ
n
j
∆t
= α
φ
n+1
j+1
−2φ
n+1
j

n+1
j−1
∆x
2
+O(∆t, ∆x
2
).
Thus,

n+1
j+1
−(1 + 2s)φ
n+1
j
+sφ
n+1
j−1
= −φ
n
j
, j = 2, . . . , I, (6.16)
which is a tridiagonal problem for φ
n+1
j
at the current time level. Note that it is
strongly diagonally dominant.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 232 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
von Neumann Stability Analysis:
Error satisfies equation (6.16)
se
n+1
j+1
−(1 + 2s)e
n+1
j
+se
n+1
j−1
= −e
n
j
, (6.17)
We expand the error at time t as
e(x, t) =
I−1
¸
m=1
(G
m
)
n
a
m
(0)e

m
x
, θ
m
= mπ. (6.18)
Substituting into (6.17) gives (canceling a
m
(0) in each term)
s(G
m
)
n+1
e

m
(x+∆x)
−(1 + 2s)(G
m
)
n+1
e

m
x
+s(G
m
)
n+1
e

m
(x−∆x)
= −(G
m
)
n
e

m
x

s

e

m
∆x
+e
−iθ
m
∆x

−(1 + 2s)

G
m
= −1
[(2s) cos(θ
m
∆x) −(1 + 2s)] G
m
= −1
¦1 + 2s [1 −cos(θ
m
∆x)]¦ G
m
= 1
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 233 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
∴ G
m
=
¸
1 + (4s) sin
2

θ
m
∆x
2

−1
.
Thus, the method is stable if [G
m
[ ≤ 1. Note that
1 + (4s) sin
2

θ
m
∆x
2

> 1
for all θ
m
and s > 0. Therefore, G
m
< 1, and the method is
unconditionally stable.
Notes:
1) The first-order implicit method is only O(∆t) accurate.
2) There are more computations required per time step than for explicit
methods. However, one can typically use larger time steps (only limited by
temporal resolution required, not stability).
⇒ For explicit methods, we must choose the time step ∆t for both accuracy and
stability, whereas for implicit methods, we must only be concerned with
accuracy.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 234 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
Crank-Nicolson
We prefer second-order accuracy in time; therefore, consider approximating the
equation midway between time levels.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 235 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
For the unsteady, 1-D diffusion equation, this is accomplished as follows
φ
n+1
i
−φ
n
i
∆t
+O(∆t
2
) =
α
2
¸

2
φ
n+1
∂x
2
+

2
φ
n
∂x
2

+O(∆t
2
)
φ
n+1
i
−φ
n
i
∆t
=
α
2
¸
φ
n+1
i+1
−2φ
n+1
i

n+1
i−1
∆x
2
+
φ
n
i+1
−2φ
n
i

n
i−1
∆x
2
¸
.
Later we will show that averaging the diffusion terms across time levels in this
manner is second-order accurate in time. Writing the difference equation in
tridiagonal form, we have

n+1
i+1
−2(1 +s)φ
n+1
i
+sφ
n+1
i−1
= −sφ
n
i+1
−2(1 −s)φ
n
i
−sφ
n
i−1
, i = 2, . . . , I,
(6.19)
which we solve for φ
n+1
i
at the current time level.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 236 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
Notes:
1) Second-order accurate in space and time.
2) Unconditionally stable for all s.
3) Apply derivative boundary conditions at current time level.
4) Very popular scheme for parabolic problems.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 237 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
Averaging Across Time Levels:
Here we will again show that averaging across time levels as in the Crank-Nicolson
method is second-order accurate in time. In doing so, we will illustrate a method
to determine the accuracy of a specified approximation (cf. Taylor series
expansions in section 4).
Consider averaging a quantity φ
i
midway between time levels as follows
φ
n+1/2
i
=
1
2

n+1
i

n
i
) +T.E. (6.20)
We seek an expression of the form φ
n+1/2
i
=
˜
φ +T.E.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 238 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
Let us expand each term as a Taylor series about (x
i
, t
n+1/2
):
φ
n+1
i
=

¸
k=0
1
k!

∆t
2
D
t

k
˜
φ,
φ
n
i
=

¸
k=0
1
k!


∆t
2
D
t

k
˜
φ =

¸
k=0
(−1)
k
k!

∆t
2
D
t

k
˜
φ,
where D
t
= ∂/∂t, and
˜
φ is the exact value of φ
n+1/2
i
midway between time levels,
i.e. φ
n+1/2
i
=
˜
φ +T.E.. Substituting these expansions into (6.20) gives
φ
n+1/2
i
=
1
2

¸
k=0
1
k!

1 + (−1)
k

∆t
2
D
t

k
˜
φ.
Note that
1 + (−1)
k
=

0, k = 1, 3, 5, . . .
2, k = 0, 2, 4, . . .
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 239 / 454
Numerical Solutions of Parabolic Problems Implicit Methods
Let k = 2m; thus,
φ
n+1/2
i
=

¸
m=0
1
(2m)!

∆t
2
D
t

2m
˜
φ
φ
n+1/2
i
=
˜
φ +
1
2!

∆t
2
D
t

2
˜
φ +
1
4!

∆t
2
D
t

4
˜
φ +. . .
.
The first term in the expansion (m = 0) is the exact value and the second term
(m = 1) gives the truncation error of the approximation. This truncation error
term is
1
8
∆t
2

2
˜
φ
∂t
2
;
therefore, the approximation (6.20) is second-order accurate, i.e.
φ
n+1/2
i
=
1
2

n+1
i

n
i
) +O(∆t
2
).
This shows that averaging across time levels gives an O(∆t
2
) approximation of φ
i
at the mid-time level t
n+1/2
. Note that this agrees with the result (6.5) except for
the constant factor (we averaged across two time levels for the DuFort-Frankel
method).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 240 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Outline
6
Numerical Solutions of Parabolic Problems
Introduction
Explicit Methods
Euler Method (First-Order Explicit)
Richardson Method
DuFort-Frankel Method
Stability Analysis
Introduction
Numerical Stability Analysis
Implicit Methods
First-Order Implicit
Crank-Nicolson
Non-Linear Convective Problems
First-Order Explicit
Crank-Nicolson
Upwind-Downwind Differencing
Multidimensional Problems
First-Order Explicit Method
First-Order Implicit Method
ADI Method with Time Splitting
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 241 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Outline (cont’d)
Factored ADI Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 242 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Consider the unsteady, 1-D Burger’s equation (1-D, unsteady diffusion equation
with convection terms)
∂u
∂t
= ν

2
u
∂x
2
−u
∂u
∂x
, (6.21)
where ν is the viscosity. We want to consider how the nonlinear convection term
is treated in the various schemes.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 243 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
First-Order Explicit
Approximating spatial derivatives at the previous time level, and using a forward
difference in time, we have
u
n+1
i
−u
n
i
∆t
= ν
u
n
i+1
−2u
n
i
+u
n
i−1
∆x
2
−u
n
i
u
n
i+1
−u
n
i−1
2∆x
+O(∆x
2
, ∆t),
where the u
n
i
in the convection term is known from the previous time level.
Writing in explicit form leads to
u
n+1
i
=

s −
C
i
2

u
n
i+1
+ (1 −2s)u
n
i
+

s +
C
i
2

u
n
i−1
,
where s =
ν∆t
∆x
2
and C
i
=
u
n
i
∆t
∆x
= Courant number. For stability, this method
requires that 2 ≤ Re
∆x
≤ 2/C
i
, where Re
∆x
= u
n
i
∆x/ν = mesh Reynolds
number. This is very restrictive.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 244 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Crank-Nicolson
u
n+1
i
−u
n
i
∆t
=
ν
2
¸

2
u
n+1
∂x
2
+

2
u
n
∂x
2


1
2
u
n+1/2
¸
∂u
n+1
∂x
+
∂u
n
∂x

=
ν
2∆x
2

u
n+1
i+1
−2u
n+1
i
+u
n+1
i−1
+u
n
i+1
−2u
n
i
+u
n
i−1


u
n+1/2
i
4∆x

u
n+1
i+1
−u
n+1
i−1
+u
n
i+1
−u
n
i−1

+O(∆x
2
, ∆t
2
),
(6.22)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 245 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
where
u
n+1/2
i
=
1
2
(u
n+1
i
+u
n
i
) +O(∆t
2
). (6.23)
Thus, this results in the implicit finite difference equation

s −
C
i
2

u
n+1
i+1
+ 2(1 +s)u
n+1
i

s +
C
i
2

u
n+1
i−1
=

s −
C
i
2

u
n
i+1
+ 2(1 −s)u
n
i
+

s +
C
i
2

u
n
i−1
,
(6.24)
where here C
i
=
u
n+1/2
i
∆t
∆x
, but we do not know u
n+1/2
i
yet, i.e. it is nonlinear.
Therefore, this procedure requires iteration at each time step:
1) Begin with u
n+1/2
i
= u
n
i
, i.e. use u
i
from previous time step as initial guess
at current time step.
2) Compute update for u
n+1
i
, i = 1, . . . , I + 1, using equation (6.24).
3) Update u
n+1/2
i
=
1
2
(u
n+1
i
+u
n
i
).
4) Repeat until u
n+1
i
converges for all i.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 246 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Notes:
1) It typically requires less than ten iterations to converge at each time step; if
more are required, then the time step ∆t is too large.
2) In elliptic problems we use Picard iteration because we only care about the
final converged solution, whereas here we want an accurate solution at each
time step.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 247 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Upwind-Downwind Differencing
Consider the first-order convective terms in the Crank-Nicolson approximation, i.e.
u
n+1/2
∂u
n+1/2
∂x
.
If u
n+1/2
> 0, then approximate ∂u
n+1/2
/∂x as follows:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 248 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Then
∂u
∂x
=
1
2
¸
∂u
n+1
∂x

i−1/2
+
∂u
n
∂x

i+1/2
¸
+O(∆t
2
)
∂u
∂x
=
1
2
¸
u
n+1
i
−u
n+1
i−1
∆x
+
u
n
i+1
−u
n
i
∆x
¸
+O(∆x
2
, ∆t
2
),
(6.25)
Notes:
1) Although the finite-difference approximation at the current time level appears
to be a backward difference and that at the previous time level appears to be
a forward difference, they are really central differences evaluated at
half-points in the grid.
2) The fact that this approximation is O(∆x
2
, ∆t
2
) accurate will be shown at
the end of this section.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 249 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
If u
n+1/2
< 0, then approximate ∂u
n+1/2
/∂x as follows:
Now we have
∂u
∂x
=
1
2
¸
∂u
n+1
∂x

i+1/2
+
∂u
n
∂x

i−1/2
¸
+O(∆t
2
)
∂u
∂x
=
1
2
¸
u
n+1
i+1
−u
n+1
i
∆x
+
u
n
i
−u
n
i−1
∆x
¸
+O(∆x
2
, ∆t
2
).
(6.26)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 250 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Use (6.25) and (6.26) in equation (6.22) rather than central differences
u
n+1
i
−u
n
i
=
1
2
s

u
n+1
i+1
−2u
n+1
i
+u
n+1
i−1
+u
n
i+1
−2u
n
i
+u
n
i−1


1
2
C
i

u
n+1
i
−u
n+1
i−1
+u
n
i+1
−u
n
i
, u
n+1/2
i
> 0
u
n+1
i+1
−u
n+1
i
+u
n
i
−u
n
i−1
, u
n+1/2
i
< 0
.
This gives the tridiagonal problem
−su
n+1
i+1
+ 2(1 +s)u
n+1
i
−su
n+1
i−1
+C
i

u
n+1
i
−u
n+1
i−1
u
n+1
i+1
−u
n+1
i
¸
= su
n
i+1
+ 2(1 −s)u
n
i
+su
n
i−1
−C
i

u
n
i+1
−u
n
i
u
n
i
−u
n
i−1
¸
, u
n+1/2
i
> 0
, u
n+1/2
i
< 0
.
(6.27)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 251 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Notes:
1) Equation (6.27) is diagonally dominant for all s and C
i
(note that C
i
may be
positive or negative). Be sure to check this for different equations, i.e. for
other than the one-dimensional Burger’s equation.
2) Iteration at each time step may require under-relaxation on u
i
; therefore,
u
k+1
i
= ωu
k+1/2
i
+ (1 −ω)u
k
i
, k = 0, 1, 2, . . . ,
where 0 < ω < 1.
3) As shown below, this method is (almost) O(∆x
2
, ∆t
2
) accurate.
Truncation Error of Crank-Nicolson with Upwind-Downwind Differencing:
We have used second-order accurate central differences for the ∂u/∂t and

2
u/∂x
2
terms. Therefore, consider the u
n+1/2
∂u
n+1/2
∂x term with u
n+1/2
< 0
from (6.26)
∂u
∂x
=
1
2∆x
(u
n+1
i+1
−u
n+1
i
+u
n
i
−u
n
i−1
) +T.E. (6.28)
We would like to determine the order of accuracy, i.e. the truncation error T.E.,
of this approximation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 252 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Here, D
t
= ∂/∂t, D
x
= ∂/∂x, and ˜ u is the exact value of u
n+1/2
i
midway
between time levels.
We seek an expression of the form
∂u
∂x
=
∂˜ u
∂x
+T.E.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 253 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Expanding each term in equation (6.28) as a 2-D Taylor series about (x
i
, t
n+1/2
):
u
n+1
i+1
=

¸
k=0
1
k!

∆t
2
D
t
+ ∆xD
x

k
˜ u,
u
n+1
i
=

¸
k=0
1
k!

∆t
2
D
t

k
˜ u,
u
n
i
=

¸
k=0
1
k!


∆t
2
D
t

k
˜ u =

¸
k=0
(−1)
k
k!

∆t
2
D
t

k
˜ u,
u
n
i−1
=

¸
k=0
1
k!


∆t
2
D
t
−∆xD
x

k
˜ u =

¸
k=0
(−1)
k
k!

∆t
2
D
t
+ ∆xD
x

k
˜ u,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 254 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Substituting these expansions into (6.28) gives
∂u
∂x
=
1
2∆x

¸
k=0
1
k!

1 −(−1)
k

∆t
2
D
t
+ ∆xD
x

k
+

−1 + (−1)
k

∆t
2
D
t

k
¸
˜ u
∂u
∂x
=
1
2∆x

¸
k=0
1 + (−1)
k+1
k!
¸

∆t
2
D
t
+ ∆xD
x

k

∆t
2
D
t

k
¸
˜ u
Note that
1 + (−1)
k+1
=

0, k = 0, 2, 4, . . .
2, k = 1, 3, 5, . . .
.
Therefore, let k = 2l + 1; thus,
∂u
∂x
=
1
∆x

¸
l=0
1
(2l + 1)!
¸

∆t
2
D
t
+ ∆xD
x

2l+1

∆t
2
D
t

2l+1
¸
˜ u.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 255 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Recall the binomial theorem
(a +b)
k
=
k
¸
m=0

k
m

a
k−m
b
m
,
where

k
m

are the binomial coefficients

k
m

=
k!
m!(k −m)!
(0! = 1).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 256 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
Thus,
∂u
∂x
=
1
∆x

¸
l=0
1
(2l + 1)!
¸
2l+1
¸
m=0

2l + 1
m

∆t
2
D
t

2l+1−m
(∆xD
x
)
m

∆t
2
D
t

2l+1
¸
˜ u,
=
1
∆x

¸
l=0
1
(2l + 1)!
¸
2l+1
¸
m=1

2l + 1
m

∆t
2
D
t

2l−m+1
(∆xD
x
)
m
+

2l + 1
0

∆t
2
D
t

2l+1

∆t
2
D
t

2l+1
¸
˜ u,
=

¸
l=0
1
(2l + 1)!
2l+1
¸
m=1
(2l + 1)!
m!(2l −m+ 1)!

∆t
2
D
t

2l−m+1
(∆x)
m−1
(D
x
)
m
˜ u,
∂u
∂x
=
∂˜ u
∂x
+

¸
l=1
2l+1
¸
m=1
1
m!(2l −m+ 1)!

∆t
2
D
t

2l−m+1
(∆x)
m−1
(D
x
)
m
˜ u.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 257 / 454
Numerical Solutions of Parabolic Problems Non-Linear Convective Problems
To obtain the truncation error, consider the l = 1 term (m = 1, 2, 3)
1
1!2!

∆t
2

2
D
2
t
D
x
˜ u +
1
2!1!

∆t
2

∆xD
t
D
2
x
˜ u +
1
3!1!
∆x
2
D
3
x
˜ u.
Therefore, the truncation error is
O(∆t
2
, ∆t∆x, ∆x
2
).
Thus, if ∆t < ∆x then the approximation is O(∆x
2
) accurate, and if ∆t > ∆x
then the approximation is O(∆t
2
) accurate. This is better than O(∆x) or O(∆t),
but strictly speaking it is not O(∆t
2
, ∆x
2
).
Similarly, the v∂u/∂y term has truncation error
O(∆t
2
, ∆t∆y, ∆y
2
).
The loss of accuracy is due to the diagonal averaging across time levels.
Note:
1
Method is unconditionally stable.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 258 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Outline
6
Numerical Solutions of Parabolic Problems
Introduction
Explicit Methods
Euler Method (First-Order Explicit)
Richardson Method
DuFort-Frankel Method
Stability Analysis
Introduction
Numerical Stability Analysis
Implicit Methods
First-Order Implicit
Crank-Nicolson
Non-Linear Convective Problems
First-Order Explicit
Crank-Nicolson
Upwind-Downwind Differencing
Multidimensional Problems
First-Order Explicit Method
First-Order Implicit Method
ADI Method with Time Splitting
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 259 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Outline (cont’d)
Factored ADI Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 260 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Consider the unsteady, 2-D diffusion equation
∂φ
∂t
= α
¸

2
φ
∂x
2
+

2
φ
∂y
2

, φ = φ(x, y, t), (6.29)
with initial condition
φ(x, y, 0) = φ
0
(x, y) at t = 0, (6.30)
and boundary conditions (Dirichlet, Neumann or mixed) on a closed contour C
enclosing the domain. We discretize as follows (t is normal to x −y plane):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 261 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
First-Order Explicit Method
Approximating equation (6.29) using a forward difference in time and central
differences in space at the previous time level gives
φ
n+1
i,j
−φ
n
i,j
∆t
= α
¸
φ
n
i+1,j
−2φ
n
i,j

n
i−1,j
(∆x)
2
+
φ
n
i,j+1
−2φ
n
i,j

n
i,j−1
(∆y)
2

+O(∆t, ∆x
2
, ∆y
2
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 262 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Therefore, solving for the only unknown gives the explicit expression
φ
n+1
i,j
= (1 −2s
x
−2s
y

n
i,j
+s
x

n
i+1,j

n
i−1,j
) +s
y

n
i,j+1

n
i,j−1
), (6.31)
where s
x
= α∆t/(∆x)
2
and s
y
= α∆t/(∆y)
2
.
For numerical stability, a von Neumann stability analysis requires that
s
x
+s
y

1
2
.
Thus, for example if ∆x = ∆y, i.e. s
x
= s
y
= s, we must have
s ≤
1
4
,
which is even more restrictive than for the 1-D diffusion equation where s ≤
1
2
for
stability.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 263 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
First-Order Implicit Method
Applying a backward difference in time and central differences in space at the
current time level leads to the implicit expression
(1 + 2s
x
+ 2s
y

n+1
i,j
−s
x

n+1
i+1,j

n+1
i−1,j
) −s
y

n+1
i,j+1

n+1
i,j−1
) = φ
n
i,j
. (6.32)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 264 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Notes:
1
Unconditionally stable for all s
x
and s
y
.
2
Crank-Nicolson could be used to obtain second-order accuracy in time. It
produces a similar implicit equation, but with more terms on the
right-hand-side, i.e. evaluated at the previous time step.
3
Produces a banded matrix (with five unknowns) that is difficult to solve
efficiently.
4
Alternatively, we could split each time step into two half steps, called ADI
with time splitting, resulting in two sets of tridiagonal problems per time step:
Step 1: Solve implicitly for terms associated with one coordinate direction.
Step 2: Solve implicitly for terms associated with other coordinate direction.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 265 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
ADI Method with Time Splitting (Fractional-Step Method)
As mentioned above, we split each time step into two half-time steps as follows:
1
Sweep along lines of constant y during the first half step.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 266 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
φ
n+1/2
i,j
−φ
n
i,j
∆t/2
= α
¸
φ
n+1/2
i+1,j
−2φ
n+1/2
i,j

n+1/2
i−1,j
(∆x)
2
+
φ
n
i,j+1
−2φ
n
i,j

n
i,j−1
(∆y)
2
¸
.
(6.33)
Therefore,
1
2
s
x
φ
n+1/2
i+1,j
−(1+s
x

n+1/2
i,j
+
1
2
s
x
φ
n+1/2
i−1,j
= −
1
2
s
y
φ
n
i,j+1
−(1−s
y

n
i,j

1
2
s
y
φ
n
i,j−1
.
(6.34)
The tridiagonal problems (6.34) are solved for φ
n+1/2
i,j
, i = 1, . . . , I + 1,
j = 1, . . . , J + 1, at the intermediate time level.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 267 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
2
Sweep along lines of constant x during the second half step.
φ
n+1
i,j
−φ
n+1/2
i,j
∆t/2
= α
¸
φ
n+1/2
i+1,j
−2φ
n+1/2
i,j

n+1/2
i−1,j
(∆x)
2
+
φ
n+1
i,j+1
−2φ
n+1
i,j

n+1
i,j−1
(∆y)
2
¸
.
(6.35)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 268 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Therefore,
1
2
s
y
φ
n+1
i,j+1
−(1+s
y

n+1
i,j
+
1
2
s
y
φ
n+1
i,j−1
= −
1
2
s
x
φ
n+1/2
i+1,j
−(1−s
x

n+1/2
i,j

1
2
s
x
φ
n+1/2
i−1,j
.
(6.36)
The tridiagonal problems (6.36) are solved for φ
n+1
i,j
, i = 1, . . . , I + 1,
j = 1, . . . , J + 1, at the current time level.
Notes:
1
Method is O(∆t
2
, ∆x
2
, ∆y
2
).
2
Requires boundary conditions at the intermediate time level n + 1/2 for
equation (6.34).
For example, if the boundary condition at x = 0 is Dirichlet as follows
φ(0, y, t) = a(y, t),
then
φ
n
1,j
= a
n
j
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 269 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Subtracting equation (6.35) from (6.33) gives
φ
n+1/2
i,j
−φ
n
i,j
∆t/2

φ
n+1
i,j
−φ
n+1/2
i,j
∆t/2
= α
¸
φ
n
i,j+1
−2φ
n
i,j

n
i,j−1
(∆y)
2

φ
n+1
i,j+1
−2φ
n+1
i,j

n+1
i,j−1
(∆y)
2
¸
,
or solving for the unknown at the intermediate time level results in
φ
n+1/2
i,j
=
1
2

φ
n
i,j

n+1
i,j

+
1
4
s
y

φ
n
i,j+1
−2φ
n
i,j

n
i,j−1

φ
n+1
i,j+1
−2φ
n+1
i,j

n+1
i,j−1

.
Applying this equation at the boundary x = 0, leads to
φ
n+1/2
1,j
=
1
2

a
n
j
+a
n+1
j

+
1
4
s
y

a
n
j+1
−2a
n
j
+a
n
j−1

a
n+1
j+1
−2a
n+1
j
+a
n+1
j−1

.
This provides the boundary condition for φ
1,j
at the intermediate (n + 1/2)
time level. Note that the first term on the right-hand-side is the average of a
at the n and n + 1 time levels, the second term is ∂
2
a
n
/∂y
2
, and the third
term is ∂
2
a
n+1
/∂y
2
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 270 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
3
For stability, apply von Neumann analysis at each half step and take the
product of the resulting amplification factors, G
1
and G
2
, to obtain G for the
full time step.
⇒ Method is unconditionally stable for all s
x
and s
y
.
4
In 3-D, we require three fractional steps (∆t/3) for each time step, and the
method is only conditionally stable, where
s
x
, s
y
, s
z
≤ 1.5,
for stability (s
z
= α∆t/(∆z)
2
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 271 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Factored ADI Method
Let us reconsider the unsteady, 2-D diffusion equation
∂φ
∂t
= α
¸

2
φ
∂x
2
+

2
φ
∂y
2

, (6.37)
and apply the Crank-Nicolson approximation
φ
n+1
i,j
−φ
n
i,j
∆t
=
α
2

δ
2
x
φ
n+1
i,j

2
x
φ
n
i,j

2
y
φ
n+1
i,j

2
y
φ
n
i,j

,
where δ represents second-order central difference operators (as in section 5.7)
δ
2
x
φ
i,j
=
φ
i+1,j
−2φ
i,j

i−1,j
(∆x)
2
,
δ
2
y
φ
i,j
=
φ
i,j+1
−2φ
i,j

i,j−1
(∆y)
2
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 272 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Rewriting the difference equation with the unknowns on the left-hand-side and the
knowns on the right leads to
¸
1 −
1
2
α∆t

δ
2
x

2
y

φ
n+1
i,j
=
¸
1 +
1
2
α∆t

δ
2
x

2
y

φ
n
i,j
. (6.38)
We “factor” the difference operator on the left-hand-side as follows
¸
1 −
1
2
α∆t

δ
2
x

2
y


¸
1 −
1
2
α∆tδ
2
x
¸
1 −
1
2
α∆tδ
2
y

, (6.39)
where the first factor only involves the difference operator in the x-direction, and
the second factor only involves the difference operator in the y-direction. The
factored operator produces an extra term as compared to the unfactored operator
1
4
α
2
∆t
2
δ
2
x
δ
2
y
= O(∆t
2
),
which is O(∆t
2
). Therefore, the factorization (6.39) is consistent with the
second-order accuracy in time of the Crank-Nicolson approximation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 273 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
The factored form of (6.38) is
¸
1 −
1
2
α∆tδ
2
x
¸
1 −
1
2
α∆tδ
2
y

φ
n+1
i,j
=
¸
1 +
1
2
α∆t

δ
2
x

2
y

φ
n
i,j
,
which can be solved in two steps by defining the intermediate variable
ˆ
φ
i,j
=
¸
1 −
1
2
α∆tδ
2
y

φ
n+1
i,j
. (6.40)
Note that
ˆ
φ
i,j
is not the same as φ
n+1/2
i,j
, which is an intermediate approximation
to φ
i,j
at the half time step.
The two stage solution process is:
1
Sweep along constant y-lines solving
¸
1 −
1
2
α∆tδ
2
x

ˆ
φ
i,j
=
¸
1 +
1
2
α∆t

δ
2
x

2
y

φ
n
i,j
, (6.41)
which produces a tridiagonal problem at each j for
ˆ
φ
i,j
, i = 1, . . . , I + 1.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 274 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
2
Sweep along constant x-lines solving (from (6.40))
¸
1 −
1
2
α∆tδ
2
y

φ
n+1
i,j
=
ˆ
φ
i,j
, (6.42)
which produces a tridiagonal problem at each i for φ
n+1
i,j
, j = 1, . . . , J + 1 at
the current time step. Note that the right-hand-side of this equation is the
solution of (6.41).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 275 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
Notes:
1
Similar to the ADI method with time splitting, but have an intermediate
variable
ˆ
φ
i,j
rather than half time step φ
n+1/2
i,j
.
Factored ADI is somewhat faster; it only requires one evaluation of the spatial
derivatives on the right-hand-side per time step (for equation (6.41)) rather
than two for the ADI method (see equations (6.34) and (6.36)).
2
Method is O(∆t
2
, ∆x
2
, ∆y
2
) accurate and is unconditionally stable (even for
3-D implementation of unsteady diffusion equation).
3
Requires boundary conditions for the intermediate variable
ˆ
φ
i,j
to solve
(6.41). These are obtained from equation (6.40) applied at the boundaries
(see Fletcher, section 8.4.1).
4
The order of solution can be reversed, i.e. we could define
ˆ
φ
i,j
=
¸
1 −
1
2
α∆tδ
2
x

φ
n+1
i,j
.
instead of (6.40).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 276 / 454
Numerical Solutions of Parabolic Problems Multidimensional Problems
5
If we have non-linear convective terms, i.e. unsteady Navier-Stokes or
transport equation, use upwind-downwind differencing as in section 6.5.3. See
Peridier, Smith & Walker, JFM, Vol. 232, pp. 99–131 (1991), which shows
factored ADI with upwind-downwind differencing applied to the the unsteady
boundary-layer equations (but method applies to more general equations).
6
Observe that numerical methods for parabolic problems do not require
relaxation or acceleration parameters as is often the case for elliptic solvers.
Recall that the issue is numerical stability, not iterative convergence.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 277 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Outline
7
Numerical Solutions of Navier-Stokes Equations
Primitive-Variables Formulation
Vorticity-Streamfunction Formulation
Boundary Conditions for Vorticity-Streamfunction Formulation
Thom’s Method
Jensen’s Method
Numerical Solutions of Coupled Systems of Equations
Sequential Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 278 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Incompressible flow of a Newtonian fluid is governed by the Navier-Stokes
equations, given by the momentum equation
ρ
¸
∂V

∂t

+V

∇V

= −∇p

+µ∇
2
V

,
and the continuity equation
∇ V

= 0.
The density is ρ, the viscosity is µ, the pressure is p

(x

, y

, z

, t

), and the
velocity vector in Cartesian coordinates, for example, is V

= u

i +v

j +w

k.
It is convenient to nondimensionalize using a characteristic length scale L and
velocity U according to
(x, y, z) =
(x

, y

, z

)
L
, t =
t

L/U
V =
V

U
, p =
p

ρU
2
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 279 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Applying to the Navier-Stokes equations gives
∂V
∂t
+V ∇V = −∇p +
1
Re

2
V,
and
∇ V = 0,
where Re = ρUL/µ is the nondimensional Reynolds number.
In 2-D, Cartesian coordinates, the incompressible Navier-Stokes equations are:
x-momentum:
∂u
∂t
+u
∂u
∂x
+v
∂u
∂y
= −
∂p
∂x
+
1
Re
¸

2
u
∂x
2
+

2
u
∂y
2

, (7.1)
y-momentum:
∂v
∂t
+u
∂v
∂x
+v
∂v
∂y
= −
∂p
∂y
+
1
Re
¸

2
v
∂x
2
+

2
v
∂y
2

, (7.2)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 280 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Continuity:
∂u
∂x
+
∂v
∂y
= 0. (7.3)
Thus, we have three coupled equations for three dependent variables
u(x, y, t), v(x, y, t) and p(x, y, t), which we refer to as primitive variables.
Therefore, the system is closed mathematically:
Given v(x, y, t) and p(x, y, t), we can determine u(x, y, t) from equation
(7.1).
Given u(x, y, t) and p(x, y, t), we can determine v(x, y, t) from equation
(7.2).
But how do we determine p(x, y, t) given that p does not appear in equation
(7.3)?
⇒ Need equation for p(x, y) in terms of u(x, y) and v(x, y) at time t.
To obtain such an equation, take the divergence of the momentum equation in
vector form, i.e. ∇ (NS), which in 2-D is equivalent to taking ∂/∂x of equation
(7.1), ∂/∂y of equation (7.2) and adding.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 281 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Doing so gives

2
p
∂x
2
+

2
p
∂y
2
= −
¸

2
u
∂t∂x
+

∂u
∂x

2
+u

2
u
∂x
2
+
∂v
∂x
∂u
∂y
+v

2
u
∂x∂y
+

2
v
∂t∂y
+
∂u
∂y
∂v
∂x
+u

2
v
∂x∂y
+

∂v
∂y

2
+v

2
v
∂y
2
¸
+
1
Re
¸

3
u
∂x
3
+

3
u
∂x∂y
2
+

3
v
∂x
2
∂y
+

3
v
∂y
3

.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 282 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Doing so gives

2
p
∂x
2
+

2
p
∂y
2
= −
¸

2
u
∂t∂x
+

∂u
∂x

2
+u

2
u
∂x
2
+
∂v
∂x
∂u
∂y
+v

2
u
∂x∂y
+

2
v
∂t∂y
+
∂u
∂y
∂v
∂x
+u

2
v
∂x∂y
+

∂v
∂y

2
+v

2
v
∂y
2
¸
+
1
Re
¸

3
u
∂x
3
+

3
u
∂x∂y
2
+

3
v
∂x
2
∂y
+

3
v
∂y
3

.
Or

2
p
∂x
2
+

2
p
∂y
2
= −
¸

∂t

∂u
∂x
+
∂v
∂y

+u

∂x

∂u
∂x
+
∂v
∂y

+v

∂y

∂u
∂x
+
∂v
∂y

+

∂u
∂x

2
+

∂v
∂y

2
+ 2
∂v
∂x
∂u
∂y
¸
+
1
Re
¸

2
∂x
2

∂u
∂x
+
∂v
∂y

+

2
∂y
2

∂u
∂x
+
∂v
∂y

.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 283 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
But from the continuity equation (7.3)

2
p
∂x
2
+

2
p
∂y
2
= −


∂t
¨
¨
¨
¨
¨
¨B
0

∂u
∂x
+
∂v
∂y

+u

∂x
¨
¨
¨
¨
¨
¨ B
0

∂u
∂x
+
∂v
∂y

+v

∂y
¨
¨
¨
¨
¨
¨B
0

∂u
∂x
+
∂v
∂y

+

∂u
∂x

2
+

∂v
∂y

2
+ 2
∂v
∂x
∂u
∂y
¸
+
1
Re


2
∂x
2
¨
¨
¨
¨
¨
¨B
0

∂u
∂x
+
∂v
∂y

+

2
∂y
2
¨
¨
¨
¨
¨
¨B
0

∂u
∂x
+
∂v
∂y

¸
¸
¸
.
We also have from continuity that

∂u
∂x

2
=

∂v
∂y

2
= −
∂u
∂x
∂v
∂y
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 284 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Substituting gives

2
p
∂x
2
+

2
p
∂y
2
= 2
¸
∂u
∂x
∂v
∂y

∂v
∂x
∂u
∂y

, (7.4)
which is a Poisson equation for pressure with u(x, y) and v(x, y) known from
solutions of equations (7.1) and (7.2), respectively.
Notes:
1
The unsteady momentum equations (7.1) and (7.2) are parabolic in time.
⇒ May be solved using Crank-Nicolson, ADI, Factored-ADI, etc....
2
The pressure equation (7.4) and steady forms of (7.1) and (7.2) are elliptic.
⇒ Can be solved using cyclic reduction, Gauss-Seidel, ADI, multigrid, etc....
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 285 / 454
Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation
Velocity Boundary Conditions (u
s
and u
n
are velocity components tangential and
normal to the surface, respectively):
Surface: u
s
= u
n
= 0 (no slip and impermeability)
Inflow: u
s
and u
n
specified
Outflow:
∂u
s
∂n
=
∂u
n
∂n
= 0 (fully-developed flow)
Symmetry:
∂u
s
∂n
= 0, u
n
= 0 (no flow through symmetry plane)
Note that the domain must be sufficiently long for the fully-developed outflow
boundary condition to be valid.
Pressure Boundary Conditions at a Surface:
From the momentum equations (7.1) and (7.2) with u = v = 0:
n = x ⇒
∂p
∂x
=
1
Re

2
u
∂x
2
n = y ⇒
∂p
∂y
=
1
Re

2
v
∂x
2
Other boundary conditions for pressure obtained similarly.
Observe that we have Neumann boundary conditions on pressure at solid surfaces.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 286 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
Outline
7
Numerical Solutions of Navier-Stokes Equations
Primitive-Variables Formulation
Vorticity-Streamfunction Formulation
Boundary Conditions for Vorticity-Streamfunction Formulation
Thom’s Method
Jensen’s Method
Numerical Solutions of Coupled Systems of Equations
Sequential Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 287 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
The streamfunction ψ(x, y, t) is defined for 2-D, incompressible flow by
u =
∂ψ
∂y
, v = −
∂ψ
∂x
, (7.5)
such that the continuity equation (7.3) is identically satisfied. Lines of constant ψ
are called streamlines and are everywhere tangent to the local velocity vectors.
The vorticity ω(x, y, t) in 2-D is defined by
ω =
∂v
∂x

∂u
∂y
, (7.6)
and measures the local rate of rotation of fluid particles, with the sign
corresponding to the right-hand-rule. Note that in general 3-D flows vorticity is a
vector
− →
ω = ∇V.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 288 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
Note that vorticity = vortex:
vorticity – spatial distribution of rotation rates of individual fluid particles.
vortex – a spatially coherent region of fluid rotating as a unit, i.e. an “eddy.”
Example of a flow with vorticity, but no vortex?
Example of a flow with vortex, but no vorticity?
To obtain the vorticity-transport equation, take the curl of the momentum
equation in vector form, i.e. ∇(NS), which in 2-D is equivalent to taking ∂/∂x
of equation (7.2) minus ∂/∂y of equation (7.1):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 289 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
Doing so gives

2
v
∂x∂t
+
∂u
∂x
∂v
∂x
+u

2
v
∂x
2
+
∂v
∂x
∂v
∂y
+v

2
v
∂x∂y


2
u
∂y∂t

∂u
∂y
∂u
∂x
−u

2
u
∂x∂y

∂v
∂y
∂u
∂y
−v

2
u
∂y
2
= −

2
p
∂x∂y
+

2
p
∂x∂y
+
1
Re
¸

3
v
∂x
3
+

3
v
∂x∂y
2


3
u
∂x
2
∂y


3
u
∂y
3

.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 290 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
Doing so gives

2
v
∂x∂t
+
∂u
∂x
∂v
∂x
+u

2
v
∂x
2
+
∂v
∂x
∂v
∂y
+v

2
v
∂x∂y


2
u
∂y∂t

∂u
∂y
∂u
∂x
−u

2
u
∂x∂y

∂v
∂y
∂u
∂y
−v

2
u
∂y
2
= −


2
p
∂x∂y
+


2
p
∂x∂y
+
1
Re
¸

3
v
∂x
3
+

3
v
∂x∂y
2


3
u
∂x
2
∂y


3
u
∂y
3

.
Or

∂t

∂v
∂x

∂u
∂y

+u

∂x

∂v
∂x

∂u
∂y

+v

∂y

∂v
∂x

∂u
∂y

+
∂v
∂x

∂u
∂x
+
∂v
∂y


∂u
∂y

∂u
∂x
+
∂v
∂y

=
1
Re
¸

2
∂x
2

∂v
∂x

∂u
∂y

+

2
∂y
2

∂v
∂x

∂u
∂y

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 291 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
But from the continuity equation (7.3) and the definition of vorticity (7.6)

∂t
¨
¨
¨
¨
¨
¨B
ω

∂v
∂x

∂u
∂y

+u

∂x
¨
¨
¨
¨
¨
¨B
ω

∂v
∂x

∂u
∂y

+v

∂y
¨
¨
¨
¨
¨
¨B
ω

∂v
∂x

∂u
∂y

+
∂v
∂x
¨
¨
¨
¨
¨
¨B
0

∂u
∂x
+
∂v
∂y


∂u
∂y
¨
¨
¨
¨
¨
¨B
0

∂u
∂x
+
∂v
∂y

=
1
Re


2
∂x
2
¨
¨
¨
¨
¨
¨B
ω

∂v
∂x

∂u
∂y

+

2
∂y
2
¨
¨
¨
¨
¨
¨B
ω

∂v
∂x

∂u
∂y

¸
¸
Therefore, the vorticity-transport equation in 2-D is
∂ω
∂t
+u
∂ω
∂x
+v
∂ω
∂y
=
1
Re
¸

2
ω
∂x
2
+

2
ω
∂y
2

, (7.7)
which is a convection-diffusion equation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 292 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
The vorticity and streamfunction may be related by substituting (7.5) into (7.6)
to obtain

2
ψ
∂x
2
+

2
ψ
∂y
2
= −ω, (7.8)
which is a Poisson equation for ψ(x, y, t) if ω(x, y, t) is known.
Notes:
1
Equations (7.7) and (7.8) are coupled equations for ω and ψ (with
u = ∂ψ/∂y, v = −∂ψ/∂x in (7.7)).
2
The vorticity-transport equation (7.7) is parabolic when unsteady and elliptic
when steady. The streamfunction equation (7.8) is elliptic.
3
The pressure terms have been eliminated, i.e. there is no need to calculate
the pressure in order to advance the solution in time.
→ Can compute p(x, y, t) from equation (7.4) if desired.
4
The vorticity-streamfunction formulation consists of two equations for the
two unknowns ω(x, y, t) and ψ(x, y, t) (cf. primitive variables formulation
with three equations for three unknowns in 2-D).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 293 / 454
Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation
5
Unlike the primitive variables formulation, the ω–ψ formulation does not
easily extend to 3-D:
Three components of vorticity ⇒ Three vorticity equations.
Stretching and tilting terms in 3-D vorticity equations.
Cannot define streamfunction in 3-D ⇒ Vorticity-velocity potential
formulation.
6
We do not have straightforward boundary conditions for vorticity (see next
section).
⇒ Because of notes (3) and (4) (notwithstanding (6)), this is the preferred
formulation for 2-D, incompressible flows.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 294 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
Outline
7
Numerical Solutions of Navier-Stokes Equations
Primitive-Variables Formulation
Vorticity-Streamfunction Formulation
Boundary Conditions for Vorticity-Streamfunction Formulation
Thom’s Method
Jensen’s Method
Numerical Solutions of Coupled Systems of Equations
Sequential Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 295 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
Consider the driven cavity flow:
Recall that the streamfunction is defined by
u =
∂ψ
∂y
, v = −
∂ψ
∂x
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 296 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
Thus, on AD and BC:
u = 0 ⇒
∂ψ
∂y
= 0 ⇒ψ = const. = 0
v = 0 ⇒
∂ψ
∂x
= 0
∴ ψ and
∂ψ
∂n
specified (n = x).
Similarly, on AB:
v = 0 ⇒
∂ψ
∂x
= 0 ⇒ψ = 0
u = 0 ⇒
∂ψ
∂y
= 0
∴ ψ and
∂ψ
∂n
specified (n = y).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 297 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
On CD:
v = 0 ⇒
∂ψ
∂x
= 0 ⇒ψ = 0
u = 1 ⇒
∂ψ
∂y
= 1
∴ ψ and
∂ψ
∂n
specified (n = y).
At solid boundaries, therefore, the streamfunction and its normal derivative are
specified. Note that we have two boundary conditions on the streamfunction,
where only one is needed.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 298 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
In order to consider boundary conditions on vorticity, recall its definition
ω =
∂v
∂x

∂u
∂y
.
Thus, for example, on AB:
v = 0 ⇒
∂v
∂x
= 0 ⇒ω = −
∂u
∂y
= −
τ
w
µ
,
where τ
w
is the wall shear stress. However, τ
w
is unknown and must be
determined from the solution.
⇒ Don’t have boundary condition for ω.
Strategy:
Use ψ = const. as boundary condition for streamfunction equation (7.8).
Use “extra” boundary condition ∂ψ/∂n = const. to obtain a condition for ω
at the surface.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 299 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
Thom’s Method
Consider, for example, the lower boundary AB (y = 0). Throughout the domain
we have

2
ψ
∂x
2
+

2
ψ
∂y
2
= −ω.
However, along AB ψ = 0; therefore,

2
ψ
∂x
2
= 0, and
ω
w
= −

2
ψ
∂y
2

y=0
. (7.9)
We also have
u =
∂ψ
∂y
= 0 on y = 0.
For generality, consider a moving wall with
∂ψ
∂y

y=0
= u
w
(x) = g(x), (7.10)
where the tangential wall velocity u
w
(x) = g(x) is specified.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 300 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
Applying a central difference to (7.10) gives
ψ
i,2
−ψ
i,0
2∆y
= g
i
+O(∆y
2
);
therefore,
ψ
i,0
= ψ
i,2
−2∆y g
i
+O(∆y
3
). (7.11)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 301 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
A central difference for (7.9) gives
ω
i,1
= −
ψ
i,2
−2ψ
i,1

i,0
(∆y)
2
+O(∆y
2
). (7.12)
Substituting (7.11) for ψ
i,0
in the previous equation leads to
ω
i,1
= −
2
(∆y)
2

i,2
−ψ
i,1
−∆y g
i
] +O(∆y). (7.13)
We then use the most recent iterate for streamfunction ψ to obtain a Dirichlet
boundary condition for vorticity ω.
Note: The truncation error for Thom’s method is only O(∆y). However, it
exhibits second-order convergence (Huang & Wetton 1996).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 302 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
Jensen’s Method
We would like a method that is O(∆y
2
) overall; therefore, consider using an
O(∆y
3
) approximation for (7.10)
−2ψ
i,0
−3ψ
i,1
+ 6ψ
i,2
−ψ
i,3
6∆y
= g
i
+O(∆y
3
);
therefore,
ψ
i,0
= −
3
2
ψ
i,1
+ 3ψ
i,2

1
2
ψ
i,3
−3∆y g
i
+O(∆y
4
).
Substituting into (7.12) results in
ω
i,1
= −
1
2(∆y)
2
[7ψ
i,1
−8ψ
i,2

i,3
+ 6∆y g
i
] +O(∆y
2
). (7.14)
We then use (7.14) in place of (7.13) to obtain a Dirichlet boundary condition for
vorticity.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 303 / 454
Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation
Notes:
1
For discussion of boundary conditions on vorticity and streamfunction at
inlets and outlets, see Fletcher, Vol. II, pp. 380–381.
2
Treatment of vorticity (and pressure) boundary conditions is still an active
area of research and debate (see, for example, Rempfer 2003).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 304 / 454
Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations
Outline
7
Numerical Solutions of Navier-Stokes Equations
Primitive-Variables Formulation
Vorticity-Streamfunction Formulation
Boundary Conditions for Vorticity-Streamfunction Formulation
Thom’s Method
Jensen’s Method
Numerical Solutions of Coupled Systems of Equations
Sequential Method
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 305 / 454
Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations
Until now, we have considered methods for solving single equations; but in fluid
dynamics we must solve systems of coupled equations, such as the Navier-Stokes
equations in the primitive-variables or vorticity-streamfunction formulations.
Two methods for treating coupled equations numerically:
1
Sequential Solution:
Solve, i.e. iterate on, each equation for its dominant variable, treating the
other variables as known, i.e. use most recent values.
Requires one pass through mesh for each equation at each iteration.
⇒ Most common and easiest to implement.
2
Simultaneous (or Coupled) Solution:
Combine coupled equations into a single system of algebraic equations.
⇒ If have n dependent variables (e.g. 2-D primitive variables ⇒ n = 3 (u, v, p)),
produces an n ×n block tridiagonal system of equations that is solved for all
the dependent variables simultaneously.
See, for example, S. P. Vanka, J. Comput. Phys., Vol. 65, pp. 138–158 (1986).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 306 / 454
Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations
For example, if solving using Gauss-Seidel:
1
Sequential ⇒ One Gauss-Seidel expression for each dependent variable
updated in succession.
2
Simultaneous ⇒ Solve n equations for n unknown dependent variables
directly at each grid point.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 307 / 454
Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations
Sequential Method
Consider for example the primitive-variables formulation.
Steady Problems:
Note:
May require underrelaxation for convergence due to nonlinearity.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 308 / 454
Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations
Unsteady Problems:
Notes:
Outer loop for time marching.
Inner loop to obtain solution of coupled equations at current time step.
⇒ Trade-off: Generally, reducing ∆t reduces number of inner loop iterations. (If
∆t small enough, no iteration is necessary).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 309 / 454
Grids and Grid Generation Introduction
Outline
8
Grids and Grid Generation
Introduction
Staggered vs. Collocated Grids
Uniform vs. Non-Uniform Grids
Grid Generation
Algebraic Grid Generation
Elliptic Grid Generation
Variational Grid Generation
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 310 / 454
Grids and Grid Generation Introduction
Thus far we have used what are called “uniform, collocated grids.”
Uniform ⇒ Grid spacings in each direction ∆x and ∆y are uniform.
Collocated ⇒ All dependent variables are approximated at the same point.
In the following two sections we consider alternatives to uniform and collocated
grids.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 311 / 454
Grids and Grid Generation Staggered vs. Collocated Grids
Outline
8
Grids and Grid Generation
Introduction
Staggered vs. Collocated Grids
Uniform vs. Non-Uniform Grids
Grid Generation
Algebraic Grid Generation
Elliptic Grid Generation
Variational Grid Generation
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 312 / 454
Grids and Grid Generation Staggered vs. Collocated Grids
Recall the 2-D, incompressible Navier-Stokes equations in the primitive variables
formulation
∂u
∂t
+u
∂u
∂x
+v
∂u
∂y
= −
∂p
∂x
+
1
Re
¸

2
u
∂x
2
+

2
u
∂y
2

, (8.1)
∂v
∂t
+u
∂v
∂x
+v
∂v
∂y
= −
∂p
∂y
+
1
Re
¸

2
v
∂x
2
+

2
v
∂y
2

, (8.2)

2
p
∂x
2
+

2
p
∂y
2
= 2
¸
∂u
∂x
∂v
∂y

∂v
∂x
∂u
∂y

. (8.3)
When using collocated grids, all three equations are approximated at the same
points in the grid for their respective dependent variables u(x, y), v(x, y), and
p(x, y).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 313 / 454
Grids and Grid Generation Staggered vs. Collocated Grids
Alternatively, using a staggered grid we approximate each primitive variable and
its associated equation as follows.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 314 / 454
Grids and Grid Generation Staggered vs. Collocated Grids
For example, let us consider how each of the terms in the x-momentum equation
(8.1) are approximated (using central differences) on a staggered grid
u
∂u
∂x
= u
i,j
u
i+1,j
−u
i−1,j
2∆x
+O(∆x
2
),
v
∂u
∂y
=
1
4
(v
i,j
+v
i+1,j
+v
i,j−1
+v
i+1,j−1
)
u
i,j+1
−u
i,j−1
2∆y
+O(∆y
2
),
∂p
∂x
=
p
i+1,j
−p
i,j
∆x
+O(∆x
2
),

2
u
∂x
2
=
u
i+1,j
−2u
i,j
+u
i−1,j
∆x
2
+O(∆x
2
),

2
u
∂y
2
=
u
i,j+1
−2u
i,j
+u
i,j−1
∆y
2
+O(∆y
2
).
The terms in equations (8.2) and (8.3) are treated in a similar manner at their
respective points while being approximated at their respective locations in the grid.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 315 / 454
Grids and Grid Generation Staggered vs. Collocated Grids
Note that special treatment is required at the boundaries.
Therefore, either grid points at which u or v are computed or specified do not
coincide with the boundary. Specifically, the points where u are taken do not
coincide with the y = 0 boundary, and v points do not coincide with the x = 0
boundary in the above example.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 316 / 454
Grids and Grid Generation Staggered vs. Collocated Grids
Advantages of staggered grid:
1
Helps avoid oscillations in pressure that can occur in some methods applied
to incompressible Navier-Stokes.
2
“Ensures” conservation of kinetic energy.
Advantages of collocated grid:
1
Easier to understand and program, i.e. u
i,j
, v
i,j
and p
i,j
are all approximated
at the same location.
2
Easier to implement boundary conditions, particularly for complex boundaries.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 317 / 454
Grids and Grid Generation Uniform vs. Non-Uniform Grids
Outline
8
Grids and Grid Generation
Introduction
Staggered vs. Collocated Grids
Uniform vs. Non-Uniform Grids
Grid Generation
Algebraic Grid Generation
Elliptic Grid Generation
Variational Grid Generation
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 318 / 454
Grids and Grid Generation Uniform vs. Non-Uniform Grids
In many flows, e.g. those involving boundary layers, the solution has local regions
of intense gradients.
Therefore, a fine grid is necessary to resolve the flow near boundaries, but the
same resolution is not necessary in the remainder of the domain. As a result, a
uniform grid would waste computational resources where they are not needed.
Alternatively, a non-uniform grid would allow us to refine the grid where it is
needed.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 319 / 454
Grids and Grid Generation Uniform vs. Non-Uniform Grids
Let us obtain the finite-difference approximations using Taylor series as before, but
without assuming all ∆x’s are equal. For example, consider the first-derivative
term ∂φ/∂x.
Applying Taylor series at x
i−1
and x
i+1
with ∆x
i
= ∆x
i+1
and solving for ∂φ/∂x
leads to
∂φ
∂x
=
φ
i+1
−φ
i−1
∆x
i
+ ∆x
i+1

∆x
2
i+1
−∆x
2
i
2(∆x
i
+ ∆x
i+1
)


2
φ
∂x
2

i

∆x
3
i+1
+ ∆x
3
i
6(∆x
i
+ ∆x
i+1
)


3
φ
∂x
3

i
+ .
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 320 / 454
Grids and Grid Generation Uniform vs. Non-Uniform Grids
If the grid is uniform, i.e. ∆x
i
= ∆x
i+1
, then the second term vanishes, and the
approximation reduces to the usual O(∆x
2
)-accurate central difference
approximation for the first derivative. However, for a non-uniform grid, the
truncation error is only O(∆x).
We could restore second-order accuracy by using an appropriate approximation to


2
φ/∂x
2

i
in the second term, which results in
∂φ
∂x
=
φ
i+1
∆x
2
i
−φ
i−1
∆x
2
i+1

i
(∆x
2
i+1
−∆x
2
i
)
∆x
i+1
∆x
i
(∆x
i
+ ∆x
i+1
)
+O(∆x
2
).
As one can imagine, this gets very complicated, and it is difficult to ensure
consistent accuracy for all approximations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 321 / 454
Grids and Grid Generation Grid Generation
Outline
8
Grids and Grid Generation
Introduction
Staggered vs. Collocated Grids
Uniform vs. Non-Uniform Grids
Grid Generation
Algebraic Grid Generation
Elliptic Grid Generation
Variational Grid Generation
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 322 / 454
Grids and Grid Generation Grid Generation
Rather than using non-uniform grids, it is often advantageous to transform the
problem to a computational domain on which a uniform mesh may be used. Such
a transformation generally has one or both of the following objectives:
1
Transform a complex physical domain into a simple, e.g. rectangular or
circular, computational domain.
2
Cluster grid points in regions of the physical domain where the solution varies
rapidly, i.e. large gradients occur.
We consider transformations of the form
(x, y) ⇐⇒(ξ, η),
where (x, y) are the variables in the physical domain, and (ξ, η) are the variables
in the computational domain such that ξ = ξ(x, y) and η = η(x, y). To transform
back to the physical domain, we regard x = x(ξ, η) and y = y(ξ, η).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 323 / 454
Grids and Grid Generation Grid Generation
From the chain rule, the transformation laws are

∂x
=
∂ξ
∂x

∂ξ
+
∂η
∂x

∂η
, (8.4)

∂y
=
∂ξ
∂y

∂ξ
+
∂η
∂y

∂η
, (8.5)
where ξ
x
= ∂ξ/∂x, ξ
y
= ∂ξ/∂y, η
x
= ∂η/∂x, and η
y
= ∂η/∂y are called the
metrics of the transformation.
The Jacobian of the transformation is
J =

ξ
x
η
x
ξ
y
η
y

=

ξ
x
ξ
y
η
x
η
y

= ξ
x
η
y
−ξ
y
η
x
. (8.6)
Properties of the transformation:
1
Mapping must be one-to-one, which requires that J = 0.
2
We desire a smooth grid distribution; therefore, the metrics should be
smoothly varying throughout the domain.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 324 / 454
Grids and Grid Generation Grid Generation
3
We may want to enforce orthogonality of the grid (see Fletcher pp. 97-100).
Methods of obtaining the mapping:
1
Conformal mapping
See figure 1 for an example of a Schwarz-Christoffel transformation.
Difficult to extend to 3-D.
For details, recall MMAE 501.
2
Algebraic transformation.
3
Elliptic grid generation, i.e. solution of partial differential equation.
4
Variational methods.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 325 / 454
Grids and Grid Generation Grid Generation
Algebraic Grid Generation
Consider, for example, the flow in a diffuser:
The equation for the upper (sloped) boundary is
y
b
= f(x) = H
1
+
H
2
−H
1
L
x.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 326 / 454
Grids and Grid Generation Grid Generation
We seek to transform this physical domain into a rectangular computational
domain through the algebraic tranformation
ξ = x, η =
y
f(x)
. (8.7)
We then utilize a uniform grid in the computational domain (ξ, η).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 327 / 454
Grids and Grid Generation Grid Generation
The inverse transformation is then
x = ξ, y = f(x)η =
¸
H
1
+
H
2
−H
1
L
ξ

η, (8.8)
which produces a stretched grid in the physical domain.
Let us check the metrics of this transformation
∂ξ
∂x
= 1,
∂ξ
∂y
= 0,
∂η
∂x
= −y
f

(x)
f
2
(x)
= −
f

(ξ)
f(ξ)
η = −

H
2
−H
1
L

η
H
1
+
H
2
−H
1
L
ξ
,
∂η
∂y
=
1
f(x)
=
1
H
1
+
H
2
−H
1
L
ξ
.
See figure 2 for plots of these metrics, which show that they are smooth.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 328 / 454
Grids and Grid Generation Grid Generation
Let us transform the governing equations using the transformation laws (8.4) and
(8.5)

∂x
=
∂ξ
∂x

∂ξ
+
∂η
∂x

∂η
=

∂ξ
−η
f

(ξ)
f(ξ)

∂η
,

∂y
=
∂ξ
∂y

∂ξ
+
∂η
∂y

∂η
=
1
f(ξ)

∂η
.
For example, consider the convection term
u(x, y)
∂u
∂x
= u(ξ, η)
¸
∂u
∂ξ
−η
f

(ξ)
f(ξ)
∂u
∂η

.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 329 / 454
Grids and Grid Generation Grid Generation
Let us now consider another scenario in which we have a semi-infinite
boundary-layer flow above a surface.
We have introduced the boundary-layer variable Y such that
y = Re
−1/2
Y, 0 ≤ Y ≤ ∞.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 330 / 454
Grids and Grid Generation Grid Generation
We want a transformation that maps the semi-infinite domain into a finite one
and clusters points near the surface. One possibility is
ξ = x, η =
2
π
tan
−1

Y
a

. (8.9)
This maps Y = 0 to η = 0 and Y = ∞ to η = 1, and reducing a concentrates
more grid points near the surface at y = 0 in the physical domain when using a
uniform grid in the computational (ξ, η) domain.
For an illustration, see figure 3 in which transformation (8.9) is used in the
x-direction and a stretching transformation similar to that for the diffuser is used
in the y-direction.
The transformation laws for the transformation (8.9) are

∂x
=

∂ξ
,

∂Y
=
∂ξ
∂Y

∂ξ
+
∂η
∂Y

∂η
= Γ(η)

∂η
,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 331 / 454
Grids and Grid Generation Grid Generation
where
Γ(η) =
1
πa
[1 + cos(πη)] .
Then

2
∂Y
2
= Γ(η)

∂η
¸
Γ(η)

∂η

= Γ
2
(η)

2
∂η
2
+ Γ(η)Γ

(η)

∂η
.
Notes:
1
Algebraic methods move the complexity, i.e. complex boundaries and/or
non-uniform grids, to the equations themselves.
Physical domain ⇒ “simple” equations; complex geometry and grid.
Computational domain ⇒ simple geometry and grid; “complex” equations.
2
Computational overhead is typically relatively small for algebraic methods, i.e.
there are no additional equations to solve.
3
It is easy to cluster grid points in the desired regions of the domain; however,
it is necessary to know where to cluster the grid points a priori.
4
Must choose the algebraic transformation ahead of time, i.e. before solving
the problem (cf. variational grid generation).
5
It is difficult to handle complex geometries.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 332 / 454
Grids and Grid Generation Grid Generation
Elliptic Grid Generation
Consider the potential flow past a cylinder:
The velocity potential and streamfunction both satisfy the Laplace equation

2
φ
∂x
2
+

2
φ
∂y
2
= 0,

2
ψ
∂x
2
+

2
ψ
∂y
2
= 0. (8.10)
Observe that the streamlines and isopotential lines would make a good grid on
which to obtain a numerical solution, i.e. φ →ξ, ψ →η.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 333 / 454
Grids and Grid Generation Grid Generation
Thus, an appropriate solution to

2
ξ
∂x
2
+

2
ξ
∂y
2
= 0,

2
η
∂x
2
+

2
η
∂y
2
= 0, (8.11)
would provide a good mapping on which to base the computational grid, i.e. a
uniform grid in (ξ, η) produces the above grid in physical space.
There are two approaches to obtaining the solution to (8.11):
1) Grid parameters are governed by the Laplace equation, i.e. they are harmonic;
therefore, we could utilize complex variables:
z = x +iy, ζ = ξ +iη.
This approach uses conformal mapping (see Fletcher, vol. II, pp. 89-96) and
is good for two-dimensional flows in certain types of geometries.
2) Solve a boundary-value problem to generate the grid, i.e. elliptic grid
generation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 334 / 454
Grids and Grid Generation Grid Generation
In order to control grid clustering, known functions involving sources and sinks
may be added to the right-hand-side of equations (8.11)

2
ξ
∂x
2
+

2
ξ
∂y
2
= P(x, y),

2
η
∂x
2
+

2
η
∂y
2
= Q(x, y), (8.12)
where P and Q contain exponential functions. Note that equations (8.12) are for
ξ = ξ(x, y) and η = η(x, y).
We want to solve (8.12) in the computational domain (ξ, η) to obtain the grid
transformations x = x(ξ, η) and y = y(ξ, η). In addition, we must transform the
governing equation(s), e.g. Navier-Stokes, to the computational domain.
Therefore, we seek the transformation laws for (x, y) →(ξ, η).
For
ξ = ξ(x, y), η = η(x, y),
the total differentials are
dξ =
∂ξ
∂x
dx +
∂ξ
∂y
dy, dη =
∂η
∂x
dx +
∂η
∂y
dy,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 335 / 454
Grids and Grid Generation Grid Generation
or in matrix form
¸

=
¸
ξ
x
ξ
y
η
x
η
y
¸
dx
dy

. (8.13)
Similarly, for the inverse transformation from (ξ, η) to (x, y), we have that
¸
dx
dy

=
¸
x
ξ
x
η
y
ξ
y
η
¸

.
We can solve the latter expression for [dξ dη]
T
by multiplying by the inverse
¸

=
¸
x
ξ
x
η
y
ξ
y
η

−1
¸
dx
dy

=
¸
y
η
−x
η
−y
ξ
x
ξ

x
ξ
x
η
y
ξ
y
η

¸
dx
dy

¸

=
1
J
¸
y
η
−x
η
−y
ξ
x
ξ
¸
dx
dy

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 336 / 454
Grids and Grid Generation Grid Generation
Comparing with equation (8.13), we see that
¸
ξ
x
ξ
y
η
x
η
y

=
1
J
¸
y
η
−x
η
−y
ξ
x
ξ

.
Thus, the transformation metrics are
∂ξ
∂x
=
1
J
∂y
∂η
,
∂ξ
∂y
= −
1
J
∂x
∂η
,
∂η
∂x
= −
1
J
∂y
∂ξ
,
∂η
∂y
=
1
J
∂x
∂ξ
.
Substituting into the transformation laws (8.4) and (8.5) give

∂x
=
∂ξ
∂x

∂ξ
+
∂η
∂x

∂η
=
1
J
¸
∂y
∂η

∂ξ

∂y
∂ξ

∂η

,

∂y
=
∂η
∂y

∂η
+
∂ξ
∂y

∂ξ
=
1
J
¸
∂x
∂ξ

∂η

∂x
∂η

∂ξ

.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 337 / 454
Grids and Grid Generation Grid Generation
From these we obtain the second derivative transformation laws as follows

2
∂x
2
=

2
ξ
∂x
2

∂ξ
+

2
η
∂x
2

∂η
+

∂ξ
∂x

2

2
∂ξ
2
+

∂η
∂x

2

2
∂η
2
+2
∂η
∂x
∂ξ
∂x

2
∂η∂ξ
, (8.14)
and

2
∂y
2
=

2
ξ
∂y
2

∂ξ
+

2
η
∂y
2

∂η
+

∂ξ
∂y

2

2
∂ξ
2
+

∂η
∂y

2

2
∂η
2
+ 2
∂η
∂y
∂ξ
∂y

2
∂η∂ξ
, (8.15)
Application of equations (8.14) and (8.15) to equations (8.12) gives
g
22

2
x
∂ξ
2
−2g
12

2
x
∂ξ∂η
+g
11

2
x
∂η
2
= −
1
J
2
¸
P
∂x
∂ξ
+Q
∂x
∂η

,
g
22

2
y
∂ξ
2
−2g
12

2
y
∂ξ∂η
+g
11

2
y
∂η
2
= −
1
J
2
¸
P
∂y
∂ξ
+Q
∂y
∂η

,
(8.16)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 338 / 454
Grids and Grid Generation Grid Generation
where
g
11
=

∂x
∂ξ

2
+

∂y
∂ξ

2
,
g
12
=
∂x
∂ξ
∂x
∂η
+
∂y
∂ξ
∂y
∂η
,
g
22
=

∂x
∂η

2
+

∂y
∂η

2
.
Note that the coefficients in the equations are defined such that
g =

g
11
g
12
g
21
g
22

= J
2
, (g
12
= g
21
).
For boundary conditions to apply to equations (8.16), specify either:
1) Grid point locations (x, y) on boundaries.
2) Grid line slopes at the boundaries.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 339 / 454
Grids and Grid Generation Grid Generation
Therefore, we have a coupled set of nonlinear elliptic equations with Dirichlet or
Neumann boundary conditions. We solve (GS, SOR, ADI, multigrid, etc...)
equations (8.16) on a uniform grid in (ξ, η) to obtain the inverse transformation
x = x(ξ, η), y = y(ξ, η).
Notes:
1) Provides smoother grids than algebraic transformations due to use of
diffusion-type equations to generate grid.
→ Effects of discontinuities at boundaries are smoothed out in interior.
2) Can enforce grid orthogonality.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 340 / 454
Grids and Grid Generation Grid Generation
3) Can treat multiply-connected regions (see figure 5).
4) Can extend to three-dimensional geometries (cf. conformal mapping).
5) Difficult to choose P(ξ, η) and Q(ξ, η) for desired clustering. Generally, one
must use trial-and-error until something that “looks good” is obtained.
6) Large computational times are required to produce the grid, i.e. on the same
order as the time required to solve the governing equations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 341 / 454
Grids and Grid Generation Grid Generation
7) References:
For more elliptic grid generation options, see Knupp, P. and Steinberg, S.,
“Fundamentals of Grid Generation,” CRC Press (1994), who consider
smoothness, Winslow and TTM methods.
Thompson, J. F., Warsi, Z. U. A. and Mastin, C. W., “Numerical Grid
Generation - Foundation and Applications,” North Holland (1985).
8) The ultimate in grid generation is adaptive grid methods, in which the grid
“adapts” to local features of the solution as it is computed; see, for example,
variational grid generation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 342 / 454
Grids and Grid Generation Grid Generation
Variational Grid Generation
Advantages:
Provides a more intuitive and mathematically formal basis for grid generation.
Generally formulated to produce the optimal, i.e. ”best,” grid in a least
squares sense; therefore, it eliminates the trial-and-error necessary in elliptic
grid generation.
One-Dimensional:
We determine functionals for which the stationary function(s) gives a
transformation in which the grid spacing ∆x
i
is proportional to a weight function
φ(ξ
i+1/2
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 343 / 454
Grids and Grid Generation Grid Generation
Physical domain: a ≤ x ≤ b
Computational domain: 0 ≤ ξ ≤ 1
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 344 / 454
Grids and Grid Generation Grid Generation
Consider the following discrete functional
S =
I
¸
i=1
(x
i+1
−x
i
)
2

i+1/2
=
I
¸
i=1
∆x
2
i

i+1/2
,
where x
i
= x(ξ
i
), x
i+1
= x(ξ
i+1
) and φ
i+1/2
= (φ(ξ
i
) +φ(ξ
i+1
))/2. For a given
weight function φ(ξ), we want to minimize S subject to the end conditions
x
1
= a, x
I+1
= b.
Dividing the above expression by ∆ξ (= constant) gives
S
∆ξ
=
I
¸
i=1

∆x
i
∆ξ

2
∆ξ

i+1/2
.
Taking ∆ξ →0 gives the continuous functional
I[x(ξ)] =
1
2

1
0
(∂x/∂ξ)
2
φ(ξ)
dξ =
1
2

1
0
x
2
ξ
φ
dξ, (8.17)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 345 / 454
Grids and Grid Generation Grid Generation
with the end conditions
x(0) = a, x(1) = b.
This is known as the weighted length functional. We seek the grid distribution
x(ξ) that minimizes the functional I[x(ξ)].
With the integrand of the functional being
F = F(ξ, x, x
ξ
) =
1
2
x
2
ξ
φ
,
Euler’s equation is given by
∂F
∂x

d

∂F
∂x
ξ

= 0

d

x
ξ
φ

= 0 (8.18)
∴ x
ξξ

φ
ξ
φ
x
ξ
= 0, (φ > 0), (8.19)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 346 / 454
Grids and Grid Generation Grid Generation
with boundary conditions
x(0) = a, x(1) = b.
In order to see what this means for the grid spacing, let us consider equation
(8.18), which is

x
ξ
φ

ξ
= 0.
Integrating (with integration constant C) and multiplying by φ(ξ) gives
dx

= Cφ(ξ).
Writing this expression in discrete form yields
∆x
i
∆ξ
= C φ

ξ
i+1

i
2

.
Therefore, we see that this requires that ∆x
i
be proportional to φ
i+1/2
, where the
proportionality constant is C∆ξ.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 347 / 454
Grids and Grid Generation Grid Generation
Note that the weight function φ(ξ) has been expressed in the computational
domain, and it is not necessarily clear how it should be chosen. Conceptually, we
prefer to think in terms of physical weight functions, say w(x). In that case, the
grid spacing is determined by a physical variable or one of its derivatives giving
rise to feature-adaptive grid generation.
Let us set the grid spacing to be proportional to [w(x)]
2
, i.e.
∆x
i
= K
¸
w

x
i+1
+x
i
2

2
.
Therefore, we take φ = w
2
> 0 in equation (8.17) giving the physical weight
length functional
I[x(ξ)] =
1
2

1
0
x
2
ξ
w
2
(x)
dξ, (8.20)
with x(0) = a, x(1) = b.
In this case, the integrand of the functional is
F = F(ξ, x, x
ξ
) =
1
2
x
2
ξ
w
2
(x)
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 348 / 454
Grids and Grid Generation Grid Generation
Therefore,
∂F
∂x
= −
w
x
w
3
x
2
ξ
,
∂F
∂x
ξ
=
x
ξ
w
2
,
and Euler’s equation gives

w
x
w
3
x
2
ξ

d

x
ξ
w
2

= 0
w
x
w
3
x
2
ξ
+
x
ξξ
w
2
−2
w
x
x
ξ
w
3
x
ξ
= 0
x
ξξ

w
x
w
x
2
ξ
= 0.
By the chain rule
d
dx
=

dx
d

=
1
x
ξ
d

⇒ w
x
=
1
x
ξ
w
ξ
.
Thus, the Euler equation is
x
ξξ

w
ξ
w
x
ξ
= 0, (w > 0), (8.21)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 349 / 454
Grids and Grid Generation Grid Generation
which is of the same form as (8.19) (this is why we set φ = w
2
), except that now
w(x) is a physical weight function. The boundary conditions are
x(0) = a, x(1) = b.
One-Dimensional Illustration:
Consider the one-dimensional, steady convection-diffusion equation
u
xx
−cu
x
= 0, a ≤ x ≤ b,
u(a) = 0, u(b) = 1,
(8.22)
where c is the convection speed. Increasing c produces an increasingly thin
boundary layer near x = b. The exact solution to (8.22) is
u(x) =
e
c(x−a)
−1
e
c(b−a)
−1
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 350 / 454
Grids and Grid Generation Grid Generation
The governing equation (8.22) and the grid equation must be transformed into
the computational domain. In one dimension, the transformation laws are
d
dx
=

dx
d

=
1
x
ξ
d

,
d
2
dx
2
=
1
x
ξ
d

¸
1
x
ξ
d

=
1
x
2
ξ
d
2

2

x
ξξ
x
3
ξ
d

.
Transforming the governing equation (8.22) to computational coordinates gives
1
x
2
ξ
d
2
u

2

x
ξξ
x
3
ξ
du

−c
1
x
ξ
du

= 0,
or
u
ξξ

x
ξξ
x
ξ
+cx
ξ

u
ξ
= 0, (8.23)
with boundary conditions
u(0) = 0, u(1) = 1.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 351 / 454
Grids and Grid Generation Grid Generation
To solve (8.23) for the velocity u(ξ) requires the grid x(ξ). Here we will use the
grid equation (8.21) (corresponding to the physical weighted-length functional
(8.20))
x
ξξ

w
ξ
w
x
ξ
= 0, (8.24)
with the boundary conditions x(0) = a, x(1) = b.
→ How to choose w(x)?
A common choice for a feature-adaptive weight function is based on the gradient
of the dependent variable of the form
w(x) =
1

1 +
2
u
2
x
, 0 < w ≤ 1, (8.25)
where is a parameter to be chosen. Observe that
u
x
small ⇒ w ≈ 1,
u
x
large ⇒ w ≈
1
[u
x
[
, ([u
x
[ ↑ ⇒w ↓ ⇒∆x ↓).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 352 / 454
Grids and Grid Generation Grid Generation
For use in the grid equation (8.24), we need the weight function (8.25) in terms of
the computational coordinate ξ:
w(x(ξ)) =
1

1 +

2
x
2
ξ
u
2
ξ
. (8.26)
Taking the derivative
w
ξ
= −

2
2
2
x
2
ξ
u
ξ
u
ξξ
−2
x
ξξ
x
3
ξ
u
2
ξ

1 +

2
x
2
ξ
u
2
ξ

3/2
=

2
x
2
ξ
u
ξ

x
ξξ
x
ξ
u
ξ
−u
ξξ

1 +

2
x
2
ξ
u
2
ξ

3/2
.
Therefore, the coefficient in equation (8.24) is
w
ξ
w
=
2
u
ξ

x
ξξ
x
ξ
u
ξ
−u
ξξ

x
2
ξ
+
2
u
2
ξ
. (8.27)
Note: A uniform grid in the physical domain results if = 0 (w = 1, w
ξ
= 0), i.e.
x(ξ) = (b −a)ξ +a. Thus, increasing increases the influence of the
transformation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 353 / 454
Grids and Grid Generation Grid Generation
Numerical Procedure:
The governing equation (8.23) and the grid equation (8.24) (with (8.27)
expressed in the computational ξ-plane are
u
ξξ
−X(ξ)u
ξ
= 0, u(0) = 0, u(1) = 1, (8.28)
x
ξξ
−W(ξ)x
ξ
= 0, x(0) = a, x(1) = b, (8.29)
respectively, where
X(ξ) =
x
ξξ
x
ξ
+cx
ξ
,
W(ξ) =
w
ξ
w
.
Recall that the last expression is given by equation (8.27). Thus, we have
two coupled second-order linear ordinary differential equations. Note that all
of the grid transformation information is encapsulated in the X(ξ) coefficient
in the governing equation, and all the weight function information is
contained in the W(ξ) coefficient in the grid equation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 354 / 454
Grids and Grid Generation Grid Generation
Consider equation (8.28) approximated on the computational grid using
central differences
u
i+1
−2u
i
+u
i−1
∆ξ
2
−X
i
u
i+1
−u
i−1
2∆ξ
= 0.
Thus, we have the tridiagonal problem
A
i
u
i−1
+B
i
u
i
+C
i
u
i+1
= D
i
, i = 2, . . . , I,
where
A
i
= 1 +
∆ξ
2
X
i
,
B
i
= −2,
C
i
= 1 −
∆ξ
2
X
i
,
D
i
= 0.
We obtain a similar tridiagional problem for the grid equation (8.29).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 355 / 454
Grids and Grid Generation Grid Generation
See the Mathematica notebook ’GridGen.nb’
Two-Dimensional:
The two-dimensional analog to the one-dimensional weighted-length functional
(8.17) is
I[x, y] =
1
2

1
0

1
0
¸
x
2
ξ
+y
2
ξ
φ(ξ, η)
+
x
2
η
+y
2
η
ψ(ξ, η)
¸
dξdη,
where we now have two weight functions φ(ξ, η) > 0 and ψ(ξ, η) > 0. This
produces a grid for which the lengths of the coordinate lines are proportional to
the weight functions, i.e.

g
11
=

x
2
ξ
+y
2
ξ
= K
1
φ(ξ, η),

g
22
=

x
2
η
+y
2
η
= K
2
ψ(ξ, η).
Recall that g
11
and g
22
are defined in section 8.4.2.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 356 / 454
Grids and Grid Generation Grid Generation
The Euler equations are then

x
ξ
φ

ξ
+

x
η
ψ

η
= 0,

y
ξ
φ

ξ
+

y
η
ψ

η
= 0.
Notes:
1) If φ = ψ = c, then the Euler equations are Laplace equations
x
ξξ
+x
ηη
= 0, y
ξξ
+y
ηη
= 0;
cf. elliptic grid generation.
2) The weight functions control the interior grid locations in a much more
formal manner than the P and Q forcing functions in elliptic grid generation.
That is, the local grid spacing is directly proportional to the specified weight
functions, which may be related directly to the physical solution.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 357 / 454
Grids and Grid Generation Grid Generation
Other functionals are also possible:
Area Functional:
The area of each cell, which is related to the Jacobian J, is proportional to a
weight function φ(ξ, η) > 0, i.e.
∴ I
A
[x, y] =
1
2

1
0

1
0
J
2
φ
dξdη.
Euler equations:

Jx
η
φ

ξ

Jx
ξ
φ

η
= 0,

Jy
η
φ

ξ

Jy
ξ
φ

η
= 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 358 / 454
Grids and Grid Generation Grid Generation
Orthogonality Functional:
The grid is orthogonal if g
12
= x
ξ
x
η
+y
ξ
y
η
= 0; therefore, the orthogonality
functional is
∴ I
O
[x, y] =
1
2

1
0

1
0
g
2
12
dξdη,
such that g
12
is minimized in a least squares sense (without a weight
function).
Euler equations:
(g
12
x
η
)
ξ
+ (g
12
x
ξ
)
η
= 0,
(g
12
y
η
)
ξ
+ (g
12
y
ξ
)
η
= 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 359 / 454
Grids and Grid Generation Grid Generation
Combination Functionals:
We can form combinations of the above functionals. For example, consider
the area-orthogonality functional
I
AO
[x, y] =
1
2

1
0

1
0
J
2
+g
2
12
φ
dξdη, =
1
2

1
0

1
0
g
11
g
22
φ
dξdη,
where again the fact that J
2
= g = g
11
g
22
−g
2
12
has been used.
This results in a grid such that the average of the area and orthogonality
functionals are minimized. One criteria could be emphasized over the other
by including weight coefficients in the respective terms in the functional.
Euler equations:

g
22
x
ξ
φ

ξ
+

g
11
x
η
φ

η
= 0,

g
22
y
ξ
φ

ξ
+

g
11
y
η
φ

η
= 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 360 / 454
Grids and Grid Generation Grid Generation
Notes:
1) Just as in the one-dimensional case, it is generally preferable to define weight
functions in the physical domain, i.e. w(x, y), rather than in the
computational domain, i.e. φ(ξ, η).
2) The grid x(ξ, η), y(ξ, η) can be obtained by solving the Euler equations (most
common) or the variational form directly.
3) All of the two-dimensional functionals above have been written in the form
I[x, y] =
1
2

1
0

1
0
F(ξ, η, x, y, x
ξ
, y
ξ
, x
η
, y
η
)dξdη,
in order to determine the mappings x(ξ, η) and y(ξ, η). Alternatively,
functionals may be written to determine ξ(x, y) and η(x, y), i.e.
I[ξ, η] =
1
2

1
0

1
0
F(x, y, ξ, η, ξ
x
, η
x
, ξ
y
, η
y
)dxdy.
These are called contravariant functionals (see Knupps and Steinberg section
8.5 and chapter 11).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 361 / 454
Grids and Grid Generation Grid Generation
4) For unsteady problems additional terms are required in the governing
equations due to movement of the grid in the physical domain (the
computational grid (ξ, η) remains fixed and uniform), i.e.
ξ = ξ(x, y, t), η = η(x, y, t).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 362 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
Outline
9
Hydrodynamic Stability and the Eigenproblem
1-D, Unsteady Diffusion Illustration
Exact Solution
Numerical Solution
Numerical Solution of the Eigenproblem
Similarity Transformation
QR Method to Obtain Eigenvalues and Eigenvectors
Plane Rotations
Arnoldi Method
Hydrodynamic Stability
Linearized Navier-Stokes Equations
Local Normal Mode Analysis
Numerical Solution of the Orr-Sommerfeld Equation
Example: Plane-Poiseuille Flow
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 363 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
Consider the one-dimensional, unsteady diffusion equation
∂u
∂t
= α

2
u
∂x
2
, 0 ≤ x ≤ , (9.1)
with the boundary conditions
u(0, t) = 0, u(, t) = 0, (9.2)
and the initial condition
u(x, 0) = f(x). (9.3)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 364 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
Exact Solution
Let us begin by using the method of separation of variables to obtain an exact
solution for equation (9.1). We separate the variables according to
u(x, t) = φ(x)ψ(t). (9.4)
Substituting into equation (9.1) gives
φ

dt
= αψ
d
2
φ
dx
2
.
Moving everything depending upon t to the left-hand-side and everything
depending upon x to the right-hand-side, this becomes
1
αψ

dt
=
1
φ
d
2
φ
dx
2
= λ = −µ
2
.
Because the x and t dependence can be separated in this way, both sides of the
equation must be equal to a constant, say λ. Positive and zero λ produce only the
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 365 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
trivial solution for the boundary conditions given, so we consider the case where
λ = −µ
2
< 0.
Therefore, the partial differential equation (9.1) is converted into two ordinary
differential equations
d
2
φ
dx
2

2
φ = 0, (9.5)

dt
+αµ
2
ψ = 0, (9.6)
each of which are differential eigenproblems. The solution to equation (9.5) is
φ(x) = c
1
cos(µx) +c
2
sin(µx). (9.7)
The boundary condition u(0, t) = 0 requires that φ(0) = 0, which requires that
c
1
= 0. From the boundary condition u(, t) = 0, we must have φ() = 0, which
requires that sin(µ
n
) = 0. Therefore,
µ
n
=

, n = 1, 2, 3, . . . ,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 366 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
and the eigenvalues are
λ
n
= −µ
2
n
= −
n
2
π
2

2
.
Letting c
2
= 1, we have the spatial eigenfunction
φ
n
(x) = sin

x

, n = 1, 2, 3, . . . (9.8)
The solution to (9.6) is
ψ
n
(t) = c
n
e
−αµ
2
n
t
, n = 1, 2, 3, . . . (9.9)
Then the eigenfunctions are
u(x, t) =

¸
n=1
u
n
(x, t) =

¸
n=1
φ
n
(x)ψ
n
(t) =

¸
n=1
c
n
exp


αn
2
π
2

2
t

sin

x

.
(9.10)
The constants c
n
are determined by application of the initial condition (9.3), for
which
u(x, 0) =

¸
n=1
c
n
sin

x

= f(x),
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 367 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
or

¸
n=1
c
n
φ
n
(x) = f(x).
Taking the inner product of φ
m
(x) with both sides, the only non-vanishing term
(due to orthogonality of the eigenfunctions φ
n
(x)) occurs when m = n, giving
c
n
[[φ
n
(x)[[
2
= 'f(x), φ
n
(x)` ;
Therefore,
c
n
=
'f(x), φ
n
(x)`
[[φ
n
(x)[[
2
=
2

0
f(x) sin

x

dx, n = 1, 2, 3, . . . , (9.11)
which are the Fourier sine coefficients of f(x). Thus, the exact solution to
(9.1)–(9.3) is given by equation (9.10) with (9.11).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 368 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
Numerical Solution
Now let us consider solving the differential eigenproblem (9.5), with boundary
conditions (9.2) numerically. Using central differences, the differential equation
becomes
φ
i+1
−2φ
i

i−1
(∆x)
2
= λφ
i
.
Thus, for i = 2, . . . , I (φ
1
= 0, φ
I+1
= 0), in matrix form we have

−2 1 0 0 0
1 −2 1 0 0
0 1 −2 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 −2 1
0 0 0 1 −2
¸
¸
¸
¸
¸
¸
¸
¸
¸

φ
2
φ
3
φ
4
.
.
.
φ
I−1
φ
I
¸
¸
¸
¸
¸
¸
¸
¸
¸
= (∆x)
2
λ

φ
2
φ
3
φ
4
.
.
.
φ
I−1
φ
I
¸
¸
¸
¸
¸
¸
¸
¸
¸
,
or
Aφ =
¯
λφ. (9.12)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 369 / 454
Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
This is an algebraic eigenproblem for the eigenvalues
¯
λ = (∆x)
2
λ and the
eigenvectors φ, which are discrete approximations of the continuous eigenfunctions
(9.8).
Because A is tridiagonal with constants along each diagonal, we have a closed
form expression for the eigenvalues (see section 3.5). In general, of course, this is
not the case, and the eigenvalues (and eigenvectors) must be determined
numerically for a large matrix A.
See Mathematica notebook “1Ddiff.nb” for a comparison of the eigenvalues
obtained numerically as described here versus the exact eigenvalues from the
previous section.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 370 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Outline
9
Hydrodynamic Stability and the Eigenproblem
1-D, Unsteady Diffusion Illustration
Exact Solution
Numerical Solution
Numerical Solution of the Eigenproblem
Similarity Transformation
QR Method to Obtain Eigenvalues and Eigenvectors
Plane Rotations
Arnoldi Method
Hydrodynamic Stability
Linearized Navier-Stokes Equations
Local Normal Mode Analysis
Numerical Solution of the Orr-Sommerfeld Equation
Example: Plane-Poiseuille Flow
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 371 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
The standard method for numerically determining the eigenvalues and eigenvectors
of a matrix is based on QR decomposition, which entails performing a series of
similarity transformations. This is the approach used by the built-in Mathematica
and Matlab functions Eigenvalues[]/ Eigenvectors[] and eig(), respectively.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 372 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Similarity Transformation
Consider the eigenproblem
Ax = λx, (9.13)
where A is a real, square matrix. Suppose that Q is an orthogonal matrix such
that Q
−1
= Q
T
. Let us consider the transformation
B = Q
T
AQ. (9.14)
Postmultiplying both sides by Q
T
x leads to
BQ
T
x = Q
T
AQQ
T
x,
= Q
T
Ax,
= Q
T
λx,
BQ
T
x = λQ
T
x.
Defining y = Q
T
x, this can be written as
By = λy, (9.15)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 373 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
which is an eigenproblem for the matrix B defined by the transformation (9.14).
Note that the eigenproblems (9.13) and (9.15) have the same eigenvalues λ;
therefore, we call equation (9.14) a similarity transformation because A and
B = Q
T
AQ have the same eigenvalues. This is the case because Q is orthogonal.
The eigenvectors of A, i.e. x, and B, i.e. y, are related by
y = Q
T
x (x = Qy) . (9.16)
If in addition to being real and square, A is symmetric such that A = A
T
,
observe that
B
T
= [Q
T
AQ]
T
= [Q]
T
[A]
T
[Q
T
]
T
= Q
T
AQ = B.
Therefore, if A is symmetric, B is symmetric as well when Q is orthogonal.
In summary, for A real and symmetric, the similarity transformation (9.14)
preserves the eigenvalues and symmetry of A, and the eigenvectors are related by
(9.16).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 374 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
QR Method to Obtain Eigenvalues and Eigenvectors
Having determined the properties of similarity transformations, we now turn our
attention to the iterative QR method for finding the eigenvalues and eigenvectors
of a matrix A, which requires such transformations.
Consider A real and symmetric, i.e. A = A
T
. A QR decomposition exists such
that
A = QR,
where Q is an orthogonal matrix, and R is an upper (“right”) triangular matrix.
Letting
A
0
= A, Q
0
= Q, R
0
= R,
the QR decomposition of the given matrix is
A
0
= Q
0
R
0
. (9.17)
Let us form the product (note order)
A
1
= R
0
Q
0
. (9.18)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 375 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Because Q
0
is orthogonal, premultiplying equation (9.17) by Q
−1
0
= Q
T
0
gives
Q
T
0
A
0
= Q
T
0
Q
0
R
0
= R
0
.
Therefore, substituting for R
0
in (9.18) we may determine A
1
from
A
1
= Q
T
0
A
0
Q
0
, (9.19)
which is a similarity transformation. That is, taking R
0
Q
0
is equivalent to the
similarity transformation (9.19), and A
1
has the same eigenvalues as A
0
= A.
Thus, generalizing equation (9.18) we have
A
k+1
= R
k
Q
k
, k = 0, 1, 2, . . . (9.20)
where all A
1
, A
2
, . . . , A
k
, . . . are similar to A
0
= A. Not only do they all have
the same eigenvalues, the similarity transformations maintain the same structure
as A, e.g. tridiagonal.
It can be shown (not easily) that the sequence of similar matrices
A
0
, A
1
, A
2
, . . .
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 376 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
gets progressively closer, i.e. converges, to a diagonal or upper triangular matrix if
A is symmetric or non-symmetric, respectively. In either case, the eigenvalues of
A (and A
1
, A
2
, . . .) are on the main diagonal in increasing order by absolute
magnitude.
But how do we determine the Q and R matrices for each iteration?
⇒ Plane rotations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 377 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Plane Rotations
Consider the n n transformation matrix P comprised of the identity matrix with
only four elements changed in the p
th
and q
th
rows and columns according to
P
pp
= P
qq
= c, P
pq
= s, P
qp
= −s,
where c = cos φ and s = sin φ. That is,
P =

1
.
.
.
1
c 0 0 s
0 1 0
.
.
.
.
.
.
.
.
.
0 1 0
−s 0 0 c
1
.
.
.
1
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 378 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Observe the effect of transforming a n-D vector x according to the tranformation
y = Px. (9.21)
where x
T
= [x
1
x
2
x
p
x
q
x
n
]. Then
y = Px =

x
1
x
2
.
.
.
y
p
.
.
.
y
q
.
.
.
x
n
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
,
where the only two elements that are altered are
y
p
= cx
p
+sx
q
, (9.22)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 379 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
y
q
= −sx
p
+cx
q
. (9.23)
For example, consider the case for n = 2, i.e. p = 1, q = 2
y
1
= cx
1
+sx
2
,
y
2
= −sx
1
+cx
2
,
or
¸
y
1
y
2

=
¸
cos φ sin φ
−sin φ cos φ
¸
x
1
x
2

.
This transformation rotates the vector x through an angle φ to obtain y. Note
that y = P
T
x rotates the vector x through an angle −φ.
Thus, in the general n-D case (9.21), P rotates the vector x through an angle φ
in the x
p
x
q
-plane.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 380 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Notes:
1
The transformation matrix P is orthogonal, i.e. P
T
= P
−1
.
2
We can generalize to rotate a set of vectors, i.e. a matrix, by taking
Y = PX.
3
The angle φ may be chosen with one of several objectives in mind. For
example,
i) To zero all elements below (or to the right of) a specified element, e.g.
y
T
= [y
1
y
2
· · · y
j
0 · · · 0].
Householder transformation (reflection) – efficient for dense matrices.
ii) To zero a single element, e.g. y
p
or y
q
(see equations (9.22) and (9.23)).
Givens transformation (rotation) – efficient for sparse, structured (e.g. banded)
matrices.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 381 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
We can imagine a series of Givens or Householder transformations that reduce the
matrix A to a matrix that is upper triangular, which is the R matrix in a QR
decomposition.
Thus, if m projections are required to produce an upper triangular matrix, R is
given by
R = P
m
P
2
P
1
A. (9.24)
Because A = QR, i.e. R = Q
T
A, the orthogonal matrix Q is then obtained from
Q
T
= P
m
P
2
P
1
.
Taking the transpose leads to
Q = P
T
1
P
T
2
P
T
m
. (9.25)
See Mathematica notebook “QRmethod.nb” for an illustration of how QR
decomposition is used in an iterative algorithm to obtain the eigenvalues of a
matrix.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 382 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Notes:
1
The QR decomposition (9.24) and (9.25) is obtained from a series of plane
(Givens or Householder) rotations.
2
Givens transformations are most efficient for large, sparse, structured
matrices.
→ Configure to only zero elements that are not already zero.
3
There is a “fast Givens transformation” for which the P matrices are not
orthogonal, but the QR decompositions can be obtained two times faster
than in the standard Givens transformation illustrated in “QRmethod.nb.”
4
Convergence of the iterative QR method may be accelerated using shifting
(see, for example, Numerical Recipes, section 11.3).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 383 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
5
The order of operations for the QR method per iteration are as follows:
Dense matrix → O(n
3
) ⇒ Very expensive.
Hessenberg matrix → O(n
2
)
Tridiagonal matrix → O(n).
Thus, the most efficient procedure is as follows:
i) Transform A to a similar tridiagonal or Hessenberg form if A is symmetric or
non-symmetric, respectively.
→ This is done using a series of similarity transformations based on Householder
rotations for dense matrices or Givens rotations for sparse matrices.
ii) Use iterative QR method to obtain eigenvalues of tridiagonal or Hessenberg
matrix.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 384 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Arnoldi Method
The Arnoldi method has been developed to treat situations in which we only need
a small number of eigenvalues of a large sparse matrix:
1
The iterative QR method described in the previous section is the general
approach used to obtain the full spectrum of eigenvalues of a dense matrix.
2
As we saw in the 1-D unsteady diffusion example, and as we will see when we
evaluate hydrodynamic stability, we often seek the eigenvalues of large sparse
matrices.
3
In addition, we often do not require the full spectrum of eigenvalues in
stability problems as we only seek the “least stable mode.”
⇒ We would like an efficient algorithm that determines a subset of the full
sprectrum of eigenvalues (and possibly eigenvectors) of a sparse matrix.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 385 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
Suppose we seek the largest k eigenvalues (by magnitude) of the large sparse
n n matrix A, where k <n. Given an arbitrary n-D vector q
0
, we define the
Krylov subspace by
/
k
(A, q
0
) = span
¸
q
0
, Aq
0
, A
2
q
0
, . . . , A
k−1
q
0
¸
,
which has dimension k and is a subspace of 1
n
.
The Arnoldi method is based on constructing an orthonormal basis, e.g. using
Gram-Schmidt, of the Krylov subspace /
k
that can be used to project a general
n n matrix A onto the k-D Krylov subspace /
k
(A, q
0
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 386 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
We form the orthonormal projection matrix Q using the following step-by-step
(non-iterative) method that produces a Hessenberg matrix H whose eigenvalues
approximate the largest k eigenvalues of A:
1
Specify starting Arnoldi vector q
0
.
2
Normalize: q
1
= q
0
/[[q
0
[[.
3
Set Q = q
1
.
4
Do i = 2, k
i) Multiply q
i
= Aq
i−1
.
ii) Orthogonalize q
i
against q
1
, q
2
, . . . , q
i−1
.
iii) Append q
i
to Q.
iv) Form the Hessenberg matrix H = Q
T
AQ.
v) Determine the eigenvalues of H.
5
End Do
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 387 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
At each step i = 2, . . . , k:
→ An n i orthonormal matrix Q is produced that forms an orthonormal basis
for the Krylov subspace /
i
(A, q
0
).
→ Using the projection matrix Q, we transform A to produce an i i
Hessenberg matrix H (or tridiagonal for symmetric A), which is an
orthogonal projection of A onto the Krylov subspace /
i
.
→ The eigenvalues of H, sometimes called the Ritz eigenvalues, approximate
the largest i eigenvalues of A.
The approximations of the eigenvalues improve as each step is incorporated, and
we obtain the approximation of one additional eigenvalue.
Notes:
1
Because k <n, we only require the determination of eigenvalues of
Hessenberg matrices that or no larger than k k as opposed to the original
n n matrix A.
2
Although the outcome of each step depends upon the starting Arnoldi vector
q
0
used, the procedure converges to the correct eigenvalues of matrix A.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 388 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
3
The more sparse the matrix A is, the smaller k can be to obtain a good
approximation of the largest k eigenvalues of A.
4
When applied to symmetric matrices, the Arnoldi method reduces to the
Lanczos method.
5
A shift and invert approach can be incorporated to determine the k
eigenvalues close to a specified part of the spectrum rather than that with
the largest magnitude.
For example, it can be designed to determine the k eigenvalues with the
largest real or imaginary part.
6
When seeking a set of eigenvalues in a particular portion of the full spectrum,
it is desirable that the starting Arnoldi vector q
0
be in (or ‘nearly’ in) the
subspace spanned by the eigenvectors corresponding to the sought after
eigenvalues.
As the Arnoldi method progresses, we get better approximations of the desired
eigenvectors that can then be used to form a more desirable starting vector.
This is known as the implicitly restarted Arnoldi method and is based on the
implicitly-shifted QR decomposition method.
Restarting also reduces storage requirements by keeping k small.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 389 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
7
The Arnoldi method may also be adapted to solve linear systems of
equations; this is called the generalized minimal residual (GMRES) method.
8
The Arnoldi method can be designed to apply to the generalized eigenproblem
Ax = λBx.
The generalized eigenproblem will be encountered in hydrodynamic stability.
It also arises in structural design problems in which A is called the stiffness
matrix, and B is called the mass matrix.
Application of Arnoldi’s method to the generalized eigenproblem requires that
B be positive definite, i.e. have all positive eigenvalues.
9
Many have standardized on the Arnoldi method as implemented in ARPACK
(http://www.caam.rice.edu/software/ARPACK/).
ARPACK was developed at Rice University in the mid 1990’s, first as a Fortran
77 library of subroutines, and subsequently it has been implemented as
ARPACK
++
for C
++
.
ARPACK has been implemented in Matlab via the eigs() function, where the
‘s’ denotes ‘sparse.’
In addition, it has been implemented in Mathematica, where one includes the
option ‘Method → Arnoldi’ in the Eigenvalues[] function.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 390 / 454
Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem
The Arnoldi method is illustrated in more detail in the Mathematica notebook
“Arnoldi.nb.”
References:
Arnoldi, W. (1951) Q. Appl. Math. 9, 17.
Nayar, N. & Ortega, J. M. (1993) “Computation of Selected Eigenvalues of
Generalized Eigenvalue Problems.” J. Comput. Phys. 108, pp. 8–14.
Saad, Y. Iterative Methods for Sparse Linear Systems SIAM, Philadelphia
(2003).
Radke, R. A Matlab Implementation of the Implicitly Restarted Arnoldi
Method for Solving Large-Scale Eigenvalue Problems, MS Thesis, Rice
University (1996).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 391 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Outline
9
Hydrodynamic Stability and the Eigenproblem
1-D, Unsteady Diffusion Illustration
Exact Solution
Numerical Solution
Numerical Solution of the Eigenproblem
Similarity Transformation
QR Method to Obtain Eigenvalues and Eigenvectors
Plane Rotations
Arnoldi Method
Hydrodynamic Stability
Linearized Navier-Stokes Equations
Local Normal Mode Analysis
Numerical Solution of the Orr-Sommerfeld Equation
Example: Plane-Poiseuille Flow
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 392 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Linearized Navier-Stokes Equations
Consider the nondimensional Navier-Stokes equations for 2-D, incompressible flow
∂u
∂x
+
∂v
∂y
= 0, (9.26)
∂u
∂t
+u
∂u
∂x
+v
∂u
∂y
= −
∂p
∂x
+
1
Re
¸

2
u
∂x
2
+

2
u
∂y
2

, (9.27)
∂v
∂t
+u
∂v
∂x
+v
∂v
∂y
= −
∂p
∂y
+
1
Re
¸

2
v
∂x
2
+

2
v
∂y
2

. (9.28)
We denote the solution to (9.26)–(9.28), i.e. the base flow, by u
0
(x, y, t),
v
0
(x, y, t) and p
0
(x, y, t), and seek the behavior of small perturbations to this
base flow.
⇒ If the amplitude of the small perturbations grow, the flow is
hydrodynamically unstable.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 393 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Two possibilities may be considered:
1
Temporal analysis – amplitude of spatial perturbation (e.g. wavy wall)
grows/decays with time.
⇒ Absolutely unstable/stable.
2
Spatial analysis – amplitude of temporal perturbation (e.g. vibrating ribbon)
grows/decays in space.
⇒ Convectively unstable/stable.
For infinitesimally small perturbations ( <1), the flow may be decomposed as
follows
u(x, y, t) = u
0
(x, y, t) +ˆ u(x, y, t),
v(x, y, t) = v
0
(x, y, t) +ˆ v(x, y, t),
p(x, y, t) = p
0
(x, y, t) +ˆ p(x, y, t).
(9.29)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 394 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Substituting into (9.26)–(9.28) gives
∂u
0
∂x
+
∂ˆ u
∂x
+
∂v
0
∂y
+
∂ˆ v
∂y
= 0,
∂u
0
∂t
+
∂ˆ u
∂t
+ (u
0
+ˆ u)

∂u
0
∂x
+
∂ˆ u
∂x

+ (v
0
+ˆ v)

∂u
0
∂y
+
∂ˆ u
∂y

= −
∂p
0
∂x

∂ˆ p
∂x
+
1
Re
¸

2
u
0
∂x
2
+

2
ˆ u
∂x
2
+

2
u
0
∂y
2
+

2
ˆ u
∂y
2

,
∂v
0
∂t
+
∂ˆ v
∂t
+ (u
0
+ˆ u)

∂v
0
∂x
+
∂ˆ v
∂x

+ (v
0
+ˆ v)

∂v
0
∂y
+
∂ˆ v
∂y

= −
∂p
0
∂y

∂ˆ p
∂y
+
1
Re
¸

2
v
0
∂x
2
+

2
ˆ v
∂x
2
+

2
v
0
∂y
2
+

2
ˆ v
∂y
2

.
As expected, the O(1) terms are simply the Navier-Stokes equations (9.26)–(9.28)
for the base flow u
0
, v
0
and p
0
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 395 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
The O() terms for the disturbance flow are
∂ˆ u
∂x
+
∂ˆ v
∂y
= 0, (9.30)
∂ˆ u
∂t
+u
0
∂ˆ u
∂x
+v
0
∂ˆ u
∂y
+
∂u
0
∂x
ˆ u +
∂u
0
∂y
ˆ v = −
∂ˆ p
∂x
+
1
Re
¸

2
ˆ u
∂x
2
+

2
ˆ u
∂y
2

, (9.31)
∂ˆ v
∂t
+u
0
∂ˆ v
∂x
+v
0
∂ˆ v
∂y
+
∂v
0
∂x
ˆ u +
∂v
0
∂y
ˆ v = −
∂ˆ p
∂y
+
1
Re
¸

2
ˆ v
∂x
2
+

2
ˆ v
∂y
2

. (9.32)
Because is small, we neglect O(
2
) terms. Thus, the evolution of the
disturbances are governed by the linearized Navier-Stokes (LNS) equations
(9.30)–(9.32), where the base flow is known.
⇒ Linear Stability Theory
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 396 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
In principle, we could impose a perturbation ˆ u, ˆ v, ˆ p at any time t
i
and track its
evolution in time and space to determine if the flow is stable to the imposed
perturbation. To fully characterize the stability of the base flow, however, would
require many calculations of the LNS equations with different perturbation
“shapes” imposed at different times.
We can formulate a more manageable stability problem by doing one or both of
the following:
1
Consider simplified base flows.
2
Impose “well-behaved” perturbations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 397 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Local Normal Mode Analysis
Classical linear stability analysis takes advantage of both simplifications mentioned
above:
1
Base flow:
i) Steady

∂u
0
∂t
=
∂v
0
∂t
= 0. (9.33)
ii) Parallel (e.g. Poiseuille flow)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 398 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
⇒u
0
= u
0
(y), v
0
= 0, p
0
= p
0
(x). (9.34)
2
Perturbations – we impose normal modes for ˆ u, ˆ v, ˆ p of the form (temporal
analysis):
ˆ u(x, y, t) = u
1
(y)e
i(αx−αct)
,
ˆ v(x, y, t) = v
1
(y)e
i(αx−αct)
,
ˆ p(x, y, t) = p
1
(y)e
i(αx−αct)
,
(9.35)
where α is the wavenumber, which is real, and c = c
r
+ic
i
is the complex
wavespeed. Note that the wavelength of the disturbance is proportional to
1/α.
Notes:
1
It is understood that we take the real parts of (9.35) (or add complex
conjugate).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 399 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
2
Consider the disturbances, e.g.
ˆ u(x, y, t) = Re

u
1
(y)e
i(αx−αct)

, c = c
r
+ic
i
= Re

u
1
(y)e
αc
i
t
e
αi(x−c
r
t)

,
= Re [u
1
(y)e
αc
i
t
¦cos[α(x −c
r
t)] +i sin[α(x −c
r
t)]¦] ,
ˆ u(x, y, t) = u
1
(y)e
αc
i
t
cos[α(x −c
r
t)]
⇒ Sine wave with wavenumber α and phase velocity c
r
, i.e. normal mode.
If c
i
> 0, the amplitude of the perturbation grows unbounded as t →∞ with
growth rate αc
i
.
3
Because equations (9.30)–(9.32) are linear, each normal mode with
wavenumber α may be considered independently of one another (cf. von
Neumann numerical stability analysis).
⇒ For a given mode α, we are looking for the eigenvalue (wavespeed) with the
fastest growth rate.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 400 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
4
This is regarded as a “local” analysis because the stability of only one
velocity profile (9.34), i.e. at a single streamwise location, is considered at a
time due to the parallel-flow assumption.
5
In some cases, the parallel flow assumption can be justified on formal grounds
if the wavelength is such that 1/α <L, where L is a typical streamwise
length scale in the flow.
6
For the temporal analysis considered here, α is real and c is complex. For a
spatial analysis, α is complex and c is real.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 401 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
For steady, parallel base flow (9.33) and (9.34), the Navier-Stokes equations
(9.26)–(9.28) reduces to (from equation (9.27))
d
2
u
0
dy
2
= Re
∂p
0
∂x
, (9.36)
where Rep

0
(x) is a constant for Poiseuille flow. The disturbance equations
(9.30)–(9.32) become
∂ˆ u
∂x
+
∂ˆ v
∂y
= 0, (9.37)
∂ˆ u
∂t
+u
0
∂ˆ u
∂x
+
∂u
0
∂y
ˆ v = −
∂ˆ p
∂x
+
1
Re
¸

2
ˆ u
∂x
2
+

2
ˆ u
∂y
2

, (9.38)
∂ˆ v
∂t
+u
0
∂ˆ v
∂x
= −
∂ˆ p
∂y
+
1
Re
¸

2
ˆ v
∂x
2
+

2
ˆ v
∂y
2

. (9.39)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 402 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Substitution of the normal modes (9.35) into the disturbance equations
(9.37)–(9.39) leads to
αiu
1
+v

1
= 0, (9.40)
αi(u
0
−c)u
1
+u

0
v
1
= −αip
1
+
1
Re
(u

1
−α
2
u
1
), (9.41)
αi(u
0
−c)v
1
= −p

1
+
1
Re
(v

1
−α
2
v
1
), (9.42)
where primes denote differentiation with respect to y.
Solving equation (9.40) for u
1
and substituting into equation (9.41) results in
−(u
0
−c)v

1
+u

0
v
1
= −αip
1

1
αi
1
Re
(v

1
−α
2
v

1
), (9.43)
leaving equations (9.42) and (9.43) for v
1
(y) and p
1
(y). Solving equation (9.43)
for p
1
(y), differentiating and substituting into equation (9.42) leads to
(u
0
−c)(v

1
−α
2
v
1
) −u

0
v
1
=
1
αi
1
Re
(v

1
−2α
2
v

1

4
v
1
), (9.44)
which is the Orr-Sommerfeld equation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 403 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Notes:
1
For a given base flow u
0
(y), Reynolds number Re, and wavenumber α, the
Orr-Sommerfeld equation is a differential eigenproblem of the form
L
1
v
1
= cL
2
v
1
,
where the wavespeeds c are the (complex) eigenvalues, the disturbance
velocities v
1
(y) are the eigenfunctions, and L
1
and L
2
are differential
operators.
2
The Orr-Sommerfeld equation applies for steady, parallel, viscous flow
perturbed by infinitesimally small normal modes, which is a local analysis.
3
For inviscid flow, i.e. as Re →∞, the Orr-Sommerfeld equation reduces to
the Rayleigh equation
(u
0
−c)(v

1
−α
2
v
1
) −u

0
v
1
= 0.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 404 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
4
For non-parallel flows, a significantly more involved global stability analysis is
required in which the base flow is 2-D, i.e.
u
0
= u
0
(x, y), v
0
= v
0
(x, y), p
0
= p
0
(x, y),
and the perturbations are of the form
ˆ u(x, y, t) = u
1
(x, y)e
−ict
,
ˆ v(x, y, t) = v
1
(x, y)e
−ict
,
ˆ p(x, y, t) = p
1
(x, y)e
−ict
,
in place of equation (9.35).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 405 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Numerical Solution of the Orr-Sommerfeld Equation
Recall that the continuous differential eigenproblem (9.44), i.e. the
Orr-Sommerfeld equation, is of the form
L
1
v
1
= cL
2
v
1
.
We seek a corresponding discrete, i.e. algebraic, generalized eigenproblem of the
form
M(α, Re)v = cN(α)v, (9.45)
where we have dropped the subscript on v. Let us rewrite the Orr-Sommerfeld
equation in the form
¸
i
αRe
v

+P
j
v

+Q
j
v

= c

v

−α
2
v

, (9.46)
where
P(y
j
) = u
0
(y
j
) −
2αi
Re
,
Q(y
j
) =
α
3
i
Re
−α
2
u
0
(y
j
) −u

0
(y
j
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 406 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
To discretize equation (9.46) using central differences, we take
d
2
v
dy
2
=
v
j+1
−2v
j
+v
j−1
(∆y)
2
+O(∆y
2
),
d
4
v
dy
4
=
v
j+2
−4v
j+1
+ 6v
j
−4v
j−1
+v
j−2
(∆y)
4
+O(∆y
2
).
Substituting these approximations into equation (9.46) and collecting terms leads
to the difference equation
[Cv
j−2
+B
j
v
j−1
+A
j
v
j
+B
j
v
j+1
+Cv
j+2
] = c

¯
Bv
j−1
+
¯
Av
j
+
¯
Bv
j+1

,
(9.47)
where
A
j
=
6i
αRe
+ (∆y)
2

(∆y)
2
Q
j
−2P
j

,
B
j
= −
4i
αRe
+ (∆y)
2
P
j
,
C =
i
αRe
,
¯
A = −(∆y)
2

2 +α
2
(∆y)
2

,
¯
B = (∆y)
2
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 407 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Because the Orr-Sommerfeld equation is 4
th
-order, we need two boundary
conditions at each boundary. For solid surfaces at y = a, b, we set
v = v

= 0, at y = a, b. (9.48)
Because v is known at y = a, b, i.e. v
1
= v
J+1
= 0, the unknowns are
v
j
, j = 2, . . . , J.
Applying equation (9.47) at j = 2, we have
¸
Cv
0
+B
2
&
&b
0
v
1
+A
2
v
2
+B
2
v
3
+Cv
4

= c
¸
¯
B
&
&b
0
v
1
+
¯
Av
2
+
¯
Bv
3

,
and from v

= 0 at y = a (j = 1)
v
2
−v
0
2∆y
= 0 ⇒ v
0
= v
2
.
Substituting into the difference equation for j = 2 results in
[(C +A
2
)v
2
+B
2
v
3
+Cv
4
] = c

¯
Av
2
+
¯
Bv
3

. (9.49)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 408 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Similarly, for j = J
[Cv
J−2
+B
J
v
J−1
+ (C +A
J
)v
J
] = c [Bv
J−1
+Av
J
] . (9.50)
Also for j = 3, J −1, we have v
1
= v
J+1
= 0. Therefore, the matrices in the
algebraic form of the eigenproblem (9.45) are
M(α, Re) =

C +A
2
B
2
C 0 0 0 0 0 0
B
3
A
3
B
3
C 0 0 0 0 0
C B
4
A
4
B
4
C 0 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0 0 C B
J−1
A
J−1
B
J−1
0 0 0 0 0 0 C B
J
C +A
J
¸
¸
¸
¸
¸
¸
¸
¸
¸
,
N(α) =

¯
A
¯
B 0 0 0 0 0
¯
B
¯
A
¯
B 0 0 0 0
0
¯
B
¯
A
¯
B 0 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 0
¯
B
¯
A
¯
B
0 0 0 0 0
¯
B
¯
A
¸
¸
¸
¸
¸
¸
¸
¸
¸
,
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 409 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
and the eigenvector is v
T
= [v
2
v
3
v
J
]. Thus, M is pentadiagonal, and N is
tridiagonal.
The (large) generalized eigenproblem (9.45) must be solved to obtain the complex
wavespeeds c, i.e. the eigenvalues, and the discretized eigenfunctions v(y) for a
given α and Re.
Notes:
1
The J −1 eigenvalues obtained approximate the infinity of eigenvalues of the
continuous differential eigenproblem (9.44), i.e. the Orr-Sommerfeld
equation.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 410 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
2
The least stable mode, i.e. that with the fastest growth rate αc
i
, is given by
αmax(c
i
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 411 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
3
A marginal stability curve may be obtained by determining max(c
i
) for a
range of Re and α and plotting the max(c
i
) = 0 contour:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 412 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Methods of Solution:
1
Convert the generalized eigenproblem (9.45) to a regular eigenproblem by
multiplying both sides by the inverse of N. That is, find the eigenvalues from

N
−1
M−cI

= 0.
This requires inverting a large matrix, and although M and N are typically
sparse and banded, N
−1
M is a full, dense matrix.
⇒ This would require use of a general approach, such as the iterative QR
method, to determine the eigenvalues of a large, dense matrix.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 413 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
2
In order to avoid solving the large matrix problem that results from the BVP,
traditionally the shooting method for IVPs has been used.
→ This approach avoided the need to find the eigenvalues of large matrices in the
days when computers were not capable of such large calculations.
→ In addition, it allowed for use of well-developed algorithms for IVPs.
→ However, this is like “using a hammer to drive a screw.”
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 414 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
3
Solve the generalized eigenproblem
Mv = cNv,
where M and N are large, sparse matrices, for the least stable mode. In
addition to the fact that the matrices are sparse, in stability contexts such as
this, we only need the least stable mode, not the entire spectrum of
eigenvalues. Recall that the least stable mode is that with the largest
imaginary part.
→ Currently, the state-of-the-art in such situations is the Arnoldi method
discussed in the last section.
Note that N must be positive definite for use in the Arnoldi method. That is,
it must have all positive eigenvalues. In our case, this requires us to take the
negatives of the matrices M and N as defined above.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 415 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
Example: Plane-Poiseuille Flow
As an illustration, let us consider stability of Plane-Poiseuille flow, i.e.
pressure-driven flow in a channel.
Such a flow is parallel; therefore, the base flow is a solution of equation (9.36).
The solution is a parabolic velocity profile given by
u
0
(y) = y(2 −y), 0 ≤ y ≤ 2. (9.51)
Note that the base flow is independent of the Reynolds number.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 416 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
See the Mathematica notebook “OS Psvll.nb” for a solution of the
Orr-Sommerfeld equation using the approach outlined in the previous section.
→ This notebook calculates the complex wavespeeds, i.e. the eigenvalues, for a
given wavenumber α and Reynolds number Re in order to evaluate stability.
→ Recall that a flow is unstable if the imaginary part of one of the discrete
eigenvalues is positive, i.e. max(c
i
) > 0. The growth rate of the instability is
then αmax(c
i
).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 417 / 454
Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability
By performing a large number of such calculations for a range of wavenumbers
and Reynolds numbers, we can plot the marginal stability curve for
plane-Poiseuille flow. This shows the curve in α-Re parameter space for which
max(c
i
) = 0 delineating the regions of parameter space in which the flow is stable
and unstable to normal-mode perturbations.
5000 6000 7000 8000 9000 10000
0.80
0.85
0.90
0.95
1.00
1.05
1.10
Thus, the critical Reynolds number is approximately Re
c
= 5, 800.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 418 / 454
Numerical Modeling of Turbulent Flows Introduction
Outline
10
Numerical Modeling of Turbulent Flows
Introduction
Direct Numerical Simulation
Large-Eddy Simulation
Reynolds Averaged Navier-Stokes
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 419 / 454
Numerical Modeling of Turbulent Flows Introduction
Turbulent flows are characterized by the following:
They are highly unsteady ⇒ Seemingly random fluctuations of velocity about
a mean.
They are inherently three-dimensional due to velocity fluctuations (even if the
mean flow is two-dimensional).
They involve a wide range of temporal and spatial scales.
Thus, turbulent flows are very difficult to model numerically.
There are three basic approaches (given in increasing degree of approximation):
1) Direct Numerical Simulation (DNS):
Navier-Stokes equations are solved for all scales. ⇒ Very fine grids are
required.
2) Large Eddy Simulation (LES):
Recognize that only the large-scale motions depend on the macroscopic
features of the particular flow, and that the small-scale features are similar for
certain classes of turbulent flows. ⇒ Solve numerically for large scales and
model small scales.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 420 / 454
Numerical Modeling of Turbulent Flows Introduction
3) Reynolds Averaged Navier-Stokes (RANS):
Solve numerically the time averaged Navier-Stokes equations for the mean
flow.
Requires turbulence models for closure of the governing equations.
Summarizing:
DNS ⇒ no turbulence modeled.
LES ⇒ some, i.e. small-scale, turbulence modeled.
RANS ⇒ all turbulence modeled.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 421 / 454
Numerical Modeling of Turbulent Flows Direct Numerical Simulation
Outline
10
Numerical Modeling of Turbulent Flows
Introduction
Direct Numerical Simulation
Large-Eddy Simulation
Reynolds Averaged Navier-Stokes
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 422 / 454
Numerical Modeling of Turbulent Flows Direct Numerical Simulation
In DNS all scales must be resolved.
Consider the following definitions:
= rate of dissipation of turbulent kinetic energy
l
K
=

ν
3

1/4
= Kolmogorov scale (size of the smallest turbulent eddies)
L = length scale of large eddies
Re
L
= Reynolds number based on magnitude of
velocity fluctuations and L, e.g. Re
L
≈ 0.01Re.
Here, Re is the macroscopic Reynolds number.
The grid size must be smaller than l
K
in order to resolve all of the scales;
therefore,
N ∼
L
l
K
∼ Re
3/4
L
,
where N is the number of grid points in each direction.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 423 / 454
Numerical Modeling of Turbulent Flows Direct Numerical Simulation
Note that as Re
L
↑ ⇒l
K
↓ ⇒N ↑; therefore, DNS is only practical for small to
moderate Re.
Notes:
1) DNS is only possible for moderate Re flows in simple geometries (with
current computational resources). This gives rise to the early, i.e. 1990s,
”turbulence-in-a-box” simulations.
2) DNS produces very detailed information about the flow (see DNS figures):
⇒ Can be used to evaluate turbulence statistics, e.g. to compare with
experiments.
⇒ Gives qualitative knowledge of flow (coherent structures, etc...).
⇒ Used to develop turbulence models for similar flows.
3) Spectral methods are popular for DNS because highly accurate solutions can
be obtained.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 424 / 454
Numerical Modeling of Turbulent Flows Large-Eddy Simulation
Outline
10
Numerical Modeling of Turbulent Flows
Introduction
Direct Numerical Simulation
Large-Eddy Simulation
Reynolds Averaged Navier-Stokes
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 425 / 454
Numerical Modeling of Turbulent Flows Large-Eddy Simulation
In LES we filter the velocity and pressure fields so they only contain large-scale
components, i.e. local average of complete fields:
¯ u
i
(x
i
) =

G(x, x

)u
i
(x

)dx

, (10.1)
where G(x, x

) is the filter kernel having an associated length scale ∆:
Eddies > ∆ ⇒ large eddies (computed).
Eddies < ∆ ⇒ small turbulent eddies (modeled).
That is,
l
K
≤ modeled < ∆ < computed ≤ L
Numerical grid: l
K
< ∆x
i
< ∆, i.e. smaller than ∆, but not as small as l
K
(cf.
DNS).
Apply filter (10.1) to Navier-Stokes equations with
u
i
(x
i
, t) = ¯ u
i
(x
i
, t) +u

i
(x
i
, t), p(x
i
, t) = ¯ p(x
i
, t) +p

(x
i
, t),
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 426 / 454
Numerical Modeling of Turbulent Flows Large-Eddy Simulation
where ¯ u
i
(x
i
, t) is the resolvable scale velocity (computed), and u

i
(x
i
, t) is the
subgrid scale (SGS) velocity.
The filtered Navier-Stokes equations are (in tensor notation)
∂¯ u
i
∂x
i
= 0,
∂¯ u
i
∂t
+

∂x
j
u
i
u
j
= −
1
ρ
∂¯ p
∂x
i
+ν∇
2
¯ u
i
.
(10.2)
Thus, we have a set of equations for large-scale quantities, but
u
i
u
j
= ¯ u
i
¯ u
j
+ ¯ u
i
u

j
+u

i
¯ u
j
+u

i
u

j
. (10.3)
The first term on the right-hand-side is computed from the resolved scales, and
the remaining terms are τ
ij
= SGS Reynolds stress and must be modeled, i.e. they
contain u

i
and u

j
.
Therefore, the subgrid scale (SGS) model must specify τ
ij
as a function of the
resolvable variables (¯ u
i
, ¯ u
j
), and it provides for energy transfer between the
resolvable scales and the SGS.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 427 / 454
Numerical Modeling of Turbulent Flows Large-Eddy Simulation
The earliest and most common SGS model is the Smagorinsky model, which is an
eddy viscosity model (effective viscosity due to small-scale turbulent motion).
Thus, the SGS Reynolds stress τ
ij
increases transport and dissipation.
τ
ij
=
1
3
τ
kk
δ
ij
+ 2µ
t
¯
S
ij
, (10.4)
where
¯
S
ij
=
1
2

∂¯ u
i
∂x
j
+
∂¯ u
j
∂x
i

= strain-rate for resolved field
µ
t
= C
2
S
ρ∆
2
[
¯
S[.
Here, C
S
is the model parameter, which must be specified, and [
¯
S[ = (
¯
S
ij
¯
S
ij
)
1/2
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 428 / 454
Numerical Modeling of Turbulent Flows Large-Eddy Simulation
Notes:
1) The Smagorinsky model only accounts for energy transfer from large to small
scales.
2) The Smagorinsky model does not work well near boundaries (eddy viscosity is
much smaller and flow is more anisotropic).
3) Points (1) and (2) can be improved upon with dynamic SGS models:
Allow model parameter C
S
to vary with space and time, i.e. it is computed
from the resolvable flow field.
Automatically adjusts SGS parameter for anisotropic flow and flow near walls.
Allows for backscatter (µ
t
< 0), which accounts for energy transferred from
small scales to large scales.
Active area of ongoing research.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 429 / 454
Numerical Modeling of Turbulent Flows Large-Eddy Simulation
4) LES is more economical computationally than DNS; therefore, it can be
applied to more complex flows. Consider, for example, the flow over a wall
mounted block (Re = 3, 200 and grid: 240 128 128) and combustor flows
(see figures) and note the level of detail obtained for the flow.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 430 / 454
Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes
Outline
10
Numerical Modeling of Turbulent Flows
Introduction
Direct Numerical Simulation
Large-Eddy Simulation
Reynolds Averaged Navier-Stokes
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 431 / 454
Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes
In RANS we compute only the mean flow and model all of the turbulence:
u(x
i
, t) = ¯ u(x
i
) +u

(x
i
, t), (10.5)
where ¯ u(x
i
) is the mean flow, and u

(x
i
, t) are the turbulent fluctuations (not the
same as u

in LES).
To obtain the mean flow, we use Reynolds averaging:
Steady mean flow ⇒ time average Navier-Stokes equations
¯ u(x
i
) = lim
T→∞
1
T

T
0
u(x
i
, t)dt, (10.6)
where T = averaging interval.
Unsteady mean flow ⇒ ensemble average.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 432 / 454
Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes
For incompressible flow, the Reynolds averaged Navier-Stokes equations are
∂¯ u
∂x
+
∂¯ v
∂y
= 0,
ρ
¸
∂¯ u
∂t
+ ¯ u
∂¯ u
∂x
+ ¯ v
∂¯ u
∂y

= −
∂¯ p
∂x
+

∂x
¸
µ
∂¯ u
∂x
−ρu

u

+

∂y
¸
µ
∂¯ u
∂y
−ρu

v

,
ρ
¸
∂¯ v
∂t
+ ¯ u
∂¯ v
∂x
+ ¯ v
∂¯ v
∂y

= −
∂¯ p
∂y
+

∂x
¸
µ
∂¯ v
∂x
−ρu

v

+

∂y
¸
µ
∂¯ v
∂y
−ρv

v

,
(10.7)
where ρu

u

, ρu

v

, ρv

v

are the Reynolds stresses. Equations (10.7) are three
equations for five unkowns (¯ u, ¯ v, ¯ p, u

, v

); therefore, we have a closure problem.
Closure is achieved by relating the Reynolds stresses to the mean flow quantities
through a turbulence model.
k − Turbulence Model:
The k − model is the most common turbulence model used in applications, but
there are many others.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 433 / 454
Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes
Define:
k =
1
2
u

i
u

i
= turbulent kinetic energy,
= ν
T

∂u

i
∂x
j

∂u

i
∂x
j

= rate of dissipation of turbulent energy.
Here, k and are determined from a solution of the following coupled equations,
which are derived from Navier-Stokes,
ρ
Dk
Dt
=

∂x
j

µ
T
σ
k
∂k
∂x
j


T

∂u
i
∂x
j
+
∂u
j
∂x
i

∂u
i
∂x
j
−ρ, (10.8)
ρ
D
Dt
=

∂x
j

µ
T
σ


∂x
j

+
C
1
µ
T

k

∂u
i
∂x
j
+
∂u
j
∂x
i

∂u
i
∂x
j

ρC
2

2
k
. (10.9)
The terms on the left-hand-side represent the transport of k and , and the first,
second and third terms on the right-hand-side represent diffusion, production and
dissipation, respectively, of k and .
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 434 / 454
Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes
µ
T
(x
i
) is the local eddy viscosity and is related to k and by
µ
T
=
C
µ
ρk
2

. (10.10)
The eddy viscosity µ
T
is used to relate the Reynolds stresses to the mean flow
quantities through
−ρu

i
u

j
= µ
T

∂¯ u
i
∂x
j
+
∂¯ u
j
∂x
i


2
3
ρkδ
ij
. (10.11)
Notes:
1) Equations (10.8)–(10.10) involve five constants, C
µ
, C
1
, C
2
, σ
k
, σ

, which
must be determined empirically.
2) Special treatment is necessary at solid boundaries; therefore, wall functions
that are usually based on the log-law are used for turbulent boundary layers.
3) Produces less detailed information about the flow than DNS and LES, but
RANS requires significantly more modest computational resources as
compared to DNS and LES. Thus, it is good for engineering applications, and
is used by most commercial CFD codes.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 435 / 454
Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes
4) Most turbulence models (including k −) have difficulties with accurately
predicting separation.
Consider the example of an impinging jet (see figures). Note the significant
differences between the results obtained with the two models used, both in terms
of the locations and magnitudes of turbulent kinetic energy.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 436 / 454
Parallel Computing Introduction
Outline
11
Parallel Computing
Introduction
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 437 / 454
Parallel Computing Introduction
Glossary:

Supercomputer – the fastest computers available at a particular time.

MIPS – Millions of Instructions Per Second; outdated measure of computer
performance (architecture dependent).

Floating point operation – an operation, e.g. addition, subtraction,
multiplication or division, on one or more floating point numbers (non
integers).

FLOPS – Floating Point Operations Per Second; current measure of
computer performance for numerical applications.
MFLOPS MegaFLOPS million (10
6
) FLOPS
GFLOPS GigaFLOPS billion (10
9
) FLOPS
TFLOPS TeraFLOPS trillion (10
12
) FLOPS
PFLOPS PetaFLOPS 10
15
FLOPS

Serial processing – a computer code is executed line-by-line in sequence on
one processor.

Scalar processing – a processor performs calculations on a single data
element.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 438 / 454
Parallel Computing Introduction

Vector processing – a processor performs calculations on multiple data
elements, i.e. a vector, simultaneously.

Parallel processing – multiple processors (or cores) perform operations
simultaneously on different data elements.

Massively parallel – parallel computers involving thousands of processors.

MPP – Massively Parallel Processing.

SMP – Symmetric Multi-Processing; shared memory parallelism.

Shared memory parallelism – all of the processors share the same memory.

Distributed memory parallelism – all of the processors access their own
memory.

MPI – Message Passing Interface; most common library used for
inter-processor communication on distributed memory computers.

Cluster – a parallel computer comprised of commodity hardware, e.g. Beowulf
cluster (commodity hardware, Linux OS, and open source software).

SIMD – Single Instruction, Multiple Data; all processors perform the same
instruction on different data elements.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 439 / 454
Parallel Computing Introduction

MIMD – Multiple Instruction, Multiple Data; all processors perform different
instructions on different data elements.

Embarrassingly parallel – processors work in parallel with very little or no
communication between them, e.g. image processing and Seti@Home.

Coupled parallel – processors work in parallel but require significant
communication between them, e.g. CFD.

HPC – High Performance Computing.

Grid computing – parallel computing across a geographically distributed
network (e.g. the internet); analogous to the electric grid.

Multi-core CPUs – a single chip with multiple processors (cores).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 440 / 454
Parallel Computing Introduction
A Brief History of Supercomputers:
Generations of Supercomputer Architectures:
Note that each architecture requires its own approach to programming, and not
all algorithms are amenable to each.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 441 / 454
Parallel Computing Introduction
Milestones:
Year Supercomputer Peak Speed
1906 Babbage Analytical Engine 0.3 OPS
1946 ENIAC 50 kOPS
1964 CDC 6600 (Seymour Cray) 3 MFLOPS
1969 CDC 7600 36 MFLOPS
1976 Cray-1 (Seymour Cray) 250 MFLOPS
1981 CDC Cyber 205 400 MFLOPS
1983 Cray X-MP 941 MFLOPS
1985 Cray-2 3.9 GFLOPS
1985 Thinking Machines CM-2 (64k)
1989 Cray Y-MP
1993 Thinking Machines CM-5 65.5 GFLOPS
1993 Intel Paragon 143.4 GFLOPS
1996 Hitachi/Tsukuba CP-PACS (2k) 368.2 GFLOPS
1999 Intel ASCI Red (10k) 2.8 TFLOPS
2002 NEC Earth Simulator (5k) 35.9 TFLOPS
2005 IBM Blue Gene/L (131k) 280.6 TFLOPS
2008 IBM Roadrunner (130k) 1.105 PFLOPS
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 442 / 454
Parallel Computing Introduction
Milestones (cont’d):
1954 – Fortran (Formula Translation) developed
1970 – Unix developed at AT&T Bell Labs
Components of Computing:
1
Hardware – the computer (CPUs, memory, storage, network, etc.)
→ Assuming adequate memory, the computational time is primarily determined
by:
Sequential → CPU speed
Parallel → number of CPUs, CPU speed, inter-processor communication speed
and bandwidth, percent of code that is run in parallel (see Amdahl’s law).
2
Software – OS, compiler, libraries, program, etc.
3
Algorithms – the numerical method
→ Note that the best algorithms for serial computers often are not the best for
parallel computers (e.g. BLKTRI).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 443 / 454
Parallel Computing Introduction
Issues in Parallel Computing:
1
Data dependency
→ Can calculations be carried out independently of one another on separate
processors?
→ Examples:
Thomas algorithm ⇒ no.
Red-black Gauss-Siedel ⇒ yes.
2
Load balancing
→ Desire all processors to be utilized 100% of the time.
3
Scalability
→ Ability of a parallel code to maintain its speedup with increasing numbers of
processors and increasing problem size ⇒ see Amdahl’s Law.
4
Coarse vs. fine-grain parallelism
Fine-grain parallelism ⇒ parallelize the lower level structures of a program,
e.g. loops.
Coarse-grain parallelism ⇒ parallelize the higher level structures of a program,
e.g. equations.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 444 / 454
Parallel Computing Introduction
5
Architectures:
SIMD (e.g. CM-2) vs. MIMD
Shared memory (e.g. Cray, SGI, multicore CPUs, etc.):
Distributed memory (e.g. CM, clusters, etc.):
.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 445 / 454
Parallel Computing Introduction
Key Ingredients That Make Clusters Possible:
Hardware:
1) Fast, cheap PCs – inexpensive and widely available CPUs, memory, storage.
2) High-performance (high-bandwidth, low latency) LANs, e.g. Gigabit Ethernet,
Myrinet, Infiniband.
Software:
3) Open source OS, e.g. Linux – common platform on which to build tools
(previously, most supercomputing vendors had their own proprietary tools, e.g.
CM Fortran).
4) MPI – standardize message passing on various platforms (developed at ANL).
→ Ingredients (3) and (4) were not available during MPP (e.g. CM) heyday
in mid ’80s - mid ’90s. This led to the demise of the CM.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 446 / 454
Parallel Computing Introduction
Amdahl’s Law:
Measure of speedup S(N) on N processors versus single processor, i.e. serial code.
Amdahl’s Law:
S(N) =
T(1)
T(N)
=
N
N −(N −1)F
,
where T(N) is the time required using N processors, and F is the fraction of the
serial run time that the code spends in the parallel portion.
See Mathematica notebook ‘’AmdahlsLaw.nb.”
Notes:
1
If F = 1 (100% parallel) ⇒ S(N) = N (linear speedup)
If F < 1 ⇒ S(N) < N (sub-linear speedup)
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 447 / 454
Parallel Computing Introduction
2
Maximum speedup for given F with N →∞:
lim
N→∞
S(N) = lim
N→∞
N
N −(N −1)F
=
1
1 −F
=
1
F
s
,
where F
s
= 1 −F is the fraction of time in the serial code spent doing the
serial portion.
e.g. F = 0.95 ⇒F
s
= 0.05 ⇒ S(∞) = 20
3
In practice, F
s
(and F) depends on the number of processors N and the size
of the problem n, i.e. the number of grid points.
Thus, for ideal scalability a parallel algorithm should be such that
F
s
(N, n) →0 (F →1) as n →∞
∴ S(N) →N as n →∞ ⇒linear speedup
4
Parallel efficiency – fraction of total potential (linear) speedup achieved:
E(N) =
S(N)
N
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 448 / 454
Parallel Computing Introduction
5
Illustrates importance of profiling – determining where the code spends most
of its time in order to know where to focus parallelization efforts.
6
Ignores overhead due to parallelization:

Inter-processor communication

Synchronization of data between processors

Load imbalances
Modified Amdahl’s Law:
Modified to account for parallel overhead.
Modified Amdahl’s Law:
S(N) =
N
N −(N −1)F +N
2
F
o
,
where F
o
is the fraction of time spent due to parallel overhead.
See Mathematica notebook “AmdahlsLaw.nb.”
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 449 / 454
Parallel Computing Introduction
Top 500 Supercomputers (www.top500.org)
Compiled every six months based on LINPACK benchmark tests.
November 2005:
26th List / November 2005 www.top500.org page 4
26th List: The TOP10
9
6
5120 2002 Japan Earth Simulator Center 35.86 Earth-Simulator NEC
7
4
5200 2005 USA Oak Ridge National Lab 20.53
Jaguar
Cray XT3
Cray 10
12288 2005 Netherlands
ASTRON
University Groningen
27.45 eServer Blue Gene IBM
4800 2005 Spain
Barcelona Supercomputer
Center
27.91
MareNostrum
BladeCenter JS20, Myrinet
IBM
8
5
10880 2005 USA Sandia 36.19
Red Storm
Cray XT3
Cray
6
10
8000 2005 USA Sandia 38.27 Thunderbird Dell 5
10160 2004 USA NASA Ames 51.87
Columbia
Altix, Infiniband
SGI
4
3
10240 2005 USA DOE/NNSA/LLNL 63.39
ASC Purple
eServer pSeries p575
IBM 3
40960 2005 USA IBM Thomas Watson 91.29
BGW
eServer Blue Gene
IBM 2
131072 2005 USA DOE/NNSA/LLNL 280.6
BlueGene/L
eServer Blue Gene
IBM 1
#Proc Year Country Installation Site
Rmax
[TF/s]
Computer Manufacturer
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 450 / 454
Parallel Computing Introduction
Current List (November 2008):
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 451 / 454
Parallel Computing Introduction
Geographic location of top 100 supercomputers:
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 452 / 454
Parallel Computing Introduction
TOP500 List Highlights - November 2008:
Intel dominates the high-end processor market with 75.8 percent of all
systems and 87.5 percent of quad-core based systems.
410 systems are labeled as clusters, making this the most common
architecture in the TOP500 with a stable share of 82 percent.
Quad-core processor based systems have taken over the TOP500 quite
rapidly. Already 336 systems are using them. Seven systems use IBM’s
advanced Sony PlayStation 3 processor with 9 cores.
The average concurrency level in the TOP500 is 6,240 cores per system up
from 4,850 six month ago.
IBM and Hewlett-Packard continue to sell the bulk of systems at all
performance levels of the TOP500. HP took over the lead in systems with
209 systems (41.8 percent) over IBM with 188 systems (37.6 percent).
The U.S. is the leading consumer of HPC systems with 291 of the 500
systems (up from 257). The European share (151 systems – down from 184)
is settling down after having risen for some time, but is still substantially
larger then the Asian share (47 systems – unchanged).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 453 / 454
Parallel Computing Introduction
The entry level to the list moved up to the 12.64 Tflop/s mark on the
Linpack benchmark, compared to 9.0 Tflop/s six months ago.
The last system on the newest list would have been listed at position 267 in
the previous TOP500 just six months ago.
Total combined performance of all 500 systems has grown to 16.95 Pflop/s,
compared to 11.7 Pflop/s six months ago and 6.97 Pflop/s one year ago.
The entry point for the top 100 increased in six months from 18.8 Tflop/s to
27.37 Tflop/s (which would have been # 9 on the November 2005 list).
The entry level into the TOP50 is at 50.55 Tflop/s (which would have been
# 5 on the November 2005 list).
Of the top 50, 56 percent of systems are installed at research labs and 32
percent at universities. Cray’s XT is the most-used system family with 20
percent, followed by IBMs BlueGene with 16 percent. The average
concurrency level is 30,490 cores per system – up from 24,400 six month ago.
Seven U.S. DOE systems dominate the TOP10.
Roadrunner (# 1) is based on the IBM QS22 blades that are built with
advanced versions of the processor in the Sony PlayStation 3.
The list now includes energy consumption of the supercomputers.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 454 / 454

Introduction to CFD

Advantages and disadvantages of analytical, computational and experimental approaches to fluid mechanics: Analytical: + Provides exact solutions to governing equations. + Gives physical insight, e.g. relative importance of different effects. + Can consider hypothetical problems (e.g. inviscid, incompressible, zero-gravity, etc.). − Exact solutions only available for simple problems and geometries. − Of limited direct value in design.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

3 / 454

Introduction to CFD

Computational: + Address more complex problems (physics and geometries). + Can consider hypothetical flows ⇒ test theoretical models. + Provides detailed solutions ⇒ good understanding of flow, e.g. does separation occur? + Perform parametric studies. + Can easily try different configurations, e.g. geometry, boundary conditions, etc... ⇒ important in design. + Computers becoming faster and cheaper ⇒ range of CFD expanding. + Increased potential using parallel processing. + More cost effective and faster than experimental prototyping. − Requires accurate governing equations (don’t have for turbulence, combustion, etc..., which require modeling). − Boundary conditions sometimes difficult to implement, e.g. outlet. − Difficult to do in certain parameter regimes, e.g. high Reynolds numbers, and complex geometries.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

4 / 454

Introduction to CFD

Experimental: + Easier to get overall quantities for problem (e.g. lift and drag on an airfoil). + No “modeling” necessary. − Often requires intrusive measurement probes. − Limited measurement accuracy. − Limited measurement resolution. − Effects of support apparatus, end walls, etc... must be considered. − Some quantities difficult to obtain, e.g. streamfunction, vorticity, etc.... − Experimental equipment often expensive and takes up space. − Difficult and costly to test full-scale models. Note: Computational approaches do not replace analytical or experimental approaches, but complement them.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

5 / 454

Numerical Methods: General Considerations and Approaches

Components and Properties of a Numerical Solution

Outline

2

Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution Numerical Solution Approaches
Finite Difference Boundary-Value Problems Finite Element Spectral Methods Vortex Methods

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

6 / 454

Numerical Methods: General Considerations and Approaches

Components and Properties of a Numerical Solution

Numerical Solution Procedure:
Physical System i.e. Reality

1

Physical Laws + Models

Mathematical Model i.e. Governing Equations
(odes or pdes)

Analytical Solution

2

Discretization

System of Linear Equations

3

Matrix Solver

Numerical Solution

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

7 / 454

Numerical Methods: General Considerations and Approaches

Components and Properties of a Numerical Solution

Steps:
1 2

Mass, momentum and energy conservation + models, idealizations, etc... Discretization – approximation of the continuous differential equation(s) by a system of algebraic equations for the dependent variables at discrete locations in the independent variables (space and time). For example, using finite differences

3

Numerical solutions of linear systems of equations.
⇒ Method of discretization often produces certain structure: e.g. second-order centered differences lead to a tridiagonal system of equations.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

8 / 454

e. Cassel 10 / 454 . W. Discretization errors – difference between exact solution of governing equations and exact solution of algebraic equations. 2∆x dx 2 Stability – numerical procedure must not magnify errors produced in the numerical solution. 2 3 Iterative convergence errors – difference between numerical solution. truncation error. ui+1 −ui−1 → du for consistency. dx 2∆x where O(∆x2 ) is the truncation error.Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution Sources of errors in numerical solutions arise due to each step of the Numerical Solution Procedure: 1 Modeling errors – difference between actual flow and exact solution of mathematical model. and exact solution to algebraic equations. ⇒ Compromises must often be made at each stage of the procedure. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. This is where the “pragmatism” mentioned by Dawes is an important element of CFD. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.g.e. Unstable method ⇒ diverge from exact solution. DNS of turbulence in other than elementary flows is currently impossible. i. i) Method of discretization → inherent error of method. as ∆x → 0. i. iterative. ii) Computational grid → can be refined.g. e.: du ui+1 − ui−1 = + O(∆x2 ). Cassel 9 / 454 Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution Properties of successful numerical solution methods: 1 Consistency – discretized equations must become governing equations as grid size goes to zero truncation error = discretized equations – exact equations e. W. from the definition of the derivative. Therefore.

where e is the error. 4 “Correctness” – numerical solution should compare favorably with available analytical solutions. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. therefore. Then halving the grid size reduces the error by a factor of four. for O(∆x2 ) ⇒ ∆x → e. Truncation error gives the rate of convergence to the exact solution as grid is reduced. W. refine grid until grid-independent solution is obtained. W. e.g. experimental results or other computational solutions within the limitations of each. Cassel 11 / 454 Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Outline 2 Numerical Methods: General Considerations and Approaches Components and Properties of a Numerical Solution Numerical Solution Approaches Finite Difference Boundary-Value Problems Finite Element Spectral Methods Vortex Methods MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. iterative convergence). Cassel 12 / 454 . Generally don’t have exact solution.Numerical Methods: General Considerations and Approaches 3 Components and Properties of a Numerical Solution Convergence – numerical solution of discretized equations approaches exact solution of governing equations as grid size goes to zero (cf.

g. Can extend to higher-order approximations. e. Advantages: Relatively straightforward to understand and implement (based on Taylor series). The most common approaches used in CFD are briefly described below. Produces algebraic equations involving each grid point and surrounding points. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Numerical Methods: General Considerations and Approaches Numerical Solution Approaches The discretization step (step 2 in the Numerical Solution Procedure) may be accomplished using different methods. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Local approximation method. Cassel 14 / 454 . Popular in fluid dynamics research. Very general ⇒ Apply to a wide variety of problems (including complex physics. fluids plus heat transfer plus combustion). W. Cassel 13 / 454 Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Finite Difference Basic approach: Discretize the governing equations in differential form using Taylor-series-based finite-difference approximations at each grid point. Utilizes familiar differential form of governing equations.

). even if solution in inaccurate. Popular for commercial CFD codes (e. Advantages: Easier to treat complex geometries than finite-difference approach. mass.g. energy. “Ensures” conservation of necessary quantities (i. Disadvantages: More difficult to construct higher-order schemes. FLUENT).Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Disadvantages: More difficult to implement for complex geometries. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e. Cassel 15 / 454 Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Finite Volume Basic approach: Apply conservation equations in integral form to a set of control volumes. W. momentum. i. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Local approximation method. Produces algebraic equations for each control volume involving surrounding control volumes. Uses less familiar integral formulation of governing equations. etc.e. Cassel 16 / 454 .

Disadvantages: Results in unstructured grids. Cassel 17 / 454 Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Spectral Methods Basic approach: Solution of governing equations in differential form are approximated using truncated (usually orthogonal) eigenfunction expansions. highly structured matrices). Can achieve rapid convergence. Produces set of linear or nonlinear algebraic equations. finite difference ⇒ sparse. Produces system of algebraic equations (steady) or system of ordinary differential equations (unsteady) involving the coefficients in the eigenfunction expansion. W. Popular in commercial codes (particularly for solid mechanics and heat transfer). Cassel 18 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Local approximation method. W. Advantages: Obtain highly accurate solutions when underlying solution is smooth. Popular for direct numerical simulation (DNS) of turbulence. Advantages: Easy to treat complex geometries. Global approximation method.Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Finite Element Basic approach: Apply conservation equations in variational form with weighting function to set of finite elements. Solution methods are inefficient for the types of matrices resulting from finite-element discretizations (cf.

W. Small changes in problem can cause large changes in algorithm. Cassel 20 / 454 . Not well suited for solutions having large gradients. Cassel 19 / 454 Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Vortex Methods MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Neumann).g. W. More difficult to treat complicated boundary conditions (e.Numerical Methods: General Considerations and Approaches Numerical Solution Approaches Disadvantages: Less straightforward to implement than finite difference. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

The heat transfer within the extended fin is governed by the 1-D ordinary-differential equation (see. W.Finite-Difference Methods Extended Fin Example Outline 3 Finite-Difference Methods Extended Fin Example Formal Basis for Finite Differences Application to Extended Fin Example Properties of Tridiagonal Matrices Thomas Algorithm Extended Fin Example – Convection Boundary Condition MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. (3. consider the 1-D heat conduction in an extended surface with convection to the ambient air. for example. Cassel 22 / 454 1 dAc Ac dx dT − dx 1 h dAs Ac k dx (T − T∞ ) = 0.1) . Cassel 21 / 454 Finite-Difference Methods Extended Fin Example As an example. Incropera & DeWitt): d2 T + dx2 where MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.

h = convective heat transfer coefficient. k = thermal conductivity. .2) g(x) MMAE 517 (Illinois Institute of Technology) = Computational Fluid Dynamics Finite-Difference Methods Extended Fin Example For now. I.1) as d2 θ dθ + f (x) + g(x)θ = 0. . and the solution θi = θ(xi ) is to be determined for i = 2. Cassel 24 / 454 . and it is a boundary-value problem requiring boundary conditions at both ends of the domain. rewrite equation (3. . Equation (3.3) x = L.2) with boundary conditions (3. Ac k dx c 2010 K.1) is a second-order ordinary differential equation with variable coefficients. Ac dx − 1 h dAs . (3. W.Finite-Difference Methods Extended Fin Example T (x) = temperature distribution. W. fi = f (xi ) and gi = g(xi ) are known. Letting θ(x) = T (x) − T∞ . consider Dirichlet boundary conditions θ = θb = Tb − T∞ θ = θL = TL − T∞ at at x = 0.3) represents the mathematical model (step 1 in the Numerical Solution Procedure). 2 dx dx where f (x) = 1 dAc . Cassel 23 / 454 (3. . Step 2 → Discretization: Divide the interval 0 ≤ x ≤ L into I equal subintervals of length ∆x = L I: Here. Ac (x) = cross-sectional area. Note that equation (3. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. As (x) = surface area from base.

Graphical interpretation: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i. consider the definition of the derivative dθ θ(xi + ∆x) − θ(xi ) . W. but not going to zero.e. = lim dx x=xi ∆x→0 ∆x This may be interpreted as a forward difference if ∆x is small. Cassel 26 / 454 . Cassel 25 / 454 Finite-Difference Methods Extended Fin Example Forward Difference: dθ dx dθ dx dθ dx ≈ xi θi+1 − θi ∆x θi − θi−1 ∆x θi+1 − θi−1 2∆x Backward Difference: ≈ xi Central Difference: Which approximation is better? ≈ xi MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. finite difference.Finite-Difference Methods Extended Fin Example In order to discretize the differential equation.

5) Solving for (dθ/dx)i gives dθ dx = i θi+1 − θi ∆x − ∆x 2 d2 θ dx2 − ··· − i ∆xn−1 n! dn θ dxn + ··· .4) + ··· . Cassel 28 / 454 . i Apply the Taylor series at x = xi+1 : (xi+1 − xi = ∆x) θi+1 = θi +∆x dθ dx + i ∆x2 2 d2 θ dx2 + i ∆x3 6 d3 θ dx3 +· · ·+ i ∆xn n! dn θ dxn +· · · .6) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 27 / 454 Finite-Difference Methods Formal Basis for Finite Differences Consider the Taylor series expansion of a function θ(x) in the vicinity of the point xi θ(x) = θ(xi ) + (x − xi ) (x − xi )3 + 3! d3 θ dx3 dθ dx (x − xi )2 + 2! i d2 θ dx2 i (x − xi )n + ··· + n! i dn θ dxn (3. i (3. W. i (3.Finite-Difference Methods Formal Basis for Finite Differences Outline 3 Finite-Difference Methods Extended Fin Example Formal Basis for Finite Differences Application to Extended Fin Example Properties of Tridiagonal Matrices Thomas Algorithm Extended Fin Example – Convection Boundary Condition MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.

i.10) i i MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 29 / 454 Finite-Difference Methods Formal Basis for Finite Differences Equations (3. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.5) to obtain θi+1 − θi−1 = 2∆x dθ dx ∆x3 + 3 i d3 θ dx3 2∆x2n+1 +···+ (2n + 1)! i d2n+1 θ dx2n+1 +··· . if all of the terms are retained in the expansions. dxn i (3.10) are exact expressions for the first derivative (dθ/dx)i . apply the Taylor series at x = xi−1 : (xi−1 − xi = −∆x) θi−1 = θi −∆x dθ dx + i ∆x2 2 d2 θ dx2 − i ∆x3 6 d3 θ dx3 +· · ·+ i (−1)n ∆xn n! dn θ +· · · . i (3.7) dn θ +· · · . ⇒ For small ∆x.Finite-Difference Methods Formal Basis for Finite Differences Similarly. Cassel 30 / 454 . (3. dxn i (3. successive terms get smaller and the order of the truncation error is given by the first truncated term.6). (3.8) Solving again for (dθ/dx)i gives dθ dx = i θi − θi−1 ∆x + ∆x 2 d2 θ dx2 − i ∆x2 6 d3 θ dx3 +· · ·+ i (−1)n ∆xn−1 n! Alternatively.9) and solve for (dθ/dx)i to obtain dθ dx θi+1 − θi−1 ∆x2 = − 2∆x 6 d3 θ dx3 ∆x2n −· · ·− (2n + 1)! i d2n+1 θ dx2n+1 −· · · .8) and (3.e. W. subtract equation (3.7) from (3. W. Approximate finite difference expressions for the first derivative may then be obtained by truncating the series after the first term: dθ dx dθ dx dθ dx ≈ i θi+1 − θi + O(∆x) ∆x θi − θi−1 + O(∆x) ∆x → Forward difference → Backward difference ≈ i ≈ i θi+1 − θi−1 + O(∆x2 ) → Central difference 2∆x The truncation error is the sum of all the truncated terms.

(3. to obtain a second-order acccurate forward-difference approximation to the first derivative.11) to obtain 4θi+1 − θi+2 = 3θi + 2∆x Solving for (dθ/dx)i gives dθ dx −3θi + 4θi+1 − θi+2 ∆x2 = + 2∆x 3 d3 θ dx3 + ··· .Finite-Difference Methods Formal Basis for Finite Differences Higher-order approximations may be obtained by various manipulations of the Taylor series at additional points. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. This gives θi+1 + θi−1 = 2θi + ∆x2 Solving for (d2 θ/dx2 )i leads to d2 θ dx2 θi+1 − 2θi + θi−1 ∆x2 = − ∆x2 12 d4 θ dx4 + ··· . i (3. Cassel 32 / 454 . For example. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i d2 θ dx2 + i ∆x4 12 d4 θ dx4 + ··· . i dθ dx 2∆x3 − 3 i d3 θ dx3 + ··· . W. to eliminate the (dθ/dx)i term.5) − (3. W. respectively. i (3.7) for θi+1 and θi−1 .5) and (3.13) i Note that the second-order accurate central-difference approximations for both the first and second derivatives involve the point of interest and its two neighbors. apply the Taylor series at xi+2 as follows θi+2 = θi + 2∆x dθ dx + i (2∆x)2 2! d2 θ dx2 + i (2∆x)3 3! d3 θ dx3 + · · · .11) i We eliminate the (d2 θ/dx2 )i term by taking 4×(3. Cassel 31 / 454 Finite-Difference Methods Formal Basis for Finite Differences For a second-order accurate central-difference approximation to the second derivative add equation (3.12) i which is second-order accurate and involves the point of interest and the two previous points.

Finite-Difference Methods Application to Extended Fin Example Outline 3 Finite-Difference Methods Extended Fin Example Formal Basis for Finite Differences Application to Extended Fin Example Properties of Tridiagonal Matrices Thomas Algorithm Extended Fin Example – Convection Boundary Condition MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 33 / 454 Finite-Difference Methods Application to Extended Fin Example Returning to the fin equation (3. .14) where the difference equation is applied at each interior point of the domain.2) d2 θ dθ + g(x)θ = 0. (∆x)2 2∆x for the point xi . ai = 1 − 2 bi ci di MMAE 517 (Illinois Institute of Technology) = −2 + (∆x)2 gi . c 2010 K. Cassel 34 / 454 ∆x fi . W. . and ∆x fi . . Multiplying by (∆x)2 and collecting terms leads to ai θi−1 + bi θi + ci θi+1 = di . 2 Computational Fluid Dynamics . I. + f (x) dx2 dx and approximating the derivatives using second-order accurate finite differences gives θi+1 − 2θi + θi−1 θi+1 − θi−1 + fi + gi θi = 0. = = 1+ 0. (3. i = 2. . W.

i = 2. . .  .  =  .   . . .Finite-Difference Methods Application to Extended Fin Example Note that because we have discretized the differential equation at each interior grid point. . . . .   0 0 · · · aI−1 bI−1 cI−1  θI−1   dI−1 0 0 ··· 0 aI bI θI dI − cI θI+1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 36 / 454 . The coefficient  b2 c2 a3 b3   0 a4  . . . Cassel 35 / 454 Finite-Difference Methods Properties of Tridiagonal Matrices Outline 3 Finite-Difference Methods Extended Fin Example Formal Basis for Finite Differences Application to Extended Fin Example Properties of Tridiagonal Matrices Thomas Algorithm Extended Fin Example – Convection Boundary Condition MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. I at each interior grid point. . . .  .  0 0 0 0 matrix for the difference equation (3. . . . . . .   .  . . .. W.14) is tridiagonal     0 0 ··· 0 0 0 θ2 d2 − a2 θ1  c3 0 · · · 0 0 0   θ3   d3      b4 c4 · · · 0 0 0   θ4   d4      . . W. we obtain a set of (I − 1) algebraic equations for the (I − 1) unknown values of the temperature θi . .  . .

Consider the common case that may result from the use of central differences for a second-order derivative: a = 1.15) The eigenvalues with the largest and smallest magnitudes are (which is largest or smallest depends upon a. W. N. π N +1 2 Nπ −π N +1 1 − · · · = −1 + 2 − ··· . . . . W.. . . 0 0 0 0 0 0 constant ai . . Cassel 38 / 454 . c = 1. . and ci  ··· 0 0 · · · 0 0  · · · 0 0  . (3. . . b = −2. . |λ|min Let us consider N large. . Cassel 37 / 454 Computational Fluid Dynamics Finite-Difference Methods Properties of Tridiagonal Matrices Then the condition number of A using an L2 norm is defined by cond2 (A) = |λ|max . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . . c 2010 K. bi . · · · b c ··· a b It can be shown that the eigenvalues of a tridiagonal matrix are √ λj = b + 2 ac cos jπ N +1 . b and c) √ |λ1 | = b + 2 ac cos √ |λN | = b + 2 ac cos MMAE 517 (Illinois Institute of Technology) π N +1 Nπ N +1 . . which is weakly diagonally dominant. . . . expanding cosine in a Taylor series (the first is expanded about π/(N + 1) → 0 and the second about N π/(N + 1) → π cos cos π N +1 Nπ N +1 1 =1− 2! 1 = −1 + 2! π N +1 2 1 + 4! 2 π N +1 4 + ··· . .Finite-Difference Methods Properties of Tridiagonal Matrices Consider a N × N tridiagonal matrix with  b c 0 a b c  0 a b  A = . . j = 1. . Thus. .

Then from equation (3. diagonally dominant. c = 1. N |aii | > j=1. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 3) Computations are stable with respect to round-off errors. b = −4. see the Mathematica notebook “Ill-Conditioned Matrices and Round-Off Error.16) Thus.j=i |aij |: 1) A is nonsingular. cond2 (A) ≈ (π/(N + 1))2 π2 ⇒ Increases proportional to N 2 with increasing N .Finite-Difference Methods Properties of Tridiagonal Matrices Then with the large N expansions from above |λ1 | = −2 + 2 1 (1)(1) 1 − 2 1 (1)(1) −1 + 2 π N +1 2 + ··· 2 = π N +1 2 + ··· . therefore. i.” 6 = 3. (3. the condition number for large N is approximately cond2 (A) ≈ ⇒ Constant with increasing N . which is strictly. To see the influence of condition number on round-off error. it is invertible. or strongly. Cassel 39 / 454 Finite-Difference Methods Properties of Tridiagonal Matrices Now consider the case with a = 1. Cassel 40 / 454 . for large N . It can be proven that for any strictly diagonally dominant matrix A. the condition number for large N is approximately 4(N + 1)2 4 = . W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e. 2) Gauss elimination does not require row interchanges for conditioning.16). W. |λN | = −2 + 2 π N +1 − ··· = 4 + ··· . 2 for large N .

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . i = I. Fi = δ1 = θ1 = θb = boundary condition δi = di − ai δi−1 . ci . Cassel 42 / 454 . Note the order of evaluation for the back substitution. Cassel 41 / 454 Finite-Difference Methods Thomas Algorithm Tridiagonal systems of equations may be solved directly using the Thomas algorithm. bi − ai Fi−1 i = 2. W. I. . . . . W. .Finite-Difference Methods Thomas Algorithm Outline 3 Finite-Difference Methods Extended Fin Example Formal Basis for Finite Differences Application to Extended Fin Example Properties of Tridiagonal Matrices Thomas Algorithm Extended Fin Example – Convection Boundary Condition MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . which is essentially application of Gauss elimination and consists of two stages (shown here for Dirichlet boundary conditions): 1) Forward Elimination: F1 = 0. . 2. bi − ai Fi−1 2) Back Substitution: θI+1 = θL = boundary condition θi = δi − Fi θi+1 .

W. which is as good a scaling as one could hope for. for example. Appendix A for a derivation. 3 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. requires O(I 3 ) operations. Cassel 44 / 454 . this means |bi | ≥ |ai | + |ci |. or weakly diagonally dominant if the equal sign applies. For example. where if the greater than sign applies we say that the matrix is strictly diagonally dominant. To prevent ill-conditioning the system of equations should be diagonally dominant.Finite-Difference Methods Thomas Algorithm Notes: 1 2 See Anderson. The Thomas algorithm only requires O(I) operations. For our tridiagonal system. note how errors could accumulate in the Fi . Performing operations with ill-conditioned matrices can result in the growth of small round-off errors that then contaminate the solution. δi coefficients in the Thomas algorithm. W. Gauss elimination of a full (dense) matrix. Cassel 43 / 454 Finite-Difference Methods Extended Fin Example – Convection Boundary Condition Outline 3 Finite-Difference Methods Extended Fin Example Formal Basis for Finite Differences Application to Extended Fin Example Properties of Tridiagonal Matrices Thomas Algorithm Extended Fin Example – Convection Boundary Condition MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

∆x For a more accurate approximation. where p = h. From equation (3. This is known as a Robin boundary condition and is of the form pθ + q dθ =r dx at x = L. q = k. we must use a forward difference. let us consider a more realistic convection condition at the tip −k or with θ(x) = T (x) − T∞ −k dθ dx = hθ(L) x=L dT = h(T − T∞ ) at x = L. W. we may use the second-order accurate approximation from equation (3.Finite-Difference Methods Extended Fin Example – Convection Boundary Condition Rather than a Dirichlet boundary condition at the tip of the fin.6) applied at i = 1. Cassel 45 / 454 Finite-Difference Methods Extended Fin Example – Convection Boundary Condition Now let us consider evaluation of the heat flux at the base of the fin qb = −kAc (0) dT dx = −kAc (0) x=0 dθ dx . 2∆x MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. x=0 In order to evaluate dθ/dx at the base x = 0. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.12) applied at i = 1 dθ dx ≈ x=0 −3θ1 + 4θ2 − θ3 + O(∆x2 ). which are inputs to the Thomas algorithm. dx Note that the convection condition results in specifying a linear combination of the temperature and its derivative at the tip. we have the first-order accurate forward-difference approximation dθ dx ≈ x=0 θ2 − θ1 + O(∆x). which assumes that we know the temperature there. Cassel 46 / 454 . W. r = 0.

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Finite-Difference Methods Extended Fin Example – Convection Boundary Condition Even higher-order finite-difference approximations may be formed. forward-difference approximation is dθ dx ≈ x=0 −11θ1 + 18θ2 − 9θ3 + 2θ4 + O(∆x3 ). W. the third-order. Cassel 47 / 454 Classification of Second-Order Partial Differential Equations Mathematical Classification Outline 4 Classification of Second-Order Partial Differential Equations Mathematical Classification Hyperbolic Equations Parabolic Equations Elliptic Equations Mixed Equations MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 48 / 454 . W. For example. 6∆x Observe that each successive approximation requires one additional point in the interior of the domain.

equation is linear in highest derivative (e.4) (4. dτ dτ ∂x dτ ∂y Thus. i. dτ dτ dτ dτ dτ dτ (4. ψ1 (τ ) = ux .g. ux .3) (4.e.Classification of Second-Order Partial Differential Equations Mathematical Classification Consider the general second-order partial differential equation for u(x. c. W. e and f are only functions of (x. y) auxx + buxy + cuyy + dux + euy + f u = g. y). we have d dx ∂ dy ∂ = + .2) dψ1 d dx dy dx dy = ux = uxx + uxy = φ1 + φ2 .1) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. b and c may be functions of (x. Quasi-linear ⇒ a. φ2 (τ ) = uxy . xx Let us determine the criteria necessary for the existence of a smooth (differentiable) and unique (single-valued) solution along a curve C: (4. b. d. Substituting into equation (4. uy ). y.5) (4. let φ1 (τ ) = uxx . Linear ⇒ a. W.1) gives aφ1 + bφ2 + cφ3 = g − dψ1 − eψ2 − f u = H. ψ2 (τ ) = uy . Cassel 50 / 454 . from (4. Transforming from (x. Cassel 49 / 454 Classification of Second-Order Partial Differential Equations Mathematical Classification Along C. φ3 (τ ) = uyy .2) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. no u2 terms). y) → τ . u. dτ dτ dτ dτ dτ dτ dψ2 d dx dy dx dy = uy = uxy + uyy = φ2 + φ3 .

Cassel 51 / 454 Computational Fluid Dynamics Classification of Second-Order Partial Differential Equations Mathematical Classification This is a quadratic equation for dy/dx. b2 − 4ac < 0 ⇒ no real roots ⇒ no characteristics ⇒ elliptic p.6) → The curves C for which y(x) satisfy (4. Cassel 52 / 454 . they are      a b c φ1 H  dx/dτ dy/dτ   φ2  =  dψ1 /dτ  0 0 dx/dτ dy/dτ φ3 dψ2 /dτ If the determinant of the coefficient matrix is not equal to zero. b2 − 4ac = 0 ⇒ 1 real root ⇒ 1 characteristic ⇒ parabolic p. i. √ dy b ± b2 − 4ac = . Written in matrix form. Thus.e. It can be shown that if the second-order derivatives exist. the second-order derivatives φ1 .e. Setting the determinant equal to zero gives a dy dτ 2 +c dx dτ 2 −b dx dτ dy dτ = 0. W.e. or multiplying by (dτ /dx)2 a MMAE 517 (Illinois Institute of Technology) dy dx 2 −b dy dx + c = 0.d. the second derivatives are discontinuous along C.1). W. i.e. a unique solution exists for the second derivatives along the curve C. if the determinant of the coefficient matrix is equal to zero.d. their behavior is determined by the sign of b2 − 4ac: b2 − 4ac > 0 ⇒ 2 real roots ⇒ 2 characteristics ⇒ hyperbolic p. Because the characteristics must be real.d. φ2 and φ3 . On the other hand.6) are called characteristic curves of equation (4.3)–(4. c 2010 K. and they are curves along which the second-order derivatives are discontinuous. which is the slope of the curve C. dx 2a (4.e. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.5) are three equations for three unknowns. the solution is not unique. then derivatives of all orders exist along C as well.Classification of Second-Order Partial Differential Equations Mathematical Classification Equations (4.

W. 2 3 4 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e. For the case of elliptic equations. 2 = 0. W. Then det[A] = ac − b2 /4 or   > 0. The classification depends on the coefficients of the highest-order derivatives. we write (let x = x1 . Cassel 53 / 454 Classification of Second-Order Partial Differential Equations Mathematical Classification Notes: 1 Physically. Note that if from equation (4. y = x2 .e. characteristics are curves along which information propagates in the solution.Classification of Second-Order Partial Differential Equations Mathematical Classification The terminology arises from classification of the second-degree algebraic equation ax2 + bxy + cy 2 + dx + ey + f = 0.1). then b b au11 + 2 u12 + 2 u21 + cu22 = H) A= a b/2 b/2 c (analogous to quadratic forms in MMAE 501). b and c. i. −4 det[A] = b − 4ac  < 0. hyperbolic parabolic elliptic MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. conic sections.). It can be shown that the classification of a partial differential equation is independent of the coordinate system (see. the matrix A is positive definite. Cassel 54 / 454 . Tannehill et al. for example. a. i.

dx dy = λ2 . y = λ 2 x + x2 . b and c are constant (λ1 . which are straight lines. dx (4. For example.7) If a.Classification of Second-Order Partial Differential Equations Hyperbolic Equations Outline 4 Classification of Second-Order Partial Differential Equations Mathematical Classification Hyperbolic Equations Parabolic Equations Elliptic Equations Mixed Equations MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂t2 ∂x (y → t : a = σ 2 . σ 1 λ2 = − . then we may integrate to obtain y = λ1 x + x1 . λ1 = MMAE 517 (Illinois Institute of Technology) 1 . from equations (4. b = 0. Cassel 56 / 454 Computational Fluid Dynamics .6). W. Therefore.6) and (4. the solution propagates along two linear characteristic curves. say dy = λ1 . Cassel 55 / 454 Classification of Second-Order Partial Differential Equations Hyperbolic Equations From equation (4. c = −1) where u(x. t) is the amplitude of the wave. λ2 constant). and σ is the wave speed. for a hyperbolic equation there are two real roots. Therefore.7). σ c 2010 K. consider the wave equation ∂2u ∂2u = σ2 2 . W.

Hyperbolic equations in fluid dynamics: Unsteady inviscid flow Steady supersonic inviscid flow MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 0) = f (x). and c constant are straight lines with slopes 1/σ and −1/σ.e. F2 ) only depends upon the initial conditions. W. Cassel 58 / 454 . b. The solution to the wave equation is of the form u(x. c 2010 K. t) = F1 (x + σt) + F2 (x − σt). Cassel 57 / 454 Computational Fluid Dynamics Classification of Second-Order Partial Differential Equations Hyperbolic Equations Note that no boundary conditions are necessary at specified values of x. such as u(x. i.Classification of Second-Order Partial Differential Equations Hyperbolic Equations Therefore. and initial conditions are required at say t = 0. the solution (F1 . W. the characteristics of the wave equation with a. 0) = g(x). MMAE 517 (Illinois Institute of Technology) ut (x.

then we may integrate to obtain y= b x + γ1 .Classification of Second-Order Partial Differential Equations Parabolic Equations Outline 4 Classification of Second-Order Partial Differential Equations Mathematical Classification Hyperbolic Equations Parabolic Equations Elliptic Equations Mixed Equations MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. the solution propagates along one linear characteristic direction (usually time).g. consider the one-dimensional. temperature).g. Cassel 60 / 454 . 2a (4. W. b = c = 0) ∂t ∂x where u(x. which is dy b = . heat conduction) ∂u ∂2u = α 2 . Therefore. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. and α is the diffusivity.8) which is a straight line. (y → t : a = α. Cassel 59 / 454 Classification of Second-Order Partial Differential Equations Parabolic Equations From equation (4.6). W. t) is the quantity undergoing diffusion (e. For example. for a parabolic equation there is only one real root. dx 2a If a and b are constant. unsteady diffusion equation (e.

the characteristics (with b = 0) are lines of constant t. Cassel 61 / 454 Classification of Second-Order Partial Differential Equations Parabolic Equations Parabolic equations in fluid dynamics: Unsteady Navier-Stokes Steady boundary-layer flow (no separation): u ∂u ∂p ∂ 2 u ∂u +v =− + . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. t) = g(t). b = 0. Cassel 62 / 454 . ∂x ∂y ∂x ∂y 2 (a = 0. u(x2 . 0) = u0 (x). i. W. t) = f (t). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. such as u(x. Initial and boundary conditions are required. c = 1). u(x1 . In this case the solution marches forward in the x−direction from an initial velocity profile.e.Classification of Second-Order Partial Differential Equations Parabolic Equations The solution marches forward in time.

c = 1) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Classification of Second-Order Partial Differential Equations Elliptic Equations Outline 4 Classification of Second-Order Partial Differential Equations Mathematical Classification Hyperbolic Equations Parabolic Equations Elliptic Equations Mixed Equations MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.) ∂2u ∂2u + 2 = 0. potential flow. W. no characteristics ⇒ A disturbance anywhere affects the solution everywhere instantaneously. consider the Laplace equation (e. For example. etc. two-dimensional steady heat conduction. Cassel 64 / 454 . Cassel 63 / 454 Classification of Second-Order Partial Differential Equations Elliptic Equations Disturbances have infinite speed of propagation in all directions. i.g. b = 0. W. ∂x2 ∂y (a = 1.e.

Classification of Second-Order Partial Differential Equations Elliptic Equations Requires a global solution strategy. Cassel 66 / 454 . incompressible. Cassel 65 / 454 Classification of Second-Order Partial Differential Equations Mixed Equations Outline 4 Classification of Second-Order Partial Differential Equations Mathematical Classification Hyperbolic Equations Parabolic Equations Elliptic Equations Mixed Equations MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. irrotational) flow Poisson equation for pressure or streamfunction MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. W. Elliptic equations in fluid dynamics: Steady Navier-Stokes (also steady energy equation) Potential (inviscid. and boundary conditions (typically u or ∂u/∂n) must be specified on a closed contour bounding the domain.

y → n : a = 1 − M 2 . W. b = 0. The governing equation for two-dimensional. To determine the nature of the equation. then b2 − 4ac may change sign with space and/or time. we have the same equation. c = 1). consider transonic flow (Mach ∼ 1). Cassel 68 / 454 . W. and s and n are streamline coordinates with s locally being tangent to the streamline and n being normal to the streamline. but different behavior in various regions. For example. n) is the velocity potential. where φ(s. Cassel 67 / 454 Classification of Second-Order Partial Differential Equations Mixed Equations In the above example. therefore. M is the local Mach number. compressible. M < 1 ⇒ b2 − 4ac < 0 ⇒ Elliptic M = 1 ⇒ b2 − 4ac = 0 ⇒ Parabolic M > 1 ⇒ b2 − 4ac > 0 ⇒ Hyperbolic MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. we have different equations in different regions of the flow. potential flow about a slender body is (1 − M 2 ) ∂2φ ∂2φ + = 0. steady. In the following example. observe that b2 − 4ac = 0 − 4(1 − M 2 )(1) = −4(1 − M 2 ). ∂s2 ∂n2 (x → s. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Classification of Second-Order Partial Differential Equations Mixed Equations If a. b and c are variable coefficients. ⇒ Character of equations may be different in certain regions.

W. W.Classification of Second-Order Partial Differential Equations Mixed Equations Consider the steady. incompressible viscous flow past a surface. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 70 / 454 . Cassel 69 / 454 Numerical Solutions of Elliptic Problems Introduction Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

e. W. 2 Global solution method. W. Cassel 71 / 454 Numerical Solutions of Elliptic Problems Introduction Recall that elliptic problems have no preferred direction of propagation. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. they require: 1 Boundary conditions on a closed contour surrounding the domain. i. Cassel 72 / 454 . therefore.Numerical Solutions of Elliptic Problems Introduction Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. boundary-value problem.

Numerical Solutions of Elliptic Problems

Introduction

Types of boundary conditions:
1 2 3

Dirichlet – φ specified. Neumann –
∂φ ∂n

specified (n is normal to boundary).
∂φ ∂n

Robin (mixed) –

+ aφ = b specified

Notes:
1

Combinations of the above boundary conditions may be applied on different portions of the boundary as long as some boundary condition is applied at every point along the boundary contour. Solutions to the Laplace and Poisson equations with Neumann boundary conditions on the entire boundary can only be determined relative to an unknown constant, i.e. φ(x, y) + c is a solution.

2

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

73 / 454

Numerical Solutions of Elliptic Problems

Introduction

Linear vs. Non-Linear Elliptic Problems: Linear – Linear equation and boundary conditions
e.g. Laplace (f = 0) or Poisson equations ∂2φ ∂2φ + = f (x, y), ∂x2 ∂y 2 with Dirichlet, Neumann or Robin boundary conditions.

Non-Linear:
1

2

Linear equation with non-linear boundary conditions; e.g. heat conduction with radiation condition ∂2T ∂2T + = 0, ∂x2 ∂y 2 ∂T 4 = D(T 4 − Tsur ). ∂n Non-linear equation; e.g.: Navier-Stokes equations „ 2 « ∂u ∂u ∂p 1 ∂ u ∂2u u +v =− + + . ∂x ∂y ∂x Re ∂x2 ∂y 2 Note that as Reynolds number, Re, increases, the non-linearity increases.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

74 / 454

Numerical Solutions of Elliptic Problems

Finite-Difference Methods for the Poisson Equation

Outline
5

Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems
Fourier Transform Methods Cyclic Reduction

Iterative (Relaxation) Methods
Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR)

Boundary Conditions
Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions

Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods
Motivation Multigrid Methodology Speed Comparisons
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 75 / 454

Numerical Solutions of Elliptic Problems

Finite-Difference Methods for the Poisson Equation

Outline (cont’d)
Treatment of Nonlinear Convective Terms
Upwind-Downwind Differencing

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

76 / 454

Numerical Solutions of Elliptic Problems

Finite-Difference Methods for the Poisson Equation

As a representative elliptic equation, which is important in its own right, consider the two-dimensional Poisson equation ∂2φ ∂2φ + 2 = f (x, y), ∂x2 ∂y where if f (x, y) = 0 we have the Laplace equation. (5.1)

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

77 / 454

Numerical Solutions of Elliptic Problems

Finite-Difference Methods for the Poisson Equation

In order to define the grid: Divide the x interval, 0 ≤ x ≤ a, into I equal subintervals of length ∆x, with xi = ∆x(i − 1). Divide the y interval, 0 ≤ y ≤ b, into J equal subintervals of length ∆y, with yj = ∆y(j − 1).

⇒ 2-D grid intersecting in (I + 1) × (J + 1) points.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

78 / 454

Numerical Solutions of Elliptic Problems

Finite-Difference Methods for the Poisson Equation

Consider an approximation to equation (5.1) at a typical point (i, j); the five point finite-difference stencil is

Using second-order accurate, central differences (with φi,j = φ(xi , yj )): φi+1,j − 2φi,j + φi−1,j ∂2φ ≈ + O(∆x2 ), 2 ∂x (∆x)2 ∂2φ φi,j+1 − 2φi,j + φi,j−1 ≈ + O(∆y 2 ). 2 ∂y (∆y)2
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 79 / 454

Numerical Solutions of Elliptic Problems

Finite-Difference Methods for the Poisson Equation

Substituting into (5.1) and multiplying by (∆x)2 gives the final form of the finite-difference equation φi+1,j − 2 1 + ∆x ∆y
2

φi,j + φi−1,j +

∆x ∆y

2

(φi,j+1 + φi,j−1 ) = (∆x)2 fi,j ,

(5.2) which results in a system of (I + 1) × (J + 1) equations for (I + 1) × (J + 1) unknowns. There are two options for solving such systems of equations:
1

Direct Methods:
i) ii) iii) iv) No iterative convergence errors. Efficient for certain types of linear systems, e.g. tridiagonal, block-tridiagonal. Become less efficient for large systems of equations. Typically cannot adapt to non-linear problems.

2

Iterative Methods:
i) Iterative convergence errors. ii) Generally more efficient for large systems of equations. iii) Apply to non-linear problems.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

80 / 454

W. Cassel 82 / 454 . W.Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 81 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

j = 1. and i = 1. . our five-point finite difference stencil becomes MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j − 2(1 + ∆)φi. . I + 1. Cassel 84 / 454 . . Repeating the difference equation (5. . . . .j−1 ) = (∆x)2 fi. . J + 1. . . ¯ where ∆ = (∆x/∆y)2 . In order to write the system of difference equations in matrix form. .j . I + 1 and j = 1. j) into a one-dimensional array (n) as follows (5. . we have ¯ ¯ φi+1. . where i = 1. n = 1.Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems We wish to consider direct methods for solving the discretized Poisson equation. let us renumber the two-dimensional mesh (i. .2) for the Poisson equation. Therefore.3) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . (I + 1)(J + 1). the relationship between the one-dimensional and two-dimensional indices is n = (i − 1)(J + 1) + j. Cassel 83 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Thus. J + 1. W.j + φi−1.j + ∆ (φi. . . .j+1 + φi. . . W.

. (I + 1)(J + 1). . etc.4) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . .4) for the Poisson equation becomes (with ¯ ∆ = ∆x = ∆y ⇒ ∆ = 1) φn+J+1 + φn−(J+1) + φn+1 + φn−1 − 4φn = ∆2 fn . and the tridiagonal blocks are   −4 1 0 ··· 0 0  1 −4 1 · · · 0 0   0 1 −4 · · · 0 0   D= .    . . the method for solving the system Aφ = d depends upon the form of the coefficient matrix A: Full or dense ⇒ Gauss elimination. .   . . (5. .   . . such as the Poisson equation): → Tridiagonal ⇒ Thomas algorithm → Fast Fourier Transform (FFT) and/or cyclic reduction. the system of equations Aφ = d is of the form      D I 0 ··· 0 0 φ1 d1  I D I ··· 0 0    φ2 d2      0 I D ··· 0 0    φ3 d3      = . . . .. W. . . . W.  . . . . separable elliptic partial differential equations. . (very expensive computationally). Cassel 86 / 454 . . . . . which generally are the fastest methods for problems in which they apply.Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems And the finite-difference equation (5. . . . I is an identity matrix block.      0 0 0 · · · D I  φ(I+1)(J+1)−1  d(I+1)(J+1)−1  0 0 0 ··· I D φ(I+1)(J+1) d(I+1)(J+1) A is a block tridiagonal matrix with (I + 1) blocks in both directions. . LU decomposition. . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. and d contains all known information from the boundary conditions. Cassel 85 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems 0 is a zero matrix block. where each block is a (J + 1) × (J + 1) matrix.. Sparse and banded → Result from discretizations of certain classes of problems (e. .  . . .  . Thus. .  . . 0 0 0 · · · −4 1  0 0 0 ··· 1 −4 In general. . . . where n = 1.g. .

W. .. . . and i is the imaginary number. Cassel 88 / 454 . N − 1.. N∆ n=− N N . W. the discrete Fourier transform is ∞ H(fn ) = −∞ h(t)e2πifn t dt. k = 0. . The inverse transform is ∞ h(t) = −∞ H(f )e−2πif t df.Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Fourier Transform Methods The Fourier transform of a continuous function h(t) is defined by ∞ H(f ) = −∞ h(t)e2πif t dt. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.. or approximating the integral by summing over each ∆ interval N −1 H(fn ) ≈ k=0 hk e2πifn tk ∆. where ∆ is the step size in the data. . 1. tk = k∆. 2 2 corresponding to the Nyquist critical frequency range. Consider the discrete form of the Fourier transform in which we have N values of h(t) at discrete points defined by hk = h(tk ). where f is the frequency. Cassel 87 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems After taking the Fourier transform. 2. we will have N discrete points in the frequency domain defined by fn = n . Using the fact that fn tk = (n/N ∆)k∆ = nk/N gives N −1 H(fn ) ≈ ∆ k=0 hk e2πikn/N . Thus.

Cassel (5. .2). set ∆ = ∆x = ∆y giving (with i → k.5) K−1 L−1 Φ(fm.9) where now fk. . m = −K .6)) φk.l + φk−1. . W. .8) Now let us apply this to the discretized Poisson equation (5. . j → l) φk+1.l e2πimk/K e2πinl/L . K . we write N −1 ˆ ∴ H(fn ) ≈ ∆hn .l = ∆2 fk. ˆ φm. .n = k=0 l=0 Computational Fluid Dynamics φk. . .l .8) into equation (5. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.l . n=−N/2 (5. For a two-dimensional grid. .Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems ˆ Denoting the summation in the previous expression by hn . . The inverse Fourier transform is (analogous to (5. . . ˆ hn = k=0 hk e2πikn/N .l−1 − 4φk. Cassel 90 / 454 .9) leads to ˆ φm. .l+1 + φk. ˆ where fm. Substituting equation (5.7) 89 / 454 MMAE 517 (Illinois Institute of Technology) Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems This is equivalent to taking the Fourier transform in each direction. m=−K/2 n=−L/2 (5.5) The discrete inverse Fourier transform is then 1 hk = N N/2 ˆ hn e−2πikn/N . (5.n e−2πikm/K e−2πiln/L . we define: k = 0.n ) ≈ ˆ ∆2 φm.n .l + φk. 2 2 l = 0.n e−2πi(k+1)m/K e−2πiln/L + e−2πi(k−1)m/K e−2πiln/L +e−2πikm/K e−2πi(l+1)n/L + e−2πikm/K e−2πi(l−1)n/L ˆ −4e−2πikm/K e−2πiln/L = ∆2 fm. L 2 2 → Physical grid → Transform space (frequency) The two-dimensional discrete Fourier transform of φ is (analogous to (5.6) The above expressions are all for a one-dimensional domain. (5.l is the right-hand-side of the Poisson equation (not frequency). W. .l 1 = KL K/2 L/2 ˆ φm. L − 1 n = −L. For simplicity. . . K − 1.n e−2πikm/K e−2πiln/L . c 2010 K.n is the Fourier transform of the right-hand-side fk.

n from equation (5. Cassel 92 / 454 .n 2 cos 2πm + cos K . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 2πn L −2 for m = 1. .n = ˆ ∆2 fm.n = k=0 l=0 fk.n .8).l using (similar to (5. . (5. Recalling that cos(ax) = eiax + e−iax /2 gives ˆ φm. . . .7)) K−1 L−1 ˆ fm. W.10) 2πm K + 2 cos 2πn L ˆ − 4 = ∆2 fm.n e−2πim/K + e2πim/K + e−2πin/L + e2πin/L − 4 = ∆2 fm.10). . L − 1.l e2πimk/K e2πinl/L . n = 1. we have ˆ ˆ φm.Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Canceling the common factor e−2πikm/K e−2πiln/L . . . to solve the difference equation (5.l using the inverse Fourier transform (5. Cassel 91 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Therefore.n of the right-hand-side fk.n . 3) Compute φk. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. (5.n 2 cos ˆ Solving for φm.9) using Fourier transform methods: ˆ 1) Compute the Fourier transform fm.11) ˆ 2) Compute φm.n leads to ˆ φm. K − 1.

W. For Dirichlet boundary conditions ⇒ Use sine transform. J. y). 4) We use Fourier transforms to solve the difference equation.l+L . Cassel 93 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Cyclic Reduction Again. . the solution satisfies φk. . j = 0. I. . Cassel 94 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. .l = φk+K. 2) In practice.l = φk. For Neumann boundary conditions ⇒ Use cosine transform. for example. . . therefore. ∂x2 ∂y discretized on a two-dimensional grid with ∆ = ∆x = ∆y and i = 0. consider the Poisson equation ∂2φ ∂2φ + 2 = f (x. this is not a spectral method. W. 3) Fourier transform methods can only be applied to partial differential equations with constant coefficients in the direction(s) for which the Fourier transform is applied. where I = 2n with integer n ((I + 1) × (J + 1) points): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. .e. the Fourier (and inverse) transforms are computed using a Fast Fourier Transform (FFT) technique (see. not the differential equation. i.Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Notes: 1) The above procedure works for periodic boundary conditions. Numerical Recipes). .

ui−1 + Bui + ui+1 = ∆2 fi .   fi. . . 0 0 ··· ··· ··· . . .  Note that equation (5. ··· ··· 0 0 0 . the difference equation for constant x-lines becomes ui−1 − 2ui + ui+1 + B ui = ∆2 fi . . (5.13) for i − 1. W. . where  φi. where the (J + 1) × (J + 1) matrix B is  −4 1 0  1 −4 1  0 1 −4  B= . . 0 0 0 1 −2 . .J         fi =  . (5. equation (5.  0 0 0 0 0 0 i = 0. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.12) becomes ui−1 + Bui + ui+1 = ∆2 fi . . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . ui + Bui+1 + ui+2 = ∆2 fi+1 . .J−1  fi.J−1  φi. i and i + 1: ui−2 + Bui−1 + ui = ∆2 fi−1 .1 φi. where I is the identity matrix.  .1 fi. . . .  i = 0.’ Writing three successive equations of (5. .12) correspond to the central difference in the x-direction. . . ··· ··· 0 0 0 . .     fi.   1 −4 0 0 0 . . I.   −2 1  0  B = . .13) corresponds to the block-tridiagonal matrix for equation (5. .Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Applying central differences to the Poisson equation.. where B is the tridiagonal portion and ui−1 and uu+1 are the ’fringes.J     .2 . . . −2 1 0 0 0 . . ..13) ··· ··· ··· . . . .   1 −2 The first three terms in equation (5. Cassel 96 / 454 . I. .0 φi.12)         ui =  . and the fourth term corresponds to the central difference in the y-direction (see B ).2 .     φi.4).0 fi. . −4 1     . .  . 0 0 1 −2 1 . Cassel 95 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Taking B = −2I + B . .  . . W.

where B∗ = 2I − B2 . solutions for all other i are obtained by successively solving the tridiagonal problems at each level in reverse: (5. applying this procedure to all even numbered i equations in (5. This cyclic reduction procedure can be repeated until a single equation remains for the middle line of variables. 2) Cyclic reduction may be applied to somewhat more general equations.13). 3) Can accelerate by taking FFT in one direction (with constant coefficients) and using cyclic reduction in the other. Cassel 97 / 454 Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems This results in a total of I tridiagonal problems to obtain ui . uI/2 (I = 2n . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.14) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. This is an equation of the same form as (5. such as those with variable coefficients. . Thus. W. I. fi∗ = fi−1 − Bfi + fi+1 .Numerical Solutions of Elliptic Problems Direct Methods for Linear Systems Multiplying −B times the middle equation and adding all three gives ui−2 + B∗ ui + ui+2 = ∆2 fi∗ . therefore. Cassel 98 / 454 . Notes: 1) Speed of FFT and cyclic reduction methods are comparable. . . using the solution for uI/2 . with integer n). W.13) reduces the number of equations by a factor of two. i = 0. . which is tridiagonal.

Cassel 100 / 454 . W. Cassel 99 / 454 Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

where L is the finite-difference operator for the particular problem.j at each point i. Cassel 102 / 454 MMAE 517 (Illinois Institute of Technology) . .1) ¯ ¯ φi+1.2) for the Poisson equation (5. . J + 1.j+1 + φi.j .j max |φn | i.17) 2(1 + ∆) Procedure: 1 Provide an initial guess φ1 for φi. . . . . This may be written in general form as Lφ = f. I + 1. (5.j .j 1 n n n 2 ¯ n ¯ φi+1. . for example. . Computational Fluid Dynamics c 2010 K. .16) until convergence.j i.15) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . .j + ∆ φi. j = 1. . Relax (iterate) by applying (5.j + φi−1.j i. . W. Iterative methods consist of beginning with an initial guess and iteratively “relaxing” equation (5. 2 3 = 10−4 ⇒ convergence to ∼ 4 significant figures.15) for φi.j−1 ) = (∆x)2 fi.j i. (5.j and indicating the iteration number using a superscript φn+1 = i. φ3 .16) (5. . determined by max |φn+1 − φn | i.j i = 1.j Continue until convergence. Cassel 101 / 454 Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Jacobi Iteration Solving equation (5.j−1 − (∆x) fi.17) at each grid point to produce successive approximations: φ2 .Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Returning to the difference equation (5.j + φi−1.j + ∆ (φi. .j − 2(1 + ∆)φi.j+1 + φi. φn . ¯ where ∆ = (∆x/∆y)2 . < .j where. W. i.

section 2. 1 Let D = diagonal elements of A −L = lower triangular elements of A −U Therefore. j = 1. 1 1 or x(n+1) = Mx(n) + M−1 c. . .Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Notes: 1 2 3 4 Convergence is too slow ⇒ not used in practice. Cassel 104 / 454 .2 notes. = upper triangular elements of A MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. → See MMAE 501. We write A = M1 − M2 . . thus. W.j i. Multiplying by M−1 gives 1 x(n+1) = M−1 M2 x(n) + M−1 c. Requires φn+1 and φn to be stored for all i = 1. . Ax = (D − L − U)x = c. where we put the iteration number in parentheses in order to distinguish it from powers. M2 = L + U): Dx(n+1) = (L + U)x(n) + c x(n+1) = D−1 (L + U)x(n) + D−1 c ∴ M = M−1 M2 = D−1 (L + U) 1 Then we check to be sure that the spectral radius of M satisfies ρ < 1 to ensure convergence of the iterative scheme. . . an iterative scheme may be devised by writing Ax = c in the form M1 x(n+1) = M2 x(n) + c. i. Then for Jacobi iteration (M1 = D. Although not necessary. J + 1. W. I + 1.j Used as a basis for comparison with other methods to follow. . Cassel 103 / 454 Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods where M = M−1 M2 is the iteration matrix. it is instructive to view iterative methods in matrix form Ax = c. . 1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.2.

J) = 1 cos 2 π I +1 + cos π J +1 . Cassel 106 / 454 . For example. Must store current and previous iterations for entire grid.e. As a result. (5. Cassel 105 / 454 Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Gauss-Seidel Iteration There are two problems with Jacobi iteration: 1 2 Slow convergence. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. It ¯ can be shown that for equation (5. ρJac (I) → 1.18) therefore. The Gauss-Seidel method addresses both problems by using the most recently updated information. then ρJac (I) = cos π I +1 1 =1− 2 π I +1 2 + ··· . W. If I = J and I is large.Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods In addition. if sweeping along lines of constant y MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. as I → ∞. a smaller spectral radius results in more rapid convergence. we observe slower convergence as I is increased.17) with ∆ = 1 (∆x = ∆y) and Dirichlet boundary conditions that ρJac (I. there is a disproportionate increase in computational time as I is increased. i.

j + φi−1.j 1 n+1 n+1 2 n ¯ n ¯ φi+1.Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Therefore. equation (5. Note: It can be shown that diagonal dominance of A is a sufficient (but not necessary) condition for convergence of the Jacobi and Gauss-Seidel iteration methods. the points φi.19) 2(1 + ∆) Observe that now it is not necessary to store φn at the previous iteration.j−1 and φi−1. (5. i. ρ < 1.j values of φi. the Gauss-Seidel method is (M1 = D − L. the Gauss-Seidel method requires one-half the iterations for the same level of accuracy. where ρ is the spectral radius of M = M−1 M2 (see Morton 1 and Mayers.e.j−1 − (∆x) fi.j have already been updated. (5. i.j+1 + φi. Jac MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 107 / 454 Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods therefore.j + ∆ φi. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. for our model problem ρGS (I) = ρ2 (I) Jac 1 = 1− 2 π I +1 2 2 + ··· =1− π I +1 2 + · · · . 205 for proof). p.j . and it is not necessary to distinguish between the (n) or (n + 1)st iterates.j . the rate of convergence is twice as fast as for Jacobi. W. and using these updated values.j are all stored in the same array. We simply use the most recently updated information. In matrix form. M2 = U): (D − L)x(n+1) = Ux(n) + c x(n+1) = (D − L)−1 Ux(n) + (D − L)−1 c ∴ M = M−1 M2 = (D − L)−1 U 1 It can be shown that ρGS = ρ2 .17) is changed to φn+1 = i. The i.20) Thus. when updating φi.e. Cassel 108 / 454 .

22) and for this ωopt . the new SOR iterate is given by i. the change at each iteration.j i.j φn+1 = (1 − ω)φn + ωφ∗ . p. In matrix form. the iterative solution normally approaches the exact solution very slowly. i. Cassel 110 / 454 . (5. M2 = (1 − ω)D + ωU): (D − ωL)x(n+1) = [(1 − ω)D + ωU] x(n) + ωc x(n+1) = (D − ωL)−1 [(1 − ω)D + ωU] x(n) + ω(D − ωL)−1 c ∴ M = M−1 M2 = (D − ωL)−1 [(1 − ω)D + ωU] 1 It can be shown that for the Poisson equation. the spectral radius for SOR is ρSOR = ρJac 1+ 1 − ρ2 Jac 2 . W. (5. W. So if we denote the Gauss-Seidel iterate (5.j i. This is accomplished by taking a weighted average of the previous iterate φn and i. while underrelaxation is often required for convergence when dealing with non-linear problems.23) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. the optimal value of ω is ωopt = 2 1+ 1 − ρ2 Jac .j .Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Successive Overrelaxation (SOR) In Gauss-Seidel iteration. ω=1 ⇒ Gauss-Seidel 1<ω<2 0<ω<1 MMAE 517 (Illinois Institute of Technology) ⇒ Overrelaxation ⇒ Underrelaxation c 2010 K.” or magnifying.21) where ω is the relaxation parameter and 0 < ω < 2 for convergence (Morton & Mayers. Convergence can often be accelerated by “over-relaxing. Cassel 109 / 454 Computational Fluid Dynamics Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Overrelaxation typically accelerates convergence of linear problems. 206).j (5. the sign of the error typically does not change from iteration to iteration.j n+1 the Gauss-Seidel iterate φi. therefore. the SOR method is (M1 = D − ωL.19) by φ∗ .

as I → ∞. Cassel 111 / 454 Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Then for large I  ρSOR ≈ 1 −  1+ 1 1− 2 1 2 π I+1 π I+1 2 2   2 ≈ π I +1 π 1− + ··· I +1 2 (5. and ρSOR → 1. 1 + I+1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ρJac = 1 − ωopt = = 1+ = 1+ ωopt ≈ 1− 1− 2 1− 1− 2 1+ 1 − ρ2 Jac 2 1 2 1 2 π I+1 2 + · · · . Cassel 112 / 454 . W. ωopt → 2.Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Recall that for our model problem.25) ≈ ρSOR ≈ π 1− + ··· I +1 1− 2π . W. I +1 2 Thus.24) π I+1 2 + ··· 2 π . thus. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. π I+1 2 2 + ··· (5.

Typically.g. we do not. such that SOR converges at a rate 2(I+1) times faster than Gauss-Seidel if the π optimal value of the relaxation parameter is used for the model problem under consideration. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. from a comparison of equations (5. W. e. W.20). Therefore. ωopt must be estimated from a similar problem and/or trial and error.Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods However. This analysis assumes that we know ωopt . and the rate of convergence depends significantly on the choice of ω. the relative convergence rate improves linearly with increasing I. it does depend upon: i) ii) iii) iv) differential equation method of discretization boundary conditions shape of domain 2 For a given problem. Cassel 114 / 454 .25) and (5. the typical behavior for linear problems is as follows (for given I): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. we see that ρSOR < ρGS . Cassel 113 / 454 Numerical Solutions of Elliptic Problems Iterative (Relaxation) Methods Notes: 1 Although ωopt does not depend on the right-hand-side.

W.Numerical Solutions of Elliptic Problems Boundary Conditions Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 116 / 454 . W. Cassel 115 / 454 Numerical Solutions of Elliptic Problems Boundary Conditions Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

j .17). Cassel 117 / 454 MMAE 517 (Illinois Institute of Technology) Numerical Solutions of Elliptic Problems Boundary Conditions Neumann (Derivative) Boundary Conditions Consider the following boundary condition ∂φ = c at x = 0. . 2(1 + ∆) Computational Fluid Dynamics c 2010 K. .19).2 1 n 2 ¯ n ¯ φ3. I.2 + ∆ φ2. J. . . or SOR (5.Numerical Solutions of Elliptic Problems Boundary Conditions Dirichlet Boundary Conditions Simply apply the specified values at the boundaries to φ1. φI+1. Cassel 118 / 454 .J+1 and iterate on the Jacobi (5. φi. Jacobi or Gauss-Seidel iterate at i = 2. j = 2: φn+1 = 2. ∂x (5. . and φi. W. . .j .21) equation in the interior. Gauss-Seidel (5.2 . . i = 2.3 + φ2. W. j = 2.26) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. For example.2 + φ1.1 .1 − (∆x) f2.

j 1 n n n 2 ¯ n ¯ φ2. 1. .j + O(∆x) = c. J.j + ∆ φ1. (5. because (5.j and substituting into the difference equation (5. . Cassel 120 / 454 MMAE 517 (Illinois Institute of Technology) . Therefore. Cassel 119 / 454 Numerical Solutions of Elliptic Problems Boundary Conditions However.j 0. .j 2.j−1 − (∆x) f1. .29) for φn gives 0. W. For example.j in the interior for i = 2. 0.j 0.17).27) is only first-order accurate. . A second-order 0. this involves a value φn that is outside the domain. . . .j Notes: 1 This is the same procedure used for a Dirichlet condition but with an additional sweep along the left boundary using (5.19).j = φ2. W. .Numerical Solutions of Elliptic Problems Boundary Conditions The simplest treatment would be to use the Jacobi (5. I.26) by a forward difference applied at i = 1 φ2. This is unacceptable. 1. or SOR (5. J using φ1. j = 2.j .j φn+1 = 1. j = 2.30) for φn+1 .j φn = φn − 2c∆x.26) is φn − φn 2. Gauss-Seidel (5. solving (5.j − φ1. .j + O(∆x2 ) = c.30) 2(1 + ∆) (5.j−1 − (∆x) f1. 2(1 + ∆) (5.30) to update φn+1 .28) to eliminate φn leads to 0.j − c∆x + ∆ φ1. . we could apply Jacobi (5. but now apply the difference equation at the boundary.21) equation to update φi.j + φ0. . j = 2. 2∆x which also involves the value φn . . we use (5. and then to approximate the boundary condition (5. .j .28) (5.17) at i=1 φn+1 = 1.j − c∆x. J. however.j accurate central-difference approximation for the boundary condition (5. .j+1 + φ1.j+1 + φ1. A better alternative is to update the interior points as before. .j .29) Thus.27) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j 1 n n 2 ¯ n ¯ 2 φ2.j Computational Fluid Dynamics c 2010 K. ∆x This could then be used to update φ1.

Cassel 122 / 454 MMAE 517 (Illinois Institute of Technology) . W.J+2 is outside the domain. Computational Fluid Dynamics c 2010 K. 2(1 + ∆) 3 4 which is used to update the corner value i = 1.J+2 − φ d. Cassel 121 / 454 Numerical Solutions of Elliptic Problems Boundary Conditions Applying (5. 2(1 + ∆) (5.J+1 . consider if in addition to (5.J+1 − c∆x + ∆ φ1.30) at the corner i = 1.J+1 .J+1 φn 1.Numerical Solutions of Elliptic Problems 2 Boundary Conditions This approach requires special treatment at corners depending upon the boundary condition along the adjacent boundary.31) using a central difference in the same manner as (5.32) n where φ1.26) we have ∂φ =d ∂y at y = b.J+2 + φ1.J+2 = φ1.J+1 1 n 2 ¯ n ¯ 2 φ2. j = J + 1 1 n n 2 ¯ n ¯ 2 φ2.J+2 gives φn+1 = 1. For example.27).31) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. such as (5.J + d∆y − (∆x) f1. etc. The above approach is used in thomas.29) gives φn+1 = 1. Substituting into (5.32) to eliminate φn 1. = which leads to n φn 1. is used at a boundary.J − (∆x) f1. (5. If a lower-order approximation. Approximating (5.J + 2d∆y.f. j = J + 1.J+1 − c∆x + 2∆ φ1. its truncation error generally dominates the convergence rate. W.

W. W. Cassel 123 / 454 Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 124 / 454 .Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

(5. i. ⇒ These techniques are not very “elliptic like. Cassel 126 / 454 . Gauss-Seidel. For example.33) Consider the j th line and assume that values along the j + 1st and j − 1st lines are taken from the previous iterate. all at once.j + ∆ (φi. (5. I. would allow for the boundary condition at x = a to influence the solution in the entire domain after only one sweep through the grid. the solution anywhere depends on the solution everywhere. .e.j−1 .j . i. it takes I iterations before the boundary condition at x = a is “felt” at x = 0. and SOR.Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method Recall that in elliptic problems.j along the j th solved using the Thomas algorithm. .15) for the Poisson equation ¯ ¯ φi+1. . which can be MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. sweeping along lines of constant y and solving each constant y-line implicitly.34) line.j − 2(1 + ∆)φi.j along the j th line gives ¯ ¯ i. For example. However.j Therefore. in Jacobi.e.j−1 ) = (∆x)2 fi.j i−1. information only propagates through the mesh one point at a time. W. i = 2. it has an infinite speed of propagation in all directions. i+1. Cassel 125 / 454 Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method Returning to the difference equation (5.” A more “elliptic-like” method could be obtained by solving entire lines in the grid in an implicit manner. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j + φi−1.j+1 + φn φn+1 − 2(1 + ∆)φn+1 + φn+1 = (∆x)2 fi. we have a tridiagonal problem for φi.33) as an implicit equation for the values of φi.j+1 + φi.j − ∆ φn i. if sweeping along lines of constant y with 0 ≤ x ≤ a. . Rewriting (5.j i.

j−1 − φi+1. I: ¯ ¯ ¯ ∆φn+1 − (2∆ + σ)φn+1 + ∆φn+1 = (∆x)2 fi.34).j + φi−1. In the first half of the iteration we perform a sweep along constant y-lines by solving the series of tridiagonal problems for j = 2. J.and y-directions are kept separate to mimic diffusion in each direction. . Note that the σ terms on each side of the equation cancel. σ is an acceleration parameter to enhance diagonal dominance (σ > 0). . therefore. .j−1 becomes φi. This is called a splitting method. Cassel 128 / 454 . ADI Method In the ADI method we sweep along lines but in alternating directions. Can also incorporate SOR. .e.j−1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j n+1/2 σ n ¯ −∆ φ n . n+1/2 2 3 In the second half of the iteration we sweep along constant x-lines by solving the series of tridiagonal problems for i = 2. . W. Therefore.j j = 2. j = 2.j i. W. ¯ i. . i. Cassel n+1/2 n+1/2 n+1/2 (5. . . . then φn i. J: φi+1.36) where φn+1 has been updated from the previous line.j MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method Notes: 1 2 3 4 n+1 If sweeping through j-lines. . it reduces the number of iterations required for convergence.35) 127 / 454 Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method Notes: 1 The φi.j = (∆x)2 fi. i−1.j+1 − 2 − ∆ φi.j−1 term on the right-hand-side has been updated from the previous line. I.j n+1/2 n+1/2 + φn+1 . i = 2. This provides motivation for the ADI method. . (5. we use updated values as in Gauss-Seidel.j + φi. but there is more computation per iteration. . . . differencing in the x. σ = 0 corresponds to no acceleration. . .j − (2 + σ)φi.j−1 in (5. it has already been updated. J.j i. .j+1 i. Unlike in equation (5. .j − (2 − σ) φi. i−1. .34). . More efficient at spreading information throughout the domain.

W. W. 3 The ADI method with splitting is typically faster than Gauss-Seidel or SOR for equations in which the terms are easily factored into x and y directions. where R = max(I + 1.Numerical Solutions of Elliptic Problems Alternating-Direction-Implicit (ADI) Method Notes: 1 2 Involves (I − 1) + (J − 1) tridiagonal solves for each iteration (for Dirichlet boundary conditions). Cassel 129 / 454 Numerical Solutions of Elliptic Problems Compact Finite Differences Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. but it is more difficult if have derivative mixed terms such as ∂ 2 φ/∂x∂y. Cassel 130 / 454 . J + 1). it can be shown that for the Poisson (or Laplace) equation with Dirichlet boundary conditions that the acceleration parameter that gives the best speedup is σ = 2 sin (π/R) . ¯ For ∆x = ∆y (∆ = 1). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

Cassel 131 / 454 Numerical Solutions of Elliptic Problems Compact Finite Differences As we have seen before.13) in section 3.j+1 2 δy φi. we define the following second-order accurate central-difference operators φi−1. e. it is advantageous to maintain the compact nature of second-order accurate central differences because they produce systems of equations. ∆y 2 Recall from equation (3.j−1 − 2φi. in order to obtain higher-order finite-difference approximations it is necessary to incorporate more points in the finite-difference stencil.j = . tridiagonal.j + φi. W. ∂x2 12 ∂x4 (5.37) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.Numerical Solutions of Elliptic Problems Compact Finite Differences Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Here we derive a compact fourth-order accurate central-difference approximation for the second-order derivatives in the Poisson equation. Cassel 132 / 454 .j + φi+1. we have ∂2φ ∆x2 ∂ 4 φ 2 = δx φ − + O(∆x4 ). ∆x2 φi. that may be solved efficiently.j = . For convenience.j − 2φi. However.j 2 δx φi.2 that from the Taylor series.g.

it is not compact. 12 x ∂x2 Solving for ∂ 2 φ/∂x2 ∂2φ = ∂x2 ∆x2 2 1+ δ 12 x −1 2 δx φ ∆x2 2 + 1+ δ 12 x −1 O(∆x4 ) c 2010 K. 2 δx φ = 2 δx φ = ∂ 2 φ ∆x2 ∂ 4 φ + + O(∆x4 ). W. φi . 12 2 2 Due to the δx (δx φ) operator.40) Because the last term in equation (5. Cassel 134 / 454 . 2 4 ∂x 12 ∂x ∆x2 ∂ 2 ∂ 2 φ 1+ + O(∆x4 ). this approximation involves the five points φi−2 . Cassel (5.38) gives 2 δx φ = = ∆x2 2 1+ δx + O(∆x2 ) 12 1+ ∂2φ + O(∆x4 ). W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.39) as −1 ∂2φ ∆x2 2 2 δx δx φ + O(∆x4 ).41) leads to a O(∆x4 ) accurate central-difference approximation for the second derivative ∂2φ = ∂x2 1− ∆x2 2 2 δx δx φ + O(∆x4 ). therefore. (5.Numerical Solutions of Elliptic Problems Compact Finite Differences Therefore.39) 133 / 454 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics Numerical Solutions of Elliptic Problems Compact Finite Differences From a binomial expansion (with ∆x sufficiently small) ∆x2 2 1+ δ 12 x −1 ∆x2 2 =1− δ + O(∆x4 ). ∂x2 (5. 12 x (5.40) into equation (5.38) But from equation (5.37) Substituting into (5. 2 ∂x2 12 ∂x ∂2 2 = δx + O(∆x2 ). however. φi+1 and φi+2 .39) is still O(∆x4 ). 2 ∂x 2 δx φ ∆x2 2 ∂ 2 φ δ + O(∆x4 ). φi−1 .41) = 1+ 2 ∂x 12 Substituting the expression (5. we can write equation (5.

(5. W. we also consider the derivative in the y-direction. y). y). ∆y). W. Cassel 136 / 454 .Numerical Solutions of Elliptic Problems Compact Finite Differences In order to obtain a compact scheme. Similar to equation (5. we have in the y-direction ∂2φ = ∂y 2 ∆y 2 2 δ 1+ 12 y −1 2 δy φ + O(∆y 4 ). 12 12 (5.42) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.41) and (5. y).42) into the Poisson equation leads to ∆x2 2 1+ δ 12 x −1 2 δx φ ∆y 2 2 + 1+ δ 12 y −1 2 δy φ + O(∆4 ) = f (x. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 135 / 454 Numerical Solutions of Elliptic Problems Compact Finite Differences Now consider the Poisson equation ∂2φ ∂2φ + 2 = f (x.41). Multiplying by 1 + 1+ ∆x2 2 12 δx 1+ gives ∆y 2 2 2 ∆x2 2 2 δy δx φ + 1 + δx δy φ + O(∆4 ) 12 12 ∆x2 2 ∆y 2 2 = 1+ δx + δy + O(∆4 ) f (x. ∂x2 ∂y Substituting equations (5. ∆y 2 2 12 δy where ∆ = max(∆x.43) which is a fourth-order accurate finite-difference approximation to the Poisson equation.

43) as follows 1+ ∆y 2 2 2 δ δ φ 12 y x = = 1+ ∆y 2 2 δ 12 y φi−1. Cassel 138 / 454 .j + 1 [fi−1.j + φi+1.j + fi.j−1 + φi.j + fi+1.j 12 +fi.j − 2φi.j + φi−1.j + 10 (φi.j−1 + φi+1.j ) ∆x2 1 [(φi−1.j+1 ] .j−1 + φi−1.j−1 + φi−1.j+1 ) +φi−1.43) is 1+ ∆x2 2 ∆y 2 2 δ + δ f (x.j + φi+1.j ∆x2 1 (φi−1.j + fi−1.j ) + φi−1.j−1 − 2φi+1.j+1 ] .j + fi. Cassel 137 / 454 Numerical Solutions of Elliptic Problems Compact Finite Differences Similarly.j − 2φi.Numerical Solutions of Elliptic Problems Compact Finite Differences Expand the first term in equation (5. = Therefore.j−1 + fi.j+1 )] 1 [−20φi.j−1 − 2fi.j+1 + φi+1. expanding the second term in equation (5. y) 12 x 12 y = fi. 1+ and the right-hand-side of equation (5.j + φi.j+1 ) + 12∆x2 −2 (φi.j + φi+1.j−1 + φi.j ) 12∆x2 −2 (φi.j + φi+1.j − 2fi. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 12 = MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j+1 + φi+1. we have a nine-point stencil.j + φi+1.j−1 − 2φi−1.j+1 ] .j+1 ) 12 12∆y 2 −2 (φi−1.j−1 + φi+1.j + fi+1. but the approximation only requires three points in each direction and thus it is compact.j + 10 (φi−1.j+1 ] 1 [8fi.j+1 ) + (φi+1. W.j−1 − 2φi.43) yields ∆x2 2 2 1 δx δy φ = [−20φi.

y) they are MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 140 / 454 . the coefficients in the finite-difference stencil for φ(x. W. y) are as follows: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 139 / 454 Numerical Solutions of Elliptic Problems Compact Finite Differences and for f (x. W.Numerical Solutions of Elliptic Problems Compact Finite Differences Thus.

i. 2 2 2 2 see the δx δy φ and δy δx φ difference operators. i. for Dirichlet boundary conditions.e.43) the two-dimensionality of the equation has been taken advantage of to obtain the compact finite-difference stencil. W. compact finite-difference approach is no less efficient then that for the second-order scheme used in the previous section (there are simply additional terms on the right-hand-side of the equations).Numerical Solutions of Elliptic Problems Compact Finite Differences Notes: 1 Observe that in equation (5. The primary disadvantage of using higher-order schemes is that it is generally necessary to use lower-order approximations for derivative boundary conditions. This is not a problem. application of the ADI method as in the previous section results in a set of tridiagonal problems to solve. Because the finite-difference stencil is compact. this fourth-order. Cassel 142 / 454 . Therefore. W.e. however. Cassel 141 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 2 3 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. only involving three points in each direction.

. consider the simple one-dimensional problem d2 φ = 0. I − 1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Discretizing equation (5. W. which has the exact solution φ(x) = 0.44) with φ(0) = φ(1) = 0. all plots of the numerical solution are also plots of the error. .Numerical Solutions of Elliptic Problems Multigrid Methods Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. (5. Therefore. Low-frequency components of error ⇒ slow convergence. Cassel 143 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Motivation The iterative techniques we have discussed all have the following property: High-frequency components of error ⇒ fast convergence. φ0 = φI = 0. . To illustrate this. Cassel 144 / 454 . dx2 0 ≤ x ≤ 1.44) at I + 1 points using central differences gives φi+1 − 2φi + φi−1 = 0. i = 1. .

Large k ⇒ highly oscillatory waves (high frequency). where k is the wavenumber and indicates the number of half sine waves on the interval 0 ≤ x ≤ 1. W. . consider an initial guess consisting of the Fourier mode φ(x) = sin(kπx). i = 0. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. with xi = i∆x = i/I. . this is φi = sin kπi I . with the wavenumber 1 ≤ k ≤ I − 1. I. 6 (the figures are from Briggs et al.): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . In discretized form.Numerical Solutions of Elliptic Problems Multigrid Methods To show how the nature of the error affects convergence. smooth waves (low frequency). . Cassel 145 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Consider initial guesses with k = 1. Thus. Cassel 146 / 454 . 3. Small k ⇒ long.

Jacobi: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.Numerical Solutions of Elliptic Problems Multigrid Methods Applying Jacobi and Gauss-Seidel iteration with I = 64. the solution converges more rapidly for the higher frequency initial guess. Cassel 147 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Gauss-Seidel: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 148 / 454 .

then slow convergence for the lower frequency modes. medium. 6. and 32 terms represent low-. Cassel 150 / 454 . The k = 1. the error is reduced rapidly during the early iterations but more slowly thereafter. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.and high-frequency modes. for example φi = 1 sin 3 πi I + sin 6πi I + sin 32πi I . Cassel 149 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Applying Jacobi iteration with I = 64. Thus.Numerical Solutions of Elliptic Problems Multigrid Methods A more realistic situation is one in which the initial guess contains multiple modes. respectively. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. there is rapid convergence until the high-frequency modes are smoothed out.

W. Cassel 152 / 454 . for example.Numerical Solutions of Elliptic Problems Multigrid Methods See. W. the following sequence using Jacobi iteration: k = 3 after 1 iteration (left) and 10 iterations (right): k = 16 after 1 iteration (left) and 10 iterations (right): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 151 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods k = 2 and k = 16 after 1 iteration (left) and 10 iterations (right): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Thus.Numerical Solutions of Elliptic Problems Multigrid Methods Multigrid methods take advantage of this property of relaxation techniques by recognizing that smooth components of the error become more oscillatory with respect to the grid size on a coarse grid. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 2) Multigrid methods are comparable in speed with fast direct methods. relaxation is more effective on a coarse grid representation of the error (it is also faster). W. Cassel 154 / 454 . but can be used to solve general elliptic equations with variable coefficients and even nonlinear equations. Cassel 153 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Notes: 1) Multigrid methods are not so much a specific set of techniques as they are a framework for accelerating relaxation (iterative) methods. such as Fourier methods and cyclic reduction.

Cassel 155 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods where ai.j 2 ∆y 2∆y +Ei. ∆x2 2∆x Ci.j . y).Numerical Solutions of Elliptic Problems Multigrid Methods Multigrid Methodology Consider the general second-order linear elliptic partial differential equation of the form ∂2φ ∂2φ ∂φ ∂φ A(x. write (5.j = A(xi .j + φi−1. y)C(x. (5.j φi.j φi.j = ci.j − 2φi. y) 2 +B(x. y) +C(x.j − − ∆x2 bi.j φi. (5.j + Bi.45) ∂x ∂x ∂y ∂y To be elliptic. We rewrite this equation in the form ai.j + φi. y) 2 +D(x. W. The residual is defined by ¯ r = f − Lφ.46) (or some other difference equation) as Lφ = f.47) where L represents the difference operator.j + .46) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. etc. Cassel 156 / 454 .j = Ei.j φi−1.j .j − .49) (5.j Di.j Ai. A(x.j−1 φi.46).j = Fi.j Ai. y). − ∆y 2 2∆y 2Ci.j−1 + Di. (5.j Di. ¯ where φ is an approximation to φ.j where Ai.j .j Bi.j = di. then the error is defined by ¯ e = φ − φ. Ai.j + bi. (5. ∆y 2 For convenience. y) +E(x.j + ci.j Bi.j ei. W. If φ is the exact solution to equation (5. ∆x2 2∆x Ci.j = Fi.j φi+1.j φi+1.48) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. y) > 0 for all (x. yj ).j+1 − φi.j+1 + di. + ∆y 2 2∆y 2Ai.j+1 − 2φi. Approximating this differential equation using second-order accurate central differences gives φi+1.j Ci.j = . y)φ = F (x.j − φi−1.j−1 + ei.j = .j φi.j 2 ∆x 2∆x φi.

W. ADI. Coarse grid → Ω2h → Grids are typically reduced by a factor of two in each direction. 3) Using the residual as the right-hand-side.50) From these definitions. 4) Interpolate the error to the fine grid and correct the fine-grid approximation according to h ¯ ¯ φh ← φh + I2h e2h . therefore.47) gives the error equation ¯ Le = r = f − Lφ. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Numerical Solutions of Elliptic Problems Multigrid Methods ¯ Observe from (5. (5. ¯ 5) Relax Lh φh = f h ν2 times on the fine grid Ωh with corrected approximation ¯ φh as the initial guess. Cassel 158 / 454 . then the residual is zero. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. we can devise a scheme with which to correct the solution on a fine grid by solving for the error on a coarse grid. h Interpolation (Prolongation) operator: I2h → Move information from coarse grid to fine grid. ⇒ Coarse-Grid Correction (CGC) Definitions: Fine grid → Ωh .48) into equation (5.47) that if φ = φ. the residual is a measure of how “wrong” the approximate solution is. ν1 times on the fine grid Ωh ¯ with an initial guess φh . etc. Cassel 157 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods 2h Restriction operator: Ih → Move information from fine grid to coarse grid. Coarse-Grid Correction Sequence: ¯ 1) Relax Lh φh = f h using Gauss-Seidel. ’solve’ the error equation L2h e2h = r2h on the coarse grid Ω2h . 2) Compute the residual on Ωh and restrict it to the coarse grid Ω2h : 2h 2h ¯ r2h = Ih rh = Ih (f h − Lh φh ). Substituting (5.

i. ν1 and ν2 are small (1. This CGC scheme is the primary component of all the many multigrid algorithms. W.44). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ν1 = 3): Initial guess: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. φ = 0 (I = 64.e. W. 2. Cassel 160 / 454 . Cassel 159 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods To illustrate consider the CGC sequence for equation (5.Numerical Solutions of Elliptic Problems Multigrid Methods Note: In practice. or 3).

Cassel 162 / 454 . Cassel 161 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Step 1 after three relaxation sweeps on fine grid: → The low-frequency mode is reduced very little after three relaxation step.Numerical Solutions of Elliptic Problems Multigrid Methods Step 1 after one relaxation sweep on fine grid: → The high-frequency mode is eliminated after only one relaxation step. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

Numerical Solutions of Elliptic Problems Multigrid Methods Step 3 after one relaxation sweep on coarser grid: → . Cassel 164 / 454 . which has higher frequency relative to the coarser grid. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 163 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Step 3 after three relaxation sweeps on coarser grid: → Restriction to the coarser grid accelerates convergence of the low-frequency mode. W... and not much more after three.

Numerical Solutions of Elliptic Problems Multigrid Methods Step 5 after three relaxation sweeps on fine grid: → Low-frequency mode is nearly eliminated after CGC. W. W. Cassel 165 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods How do we obtain the coarse grid solution for e2h in step 3? → Recursively replace step 3 by additional CGCs on progressively coarser grids. ⇒ V-Cycle For example. a four-grid V-cycle is illustrated by The V-cycles are repeated until convergence. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 166 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

. i. Ω4h → relaxation on equation for error on Ω2h . . Cassel 167 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods If no good initial guess is available. W. on grid.Numerical Solutions of Elliptic Problems Multigrid Methods Note: The error being solved for on successively coarser grids is the error of the error on the next finer grid. This simple V-cycle scheme is appropriate when a good initial guess is available. . Ωh → relaxation on original equation for φ. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 6) Perform V-cycles until convergence. 3) Perform V-cycle to correct φ. Cassel 168 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.. 4) Interpolate to next finer grid. W. For example. 5) Repeat (3) and (4) until finest grid is reached..45) in the context of an unsteady calculation in which case the solution for φh from the previous time step is a good initial guess for the current time step. Ω2h → relaxation on equation for error on Ωh . then Full Multigrid V-Cycle (FMV) may be applied according to the following procedure: 1) Solve Lφ = f on the coarset grid (Note: φ not e) 2) Interpolate to next finer grid. when considering a solution to equation (5.e.

nx = 5 c 2010 K. My (L) = my 2[max(ny +L−N. . 3 or 5). ny = 5.1)−1] + 1. Each grid G(L) has Mx (L) × My (L) grid points. W. . nx = 6 and my = 3. < G(N ). nx = 7 Nx = 49 Nx = 81 MMAE 517 (Illinois Institute of Technology) ⇒ mx = 3. and mx and my determine the size of the coarsest grid. W. where n is an integer. For a given grid.1)−1] + 1. G(N ) is the finest grid and L = 1. and mx and my should be as small as possible for maximum efficiency (typically mx and my are 2. nx and ny should be as large as possible. nx = 5 ⇒ mx = 5.Numerical Solutions of Elliptic Problems Multigrid Methods Grid Definitions: Because each successive grid differs by a factor of two. nx = 6 Nx = 129 ⇒ mx = 2. .51) where nx and ny determine the number of grid levels. .52) where G(1) is the coarsest grid.45) is discretized on a uniform grid having Nx × Ny points which are defined by Nx = mx 2(nx −1) + 1. Somewhat more general grids may be obtained using the following grid definitions. For example: Nx = 65 ⇒ mx = 2.54) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. N . Cassel 170 / 454 . The differential equation (5.53) (5. Cassel 169 / 454 Computational Fluid Dynamics Numerical Solutions of Elliptic Problems Multigrid Methods The number of grid levels is given by N = max(nx . Nx = 65. the finest grid size is often taken as 2n + 1. (5. For example. . where Mx (L) = mx 2[max(nx +L−N. which is (mx + 1) × (my + 1). . . (5. Ny = my 2(ny −1) + 1. ny ) resulting in the series of grids G(1) < . (5. . < G(L) < . Ny = 49 ⇒ mx = 2.

p φ +q h h h h ∂φ ∂n = sh . Cassel 171 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Boundary Conditions At each boundary the general form of the boundary condition is pφ + q ∂φ = s. thus. p φ 2h 2h +q 2h 2h ∂φ ∂n = s2h . G(2) : Mx (2) = 5. W. G(1) : Mx (1) = 3.56) But on the coarser grids.Numerical Solutions of Elliptic Problems Multigrid Methods Thus. ∂n (5. G(5) : Mx (5) = 33. (5. ny ) = 6 and G(6) : Mx (6) = 65. In order to obtain such a condition. N = max(nx . This boundary condition is applied directly on the finest grid Ωh . equation (5. W. My (6) = 49 My (5) = 25 My (4) = 13 My (3) = 7 My (2) = 4 My (1) = 4 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e. On the coarse grid Ω2h . Cassel 172 / 454 . we need the boundary condition for the error. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.55) where n is the direction normal to the surface.55) applies to the solution φ. i. consider the following. G(3) : Mx (3) = 9. G(4) : Mx (4) = 17.

Thus. Neumann ⇒ ∂e ∂n = 0 on boundary. Cassel 174 / 454 . then from ¯ ¯ e2h = φ2h − φ2h = 0. φ2h = φ2h . Dirichlet ⇒ e = 0 on boundary. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. s = 0. For example.Numerical Solutions of Elliptic Problems Multigrid Methods If we enforce the error to be zero on the boundaries. or Robin) does not change. i. the type of boundary condition (Dirichlet. where the original condition on φ is applied. Neumann.e. the boundary conditions are homogeneous on all but the finest grid. ∂n Therefore. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. but they become homogeneous.e. Cassel 173 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods That is. we also have ¯ p2h φ2h + q 2h ¯ ∂ φ2h = s2h . to obtain a boundary condition for the error on Ω2h p e 2h 2h +q 2h 2h ∂e ∂n ∂e2h ∂n = p φ 2h 2h +q 2h 2h ∂φ ∂n − p φ 2h ¯2h +q 2h ∂ φ ¯2h (5.57) ∂n = s2h − s2h p2h e2h + q 2h = 0. i.e. i. the p and q coefficients are the same.

Note that when Gauss-Seidel is used.j φi−1. .j = fi. Here φ∗ denotes the most recent approximation. if there are large gradients in the solution or rapid variations in the coefficients in the differential equation (5. red-black Gauss-Seidel iteration is used to relax the difference equation: By performing the relaxation on all of the red and black points separately. therefore.j − ci. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. .Numerical Solutions of Elliptic Problems Multigrid Methods Relaxation Typically. . In general. . We will refer to this as zebra relaxation. the following tridiagonal problem is solved for each j = 1. W.45).j φi+1. we could use alternating-direction-line (ADL) relaxation.58) for i = 1. Mx (L).j + ei. Cassel 176 / 454 .46)) ∗ ai.j φi. SOR should not be implemented because it destroys the high-frequency smoothing. (5. My (L) (see equation (5. Similar to red-black Gauss-Seidel.j φi. Cassel 175 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods The point-by-point relaxation of Gauss-Seidel does not work well. we may have such behavior in both directions. When sweeping along lines of constant y.j+1 − di. however. . W. In such cases it is better to use line relaxation for the same reason that ADI is better than Gauss-Seidel. it eliminates data dependencies such that it is easily implemented on parallel computers (see section 10). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. .j φ∗ i. we could sweep all lines with j even and j odd separately.j + bi. .j−1 . .

.Numerical Solutions of Elliptic Problems Multigrid Methods Then lines of constant x are swept by solving the tridiagonal problem for each i = 1.j+1 + ei.j − bi. 1 ≤ j ≤ N Y C 1 ≤ i∗ ≤ N XF. Cassel 178 / 454 . . W. My (L).j . j ∗ ) Range 1 ≤ i ≤ N XC.j φi. Notation: Grid Coarser Finer Indices (i.e. N Y C = 1 (N Y F − 1) + 1 2 j ∗ = 2j − 1 The easiest restriction operator is straight injection for which φ2h = φh∗ . 1 ≤ j ∗ ≤ N Y F Applying restriction in both directions: N XC = 1 (N XF − 1) + 1. .j i i. . W. i.j φi. . .j φi−1. . The matrix symbol for straight injection is [1].59) for j = 1. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. (5. Again we could sweep all lines with i even and i odd separately.j − ai.j + di. Cassel 177 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods 2h Restriction Operator: Ih The restriction operator is required for moving information from the finer grid to the coarser grid. Mx (L) given by ∗ ci.j φ∗ i+1. j) (i∗ . . we simply drop the points that are not common to both grids.j ∗ . 2 i∗ = 2i − 1.j−1 = fi.j φi. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

. The matrix symbol is Thus.Numerical Solutions of Elliptic Problems Multigrid Methods A better operator is full weighting.60). . φ2h = φh∗ . N XC. for example.j ∗ i i i i 8 1 h + 4 φi∗ . N Y C and j = 1. Cassel 179 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods We then use straight injection on the boundaries. .j ∗ . i. If. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j ∗ −1 + φi∗ +1. i.j ∗ + φh∗ +1.j i i = 1. i = 1. .60) This represents a weighted average of surrounding points in the fine mesh. φ2h i.j ∗ (5. .j ∗ +1 + 1 φh∗ .j ∗ +1 + φi∗ +1. .e. W. j = 1. .j ∗ −1 + φi∗ −1. N Y C.j ∗ +1 + φh∗ −1. Cassel 180 / 454 . restriction is applied only in the x-direction. W.j ∗ −1 + φh∗ . .j = 1 h h h h 16 φi∗ −1. N XC. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. then N Y C = N Y F and j ∗ = j in equation (5.

j φ2h + φ2h i.06 = 10−5 Iterations Time (sec) 821 27. ∂x2 ∂x ∂y ∂y with Neumann boundary conditions. the total time required for the N = 129 case is approximately 16× that with N = 65 (∼ 4× increase in points and ∼ 4× increase in iterations). 408 366.j φh∗ +1.j ∗ = φ2h i i. ADI: = 10−4 Iterations Time (sec) 673 22.j ∗ +1 = i 1 2 1 2 ← copy common points φ2h + φ2h i.j i.j i+1.35 2.22 2.j ∗ = i φh∗ . φh∗ .Numerical Solutions of Elliptic Problems Multigrid Methods h Interpolation (Prolongation) Operator: I2h The interpolation operator is required for moving information from the coarser to finer grid. The grid is N × N .j i. W. The most commonly used interpolation operator is based on bilinear interpolation. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 995 456. Cassel 181 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods Speed Comparisons Consider the test problem A(x) ∂2φ ∂2φ ∂φ ∂φ + B(x) + C(y) 2 + D(y) = F (x. Cassel 182 / 454 .j+1 1 4 φh∗ +1. The following times are for an SGI Indy R5000-150MHz.j i+1.j+1 i+1.j ∗ +1 = i MMAE 517 (Illinois Institute of Technology) φ2h + φ2h + φ2h + φ2h i.j+1 Computational Fluid Dynamics c 2010 K. W.03 N 65 129 Note that in both cases. y).

Thomas.” Ann. Rev.28 29 12.e. S. A. J. Here the convergence criterion is evaluated between V-cycles. Fluid Mech..F..10 = 10−5 Iterations Time (sec) 23 2. = 10−4 Iterations Time (sec) 18 1. ⇒ The multigrid method scales to larger grid sizes more effectively than ADI alone. note the small increase in the number of V-cycles with increasing N . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 184 / 454 ..78 23 10. the total time required for the N = 129 case is approximately 6× that with N = 65 (the minimum is 4×).L. W. Henson.E. B.” (2nd Edition) SIAM (2000).T. 2) The case with N = 65 is approximately 13× faster than ADI. W.C. (2003).Numerical Solutions of Elliptic Problems Multigrid Methods Multigrid: V-cycle with ADL relaxation (no FMV to get improved initial guess). “A Multigrid Tutorial.68 N 65 129 Notes: 1) In both cases. V. 35. Diskin. Cassel 183 / 454 Numerical Solutions of Elliptic Problems Multigrid Methods 3) References: 1 2 Briggs. pp. and the case with N = 129 is approximately 36× faster! MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. and Brandt.. W. 317–340. i. and McCormick. “Textbook Multigrid Efficiency for Fluid Simulations.

Cassel 186 / 454 .Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Outline 5 Numerical Solutions of Elliptic Problems Introduction Finite-Difference Methods for the Poisson Equation Direct Methods for Linear Systems Fourier Transform Methods Cyclic Reduction Iterative (Relaxation) Methods Jacobi Iteration Gauss-Seidel Iteration Successive Overrelaxation (SOR) Boundary Conditions Dirichlet Boundary Conditions Neumann (Derivative) Boundary Conditions Alternating-Direction-Implicit (ADI) Method Compact Finite Differences Multigrid Methods Motivation Multigrid Methodology Speed Comparisons MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 185 / 454 Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Outline (cont’d) Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. W.

62) which represent a simplified version of the Navier-Stokes equations as there are no pressure terms.j−1 + .j − ui−1. W.j + ui−1.j . W.j ui.Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Consider the 2-D.61) (5. steady Burger’s equations ∂u ∂u ∂2u ∂2u Re u +v = + 2.j+1 − 2ui.j − 2ui. ∂x ∂y ∂x2 ∂y (5. Cassel 188 / 454 .j+1 + ∆ + 2 Re ∆x ∆1/2 vi.j ui.j 2 1 ∗ ∗ ¯ ¯ ¯ ¯ + ∆ − 1 Re ∆x ∆1/2 vi.j ∗ ui. A simple approach to linearizing the equations is known as Picard iteration in which we take the coefficients of the non-linear (first derivative) terms to be known from the previous iteration denoted by ∗ u∗ . and those on the right-hand-side are the viscous or diffusion terms.j MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 187 / 454 Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Let us begin by approximating (5.j−1 + vi. The Burger’s equations are elliptic due to the nature of the second-order viscous terms. ¯ where ∆ = (∆x/∆y)2 .j + 1 + 1 Re ∆x u∗ ui−1.j 2∆x 2∆y = ui+1.j+1 − ui. 2 (∆x) (∆y)2 Multiplying by (∆x)2 and rearranging leads to 1 1 − 2 Re ∆x u∗ ui+1.j−1 2 (5.j ui. The terms on the left-hand-side are the convection terms.j ui+1.j i. ∂x ∂y ∂x2 ∂y ∂v ∂2v ∂v ∂2v +v = Re u + 2. but the convection terms make the equations non-linear. i.j = 0. vi.63) ¯ −2(1 + ∆)ui.61) using central differences for all derivatives as follows Re u∗ i.j + ui.j i.

j 2 MMAE 517 (Illinois Institute of Technology) and 1 ∗ ¯ Re ∆x vi. However. The same result holds for p < −1 and q < −∆.Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms We can solve (5. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.63) using any of the iterative methods discussed except SOR (generally need under-relaxation for non-linear problems). ∗ The velocities u∗ and vi. Cassel 190 / 454 . 2 c 2010 K. Cassel 189 / 454 Computational Fluid Dynamics Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms which is a restriction on mesh size for given Re and velocity field. the grid sizes ∆x and ∆y must decrease. we must have |p| ≤ 1 and |q| ≤ ∆ or 1 Re ∆x u∗ ≤ 1. where p= 1 Re ∆x u∗ . i.j vary throughout the domain and are unknown.63) diagonally dominant? To be diagonally dominant we must have ¯ ¯ ¯ |1 − p| + |1 + p| + ∆ − q + ∆ + q ≤ 2(1 + ∆) . ¯ but with p > 1 and q > ∆ this condition cannot be satisfied. then this requires that ¯ ¯ ¯ (p − 1) + (1 + p) + (q − ∆) + (∆ + q) ≤ 2(1 + ∆) ¯ 2(p + q) ≤ 2(1 + ∆). that p > 1 and q > ∆.j ≤ ∆1/2 . Three difficulties: 1 As the Reynolds number Re increases. 2 q= ¯ Suppose. i. W.j 2 1 ∗ ¯ Re ∆x ∆1/2 vi. and equation (5.j 2 3 The central difference approximations for the first-order derivatives contribute to the off-diagonal terms but not the main diagonal terms thereby adversely affecting diagonal dominance. i. W. ¯ Therefore. for example.j . is (5.63) ¯ is not diagonally dominant.

∂y ∆y ∗ If vi.j + O(∆y).j Tx = −Re u = − .j u∗ ∂u ui.j−1 = vi.j + ui−1.j − ui. i.j < 0.j+1 − ui.j . ui. then using a forward difference i.j .j − ui.j i.e.j − (2 − Re ∆x u∗ )ui.j term to promote diagonal dominance.Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Upwind-Downwind Differencing In order to restore diagonal dominance.j u∗ ui+1. Cassel 191 / 454 Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Similarly for the v ∗ ∂u/∂y term: ∗ 1 If vi.j < 0 therefore. ∂y ∆y Let us consider diagonal dominance of the approximations to the x-derivative terms in Burger’s equation (5. the velocities.j − ui−1.j = u∗ + O(∆x).j .j − ui−1. then using a backward difference i.j = vi.j − (2 + Re ∆x u∗ )ui. i.j + ui−1. For example.j i.j + O(∆y).j <0 192 / 454 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel .j + (1 + Re ∆x u∗ )ui−1.61) in the x-direction  ∗ ∗  ui. u∗ i. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j .j − ui.j  (1 − Re ∆x u∗ )ui+1. 2 If u∗ < 0.j − 2ui. i. W.j ∂x ∆x which again gives a positive addition to the ui. then using a forward difference v∗ ∂u ∗ ui. we use forward or backward differences for the first-derivative terms depending upon the signs of the coefficients of the first derivative terms. i.j ∂u = u∗ + O(∆x). then using a backward difference v∗ 2 ∂u ∗ ui.j Re ui. i.j > 0.j . consider the u∗ ∂u/∂x term: 1 If u∗ > 0.j u∗ > 0 i.j ∂x ∆x which gives a positive addition to the ui. ui.j > 0 ∂2u ∂u ui+1. (∆x)2 Tx =   ui+1.j term to promote diagonal dominance. ∂x2 ∂x (∆x)2 ∆x  ∗ ui+1. W.

W. The forward and backward differences used for the first-order derivatives are only first-order accurate. W.e. i. the method is O(∆x. therefore.j |1| + |1 − Re ∆x u∗ | ≤ | − (2 − Re ∆x u∗ )| i. consider the 1-D Burger’s equation Re u du d2 u = 2. Cassel 194 / 454 . backward-difference approximation to the first-order derivative is du dx ui − ui−1 ∆x = + ∆x 2 d2 u dx2 + ..j 1 + 1 + Re ∆x u∗ = 2 + Re ∆x u∗ . diagonal dominance of the tridiagonal problems along lines of constant y requires that: 1 For u∗ > 0 (Re ∆x u∗ > 0): i.j i. i.j i. Updwind-downwind differencing forces diagonal dominance.j i. dx dx (5.j which is weakly diagonally dominant. For u∗ < 0 (Re ∆x u∗ < 0): i. i.j 1 + 1 − Re ∆x u∗ = 2 − Re ∆x u∗ . for example. i i where we have included the truncation error. 2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.and y-derivative terms. the first-order. the iteration will always converge with no mesh restrictions.j i.64) 2 3 Recall from section 3..j which is also weakly diagonally dominant.Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Therefore.j |1| + |1 + Re ∆x u∗ | ≤ | − (2 + Re ∆x u∗ )| i.j i.2 that. ∆y) accurate.j i. Cassel 193 / 454 Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Notes: 1 The same is true for the y-derivative terms when sweeping along lines of constant x. To see the potential affects of this error. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. if using ADI with splitting of x..

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. depending upon the values of Re. W. which is not included in the numerical solution. i Therefore. ∆x. but the resulting system of equations would no longer be tridiagonal. the physical diffusion term. 4 Remedies: i) Can return to O(∆x2 . W. we could use second-order accurate forward and backward differences. the truncation error from the first-derivative terms. ∆y 2 ) accuracy using deferred correction in which we use the approximate solution to evaluate the leading term of the truncation error which is then added to the original discretized equation as a source term. or even larger than..Numerical Solutions of Elliptic Problems Treatment of Nonlinear Convective Terms Substituting into (5. may be of the same order. not the differential equation. ii) Alternatively. Cassel 195 / 454 Numerical Solutions of Elliptic Problems 5 Treatment of Nonlinear Convective Terms Note that we have linearized the difference equation. the effects of which increase with increasing Reynolds number. = i d2 u dx2 .64) gives Re u∗ i or Re ui ui − ui−1 ∆x + ∆x 2 d2 u dx2 + . i Re ui − ui−1 = 1− ∆x u∗ i ∆x 2 d2 u dx2 ∗ . This is often referred to as artificial or numerical diffusion. and u .. in order to obtain a linear system of algebraic equations ⇒ The physical nonlinearity is still being solved for. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 196 / 454 .

Cassel 197 / 454 Numerical Solutions of Parabolic Problems Introduction Outline (cont’d) Factored ADI Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 198 / 454 . W.Numerical Solutions of Parabolic Problems Introduction Outline 6 Numerical Solutions of Parabolic Problems Introduction Explicit Methods Euler Method (First-Order Explicit) Richardson Method DuFort-Frankel Method Stability Analysis Introduction Numerical Stability Analysis Implicit Methods First-Order Implicit Crank-Nicolson Non-Linear Convective Problems First-Order Explicit Crank-Nicolson Upwind-Downwind Differencing Multidimensional Problems First-Order Explicit Method First-Order Implicit Method ADI Method with Time Splitting MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.

Numerical Solutions of Parabolic Problems Introduction Parabolic ⇒ preferred direction of propagation of solution: 1 2 time (unsteady problems) spatial (some steady problems). W. t) + c(x. it is not necessary to keep solution at every time step (just previous step(s)). Cassel 199 / 454 Numerical Solutions of Parabolic Problems 2 Introduction Numerical algorithm “marches” in preferred direction in step-by-step manner. Consider the general linear.2) . e.2) can be used for equation (6. t). heat conduction (cf. Cassel 200 / 454 (6.1). 1-D. i. t) 2 + b(x. ∂t ∂x where φ = T ⇒ heat conduction φ = u ⇒ momentum diffusion (due to viscosity) φ = ω ⇒ vorticity diffusion φ = c ⇒ mass diffusion (c = concentration) Techniques developed for equation (6. 1-D diffusion equation ∂φ ∂2φ = α 2. Initial-value problems.1) (6.g. e.e. unsteady. elliptic ⇒ BVP) Properties: 1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. t)φ + d(x. 1-D.g. steady duct flows and boundary-layer flows. unsteady equation ∂φ ∂2φ ∂φ = a(x. W. ∂t ∂x ∂x A simple model problem for this is the unsteady.

etc. b) Implicit methods – obtain set of algebraic equations for φ at all mesh points at each ∆t. Finite-difference methods: a) Explicit methods – obtain equation for φ at each mesh point. Cassel 202 / 454 . e.g.. 2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Runge-Kutta. predictor-corrector. Cassel 201 / 454 Numerical Solutions of Parabolic Problems Explicit Methods Outline 6 Numerical Solutions of Parabolic Problems Introduction Explicit Methods Euler Method (First-Order Explicit) Richardson Method DuFort-Frankel Method Stability Analysis Introduction Numerical Stability Analysis Implicit Methods First-Order Implicit Crank-Nicolson Non-Linear Convective Problems First-Order Explicit Crank-Nicolson Upwind-Downwind Differencing Multidimensional Problems First-Order Explicit Method First-Order Implicit Method ADI Method with Time Splitting MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. method of lines. W. W.Numerical Solutions of Parabolic Problems Introduction Methods of Solution: 1 Reduce partial differential equation to a set of ordinary differential equations and solve..

Numerical Solutions of Parabolic Problems Explicit Methods Outline (cont’d) Factored ADI Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.e. i Note that now the superscript n denotes the time step rather than the iteration number. i. W. Cassel 204 / 454 . single unknown φn+1 on left-hand-side. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 203 / 454 Numerical Solutions of Parabolic Problems Explicit Methods Explicit Methods ⇒ Spatial derivatives are all evaluated at previous time level(s).

∂t ∆t Second-order. c 2010 K. .Numerical Solutions of Parabolic Problems Explicit Methods Euler Method (First-Order Explicit) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. forward difference for time derivative ∂φ φn+1 − φn i = i + O(∆t). i i+1 i−1 i MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics . central difference for spatial derivatives at nth time level (known) φn − 2φn + φn ∂2φ i i−1 = i+1 + O(∆x2 ). . . 2 2 ∂x (∆x) Substituting into (6. I.2) φn − 2φn + φn φn+1 − φn i i−1 i i = α i+1 . 2 ∆t (∆x) and solving for φn+1 i φn+1 = φn + i i α∆t φn − 2φn + φn i+1 i i−1 2 (∆x) i = 2. W. . Cassel 205 / 454 Numerical Solutions of Parabolic Problems Explicit Methods First-order. W. Cassel 206 / 454 (6.3) φn+1 = (1 − 2s)φn + s φn + φn .

Cassel 207 / 454 Numerical Solutions of Parabolic Problems Explicit Methods Richardson Method We want to improve on the temporal accuracy of the Euler method. 2 (∆x) 2 1 α∆t s= > ⇒ unstable. we use a central difference for the time derivative. 2 (∆x) 2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. φn − 2φn + φn φn+1 − φn−1 i i−1 i i = α i+1 2 2∆t (∆x) φn+1 = φn−1 + 2s φn − 2φn + φn . W. . . I. i+1 i i−1 i i i = 2.4) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 208 / 454 . W.3) is an explicit equation for φn+1 at the (n + 1)st time step.3): s= 1 α∆t ≤ ⇒ stable (very restrictive). (6. . Restrictions on ∆t and ∆x for Euler method applied to 1-D diffusion equation to remain stable (see section 6. Time steps ∆t may be varied from step-to-step. i Method is second-order accurate in space and first-order accurate in time. Notes: 1 2 3 4 Equation (6. .Numerical Solutions of Parabolic Problems Explicit Methods where s = α∆t/(∆x)2 . therefore.

To devise i such an approximation. W. Unconditionally unstable for s > 0 ⇒ Do not use. 3 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i Similarly. i Adding these Taylor series together gives φn+1 i + φn−1 i = 2φn i + ∆t 2 ∂2φ ∂t2 n + ··· . i MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 209 / 454 Numerical Solutions of Parabolic Problems Explicit Methods DuFort-Frankel Method In order to maintain second-order accuracy. Must keep ∆t constant and requires starting method (need φi at two time steps). Cassel 210 / 454 . consider the Taylor series approximation at tn+1 about tn φn+1 i = φn i + ∆t ∂φ ∂t n i ∆t2 + 2 ∂2φ ∂t2 n + ··· . consider the Taylor series approximation at tn−1 about tn φn−1 i = φn i − ∆t ∂φ ∂t n i ∆t2 + 2 ∂2φ ∂t2 n + ··· .Numerical Solutions of Parabolic Problems Explicit Methods Notes: 1 2 Second-order accurate in space and time. but improve stability. W. let us modify the Richardson method by taking an average between time levels for φn .

Numerical Solutions of Parabolic Problems Explicit Methods and solving for φn leads to i φn i 1 n+1 1 = φi + φn−1 − ∆t2 i 2 2 ∂2φ ∂t2 n + ··· . i MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. I.4) from Richardson’s method gives n−1 φn+1 = φi + 2s φn − φn+1 + φn−1 + φn i−1 i+1 i i i (1 + 2s)φn+1 = (1 − 2s)φn−1 + 2s φn + φn i+1 i−1 i i φn+1 = i 2s 1 − 2s n−1 φi + φn + φn . i Substituting the time-averaging equation (6. unsteady diffusion equation is approximated as in the Richardson method (with central differences for the temporal and spacial derivatives) ∂φ ∂2φ ∆t2 φn+1 − φn−1 i i −α 2 = − ∂t ∂x 2∆t 6 ∂3φ ∂t3 n + ··· i φn − 2φn + φn α ∆x2 i i−1 −α i+1 + ∆x2 12 ∂4φ ∂x4 n + ··· . . (6. Substituting into the difference equation (6. the 1-D. . Cassel 212 / 454 .5) Therefore. Cassel 211 / 454 Numerical Solutions of Parabolic Problems Explicit Methods However. Including the truncation errors of each approximation. W. i−1 1 + 2s 1 + 2s i+1 i = 2. i (6.6) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. .5) for φn to implement the i DuFort-Frankel method leads to ∂2φ φn+1 − φn−1 α ∂φ n−1 i −α 2 = i − φn + φn − φn+1 + φi i+1 i−1 i 2 ∂t ∂x 2∆t ∆x α ∆t2 − ∆x2 ∂2φ ∂t2 n i ∆t2 − 6 ∂3φ ∂t3 n i α ∆x2 + 12 ∂4φ ∂x4 n + ··· . averaging between time levels in this manner is O(∆t2 ) accurate. let us consider the consistency of this approximation. W. .

the DuFort-Frankel method is considered inconsistent. W.Numerical Solutions of Parabolic Problems Explicit Methods For consistency. for consistency. That is. Notes: 1 2 3 4 Second-order accurate in space. The second and third truncation error terms do so. Must keep ∆t constant and starting method necessary. The method is inconsistent ⇒ Do not use. ∆t → 0. i. Cassel 214 / 454 . Method is unconditionally stable for any s = α∆t/(∆x)2 . all of the truncation error terms must go to zero as ∆t → 0. however. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. the first term requires that ∆t → 0 faster than ∆x → 0. W. Because this is not the case in general.e. Cassel 213 / 454 Numerical Solutions of Parabolic Problems Stability Analysis Outline 6 Numerical Solutions of Parabolic Problems Introduction Explicit Methods Euler Method (First-Order Explicit) Richardson Method DuFort-Frankel Method Stability Analysis Introduction Numerical Stability Analysis Implicit Methods First-Order Implicit Crank-Nicolson Non-Linear Convective Problems First-Order Explicit Crank-Nicolson Upwind-Downwind Differencing Multidimensional Problems First-Order Explicit Method First-Order Implicit Method ADI Method with Time Splitting MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∆x → 0. ∆t << ∆x. the difference equation must reduce to the differential equation as ∆x.

e.g. round-off. i. Cassel 215 / 454 Numerical Solutions of Parabolic Problems Stability Analysis Introduction Real flows ⇒ small disturbances. Grow ⇒ unstable (disturbances/errors are amplified)..g. e. physical 2 Numerical instability – the numerical algorithm magnifies small errors → This is not physical ⇒ Need a new method.Numerical Solutions of Parabolic Problems Stability Analysis Outline (cont’d) Factored ADI Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. imperfections. etc. e. vibrations. W. Numerical solutions ⇒ small errors.. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Issue → What happens to small disturbances/errors as flow and/or solution evolves in time? Decay ⇒ stable (disturbances/errors are damped out).. Drazin & Reid) → This is real. truncation. Two possible sources of instability in CFD: 1 Hydrodynamic instability – the flow itself is inherently unstable (see. Cassel 216 / 454 . W.. etc. for example.

Numerical Solutions of Parabolic Problems

Stability Analysis

Difficulty → In CFD both are manifest in similar ways, i.e. oscillatory solutions; therefore, it is often difficult to determine whether oscillatory numerical solutions are a result of a numerical or hydrodynamic instability. → For an example of this, see “Supersonic Boundary-Layer Flow Over a Compression Ramp,” Cassel, Ruban & Walker, JFM 1995, 1996. Hydrodynamic vs. Numerical Instability:
1

Hydrodynamic stability analysis (Section 9 and MMAE 514):
Often difficult to perform. Assumptions must often be made, e.g. parallel flow. Can provide conclusive evidence for hydrodynamic instability (particularly if confirmed by analytical or numerical results). For example, in supersonic flow over a ramp, the Rayleigh Fjørtoft’s theorems are necessary conditions that can be tested for.

2

Numerical stability analysis:
Often gives guidance, but not always conclusive for complex problems.

Note: Just because a numerical solution does not become oscillatory does not mean that no physical instabilities are present! There may not be sufficient resolution.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 217 / 454

Numerical Solutions of Parabolic Problems

Stability Analysis

Numerical Stability Analysis
Two methods: 1) Matrix Method:
More rigorous → evaluates stability of entire scheme, including treatment of boundary conditions. More difficult → involves determining eigenvalues of a large matrix.

2) von Neumann (Fourier Series) Method:
For linear initial-value problems with constant coefficients.
⇒ More restrictive, i.e. nonlinear problems must be linearized.

Does not account for boundary conditions. Most commonly used.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

218 / 454

Numerical Solutions of Parabolic Problems

Stability Analysis

Matrix Method ˜ Denote the exact solution of the difference equation at t = tn by φn ; then the i error is ˜ en = φn − φn , i = 2, . . . , I, (6.7) i i i where φn is the approximate solution at t = tn . Consider the i first-order explicit (Euler) method given by equation (6.3), which is repeated here φn+1 = (1 − 2s)φn + s(φn + φn ), i i+1 i−1 i ˜ where s = α∆t/∆x2 . Both φn and φn satisfy this equation; thus, the error i i satisfies the same equation
n+1 ei = (1 − 2s)en + s(en + en ), i i+1 i−1

(6.8)

i = 2, . . . , I.

(6.9)

This may be written in matrix form as en+1 = Aen , n = 0, 1, 2, . . . . (6.10)

Thus, we perform a matrix multiply to advance each time step (cf. matrix form for iterative methods).
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 219 / 454

Numerical Solutions of Parabolic Problems

Stability Analysis

The (I − 1) × (I − 1) matrix A and  1 − 2s s 0  s 1 − 2s s   0 s 1 − 2s  A= . . . . .  . . . .   0 0 0 0 0 0

the vector en are ··· ··· ··· ··· ··· 0 0 0 . . . 0 0 0 . . .   en 2 en 3 en 4 . . . 

    ,   1 − 2s s  s 1 − 2s

        n e = .    n  eI−1  en I

Note that if φ is specified at the boundaries, then the error is zero there, i.e. en = en = 0. 1 I+1 The method is stable if the eigenvalues λj of the matrix A are such that |λj | ≤ 1 for all λj , (6.11)

i.e. ρ ≤ 1, in which case the error will not grow.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

220 / 454

Numerical Solutions of Parabolic Problems

Stability Analysis

Because A is tridiagonal with constant elements along each diagonal, the eigenvalues are (see section 3.5) λj = 1 − (4s) sin2 jπ 2I , j = 1, . . . , I − 1. (6.12)

Note that there are (I − 1) eigenvalues of the (I − 1) × (I − 1) matrix A. For equation (6.11) to hold, −1 ≤ 1 − (4s) sin2 jπ 2I ≤ 1.

The right inequality is true for all j (s > 0 and sin2 () > 0). The left inequality is true if jπ 1 − (4s) sin2 ≥ −1 2I −(4s) sin2 s sin2 ∴ true for all j if s ≤
MMAE 517 (Illinois Institute of Technology)

jπ 2I jπ 2I

≥ −2 ≤ 1 2 0 < sin2 jπ 2I <1
c 2010 K. W. Cassel 221 / 454

1 . 2

Computational Fluid Dynamics

Numerical Solutions of Parabolic Problems

Stability Analysis

Thus, the Euler method is stable for s ≤ 1/2. Notes: Whereas here we only needed eigenvalues for a tridiagonal matrix, in general we need to find the eigenvalues of a (I + 1) × (I + 1) matrix. The effect of different boundary conditions are reflected in A and, therefore, the resulting eigenvalues. This is the same method used to obtain convergence properties of iterative methods for elliptic problems. Recall that the spectral radius ρ(I, J) is the modulus of the largest eigenvalue of the iteration matrix φn+1 = Aφn , where here n indicates successive iterates rather than time steps. If ρ ≤ 1, then the iterative procedure converges. In iterative methods, however, we are concerned not only with whether they will converge or not, but the rate at which they converge, e.g. Gauss-Seidel vs. Jacobi.
⇒ Minimize ρ for maximum convergence rate.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

222 / 454

Numerical Solutions of Parabolic Problems

Stability Analysis

Parabolic problems ⇒ We only require eigenvalues to be less than or equal to one for stability (it is not necessary to minimize).
⇒ It is often advantageous to use a time-marching (parabolic) scheme for solving steady (elliptic) problems due to the less restrictive stability criterion. This is sometimes referred to as the pseudo-transient method, e.g.
2

φ=0

∂φ + ∂t

2

φ = 0.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

223 / 454

Numerical Solutions of Parabolic Problems

Stability Analysis

von Neumann Method (Fourier Analysis) We expand the errors along grid lines at one time level as a Fourier series. Then we determine if the Fourier modes decay or amplify in time. Expanding the error at t = 0 (n = 0)
I−1 I−1

e(x, 0) =
m=1

em (x, 0) =
m=1

am (0)eiθm x ,

(6.13)

where am (0) are the amplitudes of the Fourier modes, θm = mπ, and here √ i = −1. At a later time t
I−1 I−1

e(x, t) =
m=1

em (x, t) =
m=1

am (t)eiθm x .

(6.14)

We want to determine how am (t) behaves with time.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

224 / 454

em (x.. then the amplification after n time steps is (Gm )n = am (t) am (t − ∆t) am (∆t) am (t) .8) is (use index j instead of i) en+1 = (1 − 2s)en + s(en + en ). each mode m must satisfy the equation independently. Thus. i. . with am (t) = (Gm )n am (0). t − ∆t) am (t − ∆t) which is the amplification factor for the mth mode during one time step. Dividing by (Gm )n eiθm x we have Gm = = Gm (1 − 2s) + s eiθm ∆x + e−iθm ∆x 1 − 2s [1 − cos(θm ∆x)] θm ∆x 2 [cos(ax) = (eiax + e−iax )/2] [sin2 x = [1 − cos(2x)]/2] = 1 − (4s) sin2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. define the gain of mode m. the error will not grow if |Gm | ≤ 1 for all m.14) with am (t) = (Gm )n am (0) into equation (6. t) am (t) = . .14). j j+1 j−1 j j = 2. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Therefore. If it takes n time steps to get to time t.e.15) gives (canceling am (0) in each term) (Gm )n+1 eiθm x = (1 − 2s)(Gm )n eiθm x + s(Gm )n eiθm (x+∆x) + eiθm (x−∆x) .. of the error equation corresponding to the difference equation. (6. . The von Neumann method consists of seeking a solution of the form (6. t) = em (x. . = . W. t).15) This equation is linear. therefore. as Gm (x. Cassel 225 / 454 Numerical Solutions of Parabolic Problems Stability Analysis For the first-order explicit (Euler) method. Gm (x. I. W. am (t − ∆t) am (t − 2∆t) am (0) am (0) where (Gm )n is the nth power of Gm . the error equation (4.Numerical Solutions of Parabolic Problems Stability Analysis To do this. substituting (6. Cassel 226 / 454 . the method is stable.

Numerical Solutions of Parabolic Problems Stability Analysis For stability. |Gm | ≤ 1. thus. 0 ≤ sin2 θm ∆x 2 ≤ 1. therefore. The left inequality holds if s ≤ 1/2 (see matrix method). |Gm | equals the square root of the sum of the squares of the real and imaginary parts. W. W. Cassel 227 / 454 Numerical Solutions of Parabolic Problems Implicit Methods Outline 6 Numerical Solutions of Parabolic Problems Introduction Explicit Methods Euler Method (First-Order Explicit) Richardson Method DuFort-Frankel Method Stability Analysis Introduction Numerical Stability Analysis Implicit Methods First-Order Implicit Crank-Nicolson Non-Linear Convective Problems First-Order Explicit Crank-Nicolson Upwind-Downwind Differencing Multidimensional Problems First-Order Explicit Method First-Order Implicit Method ADI Method with Time Splitting MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. if we have a complex number. −1 ≤ 1 − (4s) sin2 θm ∆x 2 ≤1 for all θm = mπ. Note that |Gm | is the modulus. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i.e. Thus. for this case we obtain the same stability criterion as from the matrix method. Cassel 228 / 454 . The right inequality holds for all m and s > 0.

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 230 / 454 .Numerical Solutions of Parabolic Problems Implicit Methods Outline (cont’d) Factored ADI Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 229 / 454 Numerical Solutions of Parabolic Problems Implicit Methods We can improve on the stability properties of explicit methods by solving implicitly for more information at the new time level. W.

Note that it is j strongly diagonally dominant. . j j+1 j j−1 j = 2. First-order backward difference for time derivative. (6.16) which is a tridiagonal problem for φn+1 at the current time level. Cassel 232 / 454 . W. . I. this gives φn+1 − φn φn+1 − 2φn+1 + φn+1 j j j+1 j j−1 =α + O(∆t. . W. sφn+1 − (1 + 2s)φn+1 + sφn+1 = −φn . First-order forward difference for time derivative. Cassel 231 / 454 Numerical Solutions of Parabolic Problems Implicit Methods For the unsteady. ∆x2 ). 2 ∆t ∆x Thus. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . First-order implicit: Central difference for spatial derivatives on the (n + 1)st (current) time level.Numerical Solutions of Parabolic Problems Implicit Methods First-Order Implicit Recall the first-order explicit method: Central difference for spatial derivatives on the nth (previous) time level. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 1-D diffusion equation.

we must only be concerned with accuracy. (6. Notes: 1) The first-order implicit method is only O(∆t) accurate. W. m=1 θm = mπ. Therefore. j j+1 j j−1 We expand the error at time t as I−1 (6.Numerical Solutions of Parabolic Problems Implicit Methods von Neumann Stability Analysis: Error satisfies equation (6. Cassel 234 / 454 .16) sen+1 − (1 + 2s)en+1 + sen+1 = −en . However. W. whereas for implicit methods. 2) There are more computations required per time step than for explicit methods. not stability).18) Substituting into (6. ⇒ For explicit methods. t) = (Gm )n am (0)eiθm x . Note that 1 + (4s) sin2 θm ∆x 2 >1 for all θm and s > 0.17) gives (canceling am (0) in each term) s(Gm )n+1 eiθm (x+∆x) − (1 + 2s)(Gm )n+1 eiθm x +s(Gm )n+1 eiθm (x−∆x) s eiθm ∆x + e−iθm ∆x − (1 + 2s) Gm [(2s) cos(θm ∆x) − (1 + 2s)] Gm {1 + 2s [1 − cos(θm ∆x)]} Gm = = = = −(Gm )n eiθm x −1 −1 1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. and the method is unconditionally stable. Gm < 1. Cassel 233 / 454 Numerical Solutions of Parabolic Problems Implicit Methods ∴ Gm = 1 + (4s) sin 2 θm ∆x 2 −1 . Thus. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. one can typically use larger time steps (only limited by temporal resolution required. the method is stable if |Gm | ≤ 1. we must choose the time step ∆t for both accuracy and stability.17) e(x.

i+1 i i−1 i+1 i i−1 which we solve for φn+1 at the current time level. I. i i = 2. W.19) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 2 2 ∆t 2 ∆x ∆x Later we will show that averaging the diffusion terms across time levels in this manner is second-order accurate in time. Writing the difference equation in tridiagonal form. Cassel 236 / 454 . . . this is accomplished as follows φn+1 − φn α ∂ 2 φn+1 ∂ 2 φn i i + O(∆t2 ) = + + O(∆t2 ) 2 2 ∆t 2 ∂x ∂x n+1 n+1 n+1 φn − 2φn + φn α φi+1 − 2φi + φi−1 φn+1 − φn i i−1 i i = + i+1 . 1-D diffusion equation. . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. (6. W. therefore. we have sφn+1 − 2(1 + s)φn+1 + sφn+1 = −sφn − 2(1 − s)φn − sφn . . Cassel 235 / 454 Numerical Solutions of Parabolic Problems Implicit Methods For the unsteady.Numerical Solutions of Parabolic Problems Implicit Methods Crank-Nicolson We prefer second-order accuracy in time. consider approximating the equation midway between time levels.

4) Very popular scheme for parabolic problems.20) We seek an expression of the form φi MMAE 517 (Illinois Institute of Technology) n+1/2 ˜ = φ + T. i 2 i (6. c 2010 K. W.E.E. we will illustrate a method to determine the accuracy of a specified approximation (cf. 3) Apply derivative boundary conditions at current time level. Cassel 238 / 454 Computational Fluid Dynamics . Cassel 237 / 454 Numerical Solutions of Parabolic Problems Implicit Methods Averaging Across Time Levels: Here we will again show that averaging across time levels as in the Crank-Nicolson method is second-order accurate in time.Numerical Solutions of Parabolic Problems Implicit Methods Notes: 1) Second-order accurate in space and time. Consider averaging a quantity φi midway between time levels as follows φi n+1/2 = 1 n+1 (φ + φn ) + T. In doing so. W. 2) Unconditionally stable for all s. Taylor series expansions in section 4). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

.20) is second-order accurate. the approximation (6. ∆t Dt 2 k ˜ φ. n+1/2 φi 1 = (2m)! m=0 ˜ 1 =φ+ 2! ∞ ∆t Dt 2 2 2m ˜ φ ∆t Dt 2 4 . 8 ∂t2 therefore.e. k ∞ = k=0 ˜ φ = k=0 (−1)k k! ∆t Dt 2 k ˜ φ. thus. . . . k = 0.E. . 3. φi = φ + T. Note that 1 + (−1)k = k = 1. W. 2.Numerical Solutions of Parabolic Problems Implicit Methods Let us expand each term as a Taylor series about (xi . tn+1/2 ): ∞ φn+1 i φn i = k=0 ∞ 1 k! 1 k! ∆t Dt 2 ∆t − Dt 2 k ˜ φ. Substituting these expansions into (6. Cassel 240 / 454 . n+1/2 ˜ i. ˜ φ + ... . Note that this agrees with the result (6. 5. n+1/2 ˜ where Dt = ∂/∂t. . 4. i. φi n+1/2 ∆t Dt 2 ˜ 1 φ+ 4! The first term in the expansion (m = 0) is the exact value and the second term (m = 1) gives the truncation error of the approximation. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e.. W.5) except for the constant factor (we averaged across two time levels for the DuFort-Frankel method).20) gives n+1/2 φi 1 = 2 ∞ k=0 1 1 + (−1)k k! 0. Cassel 239 / 454 Numerical Solutions of Parabolic Problems Implicit Methods Let k = 2m. This truncation error term is ˜ 1 2 ∂2φ ∆t . φi n+1/2 = 1 n+1 (φ + φn ) + O(∆t2 ). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 2. i 2 i This shows that averaging across time levels gives an O(∆t2 ) approximation of φi at the mid-time level tn+1/2 . and φ is the exact value of φi midway between time levels.

W. W. Cassel 241 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Outline (cont’d) Factored ADI Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 242 / 454 .Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Outline 6 Numerical Solutions of Parabolic Problems Introduction Explicit Methods Euler Method (First-Order Explicit) Richardson Method DuFort-Frankel Method Stability Analysis Introduction Numerical Stability Analysis Implicit Methods First-Order Implicit Crank-Nicolson Non-Linear Convective Problems First-Order Explicit Crank-Nicolson Upwind-Downwind Differencing Multidimensional Problems First-Order Explicit Method First-Order Implicit Method ADI Method with Time Splitting MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

and using a forward difference in time.21) ∂t ∂x ∂x where ν is the viscosity. unsteady diffusion equation with convection terms) ∂u ∂2u ∂u =ν 2 −u . ∆t). W. For stability. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i−1 ν∆t i where s = ∆x2 and Ci = ∆x = Courant number. i Writing in explicit form leads to un+1 = i s− Ci 2 un ∆t un + (1 − 2s)un + s + i+1 i Ci 2 un . this method requires that 2 ≤ Re∆x ≤ 2/Ci . 1-D Burger’s equation (1-D.Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Consider the unsteady. Cassel 244 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. This is very restrictive. We want to consider how the nonlinear convection term is treated in the various schemes. Cassel 243 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems First-Order Explicit Approximating spatial derivatives at the previous time level. − un i+1 i 2 ∆t ∆x 2∆x where the un in the convection term is known from the previous time level. we have un − 2un + un un − un un+1 − un i i−1 i−1 i i = ν i+1 + O(∆x2 . where Re∆x = un ∆x/ν = mesh Reynolds i number. W. (6.

it is nonlinear.23) − s− Ci 2 = u un+1 + 2(1 + s)un+1 − s + i+1 i Ci s− 2 ∆t Ci 2 un+1 i−1 (6. Cassel 245 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems where 1 n+1 (ui + un ) + O(∆t2 ). W. . i. 2) Compute update for un+1 . i i n+1/2 4) Repeat until un+1 converges for all i. this procedure requires iteration at each time step: 1) Begin with ui = un . . using equation (6. i = 1. but we do not know ui yet.24).22) = MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e.e. i+1 i−1 4∆x (6. ∆t ). Cassel 246 / 454 . i−1 un i+1 + 2(1 − s)un i Ci + s+ 2 n+1/2 n+1/2 where here Ci = i ∆x .Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Crank-Nicolson un+1 − un i i ∆t ν ∂ 2 un+1 ∂ 2 un 1 ∂un+1 ∂un + − un+1/2 + 2 ∂x2 ∂x2 2 ∂x ∂x ν = un+1 − 2un+1 + un+1 + un − 2un + un i+1 i i−1 i i−1 2∆x2 i+1 n+1/2 ui 2 2 − un+1 − un+1 + un − un i+1 i−1 + O(∆x . W. this results in the implicit finite difference equation ui n+1/2 = (6.24) un . i 3) Update ui n+1/2 1 = 2 (un+1 + un ). . i. i MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. use ui from previous time step as initial guess i at current time step. i 2 Thus. I + 1. Therefore. .

W. If un+1/2 > 0.Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Notes: 1) It typically requires less than ten iterations to converge at each time step. if more are required. then the time step ∆t is too large. W. i. whereas here we want an accurate solution at each time step. Cassel 248 / 454 . Cassel 247 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Upwind-Downwind Differencing Consider the first-order convective terms in the Crank-Nicolson approximation. then approximate ∂un+1/2 /∂x as follows: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e. u n+1/2 n+1/2 ∂u ∂x . 2) In elliptic problems we use Picard iteration because we only care about the final converged solution. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Then ∂u 1 = ∂x 2 1 ∂u = ∂x 2 Notes: 1) Although the finite-difference approximation at the current time level appears to be a backward difference and that at the previous time level appears to be a forward difference. + − ∆x un i MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∆t2 ) accurate will be shown at the end of this section.26) + O(∆x2 . they are really central differences evaluated at half-points in the grid. 2) The fact that this approximation is O(∆x2 . Cassel 249 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems If un+1/2 < 0. + − ∆x un i−1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. ∆t2 ). then approximate ∂un+1/2 /∂x as follows: Now we have ∂u 1 = ∂x 2 1 ∂u = ∂x 2 ∂un+1 ∂x un+1 i+1 + i+1/2 ∂un ∂x un i + O(∆t2 ) i−1/2 − ∆x un+1 i (6. ∂un+1 ∂x un+1 i + i−1/2 ∂un ∂x un i+1 + O(∆t2 ) i+1/2 − ∆x un+1 i−1 (6. Cassel 250 / 454 .25) + O(∆x2 . W. ∆t2 ).

2) Iteration at each time step may require under-relaxation on ui .22) rather than central differences un+1 − un = i i 1 s un+1 − 2un+1 + un+1 + un − 2un + un i+1 i i−1 i+1 i i−1 2 n+1/2 un+1 − un+1 + un − un . for other than the one-dimensional Burger’s equation. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. uk+1 = ωui i where 0 < ω < 1. ∆t2 ) accurate.. Be sure to check this for different equations.27) is diagonally dominant for all s and Ci (note that Ci may be positive or negative). consider the un+1/2 ∂un+1/2 ∂x term with un+1/2 < 0 from (6. ui ui n+1/2 n+1/2 = sun i+1 + 2(1 − + − Ci >0 . . Cassel 252 / 454 k+1/2 + (1 − ω)uk . the truncation error T. of this approximation.E. therefore.28) = (un+1 − un+1 + un − un ) + T.e. n+1/2 2 un+1 − un+1 + un − un . 2. Cassel 251 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Notes: 1) Equation (6.26) in equation (6. . this method is (almost) O(∆x2 . . <0 (6. i.26) ∂u 1 (6. i. W. . 3) As shown below. Therefore.E. 1.e. i i−1 i ∂x 2∆x i+1 We would like to determine the order of accuracy. . ui >0 1 i+1 i i i−1 − Ci .27) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i k = 0. Truncation Error of Crank-Nicolson with Upwind-Downwind Differencing: We have used second-order accurate central differences for the ∂u/∂t and ∂ 2 u/∂x2 terms.Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Use (6. ui <0 i i−1 i+1 i This gives the tridiagonal problem −sun+1 i+1 + 2(1 + s)un+1 i s)un i − sun+1 i−1 sun i−1 + Ci un+1 − un+1 i i−1 un+1 − un+1 i+1 i un − un i+1 i un i − un i−1 . .25) and (6.

˜ k = k=0 ∆t − Dt − ∆xDx 2 u = ˜ k=0 ∆t Dt + ∆xDx 2 u. and u is the exact value of ui ˜ between time levels. Dt = ∂/∂t. ˜ MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂x ∂x n+1/2 midway MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 254 / 454 . Cassel 253 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Expanding each term in equation (6. W. W. We seek an expression of the form ∂u ∂u ˜ = + T.28) as a 2-D Taylor series about (xi . ˜ k ∞ = k=0 ∞ u ˜ k = k=0 ∞ (−1)k k! (−1)k k! ∆t Dt 2 k u. ˜ = k=0 ∞ u. tn+1/2 ): ∞ un+1 i+1 un+1 i un i un i−1 = k=0 ∞ 1 k! 1 k! 1 k! 1 k! ∆t Dt + ∆xDx 2 ∆t Dt 2 ∆t − Dt 2 k k u.E.Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Here. Dx = ∂/∂x.

. . 2. 5. . . W. − ∆t Dt 2 k u ˜ . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. m where k m are the binomial coefficients k m = k! m!(k − m)! (0! = 1). let k = 2l + 1. k = 0. . W.Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Substituting these expansions into (6.28) gives ∂u ∂x = 1 2∆x ∞ k=0 1 k! 1 − (−1) k ∆t Dt + ∆xDx 2 ∆t Dt 2 k k + −1 + (−1) ∂u ∂x Note that 1 + (−1)k+1 = Therefore. thus. l=0 1 (2l + 1)! ∆t Dt + ∆xDx 2 2l+1 − ∆t Dt 2 2l+1 u. . Cassel 255 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Recall the binomial theorem k (a + b) = m=0 k k k−m m a b . Cassel 256 / 454 . 2. ˜ MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. k = 1. 3. ∂u 1 = ∂x ∆x ∞ k u ˜ k = 1 2∆x ∞ k=0 1 + (−1)k+1 k! ∆t Dt + ∆xDx 2 0. 4.

the v∂u/∂y term has truncation error O(∆t2 . if ∆t < ∆x then the approximation is O(∆x2 ) accurate. ∆x2 ). Similarly. consider the l = 1 term (m = 1. ∆y 2 ). ˜ 2l + 1 m ∆t Dt 2 2l+1−m (∆xDx )m = 1 ∆x ∞ l=0 1 (2l + 1)! + 2l+1 m=1 ∆t Dt 2 2l+1 2l−m+1 (∆xDx )m 2l+1 2l + 1 0 2l+1 ∆t Dt 2 − ∆t Dt 2 u.Numerical Solutions of Parabolic Problems Non-Linear Convective Problems Thus. ˜ ∞ = l=0 (2l + 1)! 1 (2l + 1)! m=1 m!(2l − m + 1)! ∞ 2l+1 ∆t Dt 2 2l−m+1 (∆x)m−1 (Dx )m u. ∆t∆x. Note: 1 Method is unconditionally stable. but strictly speaking it is not O(∆t2 . The loss of accuracy is due to the diagonal averaging across time levels. W. ˜ ∂u ∂x = ∂u ˜ + ∂x l=1 1 m!(2l − m + 1)! m=1 ∆t Dt 2 2l−m+1 (∆x)m−1 (Dx )m u. ˜ MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. ∂u ∂x = 1 ∆x ∞ l=0 1 (2l + 1)! − 2l+1 ∆t Dt 2 m=0 2l+1 2l + 1 m u. and if ∆t > ∆x then the approximation is O(∆t2 ) accurate. Computational Fluid Dynamics c 2010 K. 3) 1 1!2! ∆t 2 2 2 Dt Dx u + ˜ 1 2!1! ∆t 2 2 ∆xDt Dx u + ˜ 1 3 ∆x2 Dx u. This is better than O(∆x) or O(∆t). Cassel 257 / 454 Numerical Solutions of Parabolic Problems Non-Linear Convective Problems To obtain the truncation error. the truncation error is O(∆t2 . 2. ∆t∆y. Cassel 258 / 454 MMAE 517 (Illinois Institute of Technology) . Thus. ∆x2 ). ˜ 3!1! Therefore.

W. Cassel 260 / 454 .Numerical Solutions of Parabolic Problems Multidimensional Problems Outline 6 Numerical Solutions of Parabolic Problems Introduction Explicit Methods Euler Method (First-Order Explicit) Richardson Method DuFort-Frankel Method Stability Analysis Introduction Numerical Stability Analysis Implicit Methods First-Order Implicit Crank-Nicolson Non-Linear Convective Problems First-Order Explicit Crank-Nicolson Upwind-Downwind Differencing Multidimensional Problems First-Order Explicit Method First-Order Implicit Method ADI Method with Time Splitting MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 259 / 454 Numerical Solutions of Parabolic Problems Multidimensional Problems Outline (cont’d) Factored ADI Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.

j + φi−1. ∆x2 .j i+1. y. t).j+1 − 2φi.j − 2φi.Numerical Solutions of Parabolic Problems Multidimensional Problems Consider the unsteady. y) at t = 0. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j + φi. We discretize as follows (t is normal to x − y plane): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂t ∂x2 ∂y with initial condition φ(x. W. 2-D diffusion equation ∂φ ∂2φ ∂2φ =α + 2 .29) and boundary conditions (Dirichlet.j i.29) using a forward difference in time and central differences in space at the previous time level gives n n n n φn+1 − φn φn φn i. W.j i. Cassel 262 / 454 . 0) = φ0 (x. ∆y 2 ).30) φ = φ(x. (6. Neumann or mixed) on a closed contour C enclosing the domain. y.j−1 =α + ∆t (∆x)2 (∆y)2 +O(∆t. (6. Cassel 261 / 454 Numerical Solutions of Parabolic Problems Multidimensional Problems First-Order Explicit Method Approximating equation (6.

j i+1. W.j i−1.j i. W.Numerical Solutions of Parabolic Problems Multidimensional Problems Therefore. 2 Thus. solving for the only unknown gives the explicit expression n n n φn+1 = (1 − 2sx − 2sy )φn + sx (φn i.j+1 i. Cassel 263 / 454 Numerical Solutions of Parabolic Problems Multidimensional Problems First-Order Implicit Method Applying a backward difference in time and central differences in space at the current time level leads to the implicit expression (1 + 2sx + 2sy )φn+1 − sx (φn+1 + φn+1 ) − sy (φn+1 + φn+1 ) = φn .j i+1.32) i. for MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 4 1 2 which is even more restrictive than for the 1-D diffusion equation where s ≤ stability.j + φi−1.j i.j−1 ). For numerical stability. (6.e. Cassel 264 / 454 . a von Neumann stability analysis requires that sx + sy ≤ 1 .j−1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. (6. sx = sy = s. for example if ∆x = ∆y.31) i.j ) + sy (φi. we must have s≤ 1 .j where sx = α∆t/(∆x)2 and sy = α∆t/(∆y)2 . i.j+1 + φi.

i.Numerical Solutions of Parabolic Problems Multidimensional Problems Notes: 1 2 Unconditionally stable for all sx and sy . evaluated at the previous time step. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics 265 / 454 Numerical Solutions of Parabolic Problems Multidimensional Problems ADI Method with Time Splitting (Fractional-Step Method) As mentioned above. but with more terms on the right-hand-side. called ADI with time splitting. W. Produces a banded matrix (with five unknowns) that is difficult to solve efficiently. we split each time step into two half-time steps as follows: 1 Sweep along lines of constant y during the first half step. 3 4 Alternatively. Cassel 266 / 454 . It produces a similar implicit equation. resulting in two sets of tridiagonal problems per time step: Step 1: Solve implicitly for terms associated with one coordinate direction. W. we could split each time step into two half steps.e. Step 2: Solve implicitly for terms associated with other coordinate direction. c 2010 K. Crank-Nicolson could be used to obtain second-order accuracy in time.

j = − sy φn −(1−sy )φn − sy φn . . .34) are solved for φi. .j + sx φi−1. . i. φi.j + φi.j n+1/2 n+1/2 n+1/2 n+1/2 1 1 1 n+1/2 n+1/2 1 n+1/2 sx φi+1.j−1 =α + .Numerical Solutions of Parabolic Problems Multidimensional Problems n n − φn φi+1. Cassel 268 / 454 .j φn i.j − 2φi.j i. i = 1.35) n+1/2 n+1/2 n+1/2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. .j − 2φi. .j i.j+1 i.j ∆t/2 n+1/2 φi+1. at the intermediate time level.j−1 2 2 2 2 (6.j −(1+sx )φi.j i. ∆t/2 (∆x)2 (∆y)2 (6. W.j+1 i. I + 1.j i. φn+1 − φi. j = 1.j + φi−1. .j φn+1 − 2φn+1 + φn+1 i. . Cassel 267 / 454 Numerical Solutions of Parabolic Problems 2 Multidimensional Problems Sweep along lines of constant x during the second half step.j+1 − 2φi. W. 2 2 (∆x) (∆y) (6.j−1 =α + .j + φi−1.34) n+1/2 The tridiagonal problems (6.33) Therefore.j . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. J + 1.

Numerical Solutions of Parabolic Problems

Multidimensional Problems

Therefore, 1 1 1 n+1/2 n+1/2 1 n+1/2 sy φn+1 −(1+sy )φn+1 + sy φn+1 = − sx φi+1,j −(1−sx )φi,j − sx φi−1,j . i,j+1 i,j i,j−1 2 2 2 2 (6.36) n+1 The tridiagonal problems (6.36) are solved for φi,j , i = 1, . . . , I + 1, j = 1, . . . , J + 1, at the current time level. Notes:
1 2

Method is O(∆t2 , ∆x2 , ∆y 2 ). Requires boundary conditions at the intermediate time level n + 1/2 for equation (6.34). For example, if the boundary condition at x = 0 is Dirichlet as follows φ(0, y, t) = a(y, t), then φn = an . 1,j j

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

269 / 454

Numerical Solutions of Parabolic Problems

Multidimensional Problems

Subtracting equation (6.35) from (6.33) gives φi,j
n+1/2

− φn φn+1 − φi,j i,j i,j − ∆t/2 ∆t/2

n+1/2

n n φn+1 − 2φn+1 + φn+1 φn i,j+1 − 2φi,j + φi,j−1 i,j+1 i,j i,j−1 =α − 2 2 (∆y) (∆y)

or solving for the unknown at the intermediate time level results in φi,j
n+1/2

=

1 n 1 n+1 n+1 n+1 n n φi,j + φn+1 + sy φn i,j+1 − 2φi,j + φi,j−1 − φi,j+1 − 2φi,j + φi,j−1 i,j 2 4

.

Applying this equation at the boundary x = 0, leads to φ1,j
n+1/2

=

1 1 n n+1 aj + aj + sy an − 2an + an − an+1 − 2an+1 + an+1 j+1 j j−1 j+1 j j−1 2 4

.

This provides the boundary condition for φ1,j at the intermediate (n + 1/2) time level. Note that the first term on the right-hand-side is the average of a at the n and n + 1 time levels, the second term is ∂ 2 an /∂y 2 , and the third term is ∂ 2 an+1 /∂y 2 .

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

270 / 454

Numerical Solutions of Parabolic Problems 3

Multidimensional Problems

For stability, apply von Neumann analysis at each half step and take the product of the resulting amplification factors, G1 and G2 , to obtain G for the full time step.
⇒ Method is unconditionally stable for all sx and sy .

4

In 3-D, we require three fractional steps (∆t/3) for each time step, and the method is only conditionally stable, where sx , sy , sz ≤ 1.5, for stability (sz = α∆t/(∆z)2 ).

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

271 / 454

Numerical Solutions of Parabolic Problems

Multidimensional Problems

Factored ADI Method
Let us reconsider the unsteady, 2-D diffusion equation ∂φ ∂2φ ∂2φ + 2 , =α ∂t ∂x2 ∂y and apply the Crank-Nicolson approximation φn+1 − φn α 2 n+1 i,j i,j 2 2 2 = δx φi,j + δx φn + δy φn+1 + δy φn , i,j i,j i,j ∆t 2 where δ represents second-order central difference operators (as in section 5.7)
2 δx φi,j =

(6.37)

φi+1,j − 2φi,j + φi−1,j , (∆x)2 φi,j+1 − 2φi,j + φi,j−1 . (∆y)2

2 δy φi,j =

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

272 / 454

Numerical Solutions of Parabolic Problems

Multidimensional Problems

Rewriting the difference equation with the unknowns on the left-hand-side and the knowns on the right leads to 1 2 2 1 − α∆t δx + δy 2 1 2 2 φn+1 = 1 + α∆t δx + δy i,j 2 φn . i,j (6.38)

We “factor” the difference operator on the left-hand-side as follows 1 2 2 1 − α∆t δx + δy 2 1 2 ≈ 1 − α∆tδx 2 1 2 1 − α∆tδy , 2 (6.39)

where the first factor only involves the difference operator in the x-direction, and the second factor only involves the difference operator in the y-direction. The factored operator produces an extra term as compared to the unfactored operator 1 2 2 2 2 α ∆t δx δy = O(∆t2 ), 4 which is O(∆t2 ). Therefore, the factorization (6.39) is consistent with the second-order accuracy in time of the Crank-Nicolson approximation.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

273 / 454

Numerical Solutions of Parabolic Problems

Multidimensional Problems

The factored form of (6.38) is 1 2 1 − α∆tδx 2 1 1 2 2 2 1 − α∆tδy φn+1 = 1 + α∆t δx + δy i,j 2 2 φn , i,j

which can be solved in two steps by defining the intermediate variable 1 2 ˆ φi,j = 1 − α∆tδy φn+1 . i,j 2 (6.40)

n+1/2 ˆ Note that φi,j is not the same as φi,j , which is an intermediate approximation to φi,j at the half time step.

The two stage solution process is:
1

Sweep along constant y-lines solving 1 1 2 ˆ 2 2 1 − α∆tδx φi,j = 1 + α∆t δx + δy 2 2 φn , i,j (6.41)

ˆ which produces a tridiagonal problem at each j for φi,j , i = 1, . . . , I + 1.
MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 274 / 454

Numerical Solutions of Parabolic Problems 2

Multidimensional Problems

Sweep along constant x-lines solving (from (6.40)) 1 2 ˆ 1 − α∆tδy φn+1 = φi,j , i,j 2 (6.42)

which produces a tridiagonal problem at each i for φn+1 , j = 1, . . . , J + 1 at i,j the current time step. Note that the right-hand-side of this equation is the solution of (6.41).

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

275 / 454

Numerical Solutions of Parabolic Problems

Multidimensional Problems

Notes:
1

Similar to the ADI method with time splitting, but have an intermediate n+1/2 ˆ variable φi,j rather than half time step φi,j .
Factored ADI is somewhat faster; it only requires one evaluation of the spatial derivatives on the right-hand-side per time step (for equation (6.41)) rather than two for the ADI method (see equations (6.34) and (6.36)).

2

3

Method is O(∆t2 , ∆x2 , ∆y 2 ) accurate and is unconditionally stable (even for 3-D implementation of unsteady diffusion equation). ˆ Requires boundary conditions for the intermediate variable φi,j to solve (6.41). These are obtained from equation (6.40) applied at the boundaries (see Fletcher, section 8.4.1). The order of solution can be reversed, i.e. we could define 1 2 ˆ φi,j = 1 − α∆tδx φn+1 . i,j 2 instead of (6.40).

4

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

276 / 454

Cassel 278 / 454 . use upwind-downwind differencing as in section 6. Smith & Walker. JFM. pp.e. Observe that numerical methods for parabolic problems do not require relaxation or acceleration parameters as is often the case for elliptic solvers. unsteady Navier-Stokes or transport equation.3. W. 99–131 (1991). Cassel 277 / 454 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Outline 7 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Vorticity-Streamfunction Formulation Boundary Conditions for Vorticity-Streamfunction Formulation Thom’s Method Jensen’s Method Numerical Solutions of Coupled Systems of Equations Sequential Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Recall that the issue is numerical stability. W. 6 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Numerical Solutions of Parabolic Problems 5 Multidimensional Problems If we have non-linear convective terms. 232. Vol. not iterative convergence.5. i. which shows factored ADI with upwind-downwind differencing applied to the the unsteady boundary-layer equations (but method applies to more general equations). See Peridier.

y ∗ . W. The density is ρ. y ∗ . It is convenient to nondimensionalize using a characteristic length scale L and velocity U according to (x∗ .1) V =− p+ 1 Re 2 V. given by the momentum equation ∂V∗ ρ + V∗ · ∗ ∂t and the continuity equation · V∗ = 0. W. ∂t ∂x ∂y ∂y Re ∂x2 ∂y (7. U p∗ p= .2) (7. and the velocity vector in Cartesian coordinates. z ∗ ) (x. Cassel 280 / 454 . Cartesian coordinates. L t∗ t= L/U V∗ V= . z) = . t∗ ). the viscosity is µ. z ∗ . the pressure is p∗ (x∗ . ρU 2 V∗ = − p∗ + µ 2 V∗ . y. for example. Cassel 279 / 454 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Applying to the Navier-Stokes equations gives ∂V +V· ∂t and · V = 0. In 2-D. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂t ∂x ∂y ∂x Re ∂x2 ∂y y-momentum: ∂v ∂v ∂v ∂p 1 ∂2v ∂2v +u +v =− + + 2 . where Re = ρU L/µ is the nondimensional Reynolds number. is V∗ = u∗ i + v ∗ j + w∗ k. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. the incompressible Navier-Stokes equations are: x-momentum: ∂u ∂u ∂u ∂p 1 ∂2u ∂2u +u +v =− + + 2 .Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Incompressible flow of a Newtonian fluid is governed by the Navier-Stokes equations.

t) and p(x. Re ∂x3 ∂x∂y 2 ∂x2 ∂y ∂y MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. we can determine v(x. y. t) given that p does not appear in equation (7. ∂x ∂y Thus. t). t) from equation (7. y) and v(x. W. y. t). take the divergence of the momentum equation in vector form. y.e. v(x. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. y. t) and p(x. Therefore. which in 2-D is equivalent to taking ∂/∂x of equation (7. Given u(x.2). (7. Cassel 282 / 454 . t). y. t).3)? ⇒ Need equation for p(x. W.Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Continuity: ∂u ∂v + = 0. t) from equation (7. ∂/∂y of equation (7. we have three coupled equations for three dependent variables u(x. y) in terms of u(x. · (N S). y. which we refer to as primitive variables. y. y) at time t. we can determine u(x.3) To obtain such an equation.1).2) and adding. y. i. t) and p(x. Cassel 281 / 454 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Doing so gives ∂2p ∂2p + 2 ∂x2 ∂y ∂2u = − + ∂t∂x ∂u ∂x 2 ∂ 2 u ∂v ∂u ∂2u +u 2 + +v ∂x ∂x ∂y ∂x∂y ∂v ∂y 2 ∂2v ∂u ∂v ∂2v + + +u + ∂t∂y ∂y ∂x ∂x∂y + +v ∂2v ∂y 2 ∂3u ∂3v ∂3v 1 ∂3u + + + 3 . But how do we determine p(x. y.1). the system is closed mathematically: Given v(x. y.

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂x ∂y MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.3)  B ¨0 B0 ¨ B ¨0 2 2 ∂ p ∂ p ∂v ∂ ∂u ¨¨ ∂v ∂ ∂u ¨¨ ∂v  ∂ ∂u ¨¨ + +u + +v + + 2 = − ¨¨ ¨¨ ¨¨ ∂x2 ∂y ∂t¨∂x ∂y ∂x¨∂x ∂y ∂y ¨∂x ∂y + ∂u ∂x  2 + ∂v ∂y 2 +2 ∂v ∂u ∂x ∂y  B ¨0 2 B ¨0 1  ∂ 2 ∂u ¨¨ ∂v ∂ ∂u ¨¨  ∂v + + + 2 +  2 . Cassel 283 / 454 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation But from the continuity equation (7. Cassel 284 / 454 .Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Doing so gives ∂2p ∂2p + 2 ∂x2 ∂y ∂2u + = − ∂t∂x ∂u ∂x 2 ∂ 2 u ∂v ∂u ∂2u +u 2 + +v ∂x ∂x ∂y ∂x∂y ∂v ∂y 2 ∂2v ∂u ∂v ∂2v + + +u + ∂t∂y ∂y ∂x ∂x∂y + Or ∂2p ∂2p + 2 ∂x2 ∂y = − ∂ ∂u ∂v ∂ ∂u ∂v + +u + ∂t ∂x ∂y ∂x ∂x ∂y 2 2 ∂u ∂v ∂v ∂u + + +2 ∂x ∂y ∂x ∂y ∂u ∂v + ∂x ∂y ∂2 + 2 ∂y +v ∂2v ∂y 2 ∂3u ∂3v ∂3v 1 ∂3u + + + 3 . W. Re ∂x3 ∂x∂y 2 ∂x2 ∂y ∂y +v ∂ ∂y ∂u ∂v + ∂x ∂y 1 ∂2 + Re ∂x2 ∂u ∂v + ∂x ∂y . ¨ ¨ ¨ ¨ Re ∂x ¨∂x ∂y ∂y ¨∂x ∂y We also have from continuity that ∂u ∂x 2 = ∂v ∂y 2 =− ∂u ∂v .

2) with u = v = 0: ∂p 1 ∂2u = ∂x Re ∂x2 1 ∂2v ∂p n=y⇒ = ∂y Re ∂x2 n=x⇒ Other boundary conditions for pressure obtained similarly.. W.1) and (7. Notes: 1 (7. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. respectively): Surface: us = un = 0 (no slip and impermeability) Inflow: us and un specified Outflow: ∂us = ∂un = 0 (fully-developed flow) ∂n ∂n Symmetry: ∂us ∂n = 0.2).Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Substituting gives ∂2p ∂v ∂u ∂2p ∂u ∂v − . etc.. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.1) and (7.. ADI. un = 0 (no flow through symmetry plane) Note that the domain must be sufficiently long for the fully-developed outflow boundary condition to be valid. ⇒ Can be solved using cyclic reduction. Factored-ADI.2) are parabolic in time. respectively. W. + 2 =2 ∂x2 ∂y ∂x ∂y ∂x ∂y which is a Poisson equation for pressure with u(x. Gauss-Seidel. y) known from solutions of equations (7.. Cassel 285 / 454 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Velocity Boundary Conditions (us and un are velocity components tangential and normal to the surface. Cassel 286 / 454 .. y) and v(x. ADI. 2 The pressure equation (7. ⇒ May be solved using Crank-Nicolson. Pressure Boundary Conditions at a Surface: From the momentum equations (7.2) are elliptic.4) The unsteady momentum equations (7.1) and (7. etc..4) and steady forms of (7. Observe that we have Neumann boundary conditions on pressure at solid surfaces.1) and (7. multigrid.

incompressible flow by u= ∂ψ . t) is defined for 2-D. Lines of constant ψ are called streamlines and are everywhere tangent to the local velocity vectors. y. ∂x (7. W. Cassel 288 / 454 .5) such that the continuity equation (7. W. y.6) and measures the local rate of rotation of fluid particles. with the sign corresponding to the right-hand-rule. ∂y v=− ∂ψ .Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation Outline 7 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Vorticity-Streamfunction Formulation Boundary Conditions for Vorticity-Streamfunction Formulation Thom’s Method Jensen’s Method Numerical Solutions of Coupled Systems of Equations Sequential Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂x ∂y (7. ω MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. The vorticity ω(x.3) is identically satisfied. t) in 2-D is defined by ω= ∂u ∂v − . Note that in general 3-D flows vorticity is a − vector → = × V. Cassel 287 / 454 Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation The streamfunction ψ(x.

but no vorticity? To obtain the vorticity-transport equation. × (N S). vortex – a spatially coherent region of fluid rotating as a unit. i.e. ∂x∂y ∂x∂y Re ∂x3 ∂x∂y 2 ∂x2 ∂y ∂y MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.” Example of a flow with vorticity. an “eddy. W. W.e. but no vortex? Example of a flow with vortex.1): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i. take the curl of the momentum equation in vector form. which in 2-D is equivalent to taking ∂/∂x of equation (7. Cassel 289 / 454 Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation Doing so gives ∂2v ∂u ∂v ∂2v ∂2v ∂v ∂v + +u 2 + +v ∂x∂t ∂x ∂x ∂x ∂x ∂y ∂x∂y 2 2 ∂ u ∂u ∂u ∂ u ∂v ∂u ∂2u − − −u − −v 2 ∂y∂t ∂y ∂x ∂x∂y ∂y ∂y ∂y ∂2p 1 ∂3v ∂3u ∂2p ∂3v ∂3u =− + + + − − 3 . Cassel 290 / 454 .2) minus ∂/∂y of equation (7.Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation Note that vorticity = vortex: vorticity – spatial distribution of rotation rates of individual fluid particles.

=−   +   + + − ∂x∂y   ∂x∂y Re ∂x3 ∂x∂y 2 ∂x2 ∂y ∂y   Or ∂ ∂t ∂v ∂u − ∂x ∂y ∂u − ∂y +u ∂ ∂x ∂v ∂u − ∂x ∂y 1 ∂2 = Re ∂x2 +v ∂ ∂y ∂v ∂u − ∂x ∂y ∂2 + 2 ∂y + ∂v ∂x ∂u ∂v + ∂x ∂y ∂u ∂v + ∂x ∂y ∂v ∂u − ∂x ∂y ∂v ∂u − ∂x ∂y MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 292 / 454 . Cassel 291 / 454 Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation But from the continuity equation (7. W.6) B ¨ω B ¨ω B ¨ω B ¨0 ∂ ∂v ¨¨ ∂u ∂ ∂v ¨¨ ∂u ∂ ∂v ¨¨ ∂u ∂v ∂u ¨¨ ∂v − +u − +v − + + ¨ ¨ ¨ ¨¨ ¨ ¨ ¨ ∂t¨∂x ∂y ∂x¨∂x ∂y ∂y ¨∂x ∂y ∂x¨∂x ∂y   B ¨ω 2 B ¨ω B ¨0 2 ∂u ∂u ¨¨ ∂v 1  ∂ ∂v ¨¨ ∂u ∂ ∂v ¨¨  ∂u − + = − + 2 − ¨ ¨ ¨ ¨ ¨ ¨ ∂y ¨∂x ∂y Re ∂x2 ¨∂x ∂y ∂y ¨∂x ∂y Therefore. W.Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation Doing so gives ∂2v ∂u ∂v ∂2v ∂2v ∂v ∂v + +u 2 + +v ∂x∂t ∂x ∂x ∂x ∂x ∂y ∂x∂y 2 2 ∂ u ∂u ∂u ∂ u ∂v ∂u ∂2u − − −u − −v 2 ∂y∂t ∂y ∂x ∂x∂y ∂y ∂y ∂y 1 ∂3v ∂3u ∂2p ∂3v ∂3u ∂2p     − 3 .7) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.3) and the definition of vorticity (7. ∂t ∂x ∂y Re ∂x2 ∂y 2 which is a convection-diffusion equation. (7. the vorticity-transport equation in 2-D is ∂ω ∂ω ∂ω 1 ∂2ω ∂2ω +u +v = + .

The streamfunction equation (7.7)). there is no need to calculate the pressure in order to advance the solution in time. t) and ψ(x. incompressible flows. 2 3 4 The vorticity-streamfunction formulation consists of two equations for the two unknowns ω(x. Cassel 293 / 454 Numerical Solutions of Navier-Stokes Equations 5 Vorticity-Streamfunction Formulation Unlike the primitive variables formulation.5) into (7. Cannot define streamfunction in 3-D ⇒ Vorticity-velocity potential formulation.6) to obtain ∂2ψ ∂2ψ + = −ω.Numerical Solutions of Navier-Stokes Equations Vorticity-Streamfunction Formulation The vorticity and streamfunction may be related by substituting (7. W. The vorticity-transport equation (7. Notes: 1 Equations (7. Cassel 294 / 454 .8) ∂x2 ∂y 2 which is a Poisson equation for ψ(x. t) (cf. W. y. t) from equation (7. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.8) is elliptic. → Can compute p(x. The pressure terms have been eliminated. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. y. y. 6 We do not have straightforward boundary conditions for vorticity (see next section). ⇒ Because of notes (3) and (4) (notwithstanding (6)). y. primitive variables formulation with three equations for three unknowns in 2-D). t) is known. Stretching and tilting terms in 3-D vorticity equations. t) if ω(x. v = −∂ψ/∂x in (7.4) if desired.8) are coupled equations for ω and ψ (with u = ∂ψ/∂y.7) is parabolic when unsteady and elliptic when steady.e. y.7) and (7. i. the ω–ψ formulation does not easily extend to 3-D: Three components of vorticity ⇒ Three vorticity equations. (7. this is the preferred formulation for 2-D.

Cassel 295 / 454 Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation Consider the driven cavity flow: Recall that the streamfunction is defined by u= ∂ψ . W. ∂x MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 296 / 454 . ∂y v=− ∂ψ .Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation Outline 7 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Vorticity-Streamfunction Formulation Boundary Conditions for Vorticity-Streamfunction Formulation Thom’s Method Jensen’s Method Numerical Solutions of Coupled Systems of Equations Sequential Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.

the streamfunction and its normal derivative are specified.Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation Thus. Cassel 297 / 454 Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation On CD: v=0⇒ ∂ψ =0⇒ψ=0 ∂x ∂ψ =1 u=1⇒ ∂y ∴ ψ and ∂ψ specified (n = y). ∂n At solid boundaries. where only one is needed. = 0 ∂y ∂ψ v=0⇒ =0 ∂x ∂ψ ∴ ψ and specified (n = x). Note that we have two boundary conditions on the streamfunction. therefore. W. on AB: ∂ψ =0⇒ψ=0 v=0⇒ ∂x ∂ψ u=0⇒ =0 ∂y ∂ψ ∴ ψ and specified (n = y). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. Cassel 298 / 454 . on AD and BC: ∂ψ u=0⇒ = 0 ⇒ ψ = const. ∂n MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂n Similarly.

10) where the tangential wall velocity uw (x) = g(x) is specified. for example. to obtain a condition for ω at the surface. along AB ψ = 0. y=0 ωw = − We also have u= ∂2ψ ∂y 2 (7. for example. ∂x2 ∂y 2 However.9) ∂ψ = 0 on y = 0. W. ∂x ∂y where τw is the wall shear stress. W. However. Cassel 300 / 454 . Use “extra” boundary condition ∂ψ/∂n = const. ∂y For generality. τw is unknown and must be determined from the solution. consider a moving wall with ∂ψ ∂y = uw (x) = g(x). Strategy: Use ψ = const.Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation In order to consider boundary conditions on vorticity. therefore. on AB: v=0⇒ ∂v ∂u τw =0⇒ω=− =− . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 299 / 454 Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation Thom’s Method Consider. ⇒ Don’t have boundary condition for ω. and . y=0 (7. Throughout the domain we have ∂2ψ ∂2ψ + = −ω.8). ∂x ∂y µ ∂v ∂u − . ∂2ψ ∂x2 = 0. as boundary condition for streamfunction equation (7. recall its definition ω= Thus. the lower boundary AB (y = 0). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation Applying a central difference to (7. W. it exhibits second-order convergence (Huang & Wetton 1996).11) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.2 − 2ψi.10) gives ψi.9) gives ωi.2 − 2∆y gi + O(∆y 3 ). However.13) We then use the most recent iterate for streamfunction ψ to obtain a Dirichlet boundary condition for vorticity ω. ψi.12) Substituting (7. 2∆y therefore.11) for ψi. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.2 − ψi.2 − ψi. (∆y)2 (7.0 in the previous equation leads to ωi.0 = ψi.1 − ∆y gi ] + O(∆y). Note: The truncation error for Thom’s method is only O(∆y). W. Cassel 302 / 454 .0 + O(∆y 2 ).1 + ψi. Cassel 301 / 454 Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation A central difference for (7.1 = − ψi. (7.0 = gi + O(∆y 2 ). (∆y)2 (7.1 = − 2 [ψi.

therefore.3 = gi + O(∆y 3 ). II.Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation Jensen’s Method We would like a method that is O(∆y 2 ) overall.2 + ψi.14) therefore.2 − ψi. 6∆y 3 1 ψi. Treatment of vorticity (and pressure) boundary conditions is still an active area of research and debate (see. 2 2 Substituting into (7. for example.3 + 6∆y gi ] + O(∆y 2 ).1 = − 1 [7ψi. pp. consider using an O(∆y 3 ) approximation for (7. Cassel 304 / 454 . 2 2(∆y) (7.12) results in ωi. Vol. see Fletcher. Cassel 303 / 454 Numerical Solutions of Navier-Stokes Equations Boundary Conditions for Vorticity-Streamfunction Formulation Notes: 1 For discussion of boundary conditions on vorticity and streamfunction at inlets and outlets.2 − ψi. Rempfer 2003). We then use (7.1 + 3ψi.10) −2ψi. 380–381.14) in place of (7.3 − 3∆y gi + O(∆y 4 ). 2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.0 = − ψi.0 − 3ψi.1 − 8ψi. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.13) to obtain a Dirichlet boundary condition for vorticity. W.1 + 6ψi.

iterate on. Vol. i. i. use most recent values.e. Requires one pass through mesh for each equation at each iteration. See. W. Cassel 306 / 454 . Vanka. W. produces an n × n block tridiagonal system of equations that is solved for all the dependent variables simultaneously. 138–158 (1986). P. p)). Phys.. ⇒ If have n dependent variables (e. such as the Navier-Stokes equations in the primitive-variables or vorticity-streamfunction formulations. pp. each equation for its dominant variable. 2 Simultaneous (or Coupled) Solution: Combine coupled equations into a single system of algebraic equations.e. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. S. but in fluid dynamics we must solve systems of coupled equations. 65. Comput.g. for example. v. Two methods for treating coupled equations numerically: 1 Sequential Solution: Solve.Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations Outline 7 Numerical Solutions of Navier-Stokes Equations Primitive-Variables Formulation Vorticity-Streamfunction Formulation Boundary Conditions for Vorticity-Streamfunction Formulation Thom’s Method Jensen’s Method Numerical Solutions of Coupled Systems of Equations Sequential Method MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. J. treating the other variables as known. 2-D primitive variables ⇒ n = 3 (u. we have considered methods for solving single equations. ⇒ Most common and easiest to implement. Cassel 305 / 454 Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations Until now.

2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. if solving using Gauss-Seidel: 1 Sequential ⇒ One Gauss-Seidel expression for each dependent variable updated in succession. W. Cassel 308 / 454 . Cassel 307 / 454 Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations Sequential Method Consider for example the primitive-variables formulation. Simultaneous ⇒ Solve n equations for n unknown dependent variables directly at each grid point.Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations For example. Steady Problems: Note: May require underrelaxation for convergence due to nonlinearity. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

⇒ Trade-off: Generally. Non-Uniform Grids Grid Generation Algebraic Grid Generation Elliptic Grid Generation Variational Grid Generation MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. reducing ∆t reduces number of inner loop iterations. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. (If ∆t small enough. Cassel 309 / 454 Grids and Grid Generation Introduction Outline 8 Grids and Grid Generation Introduction Staggered vs. Cassel 310 / 454 . Collocated Grids Uniform vs. Inner loop to obtain solution of coupled equations at current time step. W. no iteration is necessary).Numerical Solutions of Navier-Stokes Equations Numerical Solutions of Coupled Systems of Equations Unsteady Problems: Notes: Outer loop for time marching.

W. W. In the following two sections we consider alternatives to uniform and collocated grids. Collocated Grids Outline 8 Grids and Grid Generation Introduction Staggered vs. collocated grids. Cassel 311 / 454 Grids and Grid Generation Staggered vs. Non-Uniform Grids Grid Generation Algebraic Grid Generation Elliptic Grid Generation Variational Grid Generation MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Collocated ⇒ All dependent variables are approximated at the same point. Collocated Grids Uniform vs.” Uniform ⇒ Grid spacings in each direction ∆x and ∆y are uniform. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 312 / 454 .Grids and Grid Generation Introduction Thus far we have used what are called “uniform.

Collocated Grids Alternatively. ∂t ∂x ∂y ∂y Re ∂x2 ∂y ∂v ∂u ∂2p ∂2p ∂u ∂v − . Cassel 313 / 454 Grids and Grid Generation Staggered vs. all three equations are approximated at the same points in the grid for their respective dependent variables u(x. y). Collocated Grids Recall the 2-D. y). Cassel 314 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.1) + 2 . and p(x. incompressible Navier-Stokes equations in the primitive variables formulation ∂u ∂u ∂u ∂p 1 ∂2u ∂2u +u +v =− + (8. v(x. ∂t ∂x ∂y ∂x Re ∂x2 ∂y ∂v ∂v ∂p 1 ∂2v ∂v ∂2v +u +v =− + + 2 .2) (8. using a staggered grid we approximate each primitive variable and its associated equation as follows. W.3) When using collocated grids. y). + 2 =2 2 ∂x ∂y ∂x ∂y ∂x ∂y (8. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.Grids and Grid Generation Staggered vs.

and v points do not coincide with the x = 0 boundary in the above example. Cassel 316 / 454 .j + ui.j − 2ui.2) and (8. 2∆x 1 ui.j−1 + vi+1. 2 ∆x ui.j + O(∆x2 ).j−1 (vi. 4 2∆y pi+1. let us consider how each of the terms in the x-momentum equation (8. Specifically. Collocated Grids For example.j + O(∆x2 ).j + vi+1.j + O(∆x2 ). ∆x ui+1. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Collocated Grids Note that special treatment is required at the boundaries.j−1 + O(∆y 2 ).j+1 − ui.3) are treated in a similar manner at their respective points while being approximated at their respective locations in the grid. either grid points at which u or v are computed or specified do not coincide with the boundary.j+1 − 2ui.j + vi. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 315 / 454 Grids and Grid Generation Staggered vs.j + ui−1. the points where u are taken do not coincide with the y = 0 boundary. 2 ∆y = = = The terms in equations (8.j ui+1. W. W. Therefore.j − pi.j−1 ) + O(∆y 2 ).Grids and Grid Generation Staggered vs.1) are approximated (using central differences) on a staggered grid u v ∂u ∂x ∂u ∂y ∂p ∂x ∂2u ∂x2 ∂2u ∂y 2 = = ui.j − ui−1.

Grids and Grid Generation Staggered vs. Cassel 317 / 454 Grids and Grid Generation Uniform vs. W. “Ensures” conservation of kinetic energy. Non-Uniform Grids Outline 8 Grids and Grid Generation Introduction Staggered vs. 2 Advantages of collocated grid: 1 Easier to understand and program. Collocated Grids Advantages of staggered grid: 1 Helps avoid oscillations in pressure that can occur in some methods applied to incompressible Navier-Stokes. W.e. vi. Easier to implement boundary conditions.j and pi. ui.j are all approximated at the same location. particularly for complex boundaries. Cassel 318 / 454 . i. Non-Uniform Grids Grid Generation Algebraic Grid Generation Elliptic Grid Generation Variational Grid Generation MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.j . 2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Collocated Grids Uniform vs.

Alternatively. e.g. Therefore. Applying Taylor series at xi−1 and xi+1 with ∆xi = ∆xi+1 and solving for ∂φ/∂x leads to ∆x2 − ∆x2 ∂φ φi+1 − φi−1 i+1 i = − ∂x ∆xi + ∆xi+1 2(∆xi + ∆xi+1 ) ∂2φ ∂x2 ∆x3 + ∆x3 i+1 i − i 6(∆xi + ∆xi+1 ) ∂3φ ∂x3 +· · · . W.Grids and Grid Generation Uniform vs. Non-Uniform Grids In many flows. Non-Uniform Grids Let us obtain the finite-difference approximations using Taylor series as before. a fine grid is necessary to resolve the flow near boundaries. those involving boundary layers. the solution has local regions of intense gradients. Cassel 319 / 454 Grids and Grid Generation Uniform vs. Cassel 320 / 454 . but without assuming all ∆x’s are equal. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. As a result. W. a non-uniform grid would allow us to refine the grid where it is needed. a uniform grid would waste computational resources where they are not needed. For example. consider the first-derivative term ∂φ/∂x. i MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. but the same resolution is not necessary in the remainder of the domain.

Grids and Grid Generation Uniform vs.e. Non-Uniform Grids If the grid is uniform. W. ∂x ∆xi+1 ∆xi (∆xi + ∆xi+1 ) As one can imagine. and the approximation reduces to the usual O(∆x2 )-accurate central difference approximation for the first derivative. the truncation error is only O(∆x). Non-Uniform Grids Grid Generation Algebraic Grid Generation Elliptic Grid Generation Variational Grid Generation MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. and it is difficult to ensure consistent accuracy for all approximations. Cassel 322 / 454 . However. W. which results in φi+1 ∆x2 − φi−1 ∆x2 + φi (∆x2 − ∆x2 ) ∂φ i i+1 i+1 i = + O(∆x2 ). i. this gets very complicated. Cassel 321 / 454 Grids and Grid Generation Grid Generation Outline 8 Grids and Grid Generation Introduction Staggered vs. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. We could restore second-order accuracy by using an appropriate approximation to ∂ 2 φ/∂x2 i in the second term. Collocated Grids Uniform vs. then the second term vanishes. for a non-uniform grid. ∆xi = ∆xi+1 .

y) and η = η(x.6) (8. i. η). 2 We consider transformations of the form (x. W. We desire a smooth grid distribution. ∂y ∂y ∂ξ ∂y ∂η where ξx = ∂ξ/∂x. it is often advantageous to transform the problem to a computational domain on which a uniform mesh may be used. and (ξ. ηy (8. y). η) are the variables in the computational domain such that ξ = ξ(x. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. rectangular or circular. y) are the variables in the physical domain. which requires that J = 0. where (x.5) Properties of the transformation: 1 2 Mapping must be one-to-one. η). To transform back to the physical domain.4) (8.e. Cluster grid points in regions of the physical domain where the solution varies rapidly. and ηy = ∂η/∂y are called the metrics of the transformation. Cassel 324 / 454 . therefore.g. large gradients occur. e. η) and y = y(ξ. Such a transformation generally has one or both of the following objectives: 1 Transform a complex physical domain into a simple.Grids and Grid Generation Grid Generation Rather than using non-uniform grids. ηx = ∂η/∂x. the metrics should be smoothly varying throughout the domain. ξy = ∂ξ/∂y. y) ⇐⇒ (ξ. The Jacobian of the transformation is J= ξx ξy ηx ξ = x ηy ηx ξy = ξx ηy − ξy ηx . we regard x = x(ξ. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. the transformation laws are ∂ ∂ξ ∂ ∂η ∂ = + . ∂x ∂x ∂ξ ∂x ∂η ∂ ∂ξ ∂ ∂η ∂ = + . computational domain. Cassel 323 / 454 Grids and Grid Generation Grid Generation From the chain rule.

Difficult to extend to 3-D. Cassel 326 / 454 .e. 2 3 4 Algebraic transformation. 97-100). W. Variational methods. For details. for example. W. solution of partial differential equation. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i. recall MMAE 501. Methods of obtaining the mapping: 1 Conformal mapping See figure 1 for an example of a Schwarz-Christoffel transformation. Elliptic grid generation. Cassel 325 / 454 Grids and Grid Generation Grid Generation Algebraic Grid Generation Consider. the flow in a diffuser: The equation for the upper (sloped) boundary is yb = f (x) = H1 + H2 − H1 x. L MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Grids and Grid Generation 3 Grid Generation We may want to enforce orthogonality of the grid (see Fletcher pp.

H2 −H1 ∂y f (x) H1 + L ξ See figure 2 for plots of these metrics. Cassel 327 / 454 Grids and Grid Generation Grid Generation The inverse transformation is then x = ξ. W.8) which produces a stretched grid in the physical domain. ∂x ∂ξ = 0. ∂y H2 −H1 η ∂η f (x) f (ξ) L . η). which show that they are smooth. W. L (8. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. f (x) (8. Cassel 328 / 454 . = −y 2 =− η=− ∂x f (x) f (ξ) H1 + H2 −H1 ξ L ∂η 1 1 = = . Let us check the metrics of this transformation ∂ξ = 1. η= y . y = f (x)η = H1 + H2 − H1 ξ η.Grids and Grid Generation Grid Generation We seek to transform this physical domain into a rectangular computational domain through the algebraic tranformation ξ = x.7) We then utilize a uniform grid in the computational domain (ξ.

We have introduced the boundary-layer variable Y such that y = Re−1/2 Y. y) ∂u ∂u f (ξ) ∂u = u(ξ. W. Cassel 329 / 454 Grids and Grid Generation Grid Generation Let us now consider another scenario in which we have a semi-infinite boundary-layer flow above a surface.4) and (8.Grids and Grid Generation Grid Generation Let us transform the governing equations using the transformation laws (8. W.5) ∂ ∂ξ ∂ ∂η ∂ ∂ f (ξ) ∂ = + = −η . ∂x ∂ξ f (ξ) ∂η MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂y ∂y ∂ξ ∂y ∂η f (ξ) ∂η For example. η) −η . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 0 ≤ Y ≤ ∞. consider the convection term u(x. ∂x ∂x ∂ξ ∂x ∂η ∂ξ f (ξ) ∂η ∂ξ ∂ ∂η ∂ 1 ∂ ∂ = + = . Cassel 330 / 454 .

W. For an illustration. The transformation laws for the transformation (8. it is necessary to know where to cluster the grid points a priori. to the equations themselves. and reducing a concentrates more grid points near the surface at y = 0 in the physical domain when using a uniform grid in the computational (ξ. Cassel 332 / 454 3 4 5 MMAE 517 (Illinois Institute of Technology) . however. One possibility is ξ = x. Must choose the algebraic transformation ahead of time. i. complex geometry and grid.e. It is easy to cluster grid points in the desired regions of the domain. Physical domain ⇒ “simple” equations. 2 Computational overhead is typically relatively small for algebraic methods. complex boundaries and/or non-uniform grids.e. Computational domain ⇒ simple geometry and grid. i. “complex” equations. Cassel 331 / 454 Grids and Grid Generation Grid Generation where Γ(η) = Then 1 [1 + cos(πη)] . i. variational grid generation).9) is used in the x-direction and a stretching transformation similar to that for the diffuser is used in the y-direction. (8. see figure 3 in which transformation (8.Grids and Grid Generation Grid Generation We want a transformation that maps the semi-infinite domain into a finite one and clusters points near the surface.9) This maps Y = 0 to η = 0 and Y = ∞ to η = 1. before solving the problem (cf.e. = Γ(η) 2 ∂Y ∂η ∂η ∂η ∂η Notes: 1 Algebraic methods move the complexity. W. there are no additional equations to solve. ∂Y ∂Y ∂ξ ∂Y ∂η ∂η MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂x ∂ξ ∂ ∂ξ ∂ ∂η ∂ ∂ = + = Γ(η) . η= 2 tan−1 π Y a . It is difficult to handle complex geometries.9) are ∂ ∂ = . Computational Fluid Dynamics c 2010 K. πa ∂2 ∂ ∂ ∂2 ∂ 2 Γ(η) = Γ (η) 2 + Γ(η)Γ (η) . η) domain.

φ → ξ. a uniform grid in (ξ.e. ζ = ξ + iη. ∂x2 ∂y ∂2η ∂2η + 2 = 0. W.e. i. i. W. ∂x2 ∂y 2 (8. i. we could utilize complex variables: z = x + iy. ∂x2 ∂y (8. Cassel 334 / 454 . 89-96) and is good for two-dimensional flows in certain types of geometries. vol.Grids and Grid Generation Grid Generation Elliptic Grid Generation Consider the potential flow past a cylinder: The velocity potential and streamfunction both satisfy the Laplace equation ∂2φ ∂2φ + 2 = 0.11) would provide a good mapping on which to base the computational grid. therefore.10) Observe that the streamlines and isopotential lines would make a good grid on which to obtain a numerical solution.11): 1) Grid parameters are governed by the Laplace equation. ψ → η. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. an appropriate solution to ∂2ξ ∂2ξ + 2 = 0. pp. elliptic grid generation. i.e. η) produces the above grid in physical space. ∂x2 ∂y ∂2ψ ∂2ψ + = 0. Cassel 333 / 454 Grids and Grid Generation Grid Generation Thus. There are two approaches to obtaining the solution to (8. II. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e. 2) Solve a boundary-value problem to generate the grid. they are harmonic. This approach uses conformal mapping (see Fletcher.

12) in the computational domain (ξ. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Note that equations (8. η). For ξ = ξ(x. ∂x2 ∂y ∂2η ∂2η + 2 = Q(x.13) Similarly. known functions involving sources and sinks may be added to the right-hand-side of equations (8. W. y). y). We want to solve (8. ∂x ∂y η = η(x. y). dη We can solve the latter expression for [dξ dη]T by multiplying by the inverse dξ dη = xξ yξ xη yη −1 dx dy = dξ dη = yη −xη −yξ xξ dx dy xξ xη yξ yη 1 yη −xη dx dy J −yξ xξ MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. η) and y = y(ξ. y) and η = η(x. we must transform the governing equation(s). ∂x ∂y dη = ∂η ∂η dx + dy. η). y). ∂x2 ∂y (8. to the computational domain.12) are for ξ = ξ(x. y). Therefore. Cassel 335 / 454 Grids and Grid Generation Grid Generation or in matrix form dξ ξ = x dη ηx ξy ηy dx . e. η) to obtain the grid transformations x = x(ξ. In addition. we seek the transformation laws for (x. y). η) to (x. the total differentials are dξ = ∂ξ ∂ξ dx + dy.12) where P and Q contain exponential functions. Navier-Stokes. y) → (ξ. W.Grids and Grid Generation Grid Generation In order to control grid clustering. we have that dx x = ξ dy yξ xη yη dξ . Cassel 336 / 454 .g. dy (8. for the inverse transformation from (ξ.11) ∂2ξ ∂2ξ + 2 = P (x.

∂ξ ∂ξ∂η ∂η J ∂ξ ∂η ∂2y 1 ∂y ∂y ∂2y ∂2y g22 2 − 2g12 + g11 2 = − 2 P +Q . Cassel 337 / 454 Grids and Grid Generation Grid Generation From these we obtain the second derivative transformation laws as follows ∂2 ∂2η ∂ ∂2ξ ∂ + 2 + = ∂x2 ∂x2 ∂ξ ∂x ∂η and ∂2 ∂2η ∂ ∂2ξ ∂ = + 2 + ∂y 2 ∂y 2 ∂ξ ∂y ∂η ∂ξ ∂y 2 ∂ξ ∂x 2 ∂2 + ∂ξ 2 ∂η ∂x 2 ∂2 ∂η ∂ξ ∂ 2 . ∂ξ ∂η ∂η ∂ξ MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.14) +2 ∂η 2 ∂x ∂x ∂η∂ξ ∂2 + ∂ξ 2 ∂η ∂y 2 ∂2 ∂η ∂ξ ∂ 2 +2 . ∂x J ∂ξ ∂ξ 1 ∂x =− .Grids and Grid Generation Grid Generation Comparing with equation (8.4) and (8. ∂y J ∂ξ Substituting into the transformation laws (8.13). ∂ξ ∂ξ∂η ∂η J ∂ξ ∂η (8.14) and (8.16) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∂x J ∂η 1 ∂y ∂η =− . we see that ξx ηx 1 yη ξy = ηy J −yξ −xη . (8.15) ∂η 2 ∂y ∂y ∂η∂ξ Application of equations (8. W.12) gives ∂2x ∂2x ∂2x 1 ∂x ∂x g22 2 − 2g12 + g11 2 = − 2 P +Q . W.15) to equations (8. the transformation metrics are 1 ∂y ∂ξ = . (8. ∂η ∂ξ ∂ξ ∂η ∂x ∂ ∂x ∂ − . xξ Thus.5) give ∂ ∂ξ ∂ ∂η ∂ 1 = + = ∂x ∂x ∂ξ ∂x ∂η J ∂ ∂η ∂ ∂ξ ∂ 1 = + = ∂y ∂y ∂η ∂y ∂ξ J ∂y ∂ ∂y ∂ − . ∂y J ∂η ∂η 1 ∂x = . Cassel 338 / 454 .

. etc. We solve (GS. η) to obtain the inverse transformation x = x(ξ. ∂ξ ∂η ∂ξ ∂η ∂x ∂η 2 + ∂y ∂η 2 . W. η).) equations (8. Notes: 1) Provides smoother grids than algebraic transformations due to use of diffusion-type equations to generate grid.16) on a uniform grid in (ξ. For boundary conditions to apply to equations (8. 2) Can enforce grid orthogonality. W. Cassel 339 / 454 Grids and Grid Generation Grid Generation Therefore. ∂x ∂x ∂y ∂y + . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.16). y = y(ξ. Note that the coefficients in the equations are defined such that g= g11 g21 g12 = J 2. 2) Grid line slopes at the boundaries.Grids and Grid Generation Grid Generation where g11 g12 g22 = = = ∂x ∂ξ 2 + ∂y ∂ξ 2 . we have a coupled set of nonlinear elliptic equations with Dirichlet or Neumann boundary conditions. multigrid. → Effects of discontinuities at boundaries are smoothed out in interior. η). specify either: 1) Grid point locations (x. y) on boundaries. ADI. SOR.. g22 (g12 = g21 ). Cassel 340 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

for example. U. in which the grid “adapts” to local features of the solution as it is computed. Winslow and TTM methods. η) for desired clustering. 6) Large computational times are required to produce the grid. Z.Foundation and Applications. i. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. who consider smoothness. Cassel 342 / 454 . W. J. C. Cassel 341 / 454 Grids and Grid Generation Grid Generation 7) References: For more elliptic grid generation options. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 4) Can extend to three-dimensional geometries (cf. one must use trial-and-error until something that “looks good” is obtained. see Knupp. “Fundamentals of Grid Generation.” CRC Press (1994). variational grid generation. 8) The ultimate in grid generation is adaptive grid methods. and Mastin.Grids and Grid Generation Grid Generation 3) Can treat multiply-connected regions (see figure 5). A. Thompson. on the same order as the time required to solve the governing equations. η) and Q(ξ. “Numerical Grid Generation . 5) Difficult to choose P (ξ. P. F. Warsi.. Generally. conformal mapping).e..” North Holland (1985). see.. and Steinberg. W. S.

One-Dimensional: We determine functionals for which the stationary function(s) gives a transformation in which the grid spacing ∆xi is proportional to a weight function φ(ξi+1/2 ). W. i.” grid in a least squares sense. it eliminates the trial-and-error necessary in elliptic grid generation. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 343 / 454 Grids and Grid Generation Grid Generation Physical domain: a ≤ x ≤ b Computational domain: 0 ≤ ξ ≤ 1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ”best.e. therefore.Grids and Grid Generation Grid Generation Variational Grid Generation Advantages: Provides a more intuitive and mathematically formal basis for grid generation. Generally formulated to produce the optimal. Cassel 344 / 454 . W.

xξ ) = .17) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Grids and Grid Generation Grid Generation Consider the following discrete functional I S= i=1 (xi+1 − xi )2 = 2φi+1/2 I i=1 ∆x2 i . Cassel 346 / 454 . (8. we want to minimize S subject to the end conditions x1 = a. W. With the integrand of the functional being 1 x2 ξ F = F (ξ. We seek the grid distribution x(ξ) that minimizes the functional I[x(ξ)]. This is known as the weighted length functional. φ (8. φ MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. x(1) = b. For a given weight function φ(ξ). Cassel 345 / 454 Grids and Grid Generation Grid Generation with the end conditions x(0) = a. 2φi+1/2 where xi = x(ξi ). 2 φ Euler’s equation is given by ∂F d − ∂x dξ − ∴ xξξ − d dξ ∂F ∂xξ xξ φ =0 =0 (φ > 0). xi+1 = x(ξi+1 ) and φi+1/2 = (φ(ξi ) + φ(ξi+1 ))/2. Dividing the above expression by ∆ξ (= constant) gives S = ∆ξ I i=1 ∆xi ∆ξ 2 ∆ξ . W. 2φi+1/2 Taking ∆ξ → 0 gives the continuous functional 1 I[x(ξ)] = 2 1 0 (∂x/∂ξ)2 1 dξ = φ(ξ) 2 1 0 x2 ξ dξ. x. xI+1 = b.18) (8.19) φξ xξ = 0.

Cassel 348 / 454 . In this case. say w(x). In that case. the integrand of the functional is 1 x2 ξ F = F (ξ. x(1) = b. x(1) = b. Conceptually. we prefer to think in terms of physical weight functions. dξ Writing this expression in discrete form yields ∆xi =Cφ ∆ξ ξi+1 + ξi 2 . we take φ = w2 > 0 in equation (8. where the proportionality constant is C∆ξ. x. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 347 / 454 Grids and Grid Generation Grid Generation Note that the weight function φ(ξ) has been expressed in the computational domain. we see that this requires that ∆xi be proportional to φi+1/2 . (8.17) giving the physical weight length functional 1 1 x2 ξ I[x(ξ)] = dξ. Therefore.18).Grids and Grid Generation Grid Generation with boundary conditions x(0) = a. W. ∆xi = K w xi+1 + xi 2 2 . In order to see what this means for the grid spacing. 2 (x) 2w MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Let us set the grid spacing to be proportional to [w(x)]2 . Therefore. and it is not necessarily clear how it should be chosen. φ ξ Integrating (with integration constant C) and multiplying by φ(ξ) gives dx = Cφ(ξ).20) 2 (x) 2 0 w with x(0) = a. i.e. let us consider equation (8. the grid spacing is determined by a physical variable or one of its derivatives giving rise to feature-adaptive grid generation. which is xξ = 0. W. xξ ) = .

Cassel (8. ∂F wx = − 3 x2 . the Euler equation is xξξ − MMAE 517 (Illinois Institute of Technology) xξ ∂F = 2. except that now w(x) is a physical weight function. The boundary conditions are x(0) = a. xξ wξ xξ = 0. w ξ − By the chain rule d dξ d 1 d = = dx dx dξ xξ dξ Thus. c 2010 K. where c is the convection speed.Grids and Grid Generation Grid Generation Therefore. x(1) = b. steady convection-diffusion equation uxx − cux = 0.21) 349 / 454 Computational Fluid Dynamics Grids and Grid Generation Grid Generation which is of the same form as (8. e −1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 350 / 454 . ∂x w ξ and Euler’s equation gives wx 2 d xξ =0 x − 3 ξ w dξ w2 wx xξ wx 2 xξξ xξ + 2 − 2 3 xξ = 0 w3 w w wx 2 xξξ − x = 0. u(a) = 0. Increasing c produces an increasingly thin boundary layer near x = b. a ≤ x ≤ b. One-Dimensional Illustration: Consider the one-dimensional. (8.22) is ec(x−a) − 1 u(x) = c(b−a) . The exact solution to (8. w (w > 0). ∂xξ w ⇒ wx = 1 wξ . W.22) u(b) = 1. W.19) (this is why we set φ = w2 ).

Grids and Grid Generation Grid Generation The governing equation (8. Cassel 351 / 454 Grids and Grid Generation Grid Generation To solve (8. w≈ 1 . Here we will use the grid equation (8.22) and the grid equation must be transformed into the computational domain. 0 < w ≤ 1.23) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.21) (corresponding to the physical weighted-length functional (8. W. u(1) = 1. xξ dξ xξ dξ xξ dξ xξ dξ Transforming the governing equation (8. xξξ + cxξ uξ = 0. x2 dξ 2 xξ dξ xξ dξ ξ or uξξ − with boundary conditions u(0) = 0. Observe that ux small ux large ⇒ ⇒ w ≈ 1. the transformation laws are d dx d2 dx2 = = dξ d 1 d = .20)) wξ xξξ − xξ = 0. x(1) = b.23) for the velocity u(ξ) requires the grid x(ξ). (8.24) w with the boundary conditions x(0) = a. dx dξ xξ dξ 1 d2 1 d 1 d xξξ d = 2 2− 3 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.22) to computational coordinates gives 1 du 1 d2 u xξξ du − 3 −c = 0.25) is a parameter to be chosen. (8. → How to choose w(x)? A common choice for a feature-adaptive weight function is based on the gradient of the dependent variable of the form w(x) = where 1 1+ 2 u2 x . W. |ux | (|ux | ↑ ⇒ w ↓ ⇒ ∆x ↓). Cassel 352 / 454 . In one dimension. xξ (8.

x(0) = a.24) is wξ = w 2 uξ xξξ xξ uξ − uξξ x2 + 2 u2 ξ ξ . xξξ − W (ξ)xξ = 0. where X(ξ) = u(0) = 0. we have two coupled second-order linear ordinary differential equations.27) Note: A uniform grid in the physical domain results if = 0 (w = 1.27).e.28) (8. i.24). Thus. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. w Recall that the last expression is given by equation (8. (8.27) expressed in the computational ξ-plane are uξξ − X(ξ)uξ = 0.24) (with (8.23) and the grid equation (8. the coefficient in equation (8. 1+ 2 x2 ξ u2 ξ Therefore. u(1) = 1. and all the weight function information is contained in the W (ξ) coefficient in the grid equation. x(ξ) = (b − a)ξ + a. x(1) = b. Thus.29) xξξ + cxξ . (8. increasing increases the influence of the transformation. wξ = 0). we need the weight function (8.26) wξ = − − 2 xξξ u2 3 ξ ξ x 2 uξ 2 1+ 2 x2 ξ u2 ξ 3/2 = xξξ xξ uξ − uξξ 3/2 x2 ξ . (8. Cassel 353 / 454 Grids and Grid Generation Grid Generation Numerical Procedure: The governing equation (8. Note that all of the grid transformation information is encapsulated in the X(ξ) coefficient in the governing equation. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. xξ wξ W (ξ) = . Cassel 354 / 454 . respectively. W.Grids and Grid Generation Grid Generation For use in the grid equation (8.25) in terms of the computational coordinate ξ: w (x(ξ)) = 1 1+ Taking the derivative 2 2 x2 uξ uξξ ξ 2 x2 ξ u2 ξ .

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . ∆ξ Xi . I.29). y] = 2 0 0 φ(ξ.2. η). η) > 0.28) approximated on the computational grid using central differences ui+1 − 2ui + ui−1 ui+1 − ui−1 = 0.e. We obtain a similar tridiagional problem for the grid equation (8.nb’ Two-Dimensional: The two-dimensional analog to the one-dimensional weighted-length functional (8. ξ 2 x2 + yη = K2 ψ(ξ. η) > 0 and ψ(ξ. η) where we now have two weight functions φ(ξ. . i. √ √ g11 = 2 x2 + yξ = K1 φ(ξ. − Xi 2 ∆ξ 2∆ξ Thus. we have the tridiagonal problem Ai ui−1 + Bi ui + Ci ui+1 = Di . η) ψ(ξ. η g22 = Recall that g11 and g22 are defined in section 8. 2 i = 2. Cassel 356 / 454 . I[x. This produces a grid for which the lengths of the coordinate lines are proportional to the weight functions.4. where Ai Bi Ci Di = = = = 1+ −2. . 2 ∆ξ Xi . 1− 0. W. . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Grids and Grid Generation Grid Generation Consider equation (8.17) is 2 2 x2 + yη 1 1 1 x2 + yξ ξ η + dξdη. η). W. Cassel 355 / 454 Grids and Grid Generation Grid Generation See the Mathematica notebook ’GridGen.

η) > 0. Cassel 358 / 454 . is proportional to a weight function φ(ξ. + ξ xη ψ yη ψ = 0. W.Grids and Grid Generation Grid Generation The Euler equations are then xξ φ yξ φ Notes: 1) If φ = ψ = c. then the Euler equations are Laplace equations xξξ + xηη = 0. η MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. elliptic grid generation. 2) The weight functions control the interior grid locations in a much more formal manner than the P and Q forcing functions in elliptic grid generation. the local grid spacing is directly proportional to the specified weight functions. ∴ IA [x. η MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. i. cf. which may be related directly to the physical solution. which is related to the Jacobian J. η − ξ = 0. Cassel 357 / 454 Grids and Grid Generation Grid Generation Other functionals are also possible: Area Functional: The area of each cell. That is. η + ξ = 0. yξξ + yηη = 0. W. φ Jxξ φ Jyξ φ = 0.e. y] = Euler equations: Jxη φ Jyη φ − ξ 1 2 1 0 0 1 J2 dξdη.

One criteria could be emphasized over the other by including weight coefficients in the respective terms in the functional. W. Euler equations: (g12 xη )ξ + (g12 xξ )η = 0. This results in a grid such that the average of the area and orthogonality functionals are minimized. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. For example. consider the area-orthogonality functional 1 IAO [x. y] = 2 1 0 0 1 2 J 2 + g12 1 dξdη. (g12 yη )ξ + (g12 yξ )η = 0. η + ξ = 0. = φ 2 1 0 0 1 g11 g22 dξdη. the orthogonality functional is 1 1 1 2 g dξdη. therefore. Cassel 360 / 454 . W. y] = 2 0 0 12 such that g12 is minimized in a least squares sense (without a weight function). Cassel 359 / 454 Grids and Grid Generation Grid Generation Combination Functionals: We can form combinations of the above functionals. Euler equations: g22 xξ φ g22 yξ φ + ξ g11 xη φ g11 yη φ = 0. η MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ∴ IO [x. φ 2 where again the fact that J 2 = g = g11 g22 − g12 has been used.Grids and Grid Generation Grid Generation Orthogonality Functional: The grid is orthogonal if g12 = xξ xη + yξ yη = 0.

y. w(x. η) can be obtained by solving the Euler equations (most common) or the variational form directly. yξ . functionals may be written to determine ξ(x. η). in order to determine the mappings x(ξ. i. xξ . rather than in the computational domain.5 and chapter 11). W. These are called contravariant functionals (see Knupps and Steinberg section 8. Cassel 362 / 454 . ξy . t). y. η) remains fixed and uniform).Grids and Grid Generation Grid Generation Notes: 1) Just as in the one-dimensional case. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. xη . η] = 2 1 0 0 1 F (x.e. φ(ξ. ηy )dxdy. i. t). 1 I[ξ. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. η) and y(ξ. ξx . Cassel 361 / 454 Grids and Grid Generation Grid Generation 4) For unsteady problems additional terms are required in the governing equations due to movement of the grid in the physical domain (the computational grid (ξ. 3) All of the two-dimensional functionals above have been written in the form I[x. ξ. y. η. η). x. ξ = ξ(x. ηx . y) and η(x. y). yη )dξdη.e. i. y(ξ. 2) The grid x(ξ. η). it is generally preferable to define weight functions in the physical domain.e. Alternatively. y] = 1 2 1 0 0 1 F (ξ. W. η. y). η = η(x.e. y. i.

(9. Unsteady Diffusion Illustration Consider the one-dimensional. Unsteady Diffusion Illustration Exact Solution Numerical Solution Numerical Solution of the Eigenproblem Similarity Transformation QR Method to Obtain Eigenvalues and Eigenvectors Plane Rotations Arnoldi Method Hydrodynamic Stability Linearized Navier-Stokes Equations Local Normal Mode Analysis Numerical Solution of the Orr-Sommerfeld Equation Example: Plane-Poiseuille Flow MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 364 / 454 . 0) = f (x).Hydrodynamic Stability and the Eigenproblem 1-D. and the initial condition u(x. Cassel 363 / 454 Hydrodynamic Stability and the Eigenproblem 1-D. W.1) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. unsteady diffusion equation ∂u ∂2u = α 2.3) u( . t) = 0. W. Unsteady Diffusion Illustration Outline 9 Hydrodynamic Stability and the Eigenproblem 1-D. t) = 0. (9.2) 0≤x≤ . ∂t ∂x with the boundary conditions u(0. (9.

.7) The boundary condition u(0. (9. which requires that c1 = 0. t) = φ(x)ψ(t). t) = 0.5) is φ(x) = c1 cos(µx) + c2 sin(µx). Therefore. (9.4) Moving everything depending upon t to the left-hand-side and everything depending upon x to the right-hand-side.6) dt each of which are differential eigenproblems. . dt dx (9. so we consider the case where λ = −µ2 < 0. Substituting into equation (9. 3. (9. we must have φ( ) = 0.5) 2 dx dψ + αµ2 ψ = 0. αψ dt φ dx2 Because the x and t dependence can be separated in this way. Unsteady Diffusion Illustration Exact Solution Let us begin by using the method of separation of variables to obtain an exact solution for equation (9. Cassel 365 / 454 Hydrodynamic Stability and the Eigenproblem 1-D. W. µn = nπ .Hydrodynamic Stability and the Eigenproblem 1-D. say λ. W. Cassel 366 / 454 . n = 1. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. which requires that sin(µn ) = 0. From the boundary condition u( .1). this becomes 1 d2 φ 1 dψ = = λ = −µ2 . the partial differential equation (9. both sides of the equation must be equal to a constant. . We separate the variables according to u(x. 2.1) is converted into two ordinary differential equations d2 φ + µ2 φ = 0. Unsteady Diffusion Illustration trivial solution for the boundary conditions given. t) = 0 requires that φ(0) = 0. The solution to equation (9. . Therefore.1) gives φ d2 φ dψ = αψ 2 . Positive and zero λ produce only the MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

cn = f (x). Therefore. Thus.1)–(9.8) n = 1. 3.Hydrodynamic Stability and the Eigenproblem 1-D. Then the eigenfunctions are ∞ ∞ ∞ 2 nπ x . φn (x) . 2.9) u(x. .10) with (9. n=1 Taking the inner product of φm (x) with both sides. W. t) = n=1 un (x. (9. . .3) is given by equation (9. the only non-vanishing term (due to orthogonality of the eigenfunctions φn (x)) occurs when m = n. Unsteady Diffusion Illustration or ∞ cn φn (x) = f (x). Cassel 368 / 454 . we have the spatial eigenfunction φn (x) = sin The solution to (9. . W. 3. 2. Unsteady Diffusion Illustration and the eigenvalues are λn = −µ2 n =− n2 π 2 2 . n = 1. 2.11) which are the Fourier sine coefficients of f (x). (9. . Letting c2 = 1. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.10) The constants cn are determined by application of the initial condition (9.6) is ψn (t) = cn e−αµn t . . φn (x) 2 = 2 ||φn (x)|| f (x) sin 0 nπ x dx. . . (9. Cassel 367 / 454 Hydrodynamic Stability and the Eigenproblem 1-D. for which ∞ nπ u(x. the exact solution to (9. . n=1 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. t) = n=1 φn (x)ψn (t) = n=1 cn exp − αn2 π 2 2 t sin nπ x . n = 1. (9. 3. 0) = cn sin x = f (x).11).3). . giving cn ||φn (x)||2 = f (x).

 . .5). .2) numerically. See Mathematica notebook “1Ddiff. . Cassel 370 / 454 . Unsteady Diffusion Illustration ¯ This is an algebraic eigenproblem for the eigenvalues λ = (∆x)2 λ and the eigenvectors φ.5). . for i = 2. which are discrete approximations of the continuous eigenfunctions (9.  . Because A is tridiagonal with constants along each diagonal.nb” for a comparison of the eigenvalues obtained numerically as described here versus the exact eigenvalues from the previous section. In general.12) (φ1 = 0. . . .   . . .   . this is not the case.  . I  −2 1  1 −2  0 1   . .8).  . Using central differences. . W. in matrix form we have     φ2 φ2 0 ··· 0 0  φ3  1 ··· 0 0   φ3       φ4  −2 · · · 0 0   φ4     2  . W. (9. the differential equation becomes φi+1 − 2φi + φi−1 = λφi . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.  0 0 0 0 or ¯ Aφ = λφ.Hydrodynamic Stability and the Eigenproblem 1-D. .    φI−1  0 · · · −2 1  φI−1  0 ··· 1 −2 φI φI MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Unsteady Diffusion Illustration Numerical Solution Now let us consider solving the differential eigenproblem (9. . . of course. . with boundary conditions (9. Cassel 369 / 454 Hydrodynamic Stability and the Eigenproblem 1-D..  = (∆x) λ  . .  . and the eigenvalues (and eigenvectors) must be determined numerically for a large matrix A. . φI+1 = 0). (∆x)2 Thus. . we have a closed form expression for the eigenvalues (see section 3.

Cassel 371 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem The standard method for numerically determining the eigenvalues and eigenvectors of a matrix is based on QR decomposition. which entails performing a series of similarity transformations. W. W. Cassel 372 / 454 . respectively.Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Outline 9 Hydrodynamic Stability and the Eigenproblem 1-D. This is the approach used by the built-in Mathematica and Matlab functions Eigenvalues[]/ Eigenvectors[] and eig(). Unsteady Diffusion Illustration Exact Solution Numerical Solution Numerical Solution of the Eigenproblem Similarity Transformation QR Method to Obtain Eigenvalues and Eigenvectors Plane Rotations Arnoldi Method Hydrodynamic Stability Linearized Navier-Stokes Equations Local Normal Mode Analysis Numerical Solution of the Orr-Sommerfeld Equation Example: Plane-Poiseuille Flow MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

we call equation (9. Therefore. Cassel (9. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.13) and (9. if A is symmetric. for A real and symmetric.14) preserves the eigenvalues and symmetry of A.15) have the same eigenvalues λ. (9. BQT x = λQT x. A is symmetric such that A = AT . (9. observe that BT = [QT AQ]T = [Q]T [A]T [QT ]T = QT AQ = B.Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Similarity Transformation Consider the eigenproblem Ax = λx. (9. W. B is symmetric as well when Q is orthogonal. The eigenvectors of A. Let us consider the transformation B = QT AQ. In summary. i. This is the case because Q is orthogonal.16) If in addition to being real and square.14).e. W.15) 373 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem which is an eigenproblem for the matrix B defined by the transformation (9. Postmultiplying both sides by QT x leads to BQT x = QT AQQT x.16).14) a similarity transformation because A and B = QT AQ have the same eigenvalues. x. and B. Cassel 374 / 454 . and the eigenvectors are related by (9. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. square matrix. = QT Ax. y. i. Note that the eigenproblems (9.e. Suppose that Q is an orthogonal matrix such that Q−1 = QT . are related by y = QT x (x = Qy) . therefore. this can be written as By = λy.14) Defining y = QT x.13) where A is a real. the similarity transformation (9. = QT λx.

Not only do they all have the same eigenvalues. taking R0 Q0 is equivalent to the similarity transformation (9. . 0 (9.19). .19) which is a similarity transformation. A2 . . k = 0. . (9. 2. and R is an upper (“right”) triangular matrix. . R0 = R. 0 0 Therefore.18) 375 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Because Q0 is orthogonal. . the QR decomposition of the given matrix is A 0 = Q0 R0 . Q0 = Q. Cassel (9.18) we have Ak+1 = Rk Qk . W. premultiplying equation (9. Cassel 376 / 454 . the similarity transformations maintain the same structure as A.18) we may determine A1 from A 1 = QT A 0 Q0 . e. It can be shown (not easily) that the sequence of similar matrices A0 . A QR decomposition exists such that A = QR. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 1. i. A2 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. and A1 has the same eigenvalues as A0 = A. Consider A real and symmetric. A = AT . we now turn our attention to the iterative QR method for finding the eigenvalues and eigenvectors of a matrix A. Letting A0 = A. Let us form the product (note order) A 1 = R0 Q0 . generalizing equation (9.e. are similar to A0 = A.g. substituting for R0 in (9. Thus. . . W. which requires such transformations. A1 .20) where all A1 . That is. Ak . . where Q is an orthogonal matrix. tridiagonal. . .17) by Q−1 = QT gives 0 0 QT A0 = QT Q0 R0 = R0 . .Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem QR Method to Obtain Eigenvalues and Eigenvectors Having determined the properties of similarity transformations.17) (9. .

··· 1 0 0 c 1 . . W.. Cassel 378 / 454 ··· . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. In either case. W. 0 s 0 . . Pqp = −s. Computational Fluid Dynamics . . P= . where c = cos φ and s = sin φ. the eigenvalues of A (and A1 .) are on the main diagonal in increasing order by absolute magnitude.e. respectively.. Ppq = s. But how do we determine the Q and R matrices for each iteration? ⇒ Plane rotations. converges. . A2 . .Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem gets progressively closer.   0   −s 0      MMAE 517 (Illinois Institute of Technology)            .  1  ..  . That is. .          1 c 2010 K. Cassel 377 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Plane Rotations Consider the n × n transformation matrix P comprised of the identity matrix with only four elements changed in the pth and q th rows and columns according to Ppp = Pqq = c. i. . .   1   c 0   0 1   . to a diagonal or upper triangular matrix if A is symmetric or non-symmetric.

P rotates the vector x through an angle φ in the xp xq -plane.  . q = 2 y1 = cx1 + sx2 . where xT = [x1 x2 · · · xp · · · xq · · · xn ]. Note that y = PT x rotates the vector x through an angle −φ.23) This transformation rotates the vector x through an angle φ to obtain y. i.   yq     .   .22) (9. y2 = −sx1 + cx2 . Then   x1  x2     .  . W.21) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. For example.  . or y1 cos φ = y2 − sin φ sin φ cos φ x1 .   . Thus. Cassel 379 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem yq = −sxp + cxq . p = 1. Cassel 380 / 454 .   yp    y = Px =  . xn where the only two elements that are altered are yp = cxp + sxq . consider the case for n = 2.21). in the general n-D case (9.   .e. (9. W.Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Observe the effect of transforming a n-D vector x according to the tranformation y = Px. x2 (9.   . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

R is given by R = Pm · · · P2 P1 A. banded) matrices. i. (9. Householder transformation (reflection) – efficient for dense matrices. Thus.25) See Mathematica notebook “QRmethod. the orthogonal matrix Q is then obtained from QT = Pm · · · P2 P1 . by taking Y = PX. Cassel 381 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem We can imagine a series of Givens or Householder transformations that reduce the matrix A to a matrix that is upper triangular. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. a matrix. i.g.e. if m projections are required to produce an upper triangular matrix.nb” for an illustration of how QR decomposition is used in an iterative algorithm to obtain the eigenvalues of a matrix. We can generalize to rotate a set of vectors.e.22) and (9.23)). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 382 / 454 .g. e. e. structured (e.g.24) Because A = QR. PT = P−1 . 3 The angle φ may be chosen with one of several objectives in mind. Taking the transpose leads to Q = PT PT · · · PT . yp or yq (see equations (9. i. W. which is the R matrix in a QR decomposition. i) To zero all elements below (or to the right of) a specified element.Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Notes: 1 2 The transformation matrix P is orthogonal. 1 2 m (9. yT = [y1 y2 · · · yj 0 · · · 0]. R = QT A. ii) To zero a single element. Givens transformation (rotation) – efficient for sparse. W.e. For example.

→ This is done using a series of similarity transformations based on Householder rotations for dense matrices or Givens rotations for sparse matrices. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Numerical Recipes. Cassel 383 / 454 Hydrodynamic Stability and the Eigenproblem 5 Numerical Solution of the Eigenproblem The order of operations for the QR method per iteration are as follows: Dense matrix → O(n3 ) ⇒ Very expensive. W. for example. but the QR decompositions can be obtained two times faster than in the standard Givens transformation illustrated in “QRmethod.” Convergence of the iterative QR method may be accelerated using shifting (see. respectively. 4 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Thus. ii) Use iterative QR method to obtain eigenvalues of tridiagonal or Hessenberg matrix.Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Notes: 1 The QR decomposition (9. Givens transformations are most efficient for large. structured matrices. → Configure to only zero elements that are not already zero. Cassel 384 / 454 .25) is obtained from a series of plane (Givens or Householder) rotations. the most efficient procedure is as follows: i) Transform A to a similar tridiagonal or Hessenberg form if A is symmetric or non-symmetric. 2 3 There is a “fast Givens transformation” for which the P matrices are not orthogonal. Hessenberg matrix → O(n2 ) Tridiagonal matrix → O(n). section 11.3).24) and (9. W.nb. sparse.

. 2 3 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Aq0 . using Gram-Schmidt. A2 q0 . W. W. we define the Krylov subspace by Kk (A. In addition.Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Arnoldi Method The Arnoldi method has been developed to treat situations in which we only need a small number of eigenvalues of a large sparse matrix: 1 The iterative QR method described in the previous section is the general approach used to obtain the full spectrum of eigenvalues of a dense matrix. which has dimension k and is a subspace of Rn . q0 ).” ⇒ We would like an efficient algorithm that determines a subset of the full sprectrum of eigenvalues (and possibly eigenvectors) of a sparse matrix. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . The Arnoldi method is based on constructing an orthonormal basis. Given an arbitrary n-D vector q0 . where k n. and as we will see when we evaluate hydrodynamic stability. e. . . we often do not require the full spectrum of eigenvalues in stability problems as we only seek the “least stable mode. of the Krylov subspace Kk that can be used to project a general n × n matrix A onto the k-D Krylov subspace Kk (A. Cassel 386 / 454 .g. As we saw in the 1-D unsteady diffusion example. Cassel 385 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem Suppose we seek the largest k eigenvalues (by magnitude) of the large sparse n × n matrix A. q0 ) = span q0 . Ak−1 q0 . we often seek the eigenvalues of large sparse matrices.

Normalize: q1 = q0 /||q0 ||. and we obtain the approximation of one additional eigenvalue. Cassel 387 / 454 Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem At each step i = 2. k: → An n × i orthonormal matrix Q is produced that forms an orthonormal basis for the Krylov subspace Ki (A. . Although the outcome of each step depends upon the starting Arnoldi vector q0 used. → The eigenvalues of H. Set Q = q1 . q0 ). . sometimes called the Ritz eigenvalues. Notes: 1 Because k n. Cassel 388 / 454 . 5 End Do MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Orthogonalize qi against q1 . the procedure converges to the correct eigenvalues of matrix A. Form the Hessenberg matrix H = QT AQ. Do i = 2. Determine the eigenvalues of H. . qi−1 .Hydrodynamic Stability and the Eigenproblem Numerical Solution of the Eigenproblem We form the orthonormal projection matrix Q using the following step-by-step (non-iterative) method that produces a Hessenberg matrix H whose eigenvalues approximate the largest k eigenvalues of A: 1 2 3 4 Specify starting Arnoldi vector q0 . we only require the determination of eigenvalues of Hessenberg matrices that or no larger than k × k as opposed to the original n × n matrix A. → Using the projection matrix Q. we transform A to produce an i × i Hessenberg matrix H (or tridiagonal for symmetric A). . Append qi to Q. W. The approximations of the eigenvalues improve as each step is incorporated. . . . q2 . . which is an orthogonal projection of A onto the Krylov subspace Ki . k i) ii) iii) iv) v) Multiply qi = Aqi−1 . W. 2 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. approximate the largest i eigenvalues of A.

the smaller k can be to obtain a good approximation of the largest k eigenvalues of A. it can be designed to determine the k eigenvalues with the largest real or imaginary part. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ARPACK has been implemented in Matlab via the eigs() function. As the Arnoldi method progresses. This is known as the implicitly restarted Arnoldi method and is based on the implicitly-shifted QR decomposition method. this is called the generalized minimal residual (GMRES) method.’ In addition. have all positive eigenvalues. A shift and invert approach can be incorporated to determine the k eigenvalues close to a specified part of the spectrum rather than that with the largest magnitude. Restarting also reduces storage requirements by keeping k small. The generalized eigenproblem will be encountered in hydrodynamic stability. it is desirable that the starting Arnoldi vector q0 be in (or ‘nearly’ in) the subspace spanned by the eigenvectors corresponding to the sought after eigenvalues. W.e.caam. ARPACK was developed at Rice University in the mid 1990’s. where one includes the option ‘Method → Arnoldi’ in the Eigenvalues[] function. and B is called the mass matrix. it has been implemented in Mathematica. For example. where the ‘s’ denotes ‘sparse. 8 9 Many have standardized on the Arnoldi method as implemented in ARPACK (http://www. Cassel 389 / 454 Hydrodynamic Stability and the Eigenproblem 7 Numerical Solution of the Eigenproblem The Arnoldi method may also be adapted to solve linear systems of equations.edu/software/ARPACK/). When applied to symmetric matrices. the Arnoldi method reduces to the Lanczos method. 4 5 6 When seeking a set of eigenvalues in a particular portion of the full spectrum. Application of Arnoldi’s method to the generalized eigenproblem requires that B be positive definite. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. The Arnoldi method can be designed to apply to the generalized eigenproblem Ax = λBx.Hydrodynamic Stability and the Eigenproblem 3 Numerical Solution of the Eigenproblem The more sparse the matrix A is. and subsequently it has been implemented as ARPACK++ for C++ . W. i.rice. Cassel 390 / 454 . we get better approximations of the desired eigenvectors that can then be used to form a more desirable starting vector. It also arises in structural design problems in which A is called the stiffness matrix. first as a Fortran 77 library of subroutines.

Hydrodynamic Stability and the Eigenproblem

Numerical Solution of the Eigenproblem

The Arnoldi method is illustrated in more detail in the Mathematica notebook “Arnoldi.nb.” References: Arnoldi, W. (1951) Q. Appl. Math. 9, 17. Nayar, N. & Ortega, J. M. (1993) “Computation of Selected Eigenvalues of Generalized Eigenvalue Problems.” J. Comput. Phys. 108, pp. 8–14. Saad, Y. Iterative Methods for Sparse Linear Systems SIAM, Philadelphia (2003). Radke, R. A Matlab Implementation of the Implicitly Restarted Arnoldi Method for Solving Large-Scale Eigenvalue Problems, MS Thesis, Rice University (1996).

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

391 / 454

Hydrodynamic Stability and the Eigenproblem

Hydrodynamic Stability

Outline

9

Hydrodynamic Stability and the Eigenproblem 1-D, Unsteady Diffusion Illustration
Exact Solution Numerical Solution

Numerical Solution of the Eigenproblem
Similarity Transformation QR Method to Obtain Eigenvalues and Eigenvectors Plane Rotations Arnoldi Method

Hydrodynamic Stability
Linearized Navier-Stokes Equations Local Normal Mode Analysis Numerical Solution of the Orr-Sommerfeld Equation Example: Plane-Poiseuille Flow

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

392 / 454

Hydrodynamic Stability and the Eigenproblem

Hydrodynamic Stability

Linearized Navier-Stokes Equations
Consider the nondimensional Navier-Stokes equations for 2-D, incompressible flow ∂u ∂v + = 0, ∂x ∂y ∂u ∂u ∂p 1 ∂2u ∂2u ∂u +u +v =− + + 2 , ∂t ∂x ∂y ∂x Re ∂x2 ∂y ∂v ∂v ∂p 1 ∂2v ∂2v ∂v +u +v =− + + 2 . ∂t ∂x ∂y ∂y Re ∂x2 ∂y (9.26)

(9.27) (9.28)

We denote the solution to (9.26)–(9.28), i.e. the base flow, by u0 (x, y, t), v0 (x, y, t) and p0 (x, y, t), and seek the behavior of small perturbations to this base flow. ⇒ If the amplitude of the small perturbations grow, the flow is hydrodynamically unstable.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

393 / 454

Hydrodynamic Stability and the Eigenproblem

Hydrodynamic Stability

Two possibilities may be considered:
1

Temporal analysis – amplitude of spatial perturbation (e.g. wavy wall) grows/decays with time.
⇒ Absolutely unstable/stable.

2

Spatial analysis – amplitude of temporal perturbation (e.g. vibrating ribbon) grows/decays in space.
⇒ Convectively unstable/stable.

For infinitesimally small perturbations ( 1), the flow may be decomposed as follows u(x, y, t) = u0 (x, y, t) + u(x, y, t), ˆ v(x, y, t) = v0 (x, y, t) + v (x, y, t), ˆ p(x, y, t) = p0 (x, y, t) + p(x, y, t). ˆ (9.29)

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

394 / 454

Hydrodynamic Stability and the Eigenproblem

Hydrodynamic Stability

Substituting into (9.26)–(9.28) gives ∂u0 ∂ u ∂v0 ˆ ∂ˆ v + + + = 0, ∂x ∂x ∂y ∂y ∂u0 ∂u ˆ ∂u0 ∂u ˆ ∂u0 ∂u ˆ + + (u0 + u) ˆ + + (v0 + v ) ˆ + ∂t ∂t ∂x ∂x ∂y ∂y 2 2 2 2 ∂p0 ∂p ˆ 1 ∂ u0 ˆ ˆ ∂ u ∂ u0 ∂ u − + , + + + =− ∂x ∂x Re ∂x2 ∂x2 ∂y 2 ∂y 2 ∂ˆ v ∂v0 ∂ˆ v ∂v0 ∂ˆ v ∂v0 + + (u0 + u) ˆ + + (v0 + v ) ˆ + ∂t ∂t ∂x ∂x ∂y ∂y ∂p0 ∂p ˆ 1 ∂ 2 v0 ∂2v ˆ ∂ 2 v0 ∂2v ˆ =− − + + + + . ∂y ∂y Re ∂x2 ∂x2 ∂y 2 ∂y 2 As expected, the O(1) terms are simply the Navier-Stokes equations (9.26)–(9.28) for the base flow u0 , v0 and p0 .

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

395 / 454

Hydrodynamic Stability and the Eigenproblem

Hydrodynamic Stability

The O( ) terms for the disturbance flow are ∂ u ∂ˆ ˆ v + = 0, ∂x ∂y ∂u ˆ ∂u ˆ ∂ u ∂u0 ˆ ∂u0 ∂p ˆ 1 ∂2u ∂2u ˆ ˆ + u0 + v0 + u+ ˆ v=− ˆ + + 2 , ∂t ∂x ∂y ∂x ∂y ∂x Re ∂x2 ∂y ∂ˆ v ∂ˆ v ∂ˆ ∂v0 v ∂v0 ∂p ˆ 1 ∂2v ˆ ∂2v ˆ + u0 + v0 + u+ ˆ v=− ˆ + + 2 . 2 ∂t ∂x ∂y ∂x ∂y ∂y Re ∂x ∂y Because is small, we neglect O( 2 ) terms. Thus, the evolution of the disturbances are governed by the linearized Navier-Stokes (LNS) equations (9.30)–(9.32), where the base flow is known. ⇒ Linear Stability Theory (9.30)

(9.31) (9.32)

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

396 / 454

Hydrodynamic Stability and the Eigenproblem

Hydrodynamic Stability

In principle, we could impose a perturbation u, v , p at any time ti and track its ˆ ˆ ˆ evolution in time and space to determine if the flow is stable to the imposed perturbation. To fully characterize the stability of the base flow, however, would require many calculations of the LNS equations with different perturbation “shapes” imposed at different times. We can formulate a more manageable stability problem by doing one or both of the following:
1 2

Consider simplified base flows. Impose “well-behaved” perturbations.

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

397 / 454

Hydrodynamic Stability and the Eigenproblem

Hydrodynamic Stability

Local Normal Mode Analysis
Classical linear stability analysis takes advantage of both simplifications mentioned above:
1

Base flow:
i) Steady ⇒ ii) Parallel (e.g. Poiseuille flow) ∂u0 ∂v0 = = 0. ∂t ∂t (9.33)

MMAE 517 (Illinois Institute of Technology)

Computational Fluid Dynamics

c 2010 K. W. Cassel

398 / 454

p of the form (temporal ˆ ˆ ˆ analysis): u(x. = Re [u1 (y)eαci t {cos[α(x − cr t)] + i sin[α(x − cr t)]}] . p0 = p0 (x). W. normal mode. v . Cassel 399 / 454 Hydrodynamic Stability and the Eigenproblem 2 Hydrodynamic Stability Consider the disturbances. e. y. u(x.35) (or add complex conjugate). ⇒ For a given mode α. which is real. y. u(x.35) Notes: 1 It is understood that we take the real parts of (9. Cassel 400 / 454 . i. ˆ p(x. von Neumann numerical stability analysis). y. t) = v1 (y)ei(αx−αct) . If ci > 0. ˆ v (x. (9. (9. 2 v0 = 0.32) are linear. y. ˆ where α is the wavenumber.g.30)–(9.Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability ⇒ u0 = u0 (y). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. t) ˆ = Re u1 (y)ei(αx−αct) . and c = cr + ici is the complex wavespeed. W. y. t) = u1 (y)ei(αx−αct) . the amplitude of the perturbation grows unbounded as t → ∞ with growth rate αci . c = cr + ici = Re u1 (y)eαci t eαi(x−cr t) .e. 3 Because equations (9.34) Perturbations – we impose normal modes for u. t) = p1 (y)ei(αx−αct) . each normal mode with wavenumber α may be considered independently of one another (cf. Note that the wavelength of the disturbance is proportional to 1/α. t) = u1 (y)eαci t cos[α(x − cr t)] ˆ ⇒ Sine wave with wavenumber α and phase velocity cr . we are looking for the eigenvalue (wavespeed) with the fastest growth rate.

37) ∂x ∂y ∂u ˆ ∂ u ∂u0 ˆ ∂p ˆ 1 ∂2u ∂2u ˆ ˆ + u0 + v=− ˆ + + 2 . α is complex and c is real. ∂t ∂x ∂y Re ∂x2 ∂y (9. For the temporal analysis considered here.39) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. parallel base flow (9.38) (9. W.33) and (9.36) where Rep0 (x) is a constant for Poiseuille flow.28) reduces to (from equation (9. the parallel flow assumption can be justified on formal grounds if the wavelength is such that 1/α L. is considered at a time due to the parallel-flow assumption. where L is a typical streamwise length scale in the flow.30)–(9. ∂t ∂x ∂y ∂x Re ∂x2 ∂y ∂ˆ v ∂ˆ v ∂p ˆ 1 ∂2v ˆ ∂2v ˆ + u0 =− + + 2 . i.26)–(9. W. In some cases. For a spatial analysis. The disturbance equations (9.27)) d2 u0 ∂p0 . α is real and c is complex. Cassel 401 / 454 Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability For steady.34). the Navier-Stokes equations (9.e. = Re dy 2 ∂x (9. (9.34).32) become v ∂ u ∂ˆ ˆ + = 0. 5 6 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.Hydrodynamic Stability and the Eigenproblem 4 Hydrodynamic Stability This is regarded as a “local” analysis because the stability of only one velocity profile (9. Cassel 402 / 454 . at a single streamwise location.

i.41) results in −(u0 − c)v1 + u0 v1 = −αip1 − 1 1 (v1 − α2 v1 ).43) for p1 (y). For inviscid flow. which is a local analysis. the disturbance velocities v1 (y) are the eigenfunctions. W. viscous flow perturbed by infinitesimally small normal modes. and wavenumber α. the Orr-Sommerfeld equation is a differential eigenproblem of the form L1 v1 = cL2 v1 . parallel. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 403 / 454 1 1 (v − 2α2 v1 + α4 v1 ). αi Re 1 (9. differentiating and substituting into equation (9. The Orr-Sommerfeld equation applies for steady. Re where primes denote differentiation with respect to y.43) leaving equations (9.39) leads to αiu1 + v1 = 0.44) Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability Notes: 1 For a given base flow u0 (y). as Re → ∞.37)–(9.42) leads to (u0 − c)(v1 − α2 v1 ) − u0 v1 = which is the Orr-Sommerfeld equation. Solving equation (9.42) and (9.40) (9.40) for u1 and substituting into equation (9. and L1 and L2 are differential operators. Reynolds number Re. where the wavespeeds c are the (complex) eigenvalues.Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability Substitution of the normal modes (9. αi(u0 − c)u1 + u0 v1 = −αip1 + αi(u0 − c)v1 = −p1 + 1 (u1 − α2 u1 ). Solving equation (9. Re (9.43) for v1 (y) and p1 (y).42) 1 (v1 − α2 v1 ).41) (9. αi Re (9.e. W. the Orr-Sommerfeld equation reduces to the Rayleigh equation (u0 − c)(v1 − α2 v1 ) − u0 v1 = 0.35) into the disturbance equations (9. Cassel 404 / 454 . 2 3 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

35). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. y)e−ict . y)e−ict . ˆ v (x. We seek a corresponding discrete. Re)v = cN(α)v. W. y.e. Cassel 406 / 454 . Cassel 405 / 454 Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability Numerical Solution of the Orr-Sommerfeld Equation Recall that the continuous differential eigenproblem (9. (9. (9. p0 = p0 (x.e. y). i. t) = v1 (x. y).46) 2αi . and the perturbations are of the form u(x.44). t) = p1 (x. i. y)e−ict . ˆ p(x. y. generalized eigenproblem of the form M(α. W. Let us rewrite the Orr-Sommerfeld equation in the form i v αRe where P (yj ) = u0 (yj ) − + Pj v + Qj v = c v − α2 v .45) where we have dropped the subscript on v. is of the form L1 v1 = cL2 v1 . algebraic. a significantly more involved global stability analysis is required in which the base flow is 2-D. the Orr-Sommerfeld equation. y). i. y.Hydrodynamic Stability and the Eigenproblem 4 Hydrodynamic Stability For non-parallel flows. t) = u1 (x. Re MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. v0 = v0 (x.e. Re α3 i Q(yj ) = − α2 u0 (yj ) − u0 (yj ). u0 = u0 (x. ˆ in place of equation (9.

For solid surfaces at y = a. we have 0 ¯ v1 0 ¯ ¯ b & b & Cv0 + B2& + A2 v2 + B2 v3 + Cv4 = c B& + Av2 + Bv3 . . b. W. we take d2 v vj+1 − 2vj + vj−1 = + O(∆y 2 ). . .Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability To discretize equation (9.48) Because v is known at y = a. αRe i C = . . J. αRe ¯ A = −(∆y)2 2 + α2 (∆y)2 . b.46) and collecting terms leads to the difference equation ¯ ¯ ¯ [Cvj−2 + Bj vj−1 + Aj vj + Bj vj+1 + Cvj+2 ] = c Bvj−1 + Avj + Bvj+1 . (9. 4 4 dy (∆y) Substituting these approximations into equation (9. Cassel (9. Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.47) at j = 2.e. j = 2. Aj = αRe 4i Bj = − + (∆y)2 Pj . we set v = v = 0. b. Substituting into the difference equation for j = 2 results in ¯ ¯ [(C + A2 )v2 + B2 v3 + Cv4 ] = c Av2 + Bv3 . Applying equation (9. v1 = vJ+1 = 0. at y = a. Cassel 407 / 454 Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability Because the Orr-Sommerfeld equation is 4th -order. (9. ¯ B MMAE 517 (Illinois Institute of Technology) = (∆y)2 .46) using central differences. we need two boundary conditions at each boundary. the unknowns are vj . i. W. v1 and from v = 0 at y = a (j = 1) v2 − v0 =0 2∆y ⇒ v 0 = v2 .47) where 6i + (∆y)2 (∆y)2 Qj − 2Pj . 2 2 dy (∆y) d4 v vj+2 − 4vj+1 + 6vj − 4vj−1 + vj−2 = + O(∆y 2 ).49) 408 / 454 .

The (large) generalized eigenproblem (9. W.e.  .45) must be solved to obtain the complex wavespeeds c. . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. . we have v1 = vJ+1 = 0. . . and the discretized eigenfunctions v(y) for a given α and Re. 0 0 ··· ··· ··· . . M is pentadiagonal. . and N is tridiagonal. . . .Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability Similarly. . . . . Notes: 1 The J − 1 eigenvalues obtained approximate the infinity of eigenvalues of the continuous differential eigenproblem (9.50) Also for j = 3. ¯ B 0 0 0 0 . the matrices in the algebraic form of the eigenproblem (9. . Cassel 410 / 454 . . . ··· ··· 0 0 0 .45) are   C + A2 B 2 C 0 0 ··· 0 0 0 0  B3 A3 B 3 C 0 · · · 0 0 0 0     C B4 A4 B4 C · · · 0 0 0 0    M(α. . . Re) =  .    0 0 0 0 0 · · · C BJ−1 AJ−1 BJ−1  0 0 0 0 0 ··· 0 C BJ C + AJ ¯ A ¯ B  0  N(α) =  . .  . J − 1.. Cassel 409 / 454 Computational Fluid Dynamics Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability and the eigenvector is vT = [v2 v3 · · · vJ ]. the Orr-Sommerfeld equation. i. . . . 0 0 0 ¯ B ¯ A . . Thus. . . . . 0 0  MMAE 517 (Illinois Institute of Technology) ¯ B ¯ A ¯ B . . . . . 0 0 0 0 ¯ B .e. . ¯ A ¯ B  0 0  0  . for j = J [CvJ−2 + BJ vJ−1 + (C + AJ )vJ ] = c [BvJ−1 + AvJ ] . . . ¯ B ¯ A c 2010 K. . (9. . . Therefore. .44). . the eigenvalues. i.. W. . . . .

W. is given by αmax(ci ).Hydrodynamic Stability and the Eigenproblem 2 Hydrodynamic Stability The least stable mode. that with the fastest growth rate αci . Cassel 411 / 454 Hydrodynamic Stability and the Eigenproblem 3 Hydrodynamic Stability A marginal stability curve may be obtained by determining max(ci ) for a range of Re and α and plotting the max(ci ) = 0 contour: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.e. i. Cassel 412 / 454 . W.

” MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. → This approach avoided the need to find the eigenvalues of large matrices in the days when computers were not capable of such large calculations. N−1 M is a full. ⇒ This would require use of a general approach. That is. This requires inverting a large matrix. find the eigenvalues from N−1 M − cI = 0. W. such as the iterative QR method. traditionally the shooting method for IVPs has been used. dense matrix. W. dense matrix. this is like “using a hammer to drive a screw.45) to a regular eigenproblem by multiplying both sides by the inverse of N.Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability Methods of Solution: 1 Convert the generalized eigenproblem (9. and although M and N are typically sparse and banded. → In addition. to determine the eigenvalues of a large. → However. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 413 / 454 Hydrodynamic Stability and the Eigenproblem 2 Hydrodynamic Stability In order to avoid solving the large matrix problem that results from the BVP. Cassel 414 / 454 . it allowed for use of well-developed algorithms for IVPs.

W. i. Such a flow is parallel. (9. we only need the least stable mode. in stability contexts such as this.e.36). Note that N must be positive definite for use in the Arnoldi method. Recall that the least stable mode is that with the largest imaginary part. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. The solution is a parabolic velocity profile given by u0 (y) = y(2 − y). sparse matrices. the base flow is a solution of equation (9. → Currently. That is. not the entire spectrum of eigenvalues. pressure-driven flow in a channel. the state-of-the-art in such situations is the Arnoldi method discussed in the last section. 0 ≤ y ≤ 2. for the least stable mode.51) Note that the base flow is independent of the Reynolds number.Hydrodynamic Stability and the Eigenproblem 3 Hydrodynamic Stability Solve the generalized eigenproblem Mv = cNv. therefore. In addition to the fact that the matrices are sparse. Cassel 416 / 454 . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. let us consider stability of Plane-Poiseuille flow. where M and N are large. this requires us to take the negatives of the matrices M and N as defined above. it must have all positive eigenvalues. In our case. Cassel 415 / 454 Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability Example: Plane-Poiseuille Flow As an illustration.

95 0.e.Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability See the Mathematica notebook “OS Psvll. This shows the curve in α-Re parameter space for which max(ci ) = 0 delineating the regions of parameter space in which the flow is stable and unstable to normal-mode perturbations. i. for a given wavenumber α and Reynolds number Re in order to evaluate stability.nb” for a solution of the Orr-Sommerfeld equation using the approach outlined in the previous section. W.e. the critical Reynolds number is approximately Rec = 5. we can plot the marginal stability curve for plane-Poiseuille flow. W. Cassel 417 / 454 Hydrodynamic Stability and the Eigenproblem Hydrodynamic Stability By performing a large number of such calculations for a range of wavenumbers and Reynolds numbers. max(ci ) > 0. → This notebook calculates the complex wavespeeds. the eigenvalues.00 0. The growth rate of the instability is then α max(ci ).05 1. Cassel 418 / 454 .90 0. 800. i. → Recall that a flow is unstable if the imaginary part of one of the discrete eigenvalues is positive. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. 1. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.85 0.80 5000 6000 7000 8000 9000 10 000 Thus.10 1.

and that the small-scale features are similar for certain classes of turbulent flows. W. Thus. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. ⇒ Very fine grids are required.Numerical Modeling of Turbulent Flows Introduction Outline 10 Numerical Modeling of Turbulent Flows Introduction Direct Numerical Simulation Large-Eddy Simulation Reynolds Averaged Navier-Stokes MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. turbulent flows are very difficult to model numerically. There are three basic approaches (given in increasing degree of approximation): 1) Direct Numerical Simulation (DNS): Navier-Stokes equations are solved for all scales. They are inherently three-dimensional due to velocity fluctuations (even if the mean flow is two-dimensional). They involve a wide range of temporal and spatial scales. 2) Large Eddy Simulation (LES): Recognize that only the large-scale motions depend on the macroscopic features of the particular flow. Cassel 420 / 454 . Cassel 419 / 454 Numerical Modeling of Turbulent Flows Introduction Turbulent flows are characterized by the following: They are highly unsteady ⇒ Seemingly random fluctuations of velocity about a mean. ⇒ Solve numerically for large scales and model small scales.

Summarizing: DNS LES ⇒ no turbulence modeled. W. small-scale. ⇒ some. RANS ⇒ all turbulence modeled. W. turbulence modeled. i. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Requires turbulence models for closure of the governing equations.Numerical Modeling of Turbulent Flows Introduction 3) Reynolds Averaged Navier-Stokes (RANS): Solve numerically the time averaged Navier-Stokes equations for the mean flow. Cassel 422 / 454 .e. Cassel 421 / 454 Numerical Modeling of Turbulent Flows Direct Numerical Simulation Outline 10 Numerical Modeling of Turbulent Flows Introduction Direct Numerical Simulation Large-Eddy Simulation Reynolds Averaged Navier-Stokes MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

W. Cassel 423 / 454 Numerical Modeling of Turbulent Flows Direct Numerical Simulation Note that as ReL ↑ ⇒ lK ↓ ⇒ N ↑. lK where N is the number of grid points in each direction. 2) DNS produces very detailed information about the flow (see DNS figures): ⇒ Can be used to evaluate turbulence statistics.). ”turbulence-in-a-box” simulations. DNS is only practical for small to moderate Re.e. e. ⇒ Used to develop turbulence models for similar flows. i. W.g. ⇒ Gives qualitative knowledge of flow (coherent structures. Cassel 424 / 454 . Re is the macroscopic Reynolds number. e. Notes: 1) DNS is only possible for moderate Re flows in simple geometries (with current computational resources). This gives rise to the early. therefore..g. 1990s..01Re. to compare with experiments. Consider the following definitions: = rate of dissipation of turbulent kinetic energy lK L ReL = ν3 1/4 = Kolmogorov scale (size of the smallest turbulent eddies) = length scale of large eddies = Reynolds number based on magnitude of velocity fluctuations and L. 3) Spectral methods are popular for DNS because highly accurate solutions can be obtained. L 3/4 N∼ ∼ ReL . therefore. ReL ≈ 0. The grid size must be smaller than lK in order to resolve all of the scales. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Here.Numerical Modeling of Turbulent Flows Direct Numerical Simulation In DNS all scales must be resolved. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. etc.

but not as small as lK (cf. smaller than ∆. t). ¯ MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 426 / 454 .e.1) to Navier-Stokes equations with ui (xi .e.Numerical Modeling of Turbulent Flows Large-Eddy Simulation Outline 10 Numerical Modeling of Turbulent Flows Introduction Direct Numerical Simulation Large-Eddy Simulation Reynolds Averaged Navier-Stokes MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. W. t) = ui (xi . (10. ¯ p(xi . t). That is. DNS). t) + p (xi . i. t) = p(xi . x ) is the filter kernel having an associated length scale ∆: Eddies > ∆ ⇒ large eddies (computed). t) + ui (xi .1) where G(x. lK ≤ modeled < ∆ < computed ≤ L Numerical grid: lK < ∆xi < ∆. Apply filter (10. Eddies < ∆ ⇒ small turbulent eddies (modeled). i. local average of complete fields: ui (xi ) = ¯ G(x. x )ui (x )dx . Cassel 425 / 454 Numerical Modeling of Turbulent Flows Large-Eddy Simulation In LES we filter the velocity and pressure fields so they only contain large-scale components.

and |S| = (Sij Sij )1/2 . CS is the model parameter. which must be specified. and ui (xi .2) 2 ui . we have a set of equations for large-scale quantities. the subgrid scale (SGS) model must specify τij as a function of the resolvable variables (¯i . and the remaining terms are τij = SGS Reynolds stress and must be modeled. ∂xi ∂ ui ¯ ∂ 1 ∂p ¯ + ui uj = − +ν ∂t ∂xj ρ ∂xi (10. i. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. and it provides for energy transfer between the u ¯ resolvable scales and the SGS. Cassel 428 / 454 . uj ).e.Numerical Modeling of Turbulent Flows Large-Eddy Simulation where ui (xi . ¯ ¯ ¯ Here. 3 = strain-rate for resolved field (10. τij = where ¯ Sij µt 1 2 1 ¯ τkk δij + 2µt Sij . ¯ Thus. The filtered Navier-Stokes equations are (in tensor notation) ∂ ui ¯ = 0. W.4) = ∂ ui ¯ ∂ uj ¯ + ∂xj ∂xi 2 ¯ = CS ρ∆2 |S|. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 427 / 454 Numerical Modeling of Turbulent Flows Large-Eddy Simulation The earliest and most common SGS model is the Smagorinsky model. but ui uj = ui uj + ui uj + ui uj + ui uj . Therefore. which is an eddy viscosity model (effective viscosity due to small-scale turbulent motion). t) is the resolvable scale velocity (computed). Thus. t) is the ¯ subgrid scale (SGS) velocity. the SGS Reynolds stress τij increases transport and dissipation.3) The first term on the right-hand-side is computed from the resolved scales. ¯ ¯ ¯ ¯ (10. they contain ui and uj .

200 and grid: 240 × 128 × 128) and combustor flows (see figures) and note the level of detail obtained for the flow. it is computed from the resolvable flow field. 2) The Smagorinsky model does not work well near boundaries (eddy viscosity is much smaller and flow is more anisotropic). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. which accounts for energy transferred from small scales to large scales. Automatically adjusts SGS parameter for anisotropic flow and flow near walls. Cassel 430 / 454 . 3) Points (1) and (2) can be improved upon with dynamic SGS models: Allow model parameter CS to vary with space and time. W. Allows for backscatter (µt < 0). i. Active area of ongoing research. the flow over a wall mounted block (Re = 3. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. therefore.e. W. it can be applied to more complex flows. Cassel 429 / 454 Numerical Modeling of Turbulent Flows Large-Eddy Simulation 4) LES is more economical computationally than DNS.Numerical Modeling of Turbulent Flows Large-Eddy Simulation Notes: 1) The Smagorinsky model only accounts for energy transfer from large to small scales. for example. Consider.

¯ (10. W. W. 0 (10. t). To obtain the mean flow. Cassel 432 / 454 . Unsteady mean flow ⇒ ensemble average. T u(xi .Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes Outline 10 Numerical Modeling of Turbulent Flows Introduction Direct Numerical Simulation Large-Eddy Simulation Reynolds Averaged Navier-Stokes MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. and u (xi . t)dt. t) are the turbulent fluctuations (not the ¯ same as u in LES).6) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. t) = u(xi ) + u (xi .5) where u(xi ) is the mean flow. we use Reynolds averaging: Steady mean flow ⇒ time average Navier-Stokes equations 1 u(xi ) = lim ¯ T →∞ T where T = averaging interval. Cassel 431 / 454 Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes In RANS we compute only the mean flow and model all of the turbulence: u(xi .

7) where ρu u . respectively. 2 i i ∂ui ∂xj ∂ui ∂xj = rate of dissipation of turbulent energy. Cassel 434 / 454 . we have a closure problem.9) The terms on the left-hand-side represent the transport of k and . p. = νT Here. ∂xj 2 (10. but there are many others.Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes For incompressible flow. which are derived from Navier-Stokes. ρv v are the Reynolds stresses. the Reynolds averaged Navier-Stokes equations are v ∂ u ∂¯ ¯ + = 0. of k and . (10. and the first. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. k − Turbulence Model: The k − model is the most common turbulence model used in applications. second and third terms on the right-hand-side represent diffusion. k and are determined from a solution of the following coupled equations. ∂x ∂y ρ ρ ∂u ¯ ∂u ¯ ∂u ¯ ∂p ¯ ∂ ∂u ¯ +u ¯ +v ¯ =− + µ − ρu u ∂t ∂x ∂y ∂x ∂x ∂x ∂¯ v ∂¯ v ∂¯ v ∂p ¯ ∂ ∂¯ v +u ¯ +v ¯ =− + µ − ρu v ∂t ∂x ∂y ∂y ∂x ∂x + + ∂ ∂u ¯ µ − ρu v ∂y ∂y ∂¯ v ∂ µ − ρv v ∂y ∂y . MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.8) ρ ∂ D = Dt ∂xj C 1 µT k ∂ui ∂uj + ∂xj ∂xi ∂ui ρC 2 − ∂xj k . (10. u ¯ ¯ Closure is achieved by relating the Reynolds stresses to the mean flow quantities through a turbulence model. ρ Dk ∂ = Dt ∂xj µT ∂ σ ∂xj µT ∂k σk ∂xj + + µT ∂ui ∂uj + ∂xj ∂xi ∂ui −ρ . v . W. production and dissipation. ρu v . Equations (10. u . v ). therefore.7) are three equations for five unkowns (¯. W. Cassel 433 / 454 Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes Define: k = 1 u u = turbulent kinetic energy. .

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. C 1 .10) The eddy viscosity µT is used to relate the Reynolds stresses to the mean flow quantities through −ρui uj = µT Notes: 1) Equations (10. it is good for engineering applications. wall functions that are usually based on the log-law are used for turbulent boundary layers. Cassel 436 / 454 . by (10. Note the significant differences between the results obtained with the two models used. but RANS requires significantly more modest computational resources as compared to DNS and LES. which must be determined empirically. W. and is used by most commercial CFD codes. both in terms of the locations and magnitudes of turbulent kinetic energy. W. Cµ . Cassel 435 / 454 ∂ ui ¯ ∂ uj ¯ + ∂xj ∂xi 2 − ρkδij .11) Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes 4) Most turbulence models (including k − ) have difficulties with accurately predicting separation.10) involve five constants. 3 (10.8)–(10. σ . therefore. Thus.Numerical Modeling of Turbulent Flows Reynolds Averaged Navier-Stokes µT (xi ) is the local eddy viscosity and is related to k and µT = Cµ ρk 2 . 3) Produces less detailed information about the flow than DNS and LES. 2) Special treatment is necessary at solid boundaries. Consider the example of an impinging jet (see figures). MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. σk . C 2 .

MIPS – Millions of Instructions Per Second. W. Cassel 437 / 454 Parallel Computing Introduction Glossary: • • Supercomputer – the fastest computers available at a particular time. W. Computational Fluid Dynamics c 2010 K. Scalar processing – a processor performs calculations on a single data element. MFLOPS GFLOPS TFLOPS PFLOPS MegaFLOPS GigaFLOPS TeraFLOPS PetaFLOPS million (106 ) FLOPS billion (109 ) FLOPS trillion (1012 ) FLOPS 1015 FLOPS • • • Serial processing – a computer code is executed line-by-line in sequence on one processor. on one or more floating point numbers (non integers). e. FLOPS – Floating Point Operations Per Second. outdated measure of computer performance (architecture dependent). subtraction. Cassel 438 / 454 • MMAE 517 (Illinois Institute of Technology) . Floating point operation – an operation.Parallel Computing Introduction Outline 11 Parallel Computing Introduction MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. addition. current measure of computer performance for numerical applications.g. multiplication or division.

HPC – High Performance Computing. MPP – Massively Parallel Processing. SMP – Symmetric Multi-Processing.e. and open source software). Beowulf cluster (commodity hardware. e. a vector. • • • • • MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.g. e. shared memory parallelism. simultaneously. e. Embarrassingly parallel – processors work in parallel with very little or no communication between them. Cluster – a parallel computer comprised of commodity hardware. MPI – Message Passing Interface. Coupled parallel – processors work in parallel but require significant communication between them. Distributed memory parallelism – all of the processors access their own memory. the internet). all processors perform the same instruction on different data elements. • • • • • • • • • MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.g. Cassel 439 / 454 Parallel Computing Introduction • MIMD – Multiple Instruction. analogous to the electric grid. Parallel processing – multiple processors (or cores) perform operations simultaneously on different data elements. Multiple Data.g. Massively parallel – parallel computers involving thousands of processors. Cassel 440 / 454 . i.g. W. Multi-core CPUs – a single chip with multiple processors (cores). all processors perform different instructions on different data elements. Grid computing – parallel computing across a geographically distributed network (e. image processing and Seti@Home. most common library used for inter-processor communication on distributed memory computers. Linux OS.Parallel Computing Introduction • Vector processing – a processor performs calculations on multiple data elements. CFD. Shared memory parallelism – all of the processors share the same memory. W. Multiple Data. SIMD – Single Instruction.

8 TFLOPS 35.105 PFLOPS c 2010 K. Cassel 441 / 454 Parallel Computing Introduction Milestones: Year 1906 1946 1964 1969 1976 1981 1983 1985 1985 1989 1993 1993 1996 1999 2002 2005 2008 Supercomputer Babbage Analytical Engine ENIAC CDC 6600 (Seymour Cray) CDC 7600 Cray-1 (Seymour Cray) CDC Cyber 205 Cray X-MP Cray-2 Thinking Machines CM-2 (64k) Cray Y-MP Thinking Machines CM-5 Intel Paragon Hitachi/Tsukuba CP-PACS (2k) Intel ASCI Red (10k) NEC Earth Simulator (5k) IBM Blue Gene/L (131k) IBM Roadrunner (130k) Computational Fluid Dynamics Peak Speed 0.9 GFLOPS 65.2 GFLOPS 2. and not all algorithms are amenable to each. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.9 TFLOPS 280.5 GFLOPS 143.4 GFLOPS 368. W. Cassel 442 / 454 MMAE 517 (Illinois Institute of Technology) . W.Parallel Computing Introduction A Brief History of Supercomputers: Generations of Supercomputer Architectures: Note that each architecture requires its own approach to programming.3 OPS 50 kOPS 3 MFLOPS 36 MFLOPS 250 MFLOPS 400 MFLOPS 941 MFLOPS 3.6 TFLOPS 1.

Cassel 443 / 454 Parallel Computing Introduction Issues in Parallel Computing: 1 Data dependency → Can calculations be carried out independently of one another on separate processors? → Examples: Thomas algorithm ⇒ no.g. loops. 2 Load balancing → Desire all processors to be utilized 100% of the time. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W. etc. inter-processor communication speed and bandwidth. e. storage.g. e.g. 3 Scalability → Ability of a parallel code to maintain its speedup with increasing numbers of processors and increasing problem size ⇒ see Amdahl’s Law. Cassel 444 / 454 . network. W. BLKTRI). etc. percent of code that is run in parallel (see Amdahl’s law). Coarse-grain parallelism ⇒ parallelize the higher level structures of a program. Red-black Gauss-Siedel ⇒ yes. memory. compiler. CPU speed.) → Assuming adequate memory.Parallel Computing Introduction Milestones (cont’d): 1954 – Fortran (Formula Translation) developed 1970 – Unix developed at AT&T Bell Labs Components of Computing: 1 Hardware – the computer (CPUs. 2 3 Software – OS. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. the computational time is primarily determined by: Sequential → CPU speed Parallel → number of CPUs. program. Algorithms – the numerical method → Note that the best algorithms for serial computers often are not the best for parallel computers (e. 4 Coarse vs. equations. libraries. fine-grain parallelism Fine-grain parallelism ⇒ parallelize the lower level structures of a program.

CM. storage.): Distributed memory (e.g. SGI. multicore CPUs. CM Fortran). Cray. memory.Parallel Computing 5 Introduction Architectures: SIMD (e.g.g. e. Software: 3) Open source OS. 4) MPI – standardize message passing on various platforms (developed at ANL).): . most supercomputing vendors had their own proprietary tools.g. 2) High-performance (high-bandwidth. Cassel 445 / 454 Parallel Computing Introduction Key Ingredients That Make Clusters Possible: Hardware: 1) Fast. → Ingredients (3) and (4) were not available during MPP (e. etc.mid ’90s.g. Myrinet. CM) heyday in mid ’80s .g. Infiniband. e. MIMD Shared memory (e. Cassel 446 / 454 . e. W. clusters. Gigabit Ethernet.g. cheap PCs – inexpensive and widely available CPUs. CM-2) vs. W. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. etc. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. low latency) LANs. This led to the demise of the CM. Linux – common platform on which to build tools (previously.

Thus. Cassel 447 / 454 Parallel Computing 2 Introduction Maximum speedup for given F with N → ∞: lim S(N ) = lim 1 1 N = = . serial code. F = 0. and F is the fraction of the serial run time that the code spends in the parallel portion. n) → 0 (F → 1) ∴ S(N ) → N as n → ∞ as n → ∞ ⇒ linear speedup 4 Parallel efficiency – fraction of total potential (linear) speedup achieved: E(N ) = S(N ) N MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.g. e. W. See Mathematica notebook ‘’AmdahlsLaw. T (N ) N − (N − 1)F where T (N ) is the time required using N processors. Cassel 448 / 454 . Fs (and F ) depends on the number of processors N and the size of the problem n. i.Parallel Computing Introduction Amdahl’s Law: Measure of speedup S(N ) on N processors versus single processor.95 ⇒ Fs = 0.e.e. i. the number of grid points. N →∞ N − (N − 1)F 1−F Fs N →∞ where Fs = 1 − F is the fraction of time in the serial code spent doing the serial portion. Amdahl’s Law: S(N ) = T (1) N = . W.05 ⇒ S(∞) = 20 3 In practice.nb. for ideal scalability a parallel algorithm should be such that Fs (N.” Notes: 1 If F = 1 (100% parallel) ⇒ S(N ) = N (linear speedup) If F < 1 ⇒ S(N ) < N (sub-linear speedup) MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

53 Oak Ridge National Lab USA 2005 5200 Cray XT3 www.27 36.91 Spain 2005 4800 BladeCenter JS20.39 51.19 35.Parallel Computing 5 Introduction Illustrates importance of profiling – determining where the code spends most of its time in order to know where to focus parallelization efforts. Ignores overhead due to parallelization: • • • 6 Inter-processor communication Synchronization of data between processors Load imbalances Modified Amdahl’s Law: Modified to account for parallel overhead. W.6 91.45 Netherlands 2005 12288 University Groningen Jaguar 20.nb.top500. Cassel 450 / 454 . N − (N − 1)F + N 2 Fo where Fo is the fraction of time spent due to parallel overhead.org page 4 26th List / November 2005 MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. W.org) Compiled every six months based on LINPACK benchmark tests. November 2005: 26th List: The TOP10 Manufacturer 1 2 3 4 3 5 6 10 7 4 8 5 9 6 10 IBM IBM IBM SGI Dell Cray NEC IBM IBM Cray Computer BlueGene/L eServer Blue Gene BGW eServer Blue Gene ASC Purple eServer pSeries p575 Columbia Altix. See Mathematica notebook “AmdahlsLaw. Infiniband Rmax [TF/s] Installation Site DOE/NNSA/LLNL IBM Thomas Watson DOE/NNSA/LLNL NASA Ames Sandia Sandia Earth Simulator Center Country USA USA USA USA USA USA Japan Year #Proc 2005 131072 2005 40960 2005 10240 2004 10160 2005 8000 280. Cassel 449 / 454 Parallel Computing Introduction Top 500 Supercomputers (www.29 63.top500. Myrinet Center ASTRON eServer Blue Gene 27.” MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Modified Amdahl’s Law: S(N ) = N .86 Thunderbird Red Storm Cray XT3 2005 10880 2002 5120 Earth-Simulator MareNostrum Barcelona Supercomputer 27.87 38.

W. W. Cassel 451 / 454 Parallel Computing Introduction Geographic location of top 100 supercomputers: MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K. Cassel 452 / 454 .Parallel Computing Introduction Current List (November 2008): MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.

MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.8 Tflop/s to 27.S. W. The entry point for the top 100 increased in six months from 18.8 percent of all systems and 87. Already 336 systems are using them. making this the most common architecture in the TOP500 with a stable share of 82 percent.6 percent). Seven U.S.55 Tflop/s (which would have been # 5 on the November 2005 list).64 Tflop/s mark on the Linpack benchmark.850 six month ago. is the leading consumer of HPC systems with 291 of the 500 systems (up from 257).240 cores per system up from 4. Cray’s XT is the most-used system family with 20 percent. compared to 11. The list now includes energy consumption of the supercomputers. DOE systems dominate the TOP10. Roadrunner (# 1) is based on the IBM QS22 blades that are built with advanced versions of the processor in the Sony PlayStation 3. 410 systems are labeled as clusters. The average concurrency level is 30. Seven systems use IBM’s advanced Sony PlayStation 3 processor with 9 cores.37 Tflop/s (which would have been # 9 on the November 2005 list). W.400 six month ago. Cassel 454 / 454 .7 Pflop/s six months ago and 6. Of the top 50. The U. HP took over the lead in systems with 209 systems (41. but is still substantially larger then the Asian share (47 systems – unchanged).97 Pflop/s one year ago. followed by IBMs BlueGene with 16 percent. The entry level into the TOP50 is at 50. compared to 9.5 percent of quad-core based systems.November 2008: Intel dominates the high-end processor market with 75. The European share (151 systems – down from 184) is settling down after having risen for some time. IBM and Hewlett-Packard continue to sell the bulk of systems at all performance levels of the TOP500.95 Pflop/s. Cassel 453 / 454 Parallel Computing Introduction The entry level to the list moved up to the 12. Total combined performance of all 500 systems has grown to 16.490 cores per system – up from 24. 56 percent of systems are installed at research labs and 32 percent at universities. The last system on the newest list would have been listed at position 267 in the previous TOP500 just six months ago. The average concurrency level in the TOP500 is 6. MMAE 517 (Illinois Institute of Technology) Computational Fluid Dynamics c 2010 K.0 Tflop/s six months ago.Parallel Computing Introduction TOP500 List Highlights . Quad-core processor based systems have taken over the TOP500 quite rapidly.8 percent) over IBM with 188 systems (37.