重心插值配点法求解二维波动方程

李瑞 ,  宋灵宇

内蒙古工业大学学报(自然科学版) ›› 2025, Vol. 44 ›› Issue (05) : 463 -471.

PDF (3840KB)
内蒙古工业大学学报(自然科学版) ›› 2025, Vol. 44 ›› Issue (05) : 463 -471. DOI: 10.13785/j.cnki.nmggydxxbzrkxb.2025.05.010
数理科学

重心插值配点法求解二维波动方程

作者信息 +

Barycentric Interpolation Collocation Method for the Two-Dimensional Wave Equation

Author information +
文章历史 +
PDF (3932K)

摘要

利用重心有理插值配点法求解波动方程。首先,介绍重心有理插值配点法并且给出微分矩阵;其次,采用该方法离散二维波动方程和初边值条件,利用置换法处理边界条件,获得方程的最终矩阵形式。选取第二类Chebyshev节点和等距节点进行数值计算,将重心有理插值配点法得到的数值精度与重心Lagrange插值配点法得到的数值精度进行了比较,数值算例表明,两种方法在Chebyshev节点下均能保持高精度性以及稳定性,而在等距节点下重心有理插值法的数值计算效果更好。

Abstract

The barycentric rational interpolation collocation method is used to solve the wave equation. Firstly, the method is introduced and the differential matrix is given. Secondly, the method is used to discretize the two-dimensional wave equation and the initial boundary conditions, and the replacement method is used to deal with the boundary conditions to obtain the final matrix form of the equation. The second kind of Chebyshev nodes and the equidistant nodes are chosen for numerical computation. The numerical accuracy of the method in this study is compared with that by the barycentric Lagrange interpolation, and the numerical example demonstrate that both methods maintain high accuracy as well as stability under Chebyshev nodes, while the barycentric rational interpolation method works better numerically under equidistant nodes.

Graphical abstract

关键词

波动方程 / 重心有理插值 / Chebyshev节点 / 等距节点

Key words

wave equation / barycentric rational interpolation / Chebyshev node / equidistant node

引用本文

引用格式 ▾
李瑞,宋灵宇. 重心插值配点法求解二维波动方程[J]. 内蒙古工业大学学报(自然科学版), 2025, 44(05): 463-471 DOI:10.13785/j.cnki.nmggydxxbzrkxb.2025.05.010

登录浏览全文

4963

注册一个新账户 忘记密码

波动方程是一种重要的双曲型微分方程,常用来描述自然界内各种波现象,例如声波、光波、水波[1-4],其被广泛应用于弹性力学、地球物理、电磁学以及气象学等诸多自然科学领域[5-6]。关于波动方程数值求解的研究一直以来广受学者的关注。
波动方程的主要数值计算方法有:有限差分法[7-8]、有限元法[9]、有限体积法[10]和谱方法[11]。文献[12]开发了一种有限差分法结合交替方向隐式方案,求解了具有分数阻尼的二维波动方程。文献[13]采用有限元方法进行空间离散,时间导数采用有限差分法近似,解决了扩散黏性波动方程的一般初始边值问题。
无网格法是一种高精度算法,常用来处理微分方程的初边值问题。其中重心有理插值配点法就是无网格法的一种。王兆清等[14]将Lagrange插值公式改写为重心型插值公式,提出一维重心型插值公式。马燕等[15]提出了(1+1)维波动方程的重心插值配点法,采用重心有理插值函数离散波动方程。宋灵宇等[16]采用重心插值配点法求解了二维Sobolev方程,取不同插值节点进行计算,实验结果表明重心有理插值法在不同插值节点下都能够获得稳定性较好的数值解。屈金铮等[17]利用重心Lagrange插值配点法求解非线性方程,采用三种迭代格式求解了伪抛物方程。袁洪旺等[18]提出了求解高维波动方程的重心Lagrange插值配点法,分别使用置换法和附加法施加初边值条件求解波动方程。文献[19]介绍了重心有理插值法求解(1+1)维Burgers方程,并且证明了Burgers方程的重心有理插值配点法的收敛速度。文献[20]选择重心有理插值配点法求解SG方程,构造直接线性化等迭代格式,比较了不同插值节点下各迭代格式的结果,给出数值算例验证了方法的有效性。
本文采用重心有理插值配点法求解二维波动方程。第1节介绍本文所要求解的二维波动方程。第2节介绍重心有理插值配点法。第3节给出波动方程的计算过程,包括波动方程的离散格式以及初边值条件的离散。第4节给出数值算例验证本文所提方法的高精度和高效性。第5节给出了结论。

