Anda di halaman 1dari 5

clear

%Lista 5 - ENG03002
%Programa para clculo com elementos de viga
%Identificao dos eixos de coordenadas
x = 0 %eixo e coordenadas na direo x representado por 0
y = 1 %eixo e coordenadas na direo y representado por 1
z = 2 %representao de momento representado por 2
%Caractersticas da malha
NNOE = 2
%nmero de ns por elemento
NGLN = 3
%nmero de graus de liberdade
NNOS = 7
%nmero de ns da trelia
NEL = 11
%nmero de elementos da trelia
NMAT = 3
%nmero de materiais
NGEO = 3
%nmero de geometrias
%Propriedades
GEO = [0.01;0.02;0.03]
MAT = [2e11;1.5e11;1e11]
4]
%momento de inrcia
Ine = [1e-4;2e-4;3e-4]
%Geometria
COORD = [0 0; 2 0; 2 2; 1 4;
ns
CONECT = [1 5 1 1 1; 1 6 1 2
2 3 3; 4 5 3 1 1; 4 7 3 2 2;
nectividades dos elementos

%rea da seo em m^2


%mdulo de elasticidade em PaIne = [1e-4;2e-4;3eem m^4
0 2; 1 1; 1 2]

%coordenadas dos

2; 2 3 1 3 3; 2 6 1 3 3; 3 6 2 1 1; 3 7 2 2 2; 3 4
5 6 3 3 3; 5 7 3 3 3]
%co

%Condies de Contorno
NCARGA = 2
%nmero de cargas aplicadas na estrutura
NREST = 5
%nmero de restries na estrutura
CARGA = [6 y -1000; 4 x 1000]
%carga aplicada na trelia
REST = [1 x; 1 y; 1 z; 2 x; 2 y]
%posies das restries
%Propriedades dos elementos
for i = 1NEL
%contador da matriz
%projeo do elemento em x
deltax = COORD(CONECT(i,1),1) - COORD(CONECT(i,2),1)
%projeo do elemento em y
deltay = COORD(CONECT(i,1),2) - COORD(CONECT(i,2),2)
%Angulo de inclinao do elemento
viga(i,1) = atan2(deltay,deltax);
%Comprimento do elemento
viga(i,2) = sqrt(deltax^2 + deltay^2);
end
%Matriz Rigidez MAT(CONECT(i,3)) Superposio
for i = 1NNOSNGLN
Lglobal(i) = 0
%vetor de cargas
for j = 1NNOSNGLN
Kglobal(i,j) = 0
%matriz rigidez global
end
end
for i = 1NEL

L = viga(i,2);
c = cos(viga(i,1));
s = sin(viga(i,1));

%comprimento do elemento
%cosseno do ngulo do elemento em relao ao eixo x
%seno do ngulo do elemento em relao ao eixo x

%Matriz Rigidez
K(1,1) = ((MAT(CONECT(i,3))GEO(CONECT(i,4))L)c^2)+((12MAT(CONECT(i,3))Ine(CO
NECT(i,5))L^3)s^2)
K(1,2) = ((MAT(CONECT(i,3))GEO(CONECT(i,4))L)-(12MAT(CONECT(i,3))Ine(CONECT(
i,5))L^3))sc
K(1,3) = (6MAT(CONECT(i,3))Ine(CONECT(i,5))L^2)s
K(1,4) = (-(MAT(CONECT(i,3))GEO(CONECT(i,4))L)c^2)-((12MAT(CONECT(i,3))Ine(C
ONECT(i,5))L^3)s^2)
K(1,5) = (-(MAT(CONECT(i,3))GEO(CONECT(i,4))L)+(12MAT(CONECT(i,3))Ine(CONECT
(i,5))L^3))sc
K(1,6) = -(6MAT(CONECT(i,3))Ine(CONECT(i,5))L^2)s
K(2,2) = ((MAT(CONECT(i,3))GEO(CONECT(i,4))L)s^2)+((12MAT(CONECT(i,3))Ine(CO
NECT(i,5))L^3)c^2)
K(2,3) = (6MAT(CONECT(i,3))Ine(CONECT(i,5))L^2)c
K(3,3) = (4MAT(CONECT(i,3))Ine(CONECT(i,5))L)
K(3,6) = (2MAT(CONECT(i,3))Ine(CONECT(i,5))L)
%Reduzindo o trabalho
K(2,4) = -K(1,2)
K(2,5) = -K(2,2)
K(2,6) = K(2,3)
K(3,4) = K(1,3)
K(3,5) = -K(2,3)
K(4,4) = K(1,1)
K(4,5) = K(1,2)
K(4,6) = K(1,3)
K(5,5) = K(2,2)
K(5,6) = -K(2,3)
K(6,6) = K(3,3)
%Por simetria temos
K(2,1) = K(1,2)
K(3,1) = K(1,3)
K(3,2) = K(2,3)
K(4,1) = K(1,4)
K(4,2) = K(2,4)
K(4,3) = K(3,4)
K(5,1) = K(1,5)
K(5,2) = K(2,5)
K(5,3) = K(3,5)
K(5,4) = K(4,5)
K(6,1) = K(1,6)
K(6,2) = K(2,6)
K(6,3) = K(3,6)
K(6,4) = K(4,6)
K(6,5) = K(5,6)
%Superposio
for j = 1NNOE
for k = 1NGLN
colE = (j-1)NGLN + k
for l = 1NNOE
for m = 1NGLN
linE = (l-1)NGLN + m
colG = (CONECT(i,j)-1)NGLN + k
linG = (CONECT(i,l)-1)NGLN + m
Kglobal(linG,colG) = Kglobal(linG,colG) + K(linE,colE)
end

end
end
end
end
%Matriz de carregamento
for i = 1NCARGA
linG = 3CARGA(i,1)-(2-CARGA(i,2))
Lglobal(linG) = Lglobal(linG) + CARGA(i,3)
end
%Condies de Contorno
for i = 1NREST
linG=3(REST(i,1))-(2-(REST(i,2)))
for j = 1NNOSNGLN
if linG==j
Kglobal(linG,j) = 1
Lglobal(linG) = 0
else Kglobal(linG,j) = 0
end
if linG == j
Kglobal(j,linG) = 1
Lglobal(linG) = 0
else Kglobal(j,linG) = 0
end
end
end
%Resultados
desloc = LglobalKglobal
deslocmm = desloc1000

%deslocamento dos ns em m
%deslocamento dos ns em mm

axis off
daspect([1,1,1])
hold on;
for i = 1NEL
no1 = CONECT(i,1)
no2 = CONECT(i,2)
x(1) = COORD(no1,1); y(1) = COORD(no1,2);
x(2) = COORD(no2,1); y(2) = COORD(no2,2);
plot(x,y,'LineWidth',1,'LineStyle','','Marker','square')
end
%coordenadas dos ns deformados
f = max(abs(max(COORD)-min(COORD))(15abs(max(desloc)))) %fator de amplificao
for i = 1NNOS
defx(i) = COORD(i,1)+ fdesloc(3i-2)
defy(i) = COORD(i,2)+ fdesloc(3i-1)
end
for i = 1NNOS
deformacao(i,1) = defx(i)
deformacao(i,2) = defy(i)
end
for i = 1NEL
no1 = CONECT(i,1)
no2 = CONECT(i,2)
xdef(1) = deformacao(no1,1); ydef(1) = deformacao(no1,2);

xdef(2) = deformacao(no2,1); ydef(2) = deformacao(no2,2);


plot(xdef,ydef,'LineWidth',2,'Color','red','Marker','square')
end
hold off;
%comprimento final dos elementos deformados, deformacao E tenso
for i = 1NEL
%contador da matriz
for j = 1NNOS
defx(j) = COORD(j,1)+ desloc(3j-2);
defy(j) = COORD(j,2)+ desloc(3j-1);
deltaxdef = defx(CONECT(i,1)) - defx(CONECT(i,2)); %projeo do elemento defor
mado em x
deltaydef = defy(CONECT(i,1)) - defy(CONECT(i,2)); %projeo do elemento defor
mado em y
Ldef(i) = sqrt(deltaxdef^2 + deltaydef^2)
%Comprimento do elemento de
formado
epson(i) = (Ldef(i)-L)L
%Deformao em cada elemento
sigma(i) = epson(i)MAT(CONECT(i,3))
%Tenso em cada elemento
end
end
%esforos internos
for i = 1NNOENGLN
for j = 1NNOENGLN
Klocal(i,j) = 0
T(i,j) = 0
end
end
for i = 1NEL
L = viga(i,2) ;
%comprimento do elemento
c = cos(viga(i,1));
%cosseno do ngulo do elemento em relao ao eixo x
s = sin(viga(i,1));
%seno do ngulo do elemento em relao ao eixo x
%Matriz Rigidez Local
Klocal(1,1) = MAT(CONECT(i,3))GEO(CONECT(i,4))L
Klocal(1,4) = -(MAT(CONECT(i,3))GEO(CONECT(i,4))L)
Klocal(2,2) = 12MAT(CONECT(i,3))Ine(CONECT(i,5))L^3
Klocal(2,3) = 6MAT(CONECT(i,3))Ine(CONECT(i,5))L^2
Klocal(3,3) = (4MAT(CONECT(i,3))Ine(CONECT(i,5))L)
Klocal(3,6) = (2MAT(CONECT(i,3))Ine(CONECT(i,5))L)
Klocal(5,5) = 12MAT(CONECT(i,3))Ine(CONECT(i,5))L^2
%Reduzindo o trabalho
Klocal(2,5) = -Klocal(2,2)
Klocal(2,6) = Klocal(2,3)
Klocal(3,5) = -Klocal(2,3)
Klocal(4,4) = Klocal(1,1)
Klocal(5,6) = -Klocal(2,3)
Klocal(6,6) = Klocal(3,3)
%Por simetria temos
Klocal(3,2) = Klocal(2,3)
Klocal(4,1) = Klocal(1,4)
Klocal(5,2) = Klocal(2,5)
Klocal(5,3) = Klocal(3,5)
Klocal(6,2) = Klocal(2,6)
Klocal(6,3) = Klocal(3,6)
Klocal(6,5) = Klocal(5,6)
%Matriz de Rotao
T(1,1) = c
T(1,2) = s

T(2,1)
T(2,2)
T(3,3)
T(4,4)
T(4,5)
T(5,4)
T(5,5)
T(6,6)

=
=
=
=
=
=
=
=

-s
c
1
c
s
-s
c
1

%Deslocamentos globais de cada elemento


Dg = [desloc(3CONECT(i,1)-2);desloc(3CONECT(i,1)-1);desloc(3CONECT(i,1));des
loc(3CONECT(i,2)-2);desloc(3CONECT(i,2)-1);desloc(3CONECT(i,2))]
Fl = KlocalTDg
FL(1,i)=Fl(1)
FL(2,i)=Fl(2)
FL(3,i)=Fl(3)
FL(4,i)=Fl(4)
FL(5,i)=Fl(5)
FL(6,i)=Fl(6)
end
%gerador de relatorio de texto
%---RELATRIO DE RESULTADOS
w = fopen('relatorio.txt','w')
o arquivo do relatorio (salvo no Diretorio de trabalho)
fprintf(w,'RELATRIO DE RESULTADOS nnn')
for i=1NEL
fprintf(w,'tttt Elementott%dtnn',i)
fprintf(w,'t Ni %dtttn',FL(1,i))
normal no n inicial
fprintf(w,'t Vi %dtttn',FL(2,i))
cortante no n inicial
fprintf(w,'t Mi %dtttn',FL(3,i))
momento no n inicial
fprintf(w,'t Nf %dtttn',FL(4,i))
normal no n final
fprintf(w,'t Vf %dtttn',FL(5,i))
cortante no n final
fprintf(w,'t Mf %dtttnn',FL(6,i))
a momento no n final
end
fclose(w)

%abre
%Texto...
%Texto...
%Resultados para
%Resultados para
%Resultados para
%Resultados para
%Resultados para
%Resultados par

Anda mungkin juga menyukai