1. 引言
近年来,处理任意多边形或多面体组成的一般网格的方法受到了学者们广泛关注与研究,模拟有限差分方法 [1] ,有限元方法 [2] ,虚拟元方法 [3] [4] 等在科学和工程领域都有广泛的应用,其中,协调虚拟元方法最初由L. Beirao da Veiga等人 [3] 在2013年提出,该方法可认为是有限元方法的推广,该方法适用于多边形和多面体单元组成的网格剖分,是用稳定Galerkin离散法求解边值问题的最新进展。协调虚拟元方法已经被应用于求解许多问题,例如线弹性问题 [5] ,特征值问题 [6] ,板弯曲问题 [7] 等。相比于协调虚拟元方法,非协调虚拟元方法最初由Blance Ayuso de Dios等人 [8] 在2016年提出,非协调虚拟元方法可以降低对空间连续性的要求,非协调虚拟元方法也有广泛的应用,被应用于求解弹性问题 [9] ,中立型延迟抛物方程 [10] 等。椭圆型问题(如Poisson方程或Laplace方程)的解可能包含奇点 [11] ,这将会导致假设更规则的近似解的数值方法(比如:有限元方法)的收敛速度变差。因此,本文构造了椭圆型问题的特殊虚拟元空间,由于域的几何形状而具有奇异性。通过基于奇异函数扩展局部空间的扩展Galerkin方法,为了消除或至少减轻奇点的影响,采用的扩展Galerkin方法中,用特殊的奇异函数扩展逼近空间。本文首先给出二维泊松问题,二维泊松问题在许多工程领域的数值计算都有广泛的应用,本文利用了虚拟元空间的结构,在近似空间中隐式地插入奇异函数,它们属于问题中出现的微分算子的核。这样的奇异函数可以被插入到局部虚拟元空间中,因为这样的奇异函数被定义为有限维空间中局部问题的解,通过适当调整局部空间的边界条件,我们隐式地包含了奇异函数。最后,这样的局部空间运用非协调虚拟元方法来求解。
本文首先给出了椭圆型偏微分方程在多边形域上的模型问题,而后对如何处理在多边形域的拐角处出现的奇异点进行讨论,给出了相应的扩展非协调虚拟元空间,最后在多边形单元网格上对带角奇点的L型域问题进行了数值实验,结果证实了该方法的良好精度,并证明了该方法在H1范数和L2范数上的最佳收敛速度。
2. 非协调虚拟元方法
2.1. 预备知识
本文遵循Sobolev空间常用的表示法,给定区域
,对于
,
表示
上的Sobolev空间,
表示Sobolev空间标准内积,
与
分别表示
中的半范数和范数,且
。给定
是一个多边形区域
为区域
的边界,
是
的拓扑中的闭集,
,
表示
的单位外法向量,
为
上分段光滑的函数。
为区域
上的一个多边形剖分序列,
表示
的顶点的集合,
表示
中所有边e的集合,对于所有的
,
,
,
表示
上的单位外法向量,
为单元的直径,h为所有单元中最大直径,
分别表示内部边和边界边的集合。对于任意的
,
,
表示单元K上边界的集合,
是单元K的重心,
表示边e的长度,
表示A与
的距离,
表示区域
的直径,对于所有的
,存在一个正常数
,在
上满足如下正则性假设:
1) 对于所有的
有
;
2) 对于所有的
,K相对于半径大于或等于
的球是星型的;
3) 对于所有的
,
。
2.2. 模型问题
首先考虑二维泊松问题
(1)
其中,
,
,问题(1)的变分形式为:找到
,使得
(2)
其中,
,u是解析函数与一系列和域中拐角有关的奇异项的组合。
由于在域的顶点处有奇异行为,导致问题(2)的解不是解析的,因此,为了便于说明,我们假设问题(2)的解u可以分解为:
(3)
其中,
表示
上的解析函数,
是奇异函数。接下来,我们假设
,
,因此问题(2)变为:找到
,使得
(4)
2.3. 非协调扩展虚拟元空间
首先将
细分为三层。第一层
由邻近奇异顶点A的多边形组成:给定
第二层
是由与第一层中的单元至少共用一个边的多边形组成:
第三层
是由
中剩余的单元组成:
类似地,将
细分为两层边。第一层
是由属于
中单元边界的所有边的集合:
第二层由剩余部分的边组成:
接下来引入辅助函数和空间,对于给定的
,
,首先,定义扩展函数
,在单元K上定义扩展多项式集
。对于
,定义扩展函数
,在边e上定义扩展多项式集
。
进一步,定义局部扩展虚拟元空间:
对于所有的
,空间
的自由度为:
1)
在单元K的内部的值
,
;
2) 如果
,
在单元K边e上的值
;
如果
,
在单元K边e上的值
,
,
。
下面我们定义全局非协调虚拟元空间,对于
,
表示边e的单位外法向量,对于
,
表示边e的单位外法向量,定义Sobolev空间
接下来引入跳跃算子:对于给定的
令
(5)
定义子空间
定义全局非协调扩展虚拟元空间为:
2.4. 离散形式
定义
正交投影
,对于任意
,满足如下正交条件,
(6)
由式(6)可得
(7)
对于所有的
,定义
投影算子
,对于任意
,满足如下正交条件,
(8)
定义
投影算子
,满足
,
,
可以通过内部自由度的定义来计算。
定义双线性形式
,对于任意的
,
,局部双线性形式
。
定义局部离散双线性形式为
(9)
全局离散双线性形式
为
,
.
对所有的
与所有
,式(9)中定义的局部离散双线性形式满足如下的一致性和稳定性。
1) 一致性:对所有
和任意的
,
,都有
成立。
2) 稳定性:对所有
和任意的
,存在两个与n无关的两个正常数
与
,有
。
接下来我们对右端项进行离散,在单元E定义
,对于
,
,定义
即
可通过自由度的定义计算。
所以,本文要解决的离散问题为,对于任意的
,找到
,使得
(10)
2.5. 误差分析
在本节中,我们对模型问题(4)的虚拟元近似(10)进行误差分析。
定义双线性形式
如下
(11)
其中,
为式(5)中所定义的跳跃算子。
引理1 [12] 令u为
中的任意函数,
为式(3)中所示,在
上满足正则性假设(1)~(3),则在
中存在分段多项式
,使得
其中,c是一个依赖于k和
的正常数。
引理2 [8] 令
设
是连续问题(4)的解,
,
满足式(11)的定义式,在正则性假设成立条件下,有如下误差估计成立
其中,c是一个依赖于k和
的正常数.
定理1 [12] 令u与
分别为(4)与(10)的解,
为式(3)中所示,
范数下误差估计如下
其中,c是一个与h和u无关的常数,可能与参数
以及奇异函数
有关。
3. 数值算例
本节我们通过数值算例,验证运用非协调虚拟元方法研究带有奇异函数的泊松问题的有效性。
考虑L型域上的二维泊松方程
此方程的精确解为
,其中,
为重入角
处的极坐标。
选择尺寸如图1所示的L型域
Figure 1. Schematic diagram of an L-shaped region, where A represents the vertex where the singularity occurs
图1. L型区域示意图,A表示奇点发生的顶点
在数值计算时,首先对区域
进行网格剖分,剖分区域为
,图2给出了网格剖分数N是分别为53,239,834,3631,14,554,54,960时的网格剖分图。
图3为不同网格下的误差图,
表示
范数下的误差,
表示
范数下的误差。可以看出随着网格剖分数的增加,
和
范数下的误差逐渐变小。
Figure 3. The absolute errors of
and
norm
图3.
和
范数绝对误差
图3给出了不同网格剖分下的
和
范数意义下的绝对误差。从图3中可以看出,当N变大时,数值解的误差变小,这表明了利用非协调虚拟元方法处理带有奇异函数的泊松问题的误差结果符合上述理论分析,进而证明了该方法的有效性。
4. 总结
本文运用虚拟元方法求解带有奇异函数的泊松问题。首先对该方法进行了理论分析,其次通过数值实验说明了,随着网格剖分数的增大,数值解的误差在变小,验证了理论分析结果的正确性,因此,该方法可以为其他方法提供参考,此外,扩展非协调虚拟元方法也可以用来解决更多的实际问题,例如,裂缝问题也将是我们未来的研究方向。。