Next Article in Journal
Optimal Demand Reconfiguration in Three-Phase Distribution Grids Using an MI-Convex Model
Next Article in Special Issue
A Preconditioned Variant of the Refined Arnoldi Method for Computing PageRank Eigenvectors
Previous Article in Journal
Stationary Distribution and Extinction in a Stochastic SIQR Epidemic Model Incorporating Media Coverage and Markovian Switching
Previous Article in Special Issue
Anderson Acceleration of the Arnoldi-Inout Method for Computing PageRank
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Special Multigrid Strategy on Non-Uniform Grids for Solving 3D Convection–Diffusion Problems with Boundary/Interior Layers

1
Institute of Applied Mathematics and Mechanics, Ningxia University, Yinchuan 750021, China
2
School of Science, Inner Mongolia University of Science & Technology, Baotou 014010, China
*
Author to whom correspondence should be addressed.
Symmetry 2021, 13(7), 1123; https://doi.org/10.3390/sym13071123
Submission received: 29 May 2021 / Revised: 17 June 2021 / Accepted: 21 June 2021 / Published: 24 June 2021

Abstract

:
Boundary or interior layer problems of high-dimensional convection–diffusion equations have distinct asymmetry. Consequently, computational grid distributions and linear algebraic systems arising from finite difference schemes for them are also asymmetric. Numerical solutions for these kinds of problems are more complicated than those symmetric problems. In this paper, we extended our previous work on the partial semi-coarsening multigrid method combined with the high-order compact (HOC) difference scheme for solving the two-dimensional (2D) convection–diffusion problems on non-uniform grids to the three-dimensional (3D) cases. The main merit of the present method is that the multigrid method on non-uniform grids can be performed with a different number of grids in different coordinate axes, which is more efficient than the multigrid method on non-uniform grids with the same number of grids in different coordinate axes. Numerical experiments are carried out to validate the accuracy and efficiency of the present method. It is shown that, without losing the high precision, the present method is very effective to reduce computing cost by cutting down the number of grids in the direction(s) which does/do not contain boundary or interior layer(s).

1. Introduction

In this paper, we consider the three-dimensional (3D) steady convection–diffusion equation in the form of
2 Φ x 2 + 2 Φ y 2 + 2 Φ z 2 + p ( x , y , z ) Φ x + q ( x , y , z ) Φ y + r ( x , y , z ) Φ z = f ( x , y , z ) ,
where the meaning of each symbol in Equation (1) and in this paper is listed in the following nomenclature.
Equation (1) can be regarded as the model equation of many transport processes of fluid flows and heat transfer [1,2]. It can describe the convection and diffusion of various physical quantities, such as concentrations, heat, momentum, etc. Numerical simulation of fluid dynamics problems is computationally intensive, but it may still be a huge challenge for 3D problems even on the most advanced computers limited to the computing power and storage capacity. Higher precision computational methods combined with faster iterative approaches has seemed to be promising to get satisfying precision solutions with acceptable CPU time during the past three decades [3,4,5,6,7].
High-order compact (HOC) difference methods have been developed and extensively used to solve various convection–diffusion problems [3,4,5,8,9,10,11,12,13,14,15]. The attractive merits of HOC schemes include high accuracy, good stability and easy treatment of boundary conditions, etc. However, the majority of the existing HOC schemes are built on uniform grids [3,8,10,12]. For many realistic fluid flow and heat transfer problems which have asymmetry distribution of variation in their domains, such as boundary or interior layer problems [4,5,9,11,13,14,15], if uniform grids are still used in the whole domain, numerical results would deteriorate unless very fine grids are distributed to obtain acceptable accuracy. However, it is not necessary to do it like this because reasonable non-uniform grid distribution is a good choice, and it would be very effective to handle such problems. To do this, Kalita et al. [11] developed an HOC scheme on rectangular non-uniform grids to solve the 2D convection–diffusion problems. The scheme shows very good scale resolution with various non-uniform grid spacing patterns. Afterwards, this HOC scheme was extended to the 3D case by Ge and Cao [5] and Shanab et al. [15]. At the same time, we notice that the same number of grids in all coordinate axes is used for all the numerical examples they considered [5,11,15]. However, for those problems with local large gradients, the physical quantities change steeply in just one direction (for 2D) or one/two direction(s) (for 3D), while, in the other direction(s), solutions change smoothly, and using the same number of grids in all directions is unnecessary. It would cause a big waste of storage space and computing cost. Thus, one aim of this paper is to design a special grid distribution strategy to fix this defect.
To efficiently solve the linear algebraic system which is resulting from finite difference schemes, the multigrid method is proposed [16]. Up to now, the multigrid method has been employed to solve various elliptic equations discretized by the HOC difference schemes [5,6,7,9,14,17,18,19,20,21,22,23,24]. However, since most HOC schemes are proposed on the uniform grids, consequently, the multigrid methods are carried out on uniform grids [6,18,19,20,21,24]. Ge and Zhang et al. [4,9] employed the fourth-order compact discretization schemes and the multigrid method to solve 2D and 3D convection–diffusion equation with boundary layers on non-uniform grids. Because the grid transformation was used to transform the non-uniform grid to a uniform one, the multigrid method was also implemented on uniform grids in the computational plane. In addition, it is worthy of being pointed out that, in Ref. [22], a multigrid method is developed to solve the system of linear equations arising from the HOC scheme [11] on non-uniform grids for 2D problems, and it was extended to 3D cases [5,7]. It is a pity that the same number of grids in all coordinate axes must be used because the restriction and interpolation operators needed by the multigrid method are constructed just for a full-coarsening grid (see Refs. [5,7] for more details). Actually, it is not necessary to distribute the same number of grids for those boundary or interior layer problems when local big gradient(s) only occur(s) in partial coordinate direction(s).
To overcome the defect, based on the idea of Zhang [19] about the partial semi-coarsening strategy for solving a 2D Poisson equation, Cao et al. [23] developed a special method to solve the 2D boundary or interior layer problems of the convection–diffusion equation. The main merit of the grid distribution strategy is that it permits to set a different number of grids for x- and y-coordinate axes, respectively. Under such circumstances, computing cost is greatly reduced by setting a small number of grids in non-dominant direction(s), but the computed accuracy is not lost. In this paper, we tend to generalize the method in [23] to 3D cases and develop a special multigrid method on non-uniform grids to solve the 3D convection–diffusion boundary or interior layer problems (1). The outline of this paper is arranged as follows. In Section 2, the HOC scheme that is proposed by Ge and Cao [5] will be extended for solving the 3D convection–diffusion Equation (1) on non-uniform grids. In Section 3, we develop a special multigrid strategy including partial semi-coarsening procedure, specified restriction and interpolation operators. After that, numerical examples are employed to illustrate the accuracy and efficiency of the present method in Section 4. Section 5 presents the conclusions of this paper.

2. HOC Scheme on Non-Uniform Grids

