首页/文章/ 详情

三维混合阶有限元实现的关键技术-霍姆霍兹方程

1月前浏览639

简述

众所周知,仿真的根本目的是高效准确的获得物理规律,从有限元算法的角度,高阶有限元可以大大提升计算精度,但是会导致计算效率降低;低阶虽然计算效率高,但是精度不够。而混合阶有限元则是结合二者优点。具体而言,在同一个模型中,某些重要的区域采用高阶基函数,而不重要的区域采取低阶基函数,如此即可避免计算资源的浪费,又可提高计算精度。

混合阶有限元的具体理论就是使用叠层基函数的高阶基函数包含低阶基函数的特性。本文将重点介绍实现过程中的一些关键技术点。

边值问题使用霍姆霍兹方程,具体有限元方程的推导这里不再展示,请参考文章:三维高阶叠层与插值有限元细节对比-霍姆霍兹方程,这里给出有限元方程:

1.基函数与单元系数矩阵

二阶叠层基函数的理论这里不再赘述,具体参考三维高阶叠层与插值有限元细节对比-霍姆霍兹方程泊松方程三维二阶叠层有限元实现-四面体,文章中有详细推导,这里直接给出结果。

二阶叠层基函数表达式如下:

有限元方程中第一项积分结果的单元系数矩阵为:

第二项积分结果的单元系数矩阵为:

   

从单元系数矩阵也能看出,二阶的系数矩阵包含了一阶系数矩阵,这也是混合阶有限元能实现的根本原因。

2.关键技术

a.棱边编号重组

同于纯粹的二阶网格可以直接使用软件生成棱边的编号有限元由于同时存在1阶,2阶,因此需要的棱边总数不再是所有四面体的棱边数,而是标记为二阶网格的棱边数,小于等于四面体的总棱边数的,因此原本的二阶网格的棱边编号不再适用。

具体的处理方法:根据原有的棱边编号,映射新的棱边编号。首先挑选出二阶四面体;然后把二阶四面体原有的棱边编号全部集 合起来,得到的就是标记的四面体的原有棱边编号集 合;去掉其中重复编号,剩下的就是实际二阶网格的棱边数目,对这些编号重新编号,即得到新的棱边编号,这时候也得到旧编号与新编号的映射关系;最后把标记为二阶的四面体单元中棱边的编号更新,通过旧编号去查找新的编号,一一替换即可。   

b.1阶网格与2阶网格分界面处理
遵守一个准则:不同阶数所在网格的接触面降低为二者相对低阶的阶数,如下图:


两个四面体接触位置为三角形,因此需要把三角形的阶数降低为一阶。通过对比一阶、二阶基函数在四面体中的位置不难发现,一阶落在四面体顶点上,二阶的高阶部分落在棱边,因此需要把棱边部分降阶,即置零,表示高阶的棱边处理为“不处理”的状态,即可实现分界面上阶数对齐。

3.结果展示

针对下述网格,将单元中心坐标Z小于5的四面体设置为二阶单元,其余网格设置为一阶单元。通过控制Z小于程度,即可演示二阶与一阶网格的在Z方向的比例。    

a.当频率为1e4Hz,网格全为1阶的时候,数值解与理论阶对比:    

b.当频率为1e4Hz,网格全为二阶的时候,数值解与理论阶对比:

c.当频率为1e4Hz,当网格Z<5为二阶,数值解与理论阶对比:    

d.当频率为1e4Hz,网格Z<8为2阶的时候,数值解与理论阶对比:

     
以下展示实际求解的未知数个数与最大误差:

编号

未知数

最大误差%

全1阶

593

0.557

全2阶

3847

0.01136

Z < 5

2286

0.3282

Z < 8

3196

0.2708

 可见,虽然一阶的未知数最少,但是计算误差达到了0.5%,二阶误差虽然只有0.01%,但是未知数则达到了3800个。相比于混合阶Z<5,Z<8的情况,误差均是小于全一阶,未知数也是小于全二阶。并且从图中可以清晰的看出,混合阶在二阶的部分精度明显高于一阶的部分。  

为了说明混合阶更大的优点,考虑当频率升高到1e6Hz的时候,这时候电场在z=0的附近衰减的很快,梯度变化很大,导致这附近的误差更大,如下图:

e.当频率为1e6Hz,全部为一阶的时候,数值解与理论阶对比

f.当频率为1e6Hz,全部为二阶的时候,数值解与理论阶对比

g.当频率为1e6Hz,当网格Z<5为二阶,数值解与理论阶对比:

对比分析:1阶的计算结果误差已经非常的明显,达到了0.15%左右,对比而言,二阶的结果要好得多,最大误差在0.05%不到,但是使用的未知数达到3847。而使用混合阶后,对比完全2阶的误差结果,趋势基本上一致,最大误差也低于0.05%,但是未知数降低到了2286个。可见本例中,混合阶有限元在达到与全二阶几乎同等精度的情况下,未知数减少,计算效率得到了改善。

同时,从这个例子也可以得出一个混合阶使用规律,高阶使用梯度变化大的区域,而低阶使用在梯度变化小的区域。

总结

1.混合阶有限元实现关键技术点:对全部编号的重排;对混合阶数分解面的处理;

2.一个混合阶有限元阶数分布规律:仿真场梯度变化大的区域使用高阶,梯度变化小的区域使用低阶,分配得当,混合阶能达到与全高阶几乎一致的精度。


来源:实践有限元
电场理论控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-12-06
最近编辑:1月前
实践有限元
硕士 签名征集中
获赞 0粉丝 0文章 57课程 0
点赞
收藏
作者推荐

三维三棱柱单元有限元实现-泊松方程

简述本文介绍一种网格单元:三棱柱单元,并通过简单的泊松方程来实现其有限元流程。这种单元特殊性在于在两个方向上是非结构,而剩下方向是结构化的,这导致对于一些特殊场景,比如某个方向变化远没有其他两个方向复杂的时候,使用三棱柱单元剖分能在保证几何形态的同时有效的降低网格量。同样,possion方程的微分问题与有限元方程这里不再赘述,详细参考:泊松方程三维结构化有限元实现初探1.三棱柱基函数推导分析上述三棱柱示意图的组成形式,由XY平面的上下两个三角形和Z方向的三条线连接组合而成,因此考虑三棱柱基函数也可以由三角形基函数和线单元基函数组合而成。已知XY平面的三角形基函数(参考:同轴线求电容,初探泊松方程的二维非结构化有限元)与Z方向的线单元(参考:最简单的一维有限元问题:求解cos函数分布):组合二者,得到三棱柱的6个节点基函数:所以,三棱柱内任意位置的插值公式表示为:根据三角形基函数规律与线单元基函数规律,不难得出,当p点落在任意一节点的时候,对应节点的基函数等于1,其他基函数等于0。三棱柱内任意点在z方向移动时,符合线单元的线性变化规律,在x,y轴变化的时候,符合面积坐标规律,说明三棱柱组合而成的形函数符合要求继续推导得出三棱柱基函数的梯度表达式:2.系数矩阵推导针对三维泊松方程梯度项的有限元方程:首先考虑x方向的梯度项乘积积分的推导:组合成系数矩阵为:上述积分中线单元部分的积分可以使用一维线单元积分公式:针对第一项对y的偏导,可以直接将对x的偏导的系数结果中的a系数改成b系数即可。对于第三项对z偏导的推导:上述积分中的二维积分推导可以使用二维三角形积分公式:其他项可以类比得出,最终得到关于z方向上的系数矩阵:由此,得到偏导数整体的单元系数矩阵:针对泊松方程的右端项的有限元单元系数向量的推导:3.总体系数矩阵组装对于三棱柱的网格生成软件,这里没有特别调研,本次使用的三棱柱网格是自己生成的相对结构化的网格。如下图,对于一个2*2*1的三棱柱网格:节点共计18个,全局节点编号如下:三棱柱单元共计8个,与全局节点编号:通过上述单元与节点的全局关系,即可在获得每个单元的6*6单元系数矩阵后,将这些单元系数矩阵一一组装累加起来,从而得到全局18*18系数矩阵与全局18*1向量的右端项。边界条件依旧采用第一类边界条件,边界上u=0,对六个边界面上的节点均乘以大数处理。其组合方式与四面体、六面体网格的有限元组装方式一致,具体组装结果这里不再显示。4.结果显示设置网格20*20*10,共计8000个三棱柱网格:求解的possion切片图显示:不难看出,求解结果与之前的四面体、六面体网格的结果是一致,说明整个三棱柱的基函数、系数矩阵推导过程都是正确性。5.结论1.三棱柱单元的有限元实现过程的重点还是三棱柱基函数的确定与系数矩阵的推导,其他流程与一般的有限元流程一致。2.如三棱柱网格剖分图显示,三棱柱网格的优势在于某个平面上是非结构化的三角形网格,这使得在这个平面上可以要求模型为复杂模型;而在另一个方向上是结构化网格,可以模拟一些相对于平面尺寸极薄、极厚的模型,并且不会生成如四面体网格那样畸形的差网格。来源:实践有限元

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