基于多项式插值的有限差分法求解Helmholtz方程声硬散射体散射问题
Finite Difference Method Based on Polynomial Interpolation for Solving Hard Acoustic Scattering Problems of the Helmholtz Equation
摘要: 有限差分公式在无网格方法求解微分方程数值解中起着重要作用。本文针对Helmholtz方程的声硬散射体散射问题,通过多项式插值来创建有限差分公式。本文运用一种简单实用的节点分布,既保证多元多项式插值的唯一可解性,又使矩阵为三角矩阵,以便构造的基本多项式化为Lagrange基多项式。最后给出了Helmholtz方程Neumann问题的数值算例。
Abstract: The finite difference formula plays an important role in solving the numerical solution of differential equations by the meshless method. In this paper, the finite difference formula is created by polynomial interpolation for the scattering problem of acoustic hard scatterers of the Helmholtz equation. We use a simple and practical node distribution, which not only ensures the unique solvability of multivariate polynomial interpolation, but also makes the matrix a triangular matrix, so that the basic polynomial constructed can be transformed into Lagrange basis polynomial. Finally, we give the numerical example of the Neumann problem of the Helmholtz equation.
文章引用:王泽玉, 徐敏红, 周雨彤, 邢思雨. 基于多项式插值的有限差分法求解Helmholtz方程声硬散射体散射问题[J]. 应用数学进展, 2021, 10(8): 2639-2647. https://doi.org/10.12677/AAM.2021.108274

1. 引言

无网格法是计算力学领域较活跃的研究分支之一。无网格法的近似函数是建立在一系列离散点上的,不需要借助于网格,克服了有限元法对网格的依赖性,在涉及网格畸变、网格移动等问题中显示出明显的优势,同时无网格法的前处理过程也比有限元法更为简单 [1]。

由于无网格法回避了有限元计算中网格畸变带来的困难,并且容易局部地嵌入多种计算模型。无网格法的创立与发展对于求解传统的有限元法、有限差分法等无法解决的问题有重要的意义与应用价值。

与有限元法不同,无网格法中使用的近似函数大都不具有插值特性,因此在基于Galerkin法的无网格法中处理本质边界条件具有一定的困难。张雄 [2] 等都对本质边界条件的处理进行了深入研究,提出了直接配点法、拉格朗日乘子法、修正变分原理、罚函数法、位移约束方程法等。目前在无网格法中使用的近似函数主要有:核函数近似、重构核近似、最小二乘近似、单位分解函数和径向基函数等 [3]。

本文主要是基于黄小为和吴传生求解Laplace方程以及热传导方程的工作 [4],以及Gasca和Maeztu的工作 [5],以Helmholtz方程为例,求解声硬散射体散射问题。

声波的散射是指入射波在传播过程中由于介质的非一致性从而产生波的传播方向发生偏离的现象。引起散射现象的物质称为散射体,根据散射体的不同性质可分为障碍散射、介质散射等。声波的正散射问题指的是已知入射场和散射体的信息,求解散射场或远场。一般的,我们假定声波是时谐的。正散射问题即是在无界域上求解具有一定边界条件和辐射条件的Helmholtz方程或Maxwell方程组的定解问题 [6]。

在实际生活中,散射现象普遍存在,比如山谷回音。声波和电磁波的散射问题的研宄在许多领域有重要的应用价值,如卫星勘探、雷达目标识别、量子力学、工业制造、无损检测、医疗成像和地质勘探等等 [7] [8] [9] [10]。

本文结构如下:在第一节提出了一个简单且实用的节点分布并确定插值节点集;在第二节构造有限差分公式;在第三节给出Helmholtz方程Neumann问题的数值算例;第四节针对算例做误差分析。

2. 节点分布和插值节点集

2.1. 节点分布

对于二维平面问题,如果节点分布在一系列平行直线上,依据多项式插值相关理论,若依次在直线 l i 上选取 n i + 1 个节点, i = 0 , 1 , , n ,关于这 C n + 2 2 个节点构成的插值节点集,次数不超过n的二元多项式插值问题是唯一可解的。而且,关于此插值节点集,通过局部多项式插值法构造广义有限差分公式,其权系数确定有简单的迭代算法。因此,生成简单的平行直线节点分布,将区域中的离散节点位于一系列的平行直线上,可方便地选取出局部插值节点集来求解多项式插值问题。

基于上述描述,为方便地确定插值节点集和构造插值多项式,本文我们生成平行直线型的节点,以Helmholtz方程为例,求解Neumann问题。