We consider a cubic domain Ω = [ a 1 , a 2 ] × [ b 1 , b 2 ] × [ c 1 , c 2 ] , and divide the interval [ a 1 , a 2 ] , [ b 1 , b 2 ] and [ c 1 , c 2 ] into sub-intervals by the points a 1 = x 0 , x 1 , x 2 , , x N x 1 , x N x = a 2 , b 1 = y 0 , y 1 , y 2 , , y N y 1 , y N y = b 2 and c 1 = z 0 , z 1 , z 2 , , z N z 1 , z N z = c 2 . In the x-axis, the backward and forward step lengths can be respectively given by x b = x i x i 1 , x f = x i + 1 x i , 1 i N x 1 . In addition, similarly, on the y- and z-axes, y b = y j y j 1 , y f = y j + 1 y j , 1 j N y 1 , z b = z k z k 1 , z f = z k + 1 z k , 1 k N z 1 . If and only if x f = x b , y f = y b and z f = z b , the grid turns to be uniform. Figure 1 shows a non-uniform cubic grid stencil in the subdomain.
The discretization value of Φ ( x , y , z ) at a reference point ( x , y , z ) denoted by Φ 0 and the other 18 neighboring grid points are defined analogously as Figure 1. The HOC difference scheme on non-uniform grids for the 3D convection–diffusion Equation (1) developed by Ge and Cao [5] is given as
( A 11 δ x 2 A 22 δ y 2 A 33 δ z 2 + A 1 δ x + A 2 δ y + A 3 δ z + A 12 δ x δ y + A 13 δ x δ z + A 23 δ y δ z + A 112 δ x 2 δ y + A 113 δ x 2 δ z + A 223 δ y 2 δ z + A 122 δ x δ y 2 + A 133 δ x δ z 2 + A 233 δ y δ z 2 + A 1122 δ x 2 δ y 2 + A 1133 δ x 2 δ z 2 + A 2233 δ y 2 δ z 2 ) Φ 0 = F 0 ,
where the coefficients A 11 , A 22 , A 33 , A 1 , A 2 , A 3 , A 12 , A 13 , A 23 , A 112 , A 113 , A 223 , A 122 , A 133 , A 233 , A 1122 , A 1133 , A 2233 and F 0 are given by following
A 11 = 1 ( H 1 + H 2 p 0 + 2 H 2 δ x ) p 0 , A 22 = 1 ( K 1 + K 2 q 0 + 2 K 2 δ y ) q 0 ,
A 33 = 1 ( L 1 + L 2 r 0 + 2 L 2 δ z ) r 0 , A 1 = [ 1 + ( H 1 + H 2 p 0 ) δ x + ( K 1 + K 2 q 0 ) 1 δ y + ( L 1 + L 2 r 0 ) δ z
+ H 2 δ x 2 + K 2 δ y 2 + L 2 δ z 2 ] p 0 , A 2 = [ 1 + ( H 1 + H 2 p 0 ) δ x + ( K 1 + K 2 q 0 ) 1 δ y + ( L 1 + L 2 r 0 ) δ z
+ H 2 δ x 2 + K 2 δ y 2 + L 2 δ z 2 ] q 0 , A 3 = [ 1 + ( H 1 + H 2 p 0 ) δ x + ( K 1 + K 2 q 0 ) 1 δ y + ( L 1 + L 2 r 0 ) δ z
+ H 2 δ x 2 + K 2 δ y 2 + L 2 δ z 2 ] r 0 ,
A 12 = ( H 1 + H 2 p 0 + 2 H 2 δ x ) q 0 + ( K 1 + K 2 q 0 + 2 K 2 δ y ) p 0 ,
A 13 = ( H 1 + H 2 p 0 + 2 H 2 δ x ) r 0 + ( L 1 + L 2 r 0 + 2 L 2 δ z ) p 0 ,
A 23 = ( K 1 + K 2 q 0 + 2 K 2 δ y ) r 0 + ( L 1 + L 2 r 0 + 2 L 2 δ z ) q 0 ,
A 112 = K 1 + ( H 2 K 2 ) q 0 , A 113 = L 1 + ( H 2 L 2 ) r 0 ,
A 223 = L 1 + ( K 2 L 2 ) r 0 , A 122 = H 1 + ( K 2 H 2 ) p 0 ,
A 133 = H 1 + ( L 2 H 2 ) p 0 , A 233 = K 1 + ( L 2 K 2 ) q 0 ,
A 1122 = H 2 K 2 , A 1133 = H 2 L 2 , A 2233 = K 2 L 2 , F 0 = [ 1 + ( H 1 + H 2 p 0 ) δ x + ( K 1 + K 2 q 0 ) δ y + ( L 1 + L 2 r 0 ) δ z
+ H 2 δ x 2 + K 2 δ y 2 + L 2 δ z 2 ] f 0 ,
and
H 1 = 1 3 ( x f x b ) 1 6 x f x b p 0 , H 2 = 1 12 ( x f 2 + x b 2 x f x b ) 1 24 x f x b ( x f x b ) p 0 ,
K 1 = 1 3 ( y f y b ) 1 6 y f y b q 0 , K 2 = 1 12 ( y f 2 + y b 2 y f y b ) 1 24 y f y b ( y f y b ) q 0 ,
L 1 = 1 3 ( z f z b ) 1 6 z f z b r 0 , L 2 = 1 12 ( z f 2 + z b 2 z f z b ) 1 24 z f z b ( z f z b ) r 0 .
The finite difference operators appearing in Figure 2 are given in Appendix A. It notes that the order of the truncation error of the scheme is fourth on uniform grids if x f = x b , y f = y b and z f = z b and at least third on non-uniform grids if x f x b or y f y b or z f z b . Shanab et al. [15] also got this scheme with a similar derivation process (more details, see Refs. [5,15]).

3. Partial Semi-Coarsening Multigrid Method

The multigrid method is a very efficient iterative method for solving the large systems of algebraic equations arising from the discretizations of elliptic boundary value problems [25]. The main logic of the multigrid method is based on the recognition that classical relaxation methods can strongly dampen the oscillatory error components, but converge slowly for smooth error components. However, oscillation or smoothness is comparative, i.e., the smooth error components on fine grids become oscillatory when they are transferred to coarse grids. Therefore, the multigrid method splits the errors into high frequency components and low frequency components and solves them in different subspaces. Firstly, we perform a few relaxation sweeps on the fine grid and then transfer the residual of the fine grid to the next coarse grid and smooth it again on the coarse grid. This process is repeated successively until the coarsest grid. Then, the corrections are interpolated back to finer grids successively and relaxation sweeps are implemented again until the process reaches the finest grid. This procedure is called a multigrid V-cycle. Restriction operator, interpolation operator and relaxation operator are three essential components of the multigrid method. We will discuss them respectively in the following parts.
Mulder [26] firstly proposed a semi-coarsening multigrid method to solve the convection problems. After that, Liu and Liu [27] employed it to simulate the whole process of flow transition in 3D flat plate boundary layers. In 2002, Zhang [19] developed a partial semi-coarsening multigrid method for solving the 2D Poisson equation. Partial semi-coarsening means that, after semi-coarsening, on a certain coarse grid, the number of grids in both directions must be same; then, the standard full coarsening process is carried out in both directions until the coarsest grid is reached. Numerical results indicate that the computational cost of the partial semi-coarsening strategy is correspondingly decreased greatly with fewer grids in the non-dominant axis than that in the dominant axis, but computed accuracy does not lose compared to the full grid coarsening process with the same number of grids in both directions. Ge [20] extended such a method to the 3D case. However, the grid distribution in [19,20] is uniform although unequal mesh-size is employed for different coordinate directions.
In this paper, we will develop a partial semi-coarsening multigrid method with non-uniform grids to solve the 3D convection–diffusion problems. The merit of computational methods with non-uniform grids is that it is more flexible to treat local large gradient problems, such as boundary layers or local singularities, etc. It is necessary to show the 3D grid partial semi-coarsening process here. For example, we assume that the computational domain is a unit cube, and the number of grids on the x-, y- and z-axes are N x , N y , and N z , respectively. Then, if we simplify to write N x = 128 , N y = 32 , N z = 8 as 128 × 32 × 8 , Figure 2 gives the process of partial semi-coarsening for 3D non-uniform grids, in which the steps ①–④ are semi-coarsening and steps ⑤ and ⑥ are full-coarsening. The whole process is called partial semi-coarsening. The key technique for implementing the partial semi-coarsening multigrid method is to construct new restriction and interpolation operators for different grid coarsening processes.

3.1. Restriction Operator

