首页/文章/ 详情

二维网格的刚度矩阵缩聚再讨论

4月前浏览137

简述

在之前介绍过一篇关于刚度矩阵缩聚的文章《单元刚度矩阵的缩聚》,最近在做二维三角形网格的高阶有限元,忍不住想要试一试缩聚这种方法对于二维高阶有限元的效果。

下面就对二维插值型的三阶、四阶有限元的系数矩阵进行缩聚方面的再次讨论。

边值问题采取二维电场在均匀介质中的衰减规律,求解的是霍姆霍兹方程,具体有限元推导可参考《二阶叠层基函数:二维电磁衰减数值模拟》。

在最后的思考中,感觉缩聚的方法大有可为,值得进一步深入学习研究。

系数矩阵缩聚原理

缩聚的基本原理比较简单,这里不再介绍,主要是对系数矩阵的处理,具体参考:《单元刚度矩阵的缩聚》,下面给出具体的表达式:

推导结果:

可以发现,式子中对于所需要缩聚的矩阵Kbb需要求逆,然而对于复杂的大规模系数矩阵,求逆并不是一件容易的事情,只有对于足够简单的系数矩阵,对于Kbb的求逆才能够很好实现,从而实现总体刚度矩阵维度降低的效果,否则可能会得不偿失。

在对高阶有限元的系数矩阵观察中发现,顶点相关位置、棱边相关位置、单元内部点相关位置中,只有单元内部点所涉及的矩阵最为简单,对此部分进行缩聚也是可行的。

一个技巧:根据上述分析,要想容易提取节点内部点的系数矩阵,在实现网格节点排序的时候,可以先排列顶点,然后棱边点,最后再排列单元内部点。

系数矩阵缩聚测试

Eg1.三阶有限元测试

对于8个三角形的网格,三阶基函数的网格节点如图所示,每个单元内仅存在一个节点。

下图是3阶基函数的系数矩阵非零元素分布图,系数矩阵由9个部分组成,分布是顶点、棱边点、内点三个部分以及相互关联的部分组成。    

可以发现,顶点、棱边点部分的非零元素分布关联性很强;而单元内点部分的系数矩阵(内点-内点)则是一个仅有主对角线元素的矩阵,求逆非常的容易。因此对这部分的求逆是非常简单的,接下来也仅对(内点-内点)部分的位置进行缩聚处理。

下图是对(内点-内点)部分进行缩聚后,得到的新的系数矩阵如下:  

可见,对于8个三角形网格而言,三阶基函数有8个内点,处理后方程维度从49减小到41。并且统计缩聚后的非零元素与同等部分的原矩阵的非零元素个数与位置均是一致的。

使用缩聚后的系数矩阵,求解结果与原始矩阵求解结果进行精度对比,结果如下,精度完全是一致的。    

求解的电场实部虚部结果如下:

Eg2:对于四阶有限元而言,每个网格内有3个内点

下图是非零元素的分布情况,仔细观察,可以发现对应的单元内点-内点部分,也就是右下角位置的矩阵,其是由8个3*3的非零元素小矩阵组成,均匀的放置在对角线位置。这部分就对应8个网格单元中的三个内点信息。    

缩聚后的系数矩阵如下:    

该网格共计8个,所以四阶有限元有24个内点,处理后方程维度从81减小到57,同样二者对比的精度完全是一致的。

数值结果如下:

Eg3.测试10*10的网格

将网格量扩大,如此得到的系数矩阵中可以进行缩聚的维度就变得比较大,下面显示了10*10*2共计200个三角形网格单元的四阶基函数节点分布。    

缩聚前的非零元素分布如下图所示,呈现一种有规则的排列。    

缩聚后的结果如下:

缩聚之前的未知数量是1681,缩聚后的矩阵维度在1081。可见网格越多其缩聚体现的效果越明显。精度对比图如下,二者求解得到的精度一致。  

电场衰减的实部虚部的数值结果如下:

最后 

1.该算例测试显示,系数矩阵采取缩聚后,对数值精度没有影响。

2.缩聚的对象依旧是高阶单元内部的节点,因为这部分节点所对应的系数矩阵所关联节点仅包含本单元,这使得在缩聚过程中需要求逆的矩阵变得非常容易。

3.对于小规模的系数矩阵缩聚的效果不明显,对于网格量规模越大的网格而言,缩聚的效果就非常明显。就二维三角形的三阶有限元而言,缩聚能减少的系数矩阵维度就等于单元网格个数。这似乎对于二维四边形网格而言效果更加的明显。

4.从缩聚前后的系数矩阵非零元素分布规律来看,缩聚前后其顶点与棱边点相关的非零元素位置并没有发生改变,仅是数值变化了。那么是否存在一种方法可以直接通过顶点和棱边获得缩聚后的系数矩阵。

5.从单元的角度来看,缩聚即是将单元内部点的信息处理到顶点以及棱边点的过程,那么是否可以在单元系数矩阵的形成过程中就完成缩聚的过程,如果这一方案可行,进一步是否可以推导对应的高阶不含有内部点的基函数。