在二维有界连通区域 Ω R 2 上,用 Δ 表示平面区域的离散化级别。离散化级别会决定方程是否病态,进一步影响方程解的稳定性。我们假设 Ω = { ( x , y ) | a 1 x a 2 , g 1 ( x ) y g 2 ( x ) } ,其中 a 1 = inf { x | ( x , y ) Ω } a 2 = sup { x | ( x , y ) Ω }

首先确定区域 Ω 在投影x轴上的节点数

I = { 1 , a 1 = a 2 , 2 , 0 < a 2 a 1 < Δ , [ a 2 a 1 Δ ] + 1 , a 2 a 1 Δ ;

并在投影间隔上生成等距节点

x i = { a 1 , I = 1 , a 1 + a 2 a 1 I 1 ( i 1 ) , I > 1 , i = 1 , , I .

类似的,我们生成一系列通过这些节点并平行于y轴的直线,并在直线和 Ω 上生成等距节点:

J i = { 1 , b i 1 = b i 2 , 2 , 0 < b i 2 b i 1 < Δ , [ b i 2 b i 1 Δ ] + 1 , b i 2 b i 1 Δ , i = 1 , , I ;

y i j = { b i 1 , J i = 1 , b i 1 + b i 2 b i 1 J i 1 ( j 1 ) , J i > 1 , j = 1 , , J i .

其中 b i 1 = inf { y | ( x i , y ) Ω } b i 2 = sup { y | ( x i , y ) Ω }

最终,生成区域 Ω R 2 上节点

T = i = 1 I { ( x i , y i j ) | j = 1 , , J i } .

2.2. 插值节点集

本文采用广义有限差分法来求解方程,该方法本质上是以计算点附近的相邻节点的函数值的线性组合去逼近计算点处的导数。因此,我们先要选取计算点附近的相邻节点集。

对于移动最小二乘法和径向基函数插值法,通常是给定节点数目,选择与计算点最邻近的节点;或是给定邻域半径,选择以计算点为中心的邻域内的节点。这种选取节点集的做法都是非常简单直接而且有快速的算法。节点集选取面临的最大问题是可能会导致奇异性。为避免奇异性问题,我们基于多元多项式插值来构造广义有限差分法。

在获得区域 Ω 的平行直线型(平面–直线型)节点分布T后,对于给定的点 p Ω 和多项式次数 n N ,我们在节点p附近选取插值节点集 χ n ( p )

T = { ( x i , y i j ) | i = 1 , , I ; j = 1 , , J i ; I n + 1 } Ω 为确定的平行直线型节点集,在该点集中选取与点p距离最近的 n + 1 个点,构成新的点集 ρ 0 ( p )

在2.1节中,生成了节点 T = { ( x i , y i j ) | i = 1 , , I ; j = 1 , , J i } Ω ,然后将 { J i } i = 1 I 降序排列为

J m 1 J m 2 J m I .

为了保证 χ n ( p ) 存在,让 Δ > 0 为足够小的常数,使得 I n + 1 并且

J m k n + 2 k , k = 1 , , n + 1.

为确定插值节点集,给定降序排列 r = n + 1 , n , , 1 ,先令集合 S = { 1 , , I } ,后构造 V = { i S | J i r } ,然后通过下述规则迭代

k ( i ) = arg min 1 l J i r + 1 | v y i , l + y i , l + r 1 2 | , i V ;

i r = arg min i V ( ( u x i ) 2 + ( v y i , k ( i ) + y i , k ( i ) + r 1 2 ) 2 ) ;

ρ r ( p ) = { ( u i r , v i r , s ) | s = k ( i r ) , , k ( i r ) + r 1 } ;

S = S \ { i r } .

最终获得插值节点集

χ n ( p ) = r = 1 n + 1 ρ r ( p ) = { ( u r , v r s ) | ( r , s ) I n 2 } T .

3. 有限差分公式

用某点附近点的函数值的线性组合去逼近函数在该点处的导数,导出的公式称为广义有限差分公式。

给定函数 f : d χ n ( p ) = { q α | α I n d } 为在点p附近选取的插值节点集,在 Π n d 上关于 χ n ( p ) 的多项式插值问题是唯一可解的。f关于 χ n ( p ) 的Lagrange插值多项式为

α I n d f ( q α ) l α ( x ) , x d . (1)

其中, { l α ( x ) } α I n d 为Lagrange基函数。

可以将Lagrange插值多项式看作是函数f的一种逼近,该多项式在点p处的导数作为f在点p处的导数的近似值。我们对(1)式求导,再将x取作p,可以得到f在点p处的导数的广义差分公式:

f ( γ ) ( p ) α I n d f ( q α ) D γ l α ( x ) . (2)

其中, γ , | γ | n D γ l α ( x ) { l α ( x ) } α I n d 的导数,可称为权系数,记作 ω α 。因此(2)式可写为:

f ( γ ) ( p ) α I n d f ( q α ) ω α . (3)

为简便起见,本文针对二元情形,考虑点p选取的插值节点集为平行直线型节点,推导出二元广义有限差分格式,再在数值实验部分展示具体的应用。

设点p选取的插值节点集为平行直线型节点 χ n ( p ) = { ( u i , v i j ) | ( i , j ) I n 2 } ,插值节点位于一系列平行于y轴的直线上,依据(3)式得到相应的广义差分公式:

f ( γ ) ( x 0 , y 0 ) ( i , j ) I n 2 f ( u i , v i j ) ω i j . (4)

其中,权系数 ω i j = D γ l i j ( x 0 , y 0 )

通过一元Newton基函数 { ξ i ( x ) } i = 1 n 与一元Lagrange基函数 { l j i ( y ) } j = 0 n i ,确定出二元Lagrange基函数 { l i j ( x , y ) } ( i , j ) I n 2

{ l n 0 = ξ n ( x ) l 0 n ( y ) , l i j = ξ i ( x ) l j i ( y ) ( r , s ) I n 2 r > i ξ i ( u r ) l j i ( v r s ) l r s ,

其中 i = 0 , , n 1 ; j I n i 1 。则权系数 ω i j 也能被确定出来:

{ ω n 0 = ξ n ( γ 1 ) ( x 0 ) l 0 n ( γ 2 ) ( y 0 ) , ω i j = ξ i ( γ 1 ) ( x 0 ) l j i ( γ 2 ) ( y 0 ) ( r , s ) I n 2 r > i ω r s ξ i ( u r ) l j i ( v r s ) ,

其中 i = 0 , , n 1 ; j I n i 1

4. 数值实验

本文以Helmholtz方程为例,求解Neumann问题。本文选取的方程为:

{ 2 u + k u = 0 , in Ω , u n = g , on Γ . (5)

其中 Ω = { ( x , y ) | 1 x 1 , 1 x 2 y 2 } Γ = Ω k = 2 g = x cos x cos y y sin x sin y 。已知该问题的解析解是 u = sin x cos y

T = T 0 T 1 为用上述方法确定的节点集合, T 0 为内部节点集合, T 1 为边界节点集合。将节点代入下式

{ 2 u ( x i ) + k u ( x i ) = 0 , in Ω , u n | x i = g ( x i ) , on Γ . (6)

式(6)中 2 u ( x i ) u n | x i 用广义有限差分公式替换,节点按内部节点、边界节点的顺序排列,写成矩阵方程的形式即可得:

( L + k E B ) ( u 0 u 1 ) = ( 0 g ) . (7)

式(7)中,Laplacian算子微分矩阵 L N 0 × N = ( L 0 , L 1 ) Γ 上边界算子微分矩阵 B N 1 × N = ( B 0 , B 1 ) 按内部节点,边界节点划分为两块。

N 0 为内部节点数, N 1 为边界节点数, N = N 0 + N 1 。g是g在边界 Γ 上的边界节点处的函数值组成的向量。 u 0 , u 1 分别为对应于内部节点、边界节点的未知向量。

式(7)可简化为 N 0 + N 1 个方程、 N 0 + N 1 个未知量的线性方程组:

( L 0 L 1 B 0 B 1 ) ( u 0 u 1 ) = ( 0 g ) ( k E 0 ) ( u 0 u 1 ) . (8)

通过求解(8)获得函数u在内部节点以及边界节点处的函数值。

4.1. 确定参数值

为确定节点分布,我们需要确定 Δ 和n两个参数。先假定这两个参数的值,求出对应的数值解,再对比数值解与解析解。依据这两个解的最大绝对误差Err0和平均绝对误差Err1确定出较好的选取值。

Δ 的候选值有 1 10 1 20 1 30 1 40 1 50 。n的候选值有6,8,10。基于这些候选值,做了15次数值实验,得到了15个Err0与15个Err1,见图1图2

Figure 1. Maximum absolute error

图1. 最大绝对误差

Figure 2. Mean absolute error

图2. 平均绝对误差

基于图1图2的结果,确定出 Δ = 1 20 n = 8

4.2. 确定数值解

确定两个参数的值后,我们得到对应的节点分布情况。图3图4分别是节点分布的区域与边界和插值节点集。

Figure 3. Regions and borders

图3. 区域和边界

Figure 4. Interpolation node set

图4. 插值节点集

利用有限差分格式求解出方程的数值解,图5是数值解的三维图像。

为方便比较数值解与解析解的最大绝对误差和平均绝对误差,我们将两个解合并展示,见图6。其中红点为解析解值,蓝点为数值解值。

计算得到最大绝对误差Err0是0.05268,平均绝对误差Err1是0.016468。

Figure 5. Numerical solution of transmission eigenvalue

图5. 透射特征值数值解

Figure 6. Numerical solution and analytical solution

图6. 数值解与解析解

5. 误差分析

5.1. 奇异性

对于本文提出的基于多元多项式插值的广义有限差分法,区域节点分布生成简单,选取插值节点集后广义有限差分公式的建立不存在奇异性问题,广义有限差分公式中权系数的计算稳定且计算量小。

5.2. 点态逼近误差

根据文献 [11] 的误差分析:

存在一个数 λ 1 ,任意两点 p 1 , p 2 Ω 可通过长度为 | Γ | p 1 p 2 的可校正曲线Γ连接。

Ω R 2 是满足此假设的紧致域,T是通过上述算法生成的一个节点集,给定 n N , p Ω χ n ( p ) = { q α } α I n 2 是最终生成的插值节点集, { l α } α I n 2 χ n ( p ) 生成的拉格朗日基。又

γ = ( γ 1 , γ 2 ) N 0 2 , | γ | n ,若 p Rect ( χ n ( p ) ) Ω , f C n , 1 ( Ω ) ,那么

C ( τ , κ , γ , λ ) = 2 3 n + 1 2 λ n ( n 1 ) ! τ n + 1 | γ | C 1 ( τ , κ , γ ) 时,

| f ( γ ) ( p ) α I n 2 f ( q α ) l α ( γ ) ( p ) | C ( τ , κ , γ , λ ) | f | n , 1 Δ n + 1 | γ | ,

其中 C 1 ( τ , κ , γ ) = ( 2 κ ) | γ | ( τ n + 1 ) | I n 2 | 1 α = ( i , j ) I n 2 τ | α | 2 T i 1 ( γ 1 ) ( 1 ) T j 1 ( γ 2 ) ( 1 )

可得近似误差为 | f ( γ ) ( p ) α I n 2 f ( q α ) D γ l α ( p ) |

6. 总结与发展

对于基于多元多项式插值的广义有限差分法,我们发现其区域节点分布生成简单,选取插值节点集后广义有限差分公式的建立不存在奇异性问题,广义有限差分公式中权系数的计算稳定且计算量小,可以很好地进行Helmholtz方程Neumann问题的数值求解。

此方法还有一些需要进一步研究的地方。无网格方法的节点分布直接影响数值解的误差精度。我们希望可以根据区域自身的特点构造出具有自适应特点的平行直线型节点分布。

参考文献

[1] 刘天祥, 刘更, 朱均, 虞烈. 无网格法的研究进展[J]. 机械工程学报, 2002, 38(5): 7-12.
[2] 张雄, 胡炜, 潘小飞, 陆明万. 加权最小二乘无网格法[J]. 力学学报, 2003, 35(4): 425-431.
[3] 张雄, 刘岩, 马上. 无网格法的理论及应用[J]. 力学进展, 2009, 39(1): 1-36.
[4] Huang, X.W. and Wu, C.S. (2019) A Meshless Finite Difference Method Based on Polynomial Interpolation. Journal of Scientific Computing, 80, 667-691.
https://doi.org/10.1007/s10915-019-00952-z
[5] Gasca, M. and Sauer, T. (2000) Polynomial Interpolation in Several Variables. Advances in Computational Mathematics, 12, 377-410.
https://doi.org/10.1023/A:1018981505752
[6] 刘玲玲. 使用无相位远场数据重构声硬障碍物的数值方法[D]: [硕士学位论文]. 长春: 吉林大学, 2020.
[7] Borden, B. (2002) Mathematical Problems in Radar Inverse Scattering. Inverse Problems, 18, R1-R29.
https://doi.org/10.1088/0266-5611/18/1/201
[8] Poplavskii, I.V. (1973) Inverse Problem in the Complex λ-Plane in the Case of a Coulomb Interaction. Russian Physics Journal, 13, 1216-1219.
https://doi.org/10.1007/BF01100557
[9] Micheli, D., Pastore, R., Gradoni, G., Primiani, V.M. and Marchetti, M. (2013) Reduction of Satellite Electromagnetic Scattering by Carbon Nanostructured Multilayers. Acta Astronautica, 88, 61-73.
https://doi.org/10.1016/j.actaastro.2013.03.003
[10] Safonov, M. and Athans, M. (1977) Gain and Phase Margin for Multiloop LQG Regulators. IEEE Transactions on Automatic Control, 22, 173-179.
https://doi.org/10.1109/TAC.1977.1101470
[11] 李悠然, 潘文峰. 基于多项式插值的有限差分法求解Helmholtz方程透射特征值问题[J]. 应用数学进展, 2020, 9(12): 2236-2243.