As a matter of convenience but without loss of generality, we suppose that the x- and y-axes are dominant, where the boundary or interior layers exist, but the z-axis is not dominant. Under these circumstances, it is reasonable to put more grid points in x- and y-axes than on the z-axis. Because the numbers of girds in x-, y-, and z-axes may be different, the restriction operators must be individually built. Firstly, we use r i , j , k to represent the residual on the fine grid point ( i , j , k ) , and r ¯ i ¯ , j ¯ , k ¯ to represent the corresponding residual on the corresponding coarse grid point ( i ¯ , j ¯ , k ¯ ) . It notes that i = 2 i ¯ , j = 2 j ¯ and k = 2 k ¯ . For the restriction operator of the residual, we design it as follows:
(i) If N x > N y > N z , i.e., the number of grids is the biggest in the x-direction, so we only conduct grid coarsening in the x-direction. A one-way weighting average strategy is used. In Figure 3, we define L 1 = x f / 2 , L 0 = ( x b + x f ) / 2 , L 3 = x b / 2 and L x = x b + x f —in which x f and x b are forward and backward step lengths of the fine grids. Two big black points denote the grid points on the fine grid level, while a small black point represents the grid point on the coarse grid level. Its residual is evaluated by itself and its two neighboring grid points on the fine grid level. According to the one-way average strategy introduced by Cao et al. [23], the restriction operator for the residual from fine grid to coarse grid is written out as follows:
r ¯ i ¯ , j , k = 1 L x ( L 1 r i 1 , j , k + L 0 r i , j , k + L 3 r i + 1 , j , k ) .
(ii) If N x = N y > N z , under this circumstance, there exist two dominant directions, i.e., x- and y-axes. The two-way average strategy introduced by Ge and Cao [22] is employed to evaluate the residual on the coarse grid level. The basic principle of it is the area law described by Liu [28]. Figure 4 gives the areas S i ( i = 0 , 1 , , 8 ) for the non-uniform subdomain. The corresponding full weighting restriction operator can be explicitly given out as:
r ¯ i ¯ , j ¯ , k = 1 S ( S 0 r i , j , k + S 1 r i 1 , j , k + S 2 r i , j 1 , k + S 3 r i + 1 , j , k + S 4 r i , j + 1 , k + S 5 r i 1 , j 1 , k + S 6 r i + 1 , j 1 , k + S 7 r i + 1 , j + 1 , k + S 8 r i 1 , j + 1 , k ) .
where the S i ( i = 1 , , 8 ) are defined as follows:
S = ( x f + x b ) × ( y f + y b ) , S 0 = 1 4 ( x f + x b ) × ( y f + y b ) , S 1 = 1 4 x f × ( y f + y b ) , S 2 = 1 4 y f × ( x f + x b ) , S 3 = 1 4 x b × ( y f + y b ) , S 4 = 1 4 y b × ( x f + x b ) , S 5 = 1 4 x f × y f , S 6 = 1 4 x b × y f , S 7 = 1 4 x b × y b , S 8 = 1 4 x f × y b .
(iii) If N x = N y = N z , for each grid point on the coarse grid level, Ref. [7] proposed a full-weighting restriction operator on a non-uniform grid based on the volume law [28]. Under this circumstance, we can use the full weighting restriction operator directly (see Appendix B).

3.2. Interpolation Operator

(i) If N x > N y > N z , under this condition, interpolation is only needed to be conducted on the x-axis. Figure 5 shows the coarse grid points (big black points), the fine grid point (small and big black points), and the step length of the coarse grid stencil L x . According to the average strategy introduced by Cao et al. [23], the interpolation operator can be explicitly given out as:
r i , j , k = r ¯ i ¯ , j , k , r i 1 , j , k = 1 L x ( x f r ¯ i ¯ 1 , j , k + x b r ¯ i ¯ , j , k ) .
(ii) If N x = N y > N z , under such circumstance, interpolation should be performed on both the x- and y-axes. Figure 6 shows the areas S i ( i = 1 , 2 , 3 , 4 ) used by the non-uniform interpolation operator. In addition, big black points represent the grid points on the coarse grid level and small black points the grid points on the fine grid level. The interpolation operator can be explicitly given out as:
r i , j , k = r ¯ i ¯ , j ¯ , k , r i 1 , j , k = 1 x f + x b ( x f r ¯ i ¯ 1 , j ¯ , k + x b r ¯ i ¯ , j ¯ , k ) ,
r i , j 1 , k = 1 y f + y b ( y f r ¯ i ¯ , j ¯ 1 , k + y b r ¯ i ¯ , j ¯ , k ) ,
r i 1 , j 1 , k = 1 S ( S 1 r ¯ i ¯ 1 , j ¯ 1 , k + S 2 r ¯ i ¯ , j ¯ 1 , k + S 3 r ¯ i ¯ , j ¯ , k + S 4 r ¯ i ¯ 1 , j ¯ , k ) ,
where
S = ( x f + x b ) × ( y f + y b ) , S 1 = x f × y f , S 2 = x b × y f , S 3 = x b × y b , S 4 = x f × y b .
(iii) If N x = N y = N z , for this case, we directly use the tri-linear interpolation operator on a non-uniform grid based on the volume law proposed in [7] (see Appendix C).

3.3. Relaxation Operator

The role of relaxation operators (such as Jacobi, Gauss–Seidel iteration, etc.) for the multigrid method is not to remove the errors, but to dump the high frequency components of the errors on the current grid while leaving the low frequency components to be removed by the coarser grids. In [19,20], the line Gauss–Seidel relaxation (for 2D) and plane Gauss–Seidel relaxation (for 3D) were used to remove the high frequency error components in the dominant direction(s) and prove to be very efficient and robust. In [7], the point Gauss–Seidel relaxation, the red-black Gauss–Seidel relaxation, the four-color Gauss–Seidel relaxation, and the alternating direction plane Gauss–Seidel relaxation were used as smoothers for the multigrid method, and their smoothing effect was compared with numerical experiments. In this paper, we use the line Gauss–Seidel relaxations as smoothers if the boundary or interior layers just exist in one direction as done in [19]; the plane Gauss–Seidel relaxations is used if the boundary or interior layers exist in two directions, as done in [20]. Once the boundary or interior layers exist in all three directions, the alternating plane Gauss–Seidel relaxation is applied as a smoother as done in [7].

4. Numerical Experiments

The following four convection–diffusion problems with boundary layers or interior layers are computed to validate the high accuracy and high efficiency of the present method. The definition domain of all problems is set to be Ω = [ 0 , 1 ] × [ 0 , 1 ] × [ 0 , 1 ] , and the Dirichlet boundary conditions are considered. All computations are coded by the Fortran 77 language, and the programs are stopped when the residuals in the L 2 norm on the finest grids are cut down by 10 10 . Maximum absolute error (Error) on the finest grid, the CPU time in seconds, numbers of multigrid V ( ν 1 , ν 2 ) cycles (Num), and convergence order are reported. The convergence order is computed by:
O r d e r = log ( E r r o r 1 / E r r o r 2 ) log ( N 2 / N 1 ) ,
where E r r o r 1 and E r r o r 2 are the maximum absolute errors estimated at two different grids with the numbers of grids N 1 and N 2 , respectively.

4.1. Problem 1

( Φ x x + Φ y y + Φ z z ) + p ( x , y , z ) Φ x + q ( x , y , z ) Φ y + r ( x , y , z ) Φ z = f ( x , y , z ) ,
where
p ( x , y , z ) = Re x ( x 1 ) ( 1 2 y ) ( 1 2 z ) , q ( x , y , z ) = Re y ( y 1 ) ( 1 2 x ) ( 1 2 z ) , r ( x , y , z ) = Re z ( z 1 ) ( 1 2 x ) ( 1 2 y ) .
The exact solution is
Φ ( x , y , z ) = e σ ( x 0.5 ) 2 y 2 z 2 .
A local large gradient solution exists at x = 0.5 with big σ , so we just refine grids on the x-axis while setting fewer grids on the y- and z-axes by using the grid distribution as follows:
x i = i N x + λ x 2 π sin ( 2 π i N x ) , y j = j N y , z k = k N z .
where λ x ( 1 , 1 ) is a stretching parameter that controls the distribution of grids on the x-axis. For example, 1 < λ x < 0 indicates that more grid points are clustered to the boundary x = 0 and x = 1 , whereas 0 < λ x < 1 indicates that more grid points are clustered around the middle of the region x = 0.5 . If λ x = 0 , the grid turns out to be uniform in the computational region.
We set R e = 10 2 , σ = 10 3 and multigrid V ( 2 , 2 ) cycles. Table 1 shows the computed results of maximum errors, multigrid iteration numbers, CPU time and comparisons with the full-coarsening grids [5]. We find that the computed accuracy does not lose when less grids are used in the two non-dominant directions. For example, when λ x = 0.6 , the maximum error with 32 × 16 × 16 grids is almost the same as that of 32 × 32 × 32 . It is not strange because the local gradient solution only occurs in the x-direction and not in the y- or z-direction. Thus, we can set fewer grids in them to reduce the computational cost and make the computation more efficient and cost-effective. For instance, on a non-uniform grid, the number of grid 32 × 16 × 16 is just a quarter of that of grid 32 × 32 × 32 , and the CPU time with 32 × 16 × 16 grids is also just a quarter of that of 32 × 32 × 32 grids. Under these conditions, we can find that the multigrid of partial semi-coarsening is much more efficient than that of full-coarsening as long as the multigrid iteration numbers and the CPU time are being compared. We note that 64 × 64 × 64 , 32 × 32 × 32 and 16 × 16 × 16 grids still used for a partial semi-coarsening grid algorithm is to show that the partial semi-coarsening grid algorithm can reduce to the full-coarsening grid algorithm if N x = N y = N z .
Table 2 gives the numerical results at R e = 10 2 , σ = 10 4 with λ x = 0.75 . We notice that, when σ is bigger, the solution in the interior layer changes more violently. However, the computed results on non-uniform grids are still very accurate. On the other hand, we notice that, when the number of grids in the dominant direction, i.e., the x-axis, is fixed, reducing the number of grid points on the y- and z-axes can still get almost equivalent accurate solutions as with fine grids in all three of the directions. By the comparison of the numerical results with 64 × 64 × 64 full-coarsening grids and 64 × 16 × 16 partial seim-coarsening grids, we can get that, for this case, a coarse grid with only a one-sixteenth grid of the fine grid is enough to achieve nearly the same accuracy as the fine grid in the three directions. As a result, the CPU time of a correspondingly partial semi-coarsening multigrid method is just about one-sixteenth of the cost by the full-coarsening multigrid method.
Figure 7a,b show the grid with 32 × 32 × 32 and 32 × 16 × 16 , with λ x = 0.75 in the x o y plane, respectively. Figure 7c,d show the computed solutions on 32 × 32 × 32 grids and 32 × 16 × 16 grids at the plane z = 0.375 for σ = 10 4 . We can see that the solution with 32 × 16 × 16 grids is almost indistinguishable from that with 32 × 32 × 32 grids. It also demonstrates that distributing more grids on non-dominant directions is unnecessary. However, computational efficiency is improved, and computing cost is saved because less grid points are involved.

