桁架结构的有限元分析MATLAB
2D四杆桁架结构的有限元分析实例
![2D四杆桁架结构的有限元分析实例](https://img.taocdn.com/s3/m/4fcf96412e3f5727a4e96202.png)
实例:2D四杆桁架结构的有限元分析学习有限元方法的一个最佳途径,就是在充分掌握基本概念的基础上亲自编写有限元分析程序,这就需要一个良好的编程环境或平台。
MATLAB软件就是这样一个平台,它以功能强大、编程逻辑直观、使用方便见长。
将提供有限元分析中主要单元完整的MATLAB程序,并给出详细的说明。
1D杆单元的有限元分析MATLAB程序(Bar1D2Node)最简单的线性杆单元的程序应该包括单元刚度矩阵、单元组装、单元应力等几个基本计算程序。
下面给出编写的线性杆单元的四个MATLAB函数。
Bar1D2Node _Stiffness(E,A,L)该函数计算单元的刚度矩阵,输入弹性模量E,横截面积A和长度L,输出单元刚度矩阵k(2×2)。
Bar1D2Node _Assembly(KK,k,i,j)该函数进行单元刚度矩阵的组装,输入单元刚度矩阵k,单元的节点编号i、j,输出整体刚度矩阵KK。
Bar1D2Node _Stress(k,u,A)该函数计算单元的应力,输入单元刚度矩阵k、单元的位移列阵u(2×1)以及横截面积A计算单元应力矢量,输出单元应力stress。
Bar1D2Node_Force(k,u)该函数计算单元节点力矢量,输入单元刚度矩阵k和单元的位移列阵u(2×1),输出2×1的单元节点力矢量forces。
基于1D杆单元的有限元分析的基本公式,写出具体实现以上每个函数的MATLAB程序如下。
%%%%%%%%%%% Bar1D2Node %% begin %%%%%%%%%function k=Bar1D2Node_Stiffness(E, A, L)%该函数计算单元的刚度矩阵%输入弹性模量E,横截面积A和长度L%输出单元刚度矩阵k(2×2)%---------------------------------------k=[E*A/L -E*A/L; -E*A/L E*A/L];%%%%%%%%%%%%%%%%%%%%%%%%%%function z=Bar1D2Node_Assembly(KK,k,i,j)%该函数进行单元刚度矩阵的组装%输入单元刚度矩阵k,单元的节点编号i、j%输出整体刚度矩阵KK%-----------------------------------DOF(1)=i;DOF(2)=j;for n1=1:2for n2=1:2KK(DOF(n1), DOF(n2))= KK(DOF(n1), DOF(n2))+k(n1, n2);endendz=KK;%------------------------------------------------------------function stress=Bar1D2Node_Stress(k, u, A)%该函数计算单元的应力%输入单元刚度矩阵k, 单元的位移列阵u(2×1)%输入横截面积A计算单元应力矢量%输出单元应力stress%-----------------------------------stress=k*u/A;%-----------------------------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%function forces=Bar1D2Node_Force(k, u)%该函数计算单元节点力矢量%输入单元刚度矩阵k和单元的位移列阵u(2×1)%输出2×1的单元节点力分量forces%-----------------------------------------forces=k*u;%%%%%%%%%%% Bar1D2Node %% end %%%%%%%%%【四杆桁架结构的有限元分析—数学推导】如图所示的结构,各杆的弹性模量和横截面积都为E=29.54×10N/mm2, A=100mm 2,试求解该结构的节点位移、单元应力以及支反力。
matlab桁架结构有限元计算
![matlab桁架结构有限元计算](https://img.taocdn.com/s3/m/3c6e862c876fb84ae45c3b3567ec102de2bddf07.png)
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在平面桁架计算中的应用](https://img.taocdn.com/s3/m/de5131c07c1cfad6195fa7f5.png)
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桁架结构有限元计算](https://img.taocdn.com/s3/m/995c48ae6394dd88d0d233d4b14e852458fb3984.png)
matlab桁架结构有限元计算摘要:一、引言- 介绍MATLAB在桁架结构有限元计算中的应用- 说明本文的主要内容和结构二、有限元计算原理- 有限元方法的背景和基本原理- 有限元方法在桁架结构分析中的应用三、MATLAB实现桁架结构有限元计算- MATLAB的基本操作和编程基础- 使用MATLAB进行桁架结构有限元计算的步骤和示例四、MATLAB桁架结构有限元计算的应用- 分析不同桁架结构的特点和计算结果- 探讨MATLAB在桁架结构有限元计算中的优势和局限五、结论- 总结MATLAB在桁架结构有限元计算中的应用和优势- 展望MATLAB在桁架结构分析中的未来发展方向正文:一、引言随着计算机技术的不断发展,有限元方法已经成为工程界解决复杂问题的重要手段。
MATLAB作为一款功能强大的数学软件,可以方便地实现桁架结构的有限元计算。
本文将介绍MATLAB在桁架结构有限元计算中的应用,并详细阐述其操作方法和计算原理。
二、有限元计算原理1.有限元方法的背景和基本原理有限元法是一种数值分析方法,通过将连续的求解域离散为离散的单元,将复杂的问题转化为求解单元的线性或非线性方程组。
有限元方法具有适应性强、精度高、计算效率高等优点,广泛应用于固体力学、流体力学、传热等领域。
2.有限元方法在桁架结构分析中的应用桁架结构是一种由杆件组成的结构,其节点只有三个自由度。
有限元方法可以有效地分析桁架结构的强度、刚度和稳定性,为工程设计提供理论依据。
三、MATLAB实现桁架结构有限元计算1.MATLAB的基本操作和编程基础MATLAB是一种功能强大的数学软件,可以进行矩阵运算、绘制图形、编写程序等操作。
在MATLAB中,用户可以通过编写脚本文件或使用图形界面进行各种计算和分析。
2.使用MATLAB进行桁架结构有限元计算的步骤和示例(1) 建立桁架结构模型:根据实际结构绘制桁架的节点和杆件,确定各节点的三自由度。
(2) 离散化:将桁架结构离散为有限个单元,每个单元包含若干个节点。
桁架单元例子MATLAB 1
![桁架单元例子MATLAB 1](https://img.taocdn.com/s3/m/6b99cfcc58f5f61fb736667b.png)
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](https://img.taocdn.com/s3/m/a3ce09f168dc5022aaea998fcc22bcd126ff4227.png)
桁架结构及有限元分析MATLAB桁架结构是一种由杆件和节点连接而成的结构系统。
它的主要特点是具有良好的刚性和承载能力,适用于跨度较大的建筑物或桥梁。
桁架结构的设计和分析是工程领域中重要的课题。
有限元分析是一种常用的方法,用于对桁架结构进行力学和结构分析。
MATLAB是一种强大的数学建模和计算工具,可以方便地进行有限元分析。
在进行桁架结构的有限元分析之前,首先需要进行结构的建模。
可以使用MATLAB中的节点和杆件来建立桁架结构的几何模型。
节点代表结构中的连接点,杆件代表连接节点的杆件。
接下来,需要将结构分割为有限元网格。
在MATLAB中,可以使用二维和三维有限元网格生成函数来生成网格。
生成的网格可以根据需要的精度进行调整。
每个有限元包含一个或多个节点和杆件,用于描述局部的力学行为。
在有限元分析中,需要考虑材料的力学性质。
可以通过定义材料的模量、泊松比和密度等参数来描述材料的本构关系。
在MATLAB中,可以使用材料库函数来定义不同材料的力学性质。
进行有限元分析时,需要考虑结构的边界条件和加载条件。
边界条件包括固定边界和位移约束,加载条件可以是力、压力或扭矩等。
在MATLAB中,可以使用边界条件函数来定义结构的边界条件和加载条件。
在有限元分析的过程中,需要对结构进行求解。
可以使用线性或非线性求解算法来计算结构的位移和应力等。
MATLAB中提供了多种求解器和求解方法,可以根据需要选择适合的求解算法。
完成有限元分析后,可以进行结果的后处理。
可以使用MATLAB中的可视化工具来绘制结构的位移和应力云图,以及显示结构的反应力和形变等。
可以通过对结果进行分析和比较,评估结构的可靠性和安全性。
总之,使用MATLAB进行桁架结构的有限元分析可以帮助工程师深入了解结构的力学行为和性能。
它可以为结构的设计和优化提供依据,并帮助工程师制定提高结构性能的策略。
同时,MATLAB提供了丰富的功能和工具,使得桁架结构的分析和设计更加高效和准确。
桁架结构MATLAB编程
![桁架结构MATLAB编程](https://img.taocdn.com/s3/m/b449ee6076a20029bc642d7e.png)
桁架结构% 变量说明% 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对桁架单元进行有限元分析](https://img.taocdn.com/s3/m/ac765d177cd184254b35357f.png)
np=3; ne=2; nload=1; nb=4; nu=0;% np为节点数,ne为单元数,nload为外力数,nb为约束数,nu 为泊松比np2=np*2; np3=np2-nb;% np2为不受约束时自由度是节点的两倍 ,np3为不受约束的节点自由度个数K=sym(zeros(np2,np2));% 定义受整体刚度空数组F=sym(zeros(np2,1));% 定义节点外力空数组KK=sym(zeros(np3,np3));% 预置自由度刚度空数组FF=sym(zeros(np3,1));% 预置自由度外力空数组syms h A P E L% 定义未知正常数为变量xy=[0,h;sqrt(3)*h,0;0,0];% 节点横纵坐标数组AA=[A;A];% 单元杆件面积load=[2,2,-P];% 荷载数组bound=[1,1,0;1,2,0;3,1,0;3,2,0];% 边界条件数组IJ=[1,2;3,2];% 各杆单元节点编号DW=zeros(1,4);for ie =1:neip=IJ(ie,1);jp=IJ(ie,2);DW(1)=ip*2-1; DW(2)=ip*2; DW(3)=jp*2-1; DW(4)=jp*2; % 给单元节点横纵方向编号x1=xy(ip,1); x2=xy(jp,1); y1=xy(ip,2); y2=xy(jp,2); % 杆单元节点x,y坐标L=sqrt((x2-x1)^2+(y2-y1)^2);% 杆单元长度c=(x2-x1)/L; s=(y2-y1)/L;% c为余弦, s为正弦T=[c,s,0,0;-s,c,0,0;0,0,c,s;0,0,-s,c];% 坐标转换矩阵(将局部坐标转换为整体坐标)A1=AA(ie);ke=[E*A1/L,0,-E*A1/L,0;0,0,0,0;-E*A1/L,0,E*A1/L,0;0,0,0,0];k=T.'*ke*T;% 将局部坐标下单元刚度转换为整体坐标下单元刚度 (转置后面加.可以去掉结果中的虚数)for i =1:4i1=DW(i);for j =1:4j1=DW(j);K(i1,j1)=K(i1,j1)+k(i,j);% 集成整体刚度矩阵endendendfor i =1:nloadi1=(load(i,1)-1)*2+load(i,2);F(i1,1)=F(i1,1)+load(i,3);% 将荷载按节点方向代码累加,计入外力荷载endFuu=sym(zeros(np2,1));% 节点位移NR=zeros(np2,1);for i =1:nbi1=(bound(i,1)-1)*2+bound(i,2);NR(i1)=-i1;% 将有约束的节点的横纵节点编号挑出来变为负数uu(i1)=bound(i,3);% 有约束的四个方向位移为0endj=0;for i =1:np2i1=NR(i);if i1==0j=j+1;NR(i)=j;endend% 此循环目的是为了将没有约束的节点以及方向挑出来for i =1:np2i1=NR(i);if i1>0FF(i1)=F(i);end% 将没有约束的节点方向的外力储存下来for j =1:np2j1=NR(j);if (i1>0 & j1>0)KK(i1,j1)=K(i,j);end% 将没有约束的节点的刚度储存下来endendKKFFfor i =1:np2i1=NR(i);for j =1:np2j1=NR(j);if (i1>0 & j1<0)jj1=abs(j1);FF(i1)=FF(i1)-K(i,jj1)*uu(jj1);end% 由于有约束方向的位移为0,所以无位移的地方FF[i1]不变endendu=sym(zeros(np2,1));u=KK\FF% 求解线性方程for i =1:np2i1=NR(i);if i1>0uu(i)=u(i1);end% 将求解的无约束方向的位移放进总的位移数组相应的位置中去enduudisp('位移')for ip =1:npstr=[ip;uu(ip*2-1);uu(ip*2)];disp(str)% 输出节点位移endfor ie =1:neip=IJ(ie,1);jp=IJ(ie,2);DW(1)=ip*2-1; DW(2)=ip*2; DW(3)=jp*2-1; DW(4)=jp*2; x1=xy(ip,1); x2=xy(jp,1); y1=xy(ip,2); y2=xy(jp,2);L=sqrt((x2-x1)^2+(y2-y1)^2);c=(x2-x1)/L; s=(y2-y1)/L;T=[c,s,0,0;-s,c,0,0;0,0,c,s;0,0,-s,c];A1=AA(ie);ke=[E*A1/L,0,-E*A1/L,0;0,0,0,0;-E*A1/L,0,E*A1/L,0; 0,0,0,0];d=sym(zeros(4,1));for i=1:4d(i)=uu(i);endde=T*d;% 将整体坐标位移转换为局部坐标位移Fe=ke*de;% 杆单元力for j=1:4N=Fe((ie-1)*2+1);% 杆单元轴力sigma=N/A1;enddisp('单元,轴力,应力')str=[ie;N;sigma];disp(str)endF3=K*uu;R=F3-F;disp('支反力');for i =1:nbi1=(bound(i,1)-1)*2+bound(i,2);str=[bound(i,1);bound(i,3);simplify(R(i1))]; disp(str)end。
matlab有限元结构动力学分析与工程应用
![matlab有限元结构动力学分析与工程应用](https://img.taocdn.com/s3/m/f384097c3d1ec5da50e2524de518964bcf84d2e9.png)
matlab有限元结构动力学分析与工程应用
Matlab有限元结构动力学分析与工程应用是用来将实际的机械结构仿真模拟,并计算结构仿真后被输入力或者被应用加速度所产生的时变影响。
通过模拟实验,得出结构中的力学参数,然后运用Matlab 工具包运行FEM动力学分析。
分析的目的是计算结构的位移、速度和加速度,以确定结构试验中的状态变化和荷载传递情况,并获得结构可能达到的极限状态。
另外,Matlab有限元结构动力学分析呈现了一种非常强大的有限元结构动力学求解方法,可以用于分析复杂的基于多样性和受力不均匀性的结构的动态特性。
通过运用Matlab,可以有效地进行有限元结构动力学分析,从而解决复杂的动力学问题,在实际工程应用中得以广泛运用。
基于matlab的空间三维桁架结构受力分析通用程序设计
![基于matlab的空间三维桁架结构受力分析通用程序设计](https://img.taocdn.com/s3/m/9b1dd11c366baf1ffc4ffe4733687e21af45ffa4.png)
基于matlab的空间三维桁架结构受力分析通用程序设计李罡
【期刊名称】《喀什师范学院学报》
【年(卷),期】2005(026)003
【摘要】介绍了空间三维桁架结构受力分析的有限元方法,运用matlab强大的数学计算功能,解决刚度矩阵的组集和约束条件的处理等问题,编制了通用的求解程序.该程序可以求解任意工作条件下的空间三维桁架的受力问题.
【总页数】4页(P35-38)
【作者】李罡
【作者单位】北京航空航天大学,能源与动力工程学院,北京,100083
【正文语种】中文
【中图分类】O342
【相关文献】
1.基于Solid Edge的三维模型通用参数化程序设计方法 [J], 李世国;何建军
2.基于Solid Edge的三维模型通用参数化程序设计方法 [J], 李世国
3.基于MATLAB/Simulink的通用质点外弹道程序设计 [J], 崔瀚
4.基于Lingo和Matlab的空间桁架结构联合优化设计 [J], 李姣玉;何建军
5.基于Matlab与三维空间几何变换的车辆动态包络线获取方法研究 [J], 户攀攀;刘建新;蔡久凤;刘志伟
因版权原因,仅展示原文概要,查看原文内容请购买。
有限元钢架结构分析_手算matlabansys模拟
![有限元钢架结构分析_手算matlabansys模拟](https://img.taocdn.com/s3/m/bb23317b941ea76e59fa0458.png)
有限元大作业——钢架结构分析选题人:日期:2016年6月2日目录:第一章:问题重述 (1)一、题目内容: (1)二、题目要求: (1)第二章:有限元法手工求解 (2)一、平面两单元离散化 (2)二、单元分析 (2)三、单元组装 (5)四、边界条件引入及组装总体方程 (5)五、求解整体刚度方程,计算节点2的位移和转角 (6)六、求节点1、3支撑反力 (6)七、设定数据,求解结果 (6)八、绘制轴力图、弯矩图、剪力图 (7)第三章、matlab编程求解: (8)一、总体流程图绘制: (9)二、输入数据: (9)三、计算单元刚度矩阵: (10)四、建立总体刚度矩阵: (10)五、计算未约束点位移: (10)六、计算支反力: (10)七、输出数据: (10)八、编程: (10)第四章有限元求解 (10)一、预处理 (11)二、模型建立: (12)二、分析计算 (14)三、求解结果 (15)四、绘制图像 (16)第五章结果比较 (19)第六章心得体会 (19)一、王小灿: .......................................................... 错误!未定义书签。
二、孙明哲: .......................................................... 错误!未定义书签。
三、张国威 ............................................................ 错误!未定义书签。
第七章附录 (20)一、matlab程序 (21)第一章:问题重述一、题目内容:图示平面钢架结构图1.1 题目内容二、题目要求:(1)采用平面梁单元进行有限元法手工求解,要求写出完整的求解步骤,包括:a)离散化:单元编号、节点编号;b)单元分析:单元刚度矩阵,单元节点等效载荷向量;c)单元组长:总体刚度矩阵,总体位移向量,总体节点等效载荷;d)边界条件的引入及总体刚度方程的求解;e)B点的位移,A、C处支撑反力,并绘制该结构的弯矩图、剪力图和轴力图。
matlab桁架结构有限元计算
![matlab桁架结构有限元计算](https://img.taocdn.com/s3/m/122d344cf02d2af90242a8956bec0975f565a447.png)
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
![桁架结构的有限元分析MATLAB](https://img.taocdn.com/s3/m/2c36bb96c0c708a1284ac850ad02de80d4d806c3.png)
桁架结构的有限元分析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 有限元法计算分析程序编写](https://img.taocdn.com/s3/m/be69c6d5c1c708a1284a4414.png)
3) 数值、变量 数值采用习惯的十进制表示,可以带小数点或负号,如 3 -99 0.001 9.456 1.3e-3 4.5e33 变量命名规则 变量名、函数名是对字母大小写敏感的 变量名、函数名的第一个字符必须是英文字母,最多可包 含31个字符 变量名中不能包含空格、标点 4) 表达式 MATLAB书写表达式的规则与手写算式几乎完全相同,具 体是 表达式由变量名、运算符合函数和组成 表达式将按与常规相同的优先级自左向右执行运算 优先级的规定:幂运算 > 乘除 > 加减 括号可以改变运算的次序
a i = βi
⎡ k 1,1 ⎢ ⎢k 2 ,1 ⎢ M ⎢ ⎢ 0 ⎢ M ⎢ ⎢ k n ,i ⎣ L L 0 L k 1, n ⎤ ⎧ a 1 ⎫ ⎧ P1 ⎫ ⎥ L L 0 L k 2 , n ⎥ ⎪ a 1 ⎪ ⎪P2 ⎪ ⎪ ⎪ ⎪ ⎪ M O M O M ⎥⎪ M ⎪ ⎪ M ⎪ ⎪ ⎪ ⎪ ⎪ ⎥⎨ ⎬ = ⎨ ⎬ L L 1 L 0 ⎥ ⎪ a i ⎪ ⎪β i ⎪ M O M O M ⎥⎪ M ⎪ ⎪ M ⎪ ⎥⎪ ⎪ ⎪ ⎪ L L 0 L k n , n ⎥ ⎪a n ⎪ ⎪Pn ⎪ ⎦⎩ ⎭ ⎩ ⎭
2) 简单矩阵的输入 (1) 在键盘上输入下列内容 A=[1,2,3;4,5,6;7,8,9] (2) 按【Enter】键,指令被执行 (3) 在指令被执行后,MATLAB指令窗中将显示以下结果 A = ⎡ 1 2 3⎤ 1 2 3 A = ⎢ 4 5 6⎥ ⎥ ⎢ 4 5 6 ⎢7 8 9 ⎥ ⎦ ⎣ 7 8 9 [说明]:在全部键入一个指令行内容后,必须按下【Eenter】键,该指令 才会被执行。 • 直接输入矩阵时,矩阵元素用空格或逗号‘,’分开;矩阵行用“;” 隔离,整个矩阵放在“[]”里。 • 在MATLAB里,不必事先对矩阵维数作任何说明,存储时将自动 配置 • 指令执行后,矩阵A被保存在MATLAB的工作空间中,以备后用。 如果用户不用Clear指令清除它或对它重新赋值,那么该矩阵会一直保 存在工作空间中,直到MATLAB指令窗被关闭。 • MATLAB对变量的大小写敏感。比如本例中的矩阵赋给了变量A, 而不是a。
有限元钢架结构分析~手算+matlab+ansys模拟
![有限元钢架结构分析~手算+matlab+ansys模拟](https://img.taocdn.com/s3/m/31a177cd5acfa1c7ab00cca4.png)
有限元大作业——钢架结构分析选题人:日期:2016年6月2日目录:第一章:问题重述 (1)一、题目容: (1)二、题目要求: (1)第二章:有限元法手工求解 (2)一、平面两单元离散化 (2)二、单元分析 (2)三、单元组装 (5)四、边界条件引入及组装总体方程 (5)五、求解整体刚度方程,计算节点2的位移和转角 (6)六、求节点1、3支撑反力 (6)七、设定数据,求解结果 (7)八、绘制轴力图、弯矩图、剪力图 (8)第三章、matlab编程求解: (9)一、总体流程图绘制: (9)二、输入数据: (9)三、计算单元刚度矩阵: (10)四、建立总体刚度矩阵: (10)五、计算未约束点位移: (10)六、计算支反力: (10)七、输出数据: (10)八、编程: (10)第四章有限元求解 (11)一、预处理 (11)二、模型建立: (12)二、分析计算 (14)三、求解结果 (15)四、绘制图像 (16)第五章结果比较 (19)第六章心得体会 (19)一、王小灿: (19)二、明哲: (20)三、国威 (20)第七章附录 (22)一、matlab程序 (22)第一章:问题重述一、题目容:图示平面钢架结构图1.1 题目容二、题目要求:(1)采用平面梁单元进行有限元法手工求解,要求写出完整的求解步骤,包括:a)离散化:单元编号、节点编号;b)单元分析:单元刚度矩阵,单元节点等效载荷向量;c)单元组长:总体刚度矩阵,总体位移向量,总体节点等效载荷;d)边界条件的引入及总体刚度方程的求解;e)B点的位移,A、C处支撑反力,并绘制该结构的弯矩图、剪力图和轴力图。
(2)编制通用平面钢架分析有限元Matlab程序,并计算盖提,与手工结果进行比较;(3)利用Ansys求解,表格列出B点的位移,A、C处支反力,绘制弯矩图、剪力图和轴力图,并与手算和Matlab程序计算结果比较。
(4)攥写报告,利用A4纸打印;(5)心得体会,并简要说明各成员主要负责完成的工作。
matlab桁架结构有限元计算
![matlab桁架结构有限元计算](https://img.taocdn.com/s3/m/0efb2bea48649b6648d7c1c708a1284ac85005e8.png)
matlab桁架结构有限元计算
在MATLAB中,进行桁架结构的有限元计算可以按照以下步
骤进行:
1. 定义节点和单元:根据实际问题的几何形状和拓扑关系,定义桁架结构的节点和单元。
节点是桁架结构的连接点,单元是连接节点的构件。
2. 定义材料属性和截面属性:根据实际问题的材料和截面要求,定义桁架结构的材料属性和截面属性。
材料属性包括弹性模量和泊松比等,截面属性包括截面面积和惯性矩等。
3. 组装刚度矩阵:根据节点和单元的几何形状和材料属性,计算每个单元的局部刚度矩阵,然后根据单元和节点的连接关系,将局部刚度矩阵组装成整体刚度矩阵。
4. 施加边界条件:根据实际问题的边界条件,将边界节点的位移固定为零,或施加位移或力的约束条件。
5. 求解位移和反力:使用求解线性方程组的方法,求解位移和反力。
可以使用MATLAB中的线性方程组求解函数(如'\''运
算符)来计算。
6. 计算应力和应变:根据位移和节点的几何形状,计算节点上的应变,然后根据材料属性,计算节点上的应力。
以上步骤涵盖了桁架结构的有限元计算的基本流程,具体实现时需要根据实际问题进行适当的调整和扩展。
matlab中关于桁架问题的程序
![matlab中关于桁架问题的程序](https://img.taocdn.com/s3/m/14254f31a32d7375a4178009.png)
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算例】3.2.5(2)__四杆桁架结构的有限元分析(Bar2D2Node)
![《有限元基础教程》_【MATLAB算例】3.2.5(2)__四杆桁架结构的有限元分析(Bar2D2Node)](https://img.taocdn.com/s3/m/b64ef402eff9aef8941e0678.png)
【MATLAB 算例】3.2.5(2) 四杆桁架结构的有限元分析(Bar2D2Node)如图3-8所示的结构,各个杆的弹性模量和横截面积都为4229.510/E N mm =⨯, 2100A mm =。
试基于MATLAB 平台求解该结构的节点位移、单元应力以及支反力。
图3-8 四杆桁架结构解答:对该问题进行有限元分析的过程如下。
(1) 结构的离散化与编号对该结构进行自然离散,节点编号和单元编号如图3-8所示,有关节点和单元的信息见表3-1~表3-3。
(2)计算各单元的刚度矩阵(基于国际标准单位)建立一个工作目录,将所编制的用于平面桁架单元分析的4个MA TLAB 函数放置于该工作目录中,分别以各自函数的名称给出文件名,即:Bar2D2Node_Stiffness ,Bar2D2Node_Assembly ,Bar2D2Node_Stress ,Bar2D2Node_Forces 。
然后启动MATLAB ,将工作目录设置到已建立的目录中,在MATLAB 环境中,输入弹性模量E 、横截面积A ,各点坐标x1,y1,x2,y2,x3,y3,x4,y4,角度alpha 1, alpha 2和alpha 3,然后分别针对单元1,2,3和4,调用4次Bar2D2Node_Stiffness ,就可以得到单元的刚度矩阵。
相关的计算流程如下。
>>E=2.95e11;>>A=0.0001;>>x1=0;>>y1=0;>>x2=0.4;>>y2=0;>>x3=0.4;>>y3=0.3;>>x4=0;>>y4=0.3;>> alpha1=0;>> alpha2=90;>> alpha3=atan(0.75)*180/pi;>> k1=Bar2D2Node_Stiffness (E,A,x1,y1,x2,y2,alpha1)k1 = 73750000 0 -73750000 00 0 0 0-73750000 0 73750000 00 0 0 0>> k2=Bar2D2Node_Stiffness (E,A,x2,y2,x3,y3,alpha2)k2 = 1.0e+007 *0.0000 0.0000 -0.0000 -0.00000.0000 9.8333 -0.0000 -9.8333-0.0000 -0.0000 0.0000 0.0000-0.0000 -9.8333 0.0000 9.8333>> k3=Bar2D2Node_Stiffness (E,A,x1,y1,x3,y3,alpha3)k3 = 1.0e+007 *3.7760 2.8320 -3.7760 -2.83202.8320 2.1240 -2.8320 -2.1240-3.7760 -2.8320 3.7760 2.8320-2.8320 -2.1240 2.8320 2.1240>> k4=Bar2D2Node_Stiffness (E,A,x4,y4,x3,y3,alpha1)k4 = 73750000 0 -73750000 00 0 0 0-73750000 0 73750000 00 0 0 0(3) 建立整体刚度方程由于该结构共有4个节点,因此,设置结构总的刚度矩阵为KK (8×8),先对KK 清零,然后四次调用函数Bar2D2Node _Assembly 进行刚度矩阵的组装。
桁架结构的有限元分析MATLAB
![桁架结构的有限元分析MATLAB](https://img.taocdn.com/s3/m/511896629b6648d7c1c746ca.png)
然后根据各杆的节点号对单刚进行叠加得到总刚
根据位移向量,对总刚划行划列。对1、3节点上的力进行分解,分解成X、Y方向的位移,得到力矩阵, 。由方程 求得未知的节点位移。最后可根据公式 求得各杆的内力如下:
, , ,
,
改变力的大小,重新对桁架进行内力分析,由于杆件尺寸没有变化,所以总刚不变,只需改变力矩阵即可得到结果。
在建筑结构中,桁架结构是一种应用比较普遍的结构形式,在桥梁工程、大型建筑、船舶工程、港口机械等工程领域均有广泛应用。在我国桁架结构发展迅速且应用最为广泛,如屋架、网架结构等。为了增加建筑的表现力,近些年来管桁架结构得到了许多业主的青睐,在大量的屋面结构中采用。
2.目前问题的研究现状
目前在普遍刚桁架的结构设计中,工程中普遍采用的发放时按理想铰接模型进行计算,并很据计算出的杆件界面应力选择合适的杆件型号。计算桁架结构内力时,一般采用如下基本假定:(1)接单均为铰接;(2)杆件轴线平直相交于节点中心;(3)荷载作用线通过桁架的节点。对于平面桁架还要求所有杆件轴线及荷载作用线在同一平面内。
关键词:有限元法、MATLAB、桁架结构、内力分析
一、引言
1.工程背景及重要性
桁架结构(Truss structure)中的桁架指的是桁架梁,是格构化的一种梁式结构。桁架结构常用于大跨度的厂房、展览馆、体育馆和桥梁等公共建筑中。由于大多用于建筑的屋盖结构,桁架通常也被称作屋架。
各杆件受力均以单向拉、压为主,通过对上下弦杆和腹杆的合理布置,可适应结构内部的弯矩和剪力分布。由于水平方向的拉、压内力实现了自身平衡,整个结构不对支座产生水平推力。结构布置灵活,应用范围非常广。桁架梁和实腹梁(即我们一般所见的梁)相比,在抗弯方面,由于将受拉与受压的截面集中布置在上下两端,增大了内力臂,使得以同样的材料用量,实现了更大的抗弯强度。在抗剪方面,通过合理布置腹杆,能够将剪力逐步传递给支座。这样无论是抗弯还是抗剪,桁架结构都能够使材料强度得到充分发挥,从而适用于各种跨度的建筑屋盖结构。更重要的意义还在于,它将横弯作用下的实腹梁内部复杂的应力状态转化为桁架杆件内简单的拉压应力状态,使我们能够直观地了解力的分布和传递,便于结构的变化和组合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[1]李人宪,有限元法基础,国防工业出版社;
[2]张志涌、杨祖樱,MATLAB教程,北京航空航天大学出版社。
力09创新实践
桁架结构有限元分析
学 号20092715
班级力0901-2
姓名魏强
指导教师房学谦
完成日期2012/6/26
桁架结构有限元分析
摘要
从系统物理概念和力学原理推导有限元计算格式的方法叫做直接刚度法。本文利用推导出得有限元计算格式,通过MATLAB软件进行矩阵运算,对5杆桁架结构进行了内力分析。利用对比的方法,对照多组荷载,分析其受力的情况,为实际问题提供参考。
二、问题描述与求解
结构节点编号及杆件编号如图所示。
设杆件的弹性模量 ,杆件截面积 ,根据图中的长度,可求得每根杆的长度: , , 。
容易求得各杆的单刚如下:
然后可根据各ห้องสมุดไป่ตู้的角度得到变换矩阵如下:
对1,2两杆,局部坐标与整体坐标相同,因此求得的局部坐标下的刚度矩阵也是整体坐标下的刚度矩阵,不需要求变换矩阵。
将图中施加的20kN的力改为10kN和30kN后,可得到力矩阵分别为
通过相同的步骤,可求得内力分别为:
, ,
,
, ,
,
三、结论
由所求结果可知,1、2两杆的受力较小,从节约材料的角度考虑,可以适当减小界面尺寸,这不影响结构的可靠程度,而且尽可能的做到了等强度。
在解决桁架问题时,对于简单的结构,可采用结点法或截面法。对于某些桁架,联合应用结点法和截面法更有效。对于杆件很多的复杂桁架或空间桁架,最好的选择应是借助ANSYS或MATLAB等软件进行求解。
在建筑结构中,桁架结构是一种应用比较普遍的结构形式,在桥梁工程、大型建筑、船舶工程、港口机械等工程领域均有广泛应用。在我国桁架结构发展迅速且应用最为广泛,如屋架、网架结构等。为了增加建筑的表现力,近些年来管桁架结构得到了许多业主的青睐,在大量的屋面结构中采用。
2.目前问题的研究现状
目前在普遍刚桁架的结构设计中,工程中普遍采用的发放时按理想铰接模型进行计算,并很据计算出的杆件界面应力选择合适的杆件型号。计算桁架结构内力时,一般采用如下基本假定:(1)接单均为铰接;(2)杆件轴线平直相交于节点中心;(3)荷载作用线通过桁架的节点。对于平面桁架还要求所有杆件轴线及荷载作用线在同一平面内。
根据公式 可求得各杆总体坐标下的刚度矩阵如下
然后根据各杆的节点号对单刚进行叠加得到总刚
根据位移向量,对总刚划行划列。对1、3节点上的力进行分解,分解成X、Y方向的位移,得到力矩阵, 。由方程 求得未知的节点位移。最后可根据公式 求得各杆的内力如下:
, , ,
,
改变力的大小,重新对桁架进行内力分析,由于杆件尺寸没有变化,所以总刚不变,只需改变力矩阵即可得到结果。
关键词:有限元法、MATLAB、桁架结构、内力分析
一、引言
1.工程背景及重要性
桁架结构(Truss structure)中的桁架指的是桁架梁,是格构化的一种梁式结构。桁架结构常用于大跨度的厂房、展览馆、体育馆和桥梁等公共建筑中。由于大多用于建筑的屋盖结构,桁架通常也被称作屋架。
各杆件受力均以单向拉、压为主,通过对上下弦杆和腹杆的合理布置,可适应结构内部的弯矩和剪力分布。由于水平方向的拉、压内力实现了自身平衡,整个结构不对支座产生水平推力。结构布置灵活,应用范围非常广。桁架梁和实腹梁(即我们一般所见的梁)相比,在抗弯方面,由于将受拉与受压的截面集中布置在上下两端,增大了内力臂,使得以同样的材料用量,实现了更大的抗弯强度。在抗剪方面,通过合理布置腹杆,能够将剪力逐步传递给支座。这样无论是抗弯还是抗剪,桁架结构都能够使材料强度得到充分发挥,从而适用于各种跨度的建筑屋盖结构。更重要的意义还在于,它将横弯作用下的实腹梁内部复杂的应力状态转化为桁架杆件内简单的拉压应力状态,使我们能够直观地了解力的分布和传递,便于结构的变化和组合。
对于桁架结构的应力分析,在方法上,结构力学中有结点法和截面法,另外还有有限元法。
3.本文如何进行研究
本文运用有限元的分析方法,通过MATLAB软件,对5杆桁架结构进行了内力分析。先对整体结构进行分析,确定节点编号及杆件编号。然后写出每个杆的单元刚度矩阵,根据角度,写出变换矩阵并得到整体坐标下的刚度矩阵。再根据节点编号对单刚进行叠加得到整个桁架的刚度矩阵。写出位移向量后对总刚划行划列,得到所有节点的位移后就可求得每根杆的受力状态。