1 二维波动方程

本节主要考虑如下形式的二维波动问题:

utt=c2uxx+uyy+fx, y, tux, y, 0=ϕx, y, x, yΩutx, y, 0=ψx, y, x, yΩux, y, t=gx, y, t, x, yΓ

其中:(x, y, t)Ω×(0, T]Ω=[a, b]×[c, d]ΓΩ的边界;c2是波动系数且为已知常数,u (x, y, t)为未知函数,f(x, y, t)为非齐次项;ϕ (x, y, t)ψ (x, y, t)gx, y, t均为已知函数。

2 重心有理插值配点法及微分矩阵

2.1 重心有理插值

设在区间[a, b]上有n+1个不同的计算节点xii=0, 1, , n且其对应的函数值为u (xi),记ui

选择适当的参数d, 0dn, dN,对d+1个节点(xi, ui), (xi+1, ui+1), , (xi+d, ui+d)计算Lagrange插值多项式:

uix=k=ii+dj=i, jki+dx-xjxk-xjuk

构造多项式ui(x)的权函数

λi(x)=-1ix-xix-xi+d

根据式(2)和权函数λi(x)构造重心有理插值函数:

ux=i=0n-dλixuixi=0n-dλix=i=0n-d-1ik=ii+d1x-xkj=i, jki+d1xk-xjuki=0n-dλix=k=0nωkx-xkuki=0n-dλix

其中:ωk=iJk-1ij=i, jki+d1xk-xj为重心有理插值权,Jk=iIk-dik, I=0, 1, , n,根据1=k=ii+dj=i, jki+dx-xjxk-xj,可以得到

i=0n-dλix=k=0nωkx-xk

因此,由式(3)式(4)可以得到重心有理插值公式

ux=k=0nωkx-xkukk=0nωkx-xk=k=0nLkxuk

其中重心有理插值基函数为Lkx=ωkx-xkk=0nωkx-xk

2.2 微分矩阵

使用重心有理插值方法进行计算时,d会影响计算的精度,因此需要选取合适的d值。

式(5)在节点xi, i=1, 2, , n处求导:

upxi=j=1nLjpxiuj,  j=1, 2, , n

将其写成简洁的微分矩阵

up=Cpu, p=1, 2, 

其中:

up=upx1, upx2, , upxnTu=u1, u2, , unTCp=L1px1L2px1Lnpx1L1px2L2px2Lnpx2L1pxnL2pxnLnpxn

p=0时,C0=In, Inn阶单位矩阵。

p=1时,插值基函数的1阶导数写成统一形式如下:

Lj'xi=ωjωixi-xj, ij-j=1, jinLj'xi, i=j

p2时,插值基函数的p阶导数写成统一形式如下:

Ljpxi=pLip-1xiLj'xi-Ljp-1xixi-xj, ij-j=1, jinLjpxi, i=j

3 波动方程的计算

将重心有理插值配点法运用到二维波动方程的求解中。

考虑函数ux, y, t, x, y, tΩ×0, T,其中Ω=a, b×c, d,将Ω离散为m×n个张量型插

值节点Ωij=xi, yj, i=1, 2, , m;  j=1, 2, , n,将

0, T离散为l个插值节点tk, k=1, 2, , l,最终在Ω×0, T内得到m×n×l个张量型插值节点:

xi, yj, tk, i=1, 2, , m;j=1, 2, , n; t=1, 2, , l

将函数ux, y, t在插值节点xi, yj, tk处的函数值定义为uxi, yj, tk=uijk,则ux, y, t在节点xi, yj, tk上的重心有理插值表达式为

ux, y, t=i=1mj=1nk=1lLixMjyTktuijk

其中

Lix=ωix-xii=1mωix-xiMjy=νjy-yjj=1nνjy-yjTkt=λkt-tkk=1lλkt-tk

分别是xyt方向上的重心有理插值基函数。ωi, 

νj, λk分别为对应的重心有理插值权函数:

ωi=1k=1, kimxi-xkνj=1k=1, kjnyj-ykλk=1i=1, ikltk-tj

进一步,式(10)g1+g2+g3阶偏导数可以表示为:

ug1+g2+g3x, y, t=i=1mj=1nk=1lLig1xMjg2yTkg3tuijk

式(13)在插值节点xr, ys, tp, r=1, 2, , m;p=1, 2, , ls=1, 2, , n处的函数值可以离散为

ug1+g2+g3xr, ys, tp=i=1mj=1nk=1lLig1xrMjg2ysTkg3tpuijk

