
7.6 POINT-ITERATIVE METHODS 223
For two- and three-dimensional problems, the TDMA must be applied iter-
atively in a line-by-line fashion, but the spread of boundary information into
the calculation domain can be slow. In CFD calculations the convergence
rate depends on the sweep direction, with sweeping from upstream to down-
stream along the flow direction producing faster convergence than sweeping
against the flow or parallel to the flow direction. Convergence problems can
be alleviated by alternating the sweep directions, which is particularly useful
in complex three-dimensional recirculating flows, where the dominant flow
direction is not known in advance. When overall stability considerations
require coupling between the values over the whole calculation domain the
TDMA can be unsatisfactory for the solution of discretised equations.
Higher-order schemes for the discretisation process will link each dis-
cretisation equation to nodes other than the immediate neighbours. Here,
the TDMA can only be applied by incorporating several neighbouring
contributions in the source term. This may be undesirable in terms of stab-
ility, can impair the effectiveness of the higher-order scheme, and may hinder
the implicit nature of the scheme if it is applied in an unsteady flow (see
Chapter 8). In the specific case where the system of equations to be solved
has the form of a penta-diagonal matrix, as may be the case in QUICK and
other higher-order discretisation schemes, there is an alternative solution: a
generalised version of the TDMA, known as the penta-diagonal matrix algo-
rithm, is available. Basically a sequence of operations is carried out on the
original matrix to reduce it to upper triangular form, and back-substitution
is performed to obtain the solution. Details of the method can be found in
Fletcher (1991). The method is, however, not nearly as economical as the
TDMA.
Point-iterative techniques are introduced by means of a simple example.
Consider a set of three equations and three unknowns:
2x
1
+ x
2
+ x
3
= 7
−x
1
+ 3x
2
− x
3
= 2 (7.14)
x
1
− x
2
+ 2x
3
= 5
In iterative methods we rearrange the first equation to place x
1
on the left
hand side, the second equation to get x
2
on the left hand side, and so on. This
yields
x
1
= (7 − x
2
− x
3
)/2
x
2
= (2 + x
1
+ x
3
)/3 (7.15)
x
3
= (5 − x
1
+ x
2
)/2
We see that unknowns x
1
, x
2
and x
3
appear on both sides of (7.15). The system
of equations can be solved iteratively by substituting a set of guessed initial
values for x
1
, x
2
and x
3
on the right hand side. This allows us to calculate new
values of the unknowns on the left hand side of (7.15). The next move is to
substitute the new values back into the right hand side and evaluate the
unknowns on the left hand side again, which are, if the procedure converges,
closer to the true solution of the system of equations. This process is
repeated until there is no more change in the solution.
One condition for the iteration process to be convergent is that the
matrix must be diagonally dominant (see discussion on boundedness in
Point-iterative
methods
7.6
ANIN_C07.qxd 29/12/2006 04:48PM Page 223