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

clc

clear
clc
ne=input('Enter No of Elements '); %no of elements
nn=input('Enter Total No of Nodes '); %total number of nodes
nne=input('Enter No of Nodes per Element '); %no of nodes per element
ndof=input('Enter Nodal Degree of Freedom '); %nodal degree of freedom
ndofe=nne*ndof;
ndofs=nn*ndof;
RR=input('Enter No of Restraint Nodes ');
fo=zeros(nne,2);
for f=1:nn
fo(f,1)=input(['Enter force at node ',num2str(f),' ']);
end
%Modulus of Elasticity
MOE=zeros(ne,1);
for ee=1:ne
MOE(ee,1)=input(['Enter Modulus of Elasticity of Element ',num2str(ee),' ']);
end
INE=zeros(ne,1);
for ii=1:ne
INE(ii,1)=input(['Enter Moment of Inertia of Element ',num2str(ii),' ']);
end
LE=zeros(ne,1);
for ll=1:ne
LE(ll,1)=input(['Enter Length of Element ',num2str(ll),' ']);
end
eletopo=zeros(ne,3);
for ele=1:ne
eletopo(ele,1)=ele;
eletopo(ele,2)=input(['Enter Start Node of Element ',num2str(ele),' ']);
eletopo(ele,3)=input(['Enter End Node of Element ',num2str(ele),' ']);
end
eletopo
g=nn*2;
gk=zeros(g);
k=zeros(4);
for aa=1:ne
E=MOE(aa,1);
I=INE(aa,1)
L=LE(aa,1)
fi=(E*I)/(L^3);
k=fi.*[12 6*L -12 6*L;6*L 4*L^2 -6*L 2*L^2;-12 -6*L 12 -6*L;6*L 2*L^2 -6*L 4*L^2
]
i=eletopo(aa,2)*2;
j=eletopo(aa,3)*2;
e1=i-1;
e2=j-1;
X=e1;
Y=j-1;
Z=e1;
for xx=1:4
for yy=1:2
gk(X,Z)=k(xx,yy)+gk(X,Z);
Z=i;
end
for yy=3:4
gk(X,Y)=k(xx,yy)+gk(X,Y);
Y=j;
end

if xx==1
X=i;
Z=e1;
Y=e2;
elseif xx==2
X=e2;
Z=e1;
Y=e2;
elseif xx==3
X=j;
Z=e1;
Y=e2;
end
end
end
gg=gk;
res=zeros(RR,2);
for r1=1:RR
res(r1,1)=r1;
res(r1,2)=input(['Enter Restraint Node ',num2str(r1),' ']);
nr=nn*2;
for zz=1:nr
gk(zz,r1)=0;
gk(r1,zz)=0;
gk(r1,r1)=1;
end
end

You might also like