Matlab梁单元有限元编程:铁木辛柯梁VS欧拉梁

news/2024/7/24 7:07:54 标签: 算法, 人工智能, matlab

专栏导读

  • 作者简介:工学博士,高级工程师,专注于工业软件算法研究
  • 本文已收录于专栏:有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元类型包含:杆单元,梁单元,平面三角形单元,薄板单元,厚板单元,壳单元,四/六面体实体单元,金字塔单元等;3.物理场问题涉及:力学传热学电磁学多物理场耦合等问题的稳态(静力学)和瞬态(动力学)求解。专栏旨在帮助有志于有限元工业软件开发的小伙伴,快速上手有限元编程,在案例中成长,摆脱按部就班填鸭式教学
  • 所有专栏文章均提供视频教程和源码有限元编程从入门到精通30讲视频教程与源码获取地址: https://www.bilibili.com/video/BV1kP4y1d7Zo
  • 欢迎订阅专栏,订阅用户可私聊进入有限元编程交流群(知识交流、问题解答),并获赠丰厚的有限元相关学习资料教材、源码、视频课
  • 专栏订阅地址:有限元编程从入门到精通_suoge223的博客-CSDN博客

文章目录

  • 专栏导读

    文章目录

    一、写在文前

    二、欧拉梁&铁木辛柯梁基本理论

    1、欧拉-伯努利梁 Euler-Bernoulli Beam

    2、铁木辛柯梁 Timoshenko Beam

    三、欧拉梁&铁木辛柯有限元离散

    1、欧拉-伯努利梁有限元离散

    2、铁木辛柯梁有限元离散

    3、铁木辛柯梁的剪切锁死现象

    四、我的Matlab有限元编程精品课


一、写在文前

梁在工程中应用广泛,是重要的结构构件。从几何上看,梁是任意截面形状的承受横向力的杆状结构,与杆的区别仅在于二者承受的载荷不同。在梁结构中,不同的梁固接在一起,既能传递力,又能传递力矩。本文针对二维和三维空间梁结构的matlab有限元编程进行讲解,涉及的梁单元类型有欧拉梁单元和铁木辛柯梁单元。重点讲解二者的基本力学假定、适用范围、对应的三大类方程的建立、有限元离散方程的建立(包括形函数、刚度矩阵推导等)以及通过Matlab编程的实现上述两类梁单元静力分析求解和模态分析求解,获得梁结构的位移、剪力、弯矩图,以及模态各阶频率和振型,并探讨了铁木辛柯梁单元剪切自锁问题,并且对比了欧拉梁、铁木辛柯梁(完全积分)、铁木辛柯梁(减缩积分)的计算结果。

【本案例源码链接】:Matlab梁单元有限元编程 | 铁木辛柯梁 | 欧拉梁 | Matlab源码 | 理论文本 |深梁 |短梁

【本案例视频教程】:(试看)铁木辛柯梁的matlab有限元编程/欧拉-伯努利梁/刚度矩阵/剪切自锁/减缩积分/高斯积分/等参单元/剪切变形/弯曲/仿真/结构力学/数值计算/微分方程_哔哩哔哩_bilibili

【《Matlab有限元编程从入门到精通》合集课】:Matlab有限元编程从入门到精通/后处理/刚度矩阵/等参单元/高斯积分/Hammer积分/非线性/静力/动力/传热/三维/二维/梁板壳/实体/平面_哔哩哔哩_bilibili

二、欧拉梁&铁木辛柯梁基本理论

1、欧拉-伯努利梁 Euler-Bernoulli Beam

欧拉-伯努利梁适用的前提条件是发生小变形、线弹性范围内、材料各向同性、等截面,其变形特征在于只有弯曲形变、横截面没有产生切应变;梁受力发生变形时,横截面依然为一个平面,且始终垂直于中性轴。受力方向垂直于中性轴。仅一个独立的变量v,即,垂直方向的位移。由于它忽略了切应变的效果,计算出的梁的变形量低于现实中梁的变形量;因此适用于细长梁。其平衡方程、几何方程、物理方程为:

2、铁木辛柯梁 Timoshenko Beam

