当前课程知识点:有限元分析及应用 > 第7讲 杆、梁结构的有限元分析 > 7.1 局部坐标系中的杆单元构建及MATLAB编程 > Video 7.1
同学们好
首先回顾一下上一讲的主要内容
上一讲我们学习了
基于试函数的经典方法和有限元方法
有限元方法中的自然离散和逼近离散
有限元方法的基本步骤
以及试函数经典方法及有限元方法的比较
这一讲我们将介绍
杆单元构建及MATLAB编程
局部坐标系中间的平面纯弯梁构建
及MATLAB编程
局部坐标系中的一般梁单元的构建
梁单元的坐标变换
分布力的处理
门型框架结构的实例分析及MATLAB的编程
最后我们将介绍门型框架结构的ANSYS分析实例
下面构造杆单元
以及进行杆单元的MATLAB编程
单元研究主要要点就是节点描述
单元上的场描述
然后应用最小势能原理或者虚功原理
来建立单元的方程
对于杆单元来说
两个节点
节点1、节点2
它的长度为l
它的横截面面积为A
弹性模量为E
那么节点1的节点位移为u1,节点力为P1
节点2的位移为u2,节点力为P2
那么我们节点的基本变量
首先是几何坐标
在我们局部坐标系里面
也就是说我们把零点设在节点1
然后沿着这个单元的轴向设为x轴
那么我们节点1坐标就是x1=0
节点2就是x2=l
节点位移呢,节点1是u1,节点2是u2
我们把它写成一个列向量qe
可以看出来它是具有两个自由度的节点位移
节点力,同样我们把P1,P2写成一个列向量
我们记为Pe
注意一下,为了表达是单元的参数
所以我们在长度、横截面面积、弹性模量上
我们加了一个element的上标
下面进行单元上的场描述
场的描述也涉及到三大类变量
第一个是位移场
那么位移场要基于节点的位移来进行描述
所以说我们要取位移模式
这个位移模式里的待定系数
要和我们节点的位移值的个数要形成一定的关系
那么我们确定位移模式的两个原则
就是唯一确定性原则
还有一个是从低阶到高阶取多项式
那么我们两个节点,所以说我们取a0和a1
两个系数
那么节点条件u(x)在x=0的时候
它要等于u1
在x=l的时候要等于u2
我们把节点条件代到位移模式里去
就可以把两个待定系数,就是a0和a1
分别求出来
那求出来的这个待定系数再代回位移模式的函数中
我们最后获得的位移场的函数的描述就是
那么我们把u1和u2分别整理一下
我们把u1整理到一块就是1减x除上l
u2呢,前面的系数就是x除上l
那么我们把u1和u2写成节点的列向量,就是qe
那前面的这两项同样也写成两项
就是1减x除上l
另外还有一项是x除上l
这两项就组成形状函数矩阵
当我们得到了位移场的描述以后
我们由几何方程来求应变场
那么我们几何方程对于一维问题来说
它就是对位移求一阶导数
针对x求一阶导数以后
我们就得到了这么一个关系
同样我们把它分别写成两个向量相乘
一个是节点的向量,就是u1,u2
另外还有前面的系数
前面这个系数我们称为B(x)矩阵
那么这个B(x)矩阵很显然
它是针对我们前面位移场函数中的N(x)
求一阶导数所得到的
由几何方程得到了应变场函数以后
我们再来由物理方程求应力场函数
那对于一维问题来说
就是将应变再乘上一个弹性模量就可以得到应力
那么我们得到的表达就是在原来的基础上
前面乘一个弹性模量
同样我们也把它表达成基于节点的位移描述
前面乘上一个相应的矩阵
这个矩阵我们做出来就叫作应力矩阵
具体的表达就是两项
一个是负E除上l
另外还有一项是E除上l
在得到了单元的场的表达的基础上
我们来应用最小势能原理求取单元的描述
也就是单元的刚度方程
那么我们要算一下单元的应变能
应变能对于一维问题来说很简单
它就是应力乘上应变,在整个单元的域里积分
当然前面还有一个1/2
那么我们分别把应力和应变基于节点的描述
也就是说基于q的描述,分别代进去
就得到这么一个表达
注意,我们一维问题里面
应力和应变实际上是单独的两项
所以它就是直接相乘
那对于具有很多分项的应力和应变
两个相乘的话,前面一个一定要转置
才能和后面一个相乘,和对应的项数相乘
那么我们把前面的表达代进去以后
我们再整理一下就可以得到
基于节点的位移的描述
前面是节点位移的转置,后面是节点位移
那么中间这个是一个2X2的矩阵
我们把中间这个矩阵叫作Ke
也叫作单元刚度矩阵
它具体算出来就是
这是一个2X2的矩阵
外力功,对于杆单元来说
两个节点力,也就是P1、P2
分别乘上对应的节点位移
也就是u1和u2
这就是外力功
那么我们把它写成一个矩阵形式
同样也是P矩阵转置乘上一个q矩阵
这个q矩阵就是我们的节点位移
前面这个P矩阵就是P1和P2,就是节点力
在得到了应变能和外力功的表达
我们利用最小势能原理
最小势能原理它要计算这个单元的势能
单元的势能就是应变能减外力功
把这个应变能和外力功分别代进去
就得到这个表达
那么这个单元的势能函数取极小值
由于我们的基本变量是节点位移q
所以说取极值就是针对q来求一阶导数
让它等于0
这样我们就得到了
当然这是单元的
那么这个K就是2X2的
q是节点位移,是2X1的
P是节点力,也是2X1的
这就是单元的刚度方程
我们用虚功原理来构建杆单元的刚度方程
那么虚功原理涉及虚位移
对于节点位移来说,我们是qe
那么虚节点位移就是δqe
这个δ表明是对节点位移有一个微小的变化
那么下面我们来计算单元的虚应变能
单元的虚应变能就是δU
它是等于应力乘上一个虚应变
然后对整个单元这个域进行积分
应力我们前面已经得到了这个表达
它也可以表达成节点位移的这么一个关系
虚应变我们在应变前面加上一个δ
让它作一个微小的变化
同样这个δ也作用在虚的节点位移上
也就是说δq
把这两项代进去以后
我们同样可以得到这么一个表达
前面是节点位移,后面是虚的节点位移
中间这个和前面一样叫Ke矩阵
那么这个Ke矩阵算出来也是这样的
也是一个2X2的
单元的虚外力功同样也是这样的
就是由节点力乘上对应节点的虚位移
那这样我们同样可以表达成
节点位移的列向量转置乘上虚的节点位移δq
那么由虚功原理
虚应变能等于虚外力功
那么我们把前面已经得到的这两项分别代进去
我们就可以得到这么一个方程
这个方程两边都有一个虚节点位移δq
那么我们把它移项
最后写成这么一个表达,它要等于0
由于虚位移
当然这个地方的虚位移是节点的虚位移
它也是具有任意性,不恒为零
要使得的这个关系恒为零
就让前面这一项为0
当然我们把它转置一下
就得到了我们常规的单元的刚度方程
那可以看出
虚功原理和最小势能原理得到的结果
也就是说得到的单元的刚度方程是一样的
对于杆单元
我们前面构建了局部坐标系的单元的刚度方程
那么下面我们讨论一下杆单元的坐标变换
首先对于2D问题
我们局部坐标系ox上面的节点位移u1,u2
整体坐标系我们是xoy,上面带一横
那它的分别的节点位移分量是u1,u2还有v1,v2
分别上面带一横
那么我们把整体坐标系的节点位移分量
向局部坐标系上节点位移进行投影
我们就有这么一个投影的关系
我们把投影关系写成矩阵形式
也就是把u1,u2写成一个列向量
这样我们就得到这么一个转换矩阵乘上一个
节点位移列阵的这么一个关系
其中这个Te就是2D问题单元的坐标转换矩阵
它是cosα,sinα组成的2X4的矩阵
对于3D问题我们也可以得到类似的坐标转换矩阵Te
这个Te是一个2X6的
它是两两坐标轴之间的方向余弦
组成的这么一个2X6的矩阵
有了局部坐标和整体坐标的节点位移的坐标转换关系
我们来计算一下单元的势能
单元的势能大家都知道
势能是一个标量,它和坐标系选择是无关的
所以我们先基于局部坐标系写出单元的势能
也就是说单元的应变能和外力功
然后再把单元的节点位移的刚才的坐标变换
把它从局部坐标变换到整体坐标
变换以后我们就得到基于整体坐标q一横的
应变能减外力功的描述
这个时候中间应变能的矩阵K一横
就是整体坐标系下的刚度矩阵
它就等于T矩阵转置
乘上原来局部坐标系下的K矩阵
再乘上一个转换矩阵T
这样我们就得到这么一个4X4的整体坐标系下的刚度矩阵
同样在整体坐标系的节点力
也是在局部坐标系的节点力的基础上
前乘一个坐标变换阵的转置
对于一维的杆单元
我们用MATLAB来实现它的整个计算的流程
主要有4个MATLAB函数
一个是Stiffness,计算刚度矩阵的
第二个是进行刚度矩阵的装配,叫Assembly
第三个是单元应力的计算,叫Stress
最后一个是单元节点力的计算的函数,叫Force
在MATLAB程序里面
我们这四个实现1D杆单元分析的MATLAB函数Stiffness
它是计算单元的刚度矩阵
输入弹性模量E,横截面面积A和长度L
输出2X2的刚度矩阵K
对于单元组装的函数Assembly
它主要是输入单元的刚度阵K
单元的节点编号i,j
输出整体刚度矩阵KK
对于单元应力计算的函数
它输入单元刚度矩阵K
单元的位移列阵u
以及横截面面积A
输出单元的应力Stress
对于Force这个函数
它是输入单元的刚度矩阵K和单元的位移列阵u
最后可以输出单元节点力的分量Force
对于2D杆单元
它的MATLAB程序也是有四个MATLAB函数
这个和前面不同的地方是有一个坐标变换
同样也是Stiffness,Assembly,Stress,Force这四个函数
对于Stiffness函数,它是计算单元的刚度矩阵
输入弹性模量,横截面面积
输入第一个节点的坐标x1,y1
第二个节点的坐标x2,y2
同样还有一个单元的倾角α
当然这个α其实是可以通过这两个节点来进行计算的
那输出是单元的刚度矩阵
是一个4X4的
对于Assembly这个函数
它是进行单元刚度矩阵的组装
需要输入单元的刚度矩阵K
单元的节点编号i,j
最后输出的是整体的刚度矩阵KK
对于Stress函数,它是计算单元的应力
需要输入弹性模量E
第一个节点坐标还有第二个节点坐标
同样也要输入单元的角度α以及单元节点的位移矢量u
它是计算单元的应力Stress
对于Force这个函数
它是计算单元的应力
输入弹性模量E,横截面面积A
输入第一个节点坐标和第二个节点的坐标
以及这个单元的轴线和整体坐标的角度α
还需要输入单元节点的位移矢量u
它计算单元的节点力Force
我们采用MATLAB编程来进行一个四杆桁架结构的分析
我们这个例子是选用知识点2.4中间的四杆结构
首先还是对这个结构进行离散化和编号
离散化的过程和编号和知识点2.4的相同
我们需要输出弹性模量、横截面面积、四个点的坐标
以及各个单元的α角度
然后分别针对单元1,2,3,4调用四次Stiffness
就是单元的刚度阵计算
这样就可以得到单元的刚度矩阵
那么这是MATLAB窗口的输入、输出情况
那么我们可以看见
这是弹性模量、横截面面积
以及节点1、2、3、4的坐标
以及几个单元的α角
那么这是第一次调用Stiffness计算单元1的刚度阵
这是第二次调用,这是计算单元2的刚度阵
这是第三次、第四次
在得到单元的刚度矩阵以后
我们就要建立整体的刚度方程
由于这个结构有四个节点
那么我们总的刚度矩阵
因为每个节点是两个自由度
所以它是8X8的
首先对整体刚度矩阵进行清零
然后四次调用函数Assembly
也就是说每个单元调用一次
每一次调用过后就进行单元的组装
那么我们看看KK=zeros(8,8)这是清零
然后分别调用四次,针对k1,k2,k3,k4
进行整体的组装
那么这是组装以后的整体刚度阵的输出情况
我们下面进行边界条件的处理
我们看下对于节点1和节点4
它x方向和y方向完全固定
对节点2,y方向是约束的
所以说是u1,v1还有v2,以及u4,v4分别等于0
那对于我们总的节点位移q
从u1,v1一直到u4,v4
那么就让对应的位置为0
就是处理它的刚度方程
实际上就是把所对应的行和列划掉
总的节点力包含节点的支反力
以及所施加的外力
我们叫总的节点力
那对于节点1来说它实际上是x方向和y方向的支反力
对于节点2来说x方向它是外加的力
y方向是支反力
对于节点3来说,x方向外加的力为0
y方向施加了一个-25000N的力
对于节点4来说这两个方向的力都是支反力
那么我们调用MATLAB的总体刚度矩阵
我们把处理边界条件以后
剩下的节点2的x方向还有节点3的x方向和y方向
我们把它对应的刚度矩阵里面对应的数
把它这个矩阵,实际上就是3X3的,给取出来
然后把这个矩阵求逆,再乘上对应的节点力
这样我们就获得了节点2的x方向和
节点3的x方向和y方向的节点位移
再把原来零边界条件的几个节点位移填进去
这样我们就得到整体的
所有节点位移的节点的分量的值
支反力的计算
首先我们把总的节点位移列出来
将总的节点位移乘上总的刚度阵
这样就得到所有的节点力的结果
这个所有的节点力的结果也包括
外面施加的节点力还有我们的支反力
当然你要看相应的位置
那么按照对应的关系
我们就得到相应的支反力
也就是说是1号节点的x方向和y方向的支反力
还有4号节点x方向和y方向的支反力
以及2号节点y方向的支反力
最后我们需要计算各个单元的应力
那么各个单元的应力只需要从整体的节点位移列阵q
提出你所需要求的单元的位移
把它的列阵取出来
然后再调用单元的应力函数Stress
就可以计算各个单元的应力
当然也可以调用Force来计算单元的集中的力
这就是分别针对单元1所计算的单元的应力
这是单元2的单元应力
这是单元3、单元4
-有限的单元 无限的能力
--Video
-课程大纲
--课程大纲
-第一章第一节测试题
-1.1 力学的分类:质点、刚体、变形体的力学
-第一章第二节测试题
-1.2 变形体力学的要点
-第一章第三节测试题
-1.3 微分方程求解的方法
--勘误
-第一章第四节测试题
-1.4 关于函数逼近的方式
-第一章第五节测试题
-1.5 针对复杂几何域上的函数表征及逼近
-第一章第六节测试题
-1.6 有限元的核心:针对复杂几何域的分片函数逼近
-第一章第七节测试题
-1.7 有限元发展的历史和软件
-课后讨论
--讨论题
-课后练习
-第二章第一节测试题
-2.1 弹簧的力学分析原理
-第二章第二节测试题
-2.2 弹簧单元与杆单元的比较
-第二章第三节测试题
-2.3 杆单元的坐标变换
-第二章第四节测试题
-2.4 一个四杆结构的实例分析
-2.5 四杆结构的ANSYS实例分析
--ANSYS
-课后讨论
--讨论题
-第三章第一节测试题
-3.1 力学描述的基本思路及关于变形体材料的基本假设
-第三章第二节测试题
-3.2 指标记法
-第三章第三节测试题
-3.3 关于三大变量及三大方程的思路
-第三章第四节测试题
-3.4 平面问题的平衡方程构建
-第三章第五节测试题
-3.5 平面问题的几何方程构建
--勘误
-第三章第六节测试题
-3.6 平面问题的物理方程构建
-第三章第七节测试题
-3.7 两类边界条件
-课后讨论
--讨论题
-第四章第一节测试题
-4.1 几种特殊情况的讨论
--勘误
-第四章第二节测试题
-4.2 简单拉杆问题的完整弹性力学求解
-第四章第三节测试题
-4.3 平面纯弯梁的描述及求解
-第四章第四节测试题
-4.4 空间弹性问题的完整描述
--勘误
-第四章第五节测试题
-4.5 关于张量的描述及理解
-课后讨论
--讨论题
-第五章第一节测试题
-5.1 变形体力学方程求解的主要方法分类及试函数方法
-第五章第二节测试题
-5.2 平面弯曲梁求解的试函数方法-残值处理法
-第五章第三节测试题
-5.3 如何降低对试函数的高阶导数的要求
-第五章第四节测试题
-5.4 平面弯曲梁求解的虚功原理
-第五章第五节测试题
-5.5 平面弯曲梁求解的最小势能原理的变分基础
-第五章第六节测试题
-5.6 一般弹性问题的能量原理
-课后讨论
--讨论题
-第六章第一节测试题
-6.1 基于试函数的经典方法与有限元方法
-第六章第二节测试题
-6.2 有限元方法中的自然离散与逼近离散
-第六章第三节测试题
-6.3 有限元方法中的基本步骤
-第六章第四节测试题
-6.4 经典方法及有限元方法的比较
-课后讨论
--讨论题
-第七章第一节测试题
-7.1 局部坐标系中的杆单元构建及MATLAB编程
-第七章第二节测试题
-7.2 局部坐标系中的平面纯弯梁单元构建及MATLAB编程
-第七章第三节测试题
-7.3 局部坐标系中的一般梁单元构建(组装)
-第七章第四节测试题
-7.4 梁单元的坐标变换
-第七章第五节测试题
-7.5 分布力的处理
-7.6 门型框架结构的实例分析及MATLAB编程
--【知识点7.6】 门型框架结构的实例分析及MATLAB编程(PDF)
-7.7 门型框架结构的ANSYS实例分析
--【知识点7.7】 ANSYS算例-门型框架结构有限元GUI操作与命令流(PDF)
-课后讨论
--讨论题
-第八章第一节测试题
-8.1 平面3节点三角形单元及MATLAB编程
-第八章第二节测试题
-8.2 平面4节点矩形单元及MATLAB编程
-第八章第三节测试题
-8.3 轴对称单元
-第八章第四节测试题
-8.4 分布力的处理
-8.5 平面矩形薄板分析的MATLAB编程
--【知识点8.5】 平面矩形薄板分析的MATLAB编程(PDF)
-8.6 平面矩形薄板的ANSYS实例分析
--【知识点8.6】 ANSYS算例-平面矩形薄板有限元GUI操作与命令流(PDF)
-课后讨论
--讨论题
-第九章第一节测试题
-9.1 空间4节点四面体单元及MATLAB编程
-第九章第二节测试题
-9.2 空间8节点正六面体单元及MATLAB编程
-第九章第三节测试题
-9.3 参数单元的原理
-第九章第四节测试题
-9.4 数值积分
-9.5 典型空间问题的MATLAB编程
--【知识点9.5】 典型空间问题的MATLAB编程(PDF)
-9.6 典型空间问题的ANSYS分析实例
--【知识点9.6】 ANSYS算例-典型空间问题有限元GUI操作与命令流(PDF)
-课后讨论
--讨论题
-第十章第一节测试题
-10.1 节点编号与存储带宽
-第十章第二节测试题
-10.2 形状函数矩阵与刚度矩阵的性质
-第十章第三节测试题
-10.3 边界条件的处理与支反力的计算
-第十章第四节测试题
-10.4 位移函数构造与收敛性要求
-第十章第五节测试题
-10.5 C0单元与C1单元
-第十章第六节测试题
-10.6 单元的拼片试验
-第十章第七节测试题
-10.7 有限元分析数值解的精度与性质
-第十章第八节测试题
-10.8 单元应力计算结果的误差与平均处理
-第十章第九节测试题
-10.9 控制误差和提高精度的h方法和p方法
-课后讨论
--讨论题
-第十一章第一节测试题
-11.1 1D高阶单元
-第十一章第二节测试题
-11.2 2D高阶单元
-第十一章第三节测试题
-11.3 3D高阶单元
-第十一章第四节测试题
-11.4 基于薄板理论的弯曲板单元
-第十一章第五节测试题
-11.5 子结构与超级单元
-课后讨论
--讨论题
-第十二章第一节测试题
-12.1 结构振动的有限元分析:基本原理
-第十二章第二节测试题
-12.2 结构振动的有限元分析实例
-第十二章第三节测试题
-12.3 弹塑性问题的有限元分析:基本原理
-第十二章第四节测试题
-12.4 弹塑性问题的有限元分析:非线性方程求解
-课后讨论
--讨论题
-第十三章第一节测试题
-13.1 传热问题的有限元分析:基本原理
-第十三章第二节测试题
-13.2 传热问题的有限元分析实例
-第十三章第三节测试题
-13.3 热应力问题的有限元分析:基本原理
-第十三章第四节测试题
-13.4 热应力问题的有限元分析实例
-课后讨论
--讨论题
-【基本建模Project1】2D问题:带孔平板的有限元分析
--Doc I-1
-【基本建模Project2】3D问题:花型卡盘网格划分的控制
--Doc I-2
-【应用建模Project3】振动模态分析:斜拉桥的模态分析
--Doc I-3
-【应用建模Project4】弹塑性分析:厚壁圆筒受内压的弹塑性分析
--Doc I-4
-【应用建模Project5】传热分析:钢制圆柱冷却过程温度场的瞬态问题
--Doc I-5
-【应用建模Project6】热应力分析:桁架结构的温度及装配应力分析
--Doc I-6
-【高级建模Project7】结构的概率:大型液压机机架的概率设计分析
--Doc I-7
-【高级建模Project8】p方法的建模与应用:平面问题的p型单元建模与分析
--Doc I-8