网刊加载中。。。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读

关于非局部扩散模型的一种快速预处理算法  PDF

  • 冉育红 1
  • 李存吉 2
  • 殷俊锋 3
1. 西北大学 数学学院,陕西西安 710127; 2. 西北大学 数学学院,陕西西安 710127; 3. 同济大学 数学学院,上海 200092

中图分类号: O241.6

最近更新:2021-05-10

DOI:10.11908/j.issn.0253-374x.20308

  • 全文
  • 图表
  • 参考文献
  • 作者
  • 出版信息
目录contents

摘要

变系数非局部扩散模型可以被一种快速配置法进行有效的数值离散。离散后得到一个系数矩阵具有 Toeplitz 结构且稠密的线性方程组。由于系数矩阵是非对称的,该线性方程组可以用广义极小残量法(GMRES)方法求解。为了提高 GMRES 方法的收敛率,构造了系数矩阵的 Toeplitz 及循环预处理子,并提出了预处理 GMRES 方法求解该线性方程组。数值算例也表明了该预处理算法的有效性。

对于自然界那些用整数阶扩散方程不太好描述的现象,如反常扩散和多孔介质流等[1-3],除了可以用分数阶扩散方程建模以外,非局部扩散模型也是一种可供选择的建模方法。非局部扩散理论对间断性问题及其他连续体变形问题给出了一个恰当的描述,而裂缝、断裂等奇异性问题在经典理论方程下无法给出恰当描述。非局部理论被引入到连续介质力学当中,2000年Silling提出了一种叫做peridynamic的非局部扩散模型[4-7],在非局部扩散模型框架下,物体内部不再有接触力,并且可以保证建立的方程都保持同一积分形式,对间断或其他奇异性连续体的变形问题提供了新的研究思路。

然而,利用一般的数值方法数值离散非局部扩散模型,通常得到一个稠密的刚度矩阵,利用直接法求解的计算量和存储量非常大,从而阻碍了其广泛应用。最近Wang C等提出了一种快速的配置法数值离散变系数非局部扩散模型[8],分析了刚度矩阵的结构,并利用直接法和共轭梯度平方法求解了变系数非局部扩散模型经过快速配置方法数值离散得到的线性方程组。因为直接法的计算量太大,共轭梯度平方法不稳定,所以这两个方法不实用。

由于变系数非局部扩散模型经过快速配置方法数值离散得到的线性方程组系数矩阵为非对称的,因此可以用间接法中的GMRES方法[9]求解。在实际求解过程中,系数矩阵的坏条件数会导致GMRES方法收敛的很慢甚至不收敛,而提高收敛速度最常用的方法是预处理技术[10-13]。一个好的预处理子应该至少保持某种特殊结构,并使得预处理后的系数矩阵的条件数很小。在文献[

8]的研究基础上,本文采用了Toeplitz及循环预处理GMRES方法求解了变系数非局部扩散模型经过快速配置方法数值离散得到的线性方程组。

1 问题的来源

本节给出了所需要求解的线性方程组,即变系数非局部扩散模型经过快速配置法数值离散后所得到的离散方程。

1.1 非局部扩散模型及其快速配置法

变系数非局部扩散模型的一类体积约束非局部Dirichlet边值问题,可以表示如下[5]

 x-δ x+δ ( α (x)+α (y) ) σ (x-y) ( u (x)-u (y) ) dy =f(x)x  ( a  ,  b )u ( x )  =  g ( x )x  (  a-δ  , a  ]    [  b  ,  b+δ  ] (1)

式中: δ>0表示非局部扩散现象扩散的水平方向的范围; α()用来表示可变的扩散系数,并假设其有正的上下界且光滑。核被定义为

σ(x)=1x1+γ (2)

指数γ<1表示核强度,因此积分算子是弱奇异的。取N为正整数,网格步长h=b-aN,定义K=δhδh的取整。在区间(a-δ,b+δ)上,定义一个均匀剖分:xi=a+ih,-KiN+K

ψ(ξ)=1-ξ   ξ[-1,1]0   ξ[-1,1]

又令ϕi(x)=ψ((x-xi)h)是以x=xi,i=1,2,3,,N为中心的Hat函数。选取试验函数u

u(x)=j=-KN+K uj ϕj(x)= j=1N-1uj ϕj(x)+( j=0-K+
 j=NN+K) g(xj) ϕj(x) (3)

