Mathematical Problems in Engineering

Mathematical Problems in Engineering / 2009 / Article

Research Article | Open Access

Volume 2009 |Article ID 282307 | 13 pages | https://doi.org/10.1155/2009/282307

A Twisted Block Tangential Filtering Decomposition Preconditioner

Academic Editor: Ben T. Nohara
Received25 Dec 2008
Accepted24 Feb 2009
Published14 Jun 2009

Abstract

For block-tridiagonal linear system of equations, a variant of tangential filtering preconditioners is proposed in this paper. The new variant is based on a twisted block factorization along with certain filtering property. For practical usage, a class of composite preconditioners tested, which are constructed by combining the twisted tangential filtering decomposition preconditioner with the classical preconditioner in a multiplicative way. The performance of the new preconditioners is compared with other classical preconditioners; the superiority and the weakness of the preconditioners are pointed out.

1. Introduction

In many scientific and engineer applications, for example, simulation of laser propagation in a plasma [1] and study of transport in highly heterogeneous porous media [2], we have to numerically solve certain partial differential equations in 2D or 3D. The discretization of these PDEs by finite difference or finite volume schemes usually leads to large block-tridiagonal linear system:

with

Due to the size of the problem, preconditioned Krylov iterative methods have become one of the most popular choices. It is generally recognized that the efficiency of the linear systems solver heavily depends on the property of the preconditioners. Therefore, the construction of robust and efficient preconditioners has become an interesting research topic. Several incomplete block factorization preconditioners have been proposed by many researchers, see, for example, Axelsson [35] and Meurant [68]. Frequency filtering preconditioners [916] advocated by G. Wittum and his successor are a special kind of incomplete block factorization preconditioner. This class of preconditioning techniques has been illustrated particularly efficient for linear systems arising from the discretization of partial differential equations with discontinuous coefficients.

With the development of techniques of parallel computing, developing high-performance preconditioners that are suitable for parallel computing environment is becoming an important topic. In this paper, we propose a tangential filtering preconditioner constructed by the framework of twisted block factorization. Firstly, the constructed preconditioner has a filtering property. Secondly, the construction and solving procedures of the twisted factorization preconditioner are carried out from two sides, which can be done in parallel. The performance of the newly built preconditioner is compared with the tangential filtering preconditioner proposed in [10]. For practical applications, Achdou and Nataf [10] propose to combine the tangential filtering preconditioner with the preconditioner. In this paper, we also consider to combine the twisted tangential filtering preconditioner with the preconditioner in the following way: The performance of several different preconditioners is compared on some linear systems generated from the discretization of boundary value problems with discontinuous coefficients. The results show that the twisted block factorization preconditioner and its corresponding preconditioner output other preconditioners on some problems.

In Section 2, we give a brief introduction of twisted block tangential filtering decomposition and then introduce the twisted block tangential filtering decomposition preconditioner. In Section 3, we analyze the properties of the preconditioner. In Section 4, we give numerical experiments to compare the performances of different types of preconditioners.

2. A Twisted Block Tangential Filtering Decomposition

The block factorization of is where , () are square invertible matrices. Matrices (resp. ) are (resp. ) matrices. The matrices satisfy the induction formula The block factorization can be written as Similar to the block factorization, the block factorization of has the form where with satisfies Then the twisted block factorization can be written as where

The index satisfies , the matrix with the diagonal block satisfies the following relationship:

Different from diagonal block matrix of , the matrices becomes dense quickly. Therefore, factorization (2.6) cannot be used for large problems in practice. However, the framework can be used to build an incomplete twisted block-factorization preconditioner for . Precisely, we can replace the blocks by suitably chosen sparse or block-sparse approximations , (). Then an incomplete factorization preconditioner is constructed, which has the following form: with .

From (2.9) it is easy to see that solving linear system is equivalent to solving the following two linear systems By exploiting the structure, both of the linear systems can be solved by the forward and backward sweeps. Suppose , , and according to the block structure of . Then the process of solving can be described in Algorithm 1.

Remark 2.1. Each of the solvers for and described in Algorithm 1 involves forward and backward sweeps, and the two sweeps have no relationship with each other, so the forward and backward sweeps can be run in parallel.The procedure of constructing of is consistent with the idea presented in [10]. Suppose we have approximation of which satisfies then which implies It means that is a better approximation of than . According to (2.8), we have the following formula for Then the new block factorization preconditioner based on the twisted factorization can be constructed by choosing properly. Following the tangential filtering condition proposed in [10], a diagonal approximation can be determined such that where is a filtering vector.

Lemma 2.2. If the matrices are invertible, then one has with

Proof. Consider the matrix and observe that thus (2.17) holds.

Now we consider how to form a diagonal matrix . Let be a given vector. If there are no zero entries in the vectors and , then it is possible to find diagonal matrices such that produces the same effect with when operating on the filtering vector , that is, From (2.17), we can see that it is sufficient to make These requirements can be satisfied by setting as follows: where designs the pointwise vector division, and is the diagonal matrix constructed from the vector . We refer to the preconditioner constructed by the above procedure as twisted block tangential filtering decomposition preconditioner.

