首页/文章/ 详情

一维高阶叠层有限元实现

1月前浏览198
  1. 将一维cos函数分布的边值问题进行到底

    该问题的解析解为:

  2. 有限元离散方程


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

3.高阶叠层基函数

     原理:高阶叠层基函数的本质是通过引入单元线性一阶基函数的高阶项来提高计算精度,它的高阶项表示的就是高阶精度项,高阶项在网格单元内不具备对应点的物理含义。

    这本质与高阶插值基函数不同,高阶插值在网格单元有对应点表示物理函数,例如一维高阶插值基函数有限元实现中高阶项对应的物理含义表示在单元中心点的数值结果。

    这里给出一维的1~3阶的基函数表达式:

其中,基函数的推导过程可以参考:最简单的一维有限元问题:求解cos函数分布

    叠层基函数的特性:

    a.高阶基函数中包含低阶基函数;

    b.高阶部分不表示单元上某一点的具体解,表示的是对1阶精度的修正,意义可以理解为泰勒级数展开后的高阶项,高阶项越多,精度也越高。

    c.高阶部分N3,N4是单元的所有1阶基函数组合而成,因此用单元表示N3,N4所在的位置,即有几个单元就存在多少个N3,N4。需要注意N3,N4不表示单元上的数值结果,仅表示高阶项。  

4.单元系数矩阵的推导

    详细的推导过程参考最简单的一维有限元问题:求解cos函数分布一维高阶插值基函数有限元实现,这里直接给出对应项的单元系数矩阵:

    可以从1~3阶的单元系数矩阵直观地看出,3阶系数矩阵包含2阶系数矩阵,2阶系数矩阵又包含1阶系数矩阵系数矩阵从低阶到高阶层层叠加,因此称之为叠层基函数

5.组装全局系数矩阵

    为了简便,同样将研究区域(0~2pi)划分成三个基本单元,以此得出局部坐标系到全局坐标系的映射关系:

    a.1阶基函数的网格映射关系与全局系数矩阵表达式:

    系数矩阵组装过程与结果参考:最简单的一维有限元问题:求解cos函数分布

    b.2阶基函数的网格映射关系与全局系数矩阵表达式:

      系数矩阵的组装过程类似1阶有限元,这里直接给出组装结果:

    在网格起始点1号位置添加第一类边界条件(u=0),在网格终点4号位置添加第二类边界条件Kf=0,得到最终系数矩阵表达式:

    在带入具体数值后,得到的具体系数K矩阵如下:

    c.3阶基函数的网格映射关系与全局系数矩阵表达式:

    类似1阶系数矩阵的组装过程,在组装系数后,同样添加边界条件后,得到最终的系数矩阵表达式:

    在带入具体数值后,得到的具体系数K矩阵为:

6.计算结果与对比

    在获得系数矩阵与右端项后,在matlab中通过简单的X=K\B就可以获得方程的解,再通过对应基函数的插值方法,可以得到研究区域内任意一点的数值解。

    这里为了更加具体的对比不同阶数的精度,通过插值获得所有单元的中心点数值解,具体插值公式为:

    最终的计算结果与理论解析解对比,得出计算误差为:

    a.研究区域划分为3个均匀长度单元:

        I.1阶计算结果:

       II.2阶计算结果:

        III.3阶计算结果:

    b.再给出研究区域划分为10个单元的计算结果:

        I.1阶计算结果:

        II.2阶计算结果:

        III.3阶计算结果:

    从结果直接看出,当划分为3个网格单元时,1~3阶的最大误差依次为:0.5,0.05,0.005;当划分为10个网格单元时,1~3阶的最大误差依次为:0.1,5e-4,5e-4。

7.结论

    高阶叠层有限元的数值模拟结果的精度随着阶数的提高而逐渐提高,2阶相对于1阶的精度提高非常的明显,而随着网格增多,3阶相对于2阶的精度提高效果不是那么好。

    因此在一般的计算中,2阶精度也就足够,3阶虽然在精度上还有提升,但是占据的内存与计算的时间均明显增多,可能会导致得不偿失。  

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

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

边值问题依旧讨论:求解cos函数分布边值问题的解析解:2.有限元离散方程推导过程参考:最简单的一维有限元问题3.高阶(二阶)插值形函数高阶插值形函数,顾名思义是在低阶的基础上插入点,对于二阶插值形函数,则是在一阶的基础上组建而成,具体形式如下:L1,L2表示一阶线性基函数,N1,N2,N3表示二阶插值形函数,可以直观看出二阶的基函数完全由一阶基函数组合而成,但是与一阶的基函数完全不同。同时,在每个单元内,二阶插值形函数满足:这就说明每个插值形函数对应网格所在位置的数值解,具有物理意义,这一点与高阶叠层基函数具有本质区别。在网格上的体现为在原有单元的中心点处插入一个点,同样以三个单元为例:局部单元编号为从左到右,编号为1,2,3,对应二阶形函数的三个形函数N1,N2,N3。因此全局编号的表:4.单元系数矩阵推导在确定了二阶插值基函数后,将基函数带入了有限元离散方程中推导即可得到对应部分的系数矩阵,这里同样采取以下公式或者查表的方式获得具体系数在有了上述积分公式的工具后,这里再次给出系数矩阵的推导过程,其推导方式与一阶基函数的推导过程基本一致:首先给出每个插值函数的梯度结果:然后推导梯度乘以梯度的积分部分:根据有限元矩阵具有对称性的原理,则可以得到最终的梯度乘以梯度的系数矩阵,其中a表示单元边的长度:同理,有限元离散方程的第二项,基函数乘以基函数的系数矩阵推导:得到第二项的系数矩阵为:5.组装全局系数矩阵针对上述三个单元网格的剖分为例,节点总个数为7个,因此最终组合成7*7的系数矩阵:与一阶线性基函数类似,在起始点添加第一类边界条件、在终点添加第二类边界Kf=0对应的右端项为:在实际操作中,三等分求解区域后,单元的边长a=2.0944,组装后得到的K具体系数矩阵为:6.计算结果与对比三个单元网格7个节点的计算结果为:将计算结果插值到每个单元的中心点,以此与1阶基函数对比计算精度,对比的效果更加的明显,其中二阶基函数的插值公式为:3个网格单元,二阶基函数与一阶基函数对比精度:10个网格单元,二阶基函数与一阶基函数对比精度:50个网格单元,二阶基函数与一阶基函数对比精度:7.总结1.高阶(二阶)插值型基函数有限元的流程基本上与低阶有限元一致,区别仅在于插值基函数;2.同等网格下,二阶有限元的计算精度至少是低阶有限元精度的十倍以上。3.值得注意的点:I局部编号与全局编号的必须严格一一映射;II边界条件必须添加到对应的网格边界点上;来源:实践有限元

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