写成微分矩阵的形式为

ug1+g2+g3=Cg100C0g20C00g3u

其中:表示克罗内克积运算符;Cg100C0g20

C00g3分别为关于xyt的微分矩阵。

结合式(1)式(10)可以得到

i=1mj=1nk=1lLixMjyTkt-c2LixMjyTkt+LixMjyTktuijk=fx, y, t

令方程(16)在以下节点成立xr, ys, tp, r=1, 2, , m; s=1, 2, , n; p=1, 2, , l,那么

i=1mj=1nk=1lLixrMjysTktp-c2LixrMjysTktp+LixrMjysTktpuijk=fxr, ys, tp

线性方程组(17)写成如下矩阵的形式

ImInC002-c2C200InIl-c2ImC020IlU=F

简记为

LU=F

其中

L=ImInC002-c2C200InIl-c2ImC020Il
U=u111, u112, , u11l, u121, u122, , u12l, ,, umn1, umn2, , umnlT
F=f111, f112, , f11l, f121, f122, , f12l, , , fmn1, fmn2, , fmnlT

考虑二维波动方程(1)的初始条件

ux, y, 0=ϕx, yutx, y, 0=ψx, y

以及x的边界条件

ua, y, t=ζ1y, t ub, y, t=ζ2y, t

y的边界条件

ux, c, t=χ1x, tux, d, t=χ2x, t

利用重心有理插值式(10)来近似式(20)~(22),可以得到初始条件和边界条件的离散形式,最终离散的矩阵形式如下:

ImInIl1u=ϕImInCt11u=ψ

其中:

ϕ=ϕx1, y1, , ϕx1, yn, , , ϕxm, ynTψ=ψx1, y1, , ψx1, yn, , , ψxm, yn

Il1表示l阶单位矩阵的第1行,Ct11表示t方向上的一阶微分矩阵的第1行。

Im1InIlu=ζ1y, tImmInIlu=ζ2y, t
ImIn1Ilu=χ1x, tImInnIlu=χ2x, t

其中:

ζp=ζpy1, t1, , ζpy1, tl, , , ζpyn, tlT, p=1, 2χq=χqx1, t1, , χqx1, tl, , , χqxm, tlT, q=1, 2Im1表示m阶单位矩阵的第1行,Imm表示m阶单位矩阵的第m行,In1表示n阶单位矩阵的第1行,Inn表示n阶单位矩阵的第n行。

最终得到二维波动方程(1)的离散矩阵(19)以及初边界条件的离散形式(23)~(25),另外,本文采用置换法来计算边界条件。

4 数值算例

利用给定解析解的数值算例进行数值模拟来验证本文所提方法的高精度和高效性。

所有算例所选插值节点为第二类Chebyshev节点,

xi=-cosiπm, i=0, 1, , myj=-cosjπn, j=0, 1, , ntk=-coskπl, k=0, 1, , l

以及等距节点

xi=a+ib-am, i=0, 1, , myj=c+jd-cn, j=0, 1, , ntk=kTl, k=0, 1, , l

定义绝对误差Ea和相对误差Er

Ea=||uc-ue||2, Er=||uc-ue||2||ue||2

其中:·2表示向量的2-范数;uc表示所求得的数值解;ue表示方程已知的精确解。

算例1 考虑如下常系数二维波动方程

utt=uxx+uyy+f(x, y, t), x, y, tΩ×0, Tux, y, 0=x(x-1)+y(y-1)utx, y, 0=πsin(πx)sin(πy)u0, y, t=y(y-1)+2t2u1, y, t=y(y-1)+2t2ux, 0, t=x(x-1)+2t2ux, 1, t=x(x-1)+2t2

其中:Ω=x, y|0x, y1f(x, y, t)=π2sin(πx)

sin(πy)sin(πt)。本算例的精确解为

ux, y, t=x (x-1)+y (y-1)+2t2+sin(πx)sin(πy)sin(πt)

T=1,在整个计算区域内分别选取16×16×16个张量积型第二类Chebyshev插值节点以及等距插值节点来离散算例1中的波动方程,采用重心有理插值法和重心Lagrange插值法计算,将两种插值配点法所得到的结果进行比较。在使用重心有理插值法计算时,取参数d=10

图1给出了采用第二类Chebyshev节点在两种重心插值配点法下进行数值计算得到算例1的数值解和绝对误差。图1(a)、1(b)表明Chebyshev节点下的两种方法得到的数值解和精确解具有较高的一致性。图1(c)、1(d)表明两种方法计算的数值精度相差不大,精度量级均保持在10-10