将试验函数式(3)代入式(1),并使控制方程取配置点{xi}i=1N-1处的值,得

xi-δxi+δ α(xi)+α(y)xi-y1+γ  (u(xi)-j=-KN+Kuj ϕj(y) )dy=f(xi)          1iN-1 (4)

在节点值uj处,方程(4)可表示如下:

uixi-δxi+δ(α(xi)+α(y))(1-ϕi(y))xi-y1+γdy-j=1,jiN-1ujxi-δxi+δ(α(xi)+α(y))ϕj(y)xi-y1+γdy=f(xi)+(j=0-K+j=NN+K)g(xj)xi-δxi+δ(α(xi)+α(y))ϕj(y)xi-y1+γdy1iN-1 (5)

数值格式(5)可以表示如下:

Au=f (6)

这里, u=u1 ,u2 , , uN-1Τ其中ujj=1N-1式(3)给出,刚度矩阵A=Ai,ji,j=1N-1和右端项f=f1 ,f2 , , fN-1Τ被定义如下:

Ai,j=-xi-δxi+δ(α(xi)+α(y))ϕj(y)xi-y1+γdyjiAi,i=xi-δxi+δ(α(xi)+α(y))(1-ϕi(y))xi-y1+γdy (7)

由式(7)可以得知,刚度矩阵A的每一行都有非零元且,随着增加而增加。换句话说,刚度矩阵A是一个渐进稠密的矩阵,直接法求解需要的储存空间和的计算量。

1.2 刚度矩阵的元素估计

参考文献[

8]首先估计了式(7)中的刚度矩阵A的对角线元素,对于

Ai,i=α(xi)xi-δxi+δ1-ϕi(y)xi-y1+γdy+xi-δxi+δα(y)(1-ϕi(y))xi-y1+γdy (8)
通过计算得到了刚度矩阵对角线元素近似值为Ai,i4α(xi)(h-γ-δ-γγ+h-γ1-γ)+α'(xi)(δ2-γ-h2-γ2-γ+h2-γ3-γ) (9)

然后计算式(7)中的刚度矩阵A的非对角线元素,有

Ai,j=-α(xi)xi-δxi+δϕj(y)xi-y1+γdy-xi-δxi+δα(y)ϕj(y)xi-y1+γdyji (10)

由于的支集为,则有

Ai,j=0     i-jK+2 (11)

因此,刚度矩阵A是一个带状矩阵,带状的宽度为,故只需计算Ai,j的不同情形下的数值。在每一区间上,通过近似,由参考文献[

8]得到如下结果:

情形1:.的支集为,则有

Ai,j-α(xj-12) lj-i-α(xj+12) rj-i-α(xi) (lj-i+rj-i) (12)

式(12)中的定义如下,其中,即

lk=h -γγ  (1-k) [(k-1)  -γ-k  -γ]+h  -γ1-γ [k  1-γ-(k-1)  1-γ] γ01+(1-k) ln(kk-1)γ=0rk=h  -γγ  (k+1) [k  -γ-(k+1)  -γ]+h  -γ1-γ  [k  1-γ-(k+1)  1-γ] γ0(k+1) ln (k+1k)γ=0

情形2: ,则有

Ai,j-α(xj+12)li-j-α(xj-12)ri-j-α(xi)(li-j+ri-j) (13)

情形3:的支集,则有

Ai,i+K-α(xi+K-12)lK-α(xi+K+12)rK-α(xi)(lK+rK) (14)

其中

lk=h  -γγ (1-K)  [(K-1)  -γ-K  -γ]+h-γ1-γ  [K  1-γ-(K-1) 1-γ]  γ01+(1-K)  ln (KK-1) γ=0rk=(K+1)  (K h) -γ-δ -γγ- δ 1-γ-(K h) 1-γh (1-γ) γ0(K+1)  ln (δK h)-δ-K hh γ=0

情形4:,利用对称性,得

Ai,i-K=-α(xi-K+12)lK-α(xi-K-12)rK-α(xi)(lK+rK) (15)

情形5:的支集,有

Ai,i+K+1-α(xi+K+12)lK+1-α(xi)lK+1 (16)

其中

lK+1=Kδ -γγ-K 1-γh -γγ+δ 1-γ-(Kh) 1-γh (1-γ)γ0-Kln (δKh)+δ-K hhγ=0

情形六:.利用对称性,得

Ai,i-K-1-α(xi-K-12)lK+1-α(xi)lK+1 (17)

