文档详情

【MATLAB算例】基于3节点三角形单元的矩形薄板分析.docx

发布:2019-04-07约6.01千字共7页下载文档
文本预览下载声明
--WORD格式--可编辑-- --- 【MATLAB 算例】基于 3节点三角形单元的 矩形薄板分析 将此结构按三角形单元 划分成 432个三角形 (X 方向分成 18段, Y 方向分成 12 段),总共分成 19X13=247个结点的有限元模型,具体步骤详细程序如下: tic; Initial_info=[0.09 0.06 18 12]; disp(该程序计算的是 ,num2str(Initial_info(3)+1),X,num2str(Initial_info(4)+1),=,... num2str((Initial_info(3)+1)*(Initial_info(4)+1)), 个结点的有限元模型 ]); LX=Initial_info(1); LY=Initial_info(2); nx=Initial_info(3); ny=Initial_info(4); ne=2*nx*ny; np=(nx+1)*(ny+1); for i=1:nx+1; j=1:ny+1; Np(i,j)=j+(i-1)*(ny+1); end 生成节点编号矩阵 Np for i=1:nx+1; j=1:ny+1; XX(i,j)=(i-1)*LX/nx; YY(i,j)=(j-1)*LY/ny; end XY=[reshape(XX,np,1),reshape(YY,np,1)]; nx2=nx/2; Np1=Np(1:nx2+1,:); Np2=Np(nx2+1:end,:); for i=1:nx2*ny; if rem(i,nx2)==0 xp=nx2; yp=i/nx2; else xp=rem(i,nx2); yp=fix(i/nx2)+1; end Dof1(i,:)=[Np1(xp,yp),Np1(xp+1,yp),Np1(xp,yp+1)]; Dof1(i+nx2*ny,:)=[Np1(xp+1,yp),Np1(xp+1,yp+1),Np1(xp,yp+1)]; Dof2(i,:)=[Np2(xp,yp),Np2(xp+1,yp),Np2(xp+1,yp+1)]; Dof2(i+nx2*ny,:)=[Np2(xp,yp),Np2(xp+1,yp+1),Np2(xp,yp+1)]; end Dof=[Dof1;Dof2]; for i=1:ne unit(i,:)=[XY(Dof(i,1),1),XY(Dof(i,2),1),XY(Dof(i,3),1),... XY(Dof(i,1),2),XY(Dof(i,2),2),XY(Dof(i,3),2)]; end disp(前处理完成 ); 前处理完成 单元刚度矩阵 E=2*10^11;u=0.3; 平面应力问题 D=E/(1-u^2)*[1 u 0;u 1 0;0 0 (1-u)/2]; for i=1:ne xi=unit(i,1); yi=unit(i,4); xj=unit(i,2); yj=unit(i,5); xm=unit(i,3); ym=unit(i,6); ai=xj*ym-xm*yj; aj=xm*yi-xi*ym; am=xi*yj-xj*yi; bi=yj-ym; bj=ym-yi; bm=yi-yj; ci=-(xj-xm); cj=-(xm-xi); cm=-(xi-xj); area=abs((ai+aj+am)/2); B = [bi 0 bj 0 bm 0 0 ci 0 cj 0 cm ci bi cj bj cm bm]; Be{i,1} = B/2/area ; ke{i,1}=[Be{i,1}]*D*Be{i,1}*area; end 总刚度矩阵叠加 KK=sparse(2*np,2*np); for ie=1:ne a=Dof(ie,1); b=Dof(ie,2); c=Dof(ie,3); DOF(1)=2*a-1; DOF(2)=2*a; DOF(3)=2*b-1; DOF(4)=2*b; DOF(5)=2*c-1; DOF(6)=2*c; for n1=1:6 for n2=1:6 KK(DOF(n1),DOF(n2))= KK(DOF(n1),DOF(n2))+ke{ie,1}(n1,n2); end end end 单元等效节点荷载 y=(0:LY); P=(10^7/0.03)*y-10^7; 左右受变化的三角形荷载 ,在如图的坐标系下 Re=sparse(ne,6); for i=1:ne; switch i case num2cell(1:ne/2-nx2) Pe=[0 0 0 0 0 0]; case num2cell(ne/2-nx2+1:ne/2) Pe=-LX*P*[0,0,0,1,0,1]/nx/2;
显示全部
相似文档