铁木辛柯梁适用的前提条件是发生小变形、 线弹性、各向同性的材料、等截面,其变形特征在于梁产生弯曲变形 和梁的横截面产生切应变;梁受力发生变形时,横截面依然为一个平面,但不再垂直于中性轴。存在两个变量独立的变量,v垂直方向的位移 和 θ横截面旋转角。由于它考虑了切应变的效果,计算出的梁的变形量,接近于现实梁的变形量;因此适用于短梁。其平衡方程、几何方程、物理方程为(公式参考(研二)Timoshenko梁 - 知乎):

最终的运动学方程

值得一提的是,两种梁模型也分别对应了2维的Kirchhoff板和Mindlin板模型,类似的思路可以直接平移到板理论去分析2D问题。


三、欧拉梁&铁木辛柯有限元离散

1、欧拉-伯努利梁有限元离散

接下来基于欧拉-伯努利梁理论推导平面纯弯梁的有限元方程,该理论适用于细长梁。在局部坐标系下,平面纯弯梁的每个节点有两个自由度(DOF),分别是方向的挠度和平面内的转角 。因此,每个纯弯梁单元有4个自由度。当然也可以将轴向自由度考虑进去,直梁单元拉压与弯曲的变形和应力状态相互之间不耦合,因此可以直接叠加轴向刚度,相当于轴力杆单元和梁单元的简单叠加,就是将二者的刚度矩阵的叠加。本文只讲解4自由度的梁单元有限元方程的推导。(1)形函数考虑如图1所示的梁单元,单元长度2a,节点编号为 1和2。x方向沿梁的轴线方向,局部坐标系的坐标原点在梁单元的中点。为了推导梁单元的有限元方程,首先需要推导梁单元的形函数。由于梁单元有4个自由度,所以需要有4个形函数。在推导形函数时,通常会使用一种称为自然坐标系( natural coordinate system )的无量纲局部坐标系,以便将坐标系的取值范围变换到[0, 1]或者[-1, 1]之间。本例中自然坐标系的取值范围为[-1, 1]。

图1 局部坐标系下的梁单元自然坐标系与局部坐标系的关系为

为了推导自然坐标系下的四个形函数,我们可以将挠度写成 � 的三次多项式

写作矩阵的形式

在小变形情况下,转角 � 可由挠度微分得到


引入边界条件:

可得

求解 � 之后可以得到

其中,N是形函数矩阵

(2)应变矩阵和刚度矩阵欧拉-伯努利梁理论中,梁的横截面始终垂直于中性轴。将2.1.1节的用形函数表示的位移表达式带入到1.1节的几何方程中,得

得到应变矩阵后,可以求出单元刚度矩阵

扩展到三维空间梁单元,自由度按以下顺序排列:首结点 1轴平动、2轴平动、3轴平动、绕1轴旋转、绕2轴旋转、绕3轴旋转;末结点 1轴平动、2轴平动、3轴平动、绕1轴旋转、绕2轴旋转、绕3轴旋转,共12个自由度。因此对应的刚度矩阵为

2、铁木辛柯梁有限元离散

参考《Matlab有限元结构动力学分析与工程应用-徐斌》梁单元的介绍,Timoshenko 梁单元中,横向位移v和转角是独立的,可各自独立插值,有

式中,N1和N2为线性形函数

根据1.1节的几何方程和物理方程,将上述位移表达式带入之后,可得

因此梁的刚度矩阵为

3、铁木辛柯梁的剪切锁死现象

上述的 Timoshenko梁刚度矩阵用于扁梁(高宽比小)时会产生剪切锁死现象。原因在于v和采用了同阶插值造成截切刚度过大。为了避免这种现象,在建立单元刚度矩阵的时候可采用减缩积分的方法建立。笔者通过自编有限元matlab程序验证对比了欧拉梁单元、铁木辛柯梁单元(完全积分)、铁木辛柯梁单元(减缩积分)三种单元对不同跨高比的梁结构的计算结果。本案例已收录至《Matlab有限元编程从入门到精通20讲》强烈推荐学习者订阅,本课程已上架仿真秀b站课堂。。

(1)L=5000,H=700,B=300的梁的计算结果

(2)L=5000,H=2700,B=300的梁的计算结果

(3)L=5000,H=7,B=300的梁的计算结果