4.2. Problem 2

ε ( Φ x x + Φ y y + Φ z z ) + 1 1 + y Φ y = f ( x , y , z ) .
The exact solution is
Φ ( x , y , z ) = z [ e y x + 2 1 / ε ( 1 + y ) 1 + 1 / ε ] .
For this example, when ε is small, a large gradient solution just occurs in the axis y = 1 , but not on x- and z-axes, so we use the following grid functions:
x i = i N x , y j = j N y + λ y π sin ( π j N y ) , z k = k N z .
The closer λ y is to 1, the more grid points are clustered near y = 1 .
Table 3 and Table 4 list the computed results for ε = 10 2 and ε = 10 3 , with λ y = 0.55 and λ y = 0.9 , respectively. By observing the maximum errors, we find that numerical solution precision does not decrease when we set fewer grids along the x- and z-axes while the number of grids along the y-axis is fixed. In other words, if the large gradient solution only happens in one coordinate axis, it is not necessary to use the same number of grids for the other two coordinate axes. Under such circumstances, computational cost and storage space would be saved. Additionally, we notice that, for this problem, the multigrid V ( 2 , 2 ) cycles are very efficient and more cost-effective than the multgrid method of full-coarsening [5] with fewer numbers of multgrid iterations and less CPU time. When ε = 10 3 , the boundary layer is steeper, but we still can get very accurate solutions on the non-uniform grids with few grid points on the non-dominant axes. The multigrid method of partial semi-coarsening still works well and is superior to the multigrid method of full-coarsening [5].
Figure 8a,b show the grid with 32 × 32 × 32 and 16 × 32 × 16 with λ y = 0.9 in the x o y plane, respectively. Figure 8c,d show the computed solution on 32 × 32 × 32 grids and 16 × 32 × 16 grids at the plane z = 0.5 for ε = 10 3 . We can see that the solutions computed by 16 × 32 × 16 grids and by 32 × 32 × 32 grids have no perceivable difference. It also illustrates that the partial semi-coarsening grid is a very effective strategy to deduce the computational cost and storage space.

4.3. Problem 3

( Φ x x + Φ y y + Φ z z ) + p ( x , y , z ) Φ x + q ( x , y , z ) Φ y + r ( x , y , z ) Φ z = f ( x , y , z ) ,
where
p ( x , y , z ) = Re x ( x 1 ) ( 1 2 y ) ( 1 2 z ) , q ( x , y , z ) = Re y ( y 1 ) ( 1 2 x ) ( 1 2 z ) , r ( x , y , z ) = Re z ( z 1 ) ( 1 2 x ) ( 1 2 y ) .
The exact solution is
Φ ( x , y , z ) = e σ [ ( x 0.5 ) 2 ( y 0.5 ) 2 ] z 2 .
The problem has steep interior layers on the axes x = 0.5 and y = 0.5 when σ is large. Thus, we distribute many more non-uniform grids on these two axes while fewer uniform grids on the z-axis. The grid functions are given as follows:
x i = i N x + λ x 2 π sin ( 2 π i N x ) , y j = j N y + λ y π sin ( π j N y ) , z k = k N z .
Table 5 shows the numerical results by using the multigrid methods of full-coarsening and partial semi-coarsening for the Problem in Section 4.3 with σ = 10 3 . We choose λ x = λ y = 0.55 . A multigrid V ( 2 , 2 ) cycle is used. We find that the computational cost (CPU time) dramatically descends because comparatively fewer grid points are used in a non-dominant direction (z-direction). However, the computational accuracy does not drop distinctly. Fewer V ( 2 , 2 ) cycles are needed for the multigrid method of partial semi-coarsening than that of the full-coarsening. It indicates that the multigrid method of partial semi-coarsening is more efficient and cost-effective than that of full-coarsening.
Table 6 gives the computed results when σ = 10 4 for the Problem in Section 4.3. λ x = λ y = 0.7 is used for both the full-coasening multigrid method and the partial semi-coarsening multigrid method. Under such circumstance, the solution in the interior layer changes more violently. The partial semi-coarsening with 64 × 64 × 16 grids gets almost the same accuracy for the numerical results as full-coarsening with 64 × 64 × 64 grids. However, the V ( 2 , 2 ) cycles consumed by the multigrid method of partial semi-coarsening are only half that of the full-coarsening. Meanwhile, the CPU time consumed by the multigrid method of partial semi-coarsening is only about one tenth of that by the full-coarsening.
Figure 9 shows the computed solution (c) with the full-coarsening non-uniform 64 × 64 × 64 grids (a), and the computed solution (d) with the partial semi-coarsening on non-uniform 64 × 64 × 16 grids (b), with λ x = λ y = 0.7 for σ = 10 4 , R e = 10 2 , at the plane x = 0.5 , for the Problem in Section 4.3. We observe that the difference between them is almost indistinguishable. Thus, we can draw that using fewer grids along the non-dominant direction does not influence the precision of the numerical solution. However, computational cost will be lowered since relatively fewer grids are used.

4.4. Problem 4

ε ( Φ x x + Φ y y + Φ z z ) + p ( x , y , z ) Φ x + q ( x , y , z ) Φ y + r ( x , y , z ) Φ z = f ( x , y , z ) ,
where
p ( x , y , z ) = x ( 1 y ) ( 2 z ) , q ( x , y , z ) = y ( 1 z ) ( 2 x ) , r ( x , y , z ) = z ( 1 x ) ( 2 y ) .
The exact solution is
Φ ( x , y , z ) = e x / ε + e y / ε + e z / ε 2 e 1 / ε 1 .
We notice that the Problem in Section 4.4 has a steep solution gradient along axes x = 1 , y = 1 and z = 1 when ε is small. Under this circumstance, we use grid distribution function as follows in order to set more grid points in the boundary layers on the x-, y-, and z-axes:
x i = i N x + λ x π sin ( π i N x ) , y j = j N y + λ y π sin ( π j N y ) , z k = j N z + λ z π sin ( π j N z ) .
When λ x = λ y = λ z = 0.75 , the grid with 32 × 32 × 32 in the x o y plane is shown in Figure 10a.
Table 7 gives the maximum error, convergence order, number of multigrid V ( 2 , 2 ) cycles, and CPU time of the full-coarsening multigrid method with uniform grids and non-uniform grids for the Problem in Section 4.4. We choose ε = 0.1 , 0.05 and 0.01 . Correspondingly, grid stretching parameters are set to be λ x = λ y = λ z = 0.35 , 0.5 and 0.8 , respectively. We notice that the maximum errors on non-uniform grids are superior to that on uniform grids. In addition, the multigrid methods are very efficient with both uniform and non-uniform grids. Under this condition, a few more multigrid V ( 2 , 2 ) cycles are needed on non-uniform grids than that on uniform grids. When ε = 0.01 , the computed results on the uniform grids are inaccurate, whereas very accurate solutions are obtained on the non-uniform grids. It fully demonstrates that the multigrid method of the partial semi-coarsening in this paper can reduce to that of the full-coarsening if boundary or interior layers exist on all three coordinate axes. In other words, the full-coarsening multigrid method in [5] is the special case of the present partial semi-coarsening multigrid method.
Figure 10 shows the exact solution (b), numerical solution on uniform grid (c), and numerical solution on the non-uniform grid (d) for ε = 10 2 , λ x = λ y = λ z = 0.8 at the plane z = 0.8125 . By observing the computed results of Figure 10c,d with the exact solution of Figure 10b, we can get that the numerical solution computed on the non-uniform grid is more accurate than that computed on the uniform grid.

