Abstract
Poisson equation is a widely used partial differential equation. It is very important to study its numerical solution. Based on the strategy of domain decomposition, the alternating asymmetric iterative algorithm for 3D Poisson equation is provided. The solution domain is divided into several sub-domains, and eight asymmetric iterative schemes with the relaxation factor for 3D Poisson equation are constructed. When the numbers of iteration are odd or even, the computational process of the presented iterative algorithm are proposed respectively. In the calculation of the inner interfaces, the group explicit method is used, which makes the algorithm to be performed fast and in parallel, and avoids the difficulty of solving large-scale linear equations. Furthermore, the convergence of the algorithm is analyzed theoretically. Finally, by comparing with the numerical experimental results of Jacobi and Gauss Seidel iterative algorithms, it is shown that the alternating asymmetric iterative algorithm based on domain decomposition has shorter computation time, fewer iteration numbers and good parallelism.
1. Introduction
Poisson equation is an elliptic partial differential equation, which frequently appears in many fields such as fluid dynamics, heat transfer, electromagnetics, acoustics, electrostatics mechanical engineering and so on. Many researches on studding the numerical techniques to approximate the solution of Poisson equation have been made in the past few decades. The application of finite difference methods for solving Poisson equation will normally lead to a large, block, and sparse system of equations. Direct methods and iterative methods [1] are normally considered as common approaches for solving such system of equations. Several high precision multigrid and compact difference methods are given in [2,3,4,5,6]. Romao et al. [7,8] provides the Galerkin and least-squares finite element methods in the solution of 3D Poisson equation. In [9,10], the Haar wavelet methods are given. Speyer et al. [11] provide a preconditioned bi-conjugate gradient stabilized method which is efficient, albeit nonmonotonic and convergent.
With the continuous improvement of computer hardware, people are more and more focused on solving large-scale scientific and engineering problems quickly and efficiently on parallel computers. Therefore, people wish to find some direct methods and iterative methods, which have the characteristic of much better solving elliptic equations and easier parallel implementation. In recent years, parallel algorithms are also constantly emerging. Several new parallel methods of direct solution are proposed. P. Valero-Lara and A. Pinelli et al. [12] provide the implementation of a fast solver based on a block cyclic reduction algorithm for the linear systems of a three dimensional separable elliptic problem. And they also study on the parallel characteristics of an algorithm for the direct solution of linear systems with a block-tridiagonal coefficient matrix (BLKTRI problem) [13]. C. P. Stone et al. [14] analyze the performance of a block tridiagonal benchmark. Many authors have given the implementation of scalar tridiagonal solver on GPUs [15,16,17]. Y. Zhang [16] also illustrates several methods to solve tridiagonal systems on GPUs. Because of the direct method to solve large-scale sparse and block diagonal equation systems, when the coefficient matrix is close to singularity, the calculation will often stop or make mistakes. So people also find iterative methods which can be solved by constructing some efficient iterative schemes to approximate the problem itself, so that the iteration can reach a certain accuracy. In [18,19,20,21], a class of efficient parallel finite difference iterative algorithms for Poisson equation were also proposed.
In addition, the domain decomposition method [22] is also a powerful tool for parallel implementation, which studies parallelization from the model level of physical problems. This kind of method can decompose scale problem into small-scale problem and solve serial problem into parallel problem. The explicit-implicit domain decomposition method is proposed by Kuznetsov [23]. Because the numerical boundary conditions on the internal boundary are often not the same as those of the original mathematical model or the corresponding physical problems, different methods to obtain the internal boundary information form different explicit-implicit domain decomposition (EIDD) methods. This leads to the idea of parallel implementation for iterative method based on domain decomposition. In [24], the authors have proposed a kind of finite difference parallel iterative algorithm for two-dimensional Poisson problem, and verified its efficiency and accuracy.
This paper extends to the study of the domain decomposition method for three-dimensional Poisson problem. Several finite difference asymmetric iterative schemes are constructed, and each asymmetric iterative schemes are used to solve the sub-domains alternatively and in parallel; in the processing of inner interfaces, group explicit (GE) method [25,26] is used. The calculation on the whole solution domain is explicit but using the implicit iterative schemes, which greatly avoids the difficulty of solving linear equations and improves the calculation speed and accuracy. When the number of iteration is odd or even, the iterative process of the presented algorithm is given respectively, and a kind of efficient iterative algorithm is established based on domain decomposition for solving three-dimensional Poisson equation.
This paper is outlined as follows. In Section 2, we present several asymmetric iterative schemes. Section 3 gives the alternating asymmetric iterative algorithm. And the convergence and the optimal relaxation factor are obtained in Section 4. In Section 5, we perform the numerical experiments to examine the presented algorithm. Finally we give the conclusion of this paper in Section 6.
2. Asymmetric Iterative Schemes
Consider the three-dimensional Poisson problem,
with the boundary condition,
where , and is the boundary of the domain . We divide the solution domain into uniform grid, the space step in x direction, in y direction and in z direction. For implicity, the space steps are assumed equal that . Denote ; ; ; as numerical solution on the nth iteration level at the grid node . We can give the classical difference discretization in Equation (3) for the 3D Poisson Equation (1),
namely,
Then we construct eight asymmetric iterative schemes by the difference operator L with the relaxation factor as follows,
3. Alternating Asymmetric Iterative Algorithm Based on Domain Decomposition
3.1. The Domain Decomposition
We can divide the 3D solution domain into multi-subdomains. For simplicity, we use six grid planes to discrete the solution domain into eight sub-domains, and note as subsets of grid points, while are positive integers with . Denote is the interfaces of the sub-domain . The sorting order of sub-domains is as follows: the subspaces above are sorted anticlockwise starting from the upper right sub-domain of the inner layer, and the sub-domains under are sorted anticlockwise starting from the lower right subspace (as shown in Figure 2). The specific description is as follows:
Figure 2.
The solution domain is divided into eight sub-domains.
3.2. Algorithm Implementation
In this subsection, we provide a new alternating asymmetric iterative (AAI) algorithm based on domain decomposition for 3D Poisson problem (1) and (2). We give different computational processes in each sub-domains at the odd iteration layers and even iteration layers respectively, and use the asymmetric iterative schemes alternatively. The Group Explicit (GE) method is used to solve the inner interfaces, which makes the algorithm to be computed fast and in parallel, and avoids the difficulty of solving large-scale linear equations.
3.2.1. Implementation of Odd Level Iteration
When the iteration number are odd, namely, , we solve the grid nodes from the boundaries to the inner interfaces step by step, that is, using the asymmetric iterative schemes (5)–(12) to solve the grid points in respectively:
Obviously, the numerical solution can be obtained independently in parallel when the iteration numbers are odd, which saves a lot of computational time compared with the full-implicit iteration case. In addition, although the asymmetric iterative schemes are implicit, the computational process can be transformed into explicit, which can obviously improve the calculation speed and avoid solving large and complex linear equations.
3.2.2. Implementation of Even Level Iteration
When the iteration number is even, namely, , we calculate the numerical solution from the inner interfaces to the boundaries step by step. Where the computational process of the interfaces includes three parts:
Therefore, it can be seen that the interfaces Interfaces I ∪ Interfaces II ∪ Interfaces III. When the interfaces are solved, the inner grid nodes in the domain can be solved in order like the odd case of iteration numbers in Section 3.2.1. We give the computational procedures in detail as follows.
(1) The solution to Interfaces I
We use the asymmetric iterative schemes (5)–(12) to solve the Interfaces I, then the following linear equations can be obtained:
where matrices and are represented as bellow,
Then we just solve the above eight-order sparse linear Equation (14) to obtain the numerical solution of the .
(2) The solution to Interfaces II
The computational procedure of the Interfaces I is depending on the use of GE method based on eight points per group. Similarly, we use the GE method based on four points per group to solve the Interfaces II between the inner boundaries of eight subspaces . Take one group of the Interfaces II for example to illustrate the order of the solution process. Figure 3 gives the direction of the iteration computation.
Using the asymmetric iterative schemes (6), (7), (10), (11) to solve the grid nodes (shown in Figure 3), then we can provide the following fourth-order linear equations:
where
Then the numerical solution of such a set of inner boundary points can be calculated quickly only by solving the fourth order sparse linear Equation (15). In the same way, the points on the other five groups of inner boundary lines are also calculated by Group Explicit method, and we will not represent them one by one here.
(3) The solution to Interfaces III
It can be seen from the calculation process of Interfaces I and II we solve the Interfaces III just depending on the group explicit method based on two points a group. The specific calculation process is the same as above (1) and (2), and we do not repeat it.
Finally, taking the above results as the interface conditions, we use the asymmetric iterative schemes different from the schemes at the odd levels to solve the inner points on .
Through the above specific implementation process of the domain decomposition iteration algorithm, we can see that the calculation of numerical solution can transform implicit iteration to explicit calculation no matter on the odd or even iteration layer. Combining with the domain decomposition method, the alternating asymmetric iterative (AAI) algorithm is well performed in parallel.
4. The Algorithm Convergence
In the last section, we propose a new AAI algorithm based domain decomposition for solving the three-dimensional Poisson problem (1)–(2), which can be written in the following matrix form,
while is the iterative matrix of AAI algorithm and b is the right-term. Then we can give the following theorem:
Theorem 1.
The sufficient and necessary conditions for the convergence of AAI algorithm are as follows:
where is the corresponding spectral radius of the iterative matrix .
Consider the eigenvalue problem of Equation (17):
Due to the asymmetry of the schemes (5) and (12) in the calculation direction, we take one of the iteration scheme (5) as an example,
Firstly, we give the relationship between the eigenvalues of Jacobi iterative matrix B and the eigenvalues of the AAI iterative matrix . Let be the eigenvectors of the Jacobi iterative matrix, then
If is the eigenvalue of the matrix , then
Equation (24) determines that is eigenvalue of the matrix B, which is Jacobi iteration matrix of Poisson equation. On the contrary, if is eigenvalue of the matrix B, it can be determined only if there is a relationship between the eigenvalues of Jacobi iteration matrix and the eigenvalues of the given iteration matrix in the Equation (24).
In particular, it is shown that the iterative schemes (5)–(12) are Gauss-Seidel iterative schemes in fact when . Then the presented AAI algorithm has obvious convergence since .
Second, we discuss the changes of about .
From Equation (24), we can see that the eigenvalue depends on the relaxation factor and the eigenvalue of Jacobi iteration matrix. Suppose , the two eigenvalues are obtained by Equation (24):
Define
by the discriminant equaling to zero, namely,
Then the root of the Equation (24) is
When , we can get
When , the eigenvalue and are conjugate complex, therefore
In fact, if , Equation (33) is ture clearly; Otherwise , and
Therefore, , Equation (18) is proved and the presented AAI algorithm is convergent.
Obviously, the spectrum radius of the presented iterative matrix depends on the relaxation factor , so choosing approximate is important to the number of iterations and the convergence rate.
Since the optimal relaxation factor is obtained for 2D Poisson problem in [25], we can also provide the same computation for 3D case. When
obtains the minimum
where is the spectrum radius of Jacobi iterative matrix, and is a positive, sufficiently small number. The optimal relaxation factor can be theoretically evaluated by Equation (36).
5. Numerical Experiments
In order to confirm the effectiveness of the AAI algorithm, the following experiments are carried out.
The initial iterative values is given.
(1) Consider the 3D Laplace equation
with the boundary condition,
The exact solution of the 3D Poisson problem (37)–(38) is . Let be the exact solution and the nth iterative solution, the errors are calculated in -norm as:
Moreover, the rate of convergence in space is calculated by
where are the space steps.
Table 1 gives the errors of the presented alternating asymmetric iteration algorithm based on domain decomposition for the 3D Laplace problem (37)–(38) with different values of when , we can obviously see that the errors is relatively smaller when the relaxation factor is about . we further see that the errors get the minimum when is about shown in Figure 4a, which is match with the result of Equation (35). Figure 4b performs the errors with when , which illustrate the effectiveness of the AAI algorithm.
Table 1.
The errors of alternating asymmetric iterative (AAI) algorithm based on domain decomposition with the different values of when .
Figure 4.
The with the different and the errors at when . (a) ; (b) the errors at when .
From Table 2 and Table 3, we can see the iteration numbers of the AAI algorithm is the least during the Jacobi, Gauss-Seidel iterative methods under some error controls when . In addition, the AAI algorithm obtains shorter times than the Jacobi and the Gauss-Seidel methods when the number of the grid nodes is in increasing. Table 4 gives the convergence rates and errors of the AAI algorithm. In computation of the rates of convergence in space, the spatial steps are taken as . We can see the rates is of order 2 in space and the errors can up to .
Table 2.
The iteration numbers and time(s) of Jacobi, Gauss-Seidel and the AAI algorithm under the different error controls when .
Table 3.
The iteration numbers and time(s) of Jacobi, Gauss-Seidel and the AAI algorithm under the different error controls when .
Table 4.
The convergence rates and errors of the presented iterative algorithm when .
Figure 5 provides the errors, relative errors and numerical solutions at when , which shows the AAI algorithm is effect and accurate.
Figure 5.
The errors, relative errors and numerical solutions of the AAI algorithm at when . (a) The errors at ; (b) The errors at ; (c) The relative errors at ; (d) The relative errors at ; (e) The numerical solution at ; (f) The numerical solution at .
(2) Consider the 3D Poisson equation
with the boundary condition,
The exact solution of the 3D Poisson problem (40)–(41) is .
Table 5 gives the errors of AAI algorithm for the problem 2 with the different values of when , and Figure 6 shows the errors get nearly the minimum while . which show the effect of to the AAI algorithm. Table 6, Table 7 and Table 8 give the iteration numbers and times under some error controls, which also show obviously the presented algorithm has smaller iteration numbers than the Jacobi and Gauss-Seidel methods. The computational times are shorter with the grid points increasing.
Table 5.
The errors of AAI algorithm based on domain decomposition with the different values of when .
Figure 6.
The with the different and the errors at when . (a) The errors with the different ; (b) The errors at when .
Table 6.
The iteration numbers and time(s) of Jacobi, Gauss-Seidel and the AAI algorithm under the different error controls when .
Table 7.
The iteration numbers and time(s) of Jacobi, Gauss-Seidel and the AAI algorithm under the different error controls when .
Table 8.
The iteration numbers and time(s) of Jacobi, Gauss-Seidel and the AAI algorithm under the different error controls when .
Figure 7 shows the errors, relative errors and numerical solutions of the AAI iterative algorithm based on domain decomposition for the problem 2 at when , . All of the numerical experiments examine the effectiveness and accuracy of the presented AAI algorithm.
Figure 7.
The errors and numerical solutions of the AAI algorithm when , . (a) The errors at ; (b) The errors at ; (c) The relative errors at ; (d) The relative errors at ; (e) The numerical solution at ; (f) The numerical solution at .
Since the presented AAI algorithm based on domain decomposition is constructed by the asymmetrical iterative schemes and GE method, which has interior parallelism and is easy to be implemented. During the process of the implementation of the AAI algorithm, there’s no need to solve the large-scale sparse block tridiagonal matrices. When the iteration numbers are odd or even, we just to solve the 3D problems by the constructed iterative schemes, which are computed independently. Once the interfaces are solved by GE method, the other grid points can also be solved by the constructed iterative schemes directly and in parallel. Therefore, the key of parallel implementation lies in information transfer and time cost of the inner boundary. In fact, the whole computation is explicit but convergent, which save the most of the consuming time.
So In this paper, we use the Matlab software to implement the presented AAI algorithm. We extend this idea to solve the other time-dependent high-dimensional problems, and compare the times, speedup, caches and so on. The detailed parallel implementation and performance analysis are provided in [27].
6. Conclusions
In this paper, we provide a new alternating asymmetric iterative (AAI) algorithm for 3D Poisson problem based on domain decomposition. We use several asymmetrical iterative schemes to solve the sub-domains respectively. Meanwhile the asymmetrical iterative schemes are alternatively used on odd and even iteration levels to improve the accuracy. Moreover, we give the convergence of the algorithm and the optimal relaxation factor. Finally, several numerical experiments are taken to examine the effectiveness and accuracy of the presented algorithm.
The study will be extended to other high-dimensional diffusion problems and wave problems and so on, and also can be used to solve on more multi-subdomains, and the corresponding new algorithms will be designed. we will report these soon.
Author Contributions
Conceptualization, and Methodology and Writing—original draft preparation, Q.X.; Formal analysis and Writing—review, Z.L. All authors have read and agreed to the published version of the manuscript.
Funding
The research of the first author was partially supported by the Natural Science Foundations of China (No. 61662059), the Major Innovation Projects for Building First-calss Universities in China’s Western Region (No. ZKZD2017009), the Natural Science Foundations of Ningxia Province (No. NZ2018AAC03026), and the Fourth Batch of the Ningxia Youth Talents Supporting Program (No.TJGC2019012). The research of the second author was partially supported by the Natural Science Foundations of China (No. 11501313), the Natural Science Foundations of Ningxia Province (No. 2019AAC02001), the Project funded by the China Postdoctoral Science Foundation (No. 2017M621343), and the Third Batch of the Ningxia Youth Talents Supporting Program (No. TJGC2018037).
Acknowledgments
The authors thank the Reviewers and the Editors for their valuable comments and suggestions on an earlier version of this article.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Saad, Y. Iterative Methods for Sparse Linear Systems, 2nd ed.; SIAM: Philadelphia, PA, USA, 2003. [Google Scholar]
- Ge, Y.; Cao, F.; Zhang, J. A transformation-free HOC scheme and multigrid method for solving the 3D Poisson equation on nonuniform grids. J. Comput. Phys. 2013, 234, 199–216. [Google Scholar] [CrossRef]
- Abide, S.; Zeghmati, B. Multigrid defect correction and fourth-order compact scheme for Poisson equation. Comput. Math. Appl. 2017, 73, 1433–1444. [Google Scholar] [CrossRef][Green Version]
- Fen, H.; Zhang, B.L.; Liu, Y. Mathematics Stencil of the finite difference method for Poisson equation and its application. China Sci. 2005, 35, 901–909. (In Chinese) [Google Scholar]
- Spotz, W.F.; Carey, G.F. A high-order compact formulation for the 3D Poisson equation. Numer. Methods Part. Diff. Equ. 1996, 12, 235–243. [Google Scholar] [CrossRef]
- Gupta, M.M.; Kouatchou, J. Symbolic derivation of finite difference approximations for the three dimensional Poisson equation. Numer. Methods Part. Diff. Equ. 1998, 14, 593–606. [Google Scholar] [CrossRef]
- Romao, E.C.; Campos, M.D.; Moura, L.F.M. Application of the galerkin and least-squares finite element methods in the solution of 3D Poisson and Helmholtz equations. Comput. Math. Appl. 2011, 62, 4288–4299. [Google Scholar] [CrossRef][Green Version]
- Nintcheu Fata, S. Semi-analytic treatment of the three-dimensional Poisson equation via a Galerkin BIE method. J. Comput. Appl. Math. 2011, 236, 1216–1225. [Google Scholar] [CrossRef]
- Shi, Z.; Cao, Y.Y.; Chen, Q.J. Solving 2D and 3D Poisson equations and biharmonic equations by the Haar wavelet method. Appl. Math. Model. 2012, 36, 5143–5161. [Google Scholar] [CrossRef]
- Shi, Z.; Cao, Y.Y. A spectral collocation method based on Haar wavelets for Poisson equations and biharmonic equations. Appl. Math. Model. 2011, 54, 2858–2868. [Google Scholar] [CrossRef]
- Speyer, G.; Vasileska, D.; Goodnick, S.M. Efficient Poisson equation solvers for large scale 3D simulations. In Proceedings of the 2001 International Conference on Modeling and Simulation of Microsystems-MSM, Hilton Head Island, SC, USA, 19–21 March 2001; pp. 23–26. [Google Scholar]
- Pedro, V.-L.; Alfredo, P.; Manuel, P.-M. Fast finite difference Poisson solvers on heterogeneous architectures. Comput. Phys. Commun. 2014, 185, 1265–1272. [Google Scholar]
- Pedro, V.-L.; Alfredo, P.; Julien, F.; Manuel, P.-M. Block tridiagonal solvers on heterogeneous architectures. In Proceedings of the 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications, Leganes, Spain, 10–13 July 2012; pp. 609–617. [Google Scholar]
- Stone, C.P.; Duque, E.P.N.; Zhang, Y.; Car, D.; Owens, J.D.; Davis, R.L. 20th AIAA Computational Fluid Dynamics Conference. AIAA-306 2011, 3221, 307. [Google Scholar]
- Yang, W.D.; Li, K.L.; Li, K.Q. A parallel solving method for block-tridiagonal equations on CPUCGPU heterogeneous computing systems. J. Supercomput. 2017, 73, 1760–1781. [Google Scholar] [CrossRef]
- Zhang, Y.; Cohen, J.; Owens, J.D. Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming; ACM: New York, NY, USA, 2010; p. 127. [Google Scholar]
- Davidson, A.; Zhang, Y.; Owens, J.D. IEEE International Parallel and Distributed Processing Symposium; IEEE: Piscataway, NJ, USA, 2011; p. 956. [Google Scholar]
- Zhang, B.L.; Yuan, G.X.; Liu, X.P. Parallel Finite Difference Methods for Partial Differential Equations; Science Press: Beijing, China, 1994; pp. 7–67. [Google Scholar]
- Mohanty, R.K. The samrt-BLAGE algorithm for singularly perturbed 2D elliptic partial differential equations. Appl. Math. Comput. 2007, 190, 321–331. [Google Scholar]
- Tavakoli, R.; Davami, P. A new parallel Gauss-Seidel method based on alternating group explicit method and domain decomposition method. Appl. Math. Comput. 2007, 188, 713–719. [Google Scholar] [CrossRef]
- Abdullah, A.R.; Ali, N.M. The comparative study of parallel alternating-type iterative methods. Appl. Math. Comput. 1996, 74, 331–344. [Google Scholar]
- Keyes, D.E.; Gropp, W.D. A comparison of domain decomposition on techniques for elliptic partial differential equations and their parallel implementation. SIAM J. Sci. Stat. Comput. 1987, 8, s166–s202. [Google Scholar] [CrossRef]
- Kuznetsov, Y. New algorithm for approximate realization of implicit difference scheme. Soviet J. Numer. Anal. Math. Model. 1988, 3, 99–114. [Google Scholar] [CrossRef]
- Xu, Q.Y.; Wang, W.Q. Wenqiang, W. A new parallel iterative algorithm for solving 2D Poisson equation. Numer. Methods Part. Differ. Eqs. 2011, 27, 829–853. [Google Scholar] [CrossRef]
- Ng, K.F.; Mohd Ali, N.H. Performance analysis of explicit group parallel algorithms for distributed memory multicomputer. Parallel Comput. 2008, 34, 427–440. [Google Scholar] [CrossRef]
- Evans, D. Alternating group explicit method for the diffusion equations. Appl. Math. Model. 1985, 9, 201–206. [Google Scholar] [CrossRef]
- Xu, Q.Y.; Liu, Z.Y. On the parallel implementation of several iterative algorithms for the 3D Poisson and Diffusion problems. 2020; in preparation. [Google Scholar]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).