可见,对于(1)所示以弯曲变形为主的梁结构,三种单元均能给出一个较为准确的结果;对于(2)所示的深梁,剪切变形不可忽略,导致欧拉梁与铁木辛柯梁的计算结果相差较大,而且两种铁木辛柯梁均给出较精确的结果;对于(3)所示的扁梁,以受弯变形为主,因此欧拉梁和减缩积分的铁木辛柯梁均能给出合理结果,但是由于完全积分的铁木辛柯梁会发生严重的剪切自锁现象,因此与欧拉梁和减缩积分的铁木辛柯梁的结果相差较大。

四、我的Matlab有限元编程精品课


以上就是笔者关注Matlab梁单元有限元编程铁木辛柯梁与欧拉梁对比分析,该内容已经收录在我的原创视频课程里面《Matlab有限元编程从入门到精通20讲》强烈推荐学习者订阅。本课程已上架仿真秀b站课堂。

本课程为matlab有限元编程专题课,并配套的全部案例源码讲义PPT/理论文本,旨在以案例的形式讲解各类有限元问题程序实现及算法原理,并提供完整Matlab源码供大家练习,案例源码均包含前后处理模块和求解器模块;单元类型包含:杆单元,梁单元,平面三角形单元,板壳单元,四/六面体实体单元等;物理场问题涉及:静力学、动力学、传热学、材料非线性、几何非线性、接触非线性等求解,内容丰富,不断更新完善。。
此外,笔者为所有订阅用户提供知识圈答疑服务VIP用户交流群。并附赠课程相关资料等(仿真秀/b站平台支持自行开具电子发票)。
大家学习Matlab进行有限元编程过程中,强烈推荐大家学习以下资料(在文章末尾点赞或再看,截图发到仿真秀公众号,回复 SimPC ,我会24小时发给你以下资料)。

作者:SimPC博士 联系QQ:573023534


http://www.niftyadmin.cn/n/5469869.html

相关文章

前端返回 List<Map<String, Object>>中的vaue值里面包含一个Bigdecimal类型,序列化时小数点丢失,如何解决?

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

vite.config.js

Vue3vite vite和webpack区别? 1.vite服务器启动速度比webpack快,由于vite启动的时候不需要打包,也就无需分析模块依赖、编译,所以启动速度非常快。当浏览器请求需要的模块时,再对模块进行编译,这种按需动态…

数据库管理工具 DBeaverUE for Mac激活版

DBeaverUE for Mac是一款功能强大且易于使用的数据库管理工具,专为Mac用户设计。它支持多种数据库类型,如MySQL、PostgreSQL、Oracle等,使得用户可以轻松管理和操作各种数据库。 软件下载:DBeaverUE for Mac激活版下载 DBeaverUE …

如何实现微信小程序引导组件【添加到我的小程序】+ 附源码

使用 uni-app 实现 微信小程序引导组件,点击按钮,弹窗引导用户【添加到我的小程序】 具体效果如下(文后附源码): 源代码 微信小程序引导组件【添加到我的小程序】

业务网关的设计与实践

在过去的两年里,主要在做业务网关的开发。今年春节后选择转岗去做更偏近业务的开发。公司的业务是金融相关,一直觉得金融相关的业务是有一定门槛并且是对职业生涯有帮助的,所以趁这个机会来深入了解这块业务。 仔细回想,在做业务…

Codeforces Round 930 (Div. 2) ---- E. Pokémon Arena ---- 题解

E. Pokmon Arena: 题目大意: 思路解析: 可以想到的是,可以用最短路来解决这个问题,但是如果简单的建图的话,时间复杂度将会达到 O(n*n*m),我们考虑怎么减少图中边的个数。 我们考虑一个颜色&…

KamaCoder 46. 携带研究材料(第六期模拟笔试)

题目描述 小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的空间&#xff0…

利用Spark将Kafka数据流写入HDFS

利用Spark将Kafka数据流写入HDFS 在当今的大数据时代,实时数据处理和分析变得越来越重要。Apache Kafka作为一个分布式流处理平台,已经成为处理实时数据的事实标准。而Apache Spark则是一个强大的大数据处理框架,它提供了对数据进行复杂处理…