Skip to main content

A preconditioned fast collocation method for a linear bond-based peridynamic model


We develop a fast collocation method for a static bond-based peridynamic model. Based on the analysis of the structure of the stiffness matrix, a fast matrix-vector multiplication technique was found, which can be used in the Krylov subspace iteration method. In this paper, we also present an effective preconditioner to accelerate the convergence of the Krylov subspace iteration method. Using the block-Toeplitz–Toeplitz-block (BTTB)-type structure of the stiffness matrix, we give a block-circulant-circulant-block (BCCB)-type preconditioner. The numerical experiments show the utility of the preconditioned fast collocation method.


In the last decades, the peridynamic model has been applied in many research fields, such as failure and damage in composite laminates, crack propagation and branching, crack nucleation, phase transformations in solids, impact damage, damage in concrete, and so on [17]. In contrast to the classical theory of solid or fluid mechanics, which are usually modeled by partial differential equations [810], the peridynamic model does not explicitly involve any spatial derivatives of the displacement. Thus it provides a more natural description for problems with spontaneous formation of discontinuities or other singularities.

To date, several numerical methods have been developed and analyzed for the nonlocal diffusion model and peridynamic model as well as other related nonlocal models, such as finite element discretizations, finite difference method, finite volume method, collocation method, and the meshfree method [1, 1115]. However, mathematically speaking, because of the nonlocality of these models, the stiffness matrices resulting from finite element method or collocation method are usually full or dense diagonal. The widely used Krylov subspace iteration method requires \(O(N^{2})\) of memory to store the stiffness matrix and \(O(N^{2})\) computational work in each iteration to solve the associated linear system where N is the number of spatial nodes. Therefore, the simulation of peridynamic model is usually time-consuming especially for large-scale problems (e.g.,multi-dimensional peridynamic models).

Several research works have been devoted to reducing the memory requirement and computations of the corresponding numerical schemes for peridynamic model [1518]. These works are based on the analysis of Toeplitz or Toeplitz-type structure of the stiffness matrices and on the fast matrix-vector multiplication technique which can be used in the Krylov subspace iteration method. In [18], a fast collocation method for a two-dimensional bond-based linear peridynamic model was developed by carefully exploring the BTTB-type structure of the stiffness matrix \(\mathbf{A}_{2N}\). However, from the numerical experiments we can find that the convergence is slow, especially when the singularity of the kernel function is stronger.

In this paper, we follow the work started in [18] and develop a preconditioned fast collocation method for a linear peridynamic model. We provide an effective preconditioner to accelerate the convergence of the Krylov subspace iteration method. The rest of the paper is organized as follows. In Sect. 2, we recall the bilinear collocation method developed in [18]. However, the stiffness matrix is rewritten by reordering the unknowns differently from the unknowns’ arrangement in [18]. In Sect. 3, we analyze that each block matrix of the stiffness matrix is a BTTB matrix. Based on this analysis, the operations in each Krylov subspace iteration and the storage of the stiffness matrix can be reduced. In Sect. 4, to accelerate the convergence of the Krylov subspace iteration method, a BCCB-type preconditioner is provided. In Sect. 5, we carry out several numerical experiments to investigate the performance of this preconditioner. In Sect. 6, we draw concluding remarks.

The bilinear collocation method

We consider the following two-dimensional bond-based linear peridynamic model:

$$ \begin{aligned}& \int _{B_{\delta }(\mathbf{x})} \mathbf{C} \bigl(\mathbf{x}^{\prime }, \mathbf{x}\bigr) \bigl(\mathbf{u}\bigl(\mathbf{x}^{\prime }\bigr)-\mathbf{u}( \mathbf{x})\bigr) \,d \mathbf{x}^{\prime } = \mathbf{f}(\mathbf{x}), \quad \mathbf{x} \in \varOmega, \\ &\mathbf{u}(\mathbf{x}) = \mathbf{g}(\mathbf{x}), \quad\mathbf{x} \in \varOmega _{c}. \end{aligned} $$

Here C is the micromodulus function

$$ \mathbf{C}\bigl(\mathbf{x}^{\prime },\mathbf{x} \bigr) = \sigma \bigl( \bigl\vert \mathbf{x}^{ \prime } - \mathbf{x} \bigr\vert \bigr) \biggl[\frac{(\mathbf{x}^{\prime } - \mathbf{x})}{ \vert \mathbf{x}^{\prime } - \mathbf{x} \vert } \otimes \frac{(\mathbf{x}^{\prime } - \mathbf{x})}{ \vert \mathbf{x}^{\prime } - \mathbf{x} \vert } \biggr]; $$

\(\varOmega:=(0,x_{R})\times (0,y_{R})\) represents a rectangular domain; \(\mathbf{x}:=(x,y)^{T}\) and \(\mathbf{x}^{\prime }:=(x^{\prime },y^{\prime })^{T}\) are positions of the particles in the reference configuration; \(\mathbf{u}(\mathbf{x}):= [v(\mathbf{x}),w(\mathbf{x})]^{T}\) and \(\mathbf{u}(\mathbf{x^{\prime }}):= [v(\mathbf{x^{\prime }}),w( \mathbf{x^{\prime }})]^{T}\) represent the displacements of particles x and \(\mathbf{x^{\prime }}\) with respect to the reference configuration, respectively. \(\sigma (\cdot )\) is the kernel function; \(\delta >0\) is the horizon of the material; \(B_{\delta }(\mathbf{x})\) is assumed to be an open disk that is centered at x with δ being the radius; \(\varOmega _{c}\) denotes a boundary zone surrounding Ω with width δ; \(\mathbf{f}(\mathbf{x}):= [f^{v}(\mathbf{x}),f^{w}(\mathbf{x}) ]^{T}\) represents the external force density; \(\mathbf{g}(\mathbf{x}):= [g^{v}(\mathbf{x}),g^{w}(\mathbf{x}) ]^{T}\) is the prescribed nonlocal boundary data imposed on the boundary zone \(\varOmega _{c}\). For clarity, we show the domains Ω, \(\varOmega _{c}\), and \(B_{\delta }(\mathbf{x})\) in Fig. 1.

Figure 1

The left figure (a) shows the relationship between the domain Ω and the boundary zone \(\varOmega _{c}\) with width δ; The right figure (b) represents the integral domain \(B_{\delta }(\mathbf{x})\) in (1), which is an open disk centered at x with a radius δ

Given two n-dimensional vectors

$$ \mathbf{V}= \begin{pmatrix} v_{1} \\ v_{2} \\ \vdots \\ v_{n} \end{pmatrix} , \qquad \mathbf{W}= \begin{pmatrix} w_{1} \\ w_{2} \\ \vdots \\ w_{n} \end{pmatrix} , $$

the tensor product ‘’ in (2) is defined as

$$ \mathbf{V}\otimes \mathbf{W} = \begin{pmatrix} v_{1}w_{1} & v_{1}w_{2} & \cdots & v_{1}w_{n} \\ v_{2}w_{1} & v_{2}w_{2} & \ddots & v_{2}w_{n} \\ \vdots & \ddots & \ddots & \vdots \\ v_{n}w_{1} & v_{n}w_{2} &\cdots & v_{n}w_{n} \end{pmatrix}.$$

For the convenience of the following chapter, we also give the definition of tensor product in the matrix case. Given two matrices \(\mathbf{A}=(a_{i,j})\in \mathbb{R}^{p,q}\) and \(\mathbf{B}\in \mathbb{R}^{r,s}\), the tensor product of A and B is defined as follows:

$$ \mathbf{A}\otimes \mathbf{B} = \begin{pmatrix} a_{1,1}\mathbf{B} & a_{1,2}\mathbf{B}&\cdots & a_{1,q}\mathbf{B} \\ a_{2,1}\mathbf{B} & a_{2,2}\mathbf{B} & \ddots &a_{2,q}\mathbf{B} \\ \vdots & \ddots & \ddots & \vdots \\ a_{p,1}\mathbf{B} & a_{p,1}\mathbf{B} &\cdots & a_{p,q}\mathbf{B} \end{pmatrix}.$$

Let \(N_{x}\) and \(N_{y}\) be positive integers. We define a spatial partition on Ω̄ by \(x_{i}:= i h_{x}\) for \(i=0,1,\ldots, N_{x}\) and \(y_{j}:= j h_{y}\) for \(j=0,1,\ldots, N_{y}\), where \(h_{x}:= x_{R}/N_{x}\) and \(h_{y}:=y_{R}/N_{y}\) are the mesh sizes in the x and y directions, respectively. To handle the discretization on the boundary zone \(\varOmega _{c}\), we extend the partition to \((x_{i},y_{j})\) for \(i=-K+1,\ldots,-1,0,1,\ldots,N_{x},N_{x}+1,\ldots, N_{x}+K-1\) and \(j=-L+1,\ldots,-1,0,1,\ldots,N_{y},N_{y}+1,\ldots, N_{y}+L-1\). Here,

$$ K:=\lceil \delta /h_{x} \rceil,\qquad L:=\lceil \delta /h_{y} \rceil $$

are the ceilings of \(\delta /h_{x}\) and \(\delta /h_{y}\), respectively.

Let \(\psi (\xi )=1-|\xi |\) for \(\xi \in [-1,1]\) and zero otherwise. The two-dimensional pyramid functions \(\phi _{i,j}(x,y)\) centered at \((x_{i},y_{j})\) can be expressed as

$$ \phi _{ij}(x,y) =\psi \biggl(\frac{x-x_{i}}{h_{x}} \biggr)\psi \biggl(\frac{y-y_{j}}{h_{y}} \biggr),\quad 0 \leqslant i \leqslant N_{x}, 0 \leqslant j \leqslant N_{y}. $$

Then the trial functions v and w in the displacement vector u can be written as

$$ \begin{aligned} & v(x,y) = \sum _{i'=-K+1}^{N_{x}+K-1} \sum_{j'=-L+1}^{N_{y}+L-1} v_{i',j'} \phi _{i',j'}(x,y), \\ &w(x,y) = \sum_{i'=-K+1}^{N_{x}+K-1} \sum _{j'=-L+1}^{N_{y}+L-1} w_{i',j'} \phi _{i',j'}(x,y). \end{aligned} $$

We choose \((x_{i},y_{j})\) for \(i=1,\ldots,N_{x}-1\) and \(j=1,\ldots,N_{y}-1\) as our collocation points. By substituting (5) into (1), we obtain the following collocation scheme:

$$ \begin{aligned}& \int _{B_{\delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{(x'-x_{i})^{2} + (y'-y_{j})^{2}} \Biggl\{ \bigl(x'-x_{i} \bigr)^{2} \Biggl[v_{i,j} - \sum_{i'=-K+1}^{N_{x}+K-1} \sum_{j'=-L+1}^{N_{y}+L-1} v_{i',j'} \phi _{i',j'}\bigl(x',y'\bigr) \Biggr] \\ &\quad{}+ \bigl(x'-x_{i}\bigr) \bigl(y'-y_{j} \bigr) \Biggl[ w_{i,j} - \sum_{i'=-K+1}^{N_{x}+K-1} \sum_{j'=-L+1}^{N_{y}+L-1}w_{i',j'}\phi _{i',j'}\bigl(x',y'\bigr) \Biggr] \Biggr\} \,dx'\,dy' = f^{v}(x_{i},y_{j}), \\ &\int _{B_{\delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{(x'-x_{i})^{2} + (y'-y_{j})^{2}} \Biggl\{ \bigl(y'-y_{j} \bigr)^{2} \Biggl[ w_{i,j} - \sum_{i'=-K+1}^{N_{x}+K-1} \sum_{j'=-L+1}^{N_{y}+L-1}w_{i',j'}\phi _{i',j'}\bigl(x',y'\bigr) \Biggr] \\ &\quad{}+ \bigl(x'-x_{i}\bigr) \bigl(y'-y_{j} \bigr) \Biggl[v_{i,j} - \sum_{i'=-K+1}^{N_{x}+K-1} \sum_{j'=-L+1}^{N_{y}+L-1} v_{i',j'} \phi _{i',j'}\bigl(x',y'\bigr) \Biggr] \Biggr\} \,dx'\,dy' = f^{w}(x_{i},y_{j}), \\ &\qquad 1 \le i \le N_{x}-1, 1 \le j \le N_{y}-1. \end{aligned} $$

Let \(N=(N_{x}-1)(N_{y}-1)\) be the number of unknowns. If we define the vector of unknowns \(\mathbf{u}_{2N}\) and the vector of right-hand side as follows:

$$ \begin{aligned} \mathbf{u}_{2N}: ={}& [v_{1,1},v_{2,1},\ldots,v_{N_{x}-1,1},v_{1,2}, \ldots,v_{N_{x}-1,2}, \\ &\cdots,v_{1,N_{y}-1},\ldots,v_{N_{x}-1,N_{y}-1}, \\ & w_{1,1},w_{2,1},\ldots,w_{N_{x}-1,1},w_{1,2}, \ldots,w_{N_{x}-1,2}, \\ &\cdots,w_{1,N_{y}-1},\ldots,w_{N_{x}-1,N_{y}-1} ]^{T}, \\ \mathbf{f}_{2N}: ={}& \bigl[f^{v}_{1,1},f^{v}_{2,1}, \ldots, f^{v}_{N_{x}-1,1},f^{v}_{1,2}, \ldots,f^{v}_{N_{x}-1,2}, \\ & \cdots,f^{v}_{1,N_{y}-1},\ldots,f^{v}_{N_{x}-1,N_{y}-1}, \\ & f^{w}_{1,1},f^{w}_{2,1}, \ldots,f^{w}_{N_{x}-1,1},f^{w}_{1,2}, \ldots, f^{w}_{N_{x}-1,2}, \\ &\cdots,f^{w}_{1,N_{y}-1},\ldots,f^{w}_{N_{x}-1,N_{y}-1} \bigr]^{T}, \end{aligned} $$

then the collocation scheme can be written as the following matrix form:

$$ \mathbf{A}_{2N} \mathbf{u}_{2N} = \mathbf{f}_{2N}, $$

where the 2N-by-2N stiffness matrix \(\mathbf{A}_{2N}\) can be expressed as the following form in which each matrix block is of N order:

$$ \mathbf{A}_{2N} = \begin{pmatrix} \mathbf{A}_{N}^{v,v} & \mathbf{A}_{N}^{v,w} \\ \mathbf{A}_{N}^{w,v} & \mathbf{A}_{N}^{w,w} \end{pmatrix} .$$

In (9), the entries in the submatrix \(\mathbf{A}_{N}^{v,v}\) are defined as

$$ A_{m,n}^{v,v}:= \int _{B_{\delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{(x'-x_{i})^{2} + (y'-y_{j})^{2}}\bigl(x'-x_{i} \bigr)^{2}\bigl( \delta _{m,n}-\phi _{i',j'} \bigl(x',y'\bigr)\bigr)\,dx' \,dy'. $$

Similarly, the entries in the submatrices \(\mathbf{A}_{N}^{v,w}\) and \(\mathbf{A}_{N}^{w,w}\) are given by

$$ A_{m,n}^{v,w}:= \int _{B_{\delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{(x'-x_{i})^{2} + (y'-y_{j})^{2}}\bigl(x'-x_{i} \bigr) \bigl(y'-y_{j}\bigr) \bigl( \delta _{m,n}- \phi _{i',j'}\bigl(x',y'\bigr)\bigr) \,dx'\,dy' $$


$$ A_{m,n}^{w,w}:= \int _{B_{\delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{(x'-x_{i})^{2} + (y'-y_{j})^{2}}\bigl(y'-y_{j} \bigr)^{2}\bigl( \delta _{m,n}-\phi _{i',j'} \bigl(x',y'\bigr)\bigr)\,dx' \,dy', $$

respectively. \(\mathbf{A}_{N}^{v,w}=\mathbf{A}_{N}^{w,v}\). The function \(\phi _{i,j}(x,y)\) denotes the two-dimensional bilinear basis function at the grid point \((x_{i},y_{j})\). The global indices m and n are related to the indices \((i,j)\) and \((i',j')\) by

$$ \begin{aligned}& m=(j-1) \times (N_{x}-1) +i,\quad 1 \leqslant i \leqslant N_{x}-1, 1 \leqslant j \leqslant N_{y}-1, \\ &n=\bigl(j'-1\bigr) \times (N_{x}-1) +i',\quad 1 \leqslant i' \leqslant N_{x}-1, 1 \leqslant j' \leqslant N_{y}-1. \end{aligned} $$

In (7) \(f^{v}_{i,j}\) and \(f^{w}_{i,j}\) are defined as follows:

$$ \begin{aligned} f^{v}_{i,j} = {}& f^{v}(x_{i},y_{j}) + \sum _{{-K+1\le i^{\prime \prime }\le 0 \atop N_{x}\le i^{\prime \prime }\le N_{x} +K-1 }}\sum_{{-L+1\le j^{\prime \prime }\le 0 \atop N_{y}\le j^{\prime \prime }\le N_{y} +L-1}} \int _{B_{\delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{((x'-x_{i})^{2} + (y'-y_{j})^{2})} \\ &{}\times \bigl(x'-x_{i}\bigr)^{2}g^{v}(x_{i^{\prime \prime }},y_{j^{\prime \prime }}) \phi _{i^{\prime \prime },j^{\prime \prime }}\bigl(x',y'\bigr)\,dx' \,dy' \\ &{}+ \sum_{{-K+1\le i^{\prime \prime }\le 0 \atop N_{x}\le i^{\prime \prime }\le N_{x} +K-1}} \sum_{{-L+1\le j^{\prime \prime }\le 0 \atop N_{y}\le j^{\prime \prime }\le N_{y} +L-1}} \int _{B_{ \delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{((x'-x_{i})^{2} + (y'-y_{j})^{2})} \\ &{} \times \bigl(x'-x_{i}\bigr) \bigl(y'-y_{j} \bigr) g^{w}(x_{i^{\prime \prime }},y_{j^{\prime \prime }}) \phi _{i^{\prime \prime },j^{\prime \prime }} \bigl(x',y'\bigr)\,dx'\,dy', \\ f^{w}_{i,j} ={}& f^{w}(x_{i},y_{j})+ \sum_{{-K+1\le i^{\prime \prime }\le 0 \atop N_{x}\le i^{\prime \prime }\le N_{x} +K-1}}\sum_{{-L+1\le j^{\prime \prime }\le 0 \atop N_{y} \le j^{\prime \prime }\le N_{y} +L-1}} \int _{B_{\delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{((x'-x_{i})^{2} + (y'-y_{j})^{2})} \\ & \times \bigl(x'-x_{i}\bigr) \bigl(y'-y_{j} \bigr)g^{v}(x_{i^{\prime \prime }},y_{j^{\prime \prime }}) \phi _{i^{\prime \prime },j^{\prime \prime }} \bigl(x',y'\bigr)\,dx'\,dy' \\ &{}+ \sum_{{-K+1\le i^{\prime \prime }\le 0 \atop N_{x}\le i^{\prime \prime }\le N_{x} +K-1}} \sum_{{-L+1\le j^{\prime \prime }\le 0 \atop N_{y}\le j^{\prime \prime }\le N_{y} +L-1}} \int _{B_{ \delta }(x_{i},y_{j})} \frac{\sigma ( \vert (x'-x_{i},y'-y_{j}) \vert )}{((x'-x_{i})^{2} + (y'-y_{j})^{2})} \\ &{} \times \bigl(y'-y_{j}\bigr)^{2} g^{w}(x_{i^{\prime \prime }},y_{j^{\prime \prime }})\phi _{i^{\prime \prime },j^{\prime \prime }} \bigl(x',y'\bigr)\,dx'\,dy'. \end{aligned} $$

The structure of stiffness matrix

Theorem 1

Each of the submatrices\(\mathbf{A}_{N}^{v,v}\), \(\mathbf{A}_{N}^{v,w}\), and\(\mathbf{A}_{N}^{w,w}\)has a BTTB structure. More precisely, each matrix can be expressed as a\((N_{y}-1)\)-by-\((N_{y}-1)\)block-banded Toeplitz matrix with a block bandwidth\(2L+1\),

$$ \mathbf{A}_{N}^{I} = \begin{pmatrix} \mathbf{T}^{I}_{0} & \cdots & \mathbf{T}^{I}_{L} & \mathbf{0} &\cdots & \mathbf{0} & \mathbf{0} & \cdots & \mathbf{0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ \mathbf{T}^{I}_{-L} & \ddots & \mathbf{T}^{I}_{0} & \ddots & \ddots &\mathbf{0}&\ddots &\ddots & \mathbf{0} \\ \mathbf{0} & \ddots & \ddots & \mathbf{T}^{I}_{0} & \ddots &\ddots &\mathbf{0} & \ddots & \mathbf{0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ \mathbf{0} & \ddots & \mathbf{0} & \ddots & \ddots &\mathbf{T}^{I}_{0} &\ddots & \ddots & \mathbf{0} \\ \mathbf{0} & \ddots & \ddots & \mathbf{0} & \ddots &\ddots &\mathbf{T}^{I}_{0} & \ddots & \mathbf{T}^{I}_{L} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ \mathbf{0} & \cdots & \mathbf{0} & \mathbf{0}&\cdots &\mathbf{0}& \mathbf{T}^{I}_{-L} & \cdots & \mathbf{T}^{I}_{0} \end{pmatrix},$$

where the superscript\(I=(v,v),(v,w)\), or\((w,w)\). Furthermore, each matrix block\(\mathbf{T}_{j}^{I}\), with\(-L \leqslant j \leqslant L\), is an\((N_{x}-1)\)-by-\((N_{x}-1)\)banded Toeplitz matrix with a bandwidth\(2K+1\)

$$ \mathbf{T}_{j}^{I} = \begin{pmatrix} {t}^{I}_{0,j} & \cdots & {t}^{I}_{K,j} & {0} &\cdots & {0} & {0} & \cdots & {0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ {t}^{I}_{-K,j} & \ddots & {t}^{I}_{0,j} & \ddots & \ddots &{0}&\ddots &\ddots & {0} \\ {0} & \ddots & \ddots & {t}^{I}_{0,j} & \ddots &\ddots &{0} & \ddots & {0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ {0} & \ddots & {0} & \ddots & \ddots &{t}^{I}_{0,j} &\ddots & \ddots & {0} \\ {0} & \ddots & \ddots & {0} & \ddots &\ddots &{t}^{I}_{0,j} & \ddots & {t}^{I}_{K,j} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ {0} & \cdots & {0} & {0}&\cdots &{0}& {t}^{I}_{-K,j} & \cdots & {t}^{I}_{0,j} \end{pmatrix}.$$


We only investigate the structure of \(\mathbf{A}_{N}^{v,v}\). The analysis of \(\mathbf{A}_{N}^{v,w}\) and \(\mathbf{A}_{N}^{w,w}\) is similar. By expanding the matrix \(\mathbf{A}_{N}^{v,v}\), we can easily find that \(\mathbf{A}_{N}^{v,v}\) can be written as the following form:

$$ \mathbf{A}_{N}^{v,v} = \begin{pmatrix} {\mathbf{B}}_{1,1} & {\mathbf{B}}_{1,1} & \cdots & {\mathbf{B}}_{1,N_{y}-1} \\ {\mathbf{B}}_{2,1} & {\mathbf{B}}_{2,2} & \ddots & {\mathbf{B}}_{2,N_{y}-1} \\ \vdots & \ddots & \ddots & \vdots \\ {\mathbf{B}}_{N_{y}-1,1} & {\mathbf{B}}_{N_{y}-1,2} &\cdots & { \mathbf{B}}_{N_{y}-1,N_{y}-1} \end{pmatrix}.$$

Here, each block matrix \({\mathbf{B}}_{j,j'} \) of order \(N_{x}-1\) denotes the interaction of row j and row \(j'\) in the discrete system for \(1 \leq j \leq N_{y} - 1\) and \(1 \leq j' \leq N_{y} - 1\). From (11) and (13), we can find that the entry \(A^{v,v}_{m,n} \neq 0\) if and only if

$$ \operatorname{supp}(\phi _{i',j'})\cap B_{\delta }(x_{i},y_{j}) \neq \emptyset.$$

Therefore all the matrix blocks \({\mathbf{B}}_{j,j'} \) with \(|j-j'|>L\) in (17) vanish. Then \(\mathbf{A}_{N}^{v,v}\) is a \(2L+1\) block-banded matrix and can be expressed as the following form:

$$ \mathbf{A}_{N}^{v,v} = \begin{pmatrix} {\mathbf{B}}_{1,1} & {\mathbf{B}}_{1,2} & \cdots & {\mathbf{B}}_{1,L+1} &\mathbf{0} & \cdots & \mathbf{0} \\ {\mathbf{B}}_{2,1} & {\mathbf{B}}_{2,2} & \ddots & \cdots & \ddots & \cdots & \mathbf{0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\vdots \\ {\mathbf{B}}_{L+1,1} & \ddots & \ddots & \ddots &\ddots & \ddots & \vdots \\ \mathbf{0} & \ddots & \ddots & \ddots & \ddots &\ddots & \mathbf{0} \\ \mathbf{0} & \ddots & \ddots & \ddots &\ddots & \ddots & {\mathbf{B}}_{N_{y}-L-1,N_{y}-1} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots & \vdots \\ \mathbf{0} & \mathbf{0} & \cdots & \mathbf{0} &{\mathbf{B}}_{N_{y}-1,N_{y}-L-1} &\cdots & {\mathbf{B}}_{N_{y}-1,N_{y}-1} \end{pmatrix}.$$

Furthermore, in each matrix block \({\mathbf{B}}_{j,j'}\), we have \(A^{v,v}_{m,n} = 0\) for \(|i-i'|>K\). That is, \({\mathbf{B}}_{j,j'}\) is a \(2K+1\) banded matrix expressed as

$$ \mathbf{B}_{j,j'} = \begin{pmatrix} {{b}}_{j,j'}^{1,1} & {{b}}_{j,j'}^{1,2} & \cdots & {{b}}_{j,j'}^{1,K+1} &{0} & \cdots & {0} \\ {{b}}_{j,j'}^{2,1} & {{b}}_{j,j'}^{2,2} & \ddots & \cdots & \ddots & \cdots & {0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\vdots \\ {{b}}_{j,j'}^{K+1,1} & \ddots & \ddots & \ddots &\ddots & \ddots & \vdots \\ {0} & \ddots & \ddots & \ddots & \ddots &\ddots & {0} \\ {0} & \ddots & \ddots & \ddots &\ddots & \ddots & {{b}}_{j,j'}^{N_{y}-K-1,N_{y}-1} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots & \vdots \\ {0} & \mathbf{0} & \cdots & \mathbf{0} &{{b}}_{j,j'}^{N_{y}-1,N_{y}-K-1} &\cdots & {{b}}_{j,j'}^{N_{y}-1,N_{y}-1} \end{pmatrix}.$$

By introducing the following translations:

$$ \xi _{1}=x' - x_{i},\qquad \xi _{2}=y'-y_{j}, $$

the entries \(\mathbf{A}_{m,n}^{v,v}\) given in (11) can be reduced to

$$ A_{m,n}^{v,v} = \int _{B_{\delta }(0,0)} \frac{\xi _{1}^{2}\sigma ( \Vert (\xi _{1},\xi _{2}) \Vert )}{\xi _{1}^{2}+\xi _{2}^{2}}\biggl( \delta _{m,n}- \psi \biggl(\frac{\xi _{1}-x_{i'-i}}{h_{x}}\biggr)\psi \biggl( \frac{\xi _{2}-y_{j'-j}}{h_{y}}\biggr)\biggr) \,d\xi _{1} \,d\xi _{2}. $$

Let \(j_{1}'-j_{1} =j_{2}'-j_{2} = l, -L \leq l \leq L\), and let

$$ \begin{aligned} & m_{1} = (j_{1} - 1) (N_{x} - 1) + i,\quad 1 \leq i \leq N_{x} - 1, 1 \leq j_{1} \leq N_{y} - 1, \\ &n_{1} = \bigl(j'_{1}- 1\bigr) (N_{x} - 1) + i',\quad 1 \leq i' \leq N_{x} - 1, 1 \leq j'_{1} \leq N_{y} - 1, \\ &m_{2} = (j_{2} - 1) (N_{x} - 1) + i, \quad 1 \leq i \leq N_{x} - 1, 1 \leq j_{2} \leq N_{y} - 1, \\ &n_{2} = \bigl(j'_{2} - 1\bigr) (N_{x} - 1) + i',\quad 1 \leq i' \leq N_{x} - 1, 1 \leq j'_{2} \leq N_{y} - 1. \end{aligned} $$

Then we observe that, for \(1 \leq i, i' \leq N_{x}-1\),

$$\begin{aligned} b_{j_{1},j'_{1}}^{i,i'}& = A_{m_{1},n_{1}}^{v,v} \\ &=\int _{B_{\delta }(0,0)} \frac{\xi _{1}^{2}\sigma ( \Vert (\xi _{1},\xi _{2}) \Vert )}{\xi _{1}^{2}+\xi _{2}^{2}}\biggl( \delta _{m_{1},n_{1}}- \psi \biggl(\frac{\xi _{1}-x_{i'-i}}{h_{x}}\biggr)\psi \biggl( \frac{\xi _{2}-y_{j'_{1}-j_{1}}}{h_{y}}\biggr)\biggr) \,d\xi _{1} \,d\xi _{2} \\ &=\int _{B_{\delta }(0,0)} \frac{\xi _{1}^{2}\sigma ( \Vert (\xi _{1},\xi _{2}) \Vert )}{\xi _{1}^{2}+\xi _{2}^{2}}\biggl( \delta _{m_{2},n_{2}}- \psi \biggl(\frac{\xi _{1}-x_{i'-i}}{h_{x}}\biggr)\psi \biggl( \frac{\xi _{2}-y_{j'_{2}-j_{2}}}{h_{y}}\biggr)\biggr) \,d\xi _{1} \,d\xi _{2} \\ &=A_{m_{2},n_{2}}^{v,v} = b_{j_{2},j'_{2}}^{i,i'}. \end{aligned}$$

According to (24), we have proved \(\mathbf{B}_{j_{1},j'_{1}}=\mathbf{B}_{j_{2},j'_{2}}\) if the block matrices \(\mathbf{B}_{j_{1},j'_{1}}\) and \(\mathbf{B}_{j_{2},j'_{2}}\) are on the same diagonal.

Let \(i_{3}'-i_{3} =i_{4}'-i_{4} = k, -K \leq k \leq K\), and let

$$ \begin{aligned} &m_{3} = (j - 1) (N_{x} - 1) + i_{3},\quad 1 \leq i_{3} \leq N_{x} - 1, 1 \leq j \leq N_{y} - 1, \\ &n_{3} = \bigl(j'- 1\bigr) (N_{x} - 1) + i'_{3},\quad 1 \leq i'_{3} \leq N_{x} - 1, 1 \leq j' \leq N_{y} - 1, \\ &m_{4} = (j - 1) (N_{x} - 1) + i_{4},\quad 1 \leq i_{4} \leq N_{x} - 1, 1 \leq j \leq N_{y} - 1, \\ &n_{4} = \bigl(j' - 1\bigr) (N_{x} - 1) + i'_{4},\quad 1 \leq i'_{4} \leq N_{x} - 1, 1 \leq j' \leq N_{y} - 1. \end{aligned} $$

Then we observe that

$$\begin{aligned} b_{j,j'}^{i_{3},i'_{3}} &= A_{m_{3},n_{3}}^{v,v} \\ &=\int _{B_{\delta }(0,0)} \frac{\xi _{1}^{2}\sigma ( \Vert (\xi _{1},\xi _{2}) \Vert )}{\xi _{1}^{2}+\xi _{2}^{2}}\biggl( \delta _{m_{3},n_{3}}- \psi \biggl(\frac{\xi _{1}-x_{i'_{3}-i_{3}}}{h_{x}}\biggr) \psi \biggl(\frac{\xi _{2}-y_{j'-j}}{h_{y}}\biggr)\biggr) \,d\xi _{1} \,d\xi _{2} \\ &=\int _{B_{\delta }(0,0)} \frac{\xi _{1}^{2}\sigma ( \Vert (\xi _{1},\xi _{2}) \Vert )}{\xi _{1}^{2}+\xi _{2}^{2}}\biggl( \delta _{m_{4},n_{4}}- \psi \biggl(\frac{\xi _{1}-x_{i'_{4}-i_{4}}}{h_{x}}\biggr) \psi \biggl(\frac{\xi _{2}-y_{j'-j}}{h_{y}}\biggr)\biggr) \,d\xi _{1} \,d\xi _{2} \\ &=A_{m_{4},n_{4}}^{v,v} = b_{j,j'}^{i_{4},i'_{4}}. \end{aligned}$$

According to (26), we conclude that each block matrix \(\mathbf{B}_{j,j'}\) is a banded Toeplitz matrix. Combining (24) and (26), we complete the proof. □

Corollary 1

The stiffness matrix\(\mathbf{A}_{2N}\)can be stored in\(O(N)\)memories.


From the structure of \(\mathbf{A}_{2N}\), we only prove that the block matrix \(\mathbf{A}_{N}^{v,v}\) can be stored in \(O(N)\) memories. From Theorem 1 we can find that the matrix \(\mathbf{A}_{N}^{v,v}\) can be stored only by storing the following \((2K+1)\)-by-\((2L+1)\) entries:

$$ \mathbf{G} = \begin{pmatrix} t_{-K,-L}^{v,v} & \cdots & t_{-K,0}^{v,v} & \cdots & t_{-K,L}^{v,v} \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ t_{0,-L}^{v,v} & \cdots & t_{0,0}^{v,v} & \cdots & t_{0,L}^{v,v} \\ \vdots & \ddots & \vdots & \ddots & \vdots \\ t_{K,-L}^{v,v} & \cdots & t_{K,0}^{v,v} & \cdots & t_{K,j}^{v,v} \end{pmatrix} .$$

Hence, \(\mathbf{A}_{2N}\) can be stored in \(O(4*(2K+1)*(2L+1))=O(N)\) memories. □

Corollary 2

For any vector\(u \in \mathbb{R}^{2N}\), the matrix-vector multiplication\(\mathbf{A}_{2N}\mathbf{u}\)can be carried out in\(O(N\log N)\)operations.


We divide the vector u in half. That is,

$$ \mathbf{u} = \begin{pmatrix} \mathbf{u}_{1} \\ \mathbf{u}_{2} \end{pmatrix} ,$$

in which \(\mathbf{u}_{1},\mathbf{u}_{1} \in \mathbb{R}^{N} \). Therefore

$$ \mathbf{A}_{2N}u = \begin{pmatrix} \mathbf{A}_{N}^{v,v} & \mathbf{A}_{N}^{v,w} \\ \mathbf{A}_{N}^{v,w} & \mathbf{A}_{N}^{w,w} \end{pmatrix} \begin{pmatrix} \mathbf{u}_{1} \\ \mathbf{u}_{2} \end{pmatrix} = \begin{pmatrix} \mathbf{A}_{N}^{v,v}\mathbf{u}_{1} + \mathbf{A}_{N}^{v,w}\mathbf{u}_{2} \\ \mathbf{A}_{N}^{v,w}\mathbf{u}_{1} + \mathbf{A}_{N}^{w,w}\mathbf{u}_{2} \end{pmatrix} . $$

Because of the BTTB structure of the matrices \(\mathbf{A}_{N}^{v,v}\), \(\mathbf{A}_{N}^{v,w}\), and \(\mathbf{A}_{N}^{w,w}\), the matrix-vector multiplications \(\mathbf{A}_{N}^{v,v}\mathbf{u}_{1}\), \(\mathbf{A}_{N}^{v,w}\mathbf{u}_{2}\), \(\mathbf{A}_{N}^{v,w}\mathbf{u}_{1}\), and \(\mathbf{A}_{N}^{w,w}\mathbf{u}_{2}\) can be computed in \(O(N\log N)\) operations [19]. Accordingly, the total matrix-vector multiplication \(\mathbf{A}_{2N}\mathbf{u}\) can be evaluated in \(O(4N\log N)=O(N\log N)\) operations. □

A preconditioned fast Krylov subspace method

In the Krylov subspace iteration method, each iteration consists of matrix-vector multiplications and the related vector operations. Thus a fast Krylov subspace iteration method can be developed due to the fast matrix-vector multiplication proved in the previous section. It can reduce the computational work from \(O(N^{2})\) to \(O(N\log N)\) per Krylov subspace iteration. Furthermore, from Corollary 2, the memory requirement can also be reduced from \(O(N^{2})\) to \(O(N)\). However, the number of iterations may still be large due to the singularity of kernel function σ. Accordingly, we need to introduce an effective preconditioner to reduce the number of iterations and the overall computational cost.

For a BTTB-type matrix \(\mathbf{A_{2N}}\), a straightforward preconditioner can be chosen as

$$ \mathbf{C}_{F,1} = \begin{pmatrix} \mathbf{C}_{F,1}^{v,v} & \mathbf{C}_{F,1}^{v,w} \\ \mathbf{C}_{F,1}^{w,v} & \mathbf{C}_{F,1}^{w,w} \end{pmatrix} \in \mathbb{R}^{2N}, $$

where \(\mathbf{C}_{F,1}^{v,w} = \mathbf{C}_{F,1}^{w,v} \) and each matrix \(\mathbf{C}_{F,1}^{I}\in \mathbb{R}^{N \times N}\), with \(I=(v,v)\), \((v,w)\) or \((w,w)\), is written as [1921]

$$ \mathbf{C}_{F,1}^{I} = \begin{pmatrix} \mathbf{C}^{I}_{0} & \cdots & \mathbf{C}^{I}_{L} & \mathbf{0} &\cdots & \mathbf{0} & \mathbf{0} & \cdots & \mathbf{0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ \mathbf{C}^{I}_{-L} & \ddots & \mathbf{C}^{I}_{0} & \ddots & \ddots &\mathbf{0}&\ddots &\ddots & \mathbf{0} \\ \mathbf{0} & \ddots & \ddots & \mathbf{C}^{I}_{0} & \ddots &\ddots &\mathbf{0} & \ddots & \mathbf{0} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ \mathbf{0} & \ddots & \mathbf{0} & \ddots & \ddots &\mathbf{C}^{I}_{0} &\ddots & \ddots & \mathbf{0} \\ \mathbf{0} & \ddots & \ddots & \mathbf{0} & \ddots &\ddots &\mathbf{C}^{I}_{0} & \ddots & \mathbf{C}^{I}_{L} \\ \vdots & \ddots & \ddots & \ddots & \ddots &\ddots &\ddots & \ddots & \vdots \\ \mathbf{0} & \cdots & \mathbf{0} & \mathbf{0}&\cdots &\mathbf{0}& \mathbf{C}^{I}_{-L} & \cdots & \mathbf{C}^{I}_{0} \end{pmatrix} ,$$

in which the matrix block \(\mathbf{C}_{l}^{I}\), with \(-L\le l \le L\), is the Chan’s circulant matrix of the Toeplitz matrix \(\mathbf{T}_{l}^{I}\):

$$ \mathbf{C}_{l}^{I} = \begin{pmatrix} c_{0,l}^{I} & c_{1,l}^{I} & \cdots & c_{N_{x}-3,l}^{I} & c_{N_{x}-2,l}^{I} \\ c_{-1,l}^{I} & c_{0,l}^{I} & \ddots & \ddots & c_{N_{x}-3,l}^{I} \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ c_{3-N_{x},l}^{I} & \ddots & \ddots & c_{0,l}^{I} & c_{1,l}^{I} \\ c_{2-N_{x},l}^{I} & c_{3-N_{x},l}^{I} & \cdots & c_{-1,l}^{I} & c_{0,l}^{I} \end{pmatrix}.$$

In (32), the diagonals of \(\mathbf{C}_{l}^{I}\) are given by

$$ c_{-k,l}^{I} = \textstyle\begin{cases} \frac{(N_{x}-1-k)t_{-k,l}^{I} + k t_{N_{x}-1-k,l}^{I}}{N_{x}-1}, & 0 \le k \le N_{x}-2, \\ c_{1-N_{x}-k,l}^{I}, & 2-N_{x} \le k < 0. \end{cases} $$

However, this preconditioner is not easy to invert. So we consider the following preconditioner called BCCB-type preconditioner in this paper:

$$ \mathbf{C}_{F,2} = \begin{pmatrix} \mathbf{C}_{F,2}^{v,v} & \mathbf{C}_{F,2}^{v,w} \\ \mathbf{C}_{F,2}^{w,v} & \mathbf{C}_{F,2}^{w,w} \end{pmatrix} ,$$

where for \(I=(v,v)\), \((v,w)\),or \((w,w)\), \(\mathbf{C}_{F,2}^{I}\) represents the BCCB matrix of \(\mathbf{A}_{N}^{I}\), and it can be generated by \(\mathbf{C}_{F,1}^{I}\) defined in (31). More precisely, \(\mathbf{C}_{F,2}^{I}\) can be expressed as

$$ \mathbf{C}_{F,2}^{I} = \begin{pmatrix} \tilde{\mathbf{C}}_{0}^{I} & \tilde{\mathbf{C}}_{1}^{I} & \cdots & \tilde{\mathbf{C}}_{N_{y}-3}^{I} & \tilde{\mathbf{C}}_{N_{y}-2}^{I} \\ \tilde{\mathbf{C}}_{-1}^{I} & \tilde{\mathbf{C}}_{0}^{I} & \ddots & \ddots & \tilde{\mathbf{C}}_{N_{y}-3}^{I} \\ \vdots & \ddots & \ddots & \ddots & \vdots \\ \tilde{\mathbf{C}}_{3-N_{y}}^{I} & \ddots & \ddots & \tilde{\mathbf{C}}_{0}^{I} & \tilde{\mathbf{C}}_{1}^{I} \\ \tilde{\mathbf{C}}_{2-N_{y}}^{I} & \tilde{\mathbf{C}}_{3-N_{y}}^{I} & \cdots & \tilde{\mathbf{C}}_{-1}^{I} & \tilde{\mathbf{C}}_{0}^{I} \end{pmatrix},$$

where each circulant matrix block is defined by

$$ \tilde{\mathbf{C}}_{-k}^{I} = \textstyle\begin{cases} \frac{(N_{y}-1-k)\mathbf{C}_{-k,l}^{I} + k \mathbf{C}_{N_{y}-1-k,l}^{I}}{N_{y}-1}, & 0 \le k \le N_{y}-2, \\ \mathbf{C}_{1-N_{y}-k,l}^{I}, & 2-N_{y} \le k < 0. \end{cases} $$

Let \(\mathbf{F}_{n}\) be the n-order discrete Fourier transform matrix and \(\mathbf{I}_{2}\) be the 2-order identity matrix

$$ \mathbf{I}_{2}= \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} . $$

Let \(\mathbf{F}_{2}=\mathbf{F}_{N_{y}-1}\otimes \mathbf{F}_{N_{x}-1}\) be the two-dimensional discrete Fourier transform matrix and \(\mathbf{F}_{2}^{*}=(\mathbf{F}_{N_{y}-1}\otimes \mathbf{F}_{N_{x}-1})^{*}\) be the two-dimensional inverse Fourier transform matrix. Then the matrix \(\mathbf{C}_{F,2}\) can be decomposed into the following form:

$$\begin{aligned} \mathbf{C}_{F,2} &= (\mathbf{I}_{2} \otimes \mathbf{F}_{2} ) \boldsymbol{\varLambda } \bigl(\mathbf{I}_{2} \otimes \mathbf{F}_{2}^{*} \bigr) \\ &= (\mathbf{I}_{2} \otimes \mathbf{F}_{2} ) \begin{pmatrix} \boldsymbol{\varLambda }^{v,v} & \boldsymbol{\varLambda }^{v,w} \\ \boldsymbol{\varLambda }^{w,v} & \boldsymbol{\varLambda }^{w,w} \end{pmatrix} \bigl(\mathbf{I}_{2} \otimes \mathbf{F}_{2}^{*} \bigr). \end{aligned}$$

Here \(\boldsymbol{\varLambda }^{I}\) is a diagonal matrix in which the entries on the main diagonal are the eigenvalues of the matrix \(\mathbf{C}_{F,2}^{I}\) for \(I=(v,v)\), \((v,w)\), or \((w,w)\). That is, \(\boldsymbol{\varLambda }^{I}\) can be written as

$$ \boldsymbol{\varLambda }^{I} = \begin{pmatrix} \lambda _{1,1}^{I} & 0 & \cdots & 0 \\ 0 &\lambda _{2,2}^{I} & \cdots & 0 \\ \vdots & \ddots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda _{N,N}^{I} \end{pmatrix} .$$

To invert the matrix \(\mathbf{C}_{F,2}\) fast, we consider the computational cost of solving the linear equation

$$ \mathbf{C}_{F,2}\mathbf{y}=\mathbf{d} $$

for some \(\mathbf{d}\in \mathbb{R}^{2N}\).

Theorem 2

For any vector\(\mathbf{d}\in \mathbb{R}^{2N}\), linear system (39) can be solved in\(O(N\log N)\)operations.


Recall that the eigenvalues of \(\mathbf{C}_{F,2}^{I}\) can be computed in \(O(N\log N)\) operations by two-dimensional fast Fourier transform (2DFFT). Thus, the computation of Λ requires \(O(N\log N)\) operations. From (37), to inverse \(\mathbf{C}_{F,2}\) efficiently, we need to compute the inverse of Λ efficiently.

We introduce a permutation matrix P such that

$$ \mathbf{P}^{*} \boldsymbol{\varLambda } \mathbf{P} = \begin{pmatrix} \tilde{\boldsymbol{\varLambda }}_{1,1} & \mathbf{0} & \cdots & \mathbf{0} \\ \mathbf{0} &\tilde{\boldsymbol{\varLambda }}_{2,2} & \cdots & \mathbf{0} \\ \vdots & \ddots & \ddots & \vdots \\ \mathbf{0} & \mathbf{0} & \cdots &\tilde{\boldsymbol{\varLambda }}_{N,N} \end{pmatrix} ,$$

where for \(1 \le k \le N\),

$$ \tilde{\boldsymbol{\varLambda }}_{k,k} = \begin{pmatrix} \lambda _{k,k}^{v,v} & \lambda _{k,k}^{v,w} \\ \lambda _{k,k}^{w,v} & \lambda _{k,k}^{w,w} \end{pmatrix}.$$

Therefore, each matrix block \(\tilde{\boldsymbol{\varLambda }}_{k,k}\) with \(1 \le k \le N\) is a 2-by-2 matrix. It requires \(O(1)\) operations to inverse \(\tilde{\boldsymbol{\varLambda }}_{k,k}\). Accordingly, the overall computational work to inverse the matrix Λ is \(O(N)\) operations. To inverse the matrix \(\mathbf{C}_{F,2}\), we also have to compute \((\mathbf{I}_{2} \otimes \mathbf{F}_{2} )\mathbf{u}\) and \((\mathbf{I}_{2} \otimes \mathbf{F}_{2}^{*} ) \mathbf{u}\) for some \(\mathbf{u} \in \mathbb{R}^{2N}\). It requires \(O(N\log N)\) operations by using 2DFFT and two-dimensional inverse fast Fourier transform (2DIFFM).

More precisely, we give the following procedures to solve the linear system (39):

  • Evaluate the matrix Λ by 2DFFT. Note that it needs to be computed only once before the startup of the Krylov subspace iterative method. It requires \(O(N\log N)\) operations.

  • Divide the vector d in half. That is, \(\mathbf{d}=[\mathbf{d}_{1},\mathbf{d}_{2}]^{T}\), where \(\mathbf{d}_{1},\mathbf{d}_{2} \in \mathbb{R}^{N}\). Carry out the 2DFFTs \(\mathbf{z}_{1}= \mathbf{F}_{2}\mathbf{d}_{1}\) and \(\mathbf{z}_{2}= \mathbf{F}_{2}\mathbf{d}_{2}\). It requires \(O(N\log N)\) operations.

  • For \(1 \le i \le N\), we solve the matrix equation

    $$ \tilde{\boldsymbol{\varLambda }}_{k,k} \begin{pmatrix} \mathbf{w}_{1}(i) \\ \mathbf{w}_{2}(i) \end{pmatrix} = \begin{pmatrix} \mathbf{z}_{1}(i) \\ \mathbf{z}_{2}(i) \end{pmatrix}, $$

    where \(\mathbf{w}_{1}(i)\) and \(\mathbf{w}_{2}(i)\) are the ith elements of the vectors \(\mathbf{w}_{1}\) and \(\mathbf{w}_{2}\), respectively. It requires \(O(N)\) operations.

  • Carry out the two-dimensional inverse fast Fourier transform(2DIFFM) \(\mathbf{y}_{1}= \mathbf{F}_{2}^{*}\mathbf{w}_{1}\) and \(\mathbf{y}_{2}= \mathbf{F}_{2}^{*}\mathbf{w}_{2}\). Then we obtain the solution

    $$ \mathbf{y}:= [\mathbf{y}_{1},\mathbf{y}_{2}]^{T}. $$

    It requires \(O(N\log N)\) operations.


Numerical experiments

In this section, we carry out some numerical experiments to investigate the performance of the preconditioned fast collocation method with the BCCB-type preconditioner discussed in Sect. 3. In the numerical experiments, we consider the peridynamic model (1) with the kernel function [15]

$$ \sigma \bigl( \bigl\vert (x, y) \bigr\vert \bigr) = \frac{1}{ (x^{2} + y^{2} )^{1+s}}. $$

Let \(\varOmega =(0,1)\times (0,1)\). The radius of the horizon \(\delta = 1/8\). The exact solution \(\mathbf{u}(x,y) = (v(x,y),w(x,y))\) is chosen to be

$$ v(x,y) = w(x,y)=x(1-x)y(1-y),\quad (x,y) \in \varOmega. $$

We also use v and w to define \(g^{v}\) and \(g^{w}\) on the boundary zone \(\varOmega _{c}\). The right-hand side external forcing term \(\mathbf{f}(x,y)\) is computed by polar coordinates transformation as follows:

$$ \begin{aligned} &f^{v}(x,y) = \frac{3\pi \delta ^{2-2s}}{8-8s}\bigl(y-y^{2}\bigr) + \frac{\pi \delta ^{2-2s}}{8-8s}\bigl(3x + 2y -4xy -x^{2} -1\bigr) - \frac{\pi \delta ^{4-2s}}{32-16s}, \\ &f^{w}(x,y) = \frac{3\pi \delta ^{2-2s}}{8-8s}\bigl(x-x^{2}\bigr) + \frac{\pi \delta ^{2-2s}}{8-8s}\bigl(2x + 3y -4xy -y^{2} -1\bigr) - \frac{\pi \delta ^{4-2s}}{32-16s}. \end{aligned} $$

For simplicity, we choose \(h_{x} = h_{y} = h\).

We solve linear equation (8) by the conjugate gradient squared method (CGS), the fast conjugate gradient squared method (FCGS) without any preconditioners, and the fast conjugate gradient squared method with BCCB-type preconditioner (BCCB-FCGS). The following numerical experiments are performed on a computer with 8-GB memory. The accuracy requirement for iteration termination is 10−8.

Example 1

In this numerical example, we choose \(s=3/8\) in (44). We present the \(L^{2}\) errors of the numerical solutions generated by the CGS solver, the FCGS solver, and the BCCB-FCGS solver for the mesh size from \(1/2^{4}\) to \(1/2^{9}\) in Table 1. We also present the CPU time consumed by these solvers and the number of iterations in the iterative methods in Table 1. In addition to the advantages of fast methods (FCGS and BCCB-FCGS) over traditional method (CGS) in memory requirement and CPU time, we observe from Table 1 that the BCCB-type preconditioner can significantly reduce the number of iterations and CPU time in contrast to FCGS without any preconditioners. For example, while h is equal to 29, the FCGS solver takes 455 iterations and nearly 3 hours of CPU time, but the BCCB solver needs only 58 iterations and nearly 8 minutes of CPU time without any loss of accuracy. However, while we carried out the numerical test with \(h=1/2^{10}\), we found a small increase in \(L^{2}\) error. This small increase may be caused by singular integral when we calculate the main-diagonal entries of \(\mathbf{A}^{v,v}\), \(\mathbf{A}^{v,w}\), and \(\mathbf{A}^{w,w}\).

Table 1 Performance of CGS, FCGS, and BCCB-FCGS in Example 1

In this numerical experiment, we also use a linear regression to fit the convergence rate α and the associated constant \(C_{\alpha }\) in the error estimate

$$ \Vert \mathbf{u}-\mathbf{u_{h}} \Vert _{L^{2}(\varOmega )} \leqslant C_{\alpha }h^{ \alpha }.$$

We also present these results in Table 1. We see that the convergence rate α is sublinear.

Example 2

We choose \(s=0\) in (44). We present the corresponding numerical results in Table 2 as in Example 1. We have the similar observations as in Example 1. However, in comparison with the results showed in Table 1, an improved accuracy of the numerical solutions and a reduced number of iterations in these three iteration methods are observed in Table 2.

Table 2 Performance of CGS, FCGS, and BCCB-FCGS in Example 2


Firstly, a fast bilinear collocation method for a static bond-based peridynamic model was developed by reordering the unknowns, which is different from [18], and by carefully analyzing the structure of the stiffness matrix. This work significantly reduces the computational work to solve the resulting linear system from \(O(N^{2})\) to \(O(N\log N)\) per Krylov subspace iteration. It also reduces storage of the stiffness matrix from \(O(N^{2})\) to \(O(N)\). However, the number of iterations in the Krylov subspace iteration method seems to be large especially for the peridynamic model in which the kernel function has stronger singularity. In this paper, using the structure of the stiffness matrix, we construct an efficient BCCB-type preconditioner to improve the performance of the convergence behavior of the fast collocation method. The numerical experiments show the efficiency of this preconditioner.


  1. 1.

    Oterkus, E., Madenci, E., Weckner, O., Silling, S., Bogert, P.: Combined finite element and peridynamic analysis for predicting failure in a stiffened composite curved panel with a central slot. Compos. Struct. 94, 839–850 (2012)

    Article  Google Scholar 

  2. 2.

    Kilic, B., Agwai, A., Madenci, E.: Peridynamic theory for progressive damage prediction in centercracked composite laminates. Compos. Struct. 90, 141–151 (2009)

    Article  Google Scholar 

  3. 3.

    Ha, Y.D., Bobaru, F.: Characteristics of dynamic brittle fracture captured with peridynamics. Eng. Fract. Mech. 78, 1156–1168 (2011)

    Article  Google Scholar 

  4. 4.

    Silling, S., Weckner, O., Askari, E., Bobaru, F.: Crack nucleation in a peridynamic solid. Int. J. Fract. 162, 219–227 (2010)

    Article  Google Scholar 

  5. 5.

    Dayal, K., Bhattacharya, K.: Kinetics of phase transformations in the peridynamic formulation of continuum mechanics. J. Mech. Phys. Solids 54, 1811–1842 (2006)

    MathSciNet  Article  Google Scholar 

  6. 6.

    Bobaru, F., Ha, Y.D., Hu, W.: Damage progression from impact in layered glass modeled with peridynamics. Cent. Eur. J. Eng. 2, 551–561 (2012)

    Google Scholar 

  7. 7.

    Gerstle, W., Sau, N., Silling, S.: Peridynamic modeling of concrete structures. Nucl. Eng. Des. 237, 1250–1258 (2007)

    Article  Google Scholar 

  8. 8.

    Li, T., Pintus, N., Viglialoro, G.: Properties of solutions to porous medium problems with different sources and boundary conditions. Z. Angew. Math. Phys. 70, 1–18 (2019)

    MathSciNet  Article  Google Scholar 

  9. 9.

    Shah, R., Li, T.: The thermal and laminar boundary layer flow over prolate and oblate spheroids. Int. J. Heat Mass Transf. 121, 607–619 (2018)

    Article  Google Scholar 

  10. 10.

    Jiang, C., Zada, A., Şenel, M.T., Li, T.: Synchronization of bidirectional N-coupled fractional-order chaotic systems with ring connection based on antisymmetric structure. Adv. Differ. Equ. 2019, 456 (2019)

    MathSciNet  Article  Google Scholar 

  11. 11.

    Chen, X., Gunzburger, M.: Continuous and discontinuous finite element methods for a peridynamics model of mechanics. Comput. Methods Appl. Mech. Eng. 200, 1237–1250 (2011)

    MathSciNet  Article  Google Scholar 

  12. 12.

    Du, Q., Ju, L., Tian, L., Zhou, K.: A posteriori error analysis of finite element methods linear nonlocal diffusion and peridynamic models. Math. Comput. 82, 1889–1922 (2013)

    MathSciNet  Article  Google Scholar 

  13. 13.

    Seleson, P.: Improved one-point quadrature algorithms for two-dimensional peridynamic models based on analytical calculations. Comput. Methods Appl. Mech. Eng. 282, 184–217 (2014)

    MathSciNet  Article  Google Scholar 

  14. 14.

    Seleson, P., Littlewood, D.: Convergence studies in meshfree peridynamic simulations. Comput. Math. Appl. 71, 2432–2448 (2016)

    MathSciNet  Article  Google Scholar 

  15. 15.

    Wang, H., Tian, H.: A fast and faithful collocation method with efficient matrix assembly for a two-dimensional nonlocal diffusion model. Comput. Methods Appl. Mech. Eng. 273, 19–36 (2014)

    MathSciNet  Article  Google Scholar 

  16. 16.

    Wang, H., Tian, H.: A fast Galerkin method with efficient matrix assembly and storage for a peridynamic model. J. Comput. Phys. 231, 7730–7738 (2012)

    MathSciNet  Article  Google Scholar 

  17. 17.

    Zhang, X., Gunzburger, M., Ju, L.: Nodal-type collocation methods for hypersingular integral equations and nonlocal diffusion problems. Comput. Methods Appl. Mech. Eng. 299, 401–420 (2016)

    MathSciNet  Article  Google Scholar 

  18. 18.

    Zhang, X., Wang, H.: A fast collocation method for a static bond-based linear peridynamic model. Comput. Methods Appl. Mech. Eng. 311, 280–303 (2016)

    MathSciNet  Article  Google Scholar 

  19. 19.

    Ng, M.K.: Iterative Methods for Toeplitz Systems. Oxford University Press, Oxford (2004)

    Google Scholar 

  20. 20.

    Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. SIAM, Rhode Island (2003)

    Google Scholar 

  21. 21.

    Fu, H., Wang, H.: A preconditioned fast finite difference method for space-time fractional partial differential equations. Fract. Calc. Appl. Anal. 20, 88–116 (2017)

    MathSciNet  Article  Google Scholar 

Download references


The authors are grateful to the editor and the anonymous referees for their valuable comments and suggestions on the paper.

Availability of data and materials

All of the authors declare that all the data can be accessed in our manuscript in the numerical simulation section.


This work was supported in part by the National Natural Science Foundation of China under Grants 91630207, 11971272.

Author information




All authors read and approved the final manuscript.

Corresponding author

Correspondence to Aijie Cheng.

Ethics declarations

Competing interests

The authors declare that there is no conflict of interests.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Zhang, X., Li, X., Cheng, A. et al. A preconditioned fast collocation method for a linear bond-based peridynamic model. Adv Differ Equ 2020, 244 (2020).

Download citation


  • Nonlocal models
  • Peridynamic model
  • Preconditioner
  • Fast collocation method