5. Conclusions

In this study, we have extended the partial semi-coarsening multigrid method introduced in Ref. [23] for solving 2D boundary or interior layer problems of convection–diffusion equations to 3D cases. The highlight of this method is that it is allowed to use different numbers of grids in different coordinate axes, so it is cost-effective and suitable for solving the problems with local large gradients or boundary/interior layers that only exist on one or two axes for 3D problems. It overcomes the defect in our previous work in Ref. [5] with same numbers of grid points being used in all coordinate axes, which leads to a big waste of CPU time and storage. On the other hand, if the problems with local large gradients or boundary layers exist in all three coordinate axes, the present partial semi-coarsening multigrid method reduces to the full-coarsening multigrid method [5]. Thus, the present partial semi-coarsening strategy is more flexible for different types of boundary or interior layer problems. The computed results of numerical experiments validate that the partial semi-coarsening multigrid method, by using fewer grid points in non-dominant direction(s), is very efficient and cost-effective compared to the full-coarsening multigrid method, but the computed accuracy is not lost.
We emphasize that, although this work is the generalization of the work for 2D in Ref. [23], it is not straightforward—at least, their implementations are nontrivial—because only one dominant direction exists for 2D boundary or interior layers problems, but two dominant directions may exist for 3D cases. This inevitably adds complexity for the algorithm designing and program implementation. In addition, the present method can also be extended to solve 2D and 3D boundary layer fluid flow problems governed by the incompressible Navier–Stokes equations. This is beyond the scope of this paper, and we plan to do this research in the near future.

Author Contributions

Conceptualization, Y.G.; Methodology, T.M., F.C., and Y.G.; software, F.C. and T.M.; validation and formal analysis, F.C.; investigation, T.M. and F.C.; resources, F.C. and Y.G.; writing—original draft preparation, T.M., F.C. and L.Z.; writing—review and editing, Y.G. and L.Z.; funding acquisition, F.C. and Y.G. All authors have read and agreed to the published version of the manuscript.

Funding

This work is partially supported by the National Natural Science Foundation of China (Grants No. 11772165, 11961054, 11902170,11801287), Inner Mongolia Autonomous Region ”Youth Science and Technology Talents” support program (Grant No. NJYT20B15), Inner Mongolia Scientific Fund Project (Grants No. 2018BS01002,2018LH01008), Innovation Fund Project of Inner Mongolia University of Science and Technology—Excellent Youth Science Fund Project(Grant No. 2019YQL02), National Youth Top-Notch Talent Support Program of Ningxia, and the First Class Discipline Construction Project in Ningxia Universities: Mathematics.

Data Availability Statement

The data presented in this paper are calculated through numerical experiments and are available.

Acknowledgments

We would like to thank the editors and the referees whose constructive comments and suggestions are helpful to improve the quality of this paper.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

2Dtwo-dimensional
3Dthree-dimensional
HOChigh-order compact
Φ unknown function
pconvective coefficient on the x-axis
qconvective coefficient on the y-axis
rconvective coefficient on the z-axis
fthe forcing function
xspatial coordinate on the x-axis
yspatial coordinate on the y-axis
zspatial coordinate on the z-axis
Ω computational domain
Ω domain boundary
CPUcomputing time
[ a 1 , a 2 ] computational domain on the x-axis, a 1 < a 2
[ b 1 , b 2 ] computational domain on the y-axis, b 1 < b 2
[ c 1 , c 2 ] computational domain on the z-axis, c 1 < c 2
x i discrete point coordinate on the x-axis
y i discrete point coordinate on the y-axis
z i discrete point coordinate on the z-axis
N x number of discrete grids on the x-axis
N y number of discrete grids on the y-axis
N z number of discrete grids on the z-axis
idiscrete grid index on the x-axis on the fine grid
jdiscrete grid index on the y-axis on the fine grid
kdiscrete grid index on the z-axis on the fine grid
i ¯ discrete grid index on the x-axis on the coarse grid
j ¯ discrete grid index on the y-axis on the coarse grid
k ¯ discrete grid index on the z-axis on the coarse grid
x b backward step length on the x-axis
x f forward step length on the x-axis
y b backward step lengths on the y-axis
y f forward step lengths on the y-axis
z b backward step lengths on the z-axis
z f forward step lengths on the z-axis
δ x , δ x 2 the first and second order central difference operator on the x-axis
δ y , δ y 2 the first and second order central difference operator on the y-axis
δ z , δ z 2 the first and second order central difference operator on the z-axis
rresidual on the fine grid
r ¯ residual on the coarse grid
S i ( i = 1 , , 8 ) area of the i-th subregion
ν 1 pre-smoothing times
ν 2 post-smoothing times
Errormaximum absolute error
Numnumbers of multigrid iterations
Orderconvergence order
logbase 10 logarithmic function
ReReynolds number
σ boundary or interior layer parameters
ϵ diffusion coefficient
λ x grids stretching parameters on the x-axis
λ y grids stretching parameters on the y-axis
λ z grids stretching parameters on the z-axis

Appendix A. Details of the Finite Difference Operators

The expressions of the finite difference operators appearing in Equation (2) are listed as follows [5]:
δ x Φ 0 = 1 2 h x b x f Φ 1 x f x b Φ 3 + 1 x b 1 x f Φ 0 ,
δ y Φ 0 = 1 2 k y b y f Φ 2 y f y b Φ 4 + 1 y b 1 y f Φ 0 ,
δ z Φ 0 = 1 2 l z b z f Φ 5 z f z b Φ 6 + 1 z b 1 z f Φ 0 ,
δ x 2 Φ 0 = 1 h Φ 1 x f 1 x f + 1 x b Φ 0 + Φ 3 x b ,
δ y 2 Φ 0 = 1 k Φ 2 y f 1 y f + 1 y b Φ 0 + Φ 4 y b ,
δ z 2 Φ 0 = 1 l Φ 5 z f 1 z f + 1 z b Φ 0 + Φ 6 z b ,
δ x δ y Φ 0 = 1 4 h k Φ 7 Φ 8 Φ 10 + Φ 9 ,
δ x δ z Φ 0 = 1 4 h l Φ 11 Φ 13 Φ 15 + Φ 17 ,
δ y δ z Φ 0 = 1 4 k l Φ 12 Φ 14 Φ 16 + Φ 18 ,
δ x δ y 2 Φ 0 = 1 2 h k 1 y f Φ 7 Φ 8 1 y f + 1 y b Φ 1 Φ 3 + 1 y b Φ 10 Φ 9 ,
δ x 2 δ y Φ 0 = 1 2 h k 1 x f ( Φ 7 Φ 10 ) 1 x f + 1 x b ( Φ 2 Φ 4 ) + 1 x b ( Φ 8 Φ 9 ) ,
δ x δ z 2 Φ 0 = 1 2 h l 1 z f ( Φ 11 Φ 13 ) 1 z f + 1 z b ( Φ 1 Φ 3 ) + 1 z b ( Φ 15 Φ 17 ) ,
δ x 2 δ z Φ 0 = 1 2 h l 1 x f ( Φ 11 Φ 15 ) 1 x f + 1 x b ( Φ 5 Φ 6 ) + 1 x b ( Φ 13 Φ 17 ) ,
δ y δ z 2 Φ 0 = 1 2 k l 1 z f ( Φ 12 Φ 14 ) 1 z f + 1 z b ( Φ 2 Φ 4 ) + 1 z b ( Φ 16 Φ 18 ) ,
δ y 2 δ z Φ 0 = 1 2 k l 1 y f ( Φ 12 Φ 16 ) 1 y f + 1 y b ( Φ 5 Φ 6 ) + 1 y b ( Φ 14 Φ 18 ) ,
δ x 2 δ y 2 Φ 0 = 1 h k [ Φ 7 x f y f + Φ 8 x b y f + Φ 9 x b y b + Φ 10 x f y b + 1 x f y f + 1 x f y b + 1 x b y f + 1 x b y b Φ 0 1 x f y f + 1 x f y b Φ 1 1 x f y f + 1 x b y f Φ 2 1 x b y f + 1 x b y b Φ 3 1 x f y b + 1 x b y b Φ 4 ] ,
δ x 2 δ z 2 Φ 0 = 1 h l [ Φ 11 x f z f + Φ 13 x b z f + Φ 15 x f z b + Φ 17 x b z b + 1 x f z f + 1 x b z f + 1 x f z b + 1 x b z b Φ 0 1 x f z f + 1 x f z b Φ 1 1 x b z f + 1 x b z b Φ 3 1 x f z f + 1 x b z f Φ 5 1 x f z b + 1 x b z b Φ 6 ] ,
δ x 2 δ z 2 Φ 0 = 1 k l [ Φ 12 y f z f + Φ 14 y b z f + Φ 16 y f z b + Φ 18 y b z b + 1 y f z f + 1 y b z f + 1 y f z b + 1 y b z b Φ 0 1 y f z f + 1 y f z b Φ 2 1 y b z f + 1 y b z b Φ 4 1 y f z f + 1 y b z f Φ 5 1 y f z b + 1 y b z b Φ 6 ] ,
in which h = 1 2 ( x f + x b ) , k = 1 2 ( y f + y b ) , l = 1 2 ( z f + z b ) .

