Fem Code

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Q1

clc
clear all
close all

ne=5;

L=1; % length m
I=50000*10^(-12); % crossection area m4
E=2*10^11; % Young Modulus N/m2
P=[0 0 0 -12000 -12000]; % Load per unit length acting on beam

nn=ne+1;
ndof=nn*2;

conn=ones(ne,4);
for x=1:ne
y=2*x-1;
conn(x,:)= [y y+1 y+2 y+3];
end

KG=zeros(ndof,ndof);
FG=zeros(ndof,1);
for i=1:ne
KE=(E*I/(L^3))*[12 6*L -12 6*L;6*L 4*L*L -6*L 2*L*L;-12 -6*L 12 -6*L;6*L
2*L*L -6*L 4*L*L];
FE=(P(i)*L/2)*[1;L/6;1;-L/6];
for j=1:4
for k=1:4
KG(conn(i,j),conn(i,k))=KG(conn(i,j),conn(i,k))+KE(j,k);
end
FG(conn(i,j))=FG(conn(i,j))+FE(j,1);
end
end

FG(3,1)=FG(3,1)-1000;

KGB=KG;
FGB=FG;
KGB(1,:)=0;
KGB(:,1)=0;
KGB(1,1)=1;
FGB(1,1)=0;

KGB(2,:)=0;
KGB(:,2)=0;
KGB(2,2)=1;
FGB(2,1)=0;

KGB(5,:)=0;
KGB(:,5)=0;
KGB(5,5)=1;
FGB(5,1)=0;

KGB(7,:)=0;
KGB(:,7)=0;
KGB(7,7)=1;
FGB(7,1)=0;

KGB(11,:)=0;
KGB(:,11)=0;
KGB(11,11)=1;
FGB(11,1)=0;

UG=(KGB^-1)*FGB

Q2

clc
clear all
close all
L=5;
W=5;
t=0.2;
n=5;
Le=L/(n-1);
We=L/(n-1);
for i=1:n
for j=1:n
X((i-1)*5+j)=(j-1)*Le;
Y((i-1)*5+j)=(i-1)*We;
end
end

E=2*10^11;
v=0.3 ;

ne=2*(n-1)*(n-1);
nn=n*n;
ndof=nn*2;

Ncon=[1 2 7
1 7 6
2 3 8
2 8 7
3 4 9
3 9 8
4 5 10
4 10 9
6 7 12
6 12 11
7 8 13
7 13 12
8 9 14
8 14 13
9 10 15
9 15 14
11 12 17
11 17 16
12 13 18
12 18 17
13 14 19
13 19 18
14 15 20
14 20 19
16 17 22
16 22 21
17 18 23
17 23 22
18 19 24
18 24 23
19 20 25
19 25 24];

for i=1:ne
conn(i,:)= [2*Ncon(i,1)-1 2*Ncon(i,1) 2*Ncon(i,2)-1 2*Ncon(i,2)
2*Ncon(i,3)-1 2*Ncon(i,3)];
end
KG=zeros(ndof,ndof);

D=(E/(1-v^2))*[1 v 0
v 1 0
0 0 (1-v)/2];

for i=1:ne
Ae= 0.5*abs(det([1 X(Ncon(i,1)) Y(Ncon(i,1))
1 X(Ncon(i,2)) Y(Ncon(i,2))
1 X(Ncon(i,3)) Y(Ncon(i,3))]));

Be=(1/(2*Ae))*[Y(Ncon(i,2))-Y(Ncon(i,3)) 0 Y(Ncon(i,3))-Y(Ncon(i,1)) 0
Y(Ncon(i,1))-Y(Ncon(i,2)) 0
0 X(Ncon(i,3))-X(Ncon(i,2)) 0 X(Ncon(i,1))-X(Ncon(i,3)) 0 X(Ncon(i,2))-
X(Ncon(i,1))
X(Ncon(i,3))-X(Ncon(i,2)) Y(Ncon(i,2))-Y(Ncon(i,3)) X(Ncon(i,1))-
X(Ncon(i,3)) Y(Ncon(i,3))-Y(Ncon(i,1)) X(Ncon(i,2))-X(Ncon(i,1))
Y(Ncon(i,1))-Y(Ncon(i,2))];

KE=Be'*D*Be*Ae*t;
for j=1:6
for k=1:6
KG(conn(i,j),conn(i,k))=KG(conn(i,j),conn(i,k))+KE(j,k);
end
end
end

FG=zeros(ndof,1);
FG(9,1)=10000;
FG(19,1)=20000;
FG(29,1)=20000;
FG(39,1)=20000;
FG(49,1)=10000;

KGB=KG;
FGB=FG;

KGB(1,:)=0;
KGB(:,1)=0;
KGB(1,1)=1;
FGB(1,1)=0;

KGB(2,:)=0;
KGB(:,2)=0;
KGB(2,2)=1;
FGB(2,1)=0;

KGB(11,:)=0;
KGB(:,11)=0;
KGB(11,11)=1;
FGB(11,1)=0;
KGB(12,:)=0;
KGB(:,12)=0;
KGB(12,12)=1;
FGB(12,1)=0;

KGB(21,:)=0;
KGB(:,21)=0;
KGB(21,21)=1;
FGB(21,1)=0;

KGB(22,:)=0;
KGB(:,22)=0;
KGB(22,22)=1;
FGB(22,1)=0;

KGB(31,:)=0;
KGB(:,31)=0;
KGB(31,31)=1;
FGB(31,1)=0;

KGB(32,:)=0;
KGB(:,32)=0;
KGB(32,32)=1;
FGB(32,1)=0;

KGB(41,:)=0;
KGB(:,41)=0;
KGB(41,41)=1;
FGB(41,1)=0;

KGB(42,:)=0;
KGB(:,42)=0;
KGB(42,42)=1;
FGB(42,1)=0;

UG=(KGB^-1)*FGB

You might also like