Sie sind auf Seite 1von 4

Chapter 6

Boundary-Value Problems
6.4 The Alternating Direction Implicit (ADI) Method
When the partial differential equation 2u = 0 is solved by the finite difference method, the
resulting coefficient matrix is spare. The sparseness increases as the number of nodes
increases. If there are 21 nodes, 81% of the coefficients are zeros; if there are 105 nodes,
96% are zeros. The system of equations for the one-dimensional case always has a
tridiagonal coefficient matrix for which the efficient Thomas algorithm can be used. The ADI
method can be applied for the two or three-dimensional system to get a tridiagonal
coefficient matrix. We will use a two dimensional example of the Laplace equation
2u = 0
Using finite difference, the value at the node (i, j) for iteration (m+1) is given as

ui(,mj1) =

1 (m)
[ ui , j 1 + ui(,mj)1 + ui(m1,) j + ui(m1,) j ]
4

We now add and subtract ui(,mj ) from this equation to yield

ui(,mj1) = ui(,mj ) +

1 (m)
[ ui , j 1 + ui(,mj)1 + ui(m1,) j + ui(m1,) j 4 ui(,mj ) ]
4

or equivalently

ui(,mj1) ui(,mj ) =

1
{[ ui(,mj)1 2 ui(,mj ) + ui(,mj)1 ] + [ ui(m1,) j 2 ui(,mj ) + ui(m1,) j ]}
4

Each iteration is considered to be a two-step procedure wherein the first step advances to the
1
(m+ ) level and the second step to the (m+1) level.
2
First step:

ui(,mj1/ 2 ) ui(,mj ) =

1
{[ ui(,mj11/ 2 ) 2 ui(,mj1/ 2 ) + ui(,mj11/ 2 ) ] + [ ui(m1,) j 2 ui(,mj ) + ui(m1,) j ]}
4

Second step:

ui(,mj1) ui(,mj1/ 2 ) =

1
{[ ui(,mj11/ 2 ) 2 ui(,mj1/ 2 ) + ui(,mj11/ 2 ) ] + [ ui(m1, j1) 2 ui(,mj1) + ui(m1, j1) ]}
4

6-19

The ADI method produces a tridiagonal set of equations at the (m+1/2) level. The equations
can be solved along all rows of the grid, one row at a time. Once, all nodes have been
elevated to the (m+1/2) level, a similar procedure for the column of nodes is applied. A twostep iteration is completed when the new values ui(,mj1) are calculated.
Example 6.4-1 _____________________________________________________
Assuming two dimensional, steady-state conduction, determine the temperature of nodes 1,
2, 3, and 4 in the square shape subjected to the uniform temperature shown.
100
100
2

1
50

0,2

1,0

1,1

1,2

1,3
200

2,0

2,1

2,2

2,3

50

200
3

0,1

3,1
3,2
300
300
Figure 6.4-1 The nodes in a two dimensional, steady-state conduction.

Solution
The two-dimensional heat conduction equation for steady state, no heat generation, and k
independent of temperature is given as
2u
2u
+
=0
x 2
y 2

The ADI method will be applied to solve this problem

ui(,mj1) ui(,mj ) =

1
{[ ui(,mj)1 2 ui(,mj ) + ui(,mj)1 ] + [ ui(m1,) j 2 ui(,mj ) + ui(m1,) j ]}
4

Let u1(,m1 ) = 100, u1(,m2 ) = 150, u2( m,1 ) = 150, and u2( m, 2) = 250
First step calculation with row 1 and row 2:

ui(,mj1/ 2 ) ui(,mj ) =

Node (1,1):

1
{[ ui(,mj11/ 2 ) 2 ui(,mj1/ 2 ) + ui(,mj11/ 2 ) ] + [ ui(m1,) j 2 ui(,mj ) + ui(m1,) j ]}
4

u1(,m1 1/ 2 ) 100 =

1
{[ u1(,m2 1/ 2 ) 2 u1(,m1 1/ 2 ) + 50] + [100 2(100) + 150]}
4

6-20

1.5 u1(,m1 1/ 2 ) 0.25 u1(,m2 1/ 2 ) = 125


Node (1,2):

u1(,m2 1/ 2 ) 150 =

1
{[200 2 u1(,m2 1/ 2 ) + u1(,m1 1/ 2 ) ] + [100 2(150) + 250]}
4

0.25 u1(,m1 1/ 2 ) + 1.5 u1(,m2 1/ 2 ) = 212.5


The two nodes in row 1 are solved with the following results

u1(,m1 1/ 2 ) = 110, and u1(,m2 1/ 2 ) = 160


Node (2,1)

u2( m,11/ 2 ) 150 =

1
{[ u2( m,21/ 2 ) 2 u2( m,11/ 2 ) + 50] + [100 2(150) + 300]}
4

1.5 u2( m,11/ 2 ) 0.25 u2( m,21/ 2 ) = 187.5


Node (2,2)

u2( m,21/ 2 ) 250 =

1
{[200 u2( m,21/ 2 ) + u2( m,11/ 2 ) ] + [150 2(250) + 300]}
4

0.25 u2( m,11/ 2 ) + 1.5 u2( m,21/ 2 ) = 287.5


The two nodes in row 2 are solved with the following results

u2( m,11/ 2 ) = 161.43, and u2( m,21/ 2 ) = 218.57


Second step calculation with column 1 and column 2:

ui(,mj1) ui(,mj1/ 2 ) =

Node (1,1)

1
{[ ui(,mj11/ 2 ) 2 ui(,mj1/ 2 ) + ui(,mj11/ 2 ) ] + [ ui(m1, j1) 2 ui(,mj1) + ui(m1, j1) ]}
4

u1(,m1 1) 110 =

1
{[160 2(110)+ 50] + [100 2 u1(,m1 1) + u2( m,11) ]}
4

1.5 u1(,m1 1) 0.25 u2( m,11) = 132.5


Node (2,1)

u2( m,11) 161.43 =

1
{[218.57 2(161.43)+ 50] + [ u1(,m1 1) 2 u2( m,11) + 300]}
4

0.25 u1(,m1 1) + 1.5 u2( m,11) = 222.86


The two nodes in column 1 are solved with the following results

6-21

u1(,m1 1) = 116.33, and u2( m,11) = 167.96


Node (1,2)

u1(,m2 1) 160 =

1
{[200 2(160)+ 110] + [100 2 u1(,m2 1) + u2( m, 21) ]}
4

1.5 u1(,m2 1) 0.25 u2( m, 21) = 182.5


Node (2,2)

u2( m, 21) 218.57 =

1
{[200 2(218.57)+ 161.43] + [ u1(,m2 1) u2( m, 21) + 300]}
4

0.25 u1(,m2 1) + 1.5 u2( m, 21) = 274.64


The two nodes in column 2 are solved with the following results

u1(,m2 1) = 156.53, and u2( m, 21) = 209.18


Table 6.4-1 lists the temperatures before and after one ADI iteration.
Table 6.4-1 ui(,mj ) (left side) and ui(,mj1) (right-side)
i\j
0
1
2
3

50
50

100
100
150
300

100
150
250
300

i\j

200
200

0
1
2
3

6-22

50
50

100
116.33
167.96
300

100
156.53
209.18
300

200
200