4.1 Introduction

The linear infiltration equations obtained by discretizing Richards’ equation need to be solved iteratively, including two approaches of linear and nonlinear iterations. The first method is to use numerical methods to directly numerically discretize Richards’ equations to obtain nonlinear ordinary differential equations and then use nonlinear iterative methods to iteratively solve, such as Newton’s method (Radu et al. 2006), Picard method (Lehmann and Ackerer 1998), and the L-method (List and Radu 2016). Among them, Paniconi and Putti (1994) found that Newton's method did not converge systematically, and sometimes the numerical results could be completely wrong. Casulli and Zanolli (2010) proposed a nested Newton method that can obtain quadratic convergence rates for arbitrary discrete time steps and all flow regimes. Brenner and Cancès (2017) introduced a new parameter to modify the Richards equation, which will be more robust when solving the equation using Newton's method. The Picard method can be considered as a simplified Newton method, which linearly converges. Since Newton’s method increases algebraic complexity and computational cost for assembling the derivative terms in the Jacobian matrix (Zeng et al. 2018), the modified Picard method (Celia et al. 1990) has been widely studied for h-based and mixed forms of Richards’ equation. However, since the coefficient matrix in each iteration needs to be re-evaluate in the Picard method, there is computationally expensive (Farthing and Ogden 2017). Some unfavorable numerical conditions such as water infiltration into dry and layered soils with very different hydraulic conductivities lead to numerical difficulties or even non-convergence in the conventional Picard method (Zha et al. 2017). Therefore, there has been increasing attention on the improvement of numerical discretization and computational efficiency of the Picard method (Celia et al. 1990; Zhu et al. 2020).

The second approach first needs to convert the Richards’ equation into a linearized partial differential equation (Wu et al. 2020a, b), and then numerical methods are utilized to perform numerical discretization to obtain a set of linear equations and solve them iteratively. The classical linear iterative methods can efficiently solve systems of linear equations, such as the classic Jacobi iterative method (Hagemam and Young 1981), Gauss–Seidel iterative method (GS), and successive overrelaxation method (SOR). The GS method is an improvement on the Jacobi method, which usually takes less computation time, but it still requires more iterations to obtain a numerical solution than the SOR method. The Chebyshev semi-iterative method (CSIM) can improve the iterative convergence rate by introducing Chebyshev polynomials (Arioli and Scott 2014), but the computational cost of CSIM in each iteration is lower than that of traditional GS. Additionally, the Krylov subspace iterative method is also a common iterative method for solving linear equations, such as the conjugate gradient method, the generalized minimum residual method (GMRES), and the modified bi-conjugate gradient method (Dehghan and Mohammadi-Arani 2016). Theoretical analysis indicated that Hermitian/skew-Hermitian splitting iterative approaches (HSS) absolutely converge to a unique solution to a system of linear equations (Bai et al. 2010). HSS is an efficient linear iterative method for solving sparse non-Hermitian positive-definite equations (Dehghan and Shirilord 2019). Although HSS can converge unconditionally, it is time-consuming and impractical in real-world computation. Therefore, Bai et al. (2004) proposed the inexact Hermitian/skew-Hermitian splitting iterative approaches (IHSS) combined with the Krylov subspace iterative method to improve computational efficiency. However, IHSS is still time-consuming to solve linear equations for finer mesh discretization. Due to some shortcomings of conventional iterative methods, it is of great significance to improve numerical stability, accuracy, and convergence rate (Lott et al. 2012; Deng and Wang 2017; Mitra and Pop 2019; Illiano et al. 2021; Su et al. 2022).

The improvement methods for common accelerated convergence include extrapolation, error correction, Chebyshev polynomial acceleration (Arioli and Scott 2014), and preconditioning technique (Benzi 2002). For example, Lott et al. (2012) studied the effectiveness of the improved Picard method by the Anderson acceleration method for the variable saturated flow problem. Arioli and Scott (2014) analyzed an improved iterative method of Chebyshev polynomials that can be applied to accelerate iterative optimization without losing numerical stability. Wang and Zhang (2003) proposed a class of parallel multi-step sequential preprocessing strategies, which can significantly improve the computational efficiency and stability of solving linear equations. Briggs et al. (2000) proposed a multi-grid correction method to quickly eliminate the iterative error in the iterative process, thereby obtaining a faster convergence rate. Recently, preconditioning methods can effectively reduce the condition number of the iterative matrix of linear equations, thereby improving the computational convergence rate (Benzi 2002; Zhu et al. 2022a, b, c), including the left preconditioning, right preconditioning, and two-side preconditioning (Liu et al. 2015). The preconditioning technique converts the original system of linear equations into a system that is easier to solve, thereby improving the convergence rate of the iterative process (Benzi 2002).

With the higher accuracy of the numerical solutions to solve the infiltration problem, the scale of the system of algebraic equations increases, and then the calculation time also increases. Therefore, the numerical methods and iterative methods are constantly improving and innovating. The research based on traditional methods and newly developed and new algorithms is of great significance for the cross-development of geotechnical engineering, geological engineering, and other majors. In this chapter, the Richards’ equation can be transformed into a linearized Richards’ equation using an exponential function. Furthermore, the numerical method is used to discretize the linear RE, and the linear and nonlinear iterative methods are employed to evaluate computational efficiency and accuracy using different iterative methods.

4.2 A Chebyshev Semi-iterative Method with Preconditioner

For the system of linear equations \({\mathbf{Ah = b}}\) obtained by numerically discreting Richards’ equation, the left preprocessing method is given by:

$${\mathbf{M}}^{ - 1} {\mathbf{Ah}} = {\mathbf{M}}^{ - 1} {\mathbf{b}}$$
(4.1)

Consequently, the condition number of \({\mathbf{M}}^{ - 1} {\mathbf{A}}\) is greatly reduced.

Let A be a non-singular matrix. Matrix A can be split into \({\mathbf{A}} = {\mathbf{D}} - {\mathbf{Q}}\), with D a non-singular matrix and is the diagonal matrix of matrix A. Then, if \({\mathbf{H}} = {\mathbf{D}}^{ - 1} {\mathbf{Q}}\) has spectral radius less than 1.0, one obtains:

$${\mathbf{A}}^{ - 1} = \left( {\sum\limits_{k = 0}^{\infty } {{\mathbf{H}}^{k} } } \right){\mathbf{D}}^{ - 1}$$
(4.2)

Matrix M is defined as:

$${\mathbf{M}} = {\mathbf{D}}\left( {{\mathbf{I}} + {\mathbf{H}} + \cdots + {\mathbf{H}}^{m - 1} } \right)^{ - 1}$$
(4.3)

where m is a natural number. Furthermore, matrix M is considered as a preconditioner to estimate the condition number of \({\mathbf{M}}^{ - 1} {\mathbf{A}}\). From Eq. (4.3) and \({\mathbf{A}} = {\mathbf{D}} - {\mathbf{Q}}\), one can obtain:

$${\mathbf{M}}^{ - 1} {\mathbf{A}} = \left( {{\mathbf{I}} + {\mathbf{H}} + \cdots + {\mathbf{H}}^{m - 1} } \right){\mathbf{D}}^{ - 1} \left( {{\mathbf{D}} - {\mathbf{Q}}} \right) = {\mathbf{I}} - {\mathbf{H}}^{m}$$
(4.4)

If \(\lambda_{1} , \ldots ,\lambda_{n}\) are the eigenvalue of matrix H, the eigenvalues of M are \(1 - \lambda_{i}^{m}\). If D and A are symmetric positive-definite matrices, then the eigenvalues of H are real. Assuming that \(\lambda_{1} \le \cdots \le \lambda_{n} < 1\), then one can have:

$${\text{cond}}\left( {{\mathbf{M}}^{ - 1} {\mathbf{A}}} \right) = \frac{{\lambda_{\max } \left( {{\mathbf{M}}^{ - 1} {\mathbf{A}}} \right)}}{{\lambda_{\min } \left( {{\mathbf{M}}^{ - 1} {\mathbf{A}}} \right)}} = \left\{ {\begin{array}{*{20}l} {\frac{{1 - \lambda_{1}^{m} }}{{1 - \lambda_{n}^{m} }},} & {{\text{if}}\,\lambda_{1} \ge 0\,\,{\text{or}}\,\,\lambda_{1} < 0,\,m\,{\text{is}}\,{\text{odd}},} \\ {\frac{{1 - \sigma^{m} }}{{1 - \lambda_{n}^{m} }},} & {{\text{if}}\,\lambda_{1} < 0,\,\left| {\lambda_{n} } \right| \ge \left| {\lambda_{1} } \right|,\,m\,{\text{is}}\,{\text{even}},} \\ {\frac{{1 - \sigma^{m} }}{{1 - \lambda_{1}^{m} }},} & {{\text{if}}\,\lambda_{1}< 0,\,\left| {\lambda_{1} } \right| > \left| {\lambda_{n} } \right|,\,m\,{\text{is}}\,{\text{even}},} \\ \end{array} } \right.$$
(4.5)

where \(\sigma = \mathop {\min }\nolimits_{i} \left| {\lambda_{i} } \right|\).

From Eq. (4.5), the condition number of matrix \({\mathbf{M}}^{ - 1} {\mathbf{A}}\) decreases with increasing m. Hence, the preprocessing can effectively decrease the condition number of this matrix and enhance the convergence rate.

Based on the Chebyshev polynomial acceleration process and the Gauss–Seidel iterative method of preconditioning, this chapter develops an improved preconditioning Chebyshev semi-iterative method (P-CSIM). First, the improved Gauss–Seidel iterative format using the preconditioning (Eq. 4.3) is written as:

$${\mathbf{h}}^{k + 1} = {\mathbf{G}}_{{\text{M}}} {\mathbf{h}}^{k} + {\mathbf{b}}_{{\text{M}}}$$
(4.6)

where \({\mathbf{G}}_{{\text{M}}}\) denotes an iterative matrix and \({\mathbf{s}}_{{\text{M}}}\) denotes a column matrix of preprocessing. Furthermore, the error vector for the general polynomial acceleration process of Eq. (4.6) is expressed as:

$$\varepsilon^{k} = Q_{k} \left( {{\mathbf{G}}_{{\text{M}}} } \right)\varepsilon^{0}$$
(4.7)

where \(Q_{k} \left( {{\mathbf{G}}_{{\text{M}}} } \right) \equiv a_{k,0} {\mathbf{I}} + a_{k,1} {\mathbf{G}}_{{\text{M}}} + \cdots + a_{k,k} {\mathbf{G}}_{{\text{M}}}^{k}\) is a matrix polynomial, and the only additional condition being \(\sum\nolimits_{i = 0}^{k} {a_{k,i} = 1}\). The virtual spectral radius of the matrix \(Q_{k} \left( {{\mathbf{G}}_{{\text{M}}} } \right)\) is then defined as:

$${\overline{\mathbf{S}}}\left( {Q_{k} \left( {{\mathbf{G}}_{{\text{M}}} } \right)} \right) = \mathop {\max }\limits_{{m({\mathbf{G}}_{{\text{M}}} ) \le x \le M({\mathbf{G}}_{{\text{M}}} )}} \left| {Q_{k} \left( x \right)} \right|$$
(4.8)

where \(M\left( {{\mathbf{G}}_{{\text{M}}} } \right)\) and \(m\left( {{\mathbf{G}}_{{\text{M}}} } \right)\) denote the algebraic maximum and minimum eigenvalues of \({\mathbf{G}}_{{\text{M}}}\), respectively.

It can be proved that the matrix polynomial \(Q_{k} \left( {{\mathbf{G}}_{{\text{M}}} } \right)\) that ensures \({\overline{\mathbf{S}}}\left( {Q_{k} \left( {{\mathbf{G}}_{{\text{M}}} } \right)} \right)\) reaches a minimum is unique and can be defined by a Chebyshev polynomial. Furthermore, it is needed to find the polynomial \(P_{k} \left( x \right)\), for which \(P_{k} \left( 1 \right) = 1\), and satisfies the following conditions (Theorem 4.2.1 of Hagemam and Young 1981):

$$\mathop {\max }\limits_{{m({\mathbf{G}}_{{\text{M}}} ) \le x \le M({\mathbf{G}}_{{\text{M}}} )}} \left| {P_{k} \left( x \right)} \right| \le \mathop {\max }\limits_{{m({\mathbf{G}}_{{\text{M}}} ) \le x \le M({\mathbf{G}}_{{\text{M}}} )}} \left| {Q_{k} \left( x \right)} \right|$$
(4.9)

where \(Q_{k} \left( x \right)\) satisfies \(Q_{k} \left( 1 \right) = 1\). Assume that the eigenvalues of \({\mathbf{G}}_{{\text{M}}}\) are real numbers, \(m\left( {{\mathbf{G}}_{{\text{M}}} } \right) = \alpha\), and \(M\left( {{\mathbf{G}}_{{\text{M}}} } \right) = \beta\). According to Theorem 2.2.1 of Hagemam and Young (1981, p. 21), let:

$$\alpha = \lambda_{1} \le \lambda_{2} \le \cdots \le \lambda_{n} = \beta < 1,\quad \alpha \ne \beta$$
(4.10)

To obtain \(P_{k} \left( x \right)\), a linear transformation is required as follows:

$$r = \frac{2x - \alpha - \beta }{{\beta - \alpha }}$$
(4.11)

Moreover, one can obtain:

$$\left\{ {\begin{array}{*{20}l} {r\left| {_{x = \alpha } = - \,1,\quad r\left| {_{x = \beta } = 1,} \right.} \right.} \\ {x = \frac{{\left( {\beta - \alpha } \right)r + \left( {\beta + \alpha } \right)}}{2},} \\ {Q_{k} \left( x \right) = Q_{k} \left( {\frac{{\left( {\beta - \alpha } \right)r + \left( {\beta + \alpha } \right)}}{2}} \right) = :P_{k} \left( r \right).} \\ \end{array} } \right.$$
(4.12)

A new parameter \(z^{*}\) is introduced as follows:

$$z^{*} = r\left| {_{x = 1} } \right. = \frac{2 - \alpha - \beta }{{\beta - \alpha }}$$
(4.13)

Note that \(z^{*} > 1\) and \(P_{k} \left( {z^{*} } \right) = Q_{k} \left( 1 \right) = 1\). Here, \(P_{k} \left( x \right)\) can be defined as:

$$P_{k} \left( x \right) \equiv T_{k} \left( r \right)/T_{k} \left( {z^{*} } \right)$$
(4.14)

Additionally, the kth Chebyshev polynomials on \(T_{k} \left( r \right)\) for any non-negative integer k and r can be defined by the following 3-term recurrence equation (Arioli and Scott 2014):

$$\left\{ {\begin{array}{*{20}l} {T_{0} \left( r \right) = 1,} & {T_{1} \left( r \right) = r,} \\ {T_{k + 1} \left( r \right) = 2rT_{k} \left( r \right) - T_{k - 1} \left( r \right),} & {k \ge 1.} \\ \end{array} } \right.$$
(4.15)

Using Theorem 4.2.1 (Hagemam and Young 1981), it is easy to prove that polynomials \(P_{k} \left( x \right)\) satisfy the recurrence relation. Therefore, according to Eqs. (4.6), (4.14), and (4.15) and Theorem 3.2.1 (Hagemam and Young 1981, p. 41), the 3-term recurrence equations for the P-CSIM are written as:

$$\left\{ {\begin{array}{*{20}l} {{\mathbf{h}}^{1} = \overline{\gamma }\left( {{\mathbf{G}}_{{\text{M}}} {\mathbf{h}}^{0} + {\mathbf{b}}_{{\text{M}}} } \right) + \left( {1 - \overline{\gamma }} \right){\mathbf{h}}^{0} {,}} \\ {{\mathbf{h}}^{k + 1} = \overline{\rho }_{k + 1} \left[ {\overline{\gamma }\left( {{\mathbf{G}}_{{\text{M}}} {\mathbf{h}}^{k} + {\mathbf{b}}_{{\text{M}}} } \right) + \left( {1 - \overline{\gamma }} \right){\mathbf{h}}^{k} } \right] + \left( {1 - \overline{\rho }_{k + 1} } \right){\mathbf{h}}^{k - 1} \,k \ge {1,}} \\ \end{array} } \right.$$
(4.16)

in which

$$\overline{\gamma } = \frac{2}{2 - \beta - \alpha }$$
(4.17)
$$\overline{\rho }_{k + 1} = \frac{{2r\left( 1 \right)T_{k} \left( {r\left( 1 \right)} \right)}}{{T_{k + 1} \left( {r\left( 1 \right)} \right)}}$$
(4.18)

Equation (4.16) can be further expressed as:

$$\left\{ {\begin{array}{*{20}l} {{\mathbf{h}}^{1} = \frac{2}{2 - \beta - \alpha }\left( {{\mathbf{G}}_{{\text{M}}} {\mathbf{h}}^{0} + {\mathbf{b}}_{{\text{M}}} } \right) - \frac{\alpha + \beta }{{2 - \beta - \alpha }}{\mathbf{h}}^{0} {,}} \\ {{\mathbf{h}}^{k + 1} = 2\frac{{2{\mathbf{G}}_{{\text{M}}} - \left( {\alpha + \beta } \right){\mathbf{I}}}}{\beta - \alpha }\frac{{T_{k} \left( {z^{*} } \right)}}{{T_{k + 1} \left( {z^{*} } \right)}}{\mathbf{h}}^{k} - \frac{{T_{k - 1} \left( {z^{*} } \right)}}{{T_{k + 1} \left( {z^{*} } \right)}}{\mathbf{h}}^{k - 1} + \frac{{4{\mathbf{b}}_{{\text{M}}} }}{\beta - \alpha }\frac{{T_{k} \left( {z^{*} } \right)}}{{T_{k + 1} \left( {z^{*} } \right)}}\quad k \ge 1,} \\ \end{array} } \right.$$
(4.19)

where \(T_{k} \left( {z^{*} } \right)\) is recursively calculated using Eq. (4.15); here, \({\mathbf{I}}\) is an identity matrix.

From Eq. (4.19), the convergence rate of P-CSIM mainly depends on the accuracy in estimating the maximum and minimum eigenvalues \(\beta\) and \(\alpha\) of the iterative matrix \({\mathbf{G}}_{{\text{M}}}\). This chapter assumes \(0 < - \alpha = \beta < 1\) based on the basic assumptions of Hagemam and Young (1981). By the above processing, the proposed P-CSIM achieves a better convergence and computational efficiency in solving the linear algebraic equations.

A brief implementation flowchart of P-CSIM is described in Fig. 4.1 (Zhu et al. 2020). To compare the speed-up of the improved method, the speed-up ratio is defined as:

$$S_{{{\text{GS}}/{\text{P}}}} = \frac{{T_{{{\text{GS}}}} }}{{T_{{\text{P-CSIM}}} }}$$
(4.20)
Fig. 4.1
A flowchart of P-C S I M. The R E is discretized using F D M, followed by the system of linear equations preprocessed with calculating beta, alpha and 3-term recurrence, recursive calculation, if the decision tree concludes yes, solution vector is obtained goes to the initial vector at next time level.

Brief flowchart of P-CSIM

where \(T_{{{\text{GSIM}}}}\) and \(T_{{\text{P-CSIM}}}\) represent the computing times for GSIM and P-CSIM.

4.2.1 Numerical Tests

The mathematical model, boundary conditions, and unsaturated soil parameters of the numerical tests are consistent with Chap. 3, and the analytical solutions are expressed as Eqs. (2.3)–(2.5). The total duration of the simulation was 5 h, and the convergence criterion was set to 10−8 for the different iteration schemes. In preprocessing, the expansion order m is set to 20. To verify the accuracy, efficiency, and robustness of the proposed method, the time steps were set to 0.01 h, 0.005 h, 0.002 h, and 0.001 h, respectively, and the grid sizes were set to 0.4 m, 0.2 m, and 0.1 m.

Figure 4.2 demonstrates the relationship between expansion order m and the condition number for different time steps in this test. The condition number of coefficient matrix A increases with the time step. However, the condition number can be decreased to 1.0 through the preprocessing method. Additionally, Fig. 4.2a–d indicates that the condition number is close to 1.0 when m = 6, indicating that preprocessing effectively improves the ill-conditioning of the matrix.

Fig. 4.2
4 line graphs, a to d, of the condition number at different time steps versus parameter m illustrate plots for delta t = 0.01, 0.005, 0.002, and 0.001 hours. All the graphs have a decreasing trend and remain constant.

Relationship between parameter m and condition number at different time steps

Table 4.1 sums up the iterations, the computing time obtained from the different iterative schemes with different grid sizes, and the time steps in this test. Compared with other methods, the improved P-CSIM has the lowest iterations and the least computational cost at different time steps and grid sizes. When \(\Delta z = 0.1\), the iterations of the P-CSIM are much smaller than that of other methods (Fig. 4.3a). Moreover, the speed-up ratio of P-CSIM relative to the other three methods at \(\Delta t = 0.005\) (Fig. 4.3b) shows that it is the largest with JIM, CSIM, and GSIM following in sequence. This result also demonstrates that the proposed P-CSIM represents a vast improvement over CSIM.

Table 4.1 Numerical results of different iterative methods (Zhu et al. 2020)
Fig. 4.3
2 graphs. A. Line graph plots iterations versus iterative methods at t equal 0.005 h with different grid sizes as 0.4, 0.2, and 0.1. The graph has a decreasing trend. B. Line graph plots speed-up ratio versus delta z over m at t equal 0.005 h. All lines have an increasing trend followed by constant.

Numerical results of different iterative methods at t = 0.005 h: a iterations and b speed-up ratio

RMSE reaches an order of 10−5 at t = 5 h (Fig. 4.4) and decreases with decreasing grid size for different iterative methods. Moreover, the accuracy of the proposed P-CSIM shows a slight improvement compared with that of GSIM and CSIM.

Fig. 4.4
A grouped bar graph plots root mean squared error versus different grid sizes at t equals 0.001 h for the different iterative methods as G S I M, C S I M, and P-C S I M. All three iterative methods are highest for grid size 0.4, and smaller for 0.1.

Root mean squared error (RMSE) associated with several grid sizes at t = 5 h for the different iterative methods

The results illustrate that the improved P-CSIM has better computational efficiency, stability, and accuracy than the other three iterative methods.

4.3 Improved Gauss–Seidel Method

When the first-order linear stationary iterative methods (Eq. 4.6) or other iterative schemes to solve linear equations are used, the iterative process may or may not converge. Even if it does, it may converge very slowly. In either condition, this chapter hopes to find an improved method to make non-convergent formats converge, and slow-convergent formats converge faster. The commonly used acceleration methods include extrapolation method, integral correction method, Chebyshev polynomial acceleration method, and preconditioning method.

4.3.1 Integral Correction Method

The integral correction method is similar to Anderson acceleration method (Walker and Ni 2011; Both et al. 2018). Firstly, the mutually different approximate solutions \({\mathbf{h}}_{1}\), \({\mathbf{h}}_{2}\), … \({\mathbf{h}}_{c}\) (c > 1) can be obtained according to the basic iterative method, and \({\mathbf{Ah}}_{i} \ne {\mathbf{b}}\) (i = 1, 2, …, c). Then the information provided by \({\mathbf{h}}_{i}\) can be used to construct the vector \({\mathbf{h}}\) so that it is closer to the exact solution of the linear equations than \({\mathbf{h}}_{i}\), that is, there is:

$$\left\| {{\mathbf{b}} - {\mathbf{Ah}}} \right\|_{2} < \mathop {\min }\limits_{1 \le i \le c} \left\| {{\mathbf{b}} - {\mathbf{Ah}}_{i} } \right\|_{2}$$
(4.21)

The vector \({\mathbf{h}}\) that satisfies Eq. (4.21) is the correction solution of the linear equations with respect to \({\mathbf{h}}_{1}\), \({\mathbf{h}}_{2}\), … \({\mathbf{h}}_{c}\). The process of determining \({\mathbf{h}}\) is the correction process, then the integral correction model can be expressed as:

$$\left\{ {\begin{array}{*{20}l} {{\mathbf{h}} = \sum\limits_{i = 1}^{c} {\beta_{i} {\mathbf{h}}_{i} } ,\quad \sum\limits_{i = 1}^{c} {\beta_{i} = 1,} } \\ {\left\| {{\mathbf{b}} - {\mathbf{Ah}}} \right\|_{2} = \min } \\ \end{array} } \right.$$
(4.22)

Select arbitrarily \(s \in \left\{ {1,2, \ldots ,c} \right\}\), then

$$\begin{gathered} {\mathbf{h}} = {\mathbf{h}}_{s} + \sum\limits_{i \ne s} {\beta_{i} \left( {{\mathbf{h}}_{i} - {\mathbf{h}}_{s} } \right),} \hfill \\ {\mathbf{r}}\left( {\mathbf{h}} \right) = {\mathbf{b}} - {\mathbf{Ah}} = \left( {{\mathbf{b}} - {\mathbf{Ah}}_{s} } \right) - \sum\limits_{i \ne s} {\beta_{i} \left( {{\mathbf{Ah}}_{i} - {\mathbf{Ah}}_{s} } \right)} = {\mathbf{r}}_{s} + \sum\limits_{i \ne s} {\beta_{i} \left( {{\mathbf{r}}_{i} - {\mathbf{r}}_{s} } \right)} \hfill \\ \end{gathered}$$
(4.23)

Denote

$$\begin{gathered} {{\varvec{\updelta}}}_{i} = {\mathbf{r}}_{i} - {\mathbf{r}}_{s} ,\quad {\mathbf{Q}}_{s} = \left[ {{{\varvec{\updelta}}}_{1} , \ldots ,{{\varvec{\updelta}}}_{s - 1} ,{{\varvec{\updelta}}}_{s + 1} , \ldots ,{{\varvec{\updelta}}}_{c} } \right], \hfill \\ {\mathbf{y}}_{s} = \left( {\beta_{1} , \ldots ,\beta_{s - 1} ,\beta_{s + 1} , \ldots ,\beta_{c} } \right)^{{\text{T}}} \hfill \\ \end{gathered}$$

Therefore, Eq. (4.23) can be rewritten as \({\mathbf{r}}\left( {\mathbf{h}} \right) = {\mathbf{r}}_{s} + {\mathbf{Q}}_{s} {\mathbf{y}}_{s}\), so that,

$${\mathbf{h}} = \sum\limits_{i = 1}^{c} {\beta_{i} {\mathbf{h}}_{i} } = \beta_{1} {\mathbf{h}}_{1} + \beta_{2} {\mathbf{h}}_{2} + \cdots + \beta_{c} {\mathbf{h}}_{c}$$
(4.24)

makes \(\left\| {{\mathbf{r}}\left( {\mathbf{h}} \right)} \right\|_{2} = \min\), which is equivalent to \({\mathbf{y}}_{s} \in {\mathbb{C}}^{c - 1}\) makes \(\left\| {{\mathbf{r}}_{s} + {\mathbf{Q}}_{s} {\mathbf{y}}_{s} } \right\|_{2} = \min\), and its minimal norm solution can be expressed as:

$${\mathbf{y}}_{s} = - {\mathbf{Q}}_{s}^{\dag } {\mathbf{r}}_{s}$$
(4.25)

where \({\mathbf{Q}}_{s}^{\dag }\) is the generalized inverse matrix of \({\mathbf{Q}}_{s}\). The parameter \(\beta_{s}\) can be obtained by \(\beta_{s} = 1 - \sum\nolimits_{i \ne s} {\beta_{i} }\), and then the correction solution \({\mathbf{h}}\) can be determined using Eq. (4.24). In particular, for c = 2, one can gain:

$$\left\{ {\begin{array}{*{20}l} {\beta_{1} = y_{2} = - {\mathbf{Q}}_{2}^{\dag } {\mathbf{r}}_{2} = - {{\varvec{\updelta}}}_{1}^{\dag } {\mathbf{r}}_{2} = - \frac{{\left( {{\mathbf{r}}_{1} - {\mathbf{r}}_{2} } \right)^{H} {\mathbf{r}}_{2} }}{{\left\| {{\mathbf{r}}_{1} - {\mathbf{r}}_{2} } \right\|_{2}^{2} }}} \\ {\beta_{2} = 1 - \beta_{1} = \frac{{\left( {{\mathbf{r}}_{1} - {\mathbf{r}}_{2} } \right)^{H} {\mathbf{r}}_{1} }}{{\left\| {{\mathbf{r}}_{1} - {\mathbf{r}}_{2} } \right\|_{2}^{2} }}} \\ \end{array} } \right.\quad \left( {s = 2} \right)$$
(4.26)
$$\left\{ {\begin{array}{*{20}l} {\beta_{2} = y_{1} = - {\mathbf{Q}}_{1}^{\dag } {\mathbf{r}}_{1} = - {{\varvec{\updelta}}}_{2}^{\dag } {\mathbf{r}}_{1} = - \frac{{\left( {{\mathbf{r}}_{2} - {\mathbf{r}}_{1} } \right)^{H} {\mathbf{r}}_{1} }}{{\left\| {{\mathbf{r}}_{2} - {\mathbf{r}}_{1} } \right\|_{2}^{2} }}} \\ {\beta_{1} = 1 - \beta_{2} = \frac{{\left( {{\mathbf{r}}_{2} - {\mathbf{r}}_{1} } \right)^{H} {\mathbf{r}}_{2} }}{{\left\| {{\mathbf{r}}_{2} - {\mathbf{r}}_{1} } \right\|_{2}^{2} }}} \\ \end{array} } \right.\quad \left( {s = 1} \right)$$
(4.27)

It can be seen that the results of Eqs. (4.26) and (4.27) are consistent. Therefore, the improved Gauss–Seidel iterative method (IC(c)-GS) based on the integral correction method can be summarized as follows:

  1. (1)

    Input the matrix \({\mathbf{A}}\), the right vector \({\mathbf{b}}\), the initial vector \({\mathbf{h}}_{0}^{*}\), the integer c, and s = c, and let k = 1.

  2. (2)

    Calculate \({\mathbf{h}}_{i}^{*k}\) using Gauss–Seidel iterative method, i = 1, 2, …, c.

  3. (3)

    Calculate \({\mathbf{y}}_{s}^{k}\) and \(\beta_{s}^{k}\) by Eq. (4.25).

  4. (4)

    Calculate \({\mathbf{h}}^{*k}\) = \(\beta_{1}^{k} {\mathbf{h}}_{1}^{*k} + \beta_{2}^{k} {\mathbf{h}}_{2}^{*k} + \cdots + \beta_{c}^{k} {\mathbf{h}}_{c}^{*k}\).

  5. (5)

    If the accuracy meets the requirements, the calculation stops and \({\mathbf{h}}^{*k}\) is output as the approximate solution of the linear equations. Otherwise, let k = k + 1 and return to step (2) to continue the next iteration.

4.3.2 Multistep Preconditioner Method

For a given system of linear equations, \({\mathbf{Ah}}^{*} = {\mathbf{b}}\), the condition number may be used to evaluate whether a given non-singular matrix \({\mathbf{A}}\) is ill-conditioned. The condition number for a non-singular matrix \({\mathbf{A}}\) can be defined as:

$${\text{Cond}}({\mathbf{A}}) = \left\| {\mathbf{A}} \right\| \cdot \left\| {\mathbf{A}} \right\|^{ - 1}$$
(4.28)

where the matrix norm is the Frobenius norm.

The preconditioning method can be an acceleration technique for the iterative solution of the system of linear equations. It can greatly improve the ill-condition of the original system of linear equations, thereby accelerating the convergence rate of the iterative method (Benzi 2002). The preconditioning process is usually to find the matrix \({\mathbf{M}}\) (preconditioner) for the linear equations \({\mathbf{Ah}}^{*} = {\mathbf{b}}\). There are many choices and forms of \({\mathbf{M}}\). The preconditioning on the left for \({\mathbf{Ah}}^{*} = {\mathbf{b}}\) can be written as:

$${\mathbf{M}}^{ - 1} {\mathbf{Ah}}^{*} = {\mathbf{M}}^{ - 1} {\mathbf{b}}$$
(4.29)

\({\mathbf{Ah}}^{*} = {\mathbf{b}}\) is preconditioned from the right:

$${\mathbf{AM}}^{ - 1} {\mathbf{y}} = {\mathbf{b}},\quad {\mathbf{h}}^{*} = {\mathbf{M}}^{ - 1} {\mathbf{y}}$$
(4.30)

The preconditioning on both sides of \({\mathbf{Ah}}^{*} = {\mathbf{b}}\) is:

$${\mathbf{M}}_{1}^{ - 1} {\mathbf{AM}}_{2}^{ - 1} {\mathbf{z}} = {\mathbf{M}}_{1}^{ - 1} {\mathbf{b}},\quad {\mathbf{h}}^{*} = {\mathbf{M}}_{2}^{ - 1} {\mathbf{z}},\quad {\mathbf{M}} = {\mathbf{M}}_{1} {\mathbf{M}}_{2}$$
(4.31)

Based on the preconditioner increasing the complexity of the iterative method, here the preconditioner should be simple to construct and greatly improve the convergence rate of the iterative method. Therefore, the left preconditioning (Eq. 4.29) is adopted in this chapter. A symmetric Gauss–Seidel (SGS) preconditioner is written as:

$${\mathbf{M}}_{{{\text{SGS}}}} = \left( {{\mathbf{D}} - {\mathbf{L}}} \right){\mathbf{D}}^{ - 1} \left( {{\mathbf{D}} - {\mathbf{U}}} \right)$$
(4.32)

It is easy to know that combining the split matrix of the GS can quickly construct the preconditioner (Eq. 4.32). This preconditioning technique has almost no construction cost and is easy to implement. However, the result of one-step preconditioning is sometimes not good enough. Furthermore, a multistep SGS preconditioner is proposed to further obtain a sufficiently good and easier-to-solve system of the linear equations:

$$\prod\limits_{i = 1}^{m} {{\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i} } {\mathbf{Ah}}^{*} = \prod\limits_{i = 1}^{m} {{\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i} } {\mathbf{b}}$$
(4.33)

where m represents the number of steps of the multistep preconditioner. Generally, a multistep preconditioner with a small number of steps that can lead to good convergence results in the iterative method, and a multistep preconditioner with a large number of steps may be more robust, but it may also cause higher computational cost of the iterative method. The empirical number of steps should be 2, 3, or 4, which can provide the preconditioning iterative method with good convergence rate. The Gauss–Seidel iterative method with multistep preconditioner (MP(m)-GS) can be summarized as follows:

  1. (1)

    Give the matrix \({\mathbf{A}}\), the right vector \({\mathbf{b}}\), the initial vector \({\mathbf{h}}_{0}^{*}\), the filter parameter \(\tau\), and the number of steps m, and let \({\mathbf{A}}_{1} = {\mathbf{A}}\), k = 1.

  2. (2)

    Circularly calculate \({\mathbf{A}}_{i + 1}\):

    For (i = 1; \(i \le m\); i++).

    Compute an SGS preconditioner \({\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i}\) using \({\mathbf{A}}_{i}\).

    Drop the small entries in the matrix \({\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i}\) relative to the parameter \(\tau\).

    Compute \({\mathbf{A}}_{i + 1} = {\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i} {\mathbf{A}}_{i}\).

    End the cycle.

  3. (3)

    \(\prod\nolimits_{i = 1}^{m} {{\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i} }\) is used as a preconditioner to perform left preconditioning on \({\mathbf{Ah}}^{*} = {\mathbf{b}}\).

  4. (4)

    The GS is used to solve the preconditioned linear equations (Eq. 4.33).

  5. (5)

    If the accuracy is satisfied, the calculation stops and \({\mathbf{h}}^{*k}\) is output as the approximate solution of the linear equations. Otherwise, let k = k + 1 and return to step (3) to continue the next iteration.

The parameter \(\tau\) can ensure the sparsity of the preconditioning matrix, thereby reducing the computational cost of the preconditioning process (Wang and Zhang 2003). In this chapter, the parameter \(\tau\) is uniformly set to 10−4. It can be easily found that when m = 0, MP(m)-GS completely degenerates to GS.

4.3.3 Mixed Method

The integral correction method utilizes the solution vector error correction to make the iterative method obtain a faster convergence rate, while the multistep preconditioning method preprocesses the original system of linear equations into a more easily solved system of linear equations, making the subsequent iterative method more efficient. The two methods are different. Therefore, the two methods are combined to propose an improved Gauss–Seidel iterative method (ICMP(m)-GS) with multistep preconditioner based on the integral correction method. The method is summarized as follows:

  1. (1)

    Give the matrix \({\mathbf{A}}\), the right vector \({\mathbf{b}}\), the initial vector \({\mathbf{h}}_{0}^{*}\), the integer c, the filter parameter \(\tau\), and the number of steps m, and let k = 1.

  2. (2)

    Calculate \({\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i}\) (i = 1, 2, …, m) cyclically, and drop the small entries in the matrix \({\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i}\) relative to the parameter \(\tau\).

  3. (3)

    \(\prod\nolimits_{i = 1}^{m} {{\mathbf{M}}_{{{\text{SGS}}}}^{ - 1} \,^{i} }\) is used as a preconditioner to perform left preconditioning on \({\mathbf{Ah}}^{*} = {\mathbf{b}}\), and GS is used to calculate \({\mathbf{h}}_{i}^{*k}\) (i = 1, 2, …, c).

  4. (4)

    Calculate \({\mathbf{y}}_{s}^{k}\) and \(\beta_{s}^{k}\) according to Eq. (4.25), and calculate \({\mathbf{h}}^{*k}\) = \(\beta_{1}^{k} {\mathbf{h}}_{1}^{*k} + \beta_{2}^{k} {\mathbf{h}}_{2}^{*k} + \cdots + \beta_{c}^{k} {\mathbf{h}}_{c}^{*k}\).

  5. (5)

    If \({\mathbf{h}}^{*k}\) converges according to the convergence criterion, then stop; otherwise, go to step (3).

To verify the calculation efficiency, the speed-up ratio is defined as:

$$S_{{{\text{GS}}/{\text{MP}}(m){\text{-GS}}}} = \frac{{T_{{{\text{GS}}}} }}{{T_{{{\text{MP}}(m){\text{-GS}}}} }}$$
(4.34)

where \(T_{{{\text{GS}}}}\) and \(T_{{{\text{MP}}(m){\text{-GS}}}}\) are the runtimes of GS and MP(m)-GS, respectively.

4.3.4 Numerical Tests

4.3.4.1 1D Steady-State Unsaturated Infiltration

The mathematical model is shown in Fig. 1.1. The model parameters are: \(\alpha\) = 8 × 10−3, θs = 0.35, θr = 0.14, and hd = − 103 m. For the integral correction method, to test the influence of the parameter c on the improved iterative method, c is set to 2, 5, 10, and 20. For the multistep preconditioning method, m is 1, 2, 3, and 4 to verify the effectiveness of the algorithm. In Fig. 4.5, the change in the space step \(\Delta z\) has a small impact on the acceleration effect of the IC(c)-GS iterative method, while the change of the parameter c has a greater impact on it. When the parameter c is less than 10, the speed-up ratio of IC(c)-GS relative to the GS is relatively small. And when \(c \ge 10\), the speed-up ratio increases greatly. It can be found that the acceleration effects of c = 10 and c = 20 are roughly similar. Therefore, the parameter c of the IC(c)-GS is set to 10 in this chapter. In Fig. 4.6, the convergence rate of the Jacobi is the slowest, followed by the GS, and the SOR is faster than the Jacobi and GS. It is easy to obtain that when \(c \ge 10\), the convergence rate of IC(c)-GS is faster than SOR. When m = 3 and 4, the convergence rate of MP(m)-GS is also faster than SOR. For the proposed mixed method ICMP(m)-GS, it can be found from the enlarged convergence graph that its convergence rate is faster than SOR, IC(c)-GS, and MP(m)-GS, regardless of the value of m, and increases with the increase of m.

Fig. 4.5
A grouped bar graph plots the speed-up ratio versus I C of c - G S iterative methods relative to G S under different parameters c. The grid size of 0.05 is highest for a G S slash I C of 10 - G S and the grid size of 0.025 and 0.0125 are highest for G S slash I C of 20 - G S.

Comparison of the speed-up ratio of IC(c)-GS relative to GS under different parameter c

Fig. 4.6
A graph of relative error versus iterations. The convergence rate of the Jacobi is the slowest followed by the G S, and the S O R is the faster. The convergence rate of M P of 3 - G S, I C of 20 - G S, and I C of 10 - G S is faster than S O R.

Comparison of convergence rates for the different iterative methods

In Fig. 4.7, the speed-up ratio of MP(m)-GS and ICMP(m)-GS relative to GS is very large when \(\Delta z\) = 0.025 m, and the acceleration effect is much better than IC(c)-GS. The acceleration effect of ICMP(m)-GS is better than MP(m)-GS. Additionally, the speed-up ratio of ICMP(m)-GS relative to GS increases slowly when the parameter m is 3 and 4, which is related to the increase of the convergence rate. In other words, the improved method ICMP(m)-GS increases the computational complexity and cost as increasing m, but the number of iterations does not greatly decrease. The numerical results are listed in Table 4.2. The number of iterations and running time of GS and ICMP(3)-GS increase as \(\Delta z\) decreases, but the number of iterations of ICMP(3)-GS is much smaller than that of GS, and the difference is about 10,000 times. The running time of ICMP(3)-GS is much shorter than that of GS, and the difference is about 100 times.

Fig. 4.7
A grouped bar graph of speed-up ratio versus parameter with iterative methods I C M P of m - G S and I C M P of m - G S for grid size equals 0.025 m. I C M P of m - G S has a higher bar for parameter 3, and M P of m - G S has a higher bar for 4, while parameter m equals 1 has lower bars for both.

Effect of parameter m on the improved iterative methods MP(m)-GS and ICMP(m)-GS for Δz = 0.025 m

Table 4.2 Numerical solutions of steady-state infiltration

4.3.4.2 1D Transient Unsaturated Infiltration

The boundary conditions can be written as follows:

$$h\left( {z = 0} \right) = h_{{\text{d}}}$$
(4.35)
$$h\left( {z = 10} \right) = 0$$
(4.36)

The parameters are set to: \(\alpha\) = 1 × 10−4, θs = 0.50, θr = 0.11, and the saturated permeability coefficient ks = 2.5 × 10−8 m/s. The total simulation time is 10 h. To verify the calculation efficiency of the proposed method, the space step is taken as 0.05 m, 0.025 m, and 0.0125 m, and the time step is 0.2 h, 0.1 h, and 0.05 h, respectively.

Figure 4.8 shows the changes in the condition number of the coefficient matrix A with and without the algorithm MP(m) under different numerical discrete conditions. The condition number of the coefficient matrix increases with the decrease of the space step and decreases with the decrease of the time step. When the preconditioning method is not used, the condition number reaches in the order of 104. However, the condition number can be greatly reduced using the algorithm MP(m) and decrease with the increase of the parameter m. Particularly after using algorithm MP(4), the condition number even approaches 1.0, which indicates that the multistep preconditioning process can effectively improve the ill-condition of the system of the linear equations.

Fig. 4.8
2 multi-line graphs of the condition number versus time step using the M P 1, M P 2, M P 3, M P 4, and without using the M P at different grid sizes at 0.05 and 0.025. Both graphs have a gradually decreasing trend.

Condition number with and without the MP algorithm for different conditions a \(\Delta z = 0.05\) m and b \(\Delta z = 0.025\) m

Tables 4.3 and 4.4 list the average number of iterations and running time of the conventional iterative methods GS and SOR and the improved method ICMP(m)-GS. First of all, it can be seen that the performance of SOR is better than that of GS. However, the number of iterations of SOR is not stable under a smaller space step. Compared with GS and SOR, the number of iterations and running time of the improved ICMP(m)-GS is less than that of the conventional method. The number of iterations increases with the decrease of \(\Delta z\) and decreases with the decrease of \(\Delta t\). The running time increases as \(\Delta z\) and \(\Delta t\) decrease. At the same time, the performance of ICMP(m)-GS with m = 3 and 4 is much better than that of GS and SOR, and it has a very significant acceleration effect. Besides, the acceleration effect of the improved method ICMP(m)-GS also has certain rules under different grid sizes. In Fig. 4.9, with the decrease of the space step \(\Delta z\) and the increase of the time step \(\Delta t\), the speed-up ratio of ICMP(3)-GS relative to GS has a tendency to increase. In Fig. 4.10, the transient numerical solutions obtained by the ICMP(m)-GS method are also very consistent with the analytical solutions. This result further verifies that the proposed method has a faster convergence rate and a higher acceleration effect than the conventional methods.

Table 4.3 Number of iterations for solving steady-state infiltration
Table 4.4 Running time for solving steady-state infiltration
Fig. 4.9
A grouped bar graph of speed-up ratio of G S slash I C M P of 3 - G S versus space step at t = 0.2, 0.1, and 0.05 hours. The graph has an increasing trend. The decrease of the space step and increase in the time step, the speed-up ratio has a tendency to increase.

Comparison of the speed-up ratios of ICMP(3)-GS relative to GS under different grid sizes

Fig. 4.10
A line graph of space step versus pressure head with analytical and numerical solutions at t = 2, 4, 6, 8, and 10 hours. The plots begin at (minus 10, 0), and end at (0, 10). The graph has an increasing trend.

Comparison of the numerical solutions obtained using ICMP(m)-GS with analytical solutions

4.3.4.3 2D Transient Unsaturated Infiltration

The geometry and boundary conditions for this example are illustrated in Fig. 2.2, where L = 1 m and W = 1 m. The soil was assumed to be silt. The parameters of soil were described by Liu et al. (2015) and included θs = 0.35, θr = 0.14, \(\alpha\) = 8 × 10−3, and ks = 9 × 10−4 m/h. The boundary conditions are as follows:

$$h\left( {0,z,t} \right) = h_{{\text{d}}}$$
(4.37)
$$h\left( {W,z,t} \right) = h_{{\text{d}}}$$
(4.38)
$$h\left( {x,0,t} \right) = h_{{\text{d}}}$$
(4.39)
$$h\left( {x,L,t} \right) = \ln \left( {\left( {1 - {\text{e}}^{{\alpha h_{{\text{d}}} }} } \right)\sin \left( {\frac{\pi x}{W}} \right) + {\text{e}}^{{\alpha h_{{\text{d}}} }} } \right)/\alpha$$
(4.40)

The total simulation time and time step are set to 5 h and 0.1 h, respectively. The pressure profile computed using ICMP(m)-GS at t = 5 h is presented in Fig. 4.11, which is consistent with the analytical solution of this issue.

Fig. 4.11
A graph of z of m versus x of m plots numerical solutions and analytical obtained using I C M P of m - G S at t equals 5 h. The curves follow a semi-circle trend.

Numerical solutions obtained using ICMP(m)-GS for 2D transient infiltration problem at 5 h

In Fig. 4.12, the condition number of the coefficient matrix can be greatly reduced using the proposed algorithm MP(m) and decreases with the increase of m. Figure 4.13a demonstrates the number of iterations of ICMP(m)-GS and GS. The number of iterations of ICMP(m)-GS is much smaller than that of the GS and decreases as m decreases. For \(m > 2\), the number of iterations decreases slowly. Figure 4.13b indicates that the running time of ICMP(m)-GS is less than that of the GS, and the difference between the running time of GS and ICMP(3)-GS is about 10 times. Additionally, it can be found that when \(\Delta x\), \(\Delta z\) = 0.025 m, the running time of ICMP(3)-GS is slightly shorter than that of ICMP(4)-GS. This is because when m = 3, the condition number of the coefficient matrix has been greatly reduced (Fig. 4.12). Thus increasing m cannot improve the computation efficiency. This result further demonstrates that the proposed method ICMP(m)-GS can achieve a significant acceleration compared to the GS, particularly at a smaller grid size.

Fig. 4.12
A line graph plots the condition number and the algorithm M P m for different grid sizes. The condition number decreases with the increases in the number of parameters m. The graph has a decreasing trend.

Relationship between the condition number and the parameter m for different grid sizes

Fig. 4.13
A grouped bar graph plots the number of iterations and running time versus the iterative method of different grid sizes. The number of iterations of the G S is greater than the I C M P of m - G S 1 to 4 in both graphs.

Numerical results for this test: a number of iterations and b running time

4.4 Nonlinear Iterative Methods and Improvements

4.4.1 Newton and Picard Methods

In Fig. 4.14, the Richards’ equation needs to be modified to satisfy rainfall infiltration into unsaturated soil slopes (Iverson 2000):

$$\frac{\partial }{\partial z}\left[ {K\left( h \right)\left( {\frac{\partial h}{{\partial z}} + \cos \beta } \right)} \right] = \frac{\partial \theta }{{\partial t}}$$
(4.41)
Fig. 4.14
An illustration of the rainfall infiltration on a homogeneous unsaturated soil slope with factors such as top boundary, slope surface, bottom boundary, and control volume with non-uniform grid node and finer non-uniform grid node.

Schematic map of control volume method based on non-uniform grid nodes and 1D infiltration model for homogeneous soil slope

where \(\beta\) is the slope angle.

Finite volume method is used to discretize Eq. (4.41). First, the interval on the z-axis is divided into N equal parts, and the simulation time is divided into M equal parts. Furthermore, Eq. (4.41) is integrated as follows (Patankar 1980):

$$\int\limits_{i}^{i + \Delta z} {\int\limits_{t}^{t + \Delta t} {\frac{\partial \theta }{{\partial t}}} {\text{d}}t{\text{d}}z} = \int\limits_{t}^{t + \Delta t} {\int\limits_{i}^{i + \Delta z} {\frac{\partial }{\partial z}\left[ {K\left( h \right)\left( {\frac{\partial h}{{\partial z}} + \cos \beta } \right)} \right]{\text{d}}z{\text{d}}t} }$$
(4.42)

By simplification, one can gain:

$$\begin{aligned} & \frac{{K_{i + 1/2}^{j} \left( {h_{i + 1}^{j} - h_{i}^{j} } \right)}}{\Delta z} - \frac{{K_{i - 1/2}^{j} \left( {h_{i}^{j} - h_{i - 1}^{j} } \right)}}{\Delta z} + \left( {K_{i + 1/2}^{j} - K_{i - 1/2}^{j} } \right)\cos \beta \\ & \quad = \Delta zC_{i}^{j - 1/2} \frac{{h_{i}^{j} - h_{i}^{j - 1} }}{\Delta t},\quad 1 \le i \le N - 1,\,\,1 \le j \le M + 1 \\ \end{aligned}$$
(4.43)

where i represents discrete nodes along the z-axis (except boundary nodes) and j represents time nodes. C is the specific moisture capacity, defined as \(C(h) = \partial \theta /\partial h\); \(K_{i + 1/2}\) and \(K_{i - 1/2}\) represent the harmonic average of the hydraulic conductivity corresponding to adjacent nodes.

Newton and Picard iterative methods to solve Eq. (4.43) are a popular linearization technique. Newton method based on the one-dimensional Richards’ equation in the form of pressure head (h) is expressed as:

$$\begin{aligned} & \left( {{\mathbf{A}}^{j,k} + \frac{{\partial {\mathbf{A}}^{j,k} }}{{\partial {\mathbf{h}}^{j,k} }}{\mathbf{h}}^{j,k} + \frac{{{\mathbf{C}}^{j,k} }}{\Delta t} + \frac{1}{\Delta t}\frac{{\partial {\mathbf{C}}^{j,k} }}{{\partial {\mathbf{h}}^{j,k} }}\left( {{\mathbf{h}}^{j,k} - {\mathbf{h}}^{j - 1} } \right) - \frac{{\partial {\mathbf{F}}^{j,k} }}{{\partial {\mathbf{h}}^{j,k} }}} \right) \\ & \quad \left( {{\mathbf{h}}^{j,k + 1} - {\mathbf{h}}^{j,k} } \right) = {\mathbf{F}}^{j,k} - {\mathbf{A}}^{j,k} {\mathbf{h}}^{j,k} - \frac{{{\mathbf{C}}^{j,k} }}{\Delta t}\left( {{\mathbf{h}}^{j,k} - {\mathbf{h}}^{j - 1} } \right) \\ \end{aligned}$$
(4.44)

where k is the number of iterations and A is a tridiagonal matrix, at node i, which is given by:

$${\mathbf{A}}_{i} = \left[ {\frac{{K_{i - 1/2}^{j,k} }}{\Delta z}, - \frac{{K_{i - 1/2}^{j,k} }}{\Delta z} - \frac{{K_{i + 1/2}^{j,k} }}{\Delta z},\frac{{K_{i + 1/2}^{j,k} }}{\Delta z}} \right]$$
(4.45)

C and F can be written as follows at node i:

$${\mathbf{C}}_{i} = - \Delta zC_{i}^{j - 1/2,k}$$
(4.46)
$${\mathbf{F}}_{i} = \left( {K_{i - 1/2}^{j,k} - K_{i + 1/2}^{j,k} } \right)\cos \beta$$
(4.47)

The modified Picard method (PI), also known as the fixed-point method (Schrefler and Zhan 1993), can be expressed as:

$$\left( {{\mathbf{A}}^{j,k} + \frac{{{\mathbf{C}}^{j,k} }}{\Delta t}} \right)\left( {{\mathbf{h}}^{j,k + 1} - {\mathbf{h}}^{j,k} } \right) = {\mathbf{F}}^{j,k} - {\mathbf{A}}^{j,k} {\mathbf{h}}^{j,k} - \frac{{{\mathbf{C}}^{j,k} }}{\Delta t}\left( {{\mathbf{h}}^{j,k} - {\mathbf{h}}^{j - 1} } \right)$$
(4.48)

It can be seen from Eq. (4.48) that the modified Picard method is a simplification of the Newton method, ignoring the derivative term in the Jacobian matrix. In addition, Eq. (4.48) can be further simplified into the standard Picard format:

$$\left( {{\mathbf{A}}^{j,k} + \frac{{{\mathbf{C}}^{j,k} }}{\Delta t}} \right){\mathbf{h}}^{j,k + 1} = {\mathbf{F}}^{j,k} + \frac{{{\mathbf{C}}^{j,k} }}{\Delta t}{\mathbf{h}}^{j - 1}$$
(4.49)

Newton’s method is quadratic convergent (Li 1993), but needs to calculate the first derivatives of matrices A and C and vector F, and the modified Picard method only converges linearly (Li 1993). Due to Newton’s method increases the algebraic complexity and computational cost of constructing derivative terms in Jacobian matrices, thus modified Picard method has been widely investigated for h-based and mixed form of Richards’ equations. Furthermore, there is still a large computational cost due to the need to recalculate the iteration matrix for each iteration in the Picard method (Farthing and Ogden 2017). For some unfavorable numerical conditions, such as infiltration into dry soils and/or layered soils with very different permeability coefficients, this results in numerical difficulties or even non-convergence of conventional Picard methods (Zha et al. 2017).

Normally, the uniform discrete process does not have good numerical convergence under some unfavorable numerical conditions, such as rainfall infiltration into dry soils (Zha et al. 2017). Therefore, a non-uniform grid in the form of Chebyshev is adopted (Wu et al. 2020). The coordinates in the two-layer soils in Fig. 4.14 can be expressed as follows:

$$z_{1i} = \cos \left( {i\pi /N_{1} } \right) \times \frac{{L_{1} }}{2} + \frac{{L_{1} }}{2},\quad i = N_{1} ,N_{1} - 1, \ldots 0$$
(4.50)
$$z_{2i} = \cos \left( {i\pi /N_{2} } \right) \times \frac{{L_{2} }}{2} + \frac{{L_{2} }}{2} + L_{1} ,\quad i = N_{2} - 1,N_{2} - 2, \ldots 0$$
(4.51)

where L1 and L2 are the height of soil layers 1 and 2, respectively; i denotes non-uniform grid nodes; and N1 and N2 represent the number of nodes in layers 1 and 2, respectively. In addition, for the convenience of comparison and analysis, one can have \(N = N_{1} + N_{2}\). The discretized equation is now derived by integrating Eq. (4.41) over the non-uniform finite volume in Fig. 4.14 and over the time interval from t to \(t + \Delta t\). Thus,

$$\int\limits_{{i_{{\text{W}}} }}^{{i_{{\text{E}}} }} {\int\limits_{t}^{t + \Delta t} {\frac{\partial \theta }{{\partial t}}{\text{d}}t{\text{d}}z} } = \int\limits_{t}^{t + \Delta t} {\int\limits_{{i_{{\text{W}}} }}^{{i_{{\text{E}}} }} {\frac{\partial }{\partial z}\left[ {K\left( h \right)\left( {\frac{\partial h}{{\partial z}} + \cos \beta } \right)} \right]{\text{d}}z{\text{d}}t} }$$
(4.52)

Furthermore, this chapter can obtain

$$\begin{aligned} & \frac{{K_{{i_{{\text{E}}} }}^{j,k} \left( {h_{i + 1}^{j,k + 1} - h_{i}^{j,k + 1} } \right)}}{{\left( {\delta z} \right)_{{\text{E}}} }} - \frac{{K_{{i_{{\text{W}}} }}^{j,k} \left( {h_{i}^{j,k + 1} - h_{i - 1}^{j,k + 1} } \right)}}{{\left( {\delta z} \right)_{{\text{W}}} }} + \left( {K_{{i_{{\text{E}}} }}^{j,k} - K_{{i_{{\text{W}}} }}^{j,k} } \right)\cos \beta \\ & \quad = C_{i}^{j - 1/2,k} \left( {\Delta z} \right)_{i} \frac{{h_{i}^{j,k + 1} - h_{i}^{j - 1} }}{\Delta t} \\ \end{aligned}$$
(4.53)

According to Eqs. (4.43) and (4.53), the matrix form of the standard Picard iterative method can be abbreviated as follows:

$${\mathbf{A}}\left( {{\mathbf{h}}^{j,k} } \right){\mathbf{h}}^{j,k + 1} = {\mathbf{f}}\left( {{\mathbf{h}}^{j,k} ,{\mathbf{h}}^{j - 1} } \right)$$
(4.54)

For the solution of Eq. (4.54), the system of linear equations is first derived and then solved by the basic linear solution methods. The Gaussian elimination method is usually effective. After solving Eq. (4.54) for the first time, the coefficient matrix in Eq. (4.54) is recalculated using this first solution, and the new linear equation is solved. The iteration process is terminated when the convergence measure is satisfied using \(l_{\infty }\) norm as:

$$\frac{{\left\| {{\mathbf{h}}^{j,k + 1} - {\mathbf{h}}^{j,k} } \right\|_{\infty } }}{{\left\| {{\mathbf{h}}^{j,k} } \right\|_{\infty } }} < \varepsilon$$
(4.55)

The standard Picard method according to Eq. (4.54) can be abbreviated as N-PI. Generally, the Picard method combined with non-uniform grids has a slower convergence rate and lower calculation efficiency. To improve the convergence rate of N-PI, an improved Picard method based on non-uniform two-grid correction scheme (NTG-PI) is proposed in this book. In addition, the improved Picard method by the adaptive relaxation method (NAR-PI) is adopted for the comparative study.

4.4.2 Improved Picard Method

4.4.2.1 Adaptive Relaxed Picard Iterative Method (NAR-PI)

The adaptive relaxation method can effectively improve the computational efficiency of the Picard method (Smedt et al. 2010). First, when k > 1, the adaptive relaxation method can be expressed in the following form:

$${\mathbf{h}}^{k + 1} \leftarrow {\mathbf{h}}^{k} + \lambda_{k} \left( {{\mathbf{h}}^{k + 1} - {\mathbf{h}}^{k} } \right);\quad \lambda_{k} \in \left( {0,2} \right)$$
(4.56)

where \(\lambda_{k}\) is the relaxation coefficient of the kth iteration, and its size can be adjusted according to the generalized angle between the current iteration step increment \(\Delta {\mathbf{h}}\) and the previous iteration step increment \(\Delta {\overline{\mathbf{h}}}\):

$$\delta = \arccos \left( {\frac{{\Delta {\mathbf{h}} \cdot \Delta {\overline{\mathbf{h}}}}}{{\left\| {\Delta {\mathbf{h}}} \right\|\left\| {\Delta {\overline{\mathbf{h}}}} \right\|}}} \right)$$
(4.57)

The angle \(\delta\) in Eq. (4.57) represents the convergence trend of the numerical solution. An acute angle indicates better convergence, and an obtuse angle indicates oscillation. Therefore, when \(\delta\) is an acute angle, \(\lambda_{k}\) should increase; when \(\delta\) is an obtuse angle, \(\lambda_{k}\) should be appropriately reduced. After preliminary trial calculation, better calculation results can be obtained in the following forms (Smedt et al. 2010):

$$\lambda_{k} = \left\{ {\begin{array}{*{20}l} {\sqrt 2 \lambda_{k - 1} ,} & {\delta < \pi /4} \\ {\lambda_{k - 1} ,} & {\pi /4 \le \delta < \pi /2} \\ {\lambda_{k - 1} /\sqrt 2 ,} & {\delta \ge \pi /2} \\ \end{array} } \right.$$
(4.58)

Therefore, the adaptive relaxed Picard iterative method based on the non-uniform grid (NAR-PI) can be summarized as follows:

  1. (1)

    Given the initial solution h0, and let k = 1.

  2. (2)

    Solve Eq. (4.54) and calculate the current iteration increment \(\Delta {\mathbf{h}}\).

  3. (3)

    Calculate the relaxation coefficient \(\lambda_{k}\) of the kth iteration: if k = 1, then \(\lambda_{k}\) = 1; otherwise, read the previous iteration increment \(\Delta {\overline{\mathbf{h}}}\) and relaxation coefficient \(\lambda_{k - 1}\), and obtain \(\lambda_{k}\) according to Eqs. (4.57)–(4.58).

  4. (4)

    Equation (4.56) is used to modify the calculated result under the current iteration step.

  5. (5)

    If Eq. (4.55) is satisfied, the iteration stops; otherwise, go to step 2.

4.4.2.2 Improved Picard Method Based on the Two-Grid Correction Scheme (NTG-PI)

The algebraic multigrid method can improve the computational efficiency of nonlinear iterative methods (Wang and Schrefler 2003). In this chapter, the non-uniform two-grid correction scheme (NTG) is adopted to improve the computational efficiency of the classical Picard method. In Fig. 4.15, the non-uniform two-grid correction scheme is described.

Fig. 4.15
A diagram of the non-uniform two-grid correction scheme. It includes fine grid layer 2, coarse grid layer 1, fine grids, coarse grids, interpolate and correct u 1 to u 2, and restrict u 2 to u 1.

Schematic drawing of non-uniform two-grid correction scheme

First, the solution vectors of the fine and coarse grids are assumed to be \({\mathbf{h}}^{{\text{f}}}\) and \({\mathbf{h}}^{{\text{c}}}\), respectively. In NTG, the Gauss–Seidel iterative method is usually used as the basic linear solution method instead of the Gaussian elimination method. The implementation steps of NTG-PI are expressed in detail as follows (Zhu et al. 2022a, b):

  1. (1)

    Relax \(\mu\) times using Gauss–Seidel relaxation for the fine grid with initial vector \({\mathbf{h}}^{{{\text{f}}0}}\).

  2. (2)

    Compute the fine-grid residual \({\mathbf{r}}^{{\text{f}}} = {\mathbf{f}}\left( {{\mathbf{h}}^{{{\text{f}}\mu }} } \right) - {\mathbf{A}}\left( {{\mathbf{h}}^{{{\text{f}}\mu }} } \right){\mathbf{h}}^{{{\text{f}}\mu }}\) and restrict it to the coarse grid by \({\mathbf{r}}^{{\text{c}}} = {\mathbf{Rr}}^{{\text{f}}}\) and \({\mathbf{h}}^{{\text{c}}} = {\mathbf{Rh}}^{{{\text{f}}\mu }}\), where \({\mathbf{R}}\) is the restriction operator from fine to coarse grids.

  3. (3)

    Solve the following residual equation for the coarse grid:

    $${\mathbf{A}}\left( {{\mathbf{h}}^{{\text{c}}} } \right){\mathbf{e}}^{{\text{c}}} = {\mathbf{r}}^{{\text{c}}}$$
    (4.59)
  4. (4)

    Interpolate the coarse-grid error \({\mathbf{e}}^{{\text{c}}}\) to the fine grid and correct the fine-grid approximation solution by:

    $${\mathbf{h}}^{{{\text{f}}\mu }} \leftarrow {\mathbf{h}}^{{{\text{f}}\mu }} + {\mathbf{I}} \cdot {\mathbf{e}}^{{\text{c}}}$$
    (4.60)

    where \({\mathbf{I}}\) denotes the interpolation operator from coarse to fine grids.

  5. (5)

    Relax \(\mu\) times using Gauss–Seidel relaxation for the fine grid with corrected vector \({\mathbf{h}}^{{{\text{f}}\mu }}\), where \(\mu\) usually takes a small natural number. \(\mu\) is set to 1 in this chapter.

If \({\mathbf{h}}^{{{\text{f}}\mu }}\) converges according to Eq. (4.55), then stop; otherwise, go to step 1. Steps 1 and 5 can eliminate the high-frequency components of the iteration error, while steps 2–4 can eliminate the remaining low-frequency smooth components. Through multiple cycles of the above steps, it is expected to eliminate the iteration error as soon as possible. And this makes the iterative method more efficient. In addition, it is needed to further define the interpolation (I) and restriction (R) operators. In Fig. 4.15, the restriction operator for nodes i can be expressed as:

$$u_{i} = \frac{{\left( {\Delta z} \right)_{1} }}{{\left( {\Delta z} \right)_{i} }}u_{2i - 1} + \frac{{\left( {\Delta z} \right)_{2} }}{{\left( {\Delta z} \right)_{i} }}u_{2i} + \frac{{\left( {\Delta z} \right)_{3} }}{{\left( {\Delta z} \right)_{i} }}u_{2i + 1}$$
(4.61)

The interpolation operator can be written as:

$$u_{2i} = u_{i}$$
(4.62)
$$u_{2i + 1} = \frac{{\left( {\Delta z} \right)_{2} }}{{\left( {\Delta z} \right)_{1} + \left( {\Delta z} \right)_{2} }}u_{i} + \frac{{\left( {\Delta z} \right)_{1} }}{{\left( {\Delta z} \right)_{1} + \left( {\Delta z} \right)_{2} }}u_{i + 1}$$
(4.63)
$$u_{2i + 2} = u_{i + 1}$$
(4.64)

4.4.3 Numerical Tests—1D Transient Unsaturated Infiltration

This test simulates the 1D transient infiltration in homogeneous soils to verify the effectiveness of the proposed schemes. The mathematical model is described in Fig. 4.14. The boundary conditions and the parameters are kept unchanged. The total simulation time is 10 h. The parameter \(\mu\) is set to 1. Additionally, the number of nodes is taken as 100, 200, and 400, and the time steps are taken as 0.1 h, 0.05 h, and 0.01 h, respectively.

Figure 4.16a represents the maximum relative error (MRE) obtained by different methods under different time steps when the number of nodes N = 200. It can be seen that the range of MRE obtained by NTG-PI is between 0.35 and 4.6%. When t is less than 6 h, the MRE decreases as the time step decreases. However, the range of MRE obtained by PI is between 2.7 and 72%, which increases with the increase of t and is much larger than that obtained by NTG-PI. Figure 4.16b shows the MRE obtained by different methods under different number of nodes when the time step \(\Delta t\) = 0.01 h. It can be found that the MRE obtained by PI increases over time t. When t is greater than 2 h, the error becomes larger and larger, while the MRE obtained by NTG-PI only ranges from 0.18 to 8%. In addition, the MRE of the two methods decreases as the number of nodes N increases.

Fig. 4.16
2 line graphs plot the maximum relative error at different numerical conditions versus time step, and number of nodes N. At N equals 200 and t equals 0.01, 3 lines of P I increase with the increase in time, and 3 lines of N T G-P I decrease with the decreases in time.

Comparison of the maximum relative error of different methods under different numerical conditions: a time step and b number of nodes N

In Fig. 4.17, the numerical solutions obtained by the two methods under \(\Delta t\) = 0.01 h and N = 200 are compared with the exact solutions. It can be found that there is a great deviation between the numerical solution obtained by PI and the exact solution, particularly after the time is greater than 4 h (Fig. 4.17a). On the contrary, the numerical solution obtained by NTG-PI is very consistent with the exact solution, and there is no large relative error as the time increases (Fig. 4.17b). When t = 10 h, the RSE of NTG-PI decreases with the increase of N and the decrease of \(\Delta t\) in Table 4.5, which seems to be better than that of PI. And the RE of NTG-PI is much smaller than that of PI, and the difference is about 100 times. In addition, Fig. 4.18 depicts the convergence rate of the proposed methods. It can be found that the convergence rate of the proposed method NTG-PI is faster than that of the conventional method N-PI. As the number of nodes N changes, the convergence rate of NTG-PI does not change much.

Fig. 4.17
2 multi-line graphs of z of m versus pressure head. They plot the numerical solutions obtained using different methods with analytical solutions of P I and N T G-P I at different times. Both the graphs have an increasing trend.

Comparison of the numerical solutions obtained using different methods with analytical solutions: a PI and b NTG-PI

Table 4.5 Numerical accuracy of transient infiltration in homogeneous soils at t = 10 h
Fig. 4.18
A multi-line graph of relative error versus iterations of the proposed methods. The convergence rate of the proposed method N T G-P I is faster than the N-P I. The graph has a decreasing trend.

Comparison of convergence rates for the proposed schemes

In Table 4.6, the speed-up ratio of the improved method NTG-PI relative to N-PI is much greater than that of NAR-PI relative to N-PI, with a difference of nearly 10 times. Since the parameter \(\mu\) is only 1, the computational efficiency of the proposed NTG-PI is higher. This test indicates that the proposed NTG-PI can obtain higher numerical accuracy with a smaller number of nodes and has a faster convergence rate while reducing the computational cost.

Table 4.6 Speed-up ratio of two improved Picard methods relative to N-PI

4.5 Conclusions

This chapter first discusses the classical linear stationary iterative methods, such as Jacobi iterative method, Gauss–Seidel iterative method, and SOR iterative method. Then, combined with the preprocessing technology and error correction method, a series of improved iterative methods is proposed. The proposed methods have better computational performance in the simulation of rainfall infiltration and can obtain good application results. The main conclusions are as follows:

  1. (1)

    Chebyshev semi-iterative method with polynomial preconditioner (P-CSIM) is developed. Compared with conventional iterative methods such as Jacobi and Gauss–Seidel methods, P-CSIM has less iterations and calculation time in simulating rainfall. Numerical results indicate significant speed-up, at least 50% increase compared to GSIM, and higher computational efficiency compared to CSIM and JIM.

  2. (2)

    In the numerical solution of unsaturated infiltration, the numerical discrete condition plays a significant role in the convergence rate of the numerical solution, particularly under the small space step and large time step. Conventional iterative methods such as Jacobi and GS tend to converge very slowly and have low computational efficiency. For the accelerated improvement methods, the integral correction method uses the solution vector error correction to make the iterative method obtain a faster convergence rate, while the multistep preconditioning method preprocesses the original system of linear equations into a more easily solved system of the linear equations, making the subsequent iterative method more effective.

  3. (3)

    The proposed ICMP(m)-GS is a mixture of the integral correction method and the multistep preconditioning method. The adjustment of the parameters c and m can not only greatly improve the ill-condition of the linear equations derived from the linearized Richards’ equation, but also obtain higher numerical accuracy. Numerical results show that compared with the conventional methods GS and SOR and the improved methods IC(c)-GS and MP(m)-GS, ICMP(m)-GS can improve the convergence rate to a greater degree and has higher computational efficiency and calculation accuracy. This method is relatively simple, and it has a good application prospect for simulating unsaturated infiltration.

  4. (4)

    In the conventional Picard method, the Gaussian elimination method is usually used to solve the system of linear equations. Although the solution obtained by this method is theoretically accurate, with the increase of the number of discrete nodes N, the calculation amount increases in the order of N3, and the computational efficiency significantly reduced. In the improved method NTG-PI, the Gauss–Seidel iterative method is used instead of the Gaussian elimination method as the basic method, and its solution speed is faster. Numerical results demonstrate that the numerical solution obtained by the NTG-PI is in good agreement with the analytical solution under extremely dry initial conditions. Compared with the conventional Picard method, NTG-PI can achieve higher numerical accuracy with fewer discrete nodes, while simulating rainfall infiltration with faster convergence.