首页/文章/ 详情

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

21天前浏览216

简述

二维一阶的矢量有限元在之前的文章中已有实现,本文在高斯积分求解的基础上,实现三角形网格的叠层二维二阶矢量有限元。并分析其计算精度与计算效率。

二维电磁在介质中的传播问题的边值问题这里不再详细介绍,具体可以参考:

1.二阶矢量基函数

对于矢量基函数而言,首先依旧是得到三角形网格的线性基底面积坐标:

由此,可以得到一阶矢量旋度基函数表达式为:

对于二阶矢量基函数,则是保留完全的一阶矢量基函数,加上二阶矢量基函数的旋度部分,进而得到:

对于第三项面矢量基函数而言,虽然节点组合可以得到三组面基函数,但是由于其中任意一项与其他两项是呈线性相关的,因此仅需要考虑任意两项。具体展开后,每个三角形由八个矢量基函数组成,如下:    

可以发现,前三项基函数与一阶的矢量基函数是一致的,这也是叠层矢量基函数的特征,高阶项保留低阶项,以便于使用混合阶矢量有限元。

2.系数矩阵的推导

同样,由于引入了高斯积分来求解具体的系数矩阵,因此不需要完全推导N*N的系数矩阵,只需要推导得到其表达式即可。

因此,根据上述二阶矢量基函数,需要进一步推导的内容是矢量基函数的旋度。第一部分一阶矢量基函数的旋度直接给出结果:

第二部分的矢量基函数本身由梯度组成,因此也很容易得出其旋度等于零。

第三部分面矢量基函数进行推导,难度也不大:

最终得到三部分的旋度表达式如下:    

接下来的求解过程就交给高斯积分完成,最终求解得到每个三角形的系数矩阵,具体高斯离散求解如下所示:

3.系数矩阵的组装与边界条件

对于二阶矢量有限元,组装过程中需要注意对应棱边编号、正负以及对应面的方向确定。这一点是非常重要的。基本原理就是保证同一条边在全局上是具有唯一的方向的,同一个面在全局方向也是唯一确定的。

同时也需要把这些边的全局方向映射到局部单元上,以确保根据母单元顺序可以唯一的组装好系数矩阵。对于母单元而言,三角形的排列顺序为:

自由度

节点编号

棱边1

1,2

棱边2

2,3

棱边3

3,1

棱边4

1,2

棱边5

2,3

棱边6

3,1

面1

1,2,3

面2

2,3,1


对于第一类边界条件,其加载原理与叠层节点的有限元一致,在一阶部分使用强加第一类边界,对于二阶部分强加为零。同时矢量有限元需要将节点位置的场值映射到棱边切向分量,具体实现可参考:    

4.结果展示

测试模型为10m*20m的矩形,频率为1000Hz的电场垂直入射Y方向,介质体电导率为1欧姆米,模拟电场在介质中的衰减过程。

Eg1.网格横纵剖分5*10*2共计100个三角形网格

其中棱边165个,未知数共计165*2+100*2=530个。下面是具体的三角形网格剖分。

系数矩阵的分布如下,可以看出两个棱边部分与两个面部分在系数矩阵中体现的很分明,总体上该系数矩阵还是大型稀疏矩阵。    

求解该矩阵方程后,得到结果,将二阶结果、一阶结果的电场与理论解进行对比,如下:

   

                    

未知数

矩阵求解时间/s

最大误差

1阶矢量有限元

165

5.046e-3

10%

2阶矢量有限元

530

0.014075

0.3%


对比发现,相比于一阶矢量有限元,二阶有限元计算精度提高了30多倍,当然二阶的计算时长是一阶的2.79倍。二阶精度提升在与理论解对比上也是非常的明显。

Eg2.剖分网格为20*20*2=800个网格,共计4080个未知数。

在模型中间放置一个低电导率,得到的电场衰减分布规律如下:    

可以明显看出,电场Ex的实部虚部在介质分界面有明显的突变情况。这也体现了矢量基函数的特点:仅保证切向连续,不保证法向连续。

总结

1.成功实现了二维二阶矢量有限元,相对于一阶而言计算精度有明显提升;    

2.二阶矢量有限元实现的关键点需要注意单元于自由度之间的映射关系以及确保每个自由度全局方向唯一性。

3.矢量基函数的构成方面,可以理解为一阶矢量基函数为二阶节点基函数的旋度部分;二阶矢量基函数为二阶节点基函数的旋度、梯度部分加上三阶节点基函数的旋度部分。

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

二维三角形网格任意阶有限元实现

简述本文将介绍二维三角形网格任意高阶基函数的整个实现流程,通过一个简单的解析解为sin函数的边值问题,对比不同阶数的高阶与解析解的误差。1.边值问题讨论三角形的任意高阶网格,采用的边值问题使用文章《二维有限元实现详细过程:三角形网格二阶插值基函数》所表示的边值问题。理论解为:该问题的有限元推导也可以这篇文章,这里直接给出有限元方程2.系数矩阵推导对于三角形任意阶基函数的推导在前一篇文章《三角形高阶基函数通式的两种获取方法》已经详细介绍,这里通过第二种方法进一步推导。下面给出基函数通式与基函数梯度的通式:梯度表达式为:当已知上述的通解公式后,进一步推导有限元的系数矩阵方程,已知边值问题离散后的有限元方程:进一步推导,在每个单元上,将积分式子写成高斯积分形式,得到:可见,对被积函数P的每一项均可以通过基函数和基函数的梯度获得,从而可获得单元的系数矩阵。3.网格映射关系与高斯积分获得单元系数矩阵后,按照有限元组装方式,将对应项系数累加即可。其中如何获得单元节点的局部变量与全局变量的映射关系,是一个重点问题。这里采用以下方式进行排列单元,首先排列三角形顶点编号,然后排列棱边节点编号,最后排列单元内部节点编号。下面展示母单元的局部节点编号顺序如下,以四阶网格为例:下面给出两个三角形单元网格下的不同阶数网格,对于四阶节点的全局坐标:因此,映射关系可以得到:高斯积分的积分点与积分权重值这里直接查阅书籍获取,更多高阶的插值可以再网上查阅,或者通过高斯积分的原理通过编程实现,这部分不是本文的重点。准备好以上内容后,即可编程实现任意高阶的有限元。有限元的边界条件依旧采用简单的第一类边界条件的加载方法。4.结果展示模型区域为x=[02*pi],y=[02*pi];基本网格采取8*8的网格,共计128个三角形。以下展示结果分别是1~4阶的网格节点关系、所有节点数值结果,三角形顶点的数值精度:eg11阶基函数,共计81个节点未知数eg22阶基函数共计289个节点未知数eg33阶基函数共计625个节点未知数eg44阶基函数共计1089个节点未知数通过观察1~4阶的有限元结果,发现随着阶数的不断增加,精度也在成惊人的100倍的速度增加,从最开始是的1e-1,到1e-7次方的精度。5.结论1.在使用高斯积分求解单元系数矩阵的时候,对高斯阶数的选择非常重要,一般的选择阶数大于等于有限元的阶数。2.如果采用乘以大数的方法加载边界条件,需要注意求解结果是否是正确收敛的;3.三角形高阶的精度增加,竟然是每增加一阶,精度提高一百倍,这一点不知道是特例还是的确如此,需要更多的算例。不过这也再次说明了高阶结果的精度优势可能是简单的加密网格难以达到的。4.相比于直接推导获得单元系数矩阵而言,三角形的高斯积分同样避免了这些复杂的推导过程,通过高斯积分即可获得单元系数矩阵,为实现任意阶基函数提供了必要基础。来源:实践有限元

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