樊旺旺
武警警官学院 四川 成都 610000
摘要: 虚单元法是传统有限元在多边形和多面体网格上的推广, 比传统有限元方法有更好的网格适应性和数值稳定性. 本文主要基于四叉树背景网格设计一种自适应界面拟合网格生成算法. 该算法可以根据界面曲率的大小快速自适应生成质量较好的界面拟合网格. 基于生成的界面拟合多边形网格, 用虚单元法离散求解椭圆界面问题.
关键词:自适应;界面;网格;
一、 自适应算法
本部分内容我们首先介绍自适应算法。 自适应有限元方法是~Babuka~在上世纪七十年代根据误差均匀的思想提出来的, 是在科学计算和工程问题中进行数值求解最有效的方法之一. 它根据计算的结果和已知量自动控制的计算过程, 逐步调整网格, 使误差分布比较均匀, 尽可能的以较少的计算达到较高的精度. 自适应过程主要包括以下几步:
1.求解: 在当前网格上求出单元刚度矩阵和右端向量, 然后求解代数方程组.
2.误差估计: 根据后验误差估计、已知数据和数值解un对误差进行估计.
3.标记: 对网格中需要加密的单元进行标记.
4.加密: 根据加密算法, 对标记的单元进行加密.
二、 自适应界面拟合网格生成算法
自适应界面拟合网格生成算法是设计了一个曲率估计算法找到曲率大的单元网格,利用自适应算法和四叉树算法生成多边形网格, 拟合出界面曲线, 利用虚单元方法求解模型方程的一种求解界面问题的方法.
1.单元中存在被界面Γ相交的边;
2.单元中存在至少两个顶点为界面点。
则称c为界面单元。
该算法可描述如下:
输入: 初始背景网格;水平集函数
输出: 界面拟合网格.
Step 1 找出输入网格与水平集函数所相交的边.
Step 2 找出界面单元.
Step 3 进行曲率估计并自适应加密界面单元.
Step 4 界面单元一分为二形成新的多边形网格.
第一步:找出网格与水平集函数相交的边
寻找给定网格与水平集函数φ相交的边, 我们需要考虑边的两个顶点在水平集函数的值的乘积, 如果两个顶点代入水平集函数中乘积小于零, 则相交, 否则不相交.
第二步:找出界面单元
我们知道网格有单元, 节点和边, 要找到界面曲线穿过的单元,首先我们需要求出水平集函数在每个网格节点处的值及其符号值,然后我们再求出每个单元各个网格节点处符号和的绝对值η1 以及绝对值之和η2。 这样我们可以通过η1和η2 来判断哪些单元是界面穿过的单元。 每个单元的各网格节点数用NV表示, 这里我们考虑以下两种情况:
1. 当η1<η2时,说明有网格节点在界面上或者界面内部,即此单元是界面单元;
2. 当η1=η2时, 说明界面与网格没有交点或者有网格节点但网格节点在界面上,其余网格节点在区域内部或者外部,这里我们只需要考虑后一种情况,我们用NV-η2是否大于2 来判断,如果NV-η2>2,那么此单元是界面单元。
第三步:曲率估计
我们可以通过以下几种情况来考虑:
1.如果两个界面单元共享一个点, 但是这两个单元又不相邻, 穿过两个界面单元的曲线距离比较近, 这两个单元就需要加密.
2.通过界面单元的内部点来判断, 点的周围都是界面单元, 即四个单元都是界面单元或者三个单元是界面单元, 并且是界面点而不是边界点的那些点p, 即内部点, 在p附近就很有可能有比较大的曲率, 这些单元需要加密;
界面单元组成带状区域, 界面单元组成带状区域, 根据水平集函数Φ可以计算出在两边的顶点的梯度, 然后求出外方向及其夹角. 当角度大于某个角度时, 就需要加密。
第四步:形成新的多边形网格
多边形网格的生成主要有以下几步:
1.找到界面穿过单元的交点的边: 通过符号函数进行判断.
2.找到在每个界面单元当中的交点的局部位置, 利用二分法求出单元边与水平集函数的交点.
3.恢复界面曲线.
首先得到每个单元的顶点个数, 界面单元的总数目;通过边与单元的关系找到交点的位置以及界面单元的交点; 求出所有界面单元的顶点以及初始界面单元所有的位置和界面单元的个数. 找到与界面相交的边之后, 把这些边拿出来, 它的两个端点的值异号, 所以考虑用二分法找出交点:
连接两个交点,把该单元分成两个新的单元,这两个交点的连线即为界面曲线. 最终我们得到一个自适界面拟合网格.
本文主要对二维椭圆界面问题展开研究。我们用自适应界面拟合网格来离散求解区域,然后用虚单元来离散其模型方程.。该方法主要是给出一个背景网格,借助自适应算法和四叉树算法,使其在与界面相交的网格单元内生成质量较好的界面拟合网格,并且在界面附近自适应加密到一定尺寸,然后在生成的界面拟合网格上发展适用于求解界面问题的自适应虚单元法的理论知识,设计出求解算法。
参考文献:
[1] 易年余. 基于梯度重构的后验误差估计及自适应有限元方法~[D]. 湘潭大学. 2011.
[2] 张聪聪. 二维椭圆型界面问题的混合元方法及其理论分析~[D]. 山东师范大学. 2011.
[3] 张荣培, 刘佳. 杂交混合有限元方法求解二维椭圆界面问题~[J]. 辽宁石油化工大学学报. 2015, 35(05). 68-72.