6.缩聚的过程中,最麻烦的就是需要对缩聚的矩阵进行求逆,而单元矩阵的逆非常容易获得,那么是否可以通过递推的方式,逐次进行递归缩聚,最后再逐次回代得到求解结果。    

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

Poisson方程基于叠层基函数的高阶有限元通式(三合一)

简述在之前的文章中,依次介绍了结构化网格的插值型基函数的一维、二维、三维的高阶通式,在使用高斯积分后,任意高阶有限元成为可能。并且发现结构网格网格中,三维、二维网格均是一维网格的拓展,一通则全通。这篇文章继续介绍结构化网格的叠层基函数的一、二、三维的任意高阶通式。相比于较为复杂的插值型基函数,叠层基函数的任意阶基函数相对简单,容易实现。并且在前面插值基函数的实现基础上,只需要把计算基函数的部分替换掉即可。对于边值问题,还是以最简单泊松方程出发,具体的有限元推导部分不再重复,参考:初探高斯积分在一维有限元中运用:泊松方程1.叠层基函数通式a.一维基函数同样,先从一维出发,同样首先给出最基本上的线单元的线性插值基函数:将该线性插值基函数投射到[-1,1]的区域内,用以下方式表示:得到映射后的线性插值基函数,同样的处理是为了方便高斯积分。已知,1阶基函数为:2阶叠层基函数的第三个基函数:3阶基函数,在1、2阶基础上,添加第四个基函数:可知,N阶基函数,可以表示为:因此,通式:对应的梯度为:可见,一维度的叠层基函数的通式,还是保持着低阶包含高阶的特征,这对于混合阶有限元的实现是非常关键的。b.二维基函数二维叠层基函数就是由一维度基函数通式组合而成,因此,考虑二维两个方向X,Y,则X,Y连个方向分别的通式表示为:因此不难获得:c.三维基函数三维叠层基函数的通式,则是X,Y,Z三个方向:因此,一维的通式确定,二维矩形单元,三维六面体单元通式也就都获得,并且实现一维度的推导,高维度通过乘积即可使用。即使更高维度,四维、五维...都可以很容易获得。2系数矩阵组装针对泊松方程而言,三维的有限元离散方程为:一维度而言,对上述式子只取一项:将上述等式全部写出高斯积分形式:推导如此,就不必要继续推导,对两部分直接单部分求解,然后乘积即可获得被积函数。然后再通过高斯积分获得即可。对于二维,三维系数矩阵公式,则可以直接写成高斯积分公式,首先定义:所以,二维系数矩阵通式表示为:三维系数矩阵通式为:至此,推导完成,如果想要写成更高维度的通式,也可直接按规律获得。3系数矩阵组装与边界条件这里的系数矩阵与插值型基函数的网格完全一致,直接套用插值基函数的各维度网格节点编号与单元映射关系即可。不同点在于边界条件的加载,叠层基函数的高阶部分全部置为零,具体可参考文章:一维高阶叠层有限元实现还需要注意的地方是,叠层有限元的高阶部分不代表具体的点的泊松值,需要通过插值获得对于单元位置处的具体数值。4结果展示Eg1一维度8阶有限元泊松结果网格:5个网格;未知数为41个;求解区域[0,10]稀疏矩阵的非零元素分布如下:求解结果如下:Eg2二维6阶有限元泊松方程结果网格:2*3=6个网格;未知数为247个;求解区域[0,10;0,10]稀疏矩阵的非零元素分布如下:结果可视化如下:Eg3三维5阶有限元泊松方程结果网格:2*2*2=8个网格;未知数为1331个;求解区域[0,10;0,10;0,10]稀疏矩阵非零元素分布:求解结果显示:参考插值基函数的结果可以了解,二者的结果是一致的。总结1.任意高阶有限元的流程均是一样,只是针对基函数的形式不一样,因此实现了插值型任意高阶后,叠层任意高阶也容易实现。关键还是在于任意叠层高阶基函数的确定。2.叠层基函数的优势在于能实现混合阶有限元的实现,因此如果找到任意阶叠层基函数通式,那么对于p型自适应有限元也是没有技术难点了。3.我所了解的4种不同类型的自适应有限元:A.p型自适应有限元:自适应过程中,网格不变,根据后验误差控制网格阶数以达到高精度解的过程;B.h型自适应有限元:自适应过程中,网格基函数阶数不变,加密或放粗网格大小,以达到高精度解析解;本公众号在之前提供过一个案例:自适应有限元技术:一维电场衰减数值模拟C.hp型自适应有限元,利用p型和h型的优势,网格与阶数均变化,平衡二者关系,使用最小的资源获得最好的精度;个人感觉该方法得有很强的物理背景才能实现合理的分布。D.r型自适应有限元,或者叫做动网格技术,根据后验误差,不增加网格量,而是通过调整网格大小分布以获得最好的精度。这种方法似乎在流体力学中使用较多。来源:实践有限元

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