表1给出t=1时算例1在不同插值节点下的两种重心插值配点法的误差。结果表明,对于不同的插值节点,本文所提方法得到的数值解的误差和重心Lagrange插值法得到的数值解的精度一致,也就是说,两种插值法的数值拟合效果相当。对于重心有理插值配点法,Chebyshev节点下的重心有理插值配点法的效果略优于等距节点。

表2给出不同插值节点数下的两种方法的绝对误差,从表2中得知,随着插值节点数的增加,重心有理插值法在两种插值节点下始终保持良好的数值精度,在节点数达到17×17×17时,能够保持较稳定的精度;重心Lagrange插值在Chebyshev节点下能够保持稳定的数值精度,在节点数达到13×13×13时,计算精度相对较高,量级最终保持在10-8,但是在等距节点下,重心Lagrange插值随着插值节点数增加到15×15×15时,精度却逐渐下降,且下降幅度较大,在节点数为19×19×19时,数值模拟极不稳定,重心有理插值法比重心Lagrange插值法在等距节点下稳定。

算例2 考虑如下二维波动方程

utt=uxx+uyy, x, y, tΩ×0, Tux, y, 0=cos-x-yutx, y, 0=-2sin-x-yu0, y, t=cos2t-yu1, y, t=cos2t-1-yux, 0, t=cos2t-xux, 1, t=cos2t-1-x

其中:Ω=x, y|0x, y1T=1。本算例的精确解为

ux, y, t=cos2t-x-y

采用14×14×14个第二类Chebyshev节点对算例2中的方程进行离散,取d=10。分别使用两种重心插值配点法进行数值计算,得到图2中的数值解和误差分布。图2(a)、2(b)表明,两种方法所得的数值解与精确解拟合度都较好。图2(c)、2(d)给出两种方法的绝对误差,表明在Chebyshev节点下,两种方法的误差精度量级均保持在10-11

表3给出算例2在不同插值节点下的两种重心插值配点法的绝对误差和相对误差,结果表明,采用Chebyshev节点的有理插值法的数值精度稍微高。选取等距节点时,重心有理插值法比重心Lagrange插值法拟合效果更好。

表4给出算例2在不同插值节点数下两种方法的绝对误差,从表4中得知,两种方法随着插值节点数的增加,数值计算精度虽然都有所下降,但是在Chebyshev节点下都能保持良好的数值精度。等距节点下的重心有理插值法计算精度虽有所下降,但是仍能保持良好的稳定性。对于重心Lagrange插值法,等距节点下该方法随着节点数增加到17×17×17时,计算精度下降幅度大,达到了10-1,节点数增加到19×19×19时,该方法的误差变得非常大,说明此方法在等距节点下极不稳定。

算例3 考虑如下常系数二维波动方程

utt=uxx+uyy+f(x, y, t), x, y, tΩ×0, Tux, y, 0=sin(πx)sin(πy)utx, y, 0=-πsin(πx)sin(πy)u0, y, t=u1, y, t=0ux, 0, t=ux, 1, t=0

其中:Ω=x, y|0x, y1f(x, y, t)=3π2e-πtsin(πx)

sin(πy)。本算例的精确解为

ux, y, t=e-πtsin(πx)sin(πy)

T=1,采用20×20×20个第二类Chebyshev节点对算例3中的方程进行离散,同样地,取d=10。分别使用两种重心插值配点法进行数值计算,得到图3中的数值解和误差分布。图3(a)、3(b)表明,两种方法所得的数值解与精确解拟合度都较好。图3(c)、3(d)给出两种方法的绝对误差,表明在Chebyshev节点下两种方法的误差精度量级均保持在10-11

表5给出算例3在不同插值节点数下的两种重心插值配点法的绝对误差和相对误差,结果表明,采用Chebyshev节点的重心Lagrange插值法的数值精度稍高。选取等距节点时,重心有理插值法比重心Lagrange插值法精度好。

表6给出算例3两种方法在不同插值节点数下的绝对误差,从表6看出:两种方法随着插值节点数的增加,数值计算精度都有所上升,重心Lagrange插值在Chebyshev节点下的最高精度达到10-10,重心有理插值法计算精度略低,为10-9。等距节点下的重心有理插值法能够保持较为稳定的数值结果,但是对于重心Lagrange插值法,等距节点下该方法随着节点数增加到17×17×17时,计算精度下降,达到10-2,节点数增加到19×19×19时,该方法的误差变得非常大,此方法在等距节点下不稳定。

5 结语

