有限元钢架结构分析~手算+matlab+ansys模拟_第1页
有限元钢架结构分析~手算+matlab+ansys模拟_第2页
有限元钢架结构分析~手算+matlab+ansys模拟_第3页
有限元钢架结构分析~手算+matlab+ansys模拟_第4页
有限元钢架结构分析~手算+matlab+ansys模拟_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

有限元大作业——钢架结构分析选题人:日期:2016年6月2日

目录:TOC\h\z\t"章节大标题,1,章节小标题,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)心得体会,并简要说明各成员主要负责完成的工作。第二章:有限元法手工求解一、平面两单元离散化将平面梁离散为两个单元,单元编号分别为①和②,节点号分别为1、2、3;如图2-1所示:图2-1单元离散化示意图二、单元分析首先建立整体坐标系与局部坐标系如图所示;1、求单元刚度矩阵对于单元①,求局部坐标系的单元刚度矩阵:由于单元①局部坐标系与整体坐标系的夹角为:,则单元①的局部坐标变换矩阵为:可以得到在总体坐标系下的单元①的刚度矩阵:对于单元②,求局部坐标系的单元刚度矩阵:由于单元②局部坐标系与整体坐标系的夹角为,则。2、求单元节点等效载荷向量将P等效在单元①两侧节点1,2上:将均布载荷等效在单元②两侧的节点2,3上:与作用在节点上的力叠加为整体坐标系下的节点载荷:三、单元组装将两个整体坐标系下的单元刚度矩阵组装为整体刚度矩阵:四、边界条件引入及组装总体方程由于节点1、3为固定约束,所以节点1和3的x、y方向的位移以及转角均为0,节点2无位移约束,不存在支反力,所以力约束即为外力约束。五、求解整体刚度方程,计算节点2的位移和转角提取节点2位移的相关要素:求得:六、求节点1、3支撑反力根据总体方程,提取求解节点1支撑反力所需方程:根据总体方程,提取求解节点2支撑反力所需方程:七、设定数据,求解结果设定各个数据:杨氏模量:泊松比:力:截面面积:惯性矩:将数据代入结果。节点2的位移和转角:节点1支撑反力:节点3支撑反力:八、绘制轴力图、弯矩图、剪力图应用材料力学的分析方法,对梁单元进行分析。轴力图:图2-2轴力图剪力图:图2-3剪力图弯矩图图2-4弯矩图第三章、matlab编程求解:一、总体流程图绘制:图3.1总体流程图二、输入数据: 考虑到后续计算和以下参数相关:节点个数,单元数,杨氏模量,惯性矩,单元长度,单元截面积,单元的旋转角度,节点与单元的对应关系,力与转矩的约束以及结构约束。 考虑到钢架结构,每个单元的杨氏模量,惯性矩,单元长度,单元截面积以及单元的旋转角度都可能不一样,所以采用矩阵的形式进行输入。(注:由于本题除长度外一样,故将其余几项改为常量进行计算) 单元与节点对应关系为:一个单元对应2个节点,且按顺序连接。 力与转矩的约束以及结构约束:应包括约束值,作用节点,作用类型,3种,并以作用节点与作用类型来反推此约束在完整的约束矩阵中的位置。三、计算单元刚度矩阵: 图3.2单元刚度矩阵生成流程图 考虑到每个单元的刚度矩阵与坐标变换的矩阵形式相同,只是数据不同,故采取建立模板,利用eval(),函数来带入不同单元的值,生成一系列单元刚度矩阵,并用一个三维数组存储这些矩阵。四、建立总体刚度矩阵: 考虑到每个单元刚度矩阵都是6×6的形式,表述了2个节点间的相互关系;故建立元胞数组,并使元胞数组的阶数与节点个数相同,利用元胞数组存储节点间关系。 首先建立与节点个数相同阶数的空元胞数组,之后检索每个单元刚度矩阵对应的2个节点间的关系,将其分离成4个3×3的矩阵,按节点与单元对应关系,存储到元胞数组中。最后将元胞数组展开形成的大矩阵即为总体刚度矩阵。五、计算未约束点位移: 利用总体位移与外力间的关系,采用矩阵求解,求取非约束点的位移。并针对结果进行对应处理,使结果与作用点、作用形式对应。六、计算支反力: 利用约束点位移皆零的特点,简化总体刚度矩阵,同时由于部分节点的部分方向上为内力而非支反力,再度简化总体刚度矩阵。利用两次简化后的刚度矩阵与计算出的位移结果相乘,求得不计直接作用在节点约束方向上时的支反力,将结果加上由于直接作用在节点约束方向上时产生的支反力,即为最后的支反力结果。七、输出数据: 将计算所得的未约束点位移与支反力,采用与输入方式相似的方式进行处理并进行输出。八、编程:见附录一第四章有限元求解一、预处理1、选择单元类型:ANSYSMainMenu:Preprocessor→ElementType→Add/Edit/Delete…→Add…→beam:2Delastic3→OK(返回到ElementTypes窗口)→Close图4.1选择单元类型2、定义材料参数:ANSYSMainMenu:Preprocessor→MaterialProps→MaterialModels→Structural→Linear→Elastic→Isotropic:EX:3e10(弹性模量),PRXY:0.3(泊松比)→OK图4.2定义材料参数3、定义单元截面积和惯性矩:ANSYSMainMenu:Preprocessor→Realconstant→Add→Typebeam3→Ok→Cross-sectionalareaAREA:0.05(横截面积)AreamomentofinteiaIZZ:1(惯性矩)→OK图4.3定义单元截面积和惯性矩二、模型建立:1、画出关键点:ANSYSMainMenu:Preprocessor→Modeling→Creat→Keypoint→InActiveCS→Nodenumber1→X:0,Y:0,Z:0→Apply→Nodenumber2→X:0,Y:1,Z:→Apply→Nodenumber3→X:2,Y:1,Z:0→OK2、构造连线:ANSYSMainMenu:Preprocessor→Modeling→Creat→Line→lines→straightline→依次连接特征点→Ok图4.4模型建立3、划分网格:ANSYSMainMenu:Preprocessor→Meshing→Meshtool→Set→选择1,2节点之间部分→Apply→选择2,3节点之间部分→单元长度分别为0.1和0.2→OKMeshing→Meshtool→Mesh→分别选择1和2,2和3节点之间部分→OK图4.4划分网格4、添加约束和载荷:左下角和右上角添加约束:ANSYSMainMenu:Preprocessor→Solution→Defineloads→Apply→Structural→Displacement→Onnodes→选择1节点→ALLDOF→Apply→Onnodes→选择1节点→ALLDOF→OK添加顶部均布载荷:ANSYSMainMenu:Preprocessor→Solution→Defineloads→Apply→Structural→Pressure→Onbeams→选择顶部所有的单元→VALIpressurevaluenodeI:1000VALJpressurevaluenodeJ:1000→OK添加力矩和力:ANSYSMainMenu:Preprocessor→Solution→Defineloads→Apply→Structural→Force/Monment→Onnodes→选择2节点→Apply→LABMZVALUE100.(输入力矩)→Onnodes→选择8节点→Apply→LABFXVALUE1000(输入力)图4.5添加约束和载荷二、分析计算ANSYSMainMenu:Solution→Solve→CurrentLS→OK→ShouldtheSolveCommandbeExecuted?Y→Close(Solutionisdone!)→关闭窗口图4.6求解模型三、求解结果1、位移ANSYSMainMenu:GeneralPostproc→Listresult→Nodalsolution→DOFsolution→X-componentofdisplacement→Apply→Y-componentofdisplacement→OK图4.7x方向位移解图4.8y方向位移解2、支反力:ANSYSMainMenu:GeneralPostproc→Listresult→ReactionSolu→Allitems→OK图4.9支反力结果四、绘制图像1、设置参数ANSYSMainMenu:GeneralPostproc→ElementTable→DifineTable→Add在userlabelforitem中输入FX-I,在Resultsdataitem中选择Bysequencenum并输入smisc,1→Apply在userlabelforitem中输入FX-J,在Resultsdataitem中选择Bysequencenum,,并输入smisc,7→Apply在userlabelforitem中输入FY-I,在Resultsdataitem中选择Bysequencenum,,并输入smisc,2→Apply在userlabelforitem中输入FY-J,在Resultsdataitem中选择Bysequencenum,,并输入smisc,8→Apply在userlabelforitem中输入MZ-I,在Resultsdataitem中选择Bysequencenum,,并输入smisc,6→Apply在userlabelforitem中输入MZ-J,在Resultsdataitem中选择Bysequencenum,,并输入smisc,12→OK图4.10图表参数设置2、图像输出a)轴力图:ANSYSMainMenu:GeneralPostproc→Plotresult→Contourplot→LineElemRes→选择FX_IFX_J→Apply图4.11轴力图b)剪力图:ANSYSMainMenu:GeneralPostproc→Plotresult→Contourplot→LineElemRes→选择FY_IFY_J→Apply图4.12剪力图c)弯矩图:ANSYSMainMenu:GeneralPostproc→Plotresult→Contourplot→LineElemRes→选择MZ_IZ_J→OK图4.13弯矩图第五章结果比较结果手算MATLABANSYS-0.41422×10-8-0.41422×10-8-0.41422×10-8-0.33023×10-7-0.33023×10-7-0.33023×10-7-1033.1-1033.1-1033.149.53549.53549.53564.50164.50164.5013.10673.10673.10671950.51950.51950.5-1462.3-1462.3-1462.3通过对比知道,三种方式的结果完全一样,显示了结果的正确性。第六章心得体会 在有限元课程结束之际,通过这份大作业,我整理总结了这个学期学到的有限元思想。深化我对有限元计算流程的理解,提升了我的matlab的编程水平。 编程时首先要对整体的流程有一个清晰地构想,从数据的获取开始到计算输出进行分步处理;通过手算例题确定计算过程中使用的参数。再通过模板获得每个单元的矩阵。难点在于如何将这些单元正确的拼接到一起,一开始用的是biadiag对角拼接指令,但由于每个单元对应的节点并非按顺序排列,不能实现所需效果;之后我重新计算例题,探究到组装的本质是将每个单元的矩阵按照矩阵所对应节点的信息进行分块,并累加到总体矩阵中,由于矩阵实现较为麻烦,所以我想利用元胞数组来存储节点信息,并成功实现了所需功能,又利用cat拼接指令,将元胞数组展开成一个大型矩阵完成拼接。再获得总体刚度矩阵后,只要找到对应的位移与外力的参数行,再进行乘除计算就相对简单了。 我认为在学习过程中,提高编程能力是很重要的一个方面,有着良好的编程能力,可以让很多工程问题得以用计算机解决,更容易获得结果。而想要提高编程能力,首先要有一定的编程思想与数学建模能力。 我认为编程思想指的是,要对所做的事情有一个过程性与结构性的认识,并根据使用对象进行相关的调整。过程性指的是在编程要有一个完整的流程图,将复杂问题转化成若干简单的小问题,针对小问题进行求解;结构性指的是在编程中要利用条件if,循环for等结构简化程序,同时也要对每部分程序的输入、输出以及执行作用有一个明确的认知;最后根据使用对象,对输入、输出,进行调整,也可以用GUI编制界面方便使用。 以上是我对这次大作业的心得体会,希望老师辅导校正第七章附录一、matlab程序clcclearformatcompactformatshortGjd=input('请输入节点数:');dy=input('请输入单元数:');E=input('请输入杨氏模量E:');I=input('请输入惯性矩I:');L=input('请输入单元长度L:');A=input('请输入单元截面积:');FAI=input('请输入单元相对旋转角度:');%输入对应关系时,小节点放前面[单元节点1节点2]dy_jd=input('请输入单元与节点对应关系:');%输入力与扭矩约束[值作用节点作用类型](转矩为3x方向为1y方向为2)lys=input('力与转矩约束矩阵:');%输入结构约束[作用节点作用类型](转角为3x方向为1y方向为2)wys=input('结构约束矩阵:');%原始数据%L=1;%E=3*10^10;%P=1000;%A=0.05;%dy=2;jd=3;LL=[L2*L];I=20*A;%dy_jd=[112;223];%FAI=[pi/20];%q=P/L;M=P*L/10;%lys=[44/125*P11;-12*P*L/12513;81/125*P21;-P22;-67/750*P*L23;-P32;P*L/333];%wys=[11;12;13;31;32;33];%对力约束与位移约束式子分别进行编号处理wys(:,3)=(wys(:,1)-1)*3+wys(:,2);lys(:,4)=(lys(:,2)-1)*3+lys(:,3);%对力约束与位移约束式子进行排序lys=sortrows(lys,4);wys=sortrows(wys,3);%单元刚度矩阵symsfaieailrealk=[e*a/l00-e*a/l00;012*e*i/l^36*e*i/l^20-12*e*i/l^36*e*i/l^2;06*e*i/l^24*e*i/l0-6*e*i/l^22*e*i/l;-e*a/l00e*a/l00;0-12*e*i/l^3-6*e*i/l^2012*e*i/l^3-6*e*i/l^2;06*e*i/l^22*e*i/l0-6*e*i/l^24*e*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,其每一页对应相应页数的单元的刚度矩阵forj=1:dy;e=E;i=I;l=LL(j);a=A;fai=FAI(j);kk(:,:,j)=eval(K);end%生成总体刚度矩阵KK%采用元胞数组的方式对各项进行保存%生成空元胞数组,元胞数组的行列大小与节点数相同forj=1:jd;forjj=1:jd;ling1{j,jj}=zeros(3);endendling2=ling1;%将对单元刚度矩阵部分分成4分加入元胞数组中forj=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);ling2{dy_jd(j,2),dy_jd(j,2)}=kk1+ling2{dy_jd(j,2),dy_jd(j,2)};ling2{dy_jd(j,2),dy_jd(j,3)}=k

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论