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

news2024/11/18 3:49:39

专栏导读

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PTA题解 --- 天梯赛的赛场安排(C语言)

今天是PTA题库解法讲解的第八天,今天我们要讲解天梯赛的赛场安排,题目如下: 解题思路: 这个问题的关键在于高效地为参赛学校的队员分配赛场,同时满足给定的条件。我们可以通过以下步骤解决这个问题: 存储每…

[C#]OpenCvSharp使用HoughCircles霍夫圆检测算法找出圆位置并计数

【效果展示】 原图: 找出位置: 【测试环境】 vs2019,netframework4.7.2,opencvsharp4.8.0 【函数用法】 cv2提供了一种圆检测的方法:HoughCircles。该函数的返回结果与参数设置有很大的关系。 检测的图像时9枚钱币,分别使用了…

fiverr是什么?fiverr续费订阅充值教程?

一、什么是Fiverr Fiverr是国际上非常有名的自由职业在线平台,汇聚了大大小小200多个类别的超过80万的自由职业者,网站用户活跃度非常高,发展至今也已经成为一个全球性外包服务平台。Fiverr最初是由Micha Kaufman和Shai Wininger于2010年创立…

注意力机制篇 | YOLOv8改进之添加LSKAttention大核卷积注意力机制 | 即插即用,实现有效涨点

前言:Hello大家好,我是小哥谈。LSKAttention是一种注意力机制,它在自然语言处理领域中被广泛应用。LSKAttention是基于Transformer模型中的Self-Attention机制进行改进的一种变体。在传统的Self-Attention中,每个输入序列中的元素都会与其他元素进行交互,以获取全局的上下…

fastadmin学习08-查询数据渲染到前端

index.php查询,这个是前台的index.php public function index() {$slideImgs Db::name("slideimg")->where("status",,normal)->limit(5)->order(sort,desc)->select();$productList Db::name("product")->where(…

AI绘画:Stable Diffusion的高效操作界面,ComfyUI:安装和使用篇

前言 Stable Diffusion(简称SD)是一款强大的AI绘画工具,通常通过Web UI操作界面进行使用。然而,对于那些寻求更高效率和个性化工作流的用户来说,ComfyUI提供了一个基于节点流程的操作界面,使得工作流定制更…

【现代控制】线代基础

连续系统 连续系统状态空间离散化 其中:

Go——函数

一. 函数定义 1.1 特点 无需声明原型支持不定变参支持多返回值支持命名返回参数支持匿名函数和闭包函数也是一种类型,一种函数可以赋值给变量不支持嵌套,一个包不能有两个名字一样的函数不支持重载不支持默认参数 1.2 函数声明 函数声明包含一个函数名&…

【ESP32S3 Sense接入语音识别+MiniMax模型+TTS模块语音播报】

【ESP32S3 Sense接入语音识别MiniMax模型TTS模块语音播报】 1. 前言2. 功能模块概述2.1 语音接入2.2 大模型接入2.3 TTS模块接入 3. 先决条件3.1 环境配置3.2 所需零件3.3 硬件连接步骤 4. 核心代码4.1 源码分享4.2 代码解析 5. 上传验证5.1 对话测试5.2 报错 6. 总结 1. 前言 …

Zabbix6 - Web管理网络拓扑/端口流量监控配置手册

Zabbix6 - Web管理网络拓扑/端口流量监控配置手册 概述: 1)Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 Zabbix由两部分构成,Zabbix Server与可选组件Zabbix Agent。通过C/S模式采集数据,通过B…

element-ui divider 组件源码分享

今日简单分享 divider 组件,主要有以下两个方面: 1、divider 组件页面结构 2、divider 组件属性 一、组件页面结构 二、组件属性 2.1 direction 属性,设置分割线方向,类型 string,horizontal / vertical&#xff0…

《QT实用小工具·九》设备按钮控件

1、概述 源码放在文章末尾 该项目实现了设备按钮控件,主要包含如下功能: 可设置按钮样式 圆形、警察、气泡、气泡2、消息、消息2。可设置按钮颜色 布防、撤防、报警、旁路、故障。可设置报警切换及对应报警切换的颜色。可设置显示的防区号。可设置是否…

【多线程】震惊~这是我见过最详细的ReentrantLock的讲解

一.与synchronized相比ReentrantLock具有以下四个特点: 可中断:synchronized只能等待同步代码块执行结束,不可以中断,强行终断会抛出异常, 而reentrantlock可以调用线程的interrupt方法来中断等待,继续执行下面的代码。 在获取锁…

学浪m3u8视频解密

学浪的m3u8中的key进行了加密,而且还是难度比较高的vmp,为了让非程序专业用户能够下载学浪的视频,这里将学浪key解密和学浪获取课程集成在一个软件 小浪助手:专门下载学浪视频而生 小浪助手我打包在一起 链接:https://pan.baid…

【信号处理】基于变分自编码器(VAE)的图片典型增强方法实现

关于 深度学习中,经常面临图片数据量较小的问题,此时,对数据进行增强,显得比较重要。传统的图片增强方法包括剪切,增加噪声,改变对比度等等方法,但是,对于后端任务的性能提升有限。…

Redis 主从复制,哨兵模式,集群

目录 主从复制 主从复制 作用 缺陷 主从复制流程 实现Redis主从复制 哨兵模式 主从复制切换的缺点 哨兵的核心功能 哨兵模式原理 哨兵模式的作用 哨兵结构组成 故障转移机制 主节点的选举 实现哨兵模式 集群(Cluster) redis群集有三种模式,主从复制…

解决PDF打开后显示名称与文档名称不一致的问题【不需要word模板!!!】

文章目录 简介原因解决办法参考资料 简介 最近,博主在使用Acobat打开一个PDF文件的时候发现:打开后的PDF文件标签跟该文件的存储名称不一致。这是一件令人并不十分愉快和顺心的事情,网上搜索得到的解决办法基本上都是出奇的相似,…

css心跳动画

图标引入 <img class"icon" src"heart.svg" alt"" srcset""> CSS代码 <style>.icon {animation:bpm 1s linear,pulse 0.75s 1s linear infinite;}keyframes pulse {from,75%,to {transform: scale(1);}25% {transform:…

趣学前端 | 类,我想好好继承它的知识点

背景 最近睡前习惯翻会书&#xff0c;重温了《JavaScript权威指南》。这本书&#xff0c;文字小&#xff0c;内容多。两年了&#xff0c;我才翻到第十章。因为书太厚&#xff0c;平时都充当电脑支架。 JavaScript 类 话说当年类、原型、继承&#xff0c;差点给我绕晕。 在J…

生成式AI的情感实验——AI能否产生思想和情感?

机器人能感受到爱吗&#xff1f;这是一个很好的问题&#xff0c;也是困扰了科学家们很多年的科学未解之谜。虽然我们尚未准备好向智能机器赋予情感&#xff0c;但智能机器却已经可以借助生成式人工智能&#xff08;AI&#xff09;来帮助我们表达自己的情感。 自然情感表达 AI正…