1. 引言
无网格法是一种通过节点信息来求解偏微分方程问题的数值方法,相比于有限元法和有限差分法等传统的数值方法,无网格法可减少或完全消除对网格的依赖,还保证了计算的精度,降低了计算的难度。Belytschko等人在1994年提出了无网格Galerkin法 [1] ,并将其运用到对固体力学问题进行数值模拟的方面上。虽然全局弱式的无网格Galerkin法具有精度高、稳定性好等优点,但仍需要背景网格或背景单元进行积分。
定义1:无网格法是在建立的整个问题域的系统代数方程时,不需要利用预定义的网格信息进行域离散的方法 [2] 。
在Helmholtz问题的无网格法求解中,李美香等使用了点插值法 [3] 、姜欣荣等使用基本解法(MFS)和边界节点法(BKM) [4] 以及杨子乐等使用无网格介点法(MIP) [5] [6] 来求解此类问题。对于无网格Galerkin法,Mehdi,Dehghan等人用这种方法来较好的模拟了肿瘤细胞的扩散现象 [7] 。
2. 移动最小二乘近似(MLS)
假设
是一个非空有界集,设
为在求解区域
的N个点的集合,
是一个连续函数。
那么对于
的移动最小二乘近似可以被写为:
(1)
(1)式中
是形函数,
是在节点
上的节点参数,
表示在支持域
中的节点指标集,定义如下所示:
为支持域的半径。
(1)式可由近似函数
在这些节点
处误差的加权平方和推导可得,如下:
(2)
(3)
为基函数,
中m指的是基函数的最高次幂,d指的是空间的维数。则函函数的个数为
。
其中(2)式为u的局部近似,(3)式为精确解与近似解的误差加权平方和。
通过(3)式求关于
的驻点值,可得:
并对该式进行运算和整理可得形函数为:
(4)
其中
和
为:
(5)
(6)
在(3) (4) (5)式中的
为权函数,在本文中我们选择用Gauss权函数,如下所示:
(7)
,其中
为节点
的支撑域半径,且
是一个正参数。
3. Helmholtz方程的离散格式
考虑二维的Helmholtz方程 [5] :
(8)
其中k为波数,u为解函数,q为解函数的外法向导数,
和
分别为边界
上的外法线方向余弦,
和
分别为Neumann边界条件和Dirichlet边界条件,两种边界条件构成了求解域围成的边界
。那么接下来运用能量法之一的最小势能原理引出平衡方程的另一种表达方式,然后将求解问题转化为变分问题,并引入拉格朗日乘子法来对原有方程施加边界条件,最后可通过所得的离散方程求得近似数值解。
首先通过最小势能原理 [8] 可得:
(9)
对(9)式进行变分可表示为:
(10)
根据变分的定义以及链式法则整理可得:
(11)
因为总势能的最小要求为
,故可得到:
(12)
令
,将(1)式代入(12)式可得:
(13)
上式可简写为:
(14)
其中
,
这样通过上式就可求解出n个在该积分节点的近似参数。但在该部分未引入边值条件,所以求得的解因为在边界条件的不同会对数值解产生不同的影响。我们在下一部分引入了拉格朗日乘子法来对边界条件进行处理,求得较为精确的数值解。
接着使用Lagrange乘子法约束本质边界条件,则可利用拉格朗日乘子
写出边界条件的积分形式为:
。
则式(12)可重写为:
(15)
在上式中的最后两项的目的是为了使得在我们把
近似为u时会产生微小误差,为减小误差对数值模拟结果的影响,则可通过拉格朗日乘子使得边界条件
在任意的边界处能够成立。
其中拉格朗日乘子的表达式为:
。
式中的
为本质边界条件上的形函数,可设矩阵
的插值节点个数为m,s为沿本质边界条件上的弧长,v为本质边界条件上的节点向量。
令
,以及将(1)代入式(15)中,可得:
(16)
其中的K,F,u与式(14)中的相同,而另外的G和Q分别为:
,
对于上式的积分可采用高斯积分数值方法进行计算,接着通过对于所得的(16)式进行求解,最终可得所求数值解u。
4. 数值算例
为验证本文的数值模拟方法,我们考虑二维Helmholtz方程在确定的规则域中
,具体的方程如下:
(17)
式中的Dirichlet边界条件可由解析解方程可得到,其解析解方程为
(18)
在进行数值模拟时采用均匀离散节点的方案,
的离散节点图(见图1),以及我们取=25
时的数值k模拟图像(见图2)。

Figure 1. Discrete nodes in regular domain
图1. 规则域的离散节点

Figure 2. Meshless method for numerical solution of cloud maps
图2. 无网格法数值解云图
为更好的分析数值模拟结果的精确度和稳定性,我们将函数的结果误差erru定为:
从表1中的数据可以看出,随着节点的增多,此时的相应误差在不断的减少,我们可以看出数值模拟解在不断的趋向于解析解,说明该数值模拟方法具有良好的收敛性。

Table 1. Error analysis of different nodes
表1. 不同节点的误差结果分析
5. 结语
在本文中,运用了无网格Galerkin法来对Helmholtz方程进行离散和求解的过程中,首先通过移动最小二乘近似来构造形函数,边值条件由拉格朗日乘子法来进行引入,最后对该方程进行了数值模拟,给出的结果随着所选取节点的增加,其精确度越来越高,说明了该方法具有良好的收敛性。虽然此方法在处理Helmholtz方程时表现出较好的结果,但仍存在着许多问题,需要做进一步的研究和探讨。