1.3 刚度矩阵的结构分析

从参考文献[

8]可知,刚度矩阵A可以分解为

A=d1h,δdiag(α)+d2h,δdiag(α)+Tdiag(α-)+  TTdiag(α+)+diag(α)(T+TT) (18)

其中,T=LΤ+R

α=[α(x1),α(x2),,α(xN-1)]T α-=[α(x12),α(x32),,α(xN-32)]Tα'=[α'(x1),α'(x2),,α'(xN-1)]Tα+=[α(x32),α(x52),,α(xN-12)]Td1h,δ=4(h-γ-δ-γγ+h-γ1-γ)d2h,δ=(δ2-γ-h2-γ2-γ+h2-γ3-γ)   (19)
L=000000-l100000-l100-lK+1-lK00000-lK+1-lK-l10000-lK+1-lK00000-lK+1-l10 (20)
R=000000-r100000-r100-rK-rK-100000-rK-rK-1-r10000-rK-rK-100000-rK-r10 (21)

式(18)可知: 刚度矩阵A为Toeplitz-like矩

[17-18],且存储A需要的存储量。刚度矩阵A与任意向量作乘法只需要的计算量。

2 预处理GMRES算法

本文利用快速配置法数值求解变系数非局部扩散模型最终归结为线性方程组式(6)的求解,其中系数矩阵A式(18)所定义,右端项f由式(7)所定义。由于系数矩阵A为非对称矩阵,所以可以利用GMRES方法求解线性方程组式(6)。为了提高GMRES方法的收敛率,本节构造了系数矩阵A的Toeplitz及循环预处理子,提出了预处理GMRES算法。首先,本文给出几个基本定义:

定义1  [14-15]称具有如下结构,矩阵Tn为Toeplitz阵。

Tn=t0t-1t-(n-2)t-(n-1)t1t0t-1t-(n-2)t2t1t0t-1tn-1tn-2t1t0

.设表示定义在区间内所有以为周期的实值连续函数。对所有的,令

tk=12π-ππf(x)e-ikxdx         k=0 ,±1 ,±2    (22)

的Fourier函数,则称函数是Toeplitz矩阵Tn生成的函数。

定义2  称具有如下结构,矩阵Cn为循环矩阵。

Cn=c0cn-1c2c1c1t0cn-1c2c2c1c0cn-1cn-1cn-2c1c0

.循环矩阵可以通过Fourier矩阵实现对角化,即

Cn=Fn*nFn (23)

其中,Fourier矩阵Fn中的元素为

[Fn]j,k=1ne2πjkn      0i,jn-1

Λn是对角矩阵且对角线元素为Cn的特征值。

定义3  [16-17] 对所有的维的循环矩阵Cn,使得

minCn-T1

minCn-T (24)

成立的矩阵Cn,称为Strang循环预处理子,记为S,该预处理子表示为

S=[sk-l]      0k,ln-1

sj为Strang预处理子对角线上的元素,且有

sj=tj      0jn2tj-n       n2jn-1sj+n       0-jn-1   (25)

利用GMRES方法求解如下与原线性方程组(6)式等价的预处理后线性方程组

P-1Au=P-1f (26)

其中,PA的预处理子,得到如下预处理GMRES(PGMRES)方法。

算法(PGMRES方法)给定系数矩阵A,右端向量f,预处理子P,初始向量u(0)和允许误差.本算法计算u(k)  C,使得r(k)2r(0)2ε,其中r(k)=f-Au(k),r(0)=P-1f-Au(0),β=r(0)2,v1=r(0)β;

k=1,2,......

对Krylov子空间𝒦kP-1A,v1=spanv1,P-1Av1,,P-1Ak-1v1,

用Arnoldi分解计算Vk=v1,v2,,vk ,

以及阶矩阵H˜k+1,k

H˜k+1,k=HkβkekT          βk=hk+1,kHk=h11h12h1,k-1h1,kh21h22h23h2k00hk,k-1hk,k

计算H˜k+1,k的QR分解:H˜k+1,k=GΤRk0 

G=GkGk-1...G1       Gi=diag(Ii-1  ,cisi-sici,Ik-i)        ci2+si2=1

Rk为非奇异上三角矩阵;

式(27)计算

如果

求解R(k)z(k)=t(k)得到z(k)

x(k)=x(0)+V(k)z(k) ;停算。

结束

