平面桁架程序的计算原理及程序编制
理论力学求解器课件
例1
解:取图示坐标系。分别研究各刚体,受力情况如图b所示。给各刚 体编号,由于轮E受平面汇交力系作用,所以其编号排在最后。
输入数据文件:
输出数据文件:
4,11,1,0,0, 1
R(1)=10.000
10,270,3,0,4
R(2)=.000
1,2,1,2,1,2,2,0,0,0,
R(3)=-20.00
个节点的问题,2 4=5+3,因
此可用平面静定桁架程序求解 未知力。
例2
取坐标系xy,给节点、杆件及外约束反力编号如
图所示。
输入数据文件:
输入数据文件:
1,4,5
R(1)=.000
100,270,4
R(2)= -200.000
2,2,1
R(3)=100.000
2
R(4)=200.000
1
R(5)= -223.607
2)NF 次循环输入F(K,1),F(K,2),F(K,3),F(K,4)和IGF(K),即输
入集中力的大小Fk,方向角
i k
,作用点坐标xk
yk和作用刚体的编号i。
3)NM 次循环输入FM(l)、IGM(1),即输入集中力偶矩Ml的代数值及作用
刚体的编号i。
4)NQ 次循环输入分布力始、终点的集度、坐标,分布力的方向角及作用
i k
——反力Fk的方向角;
xj、yj——反力Rj的作用点的坐标; xk、yk——力Fk的作用点的坐标;, Ml——作用在第i个刚体上的主动力偶矩Ml的代数值。 求解上述方程组,即可求得NR个约束反力。
数据准备
基本信息 主动力信息 外约束反力信息
数据准备基本信息
NG 刚体总数; NR 约束反力个数。 NF 集中力个数; NM 集中力偶个数; NQ 分布力个数; K 受平面汇交力系作用的刚体数。 受平面一般力系作用的刚体数为NK=NG-K。
桁架计算_精品文档
桁架计算引言桁架是一种通过连接许多杆件和节点来形成稳定结构的建筑体系。
它常被用于搭建临时或永久性的大型结构,如广告牌、天桥、悬索桥等。
在设计和计算桁架结构时,需要考虑到各种力学和结构上的因素,以确保桁架的稳定性和可靠性。
本文将介绍桁架计算的一般原理和方法。
桁架的基本概念桁架由两种基本要素构成:杆件和节点。
杆件是桁架结构中的线状元素,通常是直线或弧线形状,其作用是传递和承载力。
节点是桁架结构中的连接点,用于连接和固定杆件,同时也能分担一部分力。
桁架计算的步骤桁架计算通常可以分为以下几个步骤:1.确定桁架的几何形状和尺寸:根据设计要求和实际需求,确定桁架的长度、宽度和高度等几何参数。
2.确定桁架的节点和杆件数量:根据桁架的几何形状,确定桁架的节点数量和杆件数量,并给予它们编号。
3.选择杆件材料和荷载信息:根据桁架的设计要求和实际使用环境,选择合适的杆件材料,并确定荷载信息,包括重力荷载、风荷载等。
4.建立荷载模型和边界条件:根据实际情况,建立桁架的荷载模型,并确定桁架的边界条件,如支撑方式、固定方式等。
5.进行力学计算:根据桁架的几何形状、节点和杆件数量、杆件材料和荷载信息,利用力学原理和方法,进行桁架的力学计算,包括静力分析、动力分析等。
6.分析结果和优化设计:根据计算结果,分析桁架的稳定性和可靠性,如受力情况、变形等,如果需要,对桁架进行优化设计,以提高其性能。
7.编制计算报告和施工图纸:将计算结果整理成计算报告和施工图纸,以便后续的施工和检验过程。
桁架计算的常用方法桁架计算主要依靠力学原理和方法,其中常用的方法包括以下几种:1.静力学方法:通过平衡力的方法,计算桁架在静态荷载作用下的受力情况。
常用的方法有切向力平衡法、截面法、节点法等。
2.动力学方法:通过考虑桁架的质量和荷载的动态响应,计算桁架在动态加载下的受力情况。
常用的方法有模态分析、响应谱法等。
3.有限元法:将桁架离散为许多小的有限元,利用有限元法进行分析和计算。
平面桁架位移法求解程序设计修正版
目录摘要 ............................................................................ - 3 -第一章题目的意义...................................................... - 4 -第二章理论分析......................................................... - 4 -2.1位移法的基本概念.. (4)2.2平面桁架分析的基本问题 (7)第三章程序设计框图..................................................- 12 -第四章程序代码........................................................- 13 -4.1计算平面桁架位移法的程序代码 .. (13)第五章应用..............................................................- 16 -5.1例一 .. (16)5.2例二 (19)第六章结论······························································- 22 -参考文献 ·····································································- 22 -平面桁架位移法计算的MAPLE程序设计摘要本文利用位移法编写MAPLE程序来计算平面桁架各节点位移、各杆的轴力。
平面桁架程序计算原理及程序编制
对于该平面桁架,有
杆号 L
△L
1
2
3
4
a
a
a
sqrt(2)a
v1
u1-u2
v2
(u1+ v1)/ sqrt(2)
把上述值代入应变能表达式,得到
5 sqrt(2)a (v2- u2)/ sqrt(2)
U E 2 F a v 1 2 ( u 1 u 2 ) 2 v 2 2 ( u 1 v 2 ) 2 /2 2 ( v 2 u 2 ) 2 /2 2
的内力。
5-5 结构计算简图的数据结构
完整而确切描述一个平面桁架结构的数据有三个方面:
(1)结构本体描述数据(NW, IESG, NU, X, Y, HL, HR)
(2)性质数据(EF)
(3)荷载数据(PX, PY)
➢NW为节点总数 ➢IESG杆件总数 ➢NU可动节点总数 ➢X, Y 节点坐标 ➢HL, HR 每根杆件两端节点编号 ➢EF 性质数据 ➢PX, PY 外载荷数据
FAFBN
FA和FB在x轴、y轴方向的分量分别为:
F A xF Ac o s N c o s
F A yF AsinNsin
F B xF BcosN cos
F B yF BsinN sin
把 F A x 、F B x 、 F A y 、 F B y 排列成列向量 P ,则有
FAx cos
式中 L 为杆的伸长, L 为杆的长度, N 为杆的
内力,EF / L 称为单根杆的刚度(单元刚度阵)。
注意⊿L= uB-uA,并且由平衡关系得到
FAFBNE L F(uAuB)
可把FA、FB排成列向量{N},uA, uB,排成列向 量{u},系数阵排成矩阵RD,即
静力学-平面简单桁架的内力计算
3. 取左(右)部分分析, 列平面任意力系的平衡方程。
2. 截面法 求某几根杆件内力常用的方法 —平面任意力系问题
例: 求:1、2、3杆件内力
3. 取左(右)部分分析,假设 “拉”
C ①D
FAy
②
A
③
F FB 列平面任C意力①系的平F衡1方程。
B
FAy
② F2
FAx E
G
F1
F2
解:1. 求支座约束力
A
(2)
F
f f
A
如果作用于物块的全部主动力合力 F
的作用线落在摩擦角之外( ≥ f ),则
无论此合力多小,物块必滑动。
FRA
2. 自锁现象
(phenomena of self-locking)
FRA
FRA
0 f 物体静止平衡时,全约束力必在摩擦角内
Fmax FS
FN f
A
(1)
F
f f
(2)
A
FAx
③ E
F3
P1
MA0
FB
ME 0
F1
MB 0
FAy
Fy 0
F2
Fx 0
FAx
Fx 0
F3
2. 把桁架截开 不要截在节点处
赛 车 起 跑
为什么赛车运动员起跑前要将车轮与 地面摩擦生烟?
第四章 摩擦 Friction
摩擦(friction): 一种极其复杂的物理-力学现象。
涉及:
“滚动摩阻定律”
—滚动摩阻系数 ,长度量纲
r
P A
FS FN
Q
r
临界平衡 P
A
Mf
FS
FN
建筑力学基本计算1平面桁架的计算
建筑力学基本计算1平面桁架的计算1、基本概念和计算要求在学习静定平面桁架的的简化及其分类时,要注意如下几点:1) 分析实际桁架受力情况比较复杂,影响杆件内力的因素很多,在计算时必须抓主要矛盾,对实际桁架作必要的简化。
2) 要懂得理想桁架的基本假定,及由此所得的力学特性,学会画出理想桁架的计算模型,和各类杆件的名称。
3) 能用平面一般力系的平衡条件,熟练的求出桁架的支座反力。
2、基本计算方法桁架的基本计算方法主要有结点法和截面法及其联合运用:1) 学会结点法的基本原理在选取结点的过程中,由于平面汇交力系只有2个平衡方程,所以,每次选取的结点,其未知的杆件轴力不得多于两个。
2) 充分利用某些杆件和结点的特殊情况在桁架中常有些特殊形状的结点,通常可以直观地求解出结点上某些杆件的轴力,可以给计算带来很大方便,如:(1) 只有两根杆件构成的结点,当结点上无荷载作用时,两杆轴力皆为零。
如图1(a )。
(2) 三杆汇交的结点,而其中两杆共线图1(b ),当结点上无荷载时,第三杆必为零杆,而共线两杆的内力相等且性质相同(即同为拉力或同为压力)。
3) 学会截面法的基本原理在选取截面截取桁架的过程中,由于平面一般力系只有三个平衡方程,所以,每次截取后切断各 图1杆的未知轴力个数应不超过3个。
而且这三个力彼此既不平行也不汇交于一点。
在计算少数指定杆件轴力时,用截面法特别方便。
4)一般在复习考试中,主要是要学会如何联合应用结点法和截面法来计算桁架中指定杆件的轴力。
要注意结点法和截面法各自的特点,使用最灵活的手段,最快速的求出杆件轴力。
3、计算步骤和常用方法考试要求一般为求桁架指定杆件的轴力问题,指定杆件不超过三根。
通常先求桁架的支座反力;然后根据具体题目要求,利用某些特殊结点,看是否可以判断出某些杆件的轴力;再考虑使用一次结点法和一次截面法(也可以是两次结点法或两次截面法)基本可以求出指定杆件的轴力。
在解题过程中,要充分注意计算桁架轴力的技巧:结点法的核心是投影方程,投影轴应选为除计算轴力的杆件外其余轴力未知杆件的垂直方向;截面法的核心在于针对具体情况,选取最合适的截面。
桁架有限元程序流程(有限元课程设计)
有限单元法课程设计有限单元法是基于连续介质力学基础上发展起来的,目前使用最广泛的数值计算方法。
有限单元法解决问题的前提是各单元相邻边界的位移协调。
有限单元法解决问题的前提是各单元相邻边界的位移协调。
有限单元有限单元法将连续的求解域离散为一组有限个单元组成的组合体,由细分单元去逼近求解域,由于单元的不同连接方式和形式各异的单元形状由于单元的不同连接方式和形式各异的单元形状,,因此可以适应几何形状复杂的求解区域杂的求解区域;;第二第二,,利用每一个单元内的近似函数利用每一个单元内的近似函数((形函数形函数))来表示全求解域上待求的未知场函数待求的未知场函数,,把一个连续的无限自由度问题变成离散的有限自由度问题,只要求出单元结点的物理量只要求出单元结点的物理量,,就可以确定单元组合体上的其他未知场函数就可以确定单元组合体上的其他未知场函数,,如果选择合适的形函数选择合适的形函数,,随着网格密度的减小随着网格密度的减小,,近似解将逐步趋向精确解近似解将逐步趋向精确解;;第三第三,,有限单元法计算得到的总体刚度矩阵为稀疏带状矩阵,这样借助于电子计算机存储和计算的效率大大提高计算的效率大大提高,,便于处理大规模问题。
便于处理大规模问题。
从上述有限单元法的特性可知从上述有限单元法的特性可知,,其计算原理简单其计算原理简单,,但由于单元连接方式和单元形状的多元化元形状的多元化,,以及近似函数的选择合适与否以及近似函数的选择合适与否,,使得有限元法在针对具体问题求解时比较烦琐求解时比较烦琐,,正是基于这样的应用背景正是基于这样的应用背景,,本论文提出了一种更简单实用的单元模型—平面等效桁架单元模型。
最后最后,,编制有限元分析程序编制有限元分析程序,,将这种桁架单元模型运用于钢筋混凝土结构中型运用于钢筋混凝土结构中,,模型中混凝土采用等效桁架单元模型中混凝土采用等效桁架单元,,钢筋采用一维杆单元单元,,利用混凝土等效的应力应变关系对各种构件进行弹塑性分析,并试探性的提出了单元破坏准则。
平面桁架有限元C#编程
1题目结构如图所示: 杆的弹性模量E 为200000Mpa ,横截面面积A 为3250mm 2。
图 1 桁架示意图2实验材料PC 机一台,Microsoft Visual Studio 软件,Ansys 软件。
3实验原理(1)桁架结构特点桁架结构中的桁架指的是桁架梁,是格一种梁式结构。
桁架结构常用于大跨度的厂房、展览馆、体育馆和桥梁等公共建筑中。
由于大多用于建筑的屋盖结构,桁架通常也被称作屋架。
结构上由光滑铰链连接,载荷只作用于节点处,只约束线位移,各杆只有轴向拉伸和压缩。
(2)平面桁架有限元分析1、单元分析局部坐标系中的干单元如图所示:图 2 局部坐标系中的杆单元以下公式描述了整体位移和局部位移之间的关系:U=Tu 其中U=[ U ix U iy U jx U jy ],T=[cos θ−sin θ00sin θcos θ0000cos θ−sin θ00sin θcos θ],u=[u ix u iy u jx u jy ]U 和u 分别代表整体坐标系和局部坐标系XY 系和局部坐标系xy 下节点i 和节点j 的位移。
T 是变形从局部坐标转换到整体坐标系下的变换阵,类似的局部力和整体力也有以下关系:F=Tf其中F=[ F ixF iy F jx F jy ] ,是整体坐标系下施加在节点i 和j 上的力的分量而且f=[ f ix f iy f jx f jy ],代表局部坐标系下施加在节点i和j上的分量。
在假设的二力杆条件下,杆只能沿着局部坐标系的x方向变形,内力也总是沿着局部坐标系x的方向,因此将y方向的位移设置为0,局部坐标系下内力和位移通过刚度矩阵有如下关系:[f ixf iyf jxf jy]=|k0−k00000−k0k00000|=[U ixU iyU jxU jy]这里k=k eq=AE/L,写成矩阵形式有:f=Ku将f和u替换成F和U有:T-1F=KT-1U将方程两边乘以T得到:F=TKT-1U其中T-1是变换矩阵T的逆矩阵,替换方程中的TKT-1和U矩阵的值,相乘后得到:[F ixF iy F jx F jy]= k[cos2θsinθcosθ−cos2θ−sinθcosθsinθcosθsin2θ−sinθcosθ−sin2θ−cos2θ−sinθcosθcos2θsinθcosθ−sinθcosθ−sin2θsinθcosθsin2θ][U ixU iyU jxU jy]上述方程代表了施加外力、单元刚度矩阵和任意单元节点的整体位移之间的关系。
教学课件第五章静定平面桁架
60
40
20
-
A
-120 C -20 F -20
15kN 15kN
4m
4m
4m
G
15kN
结点分析时把所有杆内力均画成拉力(含已求得的压力)并代 入方程,然后是拉力的得正值,是压力的得负值。结果为正说 明该杆受拉,结果为负说明该杆受压,这样做不易出错。
§5-2 结点法
小结
• 以结点作为平衡对象,结点承受汇交力 系作用;
2.对称结构受对称荷载作用, 内力和反力均为对称: 受反对称荷载作用, 内力和反力均为反对称。
E 点无荷载,红色杆对不称受轴力处垂的直杆对不称受轴的力杆不受力
FFAAyy
FFBBy y
§5-2 结点法
2.对称结构受对称荷载作用, 内力和反力均为对称: 受反对称荷载作用, 内力和反力均为反对称。 对称结构:几何形状和支座对某轴对称的结构.
FP
§5-2 结点法
关于零杆的判断
桁架中的零杆虽然不受力,但却是保持 结构坚固性所必需的。因为桁架中的载荷往 往是变化的。在一种载荷工况下的零杆,在 另种载荷工况下就有可能承载。如果缺少了 它,就不能保证桁架的坚固性。
分析桁架内力时,如首先确定其中的零杆, 这对后续分析往往有利。
§5-2 结点法
• 按与“组成顺序相反”的原则,逐次建 立各结点的平衡方程,则桁架各结点未 知内力数目一定不超过独立平衡方程数;
• 由结点平衡方程可求得桁架各杆内力。
§5-2 结点法 二、结点法计算简化的途径
1. 对于一些特殊的结点,可以应用平衡条件直 接判断该结点的某些杆件内力为零。 零杆
(1) L型结点:两杆交于一点,若结点无荷载,则两杆 的内力都为零。
平面桁架内力和位移计算的框图与程序
有生命就会有希望,有信心就会有 成功,有思索就会有思路,有努力
就会有收获
14
有生命就会有希望,有信心就会有 成功,有思索就会有思路,有努力
就会有收获
15
有生命就会有希望,有信心就会有 成功,有思索就会有思路,有努力
就会有收获
16
有生命就会有希望,有信心就会有 成功,有思索就会有思路,有努力
4-14)
在式(3-5)中,ann 对应 bn,1; aii 对应 bi,1;aij 对应 bi,j-I+1。把这些关系带入
后,得等带向后回运算格式
pn
对于i pi
pn
(bpn有 成n1i 生 功1m命 ,,inn(ji就 有id会 思12a1,,ni就有 索,)j会希 就i,11做有望 会pi 收, 有) /获有 思bi1信 路 心 ,就 有会 努有 力
பைடு நூலகம்
成功, 0有思0索就0会有0思路,有努力 就会有收获
2
2.坐标变换
杆端力和杆端位移的坐标变换是通过单元坐标变换矩T阵e 即式(1-34 )完成的,令 Cx cos , C y sin ,则
Cx Cy 0 0
Te
Cy
Cx
0
0
0
0
Cx
C
y
4
4.半带存贮和带消去法
在计算连续梁程序中,由于整体刚度矩阵所占计算机存贮量小,顾采
用高斯顺序消元法解刚度方程.如果方程组的系数矩阵是对称矩阵,可以
证明在第 k 轮消元后,由第(K+1)至第 n 个方程的系数仍是对称矩阵.为了
减小运算次数,在整个消元过程中,只要存贮系数矩阵上三角部分的元素.
四平面桁架的内力计算
四平面桁架的内力计算平面桁架是由各种杆件和节点组成的结构,用来支撑和传递荷载。
在设计和分析平面桁架时,需要计算每个杆件上的内力,以确定结构的稳定性和强度。
以下是平面桁架内力计算的方法。
平面桁架的内力计算可以分为两个步骤:静力平衡方程的建立和内力计算。
首先,建立静力平衡方程。
根据平面桁架的静力学原理,每个节点上的力的合力应等于零,每个节点上的力的合力矩也应等于零。
使用静力平衡方程可以得到各个节点上的力的关系。
节点力的计算可以通过以下步骤进行:1.选择一个节点作为参考节点,通常选择固定支座或者荷载作用点。
2.对于选择的参考节点,假设节点上的力的方向和大小,通常选择正向或者逆时针方向。
3.根据杆件的连接方式和静力平衡方程,计算其他节点上的力的方向和大小。
4.如果计算出的节点力的方向和大小与假设的相符,则计算准确。
如果不相符,则重新选择节点力的方向和大小,重复第3步。
5.重复第2和第3步,直到计算出所有节点上的力的方向和大小。
节点力的方向和大小确定后,可以计算每个杆件上的内力。
杆件内力的计算可以通过以下步骤进行:1.根据杆件的连接方式,在每个节点上绘制弯矩图和剪力图。
2.根据支点条件和杆件的连接方式,计算杆件上的弯矩和剪力。
3.根据杆件的材料性质和截面形状,计算杆件上的正应力和切应力。
4.计算出每个杆件上的内力,包括正应力和切应力的大小和方向。
在计算内力时,需要注意以下几个问题:1.合理选择参考节点,通常选择固定支座或者荷载作用点,可以简化计算过程。
2.在考虑弯矩和剪力时,需要考虑实际杆件长度和杆件的连接方式。
3.在计算正应力和切应力时,需要考虑杆件的材料性质和截面形状。
4.内力的计算需要满足力的平衡条件和结构的力学平衡条件。
总之,平面桁架的内力计算是通过建立静力平衡方程和应力平衡方程,确定每个节点和杆件上的力的大小和方向,然后根据杆件的连接方式和材料性质,计算杆件上的弯矩和剪力,最终计算出杆件上的内力。
截面法求解平面桁架
截面法求解平面桁架截面法求解平面桁架平面桁架是一种具有结构合理性、材料利用率高、重量轻等特点的建筑结构形式。
在平面桁架的设计过程中,为确保结构的可靠性和安全性,需要采用截面法进行计算,本文将对截面法求解平面桁架进行详细介绍。
一、截面法的基本思想截面法是一种经典的构造力学方法,是一种采用剖面法计算单元内部力的方法。
它的基本思想是将力学结构分割成若干个单元,然后根据单元内部受力平衡原理来计算单元内的各内力。
通过计算每个单元的内部受力,再将单元拼接在一起,最终得到整个结构的内力和变形信息。
二、平面桁架的截面法计算步骤1. 给定荷载:首先需要给定平面桁架所受的加载情况,包括外载荷载、支座反力和节点位移等信息。
2. 划分桁架单元:为了使用截面法对平面桁架进行计算,需要将平面桁架分割成若干个单元,每个单元应当满足刚体条件。
3. 计算单元内力:针对每个单元,根据力的平衡条件,可以通过一些较为简单的公式来计算出单元内的各内力,如轴力、剪力、弯矩等。
4. 拼接单元内力:将每个单元内的内力拼接在一起,得出整个平面桁架的受力情况。
5. 求解位移:在求解单元内力的同时,还需要计算出每个节点的位移情况,以此来确定整个结构的变形情况。
6. 检验平衡:最后需要对整个平面桁架的内力进行检验,保证满足平衡条件,以确保结构的可靠性和安全性。
三、总结截面法在求解平面桁架的设计过程中扮演了重要的角色,它的使用使得设计者能够快速而准确地计算出平面桁架的内力和变形情况。
在实际设计中,需要根据具体情况选择合适的单元形式和计算方法,以确保计算结果的准确性和可信度。
平面桁架位移法求解的程序设计修正版讲解
目录摘要 ............................................................................ - 3 -第一章题目的意义...................................................... - 4 -第二章理论分析......................................................... - 4 -2.1位移法的基本概念.. (4)2.2平面桁架分析的基本问题 (7)第三章程序设计框图..................................................- 12 -第四章程序代码........................................................- 13 -4.1计算平面桁架位移法的程序代码 .. (13)第五章应用..............................................................- 16 -5.1例一 .. (16)5.2例二 (19)第六章结论······························································- 22 -参考文献 ·····································································- 22 -平面桁架位移法计算的MAPLE程序设计摘要本文利用位移法编写MAPLE程序来计算平面桁架各节点位移、各杆的轴力。
计算力学平面桁架程序说明
题目:编制一个能够计算任意形状的平面桁架(线弹性)的有限元程序一、基本思想1、先建立一个平面桁架的力学模型,再把结构整体拆开,分解成若干个单元(在杆件结构中就把每个杆件取作一个单元,基础数据有:结点坐标、结点编号、单元编号、单元的节点号、单元的属性、节点荷载、节点自由度)。
2、单元分析:采用刚度影响系数建立单元节点的平衡方程(即单元刚度方程)。
3、整体分析:把所有单元的刚度方程组合成整体的刚度方程,这是一组以节点物理量为未知量的线性方程组,引入边界条件求解该方程组。
4、计算位移和内力二、程序实现整个程序的流程:1、主程序%整个执行过程(总控)process.mclear;InFileName=input('请输入基础数据文件名(默认为:model data.txt):','s');ifisempty(InFileName)InFileName='model data.txt';end[ Joint,Elem,fidout ] = Struss_ReadData(InFileName );fori=1:length(Elem.Def(:,1))[Len(i),Orient(i,:)]=LCS(Elem.Def(i,:),Joint.Coord);endStructStiff=strus_Stiff( Joint,Elem,Len,Orient);%计算刚度Node_Disp=Node_Disp(Joint,StructStiff,Joint.Load,fidout);%计算位移[InFL,F]=Struss_EndInf(Elem,Len,Orient,Node_Disp,fidout);%计算内力****************************************************************************** function [ varargout ] = LCS( iDef,Coord,varargin )%该LCS函数计算单元的长度和位向(方向)%输入:iDef=单元杆端结点号% Coord=结点坐标x,y% TypeNo=varargin{1}表示输出类型的编号:输出单元长度1、输出单元位向2、输出单元长度及位向3%输出:Len{1}=单元长度% Orient{2}=单元位向%输入参数处理if length(varargin)==0TypeNo=3;elseif length(varargin)==1TypeNo=varargin{1};elseerror('调用函数LCS时,输入参数数目有误!')end%单元长度和位向计算xy1=Coord(iDef(2),:);xy2=Coord(iDef(3),:);dxy=xy2-xy1;Len=sqrt(sum(dxy.*dxy));ifTypeNo==1varargout{1}=Len;elseifTypeNo==2varargout{1}=[dxy(1)/Len,dxy(2)/Len];elseifTypeNo==3varargout{1}=Len;varargout{2}=[dxy(1)/Len,dxy(2)/Len];end2、从基础数据文件读取数据赋值给数组function [ Joint,Elem,fidout ] = Struss_ReadData( InfileName )%从基础数据文件读取数据赋值给数组%Joint=struct('NJoint',[],'NDOF',[],'Coord',[],'DOF',[],'Load',[]);Elem=struct('NElem',[],'Def',[]);fidout=0;%从基础数据文件读取数据[Joint,Elem,JointDef]=ReadData(Joint,Elem,InfileName);%整理输入数据[Joint,Elem,JointDef]=PackData(Joint,Elem,JointDef);%把基础数据写入输出文件[OutFileName,fidout]=WriteData(Joint,Elem,InfileName);end****************************************************************************** function [ Joint,Elem,JointDef ] = ReadData( Joint,Elem,InFileName )%从基础数据文件读取数据fidin=fopen(InFileName,'r');%以只读方式打开格式文件JointDef=[];%设置初值iffidin==-1error('没有这个基础数据文件');endwhile ~feof(fidin); %测试文件的结尾line=fgetl(fidin);%按行读取字符串line=deblank(line(end:-1:1));line(end:-1:1)=line;%去掉每行字符前的空格if~isempty(line)&~strncmp(line,'%',1)%排除空行和注释行%-----读取结点和单元数据KeyWord=strtok(line,',');%取第一个逗号“,”前的子串,即关键字dotsuffix=find(line==',');%提取逗号在字符串中的下标NumVec=str2num(line(dotsuffix(1)+1:end));%提取第一个逗号后的子串并数值化switchKeyWordcase 'Contl'Joint.NJoint=NumVec(1);Joint.NDOF=NumVec(2);Elem.NElem=NumVec(3); case 'Joint'JointDef=[JointDef;NumVec];case 'Elem'Elem.Def=[Elem.Def;NumVec];case'JointLoad'Joint.Load=[Joint.Load;NumVec];otherwiseerror('没有这种数据类型标识!')endendendfclose(fidin);%关闭文件****************************************************************************** function [ Joint,Elem,JointDef ] = PackData( Joint,Elem,JointDef )%整理输入数据% 整理结点坐标数据Joint.Coord=JointDef(:,2:3);%结点坐标Joint.DOF=JointDef(:,4:5);%结点自由度%整理单元数据if length(Elem.Def(1,:))==4Elem.Def(:,5)=1e-5;%设置线膨胀系数默认值end****************************************************************************** function [ OutFileName,fidout ] = WriteData( Joint,Elem,InfileName )%WriteData把基础数据写入输出文件%设置输出文件名,把‘.m'替换为’_Out.txt'OutFileName=strrep(InfileName,'.txt','_Out.txt');fidout=fopen(OutFileName,'wt');%以只写方式打开格式文件%基础数据输出到文件fprintf(fidout,'%s\n','%平面桁架静力分析数据');fprintf(fidout,'%s\n',['%输入数据文件:',InfileName]);fprintf(fidout,'\n');fprintf(fidout,'%s\n','%-----输入数据---------');fprintf(fidout,'%s\n','%控制数据');fprintf(fidout,'%s\n','%单元数结点数自由度数');fprintf(fidout,'%5d%10d%10d\n',Elem.NElem,Joint.NJoint,length(find(Joint.DOF)));fprintf(fidout,'\n');fprintf(fidout,'%s\n','%基础数据');fprintf(fidout,'%s\n','%结点坐标及自由度');fprintf(fidout,'%s\n','%结点号X Y DOF1 DOF2 ');fori=1:Joint.NJointfprintf(fidout,'%5d%9g%9g%9d%9d\n',i,Joint.Coord(i,:),Joint.DOF(i,:));endfprintf(fidout,'\n');fprintf(fidout,'%s\n','%单元编号、截面几何和材料常数');fprintf(fidout,'%s\n','%单元号始端号末端号轴向刚度线膨胀系数');fori=1:Elem.NElemfprintf(fidout,'%5d%10d%12g%15g%15g\n',Elem.Def(i,:));end%输出结点荷载fprintf(fidout,'\n');fprintf(fidout,'%s\n','%结点荷载');if ~isempty(Joint.Load)fprintf(fidout,'%s\n','%结点号方向荷载值');[r,v]=size(Joint.Load);fori=1:rfor j=1:vfprintf(fidout,'%d\t',Joint.Load(i,j));endfprintf(fidout,'\n ');endelsefprintf(fidout,'%s\n','%--------无结点荷载');end end3、单元分析求出单元在整体坐标系中的刚度矩阵(这里直接求整体坐标下的刚度矩阵还是比较方便的,不需要先求单元坐标下的矩阵,再转换成整体坐标下的)。
4.1、平面简单桁架的内力计算
或将自重平均分配到杆端铰链销钉上;
这种简化处理降低了实际桁架结构中各杆内力的 计算难度,而且计算结果与杆件的实际受力非常吻合;
(刚化公理的应用)
6
平面简单桁架:以三角形框架为基础,每增加一个节点 就要增加两根杆,而且所有的杆件都在同一平面内;
4.1、平面简单桁架的内力计算
4.1、平面简单桁架的内力计算
桁架: 由二力杆件铰接而成,以三角形为基本框架单元 节点:桁架的杆端铰链销钉 桁架结构的特点: 充分发挥材料的承载能力,
节约材料, 减轻系统整体重量
2
FE 实际桁架:刚性“铰接”
理想桁架:光滑5铰接
实际桁架中各杆之间都是铆接、焊接或螺栓连接等 刚性连接形式;我们这里讲述的桁架都是二力杆件 用光滑铰链铰接而成,这种桁架称为理想桁架
设1/2/3杆都处于“受压”状态,用mn面同时截断杆1、2和杆3,取右半部
分M 为FiG 研(F 究0i)对0象 (F F F 图1 3 2 * cbaF )oc23cso0 3o6sF 0s B 0 F Y H F3 F * H aF sE0 i 3n00FBY *(aasi3n0)0
F31.2 3(1 kN ) F22.8(2kN ) F18.72(kN)
10
课堂练习题1 求图4.1-6a/b所示桁架结构中带数字 编号的各杆件内力。
I
F
I
11
课堂练习题2,图4.1-7a所示桁架结构中 Fp 10KN 求JO杆、FK杆的内力
12
各图桁架中带有编号 的杆是否都是零力杆?
13
零杆作用:可以把处 于受压状态的细长杆 “割断”成“短粗杆 ”,避免其“突然变 形”
桁架计算TRUSS
桁架内力计算程序(TRUSS)一、程序功能及编制方法桁架内力计算程序(TRUSS),能计算任意平面和空间桁架(包括网架)在结点荷载作用下各结点的位移和各杆的轴力.程序采用变带宽一维数组存储总刚度矩阵,先处理法引进支座条件.计算结果输出各结点的位移和各杆的轴力.二、程序使用方法使用方法与“APF”程序相同.用文件编辑编辑器建立数据文件后即可运行.计算结果将写在结果文件中.三、数据文件填写格式数据文件填写格式大致与APF程序相似.1.总信息:T,NJ,NE,NR,NB,NP,EO,DS其中:T——桁架类型,平面桁架 T=2,空间桁架 T=3.NR——支座约束数.其他变量与APF程序相同.2.结点坐标数组XYZ(NJ, 3)每个结点填一行,每行三个数分别填写结点的x,y,z三个坐标数值,平面桁架只填x,y 值(单位:m).3.单元信息数组G(NE)采用紧缩存储方式,每个单元填一个数.把单元的左端、右端结点号和杆的类型号三个数紧缩为一个数.例如某单元左端结点号为15,在端结点号为8,类型号为3,则写成0.15083,一般格式为0.×××××.4.单元截面信息数组AI(NB)填写各类单元的杆截面面积(m2).5.约束信息数组R(NR)采用紧缩存储方式,每个约束(支座链杆)填一个数.把约束作用的作用点写在该数的整数部分,约束的方向写在小数部分.x方向的约束为“l”,y方向的约束为“2”.例如某支座链杆作用在 17号结点上,方向沿整体坐标 y方向,则写为 17.2,一般格式为××.×.6.结点荷载信息数组F(NP,2)每个结点荷载填一行,每行两个数.前一个数用紧缩方式填写荷载作用的结点号和作用方向,格式与约束信息的格式相同.后一个数为荷载的数值.单位为kN,与整体坐标方向一致者为正值,相反者为负值.例如,作用在16号结点上,数值为183.5 kN,方向向下的力,则写成:16.2,-183.5(这里,假定坐标轴y轴向上).四、计算例题例TRUEX1试计算图示空间桁架各杆的轴力.[解] 因为是静定桁架,各杆的弹性模量和横截面面积大小均不影响杆件的内力,故假定弹性模过和截面面积均等于1.选择坐标系及结点编号如图所示.输入数据文件取名为TRUEX1.DAT,输出数据文件取名为TRUEX1.OUT.输入数据文件内容为:39,15,12,1,3,1,00,6,8,4,6,8,4,0,8,0,0,82,0,11,0,6,0,4,6,0,4,0,0,0,0,00.01021,0.02031,0,03041,0.04011,0.010510.02051,0.03051,0.04051,0.01061,0.020710.03081,0.04091,0.04061,0.01071,0.0208116.1,6.2,6.3,7.1,7.2,7.3,8.1,8.2,8.3,9.1,9.2,9.33.2,6,4.2,6,5.2,6计算结果:N(1)=1.000N(2)=-6.000N(3)=-1.000N(4)=3.000N(5)=-3.500N(6)=-3.500N(7)=1.803N(8)=1.803N(9)=-1.500N(10)=-13.500N(11)=1.500N(12)=13.500N(13)=-15.000N(14)=0.000N(15)=15.000(单位:kN)例TRUEX2 试求示平面桁架各杆轴力.解:建立名为TRUEX2.DAT 的数据文件,内容如下:28,13,3,1,3,1,00,0,6,0,0,4,3,4,6,4,0,8,3,8,6,80.01021,0.01031,0.01041,0.02041,0.02051,0.03041,0.04051 0.03061,0.03071,0.05071,0.05081,0.06071,0.07081 11.1,1.2,2.25.1,-40,8.1,-40,7.2,-80计算结果:N(1)=-40.000N(2)=-66.667N(3)=-66.667N(4)=66.667N(5)=-13.333N(6)=50.000N(7)=-30.000N(8)=0.000N(9)=-83.333例TRUEX2图例TRUEX1图N(10)=-16.667 N(11)=0.000 N(12)=0.000 N(13)=-40.000。
平面桁架的内力计算课件
目录
• 平面桁架概述 • 平面桁架的内力分析 • 平面桁架的节点位移 • 平面桁架的稳定性分析 • 平面桁架的内力计算实例
01
平面桁架概述
定义与特点
定义
平面桁架是一种由杆件组成的结 构,其所有杆件都位于同一平面 内。
特点
具有较高的承载能力和稳定性, 且结构简单、制造方便,广泛应 用于桥梁、建筑等领域。
内力分析的方法
解析法
通过建立数学模型,利用物理和数学知识求解内力。这种 方法适用于简单结构和对称性较好的情况。
实验法
通过实验测试和观察,利用传感器和测量仪器直接测量内 力。这种方法适用于复杂结构和无对称性的情况。
有限元法
将结构离散化为有限个小的单元,通过分析每个单元的内 力和相互间的约束关系,推算出整个结构的内力。这种方 法适用于大型复杂结构和动态分析。
结构的边界条件
结构的边界条件,如固定、 自由等,会影响节点的位 移。
04
平面桁架的稳定性分析
稳定性分析的定义与重要性
稳定性分析的定义
稳定性分析是评估结构在受到外力作用时能否保持稳定,不发生屈曲或失稳的力 学性能研究。
稳定性分析的重要性
对于平面桁架而言,稳定性是保证其承载能力和安全性的关键因素。通过稳定性 分析,可以预测结构在各种工况下的行为,从而采取相应的措施来提高结构的稳 定性,避免因失稳而导致的结构破坏和安全事故。
荷载
包括竖向荷载和水平荷载,竖向荷 载主要是由自重和活载组成,水平 荷载主要是风载和地震作用。
02
平面桁架的内力分析
内力的定义与分类
内力的定义
内力是指物体在受力过程中,由于外力作用而产生的内部应力。在平面桁架中, 内力是由于杆件间的相互作用而产生的。
c语言计算平面桁架内力计算程序
#include<stdio.h>#include<math.h>#include<stdlib.h>#define M 5int n,nc,nn,m,e,f;//节点总数,固定节点数,自由度数,杆件数int io,jo;//单根杆对号指示数int ihl[M],ihr[M];//杆件左右节点号double a[M];//各杆截面积double mm[M];//杆件质量double ea[M];//杆件EA的值double x[M],y[M];//节点坐标double dp[M];//总体系下的节点载荷double t[2];//0,1分别为坐标转换矩阵的cos(),sin()double c[2][2];//总体系下的单刚double clxy[3];//0,1,2分别为杆长,正弦,余弦double h[M];//杆件轴力double r[M][M];//总刚度阵double rd;//桁架轴力杆局部系单刚double u[M];//桁架节点位移double v[2];//存放节点位移差double d[M];//LDLT分解时的D矩阵的对角线元素double l[M][M];////LDLT分解时的D矩阵的对角线元素double fdp[M];//总体系下支座反力void iojo(int k)//计算对号指示数io,jo{int i,j;i=ihl[k-1];//k号杆左节点号进入ij=ihr[k-1];//k号杆节点右号进入iio=2*(i-nc-1);//uxi前未知位移的个数jo=2*(j-nc-1);//uyi前未知位移的个数}void ch(int k)//计算杆长与方向余弦函数{int i,j;i=ihl[k-1];//k号杆左节点进入ij=ihr[k-1];//k号杆右节点进入jclxy[1]=x[j-1]-x[i-1];//k号杆x坐标差clxy[2]=y[j-1]-y[i-1];//k号杆y坐标差clxy[0]=sqrt(clxy[1]*clxy[1]+clxy[2]*clxy[2]);//k号杆长clxy[1]=clxy[1]/clxy[0];//k号杆件x轴余弦clxy[2]=clxy[2]/clxy[0];//k号杆件y轴余弦void stif(int k)//计算k号杆件总体系下的单元刚度阵{int i,j;ch(k);//调用ch(),计算k号杆件杆长与余弦t[0]=clxy[1];t[1]=clxy[2];rd=ea[k-1]/clxy[0];for(i=0;i<2;i++){for(j=0;j<2;j++){c[i][j]=t[i]*t[j]*rd;}}}void dor()//总体系下的总刚度阵的组集{int i,j,k;for(i=0;i<nn;i++){for(j=0;j<nn;j++){r[i][j]=0.0;//总刚度阵清0}}for(k=1;k<=m;k++){iojo(k);//调用k的对号指示函数,从而确定组集位置stif(k);//第k号杆件的总体系下的单刚if(io>=0){for(i=io+1;i<=io+2;i++){for(j=io+1;j<=io+2;j++){r[i-1][j-1]+=c[i-io-1][j-io-1];//在r中io+1,io+2行以及io+1,io+2列位置累加k的单刚}for(j=jo+1;j<=jo+2;j++){r[i-1][j-1]-=c[i-io-1][j-jo-1];//在r中io+1,io+2行以及jo+1,jo+2列位置累加k的负单刚r[j-1][i-1]=r[i-1][j-1];}}for(i=jo+1;i<=jo+2;i++){for(j=jo+1;j<=jo+2;j++){r[i-1][j-1]+=c[i-jo-1][j-jo-1];//在r中jo+1,jo+2行以及jo+1,jo+2列位置累加k的单刚}}}else if(jo>=0)//如果io<0,即左节点为固定节点,jo>=0,右端为可动节点,则只在jo+1,jo+2对角分块位置累加{for(i=jo+1;i<=jo+2;i++){for(j=jo+1;j<=jo+2;j++){r[i-1][j-1]+=c[i-jo-1][j-jo-1];//在r中jo+1,jo+2行以及jo+1,jo+2列位置累加k的单刚}}}}}void choldlt()//总刚度阵的LDLT分解{int i,j,k;double m,t[M][M];for(i=0;i<nn;i++){l[i][i]=1.0;}d[0]=r[0][0];//d[0]=r[0][0]for(i=1;i<nn;i++){for(j=0;j<i;j++){m=0.0;for(k=0;k<j;k++){m+=t[i][k]*l[j][k];}t[i][j]=r[i][j]-m;l[i][j]=t[i][j]/d[j]; //计算l[i][j]m=0.0;for(k=0;k<i;k++){m+=t[i][k]*l[i][k];d[i]=r[i][i]-m; //计算d[i]}l[j][i]=l[i][j];}}}void trildlt()//回代求节点位移{int i,k;double m,y[M];y[0]=dp[0];for(i=1;i<nn;i++){m=0.0;for(k=0;k<i;k++){m+=l[i][k]*y[k];y[i]=dp[i]-m; //计算y[i] }}u[nn-1]=y[nn-1]/d[nn-1];for(i=nn-1;i>=0;i--){m=0.0;for(k=i+1;k<nn;k++){m+=l[k][i]*u[k];u[i]=y[i]/d[i]-m; //计算u[i]}}}void doh()//计算杆件的轴力{int i,k;for(k=1;k<=m;k++){iojo(k);//调用第k号杆件的左右端点的位移指示数for(i=0;i<2;i++)//计算每个节点2个自由度循环{if(io<0)//把右节点的2个位移存入v[0],v[1]{v[i]=u[jo+i];}else//把右节点的2个位移存入v[0],v[1]{v[i]=u[jo+i]-u[io+i];}}stif(k);//计算第k号杆件总体系单刚,存入[2]h[k-1]=0.0;//数组h[k-1]清零for(i=1;i<=2;i++)//对两个位移循环{h[k-1]=h[k-1]+t[i-1]*v[i-1]*rd;//轴力存入h[k-1]}}}void dowt() //考虑自重,且规定y轴竖直向上{int k,ko,i;double g; //g为重力printf("请输入杆件质量:\n");for(i=0;i<m;i++) //各杆件质量值输入{printf("mm[%d]=",i+1);scanf("%lf",&mm[i]);}for(k=1;k<=m;k++) //对桁架杆件循环{iojo(k); //调用函数ch(k);g=mm[k-1]*9.80665; //重力计算公式if(io>=0) //左节点为自由节点{dp[io+1]=dp[io+1]-(g/2); //左节点的y轴荷载减少二分之一重力dp[jo+1]=dp[jo+1]-(g/2); //右节点的y轴荷载减少二分之一重力}else if(jo>=0) //若右节点为自由节点,则仅有右节点做如下处理{ko=io+2*nc; //定义反力指示数ko 等于2*(固定节点号-1)dp[jo+1]=dp[jo+1]-(g/2);fdp[ko+1]=fdp[ko+1]-(g/2); //支座反力叠加重力的一半}}}void dofanli() //计算反力{int k,ko;for(k=1;k<=m;k++) //对杆件循环{iojo(k); //引用函数ch(k);ko=io+2*nc; //记录左节点if(io<0) //左节点为固定节点{fdp[ko]=fdp[ko]-h[k-1]*clxy[1]; //为第i个节点x轴向力加杆件轴力反力fdp[ko+1]=fdp[ko+1]-h[k-1]*clxy[2]; //为第i个节点y轴向力加杆件轴力反力}}}void verify() //强度校核函数{int k,i;double sigema,sigema0,sigema1; //定义应力,拉伸许用应力,压缩许用应力printf("请输入各杆截面积:\n"); //截面面积输入for(i=0;i<m;i++){printf("a[%d]=",i+1);scanf("%lf",&a[i]);}printf("请输入杆件拉伸许用应力:\n"); //杆件拉伸许用应力输入scanf("%lf",&sigema0);printf("请输入杆件压缩许用应力(输入正数):\n"); //杆件压缩许用应力输入scanf("%lf",&sigema1);for(k=1;k<=m;k++) //对杆件循环{sigema=h[k-1]/a[k-1]; //计算公式轴力与面积之商if(sigema>sigema0||sigema<-1*sigema1) //对应力,许用应力进行比较(注:压应力为负值,所以不小于压缩许用应力){printf("第%d根杆件超过许用应力,为危险杆件,请增加横截面积或更换其他材料\n",k);}}}void assemble() //装配应力计算{int k,ko;double l; //定义杆件被拉长l printf("请输入存在装配应力的杆件号:\n");scanf("%d",&k);printf("请输入杆件装配时的拉长长度:\n");scanf("%lf",&l);iojo(k); //引用函数ch(k);h[k-1]=h[k-1]+ea[k-1]*l/clxy[0]; //储存装配杆件的应力值if(io>=0){dp[io]=dp[io]+ea[k-1]*l*clxy[1]/clxy[0]; //左节点x轴方向附加载荷增加P=△l*EA/l乘其方向余弦dp[io+1]=dp[io+1]+ea[k-1]*l*clxy[2]/clxy[0]; //y轴方向同上操作dp[jo]=dp[jo]-ea[k-1]*l*clxy[1]/clxy[0]; //注:右节点与左节点附加装配应力相反dp[jo+1]=dp[jo+1]-ea[k-1]*l*clxy[2]/clxy[0];}else{ko=io+2*nc;dp[jo]=dp[jo]-ea[k-1]*l*clxy[1]/clxy[0]; //注:右节点与左节点附加装配应力相反dp[jo+1]=dp[jo+1]-ea[k-1]*l*clxy[2]/clxy[0];printf("%f,%f\n",dp[jo],dp[jo+1]);fdp[ko]=fdp[ko]+ea[k-1]*l*clxy[1]/clxy[0]; //固定节点ihl反力叠加装配应力fdp[ko+1]=fdp[ko+1]+ea[k-1]*l*clxy[1]/clxy[0];}}void tem() //计算温度应力{int k,ko;double t0,arf,t1,t2,detal; //定义变量,温差,热膨胀系数,初始温度,最终温度,温变引起的长度变化printf("请输入初始温度\n"); //变量输入scanf("%lf",&t1);printf("请输入最终温度\n");scanf("%lf",&t2);printf("请输入杆件的热膨胀系数\n");scanf("%lf",&arf);t0=t2-t1;for(k=1;k<=m;k++){iojo(k); //引用函数ch(k);detal=-1*arf*t0*clxy[0]; //等效为装配应力杆件受压h[k-1]=h[k-1]+ea[k-1]*detal/clxy[0];if(io>=0){dp[io]=dp[io]+ea[k-1]*detal*clxy[1]/clxy[0];//左节点x轴方向附加载荷增加P=△l*EA/l乘其方向余弦dp[io+1]=dp[io+1]+ea[k-1]*detal*clxy[2]/clxy[0]; //y轴方向同上操作dp[jo]=dp[jo]-ea[k-1]*detal*clxy[1]/clxy[0]; //注:右节点与左节点附加温度应力相反dp[jo+1]=dp[jo+1]-ea[k-1]*detal*clxy[2]/clxy[0];}else{ko=io+2*nc;dp[jo]=dp[jo]-ea[k-1]*detal*clxy[1]/clxy[0]; //注:右节点与左节点附加温度应力相反dp[jo+1]=dp[jo+1]-ea[k-1]*detal*clxy[2]/clxy[0];fdp[ko]=fdp[ko]+ea[k-1]*detal*clxy[1]/clxy[0]; //固定节点ihl反力叠加温度应力fdp[ko+1]=fdp[ko+1]+ea[k-1]*detal*clxy[1]/clxy[0];}}}int main(){int i;printf(" *****************求解平面桁架节点位移与杆端力程序*****************\n\n");printf("\n ------------------输入数据时请用空格或回车符间隔------------------\n");printf("\n\n请输入桁架节点总数n,固定节点数nc,杆件数m:\n");scanf("%d,%d,%d",&n,&nc,&m);nn=2*(n-nc);printf("请输入节点坐标:\n");for(i=0;i<n;i++){printf("x[%d]=",i+1);scanf("%lf",&x[i]);printf("y[%d]=",i+1);scanf("%lf",&y[i]);}printf("输入杆件左右节点号:\n");for(i=0;i<m;i++){printf("ihl[%d]=",i+1);scanf("%d",&ihl[i]);printf("ihr[%d]=",i+1);scanf("%d",&ihr[i]);}printf("请输入杆件的EA值[ea]:\n");for(i=0;i<m;i++){printf("ea[%d]=",i+1);scanf("%lf",&ea[i]);}printf("请输入节点载荷[dp]:\n");for(i=0;i<nn;i++){printf("dp[%d]=",i+1);scanf("%lf",&dp[i]);}dor();choldlt();printf("是否需要考虑自重,需要请输入‘1’,不需要请输入‘0’。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现在计算外力势能。外力 P 产生势能的原因是当节 点发生位移时,外力要作功。所作功的负值便是它 们具有势能的改变量,如果取未变形位置外力的势 能为零,有 P P
1 2
V Pu1 Pu2
4 平面桁架结构 3
将 U 和 V 相加,得到总势能。
由于 V 是位移的一次函数,总势能就成为位 移的二次非齐次函数。
EF 性质数据 PX, PY 外载荷数据
5-6 位移未知数的确定
对于平面桁架,每个节点有两个自由 度,把第个 i 节点的水平位移、垂直 位移分别记为 u i,vi ,这样结构共有 2·NU个位移。
u1 w1 v w 1 2 u2 w3 v2 W ui vi u nu vnu wNDISP
FA FB N
FA和FB在x轴、y轴方向的分量分别为:
FAx FA cos N cos
FAy FA sin N sin FBx FB cos N cos FBy FB sin N sin
把⊿L代入上面的公式,得到
u A v A sin RD BV uB vB
EF N cos L
sin
cos
此时,已用全局坐标系中的位移表达出杆的内力N。
由于最终得到的平衡方程都是相对于全局坐标系建立的,上面 所计算出的内力与杆轴方向一致。假设在杆端作用平行于杆轴 的力FA、FB,则由平衡方程
v1 0 0 P
EF 1 1 u1 0 1 u2 v2 P a 2 2 2 2
EF 1 1 0 0 u2 1 v2 P a 2 2 2 2
由于桁架结构的杆件只能承受拉压力,所以 单根杆件的应变能为
EF 2 U ( L) / L 2
对于整个桁架应变能是所有杆件应变能的叠 加,即
1 5 2 U ( EF )k (L)k / Lk 2 k 1
对于该平面桁架,有
杆号 L △L 1 a v1 2 a u1-u2 3 a v2 4 sqrt(2)a (u1+ v1)/ sqrt(2) 5 sqrt(2)a (v2- u2)/ sqrt(2)
v2 N 3 EF a
v2 u1 N 5 EF 2a
应用上述各杆内点平衡方程为
N2 N4 cos 45 P 0
0
N1 N4 cos 45 0
0
N2 N5 cos 45 P 0
0
N3 N5 cos 450 0
5-5 结构计算简图的数据结构
完整而确切描述一个平面桁架结构的数据有三个方面: (1)结构本体描述数据(NW, IESG, NU, X, Y, HL, HR) (2)性质数据(EF)
NW为节点总数 IESG杆件总数 NU可动节点总数 X, Y 节点坐标
(3)荷载数据(PX, PY)
HL, HR 每根杆件两端节点编号
把上述值代入应变能表达式,得到
EF 2 2 2 2 2 U v ( u u ) v ( u v ) / 2 2 ( v u ) / 2 2 1 1 2 2 1 2 2 2 2a
由上式可见,公式中只有位移的二次项,也就是说 是位移的一个二次齐次函数,或者说是一个位移的 二次型。(位移的正定二次型,应变能总是正的)
求解方法
力法:以力未知数,必须预先满足平衡条件,然 后通过连续条件求解未知力;超静定基的选取。 位移法:以位移为未知数,各杆件的变形由相连 接的节点位移确定(变形协调条件),通过各个 节点的平衡方程求出未知位移,再由位移计算出 各杆件的内力;各节点的平衡方程也可由最小总 势能原理推导。
以平面桁架结构分析的程序设计为例,介绍结构分 析和程序设计的方法。
EF L RD EF L EF L EF L
二、位移的坐标转换
设杆端分别得到平行于xoy坐标轴的位移uA,vA,uB,vB;则 杆件的伸长量为
L u cos v sin (uB u A ) cos (vB vA ) sin
5-2 矩阵位移法算例
如图所示平面桁架,各根杆的截面积 F 相等,材料的 弹性模量E相同,在两个单位力P=1的外荷载作用下, 用位移法计算节点位移和各杆内力。
P 1 P 2
节点总数: NW=4 可动节点数:NU=2 位移未知数总数:NDISP=2*NU=4
4 平面桁架结构
3
u1 v 1 W u 2 v2
注意:节点自由 度排序和节点平 衡方程相对应。
单元局部刚度阵
考虑单根杆件在位移下产生的内力。
根据虎克定律,对于任意一根杆,有:
EF N L L
N 为杆的内 式中 L 为杆的伸长,L 为杆的长度, EF 力, L 称为单根杆的刚度(单元刚度阵)。
用RD来表示单元刚度阵,于是
EF RD L
根据最小总势能原理,在所有可能的位移状态中, 真正发生的位移状态使总势能为最小。即函数对 自变量的偏微商为零,即
(U V ) 0 (i 1, 2,3, 4) wi
式中
w1 u1 w v 2 1 W w3 u2 w4 v2
现对各位移变量分别取偏微商后,得
EF 1 1 1 u1 v1 u2 0 P a 2 2 2 2
EF 1 1 u 1 1 a 2 2 2 2 v1 0 0 P
EF 1 1 u1 0 1 u v 2 2 P a 2 2 2 2
把uA,vA,uB,vB 写成列向量{V},系数排列成行向量{B}T, 上式可以写成如下形式
L B V
T
其中
u A v A V u B vB
cos sin B cos sin
进一步有内力和节点位移之间的关系
EF N (uB u A )cos (vB vA )sin L
对于每根杆件(以两端节点编号A和B定出 角) 应用上述公式,有
v1 N1 EF a
u1 u2 N 2 EF a
u1 v1 N 4 EF 2a
平面桁架结构
结构有限元程序设计基本原理
——平面桁架程序的计算原理及程序编制
平面桁架程序的计算原理
5-01 矩阵位移法 5-02 矩阵位移法算例 5-03 最小总势能原理的应用 5-04 矩阵位移法的求解步骤 5-05 结构计算简图的数据结构 5-06 位移未知数的确定 5-07 单根杆件的分析 5-08 结构总刚度矩阵的形成 5-09 杆件内力的计算 5-10 能量原理和矩阵位移法
胡克定律可表达如下
N RD L
y
u A vA
A
u B vB
B
x
由单根杆件的变形几何关系可得 L u cos v sin (uB u A ) cos (vB vA ) sin
角是杆件轴线与 x 方向的夹角,由 x 正向逆时 针向转至杆轴的角度为正。
利用每根杆的内力-位移关系计算杆内力
N1 1 N3 1 N5 1.412
N2 0 N4 1.412
5-3 最小总势能原理的应用
最小总势能原理与位移法都是以位移为未知 数使变形状态预先满足连续条件。现对上述 例题采用最小总势能原理进行求解。
• 总势能由两部分组成
结构的弹性应变能 U 外力由于结构变位所产生的势能 V
位移的方向与坐标轴相同为正,以这 些位移作为未知数,并排列成一个列 向量,称为结构总位移向量。
第 i 个节点的位移在总位移向量中占 i0+1和i0+2位置,而i0=2*i -2。
5-7 单根杆件的分析
一、杆件在局部坐标系中的刚度矩阵
根据虎克定律,对于任意一根杆,有:
EF N L L
式中 L 为杆的伸长, L 为杆的长度, N 为杆的 内力,EF / L 称为单根杆的刚度(单元刚度阵)。
结构刚度矩阵
而外力向量为:
P P 1 P 0 2 P P3 P 0 P4
采用高斯消元法求得位移为
u1 3.824a / EF
v1 1.000a / EF
u2 u1
v2 v1
注意:节点自由度排序和节点平衡方程相对应。
将各杆的内力用位移表示的方程代入上式,有
EF 1 1 1 u1 v1 u2 0 P a 2 2 2 2
EF 1 1 u 1 1 a 2 2 2 2
未知 数为 节点 位移
EF 1 1 0 0 u2 1 v2 P a 2 2 2 2
注:值得指出的是刚度矩阵中的系数只与结构本身的几何形态和约 束条件有关,而与外载无关。
5-4 矩阵位移法的求解步骤
结构计算简图->(节点、单元编号,建立一个统一的坐标 系等) 分析节点位移的力学特性->确定位移未知数。 建立每根杆件两端位移和内力的关系->(单根杆件的刚度 矩阵) 根据每根杆件上的上述关系建立结构可动节点的平衡方程 ->(结构总刚度矩阵) 求解平衡方程,得到节点位移。 根据求得的位移,利用每根杆件位移与内力关系计算各杆 的内力。
写成矩阵形式 RW P,即正则方程。