1. Introduction
Mathematical models of partial differential equations are usually established for many problems in scientific and engineering fields. After discretization, the equations can be concluded as the solution of a large scale linear system of equations, which can be expressed as
where the coefficient matrix
A is nonsingular. The generalized minimal residual (GMRES(m)) algorithm based on the Galerkin principle is the most successful method to solve Equation (
1). At present, it has served as the fast solver for the Fast Multipole Boundary Element Method (FM-BEM). FM-BEM is a combination of the fast multipole expansion method (FMM) and the traditional boundary element method (BEM). FMM was first proposed by Greengard and Rokhlin [
1,
2] to accelerate the evaluation of interactions of large ensembles of particles governed by the Laplace’s equation. The main idea behind the FMM is a multipole expansion of the kernel in which the connection between the collocation point and the source point is separated. Many research works have been published since then to improve and extend the applicability of the FMM [
3,
4,
5,
6,
7]. Recently, Gu and Chen [
8,
9] applied the FMM to accelerate the solutions of the regularized meshless method (RMM) for large-scale three-dimensional elasticity problems and extended the singular boundary method (SBM) for the solution of 3D problems in linear elasticity. With the FMM and iterative solver GMRES(m), we are able to construct the FM-BEM. In the last several decades, the FM-BEM has been developed and used successfully for solving many large-scale applied mechanics problems. Shen and Liu put forward an adaptive fast multipole boundary element method for three-dimensional acoustic wave problems [
10]; Wang and Yao came up with a new version of FMM for the numerical analysis of mechanical properties in 3D particle reinforced composites [
11]; Gui and Huang presented an optimization FMM-BEM for a 3D Elastic Problem [
12] and more work on these topics can be found in References [
13,
14,
15]. In addition, the GMRES(m) algorithm has become the research focus in many fields [
16,
17,
18]. Recent computations showed that it was very effective when the coefficient matrix
A was well-conditioned or not severely ill-conditioned [
19,
20]. Otherwise preconditioned techniques must be applied [
21,
22,
23,
24].
For the GMRES(m) algorithm, the selected parameter
m is fixed during the whole iterative process; therefore, the selection of
m is one of the key factors for the algorithm implementation. Research shows that a small value of
m may result in slow convergence or no convergence, while a large value of
m will cause too much of a memory requirement. Therefore, it is a difficult problem for many scholars to properly select the parameters
m. Recently, some researchers have tried to overcome these difficulties by changing the restart parameter
m in the GMRES(m) algorithm. Baker tried to improve the convergence by selecting an arbitrary parameter
m. In addition, he tried it by determining the parameter
m according to the residual vector norm ratio of two successive iterations [
25,
26,
27]. However, the effect was not so good. Peairs determined the value of
m by a reinforcement learning method, which indicated that proper changing of
m could improve the computational efficiency. However, it was only a kind of machine learning method. Thus, it had certain limitations [
28].
In this paper, the GMRES(m) algorithm combined with the FM-BEM is studied, and a new kind of GMRES(m) algorithm with Variable Restart Parameter (VRP-GMRES(m) algorithm) is presented. By appropriately changing a variable restart parameter, the new algorithm can effectively avoid many disadvantages caused by improper selection of parameter m in the GMRES(m) algorithm. At the same time, the computational efficiency and accuracy will be greatly improved.
4. Numerical Experiments
In this section, three different types of numerical experiments are given to illustrate the validity and feasibility of the VRP-GMRES(m) algorithm. In Example (1) and Example (2), take as the initial value and as the convergence criterion.
Example 1. Consider the following one-dimensional Wave equation: As is shown in
Figure 1a, the exact solution is
, where
indicates the amplitude. For the problem expressed by Equation (
10),
n equall divisions along the
x-direction and
t-direction can be obtained by the central difference method.
Equation (
11) is solved by the VRP-GMRES(m) algorithm, and the numerical results are shown in
Figure 1b. From
Figure 1, the numerical solution is consistent with the exact solution.
Equation (
11) is solved by the GMRES(m) algorithm and VRP-GMRES(m) algorithm, respectively. When
, the condition number is 56.5079. For the GMRES(m) algorithm, iterative stagnation occurs after 9 iterations, and the residual norm is 1.4099. However, for the VRP-GMRES(m) algorithm, the residual norm has reduced to 1.4230 ×
after only 3 iterations, as is shown in
Figure 2. The comparison of absolute errors in the iterative process is shown in
Figure 2 and
Figure 3.
From
Figure 2 and
Figure 3, for the same number of iterations, we can see that the absolute errors generated from the VRP-GMRES(m) algorithm are much smaller than those from the GMRES(m) algorithm. With the increase in the number of iterations, the errors from the VRP-GMRES(m) algorithm reduces much faster. It shows that the new algorithm not only has higher computational accuracy, but can also speedily converge.
The parameters
n and
m are taken as different values and the calculation results from the two algorithms are compared.
Table 1,
Table 2,
Table 3 and
Table 4 show the iteration times, computation time, computational accuracy and convergence, respectively. From
Table 1,
Table 2 and
Table 3, we can see that the new algorithm is fast convergent, stable, highly accurate and effective. From
Table 1,
Table 2,
Table 3 and
Table 4, the selection of parameter
m is very important for the GMRES(m) algorithm, and larger or smaller value of
m will result in an algorithm failure. However, it has no effect on the VRP-GMRES(m) algorithm because the variable restart parameter
m can partly reduce the sensitivity of
m.
In fact, the condition number of coefficient matrix
A keeps growing with the increase of
n. When
, it reaches 2.1098
, which makes Equation (
11) become severely ill-conditioned. From
Table 1, under the same accuracy, the number of iterations for the GMRES(m) algorithm is 11.7 times larger than that for the VRP-GMRES(m) algorithm, and the computation time is 10.7 times larger. With the increase of computing scale, the VRP-GMRES(m) algorithm will be much more effective, and its engineering application prospect is much wider.
Example 2. Consider the following two-dimensional Poisson equation:where . The exact solution is
, which indicates a temperature distribution function. The temperature distribution is shown in
Figure 4a. For the problem expressed by Equation (
12),
n equal divisions along the
x-direction and
t-direction can be obtained by a five-point difference scheme. After discretization, a linear equation can be obtained, which is expressed as follows:
Take
, Equation (
13) is solved by the VRP-GMRES(m) algorithm , and the temperature distribution is shown in
Figure 4b. From
Figure 4, the numerical solution is consistent with the exact solution.
When
, Equation (
13) is solved by the GMRES(m) algorithm and VRP-GMRES(m) algorithm, respectively. With the increase of the computational scale, there are few changes in the iteration times for the VRP-GMRES(m) algorithm, and it is much lower than that for the GMRES(m) algorithm, as shown in
Figure 5a. Thus, the new algorithm has higher computational efficiency. At the same time, it has higher computational accuracy, as is shown in
Figure 5b. In addition, the total computation time for the VRP-GMRES(m) algorithm is much less than that for the GMRES(m) algorithm, as is shown in
Table 5.
Example 3. Consider an elastic body A, B, C (with sides of , , ) in contact with each other. The model and the discrete meshes are shown in Figure 6. The discrete data are shown in Table 6. Bodies A, B and C are of the same material with Young modulus , Poisson ratio , and the friction coefficient . For body C, a uniform load is applied tothe top surface. The total load is divided into six steps, and the contact tolerance is . In the example, the VRP-GMRES(m) algorithm is used as a fast solver for the FM-BEM, and some results are shown in
Figure 7, which are consistent with those obtained by the GMRES(m) algorithm. The iteration times by the GMRES(m) algorithm and VRP-GMRES(m) algorithm are shown in
Table 7. From
Table 7, we can see that there are few changes in the iteration times for the VRP-GMRES(m) algorithm. However, the relative error is quite small for the pressure of the same node, as is shown in
Figure 8.
From
Table 7 and
Figure 8 , the VRP-GMRES(m) algorithm is more rapidly and stably convergent than the GMRES(m) algorithm.