Appendix B. Restriction Operator on a Non-Uniform Grid When Nx = Ny = Nz

When N x = N y = N z , the full weighting restriction operator on non-uniform grids is explicitly written out as [7]
r ¯ i ¯ , j ¯ , k ¯ = 1 V ( V 0 r i , j , k + V 1 r i 1 , j , k + V 2 r i , j 1 , k + V 3 r i + 1 , j , k + V 4 r i , j + 1 , k + V 5 r i , j , k 1 + V 6 r i , j , k + 1 + V 7 r i 1 , j 1 , k + V 8 r i + 1 , j 1 , k + V 9 r i + 1 , j + 1 , k + V 10 r i 1 , j + 1 , k + V 11 r i 1 , j , k 1 + V 12 r i , j 1 , k 1 + V 13 r i + 1 , j , k 1 + V 14 r i , j + 1 , k 1 + V 15 r i 1 , j , k + 1 + V 16 r i , j 1 , k + 1 + V 17 r i + 1 , j , k + 1 + V 18 r i , j + 1 , k + 1 + V 19 r i 1 , j 1 , k 1 + V 20 r i + 1 , j 1 , k 1 + V 21 r i + 1 , j + 1 , k 1 + V 22 r i 1 , j + 1 , k 1 + V 23 r i 1 , j 1 , k + 1 + V 24 r i + 1 , j 1 , k + 1 + V 25 r i + 1 , j + 1 , k + 1 + V 26 r i 1 , j + 1 , k + 1 ) ,
in which
V = ( x f + x b ) × ( y f + y b ) × ( z f + z b ) , V 0 = 1 8 ( x f + x b ) × ( y f + y b ) × ( z f + z b ) , V 1 = 1 8 x f × ( y f + y b ) × ( z f + z b ) , V 2 = 1 8 y f × ( x f + x b ) × ( z f + z b ) , V 3 = 1 8 x b × ( y f + y b ) × ( z f + z b ) , V 4 = 1 8 y b × ( x f + x b ) × ( z f + z b ) , V 5 = 1 8 z f × ( x f + x b ) × ( y f + y b ) , V 6 = 1 8 z b × ( x f + x b ) × ( y f + y b ) , V 7 = 1 8 x f × y f × ( z f + z b ) ,
V 8 = 1 8 x b × y f × ( z f + z b ) , V 9 = 1 8 x b × y b × ( z f + z b ) , V 10 = 1 8 x f × y b × ( z f + z b ) , V 11 = 1 8 x f × z f × ( y f + y b ) , V 12 = 1 8 y f × z f × ( x f + x b ) , V 13 = 1 8 x b × z f × ( y f + y b ) , V 14 = 1 8 y b × z f × ( x f + x b ) , V 15 = 1 8 x f × z b × ( y f + y b ) , V 16 = 1 8 y f × z b × ( x f + x b ) , V 17 = 1 8 x b × z b × ( y f + y b ) , V 18 = 1 8 y b × z b × ( x f + x b ) , V 19 = 1 8 x f × y f × z f , V 20 = 1 8 x b × y f × z f , V 21 = 1 8 x b × y b × z f , V 22 = 1 8 x f × y b × z f , V 23 = 1 8 x f × y f × z b , V 24 = 1 8 x b × y f × z b , V 25 = 1 8 x b × y b × z b , V 26 = 1 8 x f × y b × z b .

Appendix C. Interpolation Operator on a Non-Uniform Grid When Nx = Ny = Nz

When N x = N y = N z , the tri-linear interpolation operator on non-uniform grids is explicitly written out as [7]
r i , j , k = r ¯ i ¯ , j ¯ , k ¯ , r i 1 , j , k = 1 x f + x b ( x f r ¯ i ¯ 1 , j ¯ , k ¯ + x b r ¯ i ¯ , j ¯ , k ¯ ) ,
r i , j 1 , k = 1 y f + y b ( y f r ¯ i ¯ , j ¯ 1 , k ¯ + y b r ¯ i ¯ , j ¯ , k ¯ ) , r i , j , k 1 = 1 z f + z b ( z f r ¯ i ¯ , j ¯ , k ¯ 1 + z b r ¯ i ¯ , j ¯ , k ¯ ) ,
r i 1 , j 1 , k = 1 S x y ( S 1 x y r ¯ i ¯ 1 , j ¯ 1 , k ¯ + S 2 x y r ¯ i ¯ , j ¯ 1 , k ¯ + S 3 x y r ¯ i ¯ , j ¯ , k + S 4 x y r ¯ i ¯ 1 , j ¯ , k ¯ ) ,
r i , j 1 , k 1 = 1 S y z ( S 1 y z r ¯ i ¯ , j ¯ 1 , k ¯ 1 + S 2 y z r ¯ i ¯ , j ¯ , k ¯ 1 + S 3 y z r ¯ i ¯ , j ¯ , k ¯ + S 4 y x r ¯ i ¯ , j ¯ 1 , k ¯ ) ,
r i 1 , j , k 1 = 1 S x z ( S 1 x z r ¯ i ¯ 1 , j ¯ , k ¯ 1 + S 2 x z r ¯ i ¯ , j ¯ , k ¯ 1 + S 3 x z r ¯ i ¯ , j ¯ , k ¯ + S 4 x y r ¯ i ¯ 1 , j ¯ , k ¯ ) ,
r i 1 , j 1 , k 1 = 1 V ˜ ( V ˜ 1 r i ¯ 1 , j ¯ 1 , k ¯ 1 + V ˜ 2 r ¯ i ¯ , j ¯ 1 , k ¯ 1 + V ˜ 3 r ¯ i ¯ , j ¯ , k ¯ 1 + V ˜ 4 r ¯ i ¯ 1 , j ¯ , k ¯ 1 + V ˜ 5 r ¯ i ¯ 1 , j ¯ 1 , k ¯ + V ˜ 6 r ¯ i ¯ , j ¯ 1 , k ¯ + V ˜ 7 r ¯ i ¯ , j ¯ , k ¯ + V ˜ 8 r ¯ i ¯ 1 , j ¯ , k ¯ ) ,
in which
S x y = ( x f + x b ) × ( y f + y b ) , S y z = ( y f + y b ) × ( z f + z b ) , S x z = ( x f + x b ) × ( z f + z b ) , S 1 x y = x f × y f , S 2 x y = x b × y f , S 3 x y = x b × y b , S 4 x y = x f × y b , S 1 y z = y f × z f , S 2 y z = y b × z f , S 3 y z = y b × z b , S 4 z y = y f × z b , S 1 x z = x f × z f , S 2 x z = x b × z f , S 3 x z = x b × z b , S 4 x z = x f × z b ,
and
V ˜ = ( x f + x b ) × ( y f + y b ) × ( z f + z b ) , V ˜ 1 = x f × y f × z f , V ˜ 2 = x b × y f × z f , V ˜ 3 = x b × y b × z f , V ˜ 4 = x f × y b × z f , V ˜ 5 = x f × y f × z b , V ˜ 6 = x b × y f × z b , V ˜ 7 = x b × y b × z b , V ˜ 8 = x f × y b × z b .

