Alternating direction implicit method
In numerical analysis, the Alternating Direction Implicit (ADI) method is a finite difference method for solving parabolic, hyperbolic and elliptic partial differential equations.[1] It is most notably used to solve the problem of heat conduction or solving the diffusion equation in two or more dimensions. It is an example of an operator splitting method.[2]
The traditional method for solving the heat conduction equation numerically is the Crank–Nicolson method. This method results in a very complicated set of equations in multiple dimensions, which are costly to solve. The advantage of the ADI method is that the equations that have to be solved in each step have a simpler structure and can be solved efficiently with the tridiagonal matrix algorithm.
The method
Consider the linear diffusion equation in two dimensions,
The implicit Crank–Nicolson method produces the following finite difference equation:
where is the central difference operator for the p-coordinate. After performing a stability analysis, it can be shown that this method will be stable for any .
A disadvantage of the Crank–Nicolson method is that the matrix in the above equation is banded with a band width that is generally quite large. This makes direct solution of the system of linear equations quite costly (although efficient approximate solutions exist, for example use of the conjugate gradient method preconditioned with incomplete Cholesky factorization).
The idea behind the ADI method is to split the finite difference equations into two, one with the x-derivative taken implicitly and the next with the y-derivative taken implicitly,
The system of equations involved is symmetric and tridiagonal (banded with bandwidth 3), and is typically solved using tridiagonal matrix algorithm.
It can be shown that this method is unconditionally stable and second order in time and space.[3] There are more refined ADI methods such as the methods of Douglas,[4] or the f-factor method[5] which can be used for three or more dimensions.
Generalizations
The usage of the ADI method as an operator splitting scheme can be generalized. That is, we may consider general evolution equations
where and are (possibly nonlinear) operators defined on a Banach space.[6][7] In the diffusion example above we have and .
References
- ↑ Peaceman, D. W.; Rachford Jr., H. H. (1955), "The numerical solution of parabolic and elliptic differential equations", Journal of the Society for Industrial and Applied Mathematics, 3 (1): 28–41, doi:10.1137/0103003, MR 0071874.
- ↑
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Section 20.3.3. Operator Splitting Methods Generally". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.
- ↑ Douglas, Jr., J. (1955), "On the numerical integration of uxx+ uyy= ut by implicit methods", Journal of the Society of Industrial and Applied Mathematics, 3: 42–65, MR 0071875.
- ↑ Douglas Jr., Jim (1962), "Alternating direction methods for three space variables", Numerische Mathematik, 4 (1): 41–63, doi:10.1007/BF01386295, ISSN 0029-599X.
- ↑ Chang, M. J.; Chow, L. C.; Chang, W. S. (1991), "Improved alternating-direction implicit method for solving transient three-dimensional heat diffusion problems", Numerical Heat Transfer, Part B: Fundamentals, 19 (1): 69–84, doi:10.1080/10407799108944957, ISSN 1040-7790.
- ↑ Hundsdorfer, Willem; Verwer, Jan (2003). Numerical Solution of Time-Dependent Advection-Diffusion-Reaction Equations. Berlin, Heidelberg: Springer Berlin Heidelberg. ISBN 978-3-662-09017-6.
- ↑ Lions, P. L.; Mercier, B. (December 1979). "Splitting Algorithms for the Sum of Two Nonlinear Operators". SIAM Journal on Numerical Analysis. 16 (6): 964–979. doi:10.1137/0716071.