Академический Документы
Профессиональный Документы
Культура Документы
a r t i c l e
i n f o
Article history:
Available online 16 October 2010
Keywords:
Implicit nite differences
CFD
Approximate factorization
Numerical methods
a b s t r a c t
The focus here is on the early development (mid 1970s1980s) at NASA Ames Research Center of implicit
methods in Computational Fluid Dynamics (CFD). A class of implicit nite difference schemes of the Beam
and Warming approximate factorization type will be addressed. The emphasis will be on the Euler equations. A review of material pertinent to the solution of the Euler equations within the framework of implicit methods will be presented. The eigensystem of the equations will be used extensively in developing a
framework for various methods applied to the Euler equations. The development and analysis of various
aspects of this class of schemes will be given along with the motivations behind many of the choices. Various acceleration and efciency modications such as matrix reduction, diagonalization and ux split
schemes will be presented.
Published by Elsevier Ltd.
1. Introduction
The development employed here is based on the implicit
approximate factorization algorithm of Beam and Warming [1]. A
particular application in two-dimensions was rst presented by
Steger [2] and for three dimensions by Pulliam and Steger [3].
While there have been numerous developments and variant implementations of implicit methods over the years, the original work of
Beam, Warming and Steger stands out as the backbone of modern
methods. I shall concentrate here on the theoretical development,
application and assessment of the implicit algorithms of the Beam
WarmingSteger type as they were developed at NASA Ames Research Center in the early 1970s to the 1980s.
There are a number of considerations to weigh when choosing a
numerical algorithm to apply to a set of partial differential equations. If we restrict ourselves to nite difference schemes then
the possibilities are narrowed somewhat to the two classical approaches for time integration, explicit and implicit techniques.
The merits of these have been extensively discussed in the literature. Explicit methods typically require less computational work
and are simpler both in derivation, application and parallelization.
Implicit methods, while computationally expensive, have less
stringent stability bounds (classical stability analysis shows
unconditional stability but in practice on nonlinear problems
bounds are encountered).
Implicit numerical schemes are usually chosen because we wish
to obtain solutions which require ne grid spacing for numerical
resolution, and we do not want to limit the time steps by employing a conditionally stable explicit scheme. Explicit schemes are
66
In using Eqs. (4) we will always assume that the qi variables are linearly independent. This is important when we will be examining
linearizations and Jacobians of the uxes.
A
@E
;
@Q
@t Q @xE @yF 0
6 qu 7
7
6
Q 6
7;
4 qv 5
qu
6 qu2 p 7
7
6
E6
7;
4 quv 5
qv
1
p c 1 e qu2 v 2
2
, resulting in
@Ei
@qj
@E2
q2 c 1 q22 q23
/ u2
22
2
2
@q1
q1
q1
10
with / c1u2 v .
The Jacobian matrices for the two-dimensional Euler equations
are
6 / u2
6
A6
6 uv
4
a1 u
2
n+1
En1 En An Q n1 Q n ODt 2
v e p
to integrate Eq. (1), the second and third terms are nonlinear in
Qn+1. We can linearize that term to 2nd order accuracy by a Taylor
series expansion
6 quv 7
7
6
F6
7
4 qv 2 p 5
ue p
@F
@Q
Q n1 Q n
@ x EQ n1 @ y FQ n1 0
Dt
A2;1
where
B
Ai;j
2. Euler equations
1
pq c 1 q4 q22 q23
q1
2
0
6 uv
6
B6
6 / v2
4
a1 v
3 cu
c 1v
ce
2
q / c 1u
u
c 1uv
c 1u
c 1uv
c 1 7
7
7
0 7
5
cu
0
11
7
7
7
c 1 7
5
0
3 cv
ce
2
q / c 1
12
cv
6q 7
6 27
Q 6 7;
4 q3 5
6
6
E6
4
q1
q4
q2
q22 =q1 pq
q2 q3 =q1
q2 q4 pq=q1
7
7
7;
5
6
6
F6
4
q3
q2 q3 =q1
2
q3 =q1 pq
3
7
7
7
5
q3 q4 pq=q1
4
with
67
@E @AQ
@Q @A
Q
@x
@x
@x @x
13
also
@E @E @Q
@Q
A
@x @Q @x
@x
14
@A
Q 0
@x
15
One can verify this by using Eqs. (2) and (11), (12). Similar expressions hold for any derivative of E and F. Using such relations we can
form the quasilinear form of Eq. (1)
@ t Q A@ x Q B@ y Q 0
16
b jx A jy B
A
17
b
Kj T 1
j AT j
18
b and
where Tj is the matrix whose columns are the eigenvectors of A
T 1
is
the
corresponding
left
eigenvector
matrix.
j
6
6
6
Kj 6
6
4
2
3
7
7
q
7
2
2
7
U c jx jy
7
q 5
U c j2x j2y
6 u
6
Tj 6
6 v
4
/2
c1
3
1
~ x c 7
u j
7
7
~
~
~ y c 7
jx
v jy c
v j
h 2 2
i h 2 2
i5
c
/ c
~ yu j
~ x v /c1
j
c~h
c~h
c1
0
j~ y
19
20
3
7
7
7
7
5
where
b 1 T 1 T A
N
B
0
l
l l2
0 l l2
6
l7
l l 7
7 b 1 6 0 0
7
N 6
7
27
4 0 l l2 l2 5
l 5
2
2
2
l
0 l l
l
23
p
with l 1= 2.
b is not a function of the ow variables
Note that the matrix N
and is in fact a constant matrix.
It is not possible to simultaneously diagonalize both of the ux
Jacobians of the Euler equations. It is possible to simultaneously
symmetrize the equations which is often useful in stability analysis. The eigenvector matrices Tj and T 1
j will diagonalize one and
symmetrize the other ux Jacobian matrix depending on the choice
of jx and jy.
2.6. Flux vector splitting
In the early years of CFD, a number of schemes were developed
based on upwind differencing. The ux split scheme of Steger and
Warming [6] employed a decomposition of the ux vectors in such
a way that each element can be stably differenced in an upwind
fashion. These schemes all claim (with good justication) to be
physically consistent since they follow in some sense the characteristics of the ow. They in general can be shown to produce sharp
oscillation free shocks without added articial dissipation. It
should be noted that these schemes have an inherent amount of
internal dissipation, due to the one sided differences.
The plusminus ux split method of Steger and Warming [6]
will be used here to introduce the concept of ux splitting. The approach taken is to split the eigenvalue matrix K of the ux Jacobians into two matrices, one with all positive elements and the other
with all negative elements. Then the similarity transformations TA
or TB are used to form new matrices A+, A and B+, B. Formally,
1
A T A KA T 1
A T A KA KA T A A A
KA
KA j KA j
2
24
25
E AQ A A Q E E ;
F BQ B B Q
F F
21
b T 1 T B ;
N
A
0
0
Here, jKj implies that we take the absolute values of the elements of
K. The two matrices, A+ and A have by construction all positive and
all negative eigenvalues, respectively.
New ux vectors can be constructed as
1
~ x c
u j
1
60
6
b 6
N
40
with
1 / =c
c 1u=c
c 1v =c
c 1=c
6
~ yu j
~ xv
~y
~x
6 j
j
j
0
1
Tj 6
6 b/2 c~h
~ x c c 1u bj
~ y c c 1v
bj
bc 1
4
~ x c c 1u bj
~ y c c 1v bc 1
b/2 c~h bj
2
22
26
@ t Q @ x E @ x E @ y F @ y F 0
27
Different type of spatial differencing can now be used for each of the
above ux vector derivatives. In the case of the + terms a backward
difference in space can be used ( forward difference for the
terms), the resulting scheme maintains linear stability for the
resulting ODE.
A generalized ux vector can be dened as
b
b T 1 Q
F Tj K
j
28
where
2^
k1
6
b 6
K
6
4
3
7
7
7
5
k^2
k^3
k^4
with ^
k any denition of an eigenvalue.
29
68
3
2c 1k^1 k^3 k^4
7
6
^
^
^
~
~ 7
q6
b
6 2c 1k1 u k3 u cjx k4 u cjx 7
F
2c 6
~ y ^k4 v cj
~ y 7
5
4 2c 1k^1 v k^3 v cj
2
30
f1
~ x 2 v c j
~ y 2 =2
where
f1 c 1^
k1 u2 v 2 ^
k3 u cj
^
~ x 2 v cj
~ y 2 =2 3 c^
k4 u cj
k3 ^
k4 c2 =2c 1 and
q
^k3 ^k1 c j2 j2 ;
x
y
^k1 ^k2 jx u jy v ;
q
^k4 ^k1 c j2 j2
x
y
31
36
This is the unfactored form of the block algorithm. We shall call the
right hand side of Eq. (36) the explicit part (RHS) and the left hand
side the implicit part (LHS) of the algorithm.
3.3. Space differencing
The next step is to take the continuous differential operators @ x
and @ y and approximate them with nite difference operators on a
discrete mesh.
Introducing a grid of mesh points (j, k), variables are dened at
mesh points as
37
@F
A
@Q
32
We shall not write out the exact Jacobians here, but we should note
that for the splitting it has been shown that the eigenvalues of the
exact Jacobians, while not K, are positive and negative appropriately for the + and uxes.
3. Implicit numerical algorithms
3.1. Implicit time differencing
The choice of the type and order of the spatial differencing is important both in terms of accuracy and stability. In most applications
second order accuracy has proven to be sufcient provided the grid
resolution is reasonable. The choices for differencing type include
central and upwind operators. These choices are dictated by stability, accuracy, efciency and programming issues.
Second order central difference operators can be used where,
for example,
DQ n
#Dt @
Dt @ n
u
DQ n
Q
DQ n1
1 u @t
1 u @t
1u
1
O # u Dt 2 Dt 3
2
n
n+1
39
where DQ = Q
Q and Q = Q(nDt). The parameters # and u can
be chosen to produce different schemes of either rst or second order accuracy in time.
For # = 1 and u = 0, we have the rst order Euler implicit
scheme, and for # = 1 and u = 1/2, the three point implicit scheme.
Let us restrict ourselves to the rst order scheme in time
(although all of the subsequent development can easily be extended to any second order scheme formed from Eq. (33). Applying
Eq. (33) with # = 1 and u = 0 to Eq. (1), results in
Q n1 Q n Dt@ x En1 @ y F n1 0
34
35
69
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
..
..
..
..
..
. h
. i . h
.
i
A
Aj1;k
h 2j1;k
I
h
Dx
2Dx
. h
i
B
h 2j;k1
Dy
7
7
7
7
7
7
7
7
7
7
7
7
h
i 7
7
Bj;k1
7
h 2Dy
7
7
7
7
7
7
7
7
7
7
5
40
6
6
6
6
6
6
..
..
.
6
. h
. i .. h
6
i
6
A
A
6
I
h 2j1;k
h 2j1;k
6
Dx
Dx
6
6
6
6
4
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
43
Rewriting Eq. (42) as a two stage process, we have
Form Rn hdx En dy F n
44
b n Rn :
For all k lines I hdx An D Q
:
where the variables have been ordered with j running rst and
then k.
The matrix is sparse but it would be very expensive (computationally) to solve the algebraic system. For instance, for a reasonable two-dimensional calculation of transonic ow past an
airfoil we could use approximately 300 points in the x direction
and 80 points in the y direction. The resulting algebraic system
has a 96,000 96,000 matrix problem to be solved and although
we could take advantage of its banded sparse structure it would
still be very costly in both CPU time and memory. For a banded
matrix with bandwidth b and rank N, the operation count estimate for inversion is O(b2N). In two-dimensions, the bandwidth
(for Eq. (40)) is approximately 4 Kmax (4 for the block size
and Kmax from the differencing in k for each j line) for the above
ordering. The rank is N = 4 Jmax Kmax, so that the total operation count for the inversion is on the order of O43 J max K 3max .
For the above example grid sizes this gives 9.8 109 operations per time step. In two-dimensions this is not too difcult
for todays large scale computer systems. In three dimensions,
the block sizes are 5, bandwidth is expanded by the extra
dimension and the rank is also expanded leading to a large operation count which is still beyond the capabilities of modern
computer systems.
bn :
For all j lines I hdy Bn DQ n D Q
:
Kx T 1
and Ky T 1
A AT A
B BT B
45
Here we take the factored algorithm in delta form, Eq. (42) and replace A and B with their eigensystem decompositions.
i h
i
1
1
T A T 1
DQ n Rn
T B T 1
A h dx T A Kx T A
B h dy T B Ky T B
46
h dx An dy Bn DQ n
41
The cross terms (h2 terms) are second order in time since D Qn is
O(h). They can therefore be neglected without degrading the time
accuracy of any second order scheme which we may choose.
The resulting factored form of the algorithm is
42
At this point Eqs. (42) and (46) are equivalent. A modied form of
Eq. (46) can be obtained by factoring the TA and TB eigenvector
matrices outside the spatial derivative terms dx and dy. The resulting
equations are
n
n
T A I hdx Kx N I hdy Ky T 1
B DQ R
47
where N T 1
A T B , see Eq. (22).
The explicit side of the diagonal algorithm (the steady-state nite difference equations) is exactly the same as in the original
algorithm, Eq. (42). The modications are restricted to the implicit
side and so if the diagonal algorithm converges, the steady-state
solution will be identical to one obtained with the unmodied
algorithm. In fact, linear stability analysis would show that the
diagonal algorithm has exactly the same unconditional stability
70
as the original algorithm. (This is because the linear stability analysis assumes constant coefcients and diagonalizes the blocks to
scalars, so the diagonal algorithm then reduces to the unmodied
algorithm.) The modication (pulling the eigenvector matrices outside the spatial derivatives) of the implicit operator does affect the
time accuracy of the algorithm. The eigenvector matrices are functions of x and y and therefore this modication reduces the time
accuracy to at most rst order in time and also gives time accurate
shock calculations a non-conservative feature, i.e., errors in shock
speeds and shock jumps. However, the steady-state is fully conservative since the steady-state equations are unmodied. Also, computational experiments by Pulliam and Chaussee [16] have shown
that the convergence and stability limits of the diagonal algorithm
are similar to that of the unmodied algorithm.
The diagonal algorithm reduces the block tridiagonal inversion
to a set of 4 4 matrix multiplies and scalar tridiagonal inversions.
In two-dimensions, rewrite Eq. (47)
Form Rn hdx En dy F n
n
For all j and k Sn T 1
A R ::
48
sive, especially in three dimensions. Approximate factorization similar to Section 3.5 would produce
h
ih
i
I hdbx A n hdfx A n I hdby B n hdfy B n DQ n
h dbx E n dfx E n dby F n dfy F n
51
which produces work estimates similar to the approximate factorization of that Section.
An alternative factorization would be to keep the positive terms
together and the negative terms together producing
h
ih
i
I hdbx A n hdby B n I hdfx A n hdfy B n DQ n
h dbx E n dfx E n dby F n dfy F n
52
h
i
I hdbx A n hdby B n
4 4 matrix multiples
is a lower block diagonal matrix
1 n
4 4 matrix multiples
4 4 matrix multiples
Pulliam and Chaussee [8] showed that the operation count per grid
point associated with the implicit side of the full block algorithm is
410 multiplies, 356 adds, and 10 divides, a total of 776 operations,
while the diagonal algorithm requires 233 multiplies, 125 adds, and
26 divides or 384 operations. Adding in the explicit side and other
overhead such as I/O (input/output) and initialization, the overall
savings in computational work can be as high as 40%. Note the computational work was further decreased by noting that the rst two
eigenvalues of the system are identical, Eq. (19). This allows us to
combine the coefcient calculations and part of the inversion work
for the rst two scalar operators. Another advantage of the approximate factorization is that the solution process is easily parallelized.
One can parallelize in y as you invert in x and parallelize in x for the
y inversions.
3.7. Flux split forms
Flux split forms of the implicit algorithms have been exploited
in many ways. Starting with Steger-Warming [6] ux vector splitting and the equations given in Section 2.6 we have
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
..
h
B
j;k1
..
Dy
..
..
.
B
A
A
j;k
j;k
h j1;k
I
h
Dx
Dx
Dy
..
..
..
.
..
.
..
..
..
.
..
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
53
49
i
I hdbx A n hdfx A n hdby B n hdfy B n DQ n
h dbx E n dfx E n dby F n dfy F n
50
References
[1] Beam R, Warming RF. An implicit nite-difference algorithm for hyperbolic
systems in conservation law form. J Comput Phys 1976;22:87110.
[2] Steger JL. Implicit nite difference simulation of ow about arbitrary geometries
with application to airfoils. AIAA Paper 1977:77665.
[3] Pulliam TH, Steger JL. Implicit nite-difference simulations of three dimensional
compressible ow. AIAA J 1980;18:159.
[4] MacCormack RW. The effect of viscosity in hypervelocity impact cratering. AIAA
Paper 1969:69354.
[5] Pulliam TH. Articial dissipation models for the Euler equations. AIAA J
1981;24(12).
71
[6] Steger JL, Warming RF. Flux vector splitting of the inviscid gas dynamic
equations with applications to nite difference methods. J Comput Phys
1981;40:26393.
[7] Warming RF, Beam R, Hyett BJ. Diagonalization and simultaneous
symmetrization of the gas-dynamic matrices. Math Comput 1975;29:1037.
[8] Pulliam TH, Chaussee DS. A diagonal form of an implicit approximate
factorization algorithm. J Comput Phys 1981;39(2).
[9] Buning PG, Chiu IT, Obayashi S, Rizk YM, Steger JL. Numerical simulation of the
integrated space shuttle vehicle in ascent. AIAA Paper 1988-4359, AIAA
Atmospheric Flight Mechanics Conference, Minneapolis, MN, 1988.