References

  1. Batchelor, G.K. An Introduction to Fluid Dynamics; Cambridge University Press: Cambridge, UK, 1967. [Google Scholar]
  2. Blazek, J. Computational Fluid Dynamics: Principles and Applications; Butterworth-Heinemann: Oxford, UK, 2005. [Google Scholar]
  3. Zhang, J. An explicit fourth-order compact finite difference scheme for three-dimensional convection–diffusion equation. Commun. Numer. Methods Eng. 1998, 14, 263–280. [Google Scholar] [CrossRef]
  4. Zhang, J.; Ge, L.; Gupta, M.M. Fourth order compact difference schemes for 3D convection diffusion eqution with boundary layers on non-uniform grid. Neural Parallel Sci. Comput. 2000, 8, 373–392. [Google Scholar]
  5. Ge, Y.; Cao, F. A high order compact difference scheme and multigrid method for solving the 3D convection diffusion equation on non-uniform grids. In Proceedings of the 2012 Fourth International Conference on Computational and Information Sciences (ICCIS’12), Chongqing, China, 17–19 August 2012; pp. 714–717. [Google Scholar] [CrossRef]
  6. Dai, R.; Wang, Y.; Zhang, J. Fast and high accuracy multiscale multigrid method with multiple coarse grid updating strategy for the 3D convection–diffusion equation. Comput. Math. Appl. 2013, 66, 542–559. [Google Scholar] [CrossRef]
  7. Ge, Y.; Cao, F.; Zhang, J. A transformation-free HOC scheme and multigrid method for solving the 3D Poisson equation on non-uniform grids. J. Comput. Phys. 2013, 234, 199–216. [Google Scholar] [CrossRef]
  8. Gupta, M.M.; Manohar, R.P.; Stephenson, J.W. A single cell high order scheme for the convection–diffusion equation with variable coefficients. Int. J. Numer. Meth. Fluids 1984, 4, 641–651. [Google Scholar] [CrossRef]
  9. Ge, L.; Zhang, J. High accuracy iterative solution of convection diffusion equation with boundary layers on non-uniform grids. J. Comput. Phys. 2001, 171, 560–578. [Google Scholar] [CrossRef] [Green Version]
  10. Radhakrishna Pillai, A.C. Fourth-order exponential finite difference methods for boundary value problems of convective diffusion type. Int. J. Numer. Meth. Fluids 2001, 37, 87–106. [Google Scholar] [CrossRef]
  11. Kalita, J.C.; Dass, A.K.; Dalal, D.C. A transformation-free HOC scheme for steady convection–diffusion on non-uniform grids. Int. J. Numer. Meth. Fluids 2004, 44, 33–53. [Google Scholar] [CrossRef]
  12. Tian, Z.F.; Dai, S.Q. High-order compact exponential finite difference methods for convection–diffusion type problems. J. Comput. Phys. 2007, 220, 952–974. [Google Scholar] [CrossRef]
  13. Farrell, P.A.; Hegarty, A.F.; Miller, J.J.H.; O’Rordan, E.; Shishkin, G.I. Robust Computational Techniques for Boundary Layers; Champan & Hall/CRC: Boca, Raton, FL, USA, 2000. [Google Scholar]
  14. Zhang, J.; Sun, H.; Zhao, J. High order compact scheme with multigrid local mesh refinement procedure for convection diffusion problems. Comput. Methods Appl. Mech. Eng. 2002, 191, 4661–4674. [Google Scholar] [CrossRef]
  15. Shanab, R.A.; Seddek, L.F.; Mohamed, S.A. Non-uniform HOC scheme for the 3D convection–diffusion equation. Appl. Comput. Math. 2013, 2, 64–77. [Google Scholar] [CrossRef] [Green Version]
  16. Brandt, A. Multi-level adaptive solutions to boundary-value problems. Math. Comp. 1977, 31, 333–390. [Google Scholar] [CrossRef]
  17. Li, M.; Zheng, Z.; Pan, K. Extrapolation multiscale multigrid method for solving 2D Poisson equation with sixth order compact scheme. J. Appl. Math. Comput. 2019, 60, 589–604. [Google Scholar] [CrossRef]
  18. Gupta, M.M.; Kouatchou, J.; Zhang, J. Comparison of second- and fourth-order discretization for multigrid Poisson solvers. J. Comput. Phys. 1997, 132, 226–232. [Google Scholar] [CrossRef] [Green Version]
  19. Zhang, J. Multigrid method and fourth-order compact scheme for 2D Poisson equation with unequal mesh-size discretization. J. Comput. Phys. 2002, 179, 170–179. [Google Scholar] [CrossRef] [Green Version]
  20. Ge, Y. Multigrid method and fourth-order compact difference discretization scheme with unequal meshsizes for 3D Poisson equation. J. Comput. Phys. 2010, 229, 6381–6391. [Google Scholar] [CrossRef]
  21. Gupta, M.M.; Kouatchou, J.; Zhang, J. A compact multigrid solver for convection–diffusion equations. J. Comput. Phys. 1997, 132, 123–129. [Google Scholar] [CrossRef]
  22. Ge, Y.; Cao, F. Multigrid method based on the transformation-free HOC scheme on non-uniform grids for 2D convection diffusion problems. J. Comput. Phys. 2011, 230, 4051–4070. [Google Scholar] [CrossRef]
  23. Cao, F.; Ge, Y.; Sun, H.-W. Partial semi-coarsening multigrid method based on the HOC scheme on non-uniform grids for the convection–diffusion problems. Int. J. Comput. Math. 2017, 94, 2356–2372. [Google Scholar] [CrossRef]
  24. Medina, A.C.; Schmid, R. Solution of high order compact discretized 3D elliptic partial differential equations by an accelerated multigrid method. J. Comput. Appl. Math. 2019, 350, 343–352. [Google Scholar] [CrossRef]
  25. Wesseling, P. An Introduction to Multigrid Methods; Wiley: Chichester, UK, 1992. [Google Scholar]
  26. Mulder, W.A. A new multigrid approach to convection problems. J. Comput. Phys. 1989, 83, 303–317. [Google Scholar] [CrossRef]
  27. Liu, C.; Liu, Z. Multigrid mapping and box relaxation for simulation of the whole process of flow transition in 3D boundary layers. J. Comput. Phys. 1995, 119, 325–341. [Google Scholar] [CrossRef]
  28. Liu, C. Multilevel Adaptive Methods in Computational Fluid Dynamics. Ph.D Thesis, University of Colorado Denver, Denver, CO, USA, 1989. [Google Scholar]
