首页/文章/ 详情

高阶插值基函数与叠层基函数细节对比

15天前浏览32

简述

    高阶插值型有限元和叠层型有限元的区别到底在哪些地方,细节点到底有什么,这里把一维2阶有限元的两种基函数的有限元求解过程拿来一一对比,分析两者的相同点与不同点,更有助于理解二者的基函数原理。

  1. 边值问题

    首先给出对用于对比的边值问题,依旧沿用最简单的cos分布的边值问题:

    该问题的解析解为:

2.有限元离散方程的推导(无区别)

    详细推导参考:最简单的一维有限元问题:求解cos函数分布

3.基函数与单元系数矩阵(有区别)

    针对一维线段的拉格朗日插值多项式,任意高阶的基函数都是在其基础上组合叠加而成。

    (1)二阶插值基函数

        该基函数对网格单元对应关系,满足插值关系:

        对应的单元系数矩阵为:

    (2)叠层基函数

    该基函数与网格对应关系:仅N1,N2满足一定关系,N3不对应具体网格点的数值解。

    单元系数矩阵为:

    对比上述两者基函数本身区别,两者根据L1,L2得到的组合方式完全不同,插值基函数每个部分与网格点均能对应,叠层基函数仅1阶部分与网格点对应,高阶部分不对应任何网格点。

    因此,基函数的完全不同,导致的单元系数矩阵肯定也完全不同。

4.网格未知数(自由度)分布(有区别)

       (1)插值基函数

       (2)叠层基函数

    从网格可以明显看出,插值基函数N3对应的是节点3,落在网格中心点;而叠层基函数N3对应的叫做线单元1,表示网格单元位置,并不落在具体的某个点上。

    而且根据基函数N1,N2,N3的排序差别,对应的全局节点编号也存在顺序上的差别,不过未知点(自由度)个数是一致的,都是7个未知数。

5.全局系数矩阵

    由于单元系数矩阵完全不一致,以及全局未知数编号存在顺序上差异,所以全局系数矩阵组装的结果也完全不同,具体的系数矩阵参考:

    叠层基函数参考:一维高阶叠层有限元实现

    插值基函数参考:一维高阶插值基函数有限元实现

    不过,在该边值问题上,二者的边界条件上设置几乎都是一致的,第一类边界条件都是在起始点乘以大数加以实现;第二类边界条件则是在网格终点添加对应的点系数矩阵。

    该现象与具体边值问题相关,不同的边界条件,以及二维、三维问题,在处理边界条件还是可能有很大差别。

6.计算结果对比

    在获得最终的系数矩阵K和右端项B后,根据X=K\B就可以获得求解结果:这里具体对比了3个均匀网格下叠层基函数和插值基函数的未知数求解结果:

    从X的求解结果可以看出,二者的在1~4节点的结果一致,5~7位置的结果不一致。这也再次说明了插值基函数在高阶部分与叠层基函数存在着本质上的区别。

    我们通过上述的结果,插值获得网格单元中心点的数值结果。根据拉格朗日基本插值关系,对于中心点,L1,L2的计算结果为:

    (1)插值基函数的插值过程

    可见,插值基函数三个单元的中心点的数值解就依次分别为X求解结果的5、6、7号节点的数值解,这与第3部分分析的插值基函数性质是一致的。

    (2)叠层基函数的插值过程:

    依次,带入X求解结果,得到三个中心点的数值结果:  

    可见,叠层基函数的中心点数值解不是自由度X中5~7号的结果,5~7号的结果扮演的是提高插值精度的角色。这里再次明确的看出两种基函数的区别,下面是两者插值结果的精度对比:  

    可见,虽然两者形函数不同,求解的X结果也不一致,但是通过各自的插值最终得到的结果是一致的。并且两者同为二阶基函数,计算精度也几乎是一致的。正所谓殊途同归。

