资源描述:
《规则外形的平面应力问题有限元分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、规则外形的平面应力问题有限元分析㈠程序说明本程序适用于规则外形受集中载荷作用的平面应力问题有限元分析,采用三节点三角形单元,不包括网格划分,因此前处理需要自行处理数据;根据最小位能原理进行求解,求解结果为节点位移,不包括后置处理。程序应用举例如下:㈡程序举例如图为矩形简支板,板厚为t=1m,板长为18m,板高为3m,受图示作用力,弹性模量,泊松比,容重。求位移?㈢程序求解过程⑴划分单元划分单元,标出单元号码及节点,选取坐标。⑵输入数据①弹性模量:eo=2000000000;②泊松比:co=0.167;③梁的厚度:t=1
2、m;④节点总数:nnd=14;⑤单元总数:nne=12;⑥节点坐标:xynnd=[00;30;60;90;120;150;180;03;33;63;93;123;153;183];⑦单元节点编码:nonne=[129;2310;3411;4512;5613;6714;198;2109;31110;41211;51312;61413];⑧存在载荷的节点总数;w=7;⑨已知位移的节点总数:d=2;⑩载荷值:nwz=[0-2000008;0-2000009;0-20000010;0-20000011;0-20000012;0
3、-20000013;0-20000014];⑩已知位移值:ndz=[001;007]。⑶程序框图及程序①程序框图②源程序代码function[UV]=yxymainprogram()%有限元主程序,适用于规则外形受集中载荷作用的平面应力问题有限元分析。%弹性模量eo%泊松比co%梁的厚度t%节点总数nnd%单元总数nne%节点坐标xynnd%单元节点编码nonne%存在载荷的节点总数w%已知位移的节点总数d%载荷值nwz%已知位移值ndz%载荷矩阵P%引入位移边界后的刚度矩阵KZ%引入位移边界后的载荷矩阵KP%总纲矩阵
4、K%单元刚度矩阵KE%应变矩阵B%弹性矩阵DglobalUV;globalKZ;globalKP;globalP;globalw;globalnnd;globalnwz;globalK;globalB;globalD;globalA;globalKE;globalxynnd;globalnonne;globaleo;globalco;globald;globalndz;clear;clc;[KZ,KP]=getKZP;UV=inv(KZ)*KP;function[KZ,KP]=getKZP(d)%引入位移边界后的矩阵g
5、lobalUV;globalKZ;globalKP;globalP;globalw;globalnnd;globalnwz;globalK;globalB;globalD;globalA;globalKE;globalxynnd;globalnonne;globaleo;globalco;globald;globalndz;d=input('d=');w=input('w=');nwz=input('nwz=');nne=input('nne=');nnd=input('nnd=');nonne=input('nonn
6、e=');xynnd=input('xynnd=');eo=input('eo=');co=input('co=');ndz=input('ndz=');[K]=getK(nne,nnd);[P]=getP(w);a=inf;fori=1:dii=ndz(i,3);ifndz(i,1)==0K(:,2*ii-1)=0;K(2*ii-1,:)=0;K(2*ii-1,2*ii-1)=1;P(2*ii-1,1)=0;elseK(2*ii-1,2*ii-1)=a*K(2*ii-1,2*ii-1);P(2*ii-1,1)=a*K
7、(2*ii-1,2*ii-1)*ndz(i,1);endifndz(i,2)==0K(:,2*ii)=0;K(2*ii,:)=0;K(2*ii,2*ii)=1;P(2*ii,1)=0;elseK(2*ii,2*ii)=a*K(2*ii,2*ii);P(2*ii,1)=a*K(2*ii,2*ii)*ndz(i,2);endKZ=K;KP=P;UV=zeros(2*nnd,1);endfunction[K]=getK(nne,nnd)%建立总纲矩阵globalK;globalB;globalD;globalA;global
8、KE;globalxynnd;globalnonne;globaleo;globalco;K=zeros(2*nnd,2*nnd);forne=1:nneG=zeros(6,2*nnd);i=nonne(ne,1);j=nonne(ne,2);k=nonne(ne,3);G(1,2*i-1)=1;G(2,2*i)=1;G(3,2*