平面桁架结构matlab
matlab桁架结构有限元计算
matlab桁架结构有限元计算(最新版)目录一、引言二、MATLAB 与桁架结构有限元计算的概述1.MATLAB 简介2.桁架结构有限元计算的基本流程三、MATLAB 在桁架结构有限元计算中的应用实例1.铝制起重机垂直和水平部分的有限元分析2.基于 MATLAB 的三维桁架有限元分析3.五杆桁架有限元分析四、MATLAB 在桁架结构有限元计算中的优势与局限1.优势2.局限五、结论正文一、引言在工程领域中,桁架结构由于其优越的力学性能和简单的结构形式,被广泛应用于桥梁、起重机、输电塔等大型工程项目中。
为了确保桁架结构的安全和稳定,对其进行有限元分析是必不可少的。
而 MATLAB 作为一种强大的数学软件,可以方便地进行有限元计算。
本文将介绍如何利用MATLAB 进行桁架结构有限元计算。
二、MATLAB 与桁架结构有限元计算的概述1.MATLAB 简介MATLAB(Matrix Laboratory)是一款广泛应用于科学计算、数据分析和可视化的软件。
它基于矩阵计算,可以方便地处理大量数据,并提供了丰富的函数库和工具箱。
2.桁架结构有限元计算的基本流程桁架结构有限元计算的基本流程包括以下几个步骤:(1)建立有限元模型:根据实际问题,建立桁架结构的有限元模型,包括节点、单元、约束和载荷等。
(2)组装刚度矩阵:根据有限元模型,组装桁架结构的刚度矩阵。
(3)施加边界条件和载荷:对桁架结构施加边界条件和载荷。
(4)求解:利用求解器求解桁架结构的内力、应力和应变等问题。
(5)后处理:对计算结果进行数据结构化保存,以便进行后期处理和分析。
三、MATLAB 在桁架结构有限元计算中的应用实例1.铝制起重机垂直和水平部分的有限元分析某铝制起重机的垂直和水平部分由铝制成,杨氏模量为 e70,gpa,横截面为 2 cm。
对角桁架构件由钢制成,杨氏模量为 e210,gpa,横截面为3 cm。
结构承受荷载 p6000,n。
假设两个支撑节点固定(即 x 和 y 位移为 0)。
MATLAB在平面桁架计算中的应用
MATLAB在平面桁架计算中的应用作者:王鹏周琪琛姚姗姗来源:《卷宗》2016年第10期摘要:本文基于平面桁架有限元分析的基本原理,利用MATLAB语言编程对有外荷载作用的平面桁架进行有限元分析,结果表明,通过MATLAB软件对平面桁架受力分析的结果与精确解吻合。
本文介绍的方法,在平面桁架有限元中具有普遍的适用性,对复杂的平面桁架结构有限元分析有一定的参考价值。
关键词:平面桁架;MATLAB;有限元分析MATLAB是以矩阵为基本的运算单元,可以灵活地进行矩阵运算、图形绘制、编程开发等,具有编程效率高、可移植性强、计算速度快等特点;有限元分析法是根据变分原理求解数学及物理问题的数值计算方法,它是随着近年来计算机技术的迅速发展而得到的广泛应用。
本文以解决一个实际的平面桁架问题为例,运用有限元分析法,并利用MATLAB软件进行编程计算来演示MATLAB软件在平面桁架中的应用。
接下来,首先介绍解决平面桁架问题的有限元分析方法。
1 平面桁架有限元分析的基本原理在用有限元法对平面桁架受力分析中,平面桁架元是分析的基本单元,它是一种二维有限元,每个平面桁架元有2个节点和3个参数,参数分别为长度L、弹性模量E和横截面积A,当假设桁架元与正方向总体X轴逆时针倾斜θ角时,并令C=Cos(θ),S=Sin(θ),则单元刚度矩阵可表示为:在有限元分析中,通过单元分析,建立单元刚度矩阵k,然后再将单元刚度矩阵通过刚度集成规则集合成结构的整体刚度矩阵K,对于一个有n个节点的结构而言,其整体的刚度矩阵K为2n×2n的矩阵,在实际MATLAB软件操作中,并不需要编写函数程序,而是直接调用相应的函数即可,正是因为这样,在用MATLAB软件进行桁架受力分析时,可以大大提高效率,节省时间。
整体刚度矩阵的函数名称为PlaneTrussAssemble。
一旦得到刚度矩阵K,就可以列出方程:式中,U代表节点的位移矢量,F是结构节点的荷载矢量,这两个边界条件需要手动赋值,然后利用高斯消元法便可求解上述方程组,一旦求解出为止的位移和支反力,就可以利用方程:求解单元的节点力。
桁架优化matlab算法
桁架优化matlab算法桁架优化Matlab 算法【引言】桁架是一种常见的结构体系,它由连接节点的杆件构成。
桁架通常在工程设计中用于支撑、加固或分散载荷。
优化桁架结构对于减少材料使用、提高结构强度和降低成本非常重要。
Matlab 是一种功能强大的计算软件,它提供了许多优化算法和工具。
本文将介绍如何使用Matlab 进行桁架优化的算法实现。
【第一步- 建立力学模型】桁架的力学模型是优化过程的基础。
在Matlab 中,可以使用矩阵表示力学模型。
首先,我们需要定义桁架的节点和杆件。
节点用坐标表示,杆件用节点之间的连接关系表示。
根据节点和杆件的定义,可以构建节点坐标矩阵和链接关系矩阵。
【第二步- 约束条件和目标函数】在进行桁架优化时,通常会遇到一些约束条件和目标函数。
典型的约束条件可能包括杆件的最大和最小尺寸限制、节点的最大和最小高度限制等。
目标函数可以是桁架的重量、刚度或模态频率等。
根据具体问题,我们需要定义合适的约束条件和目标函数。
【第三步- 优化算法】Matlab 提供了许多优化算法,如遗传算法、粒子群优化算法等。
我们需要选择合适的算法来解决桁架优化问题。
对于离散变量的优化,可以使用遗传算法。
对于连续变量的优化,可以使用粒子群优化算法。
选择合适的算法后,可以将约束条件和目标函数输入优化算法,得到优化结果。
【第四步- 结果分析】优化算法完成后,我们需要对结果进行分析。
可以通过绘制优化后的桁架结构来比较与原始结构的差异。
此外,还可以从目标函数的值来评估优化结果。
如果目标函数的值较小,则说明优化结果较优。
【第五步- 进一步优化】根据结果的分析,我们可以进一步优化桁架结构。
可以尝试使用不同的约束条件和目标函数,或者尝试其他优化算法。
通过多次迭代优化,逐步优化桁架结构,以得到更好的结果。
【第六步- 结论】通过以上的一步一步的回答,我们可以得出结论,桁架优化的Matlab 算法是一个有效的方法。
通过建立力学模型、定义约束条件和目标函数、选择合适的优化算法,我们可以获得优化后的桁架结构。
matlab桁架结构有限元计算
matlab桁架结构有限元计算摘要:一、引言- 介绍MATLAB在桁架结构有限元计算中的应用- 说明本文的主要内容和结构二、有限元计算原理- 有限元方法的背景和基本原理- 有限元方法在桁架结构分析中的应用三、MATLAB实现桁架结构有限元计算- MATLAB的基本操作和编程基础- 使用MATLAB进行桁架结构有限元计算的步骤和示例四、MATLAB桁架结构有限元计算的应用- 分析不同桁架结构的特点和计算结果- 探讨MATLAB在桁架结构有限元计算中的优势和局限五、结论- 总结MATLAB在桁架结构有限元计算中的应用和优势- 展望MATLAB在桁架结构分析中的未来发展方向正文:一、引言随着计算机技术的不断发展,有限元方法已经成为工程界解决复杂问题的重要手段。
MATLAB作为一款功能强大的数学软件,可以方便地实现桁架结构的有限元计算。
本文将介绍MATLAB在桁架结构有限元计算中的应用,并详细阐述其操作方法和计算原理。
二、有限元计算原理1.有限元方法的背景和基本原理有限元法是一种数值分析方法,通过将连续的求解域离散为离散的单元,将复杂的问题转化为求解单元的线性或非线性方程组。
有限元方法具有适应性强、精度高、计算效率高等优点,广泛应用于固体力学、流体力学、传热等领域。
2.有限元方法在桁架结构分析中的应用桁架结构是一种由杆件组成的结构,其节点只有三个自由度。
有限元方法可以有效地分析桁架结构的强度、刚度和稳定性,为工程设计提供理论依据。
三、MATLAB实现桁架结构有限元计算1.MATLAB的基本操作和编程基础MATLAB是一种功能强大的数学软件,可以进行矩阵运算、绘制图形、编写程序等操作。
在MATLAB中,用户可以通过编写脚本文件或使用图形界面进行各种计算和分析。
2.使用MATLAB进行桁架结构有限元计算的步骤和示例(1) 建立桁架结构模型:根据实际结构绘制桁架的节点和杆件,确定各节点的三自由度。
(2) 离散化:将桁架结构离散为有限个单元,每个单元包含若干个节点。
桁架单元例子MATLAB 1
The deflection for the 1st element of the beam can be written in terms of the shape functions as,
ݒ = )ݏ(ݒଵܰଵ( )ݏ+ ߠଵܰଶ( )ݏ+ ݒଶܰଷ( )ݏ+ ߠଶܰସ( )ݏെ െ െ െ െ െ െ െ െ (2.1) The deflection for the 2nd element of the beam can be written in terms of the shape functions as,
0
=
0.5
െ
െ
െ
െ
െ
െ
െ
െ
െ
െ
െ
െ
െ
െ
െ
െ(4)
(ݒ0.5) = ݒଵܰଵ(0.5) + ߠଵܰଶ(0.5) + ݒଶܰଷ(0.5) + ߠଶܰସ(0.5) = 0.01ܰଷ(0.5) = 0.0417(3 × 0.5ଶ െ 2 × 0.5ଷ) = 0.021݉
From (3.1),
ߠ(0.5)
ݏ
=
ݔെ ݔଶ (ܮଶ)
=
ݔ
ݒଶ = 0.0417 ݉ ܽ݊݀ ߠଶ = 0 ݀ܽݎ, which are the deflection and slope at the midpoint of the beam, that is at x=1m.
The deflections and slopes at points in between nodes can be interpolated using the shape functions.
matlab平面铰结桁架的总刚度矩阵
一、简介Matlab是一种用于数学计算、数据分析和可视化的强大工具,它在工程领域得到广泛应用。
在结构工程中,铰结桁架是常见的结构形式,其总刚度矩阵是描述铰结桁架结构刚度的重要参数。
本文将讨论使用Matlab计算铰结桁架的总刚度矩阵的方法和步骤。
二、铰结桁架的总刚度矩阵铰结桁架是由多个铰接连接的杆件组成的结构系统,其中铰接是指连接处可以进行旋转而不受外力的约束。
铰结桁架的总刚度矩阵是描述整个结构系统的刚度性能的矩阵,它可以通过对结构进行离散化分析得到。
总刚度矩阵的构造依赖于结构的几何形状、材料特性和边界条件等因素,因此需要进行复杂的计算。
三、 Matlab计算总刚度矩阵的方法在Matlab中,可以使用矩阵运算和函数编程来计算铰结桁架的总刚度矩阵。
首先需要定义结构的几何形状和材料特性,然后建立结构的节点和单元信息。
接着可以利用有限元分析等数值方法来进行总刚度矩阵的计算,最终得到描述结构刚度的矩阵。
四、 Matlab计算总刚度矩阵的步骤1. 定义结构的几何形状和材料特性:在Matlab中,可以通过定义结构的节点坐标、单元连接关系和材料参数等来描述结构的几何形状和材料特性。
2. 建立结构的节点和单元信息:根据结构的几何形状和材料特性,可以建立结构的节点和单元信息,以便进行后续的计算和分析。
3. 利用有限元分析进行计算:可以利用Matlab中的有限元分析函数来对结构进行离散化分析,并获取结构的总刚度矩阵。
4. 输出总刚度矩阵:最终可以通过Matlab的矩阵操作来输出铰结桁架的总刚度矩阵,用于后续的结构分析和设计工作。
五、实例分析假设有一简单的铰结桁架结构,需要计算其总刚度矩阵。
首先根据结构的几何形状和材料特性进行定义,然后建立结构的节点和单元信息。
接着利用Matlab中的有限元分析函数进行计算,最终输出结构的总刚度矩阵。
可以通过编写Matlab脚本来实现上述步骤,具体步骤如下:```定义节点坐标nodes = [0, 0; 0, 1; 1, 0; 1, 1];定义单元连接关系elements = [1, 2; 1, 3; 2, 3; 2, 4; 3, 4];定义材料参数E = 210e9; 弹性模量A = 0.01; 截面面积计算总刚度矩阵K = zeros(4, 4);for i = 1:size(elements, 1)n1 = elements(i, 1);n2 = elements(i, 2);x1 = nodes(n1, 1);y1 = nodes(n1, 2);x2 = nodes(n2, 1);y2 = nodes(n2, 2);L = sqrt((x2 - x1)^2 + (y2 - y1)^2);cos_theta = (x2 - x1) / L;sin_theta = (y2 - y1) / L;k = (E * A / L) * [cos_theta^2, cos_theta * sin_theta, -cos_theta^2, -cos_theta * sin_theta;cos_theta * sin_theta, sin_theta^2, -cos_theta * sin_theta, -sin_theta^2;-cos_theta^2, -cos_theta * sin_theta, cos_theta^2, cos_theta * sin_theta;-cos_theta * sin_theta, -sin_theta^2, cos_theta * sin_theta, sin_theta^2];index = [2 * n1 - 1, 2 * n1, 2 * n2 - 1, 2 * n2];K(index, index) = K(index, index) + k;enddisp(K);```运行上述Matlab脚本,即可得到铰结桁架结构的总刚度矩阵K。
MATLAB平面桁架算例
陈继乐专业:工程力学学号:1120150528SummaryIn this term, I have learned professional English class of Mr. Sun. There are five students in this class. Each of us would make a presentation in class. I have learned a lot. Here is the main content of my presentations.1. The Introduction of mechanics of materialsThe research object of mechanics of materials is structure member. Structure members include bar,rod,plate,shell and clump body. Bar and rod are the main objects of mechanic of material. The task of mechanics of materials is as following. Under the request that the strength, rigidity, stability is satisfied, offering the necessary theoretical foundation and calculation method for determining reasonable shapes and dimensions, choosing proper materials for the components at the most economic price. There are four assumptions of the solid deformable bodies including continuity, homogeneity, isotropy and small deformations. Basic types of the deformation of rods are axial tension, shear, torsion and bending.2.Statically determinate problemsIf forces act on a body, the lines of action of these forces are in the same place, which called coplanar forces system. To a general coplanar force system, there are three independent equations which can determine 3 unknown quantities. That are 0=∑X , 0=∑Y , ∑=0)(F m o , whichmean the total force in x axis and y axis are equal to zero and the total moment of point O is equal to zero. When the number of equations is larger than or equal to the number of unknown quantities, it is a statically determinate problem. When the number of equations is less than to the number of unknown quantities, it is a statically indeterminate problem. And statically indeterminate problems can be solved by the conditions of compatibility.3.Plane trussesA truss is a structure that is made of straight, slender bars that are joined together to form a pattern of triangles. There are three assumptions of plane trusses. 1. the weights of the members are negligible.2 . all joints are pin. 3 .the applied forces act at joints.According to three assumptions, we can get conclusion that each member of a truss is a two-force body. And there are two methods of calculation of the forces in the members ofa truss,1. Method of joint. 2 .Method of section.positive Motion of a ParticleIn practice, we often observe the motion with respect to a moving body. There may exist relationship between two different objects.There are two coordinate systems. A coordinate system fixed to the earth ground is called static coordinate system (SCS). A coordinate system fixed to a moving object relative to the earth ground is called moving coordinate system (MCS). There are three kinds of motion andtheir velocities. The motion of the moving point relative to the SCS is called absolute motion. The motion of the moving point relative to the MCS is called relative motion. The motion of the MCS relative to the SCS is called converted motion. The velocity and acceleration of the moving point in its absolute motion are called absolute velocity. The velocity of the convected point in its absolute motion is called convected velocity. The velocity of the moving point in its relative motion is called relative velocity.There exists relationship among the three velocities. At any instant of time, the absolute velocity of a moving point equals the geometric sum of its relative velocity and convected velocity. This is the theorem of composition of velocities of a particle.Those are the main contents of my presentations.I have learned a lot from the professional English class. When I do my first presentation, I was nervous and I didn’t do well. But I made progress in the following class. After each presentation, Mr. Sun would tell me how I should do to do better. I find many shortcoming of mine. And I have learned the advantages of my classmates. I will study harder and I hope I can do better in the future.总结在本学期,我学习了孙老师的专业英语这门课程。
桁架结构及有限元分析MATLAB
桁架结构及有限元分析MATLAB桁架结构是一种由杆件和节点连接而成的结构系统。
它的主要特点是具有良好的刚性和承载能力,适用于跨度较大的建筑物或桥梁。
桁架结构的设计和分析是工程领域中重要的课题。
有限元分析是一种常用的方法,用于对桁架结构进行力学和结构分析。
MATLAB是一种强大的数学建模和计算工具,可以方便地进行有限元分析。
在进行桁架结构的有限元分析之前,首先需要进行结构的建模。
可以使用MATLAB中的节点和杆件来建立桁架结构的几何模型。
节点代表结构中的连接点,杆件代表连接节点的杆件。
接下来,需要将结构分割为有限元网格。
在MATLAB中,可以使用二维和三维有限元网格生成函数来生成网格。
生成的网格可以根据需要的精度进行调整。
每个有限元包含一个或多个节点和杆件,用于描述局部的力学行为。
在有限元分析中,需要考虑材料的力学性质。
可以通过定义材料的模量、泊松比和密度等参数来描述材料的本构关系。
在MATLAB中,可以使用材料库函数来定义不同材料的力学性质。
进行有限元分析时,需要考虑结构的边界条件和加载条件。
边界条件包括固定边界和位移约束,加载条件可以是力、压力或扭矩等。
在MATLAB中,可以使用边界条件函数来定义结构的边界条件和加载条件。
在有限元分析的过程中,需要对结构进行求解。
可以使用线性或非线性求解算法来计算结构的位移和应力等。
MATLAB中提供了多种求解器和求解方法,可以根据需要选择适合的求解算法。
完成有限元分析后,可以进行结果的后处理。
可以使用MATLAB中的可视化工具来绘制结构的位移和应力云图,以及显示结构的反应力和形变等。
可以通过对结果进行分析和比较,评估结构的可靠性和安全性。
总之,使用MATLAB进行桁架结构的有限元分析可以帮助工程师深入了解结构的力学行为和性能。
它可以为结构的设计和优化提供依据,并帮助工程师制定提高结构性能的策略。
同时,MATLAB提供了丰富的功能和工具,使得桁架结构的分析和设计更加高效和准确。
有限元方法与MATLAB程序设计 第3章 桁架和刚架
Fe keUe
Ue TUe
结构坐标系下的 单元刚度方程
9
结构坐标系下单元刚度矩阵 ke T TkeT
c cos s sin
y
Fe keUe
y
i (xi , yi )
(xj, yj ) x j
x
结构坐标系
cos sin 0
0 1 0 1 0 e cos sin 0
0
ke
EA sin
Fyi
Fxj Fyj
EA l
0
1
0
0 0 0
0 1 0
0
vi
0 0
u v
j j
单元坐标系下的 1 0 1 0
单元刚度矩阵
ke
EA l
0
1
0 0
0 1
0 0
0
0
0
0
7
§3.1.3 整体坐标系下的单元刚度方程
Fxi Fxi cos Fyi sin Fyi Fxi sin Fyi cos Fxj Fxj cos Fyj sin
是结构坐标系x轴正方 向至单元坐标轴x 的角度
y
x
y Fxi i
Fxi Fyi Fyi
x
结构(整体)坐标系
Fyj Fxj sin Fyj cos
Fxi Fyi
Fxj
Fyj
e
cos
sin
0
0
sin cos
0 0
0 0
cos sin
0
e
Fxi
e0Fyi源自sin cosFxj
Fyj
Fe TFe Ue TUe
cos
T sin
0
0
sin cos
桁架结构MATLAB编程
桁架结构% 变量说明% NPOIN NELEM NVFIX NFPOIN NFPRES% 总结点数,单元数, 约束个数, 受力结点数, 非结点力数% COORD LNODS YOUNG% 结构节点坐标数组, 单元定义数组, 弹性模量% FPOIN FPRES FORCE FIXED% 结点力数组,非结点力数组,总体荷载向量, 约束信息数组% HK DISP% 总体刚度矩阵,结点位移向量%**************************************************format short e%设定输出类型clear %清除内存变量FP1=fopen('6-6.txt','rt'); %打开初始数据文件%读入控制数据NELEM=fscanf(FP1,'%d',1); %单元数NPOIN=fscanf(FP1,'%d',1); %结点数NVFIX=fscanf(FP1,'%d',1); %约束数NFPOIN=fscanf(FP1,'%d',1); %结点荷载数NFPRES=fscanf(FP1,'%d',1); %非结点荷载数YOUNG=fscanf(FP1,'%f',1); %弹性模量% 读取结构信息LNODS=fscanf(FP1,'%f',[4,NELEM])'% 单元定义:左、右结点号,面积,惯性矩(共计 NELEM组)COORD=fscanf(FP1,'%f',[2,NPOIN])'% 坐标: x,y坐标(共计 NPOIN 组)FPOIN=fscanf(FP1,'%f',[3,NFPOIN])'% 节点力(共计 NFPOIN 组):结点号、X方向力(向右正),% Y方向力(向上正),FPRES=fscanf(FP1,'%f',[4,NFPRES])' % 均布力(共计% NFPRES 组):单元号、荷载类型、荷载大小、距离左端长度FIXED=fscanf(FP1,'%f',NVFIX)'% 约束信息:约束对应的位移编码(共计 NVFIX 组)%---------------------------------------------------------HK=zeros(2*NPOIN,2*NPOIN); % 张成总刚矩阵并清零FORCE=zeros(2*NPOIN,1); % 张成总荷载向量并清零%形成总刚for i=1:NELEM % 对单元个数循环% 生成局部单刚(局部坐标) 右手坐标系EK=ele_EK(i,LNODS,COORD,YOUNG);T=zbzh(i,LNODS,COORD); % 坐标转换矩阵EKT=T'*EK*T; % 生成整体单刚(整体坐标系)% 组成总刚按2*2子块加入总刚中(共计4块)for j=1:2 %对行进行循环---按结点号循环N1=LNODS(i,j)*2; % j结点第2个位移的整体编码for k=1:2 %对列进行循环---按结点号循环N2=LNODS(i,k)*2; % k结点第2个位移的整体编码HK((N1-1):N1,(N2-1):N2)=HK((N1-1):N1,(N2-1):N2)...+EKT(j*2-1:j*2,k*2-1:k*2);endendend% 由结点力与非结点力生成总荷载向量列阵for i=1:NFPOIN % 对结点荷载个数进行循环N1=FPOIN(i,1); % 作用荷载的结点号N1=N1*2-2; % 该结点号对应第一个位移编码 - 1for j=1:2FORCE(N1+j)=FORCE(N1+j)+FPOIN(i,j+1);%取结点荷载endend% 计算由非结点荷载引起的等效结点荷载for i=1:NFPRES % 对非结点荷载个数进行循环F0=ele_FPRES(i,FPRES,LNODS,COORD); %计算单元固端力% 对单元局部杆端力要进行坐标转换T=zbzh(i,LNODS,COORD); % 坐标转换矩阵F0=T'*F0;ele=FPRES(i,1); % 取荷载所在的单元号NL=LNODS(ele,1); NR=LNODS(ele,2); %单元的左右结点号% 将单元固端力变成等效结点荷载(注意固端力与等效结点荷载符号相反)FORCE((3*NL-2):3*NL)=FORCE((3*NL-2):3*NL)-F0(1:3);FORCE((3*NR-2):3*NR)=FORCE((3*NR-2):3*NR)-F0(4:6);end% 总刚、总荷载进行边界条件处理for j=1:NVFIX % 对约束个数进行循环N1=FIXED(j);HK(1:2*NPOIN,N1)=0; HK(N1,1:2*NPOIN)=0; HK(N1,N1)=1;% 将零位移约束对应的行、列变成零,主元变成1FORCE(N1)=0;end%---------------------------------------------------------DISP=HK\FORCE % 方程求解,HK先求逆再与力向量左乘%---------------------------------------------------------% 求结构各个单元内力EDISP=zeros(4,1); % 单元位移列向量清零for i=1:NELEM % 对单元个数进行循环for j=1:2 %对杆端循环% i单元左右端结点号*2 = 该结点的最后一个位移编码N1=LNODS(i,j)*2;% 取一端的单元位移列向量EDISP(2*j-1:2*j)=DISP(N1-1:N1);end% 生成局部单刚(局部坐标) 右手坐标系EK=ele_EK(i,LNODS,COORD,YOUNG);T=zbzh(i,LNODS,COORD); % 坐标转换矩阵FE=EK*T*EDISP; %计算局部坐标杆端力(由结点位移产生)for j=1:NFPRESif FPRES(j,1) == i %成立时,当前单元上有非结点荷载F0=ele_FPRES(j,FPRES,LNODS,COORD);%单元固端力FE=FE+F0; % 考虑由非结点荷载引起的杆端力endendFE % 打印杆端力end%-------------------------------------------------------------------------------- % 计算桁架单元刚度矩阵函数 EK% 入口参数:单元号、单元信息数组、结点坐标、弹性模量% 出口参数:局部桁架单元刚度矩阵EKfunction EK=ele_EK(i,LNODS,COORD,YOUNG)NL=LNODS(i,1); NR=LNODS(i,2); %左右结点号dx=COORD(NR,1)-COORD(NL,1); % x 坐标差dy=COORD(NR,2)-COORD(NL,2); % y 坐标差L=sqrt(dx^2+dy^2); %单元长度A=LNODS(i,3); %面积;E=YOUNG;% 生成单刚(局部坐标) 右手坐标系EK =[E*A/L 0 -E*A/L 0 ;...0 0 0 0 ;...-E*A/L 0 E*A/L 0 ;...0 0 0 0 ];return%---------------------------------------------------------------------------------%计算单元固端力函数(正方向:X向右 Y向上 M逆时针)% 入口参数:荷载序号,荷载信息,单元信息,结点坐标% 出口参数:单元固端力——左右两端的轴力、剪力、弯矩function F0=ele_FPRES(iFPRES,FPRES,LNODS,COORD)ele=FPRES(iFPRES,1); %取荷载所在的单元号G=FPRES(iFPRES,3); %单元荷载大小C=FPRES(iFPRES,4); %单元荷载与左端距离NL=LNODS(ele,1); NR=LNODS(ele,2); %单元的左右结点号dx=COORD(NR,1)-COORD(NL,1); % x 坐标差dy=COORD(NR,2)-COORD(NL,2); % y 坐标差L=sqrt(dx^2+dy^2); %单元长度% 计算公式中一些常出现的项D=L-C; C1=C/L; C2=C1*C1; C3=C1*C2;B1=D/L; B2=B1/L;F0=[0;0;0;0;0;0]; %单元固端力清零switch FPRES(iFPRES,2)case 1 %均布荷载F0(2)=-G*C*(2-2*C2+C3)/2.0;F0(3)=-G*C*C*(6-8*C1+3*C2)/12.0;F0(5)=-G*C-F0(2);F0(6)=G*C*C*C1*(4-3*C1)/12.0;case 2 %横向集中力F0(2)=-G*B1*B2*(L+2*C);F0(3)=-G*C*B1*B1;F0(5)=-G*C2*(L+2*D)/L;F0(6)=G*D*C2;case 3 %纵向集中力F0(1)=-G*B1;F0(4)=-G*C1;endreturn%-------------------------------------------------------------------------------- % 形成第i单元的坐标转换矩阵函数 T(4,4)% 入口参数:单元号,单元信息,结点坐标% 出口参数:坐标转换矩阵(整体向局部投影)function T=zbzh(i,LNODS,COORD)NL=LNODS(i,1); %左结点号NR=LNODS(i,2); %右结点号dx=COORD(NR,1)-COORD(NL,1); % x 坐标差dy=COORD(NR,2)-COORD(NL,2); % y 坐标差L=sqrt(dx^2+dy^2); % 单元长度c=dx/L; % cos a (与 x 轴夹角余弦) s=dy/L; % sin aT=[ c s 0 0;...-s c 0 0;...0 0 c s0 0 -s c ];return6-6.txt文件数据:4 45 2 0 2.95e111 2 0.001 13 2 0.001 11 3 0.001 14 3 0.001 10 00.4 00.4 0.30 0.32 2e4 03 0 -2.5e41 2 4 7 8。
桁架优化matlab算法 -回复
桁架优化matlab算法-回复【桁架优化matlab算法】一步一步解析【引言】在工程设计中,桁架结构是一种常见的结构形式,具有轻量、高强度和刚度等优势。
然而,在实际应用中,如何对桁架结构进行优化设计仍然是一个挑战。
近年来,随着计算机技术的快速发展,使用计算机辅助设计工具如MATLAB 对桁架结构进行优化已经成为一种非常有效的途径。
本文将介绍一种基于MATLAB 的桁架优化算法,并一步一步解析其实现过程。
【主体】一、问题定义在进行桁架优化设计之前,首先需要明确问题的定义和目标。
例如,在设计一种承重桁架结构时,可能会面临以下问题:给定一组约束条件,如承重要求、材料限制等,如何确定桁架结构的杆件尺寸、形状以及连接方式等,使得其重量最小、刚度最大并满足所有约束条件?二、建立数学模型为了能够用数学方法进行桁架优化设计,首先需要建立桁架的数学模型。
通常采用力法进行计算,即将桁架结构转化为节点和杆件组成的力学系统。
在MATLAB 中,可以采用矩阵运算和方程求解的方法,建立桁架结构的总刚度矩阵和载荷向量。
三、确定优化算法在确定桁架的数学模型后,接下来需要选择适用的优化算法。
常用的优化算法有遗传算法、模拟退火算法等。
这些算法能够在解空间中搜索最优解,并在每一次迭代中更新设计变量。
在MATLAB 中,可以使用内置的优化工具箱或自定义函数来实现优化算法。
四、设计变量和约束条件在桁架优化设计中,设计变量通常包括杆件的尺寸、截面形状以及连接方式等。
约束条件可以是杆件的强度、刚度要求,总重量的限制等。
在MATLAB 中,可以使用向量或矩阵的方式来表示设计变量和约束条件,并在优化算法中进行限制。
五、编写MATLAB 代码根据桁架优化的数学模型、选择的优化算法和设计变量、约束条件,可以编写相应的MATLAB 代码。
首先,需要编写函数来计算桁架结构的总刚度矩阵和载荷向量。
其次,编写优化算法代码,包括初始化设计变量、设置优化参数和约束条件、迭代搜索等。
matlab桁架结构有限元计算
matlab桁架结构有限元计算摘要本文介绍了使用M ATL A B进行桁架结构有限元计算的方法。
首先,我们将讨论桁架结构的基本概念和有限元分析的原理。
然后,我们将详细介绍如何使用MA TL AB建立桁架结构的有限元模型,并进行力学分析。
最后,我们将通过一个案例演示如何使用MA TL AB进行桁架结构的有限元计算,以及如何分析结果。
1.引言桁架结构是一种由杆件和节点组成的空间结构。
它具有轻巧、刚性和稳定等特点,在工程领域中得到了广泛应用。
有限元方法是一种常用的工程分析方法,可以用于求解桁架结构的应力、变形等问题。
MA T LA B是一个功能强大的计算软件,具有丰富的工具箱和便于使用的界面,可以用于桁架结构的有限元分析。
2.桁架结构的基本概念桁架结构由若干杆件和节点组成,杆件可以看作是刚性杆,节点是杆件的连接点。
桁架结构常用于承受桥梁、建筑物等结构的荷载。
桁架结构的节点可以是固定支撑、铰支撑或滑动支撑等。
杆件可以是直杆、曲杆或弯曲杆等。
桁架结构的力学行为可以通过有限元方法进行分析。
3.有限元分析的原理有限元分析是一种将复杂结构离散化为单元,通过对单元的力学计算得到整体结构的力学行为的方法。
有限元分析的基本步骤包括离散化、建立单元模型、求解节点位移和计算单元力等。
在桁架结构的有限元分析中,常用的单元类型有一维梁单元和杆单元。
4.使用MAT LAB进行桁架结构有限元分析使用MA TL AB进行桁架结构有限元分析的步骤如下:4.1建立有限元模型首先,需要根据实际情况确定桁架结构的几何尺寸和材料属性,然后使用MA TL AB的有限元建模工具箱创建桁架结构的有限元模型。
模型的建立包括定义节点、杆件和单元,设置边界条件和加载。
4.2求解节点位移和单元力通过求解有限元方程,可以得到桁架结构的节点位移和单元力。
M A TL AB提供了一系列用于求解线性方程组的函数,可以快速得到结果。
4.3分析结果得到节点位移和单元力后,可以进行进一步的分析。
基于MATLAB的桁架结构优化设计
基于MAT LAB 的桁架结构优化设计林 琳 张云波(华侨大学土木系福建泉州 362011) 【摘 要】 介绍了基于BP 神经网络的全局性结构近似分析方法,解决了结构优化设计问题中变量的非线性映射问题。
在此基础上,利用改进的遗传算法,对桁架结构在满足应力约束条件下进行结构最轻优化设计。
利用Matlab 的神经网络工具箱,编程求解了三杆桁架优化问题。
【关键词】 改进遗传算法;BP 神经网络;结构优化设计;满应力准则【中图分类号】 T U20114 【文献标识码】 A 【文章编号】 100126864(2003)01-0034-03TRUSS STRUCTURA L OPTIMIZATON BASE D ON MAT LABLI N Lin ZH ANG Y unbo(Dept.of Civil Engineering ,Huaqiao University ,Quanzhou ,362011) Abstract :Optimal structural design method based on BP neural netw ork and m odified genetic alg orithm were proposed in this paper.The high parallelism and non -linear mapping of BP neural netw ork ,an approach to the global structural approximation analysis was introduced.It can s olve the mapping of design variables in structural optimization problems.C ombining with an im proved genetic alg orithm ,the truss structure is optimized to satis fy the full stress criteria.Under the condition of MAT LAB 5.3,an exam ple of truss structure has been s olved by this method.K ey w ords :G enetic alg orithm ;BP neural netw ork ;Structural optimization design ;Full stress principle 结构优化设计,就是在满足结构的使用和安全要求的基础上,降低工程造价,更好地发挥投资效益。
桁架结构的有限元分析MATLAB
桁架结构的有限元分析MATLAB桁架结构是一种由直杆或斜杆连接而成的稳定结构,在工程应用中较为常见。
有限元分析(Finite Element Analysis,FEA)是一种利用数值方法解决结构力学问题的工具。
本文将介绍如何使用MATLAB进行桁架结构的有限元分析,并对其进行1200字以上的详细描述。
在进行桁架结构有限元分析前,需要先进行结构建模以及材料属性和加载条件的定义。
这些定义可以通过MATLAB命令行或者编写MATLAB脚本文件实现。
首先,我们需要定义桁架结构的节点和单元。
节点用于表示桁架结构的连接点,单元用于表示相邻节点之间的连接关系。
可以使用MATLAB中的矩阵表示节点和单元,如下所示:nodes = [x1, y1; x2, y2; ...; xn, yn];elements = [n1, n2; n3, n4; ...; nm, np];```其中,`nodes`是一个n行2列的矩阵,表示n个节点的坐标;`elements`是一个m行2列的矩阵,表示m个单元的节点连接关系。
接下来,我们需要定义材料属性和加载条件。
材料属性包括杨氏模量和截面面积等参数,加载条件包括节点的约束和外部加载。
可以使用MATLAB中的矩阵或者结构体表示材料属性和加载条件,如下所示:materials = struct('E', E1, 'A', A1; 'E', E2, 'A', A2; ...);constraints = [n1, d1x, d1y; ...; nm, dmx, dmy];loads = [n1, F1x, F1y; ...; nl, Flx, Fly];```其中,`materials`是一个结构体数组,每个结构体包含材料的杨氏模量(E)和截面面积(A);`constraints`是一个m行3列的矩阵,表示m个节点的约束,其中d1x和d1y分别表示节点的x方向和y方向位移约束;`loads`是一个l行3列的矩阵,表示l个节点的外部加载,其中F1x和F1y分别表示节点的x方向和y方向外部力。
matlab桁架结构有限元计算
matlab桁架结构有限元计算
在MATLAB中,进行桁架结构的有限元计算可以按照以下步
骤进行:
1. 定义节点和单元:根据实际问题的几何形状和拓扑关系,定义桁架结构的节点和单元。
节点是桁架结构的连接点,单元是连接节点的构件。
2. 定义材料属性和截面属性:根据实际问题的材料和截面要求,定义桁架结构的材料属性和截面属性。
材料属性包括弹性模量和泊松比等,截面属性包括截面面积和惯性矩等。
3. 组装刚度矩阵:根据节点和单元的几何形状和材料属性,计算每个单元的局部刚度矩阵,然后根据单元和节点的连接关系,将局部刚度矩阵组装成整体刚度矩阵。
4. 施加边界条件:根据实际问题的边界条件,将边界节点的位移固定为零,或施加位移或力的约束条件。
5. 求解位移和反力:使用求解线性方程组的方法,求解位移和反力。
可以使用MATLAB中的线性方程组求解函数(如'\''运
算符)来计算。
6. 计算应力和应变:根据位移和节点的几何形状,计算节点上的应变,然后根据材料属性,计算节点上的应力。
以上步骤涵盖了桁架结构的有限元计算的基本流程,具体实现时需要根据实际问题进行适当的调整和扩展。
matlab中关于桁架问题的程序
clear; %清除内存变量ss1=input('give a data filename:','s');fp1=fopen(ss1,'r');ss2=input('give a result filename:','s');fp2=fopen(ss2,'w');%1.读入结构数据、建立累积约束表向量、建立结构刚度矩阵%1.1.结构参数和弹性模量[m,c]=fscanf(fp1,'%u',[1]); %杆件数[nj,c]=fscanf(fp1,'%u',[1]); %节点数[nrj,c]=fscanf(fp1,'%u',[1]); %约束节点[e,c]=fscanf(fp1,'%e',[1]); %弹性模量fprintf(fp2,'(1)结构参数和弹性模量\n');fprintf(fp2,'杆件数节点数约束节点数弹性模量\n');fprintf(fp2,'%3u %8u %8u %13.3e\n',m,nj,nrj,e);fprintf(fp2,'\n');%1.2. 节点坐标pc(1:2,1:nj)=0for jx=1:nj[k,c]=fscanf(fp1,'%u',[1]); %节点号[pc(:,k),c]=fscanf(fp1,'%f',[2]); %x坐标、y坐标endfprintf(fp2,'(2)节点坐标\n');fprintf(fp2,'节点号x坐标y坐标\n');fprintf(fp2,'%3u %13.3e %13.3e\n',[1:nj;pc(:,1:nj)]);fprintf(fp2,'\n');%1.3.杆件标号与截面特性jj(1:m)=0; jk(1:m)=0; ax(1:m)=0; iz(1:m)=0;for imx=1:m[k,c]=fscanf(fp1,'%u',[1]); %杆件号[jj(k),c]=fscanf(fp1,'%u',[1]); %j端点号[jk(k),c]=fscanf(fp1,'%u',[1]); %k端点号[ax(k),c]=fscanf(fp1,'%f',[1]); %截面积[iz(k),c]=fscanf(fp1,'%f\n',[1]); %杆件号endfprintf(fp2,'(3)杆件标号与截面特性\n');fprintf(fp2,'杆件号j端点号k端点号截面积截面惯性矩\n');fprintf(fp2,'%3u %8u%8u %13.3e%13.3e\n',[1:m;jj(1:m);jk(1:m);ax(1:m);iz(1:m)]); fprintf(fp2,'\n');%1.4.di和dj取值di(1:m)=0; dj(1:m)=0;for imx=1:m[k1(imx),c]=fscanf(fp1,'%u',[1]);[di(k1(imx)),c]=fscanf(fp1,'%f',[1]);[dj(k1(imx)),c]=fscanf(fp1,'%f',[1]);endfprintf(fp2,'(4)杆件标号与两端刚域\n');fprintf(fp2,'杆件号j端刚域k端刚域\n');fprintf(fp2,'%3u %13.3e %13.3e\n',[1:m;di(1:m);dj(1:m)]);fprintf(fp2,'\n');%1.5.节点约束情况fprintf(fp2,'(5)节点约束情况\n');fprintf(fp2,'受约束点号x向约束情况y向约束情况z约束情况\n');rl(1:3*nj)=0;for jx=1:nrj[k,c]=fscanf(fp1,'%u',[1]); %受约束节点号[rl(3*k-2:3*k),c]=fscanf(fp1,'%f',[3]); %x向约束情况y向约束情况z约束情况fprintf(fp2,'%5u %12u%12u%12u\n',k,rl(3*k-2:3*k));endfprintf(fp2,'\n');%1.6.建立累积约束表向量crl(1:3*nj)=0;[n,nr,crl]=Cu(3*nj,rl);fprintf(fp2,'(5)非约束位移数约束位移数\n');fprintf(fp2,'%10u %10u\n',n,nr);fprintf(fp2,'\n');H(1:6,1:6)=0;%1.7. 装配总节点刚度矩阵sj(1:3*nj,1:3*nj)=0;for imx=1:mH(1:6,1:6)=[1 0 0 0 0 0;0 1 di(k1(imx)) 0 0 0;0 0 1 0 0 0;0 0 0 1 0 0;0 0 0 0 1 -dj(k1(imx));0 0 0 0 0 1];sm=Psm(pc(:,jj(imx)),pc(:,jk(imx)),ax(imx),iz(imx),e);sm2=H(1:6,1:6)'*sm*H(1:6,1:6);RT=PRT(pc(:,jj(imx)),pc(:,jk(imx)));smd=RT'*sm2*RT;j=[3*jj(imx)-2:3*jj(imx),3*jk(imx)-2:3*jk(imx)]; %计算杆端位移对应的总节点位移标号sj(j(1:6),j(1:6))= sj(j(1:6),j(1:6))+smd(1:6,1:6);end%1.8. 对应非约束位移、约束位移、将总节点刚度矩阵sj重新排列s(crl(1:3*nj),crl(1:3*nj))=sj(1:3*nj,1:3*nj);%2. 读入荷载数据、构建约束杆端力、构建综合节点荷载%2.1. 读入荷载节点数、集中荷载杆件数、分布荷载杆件数[nlj,c]=fscanf(fp1,'%u',[1]); %荷载节点数[nla,c]=fscanf(fp1,'%u',[1]); %集中荷载杆件数[nlq,c]=fscanf(fp1,'%u',[1]); %分布荷载杆件数fprintf(fp2,'(7)荷载节点数集中荷载杆件数分布荷载杆件数\n');fprintf(fp2,'%10u %10u %10u\n',nlj,nla,nlq);fprintf(fp2,'\n');%2.2. 节点荷载fprintf(fp2,'(8)节点荷载\n');fprintf(fp2,'节点号x向线力y向线力z向力偶\n');ac(1:3*nj,1:1)=0;for jx=1:nlj[k,c]=fscanf(fp1,'%u',[1]); %受荷载节点号[aj,c]=fscanf(fp1,'%f',[3]); %x向线力y向线力z向力偶fprintf(fp2,'%3u %13.3e%13.3e%13.3e\n',k,aj);ac(3*k-2:3*k)=ac(3*k-2:3*k)+aj(1:3);endfprintf(fp2,'\n');%2.3.杆件上集中荷载fprintf(fp2,'(9)杆件上集中荷载\n');fprintf(fp2,'杆件号x向线力y向线力z向力偶作用点距杆j端距离\n');aml(1:6,1:m)=0;for imx=1:nla[ia,c]=fscanf(fp1,'%u',[1]); %杆件号[as,c]=fscanf(fp1,'%f',[3]); %x向线力y向线力z向力偶[xa,c]=fscanf(fp1,'%f',[1]); %集中荷载杆端距fprintf(fp2,'%3u %13.3e%13.3e%13.3e%13.3e\n',ia,as,xa);amx=PamlC(pc(:,jj(ia)),pc(:,jk(ia)),as,di(k1(imx)),dj(k1(imx)),xa);aml(:,ia)=aml(:,ia)+amx(:); %累加约束杆端力endfprintf(fp2,'\n');%2.4.杆件上分布荷载fprintf(fp2,'(10)杆件上分布荷载\n');fprintf(fp2,'杆件号起点x向集度终点x向集度起点y向集度终点y向集度起点距j端距离终点距j端距离\n');for imx=1:nlq[iq,c]=fscanf(fp1,'%u',[1]); %杆件号[q,c]=fscanf(fp1,'%f',[4]); %起点x向集度终点x向集度起点y向集度终点y向集度[xq,c]=fscanf(fp1,'%f',[2]); %起点距j端距离终点距j端距离fprintf(fp2,'%3u %14.3e%14.3e%14.3e%14.3e%14.3e\n',iq,q,xq);amx=PamlD(pc(:,jj(iq)),pc(:,jk(iq)),q,xq);aml(:,iq)=aml(:,iq)+amx(:); %累加约束杆端力endfprintf(fp2,'\n');fclose(fp1); %关闭输入数据文件fprintf(fp2,'(111)约束杆端力\n');fprintf(fp2,'杆件号j/k端号xm向线约束力ym向线约束力zm向约束弯矩\n');fprintf(fp2,'%3u %6u %14.3e%14.3e%14.3e\n %6u %14.3e%14.3e%14.3e\n',[1:m;jj(1:m);aml( 1:3,1:m);jk(1:m);aml(4:6,1:m)]);fprintf(fp2,'\n');%2.5.计算等效节点荷载,累加到综合节点荷载中for im=1:mRT=PRT(pc(:,jj(im)),pc(:,jk(im)));j=[3*jj(im)-2:3*jj(im) 3*jk(im)-2:3*jk(im)];ac(j(1:6))=ac(j(1:6))-RT'*aml(1:6,im);endfprintf(fp2,'(12)综合节点荷载\n');fprintf(fp2,'节点号x向线力y向线力z向力偶\n');for ja=1:njfprintf(fp2,'%3u %13.3e%13.3e%13.3e\n',ja,ac(3*ja-2:3*ja));endfprintf(fp2,'\n');%2.6.对应非约束位移、约束位移,将综合节点荷载ac重新排列ac(crl(1:3*nj))=ac(1:3*nj);%3.计算非约束位移、支座反力,并构建总节点位移向量[d,r]=St(n,nr,s,ac,crl);fprintf(fp2,'(13)节点位移与支座反力\n');fprintf(fp2,'节点号x向线位移y向线位移z向角位移x向支座反力y向支座反力z向支座反力矩\n');for je=1:njfprintf(fp2,'%3u %13.3e%13.3e%13.3e%13.3e%13.3e%13.3e\n',je,d(3*je-2:3*je),r(3*je-2:3*je)); endfprintf(fp2,'\n');%4.计算最终杆端力for im=1:mRT=PRT(pc(:,jj(im)),pc(:,jk(im)));j=[3*jj(im)-2:3*jj(im),3*jk(im)-2:3*jk(im)];aml(:,im)=aml(:,im)+sm2*RT*d(j(1:6));endfprintf(fp2,'(14)最终杆端力\n');fprintf(fp2,'杆件号j/k端号xm向轴力ym向剪力zm向弯矩\n');fprintf(fp2,'%3u %7u %14.3e%14.3e%14.3e\n %7u %14.3e%14.3e%14.3e\n',[1:m;jj(1:m);aml( 1:3,1:m);jk(1:m);aml(4:6,1:m)]);fclose(fp2); %关闭计算结果数据文件。
有限元的matlab编程
本程序的网架位移求解函数附在主程序后面,主程序运行时调用该函数。
完整ppt
14
几何建模 定义荷载
用自定义输入
加下划线的为单元编号
完整ppt
5
形成等效荷载列阵
f=[0;0;0;a;0;0;0;a;0;0;0;a;0;0;0;a;0;0;0;a];%每个节点两个自由度,a 为之前输入的节点力
集成总刚:
获取单元两端节点坐标
xi = Node( Element( ie, 1 ), 1 ) ;%ie为单元号,以下相同 yi = Node( Element( ie, 1 ), 2 ) ; xj = Node( Element( ie, 2 ), 1 ) ; yj = Node( Element( ie, 2 ), 2 ) ;
节点号:',num2str(Element(ie,2)),' 轴力:',num2str(nodef(1))] ) ;
完整ppt
12
end
例二:网架
完整ppt
13
思路分析
几点说明
网架是由多根杆件按照一定的网格形式通过节点连结而成的空间结构。构成 网架的基本单元有三角锥,三棱体,正方体,截头四角锥等。鉴于网架的形 式较多,本程序提供一种通用的网架输入方法,但录入较为繁琐,同时提供 一种正放四角锥网架的简易输入方法作为典型。
有限元编程示例
完整ppt
1
例一:桁架
题目描述:
如下图所示的平面桁架,杆件长度、弹性模量、截 面积以及所受节点力P的大小可以自行定义。求节 点位移及杆件轴力。
桁架结构的有限元分析MATLAB
然后根据各杆的节点号对单刚进行叠加得到总刚
根据位移向量,对总刚划行划列。对1、3节点上的力进行分解,分解成X、Y方向的位移,得到力矩阵, 。由方程 求得未知的节点位移。最后可根据公式 求得各杆的内力如下:
, , ,
,
改变力的大小,重新对桁架进行内力分析,由于杆件尺寸没有变化,所以总刚不变,只需改变力矩阵即可得到结果。
在建筑结构中,桁架结构是一种应用比较普遍的结构形式,在桥梁工程、大型建筑、船舶工程、港口机械等工程领域均有广泛应用。在我国桁架结构发展迅速且应用最为广泛,如屋架、网架结构等。为了增加建筑的表现力,近些年来管桁架结构得到了许多业主的青睐,在大量的屋面结构中采用。
2.目前问题的研究现状
目前在普遍刚桁架的结构设计中,工程中普遍采用的发放时按理想铰接模型进行计算,并很据计算出的杆件界面应力选择合适的杆件型号。计算桁架结构内力时,一般采用如下基本假定:(1)接单均为铰接;(2)杆件轴线平直相交于节点中心;(3)荷载作用线通过桁架的节点。对于平面桁架还要求所有杆件轴线及荷载作用线在同一平面内。
关键词:有限元法、MATLAB、桁架结构、内力分析
一、引言
1.工程背景及重要性
桁架结构(Truss structure)中的桁架指的是桁架梁,是格构化的一种梁式结构。桁架结构常用于大跨度的厂房、展览馆、体育馆和桥梁等公共建筑中。由于大多用于建筑的屋盖结构,桁架通常也被称作屋架。
各杆件受力均以单向拉、压为主,通过对上下弦杆和腹杆的合理布置,可适应结构内部的弯矩和剪力分布。由于水平方向的拉、压内力实现了自身平衡,整个结构不对支座产生水平推力。结构布置灵活,应用范围非常广。桁架梁和实腹梁(即我们一般所见的梁)相比,在抗弯方面,由于将受拉与受压的截面集中布置在上下两端,增大了内力臂,使得以同样的材料用量,实现了更大的抗弯强度。在抗剪方面,通过合理布置腹杆,能够将剪力逐步传递给支座。这样无论是抗弯还是抗剪,桁架结构都能够使材料强度得到充分发挥,从而适用于各种跨度的建筑屋盖结构。更重要的意义还在于,它将横弯作用下的实腹梁内部复杂的应力状态转化为桁架杆件内简单的拉压应力状态,使我们能够直观地了解力的分布和传递,便于结构的变化和组合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
桁架结构计算第四章P56
******************************************************************************* function y=plane_truss_element_stiffness(E,A,L,theta) %平面桁架单元刚度
x=theta*pi/180;
C=cos(x);
S=sin(x);
y=E*A/L*[
C*C C*S -C*C -C*S;
C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;
-C*S -S*S C*S S*S];%平面桁架刚度矩阵
*******************************************************************************
function y=plane_truss_assemble(K,k,i,j) %平面桁架组装
K(2*i-1,2*i-1)=K(2*i-1,2*i-1)+k(1,1);
K(2*i-1,2*i)=K(2*i-1,2*i)+k(1,2);
K(2*i-1,2*j-1)=K(2*i-1,2*j-1)+k(1,3);
K(2*i-1,2*j)=K(2*i-1,2*j)+k(1,4);
K(2*i,2*i-1)=K(2*i,2*i-1)+k(2,1);
K(2*i,2*i)=K(2*i,2*i)+k(2,2);
K(2*i,2*j-1)=K(2*i,2*j-1)+k(2,3);
K(2*i,2*j)=K(2*i,2*j)+k(2,4);
K(2*j-1,2*i-1)=K(2*j-1,2*i-1)+k(3,1);
K(2*j-1,2*i)=K(2*j-1,2*i)+k(3,2);
K(2*j-1,2*j-1)=K(2*j-1,2*j-1)+k(3,3);
K(2*j-1,2*j)=K(2*j-1,2*j)+k(3,4);
K(2*j,2*i-1)=K(2*j,2*i-1)+k(4,1);
K(2*j,2*i)=K(2*j,2*i)+k(4,2);
K(2*j,2*j-1)=K(2*j,2*j-1)+k(4,3);
K(2*j,2*j)=K(2*j,2*j)+k(4,4);
y=K;
*******************************************************************************
function y=plane_truss_element_force(E,A,L,theta,u)%力的表达式
x=theta*pi/180;
C=cos(x);
S=sin(x);
y=E*A/L*[-C -S C S]*u;
*******************************************************************************
function y=plane_truss_element_stress(E,L,theta,u) %应力表达式
x=theta*pi/180;
C=cos(x);
S=sin(x);
y=E/L*[-C -S C S]*u;
***************************************************************************************************** *****************************************************************************************************
clear;
clc;
E= ;
A= ;
L1= ;%杆长度
L2= ;
L3= ;
L4= ;%杆长度
L5= ;
L6= ;
L7= ;
L8= ;
t1= ;%杆角度
t2= ;
t3= ;
t4= ;%杆角度
t5= ;
t6= ;
t7= ;
t8= ;
k1=plane_truss_element_stiffness(E,A,L1,t1) % 单位刚度矩阵
k2=plane_truss_element_stiffness(E,A,L2,t2)
k3=plane_truss_element_stiffness(E,A,L3,t3)
k4=plane_truss_element_stiffness(E,A,L4,t4);% 单位刚度矩阵
k5=plane_truss_element_stiffness(E,A,L5,t5); % 单位刚度矩阵
k6=plane_truss_element_stiffness(E,A,L6,t6)
k7=plane_truss_element_stiffness(E,A,L7,t7)
k8=plane_truss_element_stiffness(E,A,L8,t8) % 单位刚度矩阵
K=zeros( );%组装矩阵大小,节点位移个数Q,节点数乘以2
K=plane_truss_assemble(K,k1, , ); %刚度矩阵的组装
K=plane_truss_assemble(K,k2, , ); %后边为单元连接关系图中杆的指向顺序K=plane_truss_assemble(K,k3, , );
K=plane_truss_assemble(K,k4, , );
K=plane_truss_assemble(K,k5, , ); %刚度矩阵的组装
K=plane_truss_assemble(K,k6, , ); %后边为单元连接关系图中杆的指向顺序
K=plane_truss_assemble(K,k7, , );
K=plane_truss_assemble(K,k8, , ) %注意( )中的数字参数
B=K([ , , , , , , , ,],:) ; %取特定的行5 6 7 8 9 10 11 12
k=B(:,[ , , , , , , , ]) %取特定的列5 6 7 8 9 10 11 12
%得到k矩阵
f=[ ]';
u=k\f
***************************************************************************** ***************************************************************************** 求得位移列矩阵为:
u = [0 0 0 0 0.2133 0.4083 -0.1600 0.4617 0.4267 1.5008 -0.0533 1.6608]’;
以下为求各个杆的应力大小:
u1=[u( );u( );u( );u( )];%后边为单元连接关系图中杆的指向顺序
sigma1=plane_truss_element_stress(E,L1,t1,u1) %element stress,u1是Q列向量
u2=[u( );u( );u( );u( )];
sigma2=plane_truss_element_stress(E,L2,t2,u2)
u3=[u( );u( );u( );u( )];
sigma3=plane_truss_element_stress(E,L3,t3,u3) %element stress,u1是Q列向量
u4=[u( );u( );u( );u( )];
sigma4=plane_truss_element_stress(E,L4,t4,u4)
u5=[u( );u( );u( );u( )];
sigma5=plane_truss_element_stress(E,L5,t5,u5) %element stress,u1是Q列向量
u6=[u( );u( );u( );u( )];
sigma6=plane_truss_element_stress(E,L6,t6,u6)
u7=[u( );u( );u( );u( )];
sigma7=plane_truss_element_stress(E,L7,t7,u7) %element stress,u1是Q列向量
u8=[u( );u( );u( );u( )];
sigma8=plane_truss_element_stress(E,L8,t8,u8)
*******************************************************************************
R=K*u; %求得支反力,从中选取支反力处的值
R=[R( );R( );R( );R( )] %填入位置坐标。