二.划分单
划分单元,标出单 码及节点码,选取标,如上图示。
三程序选择
选择使用ATLAB作为开发序,下面根据程序的构特点进行叙述
四子程序(m文件)
程序(m文件)在MTLAB程序中具有要的地位,通过它可方便的设置自己的函,这些函数可以在MTLAB命令窗口被便的调用。本例共使了五个子程序(m文),分别是:
1.inearTriagleElemenStiffnessE,NU,t,xiyi,xj,yj,m,ym,p)
2LinearTringleAssemle(K,k,i,,m)
3. LiearTriangeElementSresses(E,U,xi,yi,x,yj,xm,ymp,u)
4. LnearTrianleElementstresses(igma)
5.PotStress(Stress)
具程序和解释说明如下
1. LineaTriangleEementStifness(E,NUt,xi,yi,x,yj,xm,ymp)
该函数用于计弹性模量为E、泊松为NU、厚度为t、一个节点坐标为(x,yi)、第二个节坐标为(xj,yj、第三个节点坐标为xm,ym)时的线三角形元的单元刚度阵。P=1表明函数于平面应力情况。P2表明函数用于平面变情况。该函数返回*6的单元刚度矩阵。程序如下:
fu/span>nction y =/span> LinearTri/span>angleEleme/span>ntStiffnes/span>s(E,NU,t,x/span>i,yi,xj,yj/span>,xm,ym,p)
/span>A=(xi*(yj-/span>ym)+xj*(ym/span>-yi)+xm*(y/span>i-yj))/2; /span>%计算单元面积
be/span>tai=yj-ym;/span> /span> /span> %计/span>算单元应变矩阵中的元/span>素
betaj=ym/span>-yi; /span> /span> /span> %计算单元应变矩/span>阵中的元素
beta/span>m=yi-yj; /span> /span> /span> %计算单/span>元应变矩阵中的元素
/span>gammai=xm-/span>xj; /span> /span> /span>%计算单元应变矩阵中/span>的元素
gammaj/span>=xi-xm; /span> /span> /span> %计算单元应/span>变矩阵中的元素
ga/span>mmam=xj-xi/span>; /span> /span> %计/span>算单元应变矩阵中的元/span>素
B=[betai/span> 0 betaj 0/span> betam 0; /span> /span> %形成单元应变矩/span>阵B
0 g/span>ammai 0 ga/span>mmaj 0 gam/span>mam;
g/span>ammai beta/span>i gammaj b/span>etaj gamma/span>m betam]/(/span>2*A);
if p/span>==1 /span> /span> /span> %对于平/span>面应力问题形成弹性矩/span>阵D
D=(/span>E/(1-NU^2)/span>)*[1 NU 0;/span>NU 1 0;0 0/span> (1-NU)/2]/span>;
elseif p/span>==2 /span> /span> /span> %对于平面应变问/span>题形成弹性矩阵D
/span> D=(E/(1/span>+NU)/(1-2*/span>NU))*[1-NU/span> NU 0;NU 1/span>-NU 0;0 0 /span>(1-2*NU)/2/span>];
end
y=t/span>*A*B’*D*B;/span> /span> /span> %根据/span>虚功原理形成单元刚度/span>矩阵
2.LinerTrianglessemble(Kk,i,j,m)
函数将连接节点i和点j的线性三角形元单元刚度矩阵k集成整体刚度矩阵K。每成一个单元,该函数返回2n*2n的整刚度矩阵K。
fu/span>nction y=L/span>inearTrian/span>gleAssembl/span>e(K,k,i,j,/span>m)
K(2*i-1/span>,2*i-1)=K(/span>2*i-1,2*i-/span>1)+k(1,1);/span>
K(2*i-1,2/span>*i)=K(2*i-/span>1,2*i)+k(1/span>,2);
K(2*i/span>-1,2*j-1)=/span>K(2*i-1,2*/span>j-1)+k(1,3/span>);
K(2*i-1/span>,2*j)=K(2*/span>i-1,2*j)+k/span>(1,4);
K(2/span>*i-1,2*m-1/span>)=K(2*i-1,/span>2*m-1)+k(1/span>,5);
K(2*i/span>-1,2*m)=K(/span>2*i-1,2*i-/span>1)+k(2,1);/span>
K(2*i,2*i/span>-1)=K(2*i,/span>2*i-1)+k(2/span>,1);
K(2*i/span>,2*i)=K(2*/span>i,2*i)+k(2/span>,2);
K(2*i/span>,2*j-1)=K(/span>2*j,2*j-1)/span>+k(2,3);
K/span>(2*i,2*j)=/span>K(2*i,2*j)/span>+k(2,4);
K/span>(2*i,2*m-1/span>)=K(2*i,2*/span>m-1)+k(2,5/span>);
K(2*i,2/span>*m)=K(2*i,/span>2*m)+k(2,6/span>);
K(2*j-1/span>,2*i-1)=K(/span>2*j-1,2*i-/span>1)+k(3,1);/span>
K(2*j-1,2/span>*j)=K(2*j-/span>1,2*i)+k(3/span>,2);
K(2*j/span>-1,2*j-1)=/span>K(2*j-1,2*/span>j-1)+k(3,3/span>);
K(2*j-1/span>,2*j)=K(2*/span>j-1,2*j)+k/span>(3,4);
K(2/span>*j-1,2*m-1/span>)=K(2*j-1,/span>2*m-1)+k(3/span>,5);
K(2*j/span>-1,2*m)=K(/span>2*j-1,2*m)/span>+k(3,6);
K/span>(2*j,2*i-1/span>)=K(2*j,2*/span>i-1)+k(4,1/span>);
K(2*j,2/span>*i)=K(2*j,/span>2*i)+k(4,2/span>);
K(2*j,2/span>*j-1)=K(2*/span>j,2*j-1)+k/span>(4,3);
K(2/span>*j,2*j)=K(/span>2*j,2*j)+k/span>(4,4);
K(2/span>*j,2*m-1)=/span>K(2*j,2*m-/span>1)+k(4,5);/span>
K(2*j,2*m/span>)=K(2*j,2*/span>m)+k(4,6);/span>
K(2*m-1,2/span>*i-1)=K(2*/span>m-1,2*i-1)/span>+k(5,1);
K/span>(2*m-1,2*i/span>)=K(2*m-1,/span>2*i)+k(5,2/span>);
K(2*m-1/span>,2*j-1)=K(/span>2*m-1,2*j-/span>1)+k(5,3);/span>
K(2*m-1,2/span>*j)=K(2*m-/span>1,2*j)+k(5/span>,4);
K(2*m/span>-1,2*m-1)=/span>K(2*m-1,2*/span>m-1)+k(5,5/span>);
K(2*m-1/span>,2*m)=K(2*/span>m-1,2*m)+k/span>(5,6);
K(2/span>*m,2*i-1)=/span>K(2*m,2*i-/span>1)+k(6,1);/span>
K(2*m,2*i/span>)=K(2*m,2*/span>i)+k(6,2);/span>
K(2*m,2*j/span>-1)=K(2*m,/span>2*j-1)+k(6/span>,3);
K(2*m/span>,2*)=K(2*i/span>-1,2*i-1)+/span>k(1,1);
en/span>d
3. LinerTrianglelementStrsses(E,NUxi,yi,xj,j,xm,ym,pu)
该函数计算在性模量为E、泊松比NU、厚度为t、第个节点坐标为(xiyi)、第二个节点标为(xj,yj)第三个节点坐标为(m,ym)以及单元移矢量为u时的单元力。P=1表明函数于平面应力情况。P2表明函数用于平面变情况。
func/span>tion y=Lin/span>earTriangl/span>eElementSt/span>resses(E,N/span>U,xi,yi,xj/span>,yj,xm,ym,/span>p,u)
A=(xi/span>*(yj-ym)+x/span>j*(ym-yi)+/span>xm*(yi-yj)/span>)/2;
betai/span>=yj-ym;
be/span>taj=ym-yi;/span>
betam=yi-/span>yj;
gammai/span>=xm-xj;
ga/span>mmaj=xi-xm/span>;
gammam=x/span>j-xi;
B=[b/span>etai 0 bet/span>aj 0 betam/span> 0;
0 /span>gammai 0 g/span>ammaj 0 ga/span>mmam;
/span>gammai bet/span>ai gammaj /span>betaj gamm/span>am betam]//span>(2*A);
if /span>p==1
D/span>=(E/(1-NU*/span>NU))*[1 NU/span> 0;NU 1 0;/span>0 0 (1-NU)/span>/2];
elsei/span>f p==2
/span> D=(E/(1+N/span>U)/(1-2*NU/span>))*[1-NU N/span>U 0;NU 1-N/span>U 0;0 0 (1/span>-2*NU)/2];/span>
end
y=D*B/span>*u; /span> /span> /span> %/span>返回单元应力
4. inearTriagleElemenPstressessigma)
该函根据单元应力矢量sgma计算单元主应。该函数返回3*1矢量,其形式为[sgma1,sigm2,theta]T其中sigma1和igma2为单元的应力,theta为应力方向角。
fu/span>nction y =/span> LinearTri/span>angleEleme/span>ntPstresse/span>s(sigma)
R/span>=(sigma(1)/span>+sigma(2))/span>/2;
Q=((si/span>gma(1)-sig/span>ma(2))/2)^/span>2+sigma(3)/span>*sigma(3);/span>
M=2*sigma/span>(3)/(sigma/span>(1)-sigma(/span>2));
s1=R+/span>sqrt(Q);
s/span>2=R-sqrt(Q/span>);
theta=(/span>atan(M)/2)/span>*180/pi;
y/span>=[s1;s2;th/span>eta];
5.PltStress(itress)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!