ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:1.36MB ,
资源ID:9942286      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9942286.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(有限元钢架结构分析手算+matlab+ansys模拟.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

有限元钢架结构分析手算+matlab+ansys模拟.docx

1、有限元钢架结构分析手算+matlab+ansys模拟有限元大作业钢架结构分析选题人:日 期: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六、计算支反力:

2、 10七、输出数据: 10八、编程: 10第四章 有限元求解 11一、预处理 11二、模型建立: 12二、分析计算 14三、求解结果 15四、绘制图像 16第五章 结果比较 19第六章 心得体会 19一、王小灿: 19二、明哲: 20三、国威 20第七章 附录 22一、matlab程序 22第一章:问题重述一、题目容:图示平面钢架结构图1.1 题目容二、题目要求:(1)采用平面梁单元进行有限元法手工求解,要求写出完整的求解步骤,包括: a)离散化:单元编号、节点编号; b)单元分析:单元刚度矩阵,单元节点等效载荷向量; c)单元组长:总体刚度矩阵,总体位移向量,总体节点等效载荷; d)边界条件

3、的引入及总体刚度方程的求解; e)B点的位移,A、C处支撑反力,并绘制该结构的弯矩图、剪力图和轴力图。(2)编制通用平面钢架分析有限元Matlab程序,并计算盖提,与手工结果进行比较;(3)利用Ansys求解,表格列出B点的位移,A、C处支反力,绘制弯矩图、剪力图和轴力图,并与手算和Matlab程序计算结果比较。(4)攥写报告,利用A4纸打印;(5)心得体会,并简要说明各成员主要负责完成的工作。第二章:有限元法手工求解一、平面两单元离散化将平面梁离散为两个单元,单元编号分别为和,节点号分别为1、2、3;如图2-1所示:图2-1 单元离散化示意图二、单元分析首先建立整体坐标系与局部坐标系如图所示

4、;1、求单元刚度矩阵对于单元,求局部坐标系的单元刚度矩阵:由于单元局部坐标系与整体坐标系的夹角为:,则单元的局部坐标变换矩阵为:可以得到在总体坐标系下的单元的刚度矩阵:对于单元,求局部坐标系的单元刚度矩阵:由于单元局部坐标系与整体坐标系的夹角为,则。2、求单元节点等效载荷向量将P等效在单元两侧节点1,2上:将均布载荷等效在单元两侧的节点2,3上:与作用在节点上的力叠加为整体坐标系下的节点载荷:三、单元组装将两个整体坐标系下的单元刚度矩阵组装为整体刚度矩阵:四、边界条件引入及组装总体方程由于节点1、3为固定约束,所以节点1和3的x、y方向的位移以及转角均为0,节点2无位移约束,不存在支反力,所以

5、力约束即为外力约束。 五、求解整体刚度方程,计算节点2的位移和转角提取节点2位移的相关要素:求得:六、求节点1、3支撑反力根据总体方程,提取求解节点1支撑反力所需方程:根据总体方程,提取求解节点2支撑反力所需方程:七、设定数据,求解结果设定各个数据:氏模量:泊松比:力:截面面积:惯性矩:将数据代入结果。节点2的位移和转角:节点1支撑反力:节点3支撑反力:八、绘制轴力图、弯矩图、剪力图应用材料力学的分析方法,对梁单元进行分析。轴力图:图2-2 轴力图剪力图:图2-3 剪力图弯矩图图2-4 弯矩图第三章、matlab编程求解:一、总体流程图绘制:图 3.1 总体流程图二、输入数据: 考虑到后续计算

6、和以下参数相关:节点个数,单元数,氏模量,惯性矩,单元长度,单元截面积,单元的旋转角度,节点与单元的对应关系,力与转矩的约束以及结构约束。 考虑到钢架结构,每个单元的氏模量,惯性矩,单元长度,单元截面积以及单元的旋转角度都可能不一样,所以采用矩阵的形式进行输入。(注:由于本题除长度外一样,故将其余几项改为常量进行计算) 单元与节点对应关系为:一个单元对应2个节点,且按顺序连接。 力与转矩的约束以及结构约束:应包括约束值,作用节点,作用类型,3种,并以作用节点与作用类型来反推此约束在完整的约束矩阵中的位置。三、计算单元刚度矩阵: 图3.2 单元刚度矩阵生成流程图 考虑到每个单元的刚度矩阵与坐标变

7、换的矩阵形式相同,只是数据不同,故采取建立模板,利用eval(),函数来带入不同单元的值,生成一系列单元刚度矩阵,并用一个三维数组存储这些矩阵。四、建立总体刚度矩阵: 考虑到每个单元刚度矩阵都是66的形式,表述了2个节点间的相互关系;故建立元胞数组,并使元胞数组的阶数与节点个数相同,利用元胞数组存储节点间关系。 首先建立与节点个数相同阶数的空元胞数组,之后检索每个单元刚度矩阵对应的2个节点间的关系,将其分离成4个33的矩阵,按节点与单元对应关系,存储到元胞数组中。最后将元胞数组展开形成的大矩阵即为总体刚度矩阵。五、计算未约束点位移: 利用总体位移与外力间的关系,采用矩阵求解,求取非约束点的位移

8、。并针对结果进行对应处理,使结果与作用点、作用形式对应。六、计算支反力: 利用约束点位移皆零的特点,简化总体刚度矩阵,同时由于部分节点的部分方向上为力而非支反力,再度简化总体刚度矩阵。利用两次简化后的刚度矩阵与计算出的位移结果相乘,求得不计直接作用在节点约束方向上时的支反力,将结果加上由于直接作用在节点约束方向上时产生的支反力,即为最后的支反力结果。七、输出数据: 将计算所得的未约束点位移与支反力,采用与输入方式相似的方式进行处理并进行输出。八、编程:见附录一第四章 有限元求解一、预处理1、选择单元类型:ANSYS Main Menu: Preprocessor Element TypeAdd

9、/Edit/Delete Add beam:2D elastic 3OK (返回到Element Types 窗口) Close图4.1 选择单元类型2、定义材料参数:ANSYS Main Menu: Preprocessor Material Props Material ModelsStructural Linear ElasticIsotropic: EX:3e10 (弹性模量),PRXY:0.3(泊松比)OK 图4.2定义材料参数3、定义单元截面积和惯性矩:ANSYS Main Menu: Preprocessor Real constant Add Type beam 3 Ok Cr

10、oss-sectional area AREA:0.05(横截面积) Area moment of inteia IZZ:1(惯性矩) OK图4.3定义单元截面积和惯性矩二、模型建立:1、画出关键点:ANSYS Main Menu: Preprocessor Modeling CreatKeypoint In Active CSNode number 1 X:0,Y:0,Z:0 Apply Node number 2 X:0,Y:1,Z: Apply Node number 3 X:2,Y:1,Z:0OK 2、构造连线:ANSYS Main Menu: Preprocessor Modelin

11、g CreatLine linesstraight line 依次连接特征点Ok图4.4模型建立3、划分网格:ANSYS Main Menu: Preprocessor MeshingMeshtool Set 选择1,2节点之间部分Apply选择2,3节点之间部分单元长度分别为0.1和0.2OKMeshingMeshtool Mesh分别选择1和2,2和3节点之间部分OK图4.4 划分网格4、添加约束和载荷: 左下角和右上角添加约束:ANSYS Main Menu: Preprocessor SolutionDefine loads Apply Structural Displacement

12、On nodes 选择1节点ALL DOFApplyOn nodes 选择1节点ALL DOFOK添加顶部均布载荷:ANSYS Main Menu: Preprocessor SolutionDefine loads Apply Structural Pressure On beams 选择顶部所有的单元VALI pressure value node I :1000 VALJ pressure value node J :1000 OK添加力矩和力:ANSYS Main Menu: Preprocessor SolutionDefine loads Apply Structural Forc

13、e/ MonmentOn nodes 选择2节点Apply LAB MZVALUE 100 . (输入力矩)On nodes 选择8节点Apply LAB FX VALUE 1000 (输入力)图4.5 添加约束和载荷二、分析计算ANSYS Main Menu: Solution Solve Current LS OK Should the Solve Command be Executed? Y Close (Solution is done! ) 关闭窗口图4.6 求解模型三、求解结果1、位移ANSYS Main Menu: General Postproc List resultNoda

14、l solutionDOF solutionX-component of displacement Apply Y-component of displacementOK图4.7 x方向位移解图4.8 y方向位移解2、支反力:ANSYS Main Menu: General Postproc List resultReaction SoluAll itemsOK图4.9 支反力结果四、绘制图像1、设置参数ANSYS Main Menu: General Postproc Element Table Difine Table Add 在user label for item 中输入FX-I, 在