本文采用重心有理插值配点法求解二维波动方程,并且和重心Lagrange插值配点法进行了比较。数值算例表明,两种方法在Chebyshev节点下的数值解和精确解均具有较好的吻合度。在等距节点下,本文介绍的方法计算精度要高一些。

参考文献

[1]

SCHOEDER S, KRONBICHLER M, WALL W A. Arbitrary high-order explicit hybridizable discontinuous Galerkin methods for the acoustic wave equation[J]. Journal of Scientific Computing, 2018, 76(2): 969-1006.

[2]

ANTONIETTI P F, MAZZIERI I, MUHR M, et al. A high-order discontinuous Galerkin method for nonlinear sound waves[J]. Journal of Computational Physics, 2020, 415: 109484.

[3]

YUE C, HIGAZY M, KHATER O M A, et al. Computational and numerical simulations of the wave propagation in nonlinear media with dispersion processes[J]. AIP Advances, 2023, 13(3): 035232.

[4]

KUMAR D, KUMAR S. Some new periodic solitary wave solutions of (3+1)-dimensional generalized shallow water wave equation by lie symmetry approach[J]. Computers & Mathematics with Applications, 2019, 78(3): 857-877.

[5]

ZHANG M, YAN W J, JING F F, et al. Discontinuous Galerkin method for the diffusive-viscous wave equation[J]. Applied Numerical Mathematics, 2023, 183: 118-139.

[6]

YI N, HUANG Y, LIU H. A conservative discontinuous Galerkin method for nonlinear electromagnetic Schrödinger equations[J]. SIAM Journal on Scientific Computing, 2019, 41(6): B1389-B1411.

[7]

HARARI I, TURKEL E. Accurate finite difference methods for time-harmonic wave propagation[J]. Journal of Computational Physics, 1995, 119(2): 252-270.

[8]

ACHOURI T. Finite difference schemes for the two-dimensional semilinear wave equation[J]. Numerical Methods for Partial Differential Equations, 2019, 35(1): 200-221.

[9]

WANG X P, GAO F Z, SUN Z J. Weak Galerkin finite element method for viscoelastic wave equations[J]. Journal of Computational and Applied Mathematics, 2020, 375: 112816.

[10]

GHOUDI T, MOHAMED M S, SEAID M. Novel adaptive finite volume method on unstructured meshes for time-domain wave scattering and diffraction[J]. Computers & Mathematics with Applications, 2023, 141: 54-66.

[11]

KHASI M, RASHIDINIA J, RASOULIZADEH M N. Fast computing approaches based on a bilinear pseudo-spectral method for nonlinear acoustic wave equations[J]. SIAM Journal on Scientific Computing, 2023, 45(4): B413-B439.

[12]

CUI M, JI C C, DAI W. A finite difference method for solving the wave equation with fractional damping[J]. Mathematical and Computational Applications, 2023, 29(1): 2.

[13]

HAN W M, SONG C H, WANG F, et al. Numerical analysis of the diffusive-viscous wave equation[J]. Computers & Mathematics With Applications, 2021, 102: 54-64.

[14]

王兆清, 李淑萍, 唐炳涛. 一维重心型插值: 公式、算法和应用[J]. 山东建筑大学学报, 2007, 22(5): 448-453.

[15]

马燕, 王兆清, 唐炳涛. 波动问题的高精度重心有理插值配点法[J]. 山东科学, 2012, 25(3): 80-87.

[16]

宋灵宇, 武莉莉, 卢梦双. 重心插值配点法求解二维Sobolev方程[J]. 西北师范大学学报(自然科学版), 2021, 57(6): 31-37, 44.

[17]

屈金铮, 李金, 苏晓宁. 求解非线性伪抛物方程的重心Lagrange插值配点法[J]. 山东大学学报(理学版), 2023, 58(4): 29-39.

[18]

袁洪旺, 王希胤, 李金. 波动方程的高精度数值解方法[J]. 计算物理, 2024, 41(4): 426-439.

[19]

ZHAO Q L, WANG R W, WANG Z Q, et al. Barycentric rational collocation method for burgers' equation[J]. Journal of Mathematics, 2022, 2022(1): 2177998.

[20]

LI J, QU J Z. Barycentric lagrange interpolation collocation method for solving the sine-gordon equation[J]. Wave Motion, 2023, 120: 103159.

基金资助

国家自然科学青年基金资助项目(12101482)

陕西省科技厅重点研发一般资助项目(2024M722604)

AI Summary AI Mindmap
PDF (3840KB)

194

访问

0

被引

详细

导航
相关文章

AI思维导图

/