Figure 1. The stencil of 3D non-uniform grids.
Figure 1. The stencil of 3D non-uniform grids.
Symmetry 13 01123 g001
Figure 2. Process of grid partial semi-coarsening.
Figure 2. Process of grid partial semi-coarsening.
Symmetry 13 01123 g002
Figure 3. Length in the x-direction for the restriction operator.
Figure 3. Length in the x-direction for the restriction operator.
Symmetry 13 01123 g003
Figure 4. Areas in both the x- and y-directions for the restriction operator.
Figure 4. Areas in both the x- and y-directions for the restriction operator.
Symmetry 13 01123 g004
Figure 5. Length in the x-direction for the interpolation operator.
Figure 5. Length in the x-direction for the interpolation operator.
Symmetry 13 01123 g005
Figure 6. Areas in both the x- and y-directions for the interpolation operator.
Figure 6. Areas in both the x- and y-directions for the interpolation operator.
Symmetry 13 01123 g006
Figure 7. (a,b) Non-uniform grids with λ x = 0.75 in the x o y plane; (c,d) computed solutions on a non-uniform grid, for σ = 10 4 , R e = 10 2 , at the plane z = 0.375 , Problem in Section 4.1.
Figure 7. (a,b) Non-uniform grids with λ x = 0.75 in the x o y plane; (c,d) computed solutions on a non-uniform grid, for σ = 10 4 , R e = 10 2 , at the plane z = 0.375 , Problem in Section 4.1.
Symmetry 13 01123 g007
Figure 8. (a,b) Non-uniform grids with λ y = 0.9 in x o y plane; (c,d) computed solutions on a non-uniform grid, for ε = 10 3 , at the plane z = 0.5 , Problem in Section 4.2.
Figure 8. (a,b) Non-uniform grids with λ y = 0.9 in x o y plane; (c,d) computed solutions on a non-uniform grid, for ε = 10 3 , at the plane z = 0.5 , Problem in Section 4.2.
Symmetry 13 01123 g008
Figure 9. (a,b) Non-uniform grids with λ x = λ y = 0.7 in y o z plane; (c,d) Computed solutions on non-uniform grid, for σ = 10 4 , R e = 10 2 , at the plane x = 0.5 , Problem in Section 4.3.
Figure 9. (a,b) Non-uniform grids with λ x = λ y = 0.7 in y o z plane; (c,d) Computed solutions on non-uniform grid, for σ = 10 4 , R e = 10 2 , at the plane x = 0.5 , Problem in Section 4.3.
Symmetry 13 01123 g009
Figure 10. (a) Non-uniform grid with λ x = λ y = λ z = 0.8 in the x y plane; (b) exact solution; (c,d) computed solutions, for ε = 10 2 , at the plane z = 0.8125 , Problem in Section 4.4.
Figure 10. (a) Non-uniform grid with λ x = λ y = λ z = 0.8 in the x y plane; (b) exact solution; (c,d) computed solutions, for ε = 10 2 , at the plane z = 0.8125 , Problem in Section 4.4.
Symmetry 13 01123 g010
Table 1. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.1 ( σ = 10 3 , λ x = 0.6 ).
Table 1. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.1 ( σ = 10 3 , λ x = 0.6 ).
Full-Coarsening Grids [5]Partial Semi-Coarsening Grids
N x × N y × N z NumCPUError N x × N y × N z NumCPUError
64 × 64 × 64 115.0232.175 × 10 4 64 × 64 × 64 115.0232.175 × 10 4
64 × 32 × 32 91.4822.476 × 10 4
64 × 16 × 16 60.2965.240 × 10 4
64 × 8 × 8 60.1251.831 × 10 3
32 × 32 × 32 110.9992.732 × 10 3 32 × 32 × 32 110.9992.732 × 10 3
32 × 16 × 16 70.2502.784 × 10 3
32 × 8 × 8 50.0634.211 × 10 3
16 × 16 × 16 100.1417.539 × 10 2 16 × 16 × 16 100.1417.539 × 10 2
16 × 8 × 8 110.0477.606 × 10 2
Table 2. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.1 ( σ = 10 4 , λ x = 0.75 ).
Table 2. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.1 ( σ = 10 4 , λ x = 0.75 ).
Full-Coarsening Grids [5]Partial Semi-Coarsening Grids
N x × N y × N z NumCPUError N x × N y × N z NumCPUError
64 × 64 × 64 128.6581.533 × 10 3 64 × 64 × 64 128.6581.533 × 10 3
64 × 32 × 32 92.2151.533 × 10 3
64 × 16 × 16 60.4991.568 × 10 3
64 × 8 × 8 50.1402.434 × 10 3
32 × 32 × 32 121.0762.690 × 10 2 32 × 32 × 32 121.0762.690 × 10 2
32 × 16 × 16 80.2342.827 × 10 2
32 × 8 × 8 60.0782.950 × 10 2
Table 3. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.2 ( ε = 10 2 , λ y = 0.55 ).
Table 3. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.2 ( ε = 10 2 , λ y = 0.55 ).
Full-Coarsening Grids [5]Partial Semi-Coarsening Grids
N x × N y × N z NumCPUError N x × N y × N z NumCPUError
64 × 64 × 64 1325.3703.875 × 10 6 64 × 64 × 64 1325.3703.875 × 10 6
32 × 64 × 32 157.0663.944 × 10 6
16 × 64 × 16 70.7334.357 × 10 6
8 × 64 × 8 50.1403.860 × 10 6
32 × 32 × 32 111.9506.095 × 10 5 32 × 32 × 32 111.9506.095 × 10 5
16 × 32 × 16 60.3126.564 × 10 5
8 × 32 × 8 50.0945.897 × 10 5
16 × 16 × 16 60.1561.196 × 10 3 16 × 16 × 16 60.1561.196 × 10 3
8 × 16 × 8 40.0471.271 × 10 3
Table 4. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.2 ( ε = 10 3 , λ y = 0.9 ).
Table 4. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.2 ( ε = 10 3 , λ y = 0.9 ).
Full-Coarsening Grids [5]Partial Semi-Coarsening Grids
N x × N y × N z NumCPUError N x × N y × N z NumCPUError
64 × 64 × 64 1011.5003.828 × 10 4 64 × 64 × 64 1011.5003.828 × 10 4
32 × 64 × 32 61.9114.102 × 10 4
16 × 64 × 16 60.4804.082 × 10 4
8 × 64 × 8 60.1203.885 × 10 4
32 × 32 × 32 81.1819.275 × 10 3 32 × 32 × 32 81.1819.275 × 10 3
16 × 32 × 16 60.2349.232 × 10 3
8 × 32 × 8 60.0948.737 × 10 3
Table 5. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.3 with σ = 10 3 , λ x = λ y = 0.55 .
Table 5. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.3 with σ = 10 3 , λ x = λ y = 0.55 .
Full-Coarsening Grids [5]Partial Semi-Coarsening Grids
N x × N y × N z NumCPUError N x × N y × N z NumCPUError
64 × 64 × 64 1924.3203.827 × 10 4 64 × 64 × 64 1924.3203.827 × 10 4
64 × 64 × 32 128.6153.853 × 10 4
64 × 64 × 16 113.0894.175 × 10 4
64 × 64 × 8 111.3734.741 × 10 4
32 × 32 × 32 131.6846.652 × 10 3 32 × 32 × 32 131.6846.652 × 10 3
33 × 32 × 16 110.7647.116 × 10 3
32 × 32 × 8 110.3277.382 × 10 3
16 × 16 × 16 100.1561.515 × 10 1 16 × 16 × 16 100.1561.515 × 10 1
16 × 16 × 8 100.0791.558 × 10 1
Table 6. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.3 with σ = 10 4 , λ x = λ y = 0.7 .
Table 6. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.3 with σ = 10 4 , λ x = λ y = 0.7 .
Full-Coarsening Grids [5]Partial Semi-Coarsening Grids
N x × N y × N z NumCPUError N x × N y × N z NumCPUError
64 × 64 × 64 3442.8707.505 × 10 3 64 × 64 × 64 3442.8707.505 × 10 3
64 × 64 × 32 1710.8907.856 × 10 3
64 × 64 × 16 164.0127.968 × 10 3
64 × 64 × 8 161.8568.067 × 10 3
32 × 32 × 32 182.2871.916 × 10 1 32 × 32 × 32 182.2871.916 × 10 1
32 × 32 × 16 160.9831.923 × 10 1
32 × 32 × 8 160.4531.905 × 10 1
Table 7. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.4.
Table 7. Maximum errors, multigrid iteration numbers, and CPU time for Problem in Section 4.4.
N x × N y × N z Uniform GridNon-Uniform Grid
NumCPUErrorOrderNumCPUErrorOrder
ε = 0.1 λ x = λ y = λ z = 0.35
16 × 16 × 16 60.2034.096 × 10 4 60.2034.452 × 10 5
32 × 32 × 32 72.0282.615 × 10 5 3.9782.1532.748 × 10 6 4.02
64 × 64 × 64 716.1101.646 × 10 6 3.991123.9101.712 × 10 7 4.00
ε = 0.05 λ x = λ y = λ z = 0.5
16 × 16 × 16 60.2346.348 × 10 3 60.2232.921 × 10 4
32 × 32 × 32 72.1224.279 × 10 4 3.89102.8521.784 × 10 5 4.03
64 × 64 × 64 717.5102.730 × 10 5 3.971536.2301.111 × 10 6 4.01
ε = 0.01 λ x = λ y = λ z = 0.8
16 × 16 × 16 60.1717.759 × 10 1 60.2188.423 × 10 3
32 × 32 × 32 61.4191.585 × 10 1 2.29122.5914.989 × 10 4 4.08
64 × 64 × 64 610.2201.474 × 10 2 3.432643.1803.076 × 10 5 4.02
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Ma, T.; Zhang, L.; Cao, F.; Ge, Y. A Special Multigrid Strategy on Non-Uniform Grids for Solving 3D Convection–Diffusion Problems with Boundary/Interior Layers. Symmetry 2021, 13, 1123. https://doi.org/10.3390/sym13071123

AMA Style

Ma T, Zhang L, Cao F, Ge Y. A Special Multigrid Strategy on Non-Uniform Grids for Solving 3D Convection–Diffusion Problems with Boundary/Interior Layers. Symmetry. 2021; 13(7):1123. https://doi.org/10.3390/sym13071123

Chicago/Turabian Style

Ma, Tianlong, Lin Zhang, Fujun Cao, and Yongbin Ge. 2021. "A Special Multigrid Strategy on Non-Uniform Grids for Solving 3D Convection–Diffusion Problems with Boundary/Interior Layers" Symmetry 13, no. 7: 1123. https://doi.org/10.3390/sym13071123

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop