有限单元法作业非线性分析+程序_第1页
有限单元法作业非线性分析+程序_第2页
有限单元法作业非线性分析+程序_第3页
有限单元法作业非线性分析+程序_第4页
有限单元法作业非线性分析+程序_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、几何非线性大作业荷载增量法和弧长法程序设计系(所):建筑工程系学 号:1432055姓 名:焦 联 洪培养层次:专业硕士指导老师:吴 明 儿 2015年6月19日 一、 几何非线性大作业( Newton-Raphson法)用荷载增量法(Newton-Raphson法)编写几何非线性程序:(1)用平面梁单元,可分析平面杆系(2)算例:悬臂端作用弯矩。悬臂梁最终变形形成周长为悬臂梁长度的圆。1.1 Newton-Raphson算法基本思想图1.1 Newton-Raphson算法基本思想1.2 悬臂梁参数基本参数:L=2m, D=0.03m, A=7.069E-4m2, I=3.976E-08m4

2、 ,E=2.0E11N/m2图1.2 悬臂梁单元信息将悬臂梁分成10个单元,如图1.2所示2.1 MATLAB输入信息 材料信息 单元信息 约束信息(0为约束,1为放松) 荷载信息(FX,FY,M) 节点信息2.2 求解过程梁弯成圆形:理论弯矩M=EIY=24981.944N.m ,直径为0.642m运用ABAQUS和MATLAB进行求解对比:图1.3 加载图 图1.4 ABAQUS变形图图1.5 MATLAB变形曲线ABAQUS和MATLAB变形对比,最终在理论荷载作用下都弯成了一个圆,其直径为0.64716m,与理论值相对比值为:(0.64716-0.642)/0.642=0.00804.

3、非常接近。2.3 加载点荷载位移曲线图1.5 加载点Y方向的荷载位移曲线加载点的最大竖向位移分别为1.4525m和1.45246m,相对比值(1.4525-1.45246)/1.45246=2.75395E-05。完全相同,说明MATLAB的计算结果很好。二、 几何非线性大作业( 弧长法)用弧长法编写几何非线性程序,分析荷载位移全过程曲线:1) 用平面梁单元,可分析平面杆系结构2) 算例(1)受集中荷载的拱:考察拱的矢跨比、荷载位置对荷载位移曲线的影响。(2)其他有复杂平衡路径的结构3) 将结果与相关文献进行对比1.1 弧长法基本思想图2.1 弧长法基本思想1.2 拱基本参数拱参数:L=100

4、m, A=0.32m2 ,I=1m4 ,E=1.0e7N/m2,F=-5000N,拱曲线 y=5sin(3.1415926*x/L)将拱结构分成25个单元,如图2所示图2.2 拱单元信息2.1 MATLAB输入信息材料信息 单元信息约束信息(0为约束,1为放松) 荷载信息(FX,FY,M)节点信息2.2 运用ANSYS和MATLAB进行求解对比(两端铰接)ANSYS中模型:图2.3 ANSYS模型 图2.4 MATLAB和ANSYS变形图2.3 加载点荷载位移曲线图2.5 加载点荷载位移曲线ANSYS求得的极限承载力3042.53,对应位移3.00142MATLAB求得的极限承载力3043.8

5、, 对应位移3.0768相对误差分别为0.0417%,2.45%,模拟效果比较好。2.4 拱的矢跨比a对拱荷载位移曲线的影响不同矢跨比(1/20,3/40,1/10,3/20)下加载点的荷载位移曲线1)MATLAB中计算拱的矢跨比a对拱荷载位移曲线的影响 图2.6 荷载位移曲线图2.7 荷载位移曲线表1 各矢跨比下拱结构的极限荷载 参数矢高极值点F(N)位移(m)最低点F(N)位移(m)5mm3043.83.07681765.27.08167.5mm7623.34.0335-595.8211.2110mm149745.4026-6408.114.88620mm397919.4831-63049

6、30.513从表中可以初步得出:在一定随着矢跨比的增加,拱仍然呈现跳跃失稳的形式,拱结构的极限承载能力有大幅度的提高;在最低处的承载力呈现出反向,相当于有一个拉力在阻止拱结构发生跳跃失稳,矢跨比越大,拱越不容易发生跳跃失稳。当拱的矢跨比超过一定范围后,拱将发生复杂的不同于跳跃失稳的失稳形式。2)MATLAB与ANSYS计算结果对比图2.8 ANSYS和MATLAB对比荷载位移曲线表2 各矢跨比下拱结构的极限荷载对比 参数矢高F(N)MAT位移(m)F(N)ANA位移(m)误差(%)误差(%)5mm3043.83.07683042.533.001420.042.457.5mm7623.34.03

