Direct solutions for Poisson's equation in three dimensions

Abstract Two-dimensional Poisson problems are commonly solved by one of three direct methods: cyclic reduction (CR), Fourier analysis (FA), or a combination of FA and CR (FACR). It has been shown that FACR requires the least amount of computation and CR the most. All of these methods employ one-dimensional solvers embedded in the algorithms for solving the two-dimensional problem. These methods can be used to solve three-dimensional systems if the one-dimensional solver is replaced with a two-dimensional solver. In three dimensions FACR and FA require almost the same number of operations if the two-dimensional solver is FACR. Further, the three-dimensional CR using CR to solve the two-dimensional systems requires a much larger number of operations in comparison with any of the other approaches considered. This information is illustrated using a staggered grid with Neumann boundary conditions. The operation counts for this problem are derived so that they are applicable even if the number of mesh points in any direction is small. The FFT algorithm required when using FA is presented. The FA algorithm is simpler to code than FACR. A comparison of run times between CR and FA (using CR to solve the two-dimensional systems) is given for several mesh sizes. The results agree with the operation count comparisons. Some input-output considerations for coding problems which require auxiliary storage are also discussed.