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) [u + ui(,mj)1 + ui(m1,) j + ui(m1,) j 4 ui(,mj) ] 4 i , j 1 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 4 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 0 1 2 50 50 100 100 150 300 100 150 250 300 3 i\j 200 200 0 1 2 3 6-22 0 1 2 3 50 50 100 116.33 167.96 300 100 156.53 209.18 300 200 200