15、Results data item中选择By sequence num并输入 smisc,1Apply在user label for item 中输入FX-J, 在Results data item中选择By sequence num,并输入 smisc,7Apply在user label for item 中输入FY-I, 在Results data item中选择By sequence num,并输入 smisc,2Apply在user label for item 中输入FY-J, 在Results data item中选择By sequence num,并输入 smisc,8Apply

16、在user label for item 中输入MZ-I, 在Results data item中选择By sequence num,并输入 smisc,6Apply在user label for item 中输入MZ-J, 在Results data item中选择By sequence num,并输入 smisc,12OK图4.10 图表参数设置2、图像输出a)轴力图:ANSYS Main Menu: General Postproc Plot resul tContour plot Line Elem Res 选择 FX_I FX_J Apply图4.11 轴力图b)剪力图:ANSYS

17、Main Menu: General Postproc Plot resul tContour plot Line Elem Res 选择 FY_I FY_J Apply图4.12 剪力图c)弯矩图:ANSYS Main Menu: General Postproc Plot resul tContour plot Line Elem Res 选择 MZ_I Z_J OK图4.13 弯矩图第五章 结果比较结果手算MATLABANSYS-0.4142210-8-0.4142210-8-0.4142210-8-0.3302310-7-0.3302310-7-0.3302310-7-1033.1-1

18、033.1-1033.149.53549.53549.53564.50164.50164.5013.10673.10673.10671950.51950.51950.5-1462.3-1462.3-1462.3通过对比知道,三种方式的结果完全一样,显示了结果的正确性。第六章 心得体会 在有限元课程结束之际,通过这份大作业,我整理总结了这个学期学到的有限元思想。深化我对有限元计算流程的理解,提升了我的matlab的编程水平。 编程时首先要对整体的流程有一个清晰地构想,从数据的获取开始到计算输出进行分步处理;通过手算例题确定计算过程中使用的参数。再通过模板获得每个单元的矩阵。难点在于如何将这些单元

19、正确的拼接到一起,一开始用的是biadiag对角拼接指令,但由于每个单元对应的节点并非按顺序排列,不能实现所需效果;之后我重新计算例题,探究到组装的本质是将每个单元的矩阵按照矩阵所对应节点的信息进行分块,并累加到总体矩阵中,由于矩阵实现较为麻烦,所以我想利用元胞数组来存储节点信息,并成功实现了所需功能,又利用cat拼接指令,将元胞数组展开成一个大型矩阵完成拼接。再获得总体刚度矩阵后,只要找到对应的位移与外力的参数行,再进行乘除计算就相对简单了。 我认为在学习过程中,提高编程能力是很重要的一个方面,有着良好的编程能力,可以让很多工程问题得以用计算机解决,更容易获得结果。而想要提高编程能力,首先要

20、有一定的编程思想与数学建模能力。 我认为编程思想指的是,要对所做的事情有一个过程性与结构性的认识,并根据使用对象进行相关的调整。过程性指的是在编程要有一个完整的流程图,将复杂问题转化成若干简单的小问题,针对小问题进行求解;结构性指的是在编程中要利用条件if,循环for等结构简化程序,同时也要对每部分程序的输入、输出以及执行作用有一个明确的认知;最后根据使用对象,对输入、输出,进行调整,也可以用GUI编制界面方便使用。 以上是我对这次大作业的心得体会,希望老师辅导校正第七章 附录一、matlab程序clcclearformat compactformat shortGjd=input(请输入节点

21、数:);dy=input(请输入单元数:);E=input(请输入氏模量E:);I=input(请输入惯性矩I:);L=input(请输入单元长度L:);A=input(请输入单元截面积:);FAI=input(请输入单元相对旋转角度:);%输入对应关系时,小节点放前面单元 节点1 节点2dy_jd=input(请输入单元与节点对应关系:);%输入力与扭矩约束值 作用节点 作用类型(转矩为3 x方向为1 y方向为2)lys=input(力与转矩约束矩阵:);%输入结构约束作用节点 作用类型(转角为3 x方向为1 y方向为2)wys=input(结构约束矩阵:);%原始数据% L=1;% E=3

