首页/文章/ 详情

三维四面体一、二、三阶叠层有限元实现与精度对比-高斯积分

1月前浏览1029

简述

相比于插值基函数有限元,叠层基函数的公式相对更加简单,缺点是实现过程中如果出现问题,很难查找具体原因。

本文以霍姆霍兹方程为边值问题,在使用高斯积分的基础上,分别实现基于叠层基函数的一阶、二阶、三阶有限元。

过程中一阶、二阶很快成功实现,但是三阶却达不到对应的精度,其结果仅仅比二阶稍微好一点,明显存在问题,但是却无法找到问题所在。

所涉及的文章有以下几篇,相关内容也不再赘述。

三维四面体三阶有限元实现-泊松方程

泊松方程-三维四面体插值基函数有限元实现-高斯积分

三维高阶叠层与插值有限元细节对比-霍姆霍兹方程

泊松方程三维二阶叠层有限元实现-四面体

1.边值问题

这里简单给出边值问题,霍姆霍兹方程表达式:

2.四面体基函数表达式

使用面积坐标获得线性基函数及其梯度表达式:

    

一阶基函数表达式及其梯度:

二阶叠层基函数(包括一阶部分的N1~4)及其梯度:

其对应的梯度为:

三阶基函数(包括二阶部分内容不再展示)及其对应的梯度:

3.高斯积分、系数矩阵组装、边界条件加载

I.高斯积分方式与对应的积分权重系数表格参考:三维四面体三阶有限元实现-泊松方程

II.系数矩阵组装需要全局映射关系与局部映射关系一一对应。 

III.叠层基函数的边界条件加载参考:泊松方程三维二阶叠层有限元实现-四面体

4.结果展示

一阶结果与理论解析解对比:

二阶结果与理论解析解对比:    

三阶结果与理论解析解对比:

三阶的可视化结果:

叠层基函数与插值基函数不同阶数精度对比统计:

粗略看上述的结论,一阶、二阶、三阶的精度均是正确的,但是详细看会发现,三阶叠层基函数的精度并没有提高多少,这里基本上可以明确是存在问题的,因为三阶叠层精度与对应的插值基函数的三阶精度不在一个量级上,但是在经过大量查找问题后,发现现有知识理解确实找不到其中问题所在,暂时无法解决。

总结

在实现叠层基函数过程中,二阶稍微简单、但是三阶涉及到棱边顺序相对更加困难,因为相对于插值基函数而言,叠层基函数的高阶更加的难以实现。

这里分析三阶叠层有限元存在问题的地方大概率是局部映射关系与全局映射关系的问题,但是以我理解又没有错误,早在之前二维的高阶叠层基函数中也遇到过类似的问题,也是如此结果,看样子确实不得其中要义。

对此问题有理解、想法的小伙伴们也欢迎留言讨论。

          

              

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

二阶矢量有限元实现:二维电场在介质中的衰减

简述二维一阶的矢量有限元在之前的文章中已有实现,本文在高斯积分求解的基础上,实现三角形网格的叠层二维二阶矢量有限元。并分析其计算精度与计算效率。二维电磁在介质中的传播问题的边值问题这里不再详细介绍,具体可以参考:1.二阶矢量基函数对于矢量基函数而言,首先依旧是得到三角形网格的线性基底面积坐标:由此,可以得到一阶矢量旋度基函数表达式为:对于二阶矢量基函数,则是保留完全的一阶矢量基函数,加上二阶矢量基函数的旋度部分,进而得到:对于第三项面矢量基函数而言,虽然节点组合可以得到三组面基函数,但是由于其中任意一项与其他两项是呈线性相关的,因此仅需要考虑任意两项。具体展开后,每个三角形由八个矢量基函数组成,如下:可以发现,前三项基函数与一阶的矢量基函数是一致的,这也是叠层矢量基函数的特征,高阶项保留低阶项,以便于使用混合阶矢量有限元。2.系数矩阵的推导同样,由于引入了高斯积分来求解具体的系数矩阵,因此不需要完全推导N*N的系数矩阵,只需要推导得到其表达式即可。因此,根据上述二阶矢量基函数,需要进一步推导的内容是矢量基函数的旋度。第一部分一阶矢量基函数的旋度直接给出结果:第二部分的矢量基函数本身由梯度组成,因此也很容易得出其旋度等于零。第三部分面矢量基函数进行推导,难度也不大:最终得到三部分的旋度表达式如下:接下来的求解过程就交给高斯积分完成,最终求解得到每个三角形的系数矩阵,具体高斯离散求解如下所示:3.系数矩阵的组装与边界条件对于二阶矢量有限元,组装过程中需要注意对应棱边编号、正负以及对应面的方向确定。这一点是非常重要的。基本原理就是保证同一条边在全局上是具有唯一的方向的,同一个面在全局方向也是唯一确定的。同时也需要把这些边的全局方向映射到局部单元上,以确保根据母单元顺序可以唯一的组装好系数矩阵。对于母单元而言,三角形的排列顺序为:自由度节点编号棱边11,2棱边22,3棱边33,1棱边41,2棱边52,3棱边63,1面11,2,3面22,3,1对于第一类边界条件,其加载原理与叠层节点的有限元一致,在一阶部分使用强加第一类边界,对于二阶部分强加为零。同时矢量有限元需要将节点位置的场值映射到棱边切向分量,具体实现可参考:4.结果展示测试模型为10m*20m的矩形,频率为1000Hz的电场垂直入射Y方向,介质体电导率为1欧姆米,模拟电场在介质中的衰减过程。Eg1.网格横纵剖分5*10*2共计100个三角形网格其中棱边165个,未知数共计165*2+100*2=530个。下面是具体的三角形网格剖分。系数矩阵的分布如下,可以看出两个棱边部分与两个面部分在系数矩阵中体现的很分明,总体上该系数矩阵还是大型稀疏矩阵。求解该矩阵方程后,得到结果,将二阶结果、一阶结果的电场与理论解进行对比,如下:未知数矩阵求解时间/s最大误差1阶矢量有限元1655.046e-310%2阶矢量有限元5300.0140750.3%对比发现,相比于一阶矢量有限元,二阶有限元计算精度提高了30多倍,当然二阶的计算时长是一阶的2.79倍。二阶精度提升在与理论解对比上也是非常的明显。Eg2.剖分网格为20*20*2=800个网格,共计4080个未知数。在模型中间放置一个低电导率,得到的电场衰减分布规律如下:可以明显看出,电场Ex的实部虚部在介质分界面有明显的突变情况。这也体现了矢量基函数的特点:仅保证切向连续,不保证法向连续。总结1.成功实现了二维二阶矢量有限元,相对于一阶而言计算精度有明显提升;2.二阶矢量有限元实现的关键点需要注意单元于自由度之间的映射关系以及确保每个自由度全局方向唯一性。3.矢量基函数的构成方面,可以理解为一阶矢量基函数为二阶节点基函数的旋度部分;二阶矢量基函数为二阶节点基函数的旋度、梯度部分加上三阶节点基函数的旋度部分。来源:实践有限元

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