3. Analysis of the Twisted Tangential Filtering Preconditioner

In this section, we restrict to be symmetric positive definite, and use () to denote that is symmetric positive definite (semidefinite). Consider the twisted tangential filtering preconditioner formed by (2.9), which ensures the filtering property (2.19). Furthermore, the following lemma holds and it has been established in [10].

Lemma 3.1. If , then matrices , . Moreover, and hold. The proof is similar to the proof of Lemma 2.1 of [10], so it is omitted here. From Lemma 3.1, one has the following result. The proof can be found in [17, 18].

Theorem 3.2. Let be the splitting of coefficient matrix induced by the twisted tangential filtering decomposition preconditioner , then .

4. Numerical Expriments

In this section, we present some numerical results to test the performance of preconditioners discussed in this paper. The performance of composite preconditioners is compared with . Two kinds of approaches of constructing the filtering preconditioner are considered. The combination approach (1.3) is used for all the composite preconditioners.

Consider the boundary value problem used in [10] where (, or 3), The function , the vector field , and the tensor are the given coefficients of the partial differential operator. In 2D case, we have , and in 3D case, we have . Due to the discontinuous coefficients in the equation and the size of , an efficient preconditioner plays an important role in solving (4.1) by preconditioned iterative methods.

Several types of preconditioners tested in our numerical experiments, we outline the notations as follows,

: the preconditioner;

: the tangential frequency filtering decomposition preconditioner;

: the twisted block tangential filtering decomposition preconditioner;

: the composite preconditioner generated by and ;

: the composite preconditioner generated by and .

Two filtering vectors are tested, the Ritz vector of used in [10], and which is used as a filtering vector in [19]. The index is set to be , where denotes the largest integer not exceeding .

The linear systems are solved by [20] method preconditioned by the previously mentioned preconditioners. The algorithm is unrestarted and the maximum Krylov subspace is set to be . For comparison reasons, the number of iterations of the preconditioned method for constructing the filtering test-vector has been chosen to be 20. The algorithm is stopped whenever the relative norm is less than . The exact solution is generated randomly. In the following tables, denotes the number of iterations, denotes the infinite norm of the difference between the final approximate solution and the exact solution. We use “" to denote that the method fails to converge within 200 iterations. For preconditioners , , and , every iteration requires only one preconditioner solve, so the total preconditioner solves are equal to the iteration number. For the composite preconditioners, assuming that the preconditioner has the same cost with the filtering preconditioner, so the costs for composite preconditioner is twice of the iteration. All the experiments are performed in MATLAB [21]. The codes have not been optimized for the highest efficiency and therefore we do not report the time, but we outline the number of iterations.

The considered boundary value problems (4.1) are discretized on a regular Cartesian grid with a cell-centred finite volume scheme. Full up-winding is used for the convective term in the partial differential equation. The following five different cases are considered.

Case 1. The advection-diffusion problem with a rotating velocity in two dimensions.

The tensor is the identity, and the velocity is . The function is zero. The uniform grid with nodes () are tested respectively. Table 1 displays the results obtained by using different preconditioners. The preconditioner needs the most iterations to converges. The preconditioners and have better performances compared with . The composite preconditioners are more efficient and works a little better than . When changing the filtering vector, the iteration numbers have a small change, but the Ritz vector needs additional steps to calculate. Figure 1 depicts the convergence curves of FGMRES method preconditioned by several different preconditioners. The filtering vector is set to be . We can see that the composite preconditioners are efficient, the FGMRES method preconditioned by and produces nearly the same convergence curve.



iters error iters erroriterserroriters erroriters error

50
100
200
300
50
100
200
300

Case 2. Nonhomogenous problems with large jumps in the coefficients in two dimensions.

The coefficients and are both zero. The tensor is isotropic and discontinuous. It jumps from the constant value in the ring , , to 1 outside. We tested uniform grids with nodes, . Table 2 displays the results obtained by using different preconditioners.



iters error iters erroriters erroriters erroriters error

50
100
200
300
50
100
200
300

Case 3. Skyscraper problems.

The tensor is isotropic and discontinuous. The domain contains many zones of high permeability which are isolated from each other. Let denote the integer value of . In 2D, we have and in 3D The coefficients and are both zero. Tables 3 and 4 display the results obtained by using different preconditioners for 2D and 3D problems.



iters error iters erroriters erroriters erroriters error

50
100
200
300
10
15
20
30



ters error iters erroriters erroriters erroriters error

50
100
200
300
10
15
20
30

Case 4. Convective skyscraper problems.

The same happens with the Skyscraper problems except that the velocity field is changed to be . The tested results are displayed in Tables 5 and 6.



iters error iters erroriters erroriters erroriters error

50
100
200
300
10
15
20