22、*1010;% P=1000;% A=0.05;% dy=2;jd=3;LL=L 2*L;I=20*A;% dy_jd=1 1 2;2 2 3;% FAI=pi/2 0;% q=P/L;M=P*L/10;% lys=44/125*P 1 1;-12*P*L/125 1 3;81/125*P 2 1;-P 2 2;-67/750*P*L 2 3;-P 3 2;P*L/3 3 3;% wys=1 1;1 2;1 3;3 1;3 2;3 3;%对力约束与位移约束式子分别进行编号处理wys(:,3)=(wys(:,1)-1)*3+wys(:,2);lys(:,4)=(lys(:,2)-1)*3+lys

23、(:,3);%对力约束与位移约束式子进行排序lys=sortrows(lys,4);wys=sortrows(wys,3);%单元刚度矩阵syms fai e a i l realk=e*a/l 0 0 -e*a/l 0 0; 0 12*e*i/l3 6*e*i/l2 0 -12*e*i/l3 6*e*i/l2; 0 6*e*i/l2 4*e*i/l 0 -6*e*i/l2 2*e*i/l; -e*a/l 0 0 e*a/l 0 0; 0 -12*e*i/l3 -6*e*i/l2 0 12*e*i/l3 -6*e*i/l2; 0 6*e*i/l2 2*e*i/l 0 -6*e*i/l2 4*e

24、*i/l;t= cos(fai), sin(fai), 0; -sin(fai), cos(fai), 0; 0, 0, 1;%坐标变换矩阵T=blkdiag(t,t);%总体坐标系下的单元刚度矩阵K=T*k*T;%带入每个单元的数,生成单元刚度矩阵kk,其每一页对应相应页数的单元的刚度矩阵for j=1:dy; e=E; i=I; l=LL(j); a=A; fai=FAI(j); kk(:,:,j)=eval(K);end%生成总体刚度矩阵KK%采用元胞数组的方式对各项进行保存%生成空元胞数组,元胞数组的行列大小与节点数相同for j=1:jd; for jj=1:jd; ling1j,j

25、j=zeros(3); endendling2=ling1;%将对单元刚度矩阵部分分成4分加入元胞数组中for j=1:dy; kk1=kk(1:3,1:3,j); kk2=kk(1:3,4:6,j); kk3=kk(4:6,1:3,j); kk4=kk(4:6,4:6,j); ling2dy_jd(j,2),dy_jd(j,2)=kk1+ling2dy_jd(j,2),dy_jd(j,2); ling2dy_jd(j,2),dy_jd(j,3)=kk2+ling2dy_jd(j,2),dy_jd(j,3); ling2dy_jd(j,3),dy_jd(j,2)=kk3+ling2dy_jd(

26、j,3),dy_jd(j,2); ling2dy_jd(j,3),dy_jd(j,3)=kk4+ling2dy_jd(j,3),dy_jd(j,3);end%将元胞数组进行拼接,形成总体刚度矩阵for j=1:jd; ling3(:,:,j)=cat(2,ling2j,:);endKK=ling3(:,:,1);for j=2:jd; KK=KK;ling3(:,:,j);end%消去有已知位移的行与列b=KK;b(:,wys(:,3)=;b(wys(:,3),:)=;kjiejuzhen=inv(b);%提取对应外力lyss=lys;for j=1:size(wys,1); for jj=1

27、:size(lys,1); if lyss(jj,4)=wys(j,3); lyss(jj,:)=0; end if jj=size(lyss,1); break end endendlyss(all(lyss=0,2),:)=;%求解weiyijie=作用值 作用节点 作用类型(转角为3 x方向为1 y方向为2) 序列weiyijie=kjiejuzhen*lyss(:,1);weiyijie(:,1)=weiyijie;weiyijie(:,2)=lyss(:,2);weiyijie(:,3)=lyss(:,3);weiyijie(:,4)=lyss(:,4);%计算不计作用在约束方向上时的支反力lysjiee=作用值 作用节点 作用类型(转角为3 x方向为1 y方向为2) 序列lysjie(:,1)=KK(wys(:,3),lyss(:,4)*weiyijie(:,1);lysjie(:,2:4)=wys(:,1:3);%将作用在约束方向上时的支反力加在上面的求解结果上for j=1:size(lysjie,1) for jj=1:size(lys,1); if lysjie(j,4)=lys(jj,4); lysjie(j,1)=lysjie(j,1)-lys(jj,1); end endend%答案weiyijie lysjie

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1