FEM-Course-Matlab/6.桁架结构matlab有限元编程/Truss3D/main_bar120_3D.m

44 lines
1.4 KiB
Mathematica
Raw Normal View History

2024-01-28 16:46:36 +00:00
clc,clear
tic
nodes=zeros(3,49); %<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
ele=zeros(120,5);%<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ
l1=13883.89;l2=24085.55;l3=31775.91;
h1=3000;h2=5850.13;h3=7000;h4=0;
th=0:1/6:(11/6);
th=th.*pi;
nodes(:,1)=[0;0;h3];
Constr=zeros(12,4);
%<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for i=1:length(th)
nodes(:,i+1)=[l1*cos(th(i));l1*sin(th(i));h2];
nodes(:,12+2*i:13+2*i)=[l2*cos(th(i)),l2*cos(th(i)+pi/12);...
l2*sin(th(i)),l2*sin(th(i)+pi/12);h1,h1];
nodes(:,37+i)=[l3*cos(th(i));l3*sin(th(i));h4];
Constr(i,1)=37+i;%d<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>
end
%<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>Ϣ: <EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ڵ<EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ڵ<EFBFBD>2
for i=1:length(th)
ele(i,2:3)=[1,i+1]; %˳ʱ<EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if i==1
ele(10+3*i:12+3*i,2:3)=[i+1,37;i+1,12+2*i;i+1,13+2*i]; %13-48
ele(46+3*i:48+3*i,2:3)=[i+37,37;i+37,12+2*i;i+37,13+2*i]; %49-84
ele(84+i,2:3)=[13,i+1]; %85-96
ele(95+2*i:96+2*i,2:3)=[37,14;12+2*i,13+2*i]; %97-120
else
ele(10+3*i:12+3*i,2:3)=[i+1,11+2*i;i+1,12+2*i;i+1,13+2*i];
ele(46+3*i:48+3*i,2:3)=[i+37,11+2*i;i+37,12+2*i;i+37,13+2*i];
ele(84+i,2:3)=[i,i+1];
ele(95+2*i:96+2*i,2:3)=[11+2*i,12+2*i;12+2*i,13+2*i];
end
end
for i=1:length(ele(:,1))
ele(i,1)=i;
end
A=3;E=2.1E005; %<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
ele(:,4:5)=ones(120,2)*[A 0;0 E]; %<EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD>Ϣ: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
Load=[1 0 0 -200]; %<EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>x<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
x=nodes(1,:);
y=nodes(2,:);
z=nodes(3,:);
[U, Strain, Stress, AxialForce]=Truss3DStaticsFEA(x,y,z,ele,Load,Constr,20)
toc