首页/文章/ 详情

三角形高阶基函数通式的两种获取方法

16天前浏览50

简述

相比于结构化网格的基函数任意高阶通式而言,非结构网格的通式相对难度较大。经过较长时间的研究与推导验证,本文介绍两种获取二维三角形网格基函数高阶通式的方法。

方法1:通过复杂理论获得,根据所需要不同阶数,直接获得基函数表达式,参考《The finite element method in electromagnetics》

方法2:通过有限元插值基函数基本原理,构建线性方程组求解对应项系数,从而获得基函数表达式。

下面详细介绍两种方法。

方法1

根据文献,三角形高阶基函数通式表达式可以写成:

具体来使用这个通式,首先得到1阶基函数表达式:

满足上述等式的I,J,K,有:

推导2阶插值基函数的公式,根据通式可以得到:

根据IJK的组合规律,可以得到以下六种排列方式:

进一步推导:    

可以发现,前三个基函数表示三角形顶点位置,后三个基函表示三条棱边重点位置。

推导3阶基函数表达式:

根据IJK的组合规律以及三角形的插值点,可以得到十种排列方式,首先是三个顶点位置:

然后考虑2*3=6个棱边点:    

具体展开推导:

其他项类似得到:

继续推导第十项:

至此,三阶基函数推导完成。如果想要通过该公式继续得到更加高阶的维度,问题也不是太难,只不过要进行繁琐的推导,不过使用编程的方法可以避免手动推导,快速得到基函数表达式。    

但是根据上述推导不难发现,通式是不同项的乘积,这导致继续推导基函数的梯度会非常困难,例如对三阶的N9进行梯度求解,必须化成最简式子才能很好的获得。但是想要获取基函数梯度的通式就比较麻烦了。

由于这个原因,研究出稍微复杂的三角形基函数通式以及基函数梯度的通式,即方法2。

方法2:

首先,根据方法1的一些规律,获得三个节点上的高阶基函数的组合是由对应的面积坐标Li组合而成,幂次最高为阶数,因此可以获得三个节点任意阶基函数通式表达式:

式子中的系数ai是待求系数,可以发现对于N阶而言,就有N项累加而成,因此有N个系数a,这是只需要选择N个节点坐标即可求解得到。一般选取对应Li所在的边上的N个节点。根据下列方式,组合线性方程组N*N,求解得到系数a。

其次,考虑三条棱边上节点规律,均由棱边对应的两个插值系函数LiLj组合而成,因此幂次最高之和为阶数,同理可以获得基函数通式表达式:

同样,根据系数项选择对应的节点,通过在带求点等于1,其他点为0的方式,组装系数方程,通过求解方程组得到对应系数b。

最后同理容易得到三角形内部点的通式:    

对于三角形内部点,有N个内部点,对应的基函数就有N项累加而成,因此仅需要带入内部点的位置关系,即可获得对应的系数c。

至此,可以发现三角形基函数通式的三个部分的基函数表达式均是L1L2L3的各项系数累加而成。因此可以很容易推导获得对应的梯度项:

如此,第二种方法只要获得基函数中各项的系数,即可立刻得到对应的梯度解,这对于在有限元算法中实现任意阶是非常重要的。下面验证方法2的通式与方法1是否一致:

1阶基函数

2阶基函数    

3阶基函数   

可以发现,前3阶的基函数与方法1的结果是一致的。根据方法2,我们还可以通过算法直接得出更加高阶的基函数,例如4阶基函数共计15个基函数。    

   

验证其结果也是正确的。如此得到这些系数矩阵,对应的梯度项也随之可以获得。

最后

1.分享了三角形基函数高阶通式推导的两种方法:第一种方式是书上的方法,但是很难进一步获取基函数梯度的通式;因此推导出第二种方法,通过求解方程组得到基函数每项的系数,进而能获取基函数梯度的通式,这对于有限元编程实现是非常重要的。

2.在获取三角形基函数高阶通式后,想要实现三角形的任意高阶有限元还有几个突破点,第一点还是任意阶网格节点的获取;第二点是高斯积分的系数与权重。    

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

单元刚度矩阵的缩聚

刚度矩阵的缩聚抛砖引玉,最近看到力学有限元中处理刚度矩阵的一种方法:缩聚,有意思,简单介绍下。对于高阶有限元而言,高阶部分可能存在与网格之间的连接位置无关的部分。这部分在刚度矩阵中的体现,仅在内部相关点的位置存在值,其他绝大部分均为零。因此可以对刚度矩阵进行缩聚,从而减小求解未知数,进而优化计算时间。将刚度矩阵写成如下形式,分成两部分,仅与单元内自身节点相关的内部点的信息为Xin,右端项为Bin,其他部分放在Xout,Bout,具体如下:将上述矩阵乘开,得到:根据第二式,将Xin表示出来,将第一式中,Xin替换掉,化简:因此得到,如此,将求解矩阵缩减为一阶情况下的维度。当求解得到Xout的时候,带入上述Xin的等式,即可得到Xin的结果。需要注意,虽然对Kbb进行了求逆的实施,但是因为Kbb对应的未知数全部与非本单元无关,因此其逆矩阵比较好求解,并且具有一定规律。例如:考虑一维有限元,研究区域[010],采用三个网格;Eg12阶基函数的泊松方程系数矩阵将该系数矩阵与右端项进行缩聚处理后,得到的新的右端项与系数矩阵:测试求解的结果是一致的。Eg2.采用3阶基函数的泊松方程,其缩聚部分不再仅仅是对角线矩阵缩聚后其系数矩阵依旧为一个4*4矩阵:求解该4*4矩阵后,反推同样可获得所有未知数结果。根据这两个案例可以发现,其缩聚的部分,如蓝色框中的数据即表示一个单元内部点的单元系数。当对于结构相同,材料相同的情况下,在刚度矩阵中每个单元内部点相关的系数矩阵是一致,这里局部系数矩阵会出现重复,就可以进行优化了。思考1.矩阵缩聚这种方法,关键对需要缩聚部分的逆矩阵的求解,对于2阶而言,其内部仅有一个点,因此缩聚部分仅有对角线矩阵,对于高阶而言,其内部存在多个点,对应缩聚部分不再仅仅是对角线,因此求解逆矩阵比较麻烦。2.我所理解的这里应该是每个网格尺度一致的情况下,仅仅需要求解单元内相关的一个小的逆矩阵,其他单元逆矩阵一致,如此实现快速求解。3.缩聚不仅仅在高阶中适用,根据其定义,只要介质材料一致,网格一致,既可以划分区域,将区域内部点缩聚,缩聚到连接点,依次逐级缩聚,达到快速求解的目的。该方法在力学领域应该适用广泛,电磁领域所见较少。具体原因尚不清楚。4.此外,这种方式是否可以直接抛开物理问题,直接使用到求解线性方程组的算法中,例如superlu其中使用的分块分解求解是否有异曲同工之妙。来源:实践有限元

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