7、357624.913.96303-0.021.7510mm149745.402614974.35.31570.001.6120mm397919.483139695.79.599550.24-1.23从图中可以看出:矢跨比在一定范围内,MATLAB与ANSYS计算的荷载位移曲线非常吻合,验证了MATLAB程序的可行性。当矢跨比为0.15时,ANSYS中将跟踪不到失稳后复杂的平衡路径。从表中可以得出:MATLAB与ANSYS计算中拱的极限荷载和极限荷载时所对应的位移非常接近,加载点均为顶点26。具体为:矢高5mm,荷载误差为0.04,位移误差为2.45;矢高7.5mm,荷载误差为-0.02,位移误

8、差为1.75;矢高10mm,荷载误差为0,位移误差为-1.61;矢高20mm,荷载误差为0.24,位移误差为-1.23。实际误差相差很小,在工程允许的范围内是可以接受的。2.5 荷载位置对拱荷载位移曲线的影响图2.9 ANSYS模型简图1)MATLAB中计算荷载位置对拱荷载位移曲线的影响图2.10 各加载点荷载位移曲线表3 改变加载点拱结构的极限荷载 参数加载点极值点F(N)位移(m)最低点F(N)位移(m)263043.83.07681765.27.08161635703.18912258.86.1161147282.883220.54.79594143171.2826105691.7829

9、 误差=100*(MATLAB-ANSYS)/ANSYS从表中可以初步得出:随着加载点位置越靠近支座处,拱结构的极限承载能力有大幅度的提高;在最低处的承载力也大幅度提高。当加载点位置靠近支座时,拱的承载力增加幅度最大,拱的稳定性很强,不容易发生失稳。2)MATLAB与ANSYS计算结果对比图2.11 ANSYS和MATLAB对比荷载位移曲线表4 各加载点拱结构的极限荷载 参数矢高F(N)MAT位移(m)F(N)ANA位移(m)误差(%)误差(%)263043.83.07683042.533.001420.042.451635703.18913569.733.248650.01-1.871147

10、282.884728.712.91862-0.02-1.344143171.282614324.81.29764-0.05-1.17误差=100*(MATLAB-ANSYS)/ANSYS从图中可以看出:MATLAB与ANSYS计算的荷载位移曲线非常吻合,验证了MATLAB程序的可行性。从表中可以得出:MATLAB与ANSYS计算中拱的极限荷载和极限荷载时所对应的位移非常接近。具体为:26加载点,荷载误差为0.04,位移误差为2.45;16加载点,荷载误差为0.01,位移误差为-1.87;11加载点,荷载误差为-0.02,位移误差为-1.34;4加载点,荷载误差为-0.05,位移误差为-1.17

11、。实际误差相差很小,在工程允许的范围内是可以接受的。2.6 两端铰接和固接对拱荷载位移曲线的影响矢高为5mm时,拱两端为固接和铰接时的荷载位移曲线如下:图2.12 ANSYS和MATLAB固接和铰接的荷载位移曲线从图中可以看出:拱的边界条件对其的失稳形式有很大影响。两端固接拱的稳定性明显优于两端铰接拱,承载能力也大幅度提高。固接拱不会发生跳跃失稳的形式,刚度在初始阶段会减小,待到达一定程度后刚度又会增加。而两端铰接拱会发生跳跃失稳的形式。2.7 参数m对拱失稳形式的影响文献中给出:m是一个由拱截面在竖向平面内的回转半径r 和拱的初始矢高h无确定的无量纲参数。当m=1 时,扁拱不会出现跳跃屈曲,

