Professional Documents
Culture Documents
Pdfbalok
Pdfbalok
m 1 of 6
%%
%.......................................
% MATLAB code for Finite Element Analysis
% Risqi Febriyanto
% 27-04-2022
%%
% clear memory
close all %close all : menutup semua "jendela" gambar
clear all %clear all : menghapus data pada workspace
clc %clc : membersihkan layar
commandwindow %memunculkan commandwindow
%%
%INPUT
%Node : menunjukkan koordinat nodal
%(Nodal, xn, yn)
Node = [1 0 0;
2 1 0;
3 2 0;
4 3 0;
5 4 0;
6 5 0;
7 6 0;
8 9 0;
9 12 0;
10 13 0;
11 14 0;
12 15 0;
13 16 0;
14 17 0;
15 18 0];
%Material Element
%E : Modulus elastisitas
%I : Momen inersia
E1=2.1e5; I1=2.133e-3;
% (Element, Near, Far, E,I)
Element=[1 1 2 E1 I1;
2 2 3 E1 I1;
3 3 4 E1 I1;
4 4 5 E1 I1;
5 5 6 E1 I1;
6 6 7 E1 I1;
7 7 8 E1 I1;
8 8 9 E1 I1;
9 9 10 E1 I1;
10 10 11 E1 I1;
11 11 12 E1 I1;
12 12 13 E1 I1;
6/6/22 3:43 PM C:\Users\Risqi ...\Tugas_Balok_Pleno.m 2 of 6
13 13 14 E1 I1;
14 14 15 E1 I1];
E=Element(:,4);
I=Element(:,5);
%%
%Force applied
for f=1:nF;
awb = Nbne(f,1); %awb : nodal awal untuk
beban nodal ekuivalen
akb = Nbne(f,2); %akb : nodal akhir untuk
beban nodal ekuivalen
bne = [un*awb-((un-1):-1:0),un*akb-((un-1):-1:0)]; %bne : kumpulan derajat
kebebasan pada elemen yang diiterasi
elbne = [Nbne(f,3),Nbne(f,4),Nbne(f,5),Nbne(f,6)]'; %elbne : beban nodal
ekuivalen pada elemen yang diiterasi
fbne(bne) = fbne(bne)+elbne; %penyusunan beban padal
kondisi global
end
for fp=1:size(fpoint,1);
Ifx = 2*fpoint(fp,1)-1; %d.k gaya arah y
Ify = 2*fpoint(fp,1); %d.k gaya arah rotasi
forces(Ifx) = fpoint(fp,2); %gaya arah y
forces(Ify) = fpoint(fp,3); %gaya arah rotasi
end
F = forces+fbne; %penjumlahan gaya
%%
%Stiffness
KG = zeros(GDof);%Kekakuan global struktur (matriks kosong)
for i=1:nE
aw = Element(i,2); %aw : nodal awal elemen
ak=Element(i,3); %ak : nodal akhir elemen
dof = [un*aw-((un-1):-1:0),un*ak-((un-1):-1:0)]; %Derajat kebebasan pada nodal
- nodal awal dan akhir
Lx=xn(ak)-xn(aw); %panjang arah x
K = [12 6*Lx -12 6*Lx; %K : Matriks kekakuan elemen
lokal
6*Lx 4*(Lx^2) -6*Lx 2*(Lx^2);
-12 -6*Lx 12 -6*Lx;
6*Lx 2*(Lx^2) -6*Lx 4*(Lx^2)];
Kel = (E(i)*I(i)/(Lx^3))*K; %Kel = Kekakuan elemen
KG(dof,dof) = KG(dof,dof)+Kel; %KG=Kekakuan global
end
%Boundary Condition
nDS = (un*Rest(:,1)*ones(un,1)'-(ones(size(Rest,1),1)*((un-1):-1:0)))'; %nDS : dk
yang terdapat di boundary condition
RSP = [Rest(:,2),Rest(:,3)]; %RSP :
identifikasi terkekang dan tidak terkekang
iDS = nDS(logical(RSP')); %iDS : d.k
terkekang
iDE = setxor(iDS,(1:2*nN)); %iDE : d.k
tidak terkekang
6/6/22 3:43 PM C:\Users\Risqi ...\Tugas_Balok_Pleno.m 4 of 6
%%
%Solution
KS = KG(iDE,iDE); %KS : kekakuan struktur yg tereduksi
Fn = F(iDE); %Fn : Gaya luar yg tereduksi
Un = KS\Fn; %Un : displasemen tidak sama dengan nol
%displacement
U(iDE) = Un;
disp('Displacement')
[U]
%reaction
R=KG*U;
Reaction=R(iDS)-fbne(iDS);
disp('Reaction')
[iDS Reaction]
%%
%Gaya dalam
fgie=zeros(nE,un*2); %gaya internal ekuivalen tiap-tiap elemen
%penyusunan gaya internal ekuivalen
for n=1:nI
fgie(Ngie(n,1),1)=Ngie(n,2);
fgie(Ngie(n,1),2)=Ngie(n,3);
fgie(Ngie(n,1),3)=Ngie(n,4);
fgie(Ngie(n,1),4)=Ngie(n,5);
end
GIE=zeros(size(Element,1),2*un);%gaya dalam (matriks kosong)
for i=1:size(Element,1)
aw=Element(i,2);%aw : nodal awal elemen
ak=Element(i,3);%ak : nodal akhir elemen
%Derajat kebebasan pada nodal-nodal awal dan akhir
ndof = [un*aw-((un-1):-1:0),un*ak-((un-1):-1:0)];
Lx=xn(ak)-xn(aw);%panjang arah x
K=[-12 -6*Lx 12 -6*Lx;
6*Lx 4*(Lx^2) -6*Lx 2*(Lx^2);
-12 -6*Lx 12 -6*Lx;
-6*Lx -2*(Lx^2) 6*Lx -4*(Lx^2)];
Kel=(E(i)*I(i)/(Lx^3))*K; %Kel = Kekakuan elemen
Internal=Kel*U(ndof)+ [fgie(i,:)']; %Gaya dalamper elemen
GIE(i,:)= GIE(i,:)+Internal';%Penyusunan matriks untuk gaya dalam
end
disp('InternalForces (ElementT1 M1 T2 M2)')
jj=1:size(Element,1);
[jj' GIE]
%%
%Gambar Displacement
clf
figure(1)
sk=1/max(abs(U));
for e=1:nE
aw=Element(e,2);
6/6/22 3:43 PM C:\Users\Risqi ...\Tugas_Balok_Pleno.m 5 of 6
ak=Element(e,3);
x1=[xn(aw),xn(ak)]; y1=[yn(aw),yn(ak)];
plot(x1, y1,'b')
hold on;
end
for e=1:nE
aw=Element(e,2);
ak=Element(e,3);
awx=2*aw-1;awy=2*aw-0;
akx=2*ak-1;aky=2*ak-0;
x2=[xn(aw),xn(ak)];
y2=[yn(aw)+sk*U(awx),yn(ak)+sk*U(akx)];
plot(x2, y2,'-.r')
hold on;
end
%%
%Gambar Gaya Dalam Lintang
figure(2)
subplot(2,1,1);
for e = 1:nE
aw = Element(e,2);
ak = Element(e,3);
x1 = [xn(aw),xn(ak)];
y1 = [yn(aw),yn(ak)];
plot(x1, y1, 'k')
hold on;
end
for e = 1:nE
aw = Element(e,2);
ak = Element(e,3);
gaw = GIE(e,1)*-1;
gak = GIE(e,3)*-1;
x2 = [xn(aw),xn(aw),xn(ak),xn(ak)];
y2 = [yn(aw),gaw,gak,yn(ak)];
patch(x2, y2, 'b', 'FaceAlpha',.5)
hold on;
end
%%
%Gambar Gaya Dalam Momen
figure(2)
subplot(2,1,2);
for e = 1:nE
aw = Element(e,2);
ak = Element(e,3);
x1 = [xn(aw),xn(ak)];
y1 = [yn(aw),yn(ak)];
plot(x1, y1, 'k')
hold on;
end
for e = 1:nE
aw = Element(e,2);
ak = Element(e,3);
gaw = GIE(e,2)*-1;
gak = GIE(e,4)*-1;
x3 = [xn(aw),xn(aw),xn(ak),xn(ak)];
y3 = [yn(aw),gaw,gak,yn(ak)];
patch(x3, y3, 'r', 'FaceAlpha',.5)
hold on;
end
title('Gaya Dalam Momen - Risqi')
ylabel('kN-m')
hold off;