7.总结

    (1)通过对简单模型计算结果的详细分析,从结果上更加清晰了叠层基函数与插值基函数的不同点。

    (2)虽然基函数不同,但是二者在相同阶数下计算结果的精度是一致的;

    (3)二者本质区别在于:插值基函数的高阶部分就是网格点上的数值解;叠层基函数的高阶部分不表示网格上具体点,表示的是线单元,高阶数值结果表示对应线单元的高阶精度修正量。


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

最简单的一维有限元问题:求解cos函数分布

1.给出边值问题满足cos函数的边值问题:求解区域离散x=(0,2pi)该边值问题的解析解为:2.有限元离散方程推导首先对求解区域离散,例如x=(0,2pi)区域离散得到的网格:这里展示离散成3个单元段,四个节点,对应编号关系如下:针对离散网格,使用伽辽金推导方法对连续的边值问题进行离散,首先对微分方程乘以试探函数,并且再求解区域积分,得到:对上述式子第一项进行分部积分处理后:根据边界条件对上述的等号右端第一项分析:在x=0处是第一类边界条件,后续强加边界后会覆盖掉这里x=0项的值;在x=2pi处是第二类边界条件,对应给出的第二类边界条件等于0,也就是在x=2pi处加入第二类边界条件的系数矩阵为零;具体详细的公式,在后续给出,这里继续推导区域内的有限元方程:对求解区域进行网格划分,引入每个单元的线性插值型函数,表示为:对上述方程进行离散,得到有限元离散方程:其中,试探函数不等于零,因此约去,简化用矩阵表示,得到:当加入边界条件后,变成:上述就是有限元离散方程,K表示对应边值问题的有限元系数矩阵。3.确定形函数在每个小单元内,通过端点解与形函数的组合可以获得单元内任意一点的求解结果:理解为在单元(一维线段)内u任意一点值有两个端点u1,u2通过插值函数N获得。因此不难理解,型函数N必须满足在端点1处插值的点为u1,在端点2处插值结果为u2。使用拉格朗日插值公式,可以直接获得满足上述要求的基本插值函数:其中,a等于线段的长度,当型函数为线性一阶基函数的时候,形函数就等于插值函数:可以简单验证,上述形函数满足:4.单元系数矩阵推导在确定形函数后,根据有限元离散方程,发现还需要形函数的梯度,因此根据形函数与插值函数的关系,推导如下:根据有限元离散方程的系数矩阵K,其中主要有两部分组成,梯度*梯度与N*N,因此,分开考虑两部分,带入形函数的梯度推导结果,得到:其中第一项是常数积分,很容易获得;第二个公式可以查表获得,这里手动积分看看原理。对第二项的积分变量转化到§下,因为§的积分范围是一定的(0,1),因此:所以,得到第二项的积分结果:一般的,通过带入公式计算得到系数或者查表得到:5.组装全局系数矩阵根据上述离散网格,离散成三个单元,因此,单元长度a等于2pi/3,因此第一个单元的系数矩阵:其他两个单元一次可以得到相同的系数矩阵,然后把三个系数矩阵根据单元节点列表将局部单元系数矩阵一一映射到全局节点中:然后,对系数矩阵添加边界条件:在x=0处的第一类边界条件,使用乘以大数的方法,得到:在x=2pi位置处添加第二类边界条件,在终端边界点添加矩阵Kf:最终得到的系数矩阵数据,线性方程组:6.有限元计算结果求解线性方程组有很多方法,大体分成迭代法和直接求解方法,这里采用matlab中自带的直接求解方法求解,求解结果为:用图像显示,数值结果与解析解的误差:3个网格单元:10个网格单元:50个网格单元:可以直观感受,3个网格的最大计算误差在0.5左右,10个网格误差在0.1以下,而50个网格精度就达到了4e-3,基本上与理论解完全重合。7.总结有限元求解流程:1.确定边值问题与求解区域;2.推导有限元离散方程;3.确定形函数;4.单元系数矩阵推导;5.组装全局系数矩阵;6.求解线性方程组得到数值结果。来源:实践有限元

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