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

专栏导读

  • 作者简介:工学博士,高级工程师,专注于工业软件算法研究
  • 本文已收录于专栏:有限元编程从入门到精通》本专栏旨在提供 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.rhkb.cn/news/296787.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我与C++的爱恋:内联函数,auto

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:我与C的爱恋 ​ 一、内联函数 1.内联函数的概念 内联函数目的是减少函数调用的开销,通过将每个调用点将函数展开来实现。这种方法仅适用于那些函数体小、调用频繁的函数。 …

【JavaWeb】百度地图API SDK导入

百度地图开放平台 | 百度地图API SDK | 地图开发 (baidu.com) 登录注册,创建应用,获取AK 地理编码 | 百度地图API SDK (baidu.com) 需要的接口一:获取店铺/用户 所在地址的经纬度坐标 轻量级路线规划 | 百度地图API SDK (baidu.com) 需要的…

java-ssm-jsp-旅游景点数据库管理系统

java-ssm-jsp-旅游景点数据库管理系统 获取源码——》哔站搜:计算机专业毕设大全 获取源码——》哔站搜:计算机专业毕设大全

自定义树形筛选选择组件

先上效果图 思路:刚开始最上面我用了el-input,选择框里面内容用了el-inputel-tree使用,但后面发现最上面那个可以输入,那岂不是可以不需要下拉就可以使用,岂不是违背了写这个组件的初衷,所以后面改成div自定…

5.vector容器的使用

文章目录 vector容器1.构造函数代码工程运行结果 2.赋值代码工程运行结果 3.容量和大小代码工程运行结果 4.插入和删除代码工程运行结果 5.数据存取工程代码运行结果 6.互换容器代码工程运行结果 7.预留空间代码工程运行结果 vector容器 1.构造函数 /*1.默认构造-无参构造*/ …

StarRocks实战——携程火车票指标平台建设

目录 前言 一、早期OLAP架构与痛点 二、指标平台重构整体设计 2.1 指标查询过程 2.1.1 明细类子查询 2.1.2 汇总类子查询 2.1.3 “缓存” 2.2 数据同步 三、Starrocks使用经验分享 3.1 建表经验 3.2 数据查询 3.3 函数问题 四、查询性能大幅提升 五、 后续优化方…

C++实现二叉搜索树的增删查改(非递归玩法)

文章目录 一、二叉搜索树的概念结构和时间复杂度二、二叉搜索树的插入三、二叉搜索树的查找四、二叉搜索树的删除(最麻烦,情况最多,一一分析)3.1首先我们按照一般情况下写,不考虑特殊情况下4.1.1左为空的情况&#xff…

多线程--深入探究多线程的重点,难点以及常考点线程安全问题

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

C语言交换二进制位的奇数偶数位

基本思路 我们要先把想要交换的数的二进制位给写出来假如交换13的二进制位,13的二进制位是 0000 0000 0000 0000 0000 0000 0000 1101然后写出偶数位的二进制数(偶数位是1的) 1010 1010 1010 1010 1010 1010 1010 1010然后写出奇数位的二进…

2012年认证杯SPSSPRO杯数学建模C题(第一阶段)碎片化趋势下的奥运会商业模式全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 C题 碎片化趋势下的奥运会商业模式 原题再现: 从 1984 年的美国洛杉矶奥运会开始,奥运会就不在成为一个“非卖品”,它在向观众诠释更高更快更强的体育精神的同时,也在攫取着巨大的商业价值&#…

Spring Boot Mockito (三)

Spring Boot Mockito (三) 这篇文章主要是讲解Spring boot 与 Mockito 集成测试。 前期项目配置及依赖可以查看 Spring Boot Mockito (二) - DataJpaTest Spring Boot Mockito (一) - WebMvcTest Tag("Integration") SpringBootTest // TestMethodOrder(MethodOr…

go 指针和内存分配

定义 了解指针之前,先讲一下什么是变量。 每当我们编写任何程序时,我们都需要在内存中存储一些数据/信息。数据存储在特定地址的存储器中。内存地址看起来像0xAFFFF(这是内存地址的十六进制表示)。 现在,要访问数据…

程序员们应注意的行业特有的法律问题

大家好,我是不会魔法的兔子,是一枚执业律师,持续分享技术类行业项目风险及预防的问题。 一直以来兔子都在以大家做项目时候会遇到的风险问题做分享,最近有个念头一直挥之不去,就是要不要给我们广大的程序员们也分享一…

【接口】HTTP(1)|请求|响应

1、概念 Hyper Text Transfer Protocol(超文本传输协议)用于从万维网(就是www)服务器传输超文本到本地浏览器的传送协议。 HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和…

【C++练级之路】【Lv.18】哈希表(哈希映射,光速查找的魔法)

快乐的流畅:个人主页 个人专栏:《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火,在为久候之人燃烧! 文章目录 引言一、哈希1.1 哈希概念1.2 哈希函数1.3 哈希冲突 二、闭散列2.1 数据类型2.2 成员变量2.3 默认成员函数2.…

【yy讲解PostCSS是如何安装和使用】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

深度学习:神经网络模型的剪枝和压缩简述

深度学习的神经网路的剪枝和压缩,大致的简述, 主要采用: network slimming,瘦身网络... 深度学习网络,压缩的主要方式: 1.剪枝,nerwork pruing, 2.稀疏表示,sparse rep…

KV260 BOOT.BIN更新 ubuntu22.04 netplan修改IP

KV260 2022.2设置 BOOT.BIN升级 KV260开发板需要先更新BOOT.BIN到2022.2版本,命令如下: sudo xmutil bootfw_update -i “BOOT-k26-starter-kit-202305_2022.2.bin” 注意BOOT.BIN应包含全目录。下面是更新到2022.1 FW的示例,非更新到2022.…

八数码问题——A*算法的应用(A-Star)

文章目录 1 问题描述2 启发式搜索3 A*算法3.1 参考网址3.2 是什么3.3 为什么A*算法适用于八数码问题3.4 A* 算法的基本框架 4 A* 算法如何解决八数码问题4.1 八数码状态的存储4.2 启发式函数4.3 构造目标状态元素位置的字典4.4 在二维列表中查找目标元素4.5 A* 算法主体4.6 路径…

Git 术语及中英文对照

完毕!!感谢您的收看 ----------★★历史博文集合★★---------- 我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字…