12、 当0m=1 时,扁拱不会出现跳跃屈曲,当0m1e-7 & k500 %在一个荷载增量步下进行的对此迭代 k=k+1; K_Global=zeros(N_Node*3,N_Node*3); for i=1:N_Element N1=Element(i,1); N2=Element(i,2); N_Section=Element(i,3); C(i,:)=Update_Node(N2,:)-Update_Node(N1,:); %a1下坐标向量增量 L(i)=norm(C(i,:); %变形后的长度 cs=C(i,:)/L(i); E=Section(N_Section,1); A=Sectio

13、n(N_Section,2); I=Section(N_Section,3); K_Element=beam2d_stiffness530(E,A,I,L(i),cs,Ele_F1(i,:); K_Global=K_Global+Assemble(K_Element,Element(i,:),N_Node); %形成总刚k1 end Equation=K_Global,Val; %在残余应力下的位移求解 Disp_Transefer=ones(N_Node*3,1); Disp_Transefer(del,:)=0; Equation(del,:)=; Equation(:,del)=; n1

14、=size(Equation,2); Dis2=-(Equation(:,1:n1-1)Equation(:,n1) %荷位移增量da1 zz=1; for i=1:N_Node*3; if Disp_Transefer(i,1)=1; Disp_Transefer(i,1)=Dis2(zz,1); zz=zz+1; end end for i=1:N_Node Correc_dis(i,:)=Disp_Transefer(i*3-2:i*3,1); end Correc_dis1= Correc_dis1+ Correc_dis; Internal_F1=zeros(N_Node*3,1);

15、 %节点内力向量 Update_Node1=Update_Node; Update_Node=Node+All_Disp(:,1:2)+Correc_dis1(:,1:2);%为了求切线刚度矩阵(改)a2下 if abs(Update_Node(11,2)=1e-4&abs(Update_Node(11,1)=1e-4 break end for i=1:N_Element F_Global=zeros(N_Node*3,1); for j=1:2 ELEDISP1(j*3-2:j*3)=Correc_dis(Element(i,j),:); %取出当前单元节点位移向量 end N1=Elem

16、ent(i,1); %i节点编号 N2=Element(i,2); %j节点编号 C1(i,:)=Update_Node1(N2,:)-Update_Node1(N1,:); %a0下坐标向量增量 L1(i)=norm(C1(i,:); %变形后的长度 cs1=C1(i,:)/L1(i); %杆件的cos和sin值 T1=cs1(1,1),cs1(1,2),0,0,0,0; -cs1(1,2),cs1(1,1),0,0,0,0; 0,0,1,0,0,0; 0,0,0,cs1(1,1),cs1(1,2),0; 0,0,0,-cs1(1,2),cs1(1,1),0; 0,0,0,0,0,1; EL

17、EDISP(i,:)=T1* ELEDISP1(:); X1=L1(i)+ ELEDISP(i,4)- ELEDISP(i,1); Z1= ELEDISP(i,5)-ELEDISP(i,2); LN=(X12+Z12)0.5; sin1=Z1/LN; cos1=X1/LN; Citaloca=atan2(sin1,cos1); Ub=LN-L1(i); THRA=ELEDISP(i,3)- Citaloca; THRB=ELEDISP(i,6)- Citaloca; ELEDISP(i,:)=0,0,THRA,Ub,0,THRB; K_Element=beam2d_stiffness520(E

18、,A,I,L1(i),cs1,Ele_F1(i,:);% L(i)为a1对应下的 Ele_F(i,:)=K_Element*ELEDISP(i,:); Ele_F1(i,:)= Ele_F1(i,:)+ Ele_F(i,:); C2(i,:)=Update_Node(N2,:)-Update_Node(N1,:); %a0下坐标向量增量 L2(i)=norm(C2(i,:); %变形后的长度 cs2=C2(i,:)/L2(i); %杆件的cos和sin值 T2=cs2(1,1),cs2(1,2),0,0,0,0; -cs2(1,2),cs2(1,1),0,0,0,0; 0,0,1,0,0,0;

19、 0,0,0,cs2(1,1),cs2(1,2),0; 0,0,0,-cs2(1,2),cs2(1,1),0; 0,0,0,0,0,1; Ele1_F(:)=T2*Ele_F1(i,:);%行向量 N1=Element(i,1); N2=Element(i,2); F_Global(3*N1-2:3*N1,1)=Ele1_F(1:3); %i节点荷载 F_Global(3*N2-2:3*N2,1)=Ele1_F(4:6); %j节点荷载 Internal_F1=Internal_F1+F_Global; %a1对应下的P1 end Val=Internal_F1-All_F; %荷载增量Q1-

20、P2 Val(del,:)=0; end All_Disp=All_Disp+Correc_dis1 qq(n+1,1)=All_F(N_Node*3,1); pp(n+1,1)=All_Disp(21,2);endplot(1.4525,qq,g)text(1.3,1.5*104,x=1.4525)hold onplot(pp,qq,r)title(悬臂梁加载点荷载位移曲线);xlabel(位移(m));ylabel(荷载(N));legend(点11荷载位移曲线);grid主程序二:弧长法clcclearNode=xlsread(Data111.xls,Node);Element=xlsr

21、ead(Data111.xls,Element);Boundary=xlsread(Data111.xls,Boundary);Section=xlsread(Data111.xls,Section);Force=xlsread(Data111.xls,Force);%读取相关数据N_Node=size(Node,1); %节点个数 N_Element=size(Element,1); %单元个数N_Force=size(Force,1); %节点力个数N_Boundary=size(Boundary,1); %约束节点个数Displacement=zeros(N_Node,3); %位移向量

22、(a0)%初始位移及转角为0All_Disp=zeros(N_Node,3); %初始位移和转角为零(迭代后的节点位移)All_F=zeros(N_Node*3,1); %初始荷载向量为零 (存放节点荷载向量)ForceMatrix=zeros(N_Node*3,1); %总荷载向量C=zeros(N_Element,2);L=zeros(N_Element,1);for i=1:N_Force ForceMatrix(Force(i,1)*3-2:Force(i,1)*3,1)=Force(i,2:4); %把节点荷载向量读入一个矩enddel=;for i=1:N_Boundary; if Boundary(i,2)=0; m=3*Boundary(i,1)-2; del=del,m; %受约束节点位移为0时所对应的指标数值1 end if Boundary(i,3)=0; m=3*Boundary(i,1)-1; del=del,m; %受约束节点位移为0时所对应的指标数值2 end if Boundary(i,4)=0; m=3*Boundary(i,1); del=del,m; %受约束节点位移为0时所对应的指标数值3 enden

温馨提示

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

评论

0/150

提交评论