τ1=βc1τi=(-1)i-1βs1s2si-1ciρk=(-1)kβs1s2sktk=(τ1,τ2,,τk)T (27)

在以上PGMRES算法中,每一步需要求解残量方程Pz=r ,所以在构造预处理时要求预处理子结构简单且易于求解。

线性方程组式(6)中系数矩阵A为特殊结构,因此,构造刚度矩阵A的如下Toeplitz预处理子:

P1=(d1h,δα¯+d2h,δα'¯)I+α-¯T+α+¯TT+α¯(T+TT)

其中,

α¯=α(x1)+α(x2)++α(xN-1)N-1 α'¯=α'(x1)+α'(x2)++α'(xN-1)N-1α-¯=α(x12)+α(x32)++α(xN-32)N-1α+¯=α(x32)+α(x52)++α(xN-12)N-1

由于P1为Toeplitz矩阵,在PGMRES算法中,求解以P1为系数矩阵的残量方程P1z=r 的计算量太大。为减少计算量,我们进一步用P1的Strang循环近似矩阵逼近P1,令C为Toeplitz矩阵T的Strang循环逼近矩阵,即TC,则得到刚度矩阵A的如下预处理子

P2=(d1h,δα¯+d2h,δα'¯)I+α-¯C+α+¯CT+α¯(C+CT)

由于预处理子P2为循环矩阵,则P2可以通过离散的傅里叶变换进行对角化P2=F*ΛFn,所以只需要一次FFT和一次逆FFT变换可求出,PGMRES算法中残量方程P2z=r 的解z=F*Λ-1Fn r,计算量仅为.

同时,在以上PGMRES算法中还涉及到Toeplitz矩阵与向量相乘,由于Toeplitz矩阵与向量的乘积可以嵌入到阶循环矩阵与向量相乘中,也可以通过FFT计算量得到,计算量仍是所以PGMRES算法每次迭代的计算量为[17-18]

3 数值算例

通过数值实验来验证本文构造的刚度矩阵A的循环预处理子P2的有效性,分别利用GMRES方法、预处理GMRES方法求解线性方程组式(6),其中系数矩阵和右端项分别由式(18)和式(7)定义。所有迭代法都以零向量作为初始向量,迭代终止条件为

r(k)2r(0)210-6

式中:r(k)为第步迭代残向量,r(0)为初始残向量。

在数值实验中,取方程

 x-δ x+δ ( α (x)+α (y) ) σ (x-y) ( u (x)-u (y) ) dy =f(x)x  ( a  ,  b )u ( x )  =  g ( x )x  (  a-δ  , a  ]    [  b  ,  b+δ  ]

的参数如下:扩散区域=,变系数,选取精确解为=,从而可以得到离散点处右端项的值。

算例1 取= .

算例2 取= .

表1表2可以得出以下结论:三种算法算出来的数值近似解是相同的;预处理GMRES算法需要的迭代步数和计算时间比GMRES算法需要的迭代步数和计算时间少;P2做预处理子时需要的计算时间在这三种算法中是最短的。

表1 算例1的数值结果
Tab.1 The numerical results for Example 1
网格步长GMRES方法

预处理GMRES方法

PGMRES

迭代步数

Iter

计算时间

CPU/s

预处理子P1预处理子P2

迭代步数

Iter

计算时间

CPU/s

迭代步数

Iter

计算时间

CPU/s

2-6 430 0.07 350 0.05 240 0.02
2-7 480 0.39 378 0.45 273 0.68
2-8 496 1.80 383 1.31 305 0.36
2-9 500 2.86 406 2.14 328 0.56
2-10 527 38.28 410 30.56 339 7.24
2-11 530 570.87 420 450.67 380 110.26
表2 算例2的数值结果
Tab.2 The numerical results for Example 2
网格步长GMRES方法

预处理GMRES方法

PGMRES

迭代步数

Iter

计算时间

CPU/s

预处理子P1预处理子P2

迭代步数

Iter

计算时间

CPU/s

迭代步数

Iter

计算时间

CPU/s

2-6 540 0.37 430 0.27 270 0.08
2-7 650 0.06 515 0.05 321 0.13
2-8 758 1.68 603 1.46 317 0.33
2-9 896 2.96 547 2.42 674 0.48
2-10 1011 40.56 803 32.67 800 8.96
2-11 1100 318.63 870 256.89 890 63.96

图1图2当中的横坐标表示矩阵特征值的实部,纵坐标表示特征值的虚部。从这两个图中,发现预处理矩阵的特征值分布比原始矩阵的特征值分布集中,说明预处理矩阵的条件数比原始矩阵的条件数小,故预处理GMRES方法的迭代步数比GMRES方法的迭代步数少。

图1 算例1中N为300时, 矩阵特征值分布图

Fig.1 When N is 300 in Example 1, the eigenvalue distribution of the matrix

图2 算例2中N为300时, 矩阵特征值分布图

Fig.2 When N is 300 in Example 2, the eigenvalue distribution of the matrix

4 总结与展望

利用快速配置法数值离散变系数非局部扩散模型所得到的一类具有Toeplitz结构的线性方程组的求解,针对系数矩阵的特殊结构,构造了一个Toeplitz预处理子和循环预处理子,并将其应用于GMRES方法中,即得到预处理GMRES方法。最后利用数值实验验证了预处理GMRES方法的有效性。

非局部扩散模型的数值方法有待进一步研究,接下来可以考虑从数值离散方法入手,提出新的离散方法,保证线性系统更易求解。

作者贡献声明

冉育红:构思者及负责人,指导实验设计、数据分析,论文的修改。

李存吉:数值算例设计者和执行者,完成数据分析,论文初稿的写作。

殷俊锋:参与数值实验设计和算例实验结果分析。

参考文献

1

RALF MJOSEPH K. The random walk's guide to anomalous diffusion: a fractional dynamics approach[J]. Physics Reports20003391): 1. [百度学术

2

CARRERAS B ALYNCH V EZASLAVSKY G M. Anomalous diffusion and exit time distribution of particle tracers in plasma turbulence model[J]. Physics of Plasmas2001812): 5096. [百度学术

3

D-CASTILLO-NEGRETE DCARRERAS B ALYNCH V E. Fractional diffusion in plasma turbulence[J]. Physics of Plasmas2004118): 3854. [百度学术

4

SILLING S A. Reformulation of elasticity theory for discontinuities and long-range forces[J]. Journal of the Mechanics and Physics of Solids2000481): 175. [百度学术

5

DU QGUNZBURGER MLEHOUCQ R Bet al. Analysis and approximation of nonlocal diffusion problems with volume constraints[J]. SIAM Review2012544): 667. [百度学术

6

MENGESHA TDU Q. Nonlocal constrained value problems for a linear peridynamic navier equation[J]. Journal of Elasticity20141161): 27. [百度学术

7

ZHENG G H. Solving the backward problem in Riesz–Feller fractional diffusion by a new nonlocal regularization method[J]. Applied Numerical Mathematics201913599. [百度学术

8

WANG CWANG H. A fast collocation method for a variable-coefficient nonlocal diffusion model[J]. Journal of Computational Physics2017330114. [百度学术

9

SAAD Y. A generalized minimum residual algorithm for solving nonsymmetric linear systems[J]. SIAM Journal on Scientific and Statistical Computing198673): 856. [百度学术

10

金小庆. Toeplitz系统预处理方法[M]. 北京高等教育出版社2010. [百度学术

JIN X Q. Preconditioning techniques for Toeplitz systems[M]. BeijingHigher Education Press2010. [百度学术

11

CHAN T F. An optimal circulant preconditioner for Toeplitz systems[J]. SIAM Journal on Scientific and Statistical Computing198894): 766. [百度学术

12

STRANG G. A proposal for Toeplitz matrix calculations[J]. Studies in Applied Mathematics1986742): 171. [百度学术

13

NG M K. Circulant and skew-circulant splitting methods for Toeplitz systems[J]. Journal of Computational and Applied Mathematics20031591): 101. [百度学术

14

GRAY R M. Toeplitz and circulant matrices: a review[J]. Foundations and Trends in Communications and Information Theory200623): 155. [百度学术

15

POLLOCK D S. Circulant matrices and time-series analysis[J]. International Journal of Mathematical Education in Science and Technology2002332): 213. [百度学术

16

CHAN R HNG M K. Conjugate gradient methods for Toeplitz systems[J]. SIAM Review1996383): 427. [百度学术

17

BAI Z ZNG M K. Preconditioners for nonsymmetric block Toeplitz-like-plus-diagonal linear systems[J]. Numerische Mathematics2003962): 197. [百度学术

18

WANG HWANG KSIRCAR T. A direct O (N log2 N) finite difference method for fractional diffusion equations[J]. Journal of Computational Physics201022921): 8095. [百度学术