首页/文章/ 详情

三维四面体矢量有限元实现-霍姆霍兹方程-高斯积分

2月前浏览1696

简介

相比于节点有限元而言,矢量有限元无疑是更加难以实现的。两个难点,其一要求知道全局棱边变化、面编号,这相对于一般的仅包含节点编号的常规网格剖分软件而言,是难点之一;其次优于其采用具有方向性质的矢量基函数,这也使得难度增加。

在之前,采用直接推导单元系数矩阵方式的四面体矢量有限元已经实现,本文使用高斯积分的方法,避免推导复杂的单元系数矩阵,为后续实现高阶矢量有限元打下基础。

本文采用边值问题为描述电场衰减的霍姆霍兹矢量方程,其有限元推导等流程可以参考下列文章,本文重点介绍使用高斯积分实现单元系数矩阵求解的过程,并将结果与之前结果做对比验证。

文章A:三维矢量有限元实现过程-电场矢量波动方程

文章B:电场矢量波动方程的三维有限元实现

1.边值问题与有限元方程

边值问题为:

推导可以得到有限元方程:

   

详细推导过程请参考:文章B

2.四面体棱边基函数

根据四面体网格,首先得到线性插值基函数:

根据下面四面体图形的棱边编号,可以得到对应的单元四面体棱边与节点的映射关系:

因此,棱边基函数的具体表达式可以描述为:    

可以直观的通过基函数发现,其矢量基函数是棱边两个节点之间相减的关系,因此相减的顺序不同,结果也就相差一个符号,因此在全局棱边中,得确保棱边的方向一致,例如棱边编号从小到大,或者从大到小。

将棱边基函数写成通式表达式有:

将式子中梯度项展开,得到:

对于有限元方程中的旋度项,很容易推导得到基函数旋度项的通式:

由此,有关基函数的推导介绍。   

3.高斯积分

对上述有限元方程进行高斯积分的展开方式与节点有限元一致,没有任何区别,详细可以参考:文章A,这里给出高精度的高斯积分点与权重值。

4.四面体网格、系数矩阵组装与边界条件加载

这部分内容也和文章A方式完全一致,这里不再赘述。

5.结果展示

为了和文章XX的结果进行对比,采用同样的网格模型与节点数目:研究区域大小10m*10m*10m,频率10000Hz,电导率1欧姆米。网格为4314个四面体,872个节点,5485条棱边,所以5485个未知数。

a.介质为均匀介质时,求解的数值解与理论解对比:   

可见,结果与文章A的有限元结果完全一致,也证明了本次实现的间接使用高斯积分求解单元系数矩阵是成功的。其三维可视化的插值结果,也是一致的:

   

可以从可视化结果看到,由于网格原因,其电场可视化结果也容易出现“块状”的分布,这也是低阶矢量有限元的问题,由于在法向方向完全没有约束,导致分界面上泾渭分明。

b.当介质不均匀时,存在低电阻率情况,电场Ex的分布如下:   

可见,模型中间介质材料不一致的区域,电场得到了很好的表现。

总结

文章A相比,仅仅是单元系数矩阵的求解方式不同,文章A是直接推导公式求解,本文是使用高斯积分求解,因此只要矢量基函数及其梯度推导正确,高斯积分的展开没问题,那么很快就能在原有基础上得到使用高斯积分求解方式的矢量有限元结果。

可以发现这种方法确实要方便很多,这也为后续实现二阶矢量基函数奠定基础。

              

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

二维混合阶矢量有限元实现

简述在二维矢量有限元问题中,这里继续聊一聊混合阶有限元的实现。在前文依次实现矢量有限元的一阶、二阶后,混合阶有限元的实现难点不再是矢量基函数的推导,而是对二阶网格的重排序等问题的处理。边值问题依旧是沿用电场在电介质中的衰减过程,这里不再赘述整个有限元的实现流程,具体可以参考:二阶矢量有限元实现:二维电场在介质中的衰减在实际物理问题背景中,对电场最开始的衰减部分的精度是所需要的,而衰减到一定程度后的电场精度不再关心。因此在考虑混合阶矢量有限元中,可以将电场快速衰减的区域网格设置为2阶,而衰减后期的区域设置为1阶。如此在考虑到精度的同时又降低了矩阵求解维度,从而提高计算效率。1.矢量基函数这里再次给出一阶、二阶矢量基函数的表达形式:1阶--3个基函数2阶--8个基函数从一阶、二阶的基函数表达式看出:二阶矢量基函数完全包含一阶基函数,这个本质原因是混合矢量有限元可以实现的根本原因。2.混合阶网格映射流程在混合阶的实现中,难点在于不同阶数之间的网格映射关系。下面给出实现步骤:I.标记单元阶数:确定每个网格单元的阶数,并存储;II.重排高阶编号:找出网格单元中高阶(二阶)单元,并存储其单元的棱边编号与单元编号;然后将高阶部分的棱边编号与单元编号进行重新排布;III.重组映射关系:将高阶部分的棱边编号与单元编号组合到一阶单元编号里面,得到新的编号则是连续的编号与未知数映射关系。IV.组装全局系数矩阵:上述步骤完成了混合网格的单元与未知数的映射关系,然后根据每个单元的阶数一一组合单元系数矩阵;V.边界条件的加载:加载方式采用第一类边界条件,一阶部分按照传统的强加边界条件的方式分别对系数矩阵与右端项进行处理;二阶部分采取全部赋值为零的加载方式。VI.高低阶棱边处理:高阶单元与低阶单元的连接棱边需要特殊处理。对连接棱边强行降低阶数,将高阶降低成与低阶一致的阶数。3.实现结果测试模型为10m*20m的矩形,频率为1000Hz的电场垂直入射Y方向,介质体电导率为1欧姆米,模拟电场在介质中的衰减过程。首先给出1阶在Y方向的电场结果与误差分布。Eg1:以Y方向作为分界线,一阶二阶各取一半网格。其中,红色表示2阶,蓝色表示1阶网格。混合阶网格的解与精度:可以发现,混合阶在电场衰减剧烈的地方矢量二阶网格后,精度得到了明显提升,体现在二维图像上的误差分布更加的直观:可见,二阶部分的精度与一阶网格部分的精度泾渭分明。Eg2:以X方向作为分界线,一阶二阶各取一半网格求解结果如下:同样,二阶与一阶的精度结果泾渭分明,二阶部分的精度明显由于一阶部分。说明实现的混合阶有限元是正确的。4.结论矢量混合阶有限元的实现关键在于未知数编号的重组,这个过程比较复杂,需要重新查找高阶部分的单元、棱边以及之间的映射关系。本文仅仅实现小案例,对于大规模的案例,不同的网格映射方式对效率、内存之间的平衡将是一个挑战。来源:实践有限元

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