有限元分析及运用课程笔记第二章:基于直接刚度法的杆系有限元方法
本笔记主要来源为清华大学公开课《有限元分析及应用》(曾攀、雷丽萍)。非常感谢两位老师深入浅出、循序渐进的讲解,部分图片、公式也出自该公开课。
我的专业是自动化控制,在空余时间学习这门课程并记录课程笔记只是出于兴趣。
我的评注内容都放在这种的引用块内,方便浏览时理解,如果存在错误欢迎与各位探讨。
笔记只供快速浏览或复习,实际学习建议观看原视频或参考相关资料,机械工程、力学有些问题问我也不会。
2.1 弹簧的力学分析原理
弹簧力和位移的关系:F=kδF=k\deltaF=kδ
其中,kkk为弹簧的刚度系数,FFF为作用在端点的力,δ\deltaδ为端点位移量
更一般地,对于弹簧整体受力分析有:
{k(u2−u1)=F2F1+F2=0\left\{ \begin{aligned} k(u_2-u_1) = F_2 \\ F_1+F_2 = 0 \end{aligned} \right. {k(u2−u1)=F2F1+F2=0
变换得到:
{k(u1−u2)=F1k(u2−u1)=F2(1)\left\{ \begin{aligned} k(u_1-u_2) = F_1 \\ k(u_2-u_1) = F_2 \end{aligned} \right. \tag{1} {k(u1−u2)=F1k(u2−u1)=F2(1)
我们可以将公式(1)改写为矩阵形式(弹簧的平衡方程):
[k−k−kk][u1u2]=[F1F2](2)\begin{bmatrix} k & -k \\ -k & k \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \end{bmatrix} = \begin{bmatrix} F_1 \\ F_2 \end{bmatrix} \tag{2} [k−k−kk][u1u2]=[F1F2](2)
同理,对于组装的弹簧在B点施加力F2F_2F2,我们有:
[k1−k1−k1k1][u1u2]=[F1F2−F12](3)\begin{bmatrix} k_1 & -k_1 \\ -k_1 & k_1 \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \end{bmatrix} = \begin{bmatrix} F_1 \\ F_2 - F_{12} \end{bmatrix} \tag{3} [k1−k1−k1k1][u1u2]=[F1F2−F12](3)
[k2−k2−k2k2][u2u3]=[F2+F12F3](4)\begin{bmatrix} k_2 & -k_2 \\ -k_2 & k_2 \end{bmatrix} \begin{bmatrix} u_2 \\ u_3 \end{bmatrix} = \begin{bmatrix} F_2 + F_{12} \\ F_3 \end{bmatrix} \tag{4} [k2−k2−k2k2][u2u3]=[F2+F12F3](4)
这里F12F_{12}F12指的是弹簧之间的相互作用力
将公式(3)与公式(4)相加可以得到:
[k1−k10−k1k1+k2−k20−k2k2][u1u2u3]=[F1F2F3](5)\begin{bmatrix} k_1 & - k_1 & 0 \\ - k_1 & k_1 + k_2 & -k_2 \\ 0 & -k_2 & k_2 \end{bmatrix} \begin{bmatrix} u_1 \\ u_2 \\ u_3 \end{bmatrix}= \begin{bmatrix} F_1 \\ F_2 \\ F_3 \end{bmatrix} \tag{5} ⎣⎡k1−k10−k1k1+k2−k20−k2k2⎦⎤⎣⎡u1u2u3⎦⎤=⎣⎡F1F2F3⎦⎤(5)
由于端点固定,u1=0,u3=0u_1 = 0,u_3 = 0u1=0,u3=0,由此可以得到:
(k1+k2)u2=F2(k_1+k_2)u_2=F_2 (k1+k2)u2=F2
我们就可以得到u2u_2u2了,并由此可以将F1、F2F_1、F_2F1、F2求出。
2.2 弹簧单元与杆单元的比较
我们知道杠单元的平衡关系为:
平衡方程:σ(x)=F/A平衡方程:\sigma(x) = F/A 平衡方程:σ(x)=F/A
物理方程:σ=Eε物理方程:\sigma = E \varepsilon 物理方程:σ=Eε
几何方程:ε(x)=δ/l几何方程:\varepsilon(x) = \delta/l 几何方程:ε(x)=δ/l
可以的得到:
F=AEl⋅δ(6)F = \frac{AE}{l} \cdot \delta \tag{6} F=lAE⋅δ(6)
令 k=AElk=\frac{AE}{l}k=lAE 就与弹簧关系一致!
2.3 杠单元的坐标变换
上面已经得到了局部坐标系下的杆单元描述
KeUe=Fe(7)K^eU^e=F^e\tag{7}KeUe=Fe(7)
其中
Ke=AEl[1−1−11]K^e=\frac{AE}{l}\begin{bmatrix}1&-1\\-1&1\end{bmatrix}Ke=lAE[1−1−11]
Ue=[u1u2]U^e=\begin{bmatrix}u_1\\u_2\end{bmatrix}Ue=[u1u2]
Fe=[F1F2]F^e=\begin{bmatrix}F_1\\F_2\end{bmatrix}Fe=[F1F2]
这里的 eee 是 element 的缩写,只是标记这是在局部坐标系,不是 eee 次方的意思
如果要在世界坐标系下处理,只要变换到世界坐标系下即可!
假定从世界坐标变换为局部坐标的坐标变换矩阵为 Tw→eT^{w \rightarrow e}Tw→e,那么有:
Ue=Tw→eUw(8)U^e = T^{w \rightarrow e} U^ w \tag{8} Ue=Tw→eUw(8)
我这里使用 www 标记为世界坐标,避免和 eee 混淆所以与课程标注不一致,但是推导思路和逻辑会完全保持一致
将 (8) 式代入 (7) 式,我们可以得到:
KeTw→eUw=FeK^e T^{w \rightarrow e} U^w = F^e KeTw→eUw=Fe
为了得到世界坐标下的力,我们只要左右同时乘以 Tw→e⊤{T^{w \rightarrow e}}^\topTw→e⊤(其实也就是Te→wT^{e \rightarrow w}Te→w),有
Tw→e⊤KeTw→e‾Uw=Tw→e⊤Fe‾KwUw=Fw(9)\underline{{T^{w \rightarrow e}}^\top K^e T^{w \rightarrow e}} U^w = \underline{{T^{w \rightarrow e}}^\top F^e} \\ K^w U^w = F ^ w \tag{9} Tw→e⊤KeTw→eUw=Tw→e⊤FeKwUw=Fw(9)
在世界坐标系下单元刚度矩阵为:
Kw=Tw→e⊤KeTw→eK^w = {T^{w \rightarrow e}}^\top K^e T^{w \rightarrow e} Kw=Tw→e⊤KeTw→e
世界坐标系下的节点力矩阵为:
Fw=Tw→e⊤FeF^w = {T^{w \rightarrow e}}^\top F^e Fw=Tw→e⊤Fe
我认为这里的变换其实只要得到 Tw→eT^{w \rightarrow e}Tw→e 就可以求到所有矩阵的实际值了。由于局部坐标系中杠的自由度为2(u1、u2u_1、u_2u1、u2),三维中杠的自由度为6(两个端点,每个端点三个坐标值),所以 Tw→eT^{w \rightarrow e}Tw→e 其实是一个 2×62 \times 62×6 的矩阵。
2.4 一个四杆结构的实例分析
题目如下:
解题思路为:
结构离散化与标号
一共有四个单元,四个节点,确定坐标轴,确定节点的世界坐标,得到每个单元的世界位置矩阵 UwU^wUw
各个单元矩阵描述
根据 Kw=Tw→e⊤KeTw→eK^w = {T^{w \rightarrow e}}^\top K^e T^{w \rightarrow e}Kw=Tw→e⊤KeTw→e ,得到每个单元的刚度矩阵,需要注意刚度矩阵中节点对应关系(即方程(9)KwUw=FwK^w U^w = F ^ wKwUw=Fw 的每项的关系)
建立世界坐标系刚度方程
类似方程(5)的获取方式按照对应节点编号进行组装,根据输入和约束可以确定节点力矩阵 FwF^wFw
求解刚度方程
我们已经得到了刚度方程的所有项,求解矩阵中的未知数。
2.5 软件模拟求解
略过
有限元分析及运用课程笔记第二章:基于直接刚度法的杆系有限元方法相关推荐
- 《数据结构与算法》课程笔记 第二章 2.2 查找
1. 查找基本概念 数据是如何组织的--查找表 查找表上如何查找--查找方法 1 对查找表的基本操作:增.删.查.改 查询某个数据元素是否在查找表中 检索某个数据元素的各种属性 在查找表中插入一个数据 ...
- Hinton机器学习与神经网络课程的第二章学习笔记
Hinton机器学习与神经网络课程的第二章学习笔记 该笔记为自己以后方便查阅,要是有大神感觉我的笔记有哪些地方记的有误差或者不对的话也欢迎指出 文章目录 Hinton机器学习与神经网络课程的第二章学习 ...
- 【王道考研】操作系统 笔记 第二章上 进程调度
本文内容,1.进程和线程 2.进程调度 特此鸣谢王道考研 本文参考王道考研的相关课程 若有侵权请联系,立删 其余笔记链接: [王道考研]操作系统笔记 第一章_才疏学浅743的博客-CSDN博客 [王道 ...
- 小吴的《机器学习 周志华》学习笔记 第二章 模型评估与选择
小吴的<机器学习 周志华>学习笔记 第二章 模型评估与选择 上一周我们介绍了第一章的基础概念,这一次将带来第二章的前三节.后面的2.4 比较检验与2.5 偏差与方差,涉及概率论与数理统计概 ...
- 《Go语言圣经》学习笔记 第九章 基于共享变量的并发
<Go语言圣经>学习笔记 第九章 基于共享变量的并发 目录 竞争条件 sync.Mutex互斥锁 syn.RWMutex读写锁 内存同步 syn.Once初始化 竞争条件检测 示例:并发的 ...
- 《计算传播学导论》读书笔记——第二章文本分析简介
<计算传播学导论>读书笔记--第二章文本分析简介 第一节 文本分析研究现状 常用文本挖掘技术 第二节 文本分析与传播学研究 (一)为什么文本挖掘技术逐渐受到传播学者的关注 (二)不同文本分 ...
- 小吴的《机器学习 周志华》学习笔记 第二章 2.4 比较检验、2.5 偏差与方差
小吴的<机器学习 周志华>学习笔记 第二章 2.4 比较检验. 2.5 偏差与方差 2.4 比较检验 上一周提到了实验的评价方法和性能量度,步骤简单可以看成:先使用某种实验评估方法测得学习 ...
- 统计学习方法笔记第二章-感知机
统计学习方法笔记第二章-感知机 2.1 感知机模型 2.2感知机学习策略 2.2.1数据集的线性可分型 2.2.2感知机学习策略 2.3感知机学习算法 2.3.1感知机算法的原始形式 2.3.2算法的 ...
- 深入理解 C 指针阅读笔记 -- 第二章
Chapter2.h #ifndef __CHAPTER_2_ #define __CHAPTER_2_/*<深入理解C指针>学习笔记 -- 第二章*//*内存泄露的两种形式1.忘记回收内 ...
最新文章
- 免费报名 | 机器学习的第二次入门(入群有福利)
- 自定义过滤器和自定义标签
- Activiti 中的 命令模式与责任链模式
- GetProcAddress()用法
- 代码创建listview android,android ListView 示例4 使用 SimpleAdapter 创建 ListView
- springBoot国际化多语言开发配置,中文OR英文支持一键切换
- R语言数据挖掘实战系列(2)
- DS18B20驱动编程
- 利用Delphi编写屏幕保护程序
- BP神经网络算法基本原理,基于bp的神经网络算法
- linux查看内存使用情况top详解
- 开源 android 播放器
- Jenkins+Newman+Postman生成接口自动化测试报告
- 罗杨美慧 20190919-4 单元测试,结对
- 深圳内推 | 香港中文大学(深圳)路广利老师招聘NLP方向研究助理
- Node.JS实战34:远程屏幕监控?可以的
- 51单片机ADC0832模数转换+ LCD1602显示+Proteus仿真
- 关于arpg以及act游戏中怪物设定的一些思考
- 源代码 一对一交友源码,一对一聊天系统接口处置方案
- [BOI2003]团伙
热门文章
- linux配置can驱动
- 联想计算机BIOS开启Intel-vx,各品牌电脑BIOS开启Intel VT-X虚拟化技术方法(华硕,联想,HP,技嘉等)...
- 笔记本计算机虚拟技术,教大家联想笔记本电脑如何打开Intel 虚拟化技术
- Aspose.Words 19.X 文档转换 反编译破解 Crack
- 初次上课的感想!!!!
- Mac M1 python 连点器脚本
- 模块说和神经网络学说_2021考研312统考心理学知识:大脑皮层与脑功能学说
- python opencv教程pdf_机器学习 使用OpenCV和Python进行智能图像处理.pdf
- 基于Python的数据采集系统
- 211计算机研究生公务员待遇,985,211毕业考公务员很浪费?太天真,这些好处他们自己都不知道...