利用MATLAB软件对板进行结构分析

利用MATLAB软件对板进行结构分析

二.划分单

划分单元,标出单号码及节点码,选取标,如上图示。

三程序选择

选择使用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)

来源:fpga和matlab

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月11日
下一篇 2021年1月11日

相关推荐