Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Gráfico1 – Deslocamento
Fonte: Arquivo pessoal
Abaixo estão apresentados os scripts no MATLAB, usados para a obtenção dos gráficos
acima.
SCRIPIT 1
% Dinter UEMA
% Atividade 01
% Aluno: Alan Rubens Silva Sá Filho
% 17/02/2016
clc;close all;clear all
% Onde
% Ax=Fun??o de varia??o da sec??o da Barra
% L = comprimento da barra
% E = Modulo de Elasticidade
% F = For?a aplicada na extremidade da Barra
% Ao = Area inicial
% C1 e C2 = Constante de Integra??o
% U = Deslocamento
% du = du/dx
syms Ax U L E F C1 C2 Ao x A du p X
% primeira derivada
du=C1/(E*Ax); % ver pq esse menos
disp('====================================')
disp('Primeira derivada da Fun??o ')
pretty(du)
% segunda derivada
% U = Deslocamento
U = int(du);
disp(' ')
disp('====================================')
disp('Segunda derivada da Fun??o ')
pretty(U)
% condi??o 1
P1=L;
du1=F/(E*Ao);
Ax1=subs(Ax,x,P1);
C11=du1*(E*Ax1);
disp(' ')
disp('====================================')
disp('condi??o C1= ')
pretty(C11)
% condi??o 2
P2=0;
U1=subs(U,x,P2);
C21=subs(U1,C1,-C11);
disp(' ')
disp('====================================')
disp('condi??o C2= ')
pretty(C21)
% Fun??o de carregamento
disp(' ')
disp('====================================')
disp('Fun??o de Deslocamento')
Ux=(U)+C21;
Ux=subs(Ux,C1,C11);
pretty(Ux)
% Fun??o de tens?o
disp(' ')
disp('====================================')
disp('Fun??o de tens?o')
du_dx=E*subs(du,C1,C11);
pretty(du_dx)
% Substituindo as Variavel
Ao=0.2;
E=2.1e9;
F=250;
L=1;
x1=[0:0.01:1];
% U(x)=deslocamento
Ux=subs(Ux);
Ux=subs(Ux,x,x1);
figure(1)
plot(x1,Ux,'-')
title(['Deslocamento']),
xlabel('L [m]');
ylabel('U(x)');
grid
% du/dx = Tens?o
figure(2)
% hold on
du_dx=subs(du_dx);
du_dx=subs(du_dx,x,x1);
plot(x1,du_dx,'-')
title(['Tens?o']),
xlabel('L [m]');
ylabel('du/dx');
grid
%%%%%%%%%%%%%%%%%%%%%
SCRIPIT 2
% Dinter UEMA
% Atividade 01
% Aluno: Alan Rubens Silva Sá Filho
% 17/02/2016
% Elemento de Barra
%coord=[Xno, Yno]
L=1;
% coord=[0.00 0;
% L/3 0;
% 2*L/3 0;
% 3*L/3 0];
coord=[0.00 0;
0.1 0;
0.15 0;
0.2 0;
0.25 0;
0.3 0;
0.35 0;
0.4 0;
0.45 0;
0.5 0;
0.55 0;
0.6 0;
0.65 0;
0.7 0;
0.75 0;
0.8 0;
0.85 0;
0.9 0;
0.95 0;
1.0 0];
% incid];
% incidencia dos elementos
% inci=[elemento, prop. mat, prop. geo, noi, noj]
% inci= [ 1 1 1 1 2;
% 2 1 2 2 3;
% 3 1 3 3 4];
inci= [1 1 1 1 2;
2 1 2 2 3;
3 1 3 3 4;
4 1 4 4 5;
5 1 5 5 6;
6 1 6 6 7;
7 1 7 7 8;
8 1 8 8 9;
9 1 9 9 10;
10 1 10 10 11;
11 1 11 11 12;
12 1 12 12 13;
13 1 13 13 14;
14 1 14 14 15;
15 1 15 15 16;
16 1 16 16 17;
17 1 17 17 18;
18 1 18 18 19;
19 1 19 19 20];
% prop. geo
% tgeo=[area(m2);
% Inercia de área (m4)]
% Area Inicial de 0.6 ate area fibal de 0.2
%condição de contorno
%cont[nº do nó, GDL (U=1, V=2), valor]
%cont=[1 1 0
% 1 2 0
% 2 2 0
% 3 2 0
%4 2 0];
cont=[1 1 0
1 2 0
2 2 0
3 2 0
4 2 0
5 2 0
6 2 0
7 2 0
8 2 0
9 2 0
10 2 0
11 2 0
12 2 0
13 2 0
14 2 0
15 2 0
16 2 0
17 2 0
18 2 0
19 2 0
20 2 0];
%
%(travado todos os deslocamentos em v e deslocamento u no
%%nó 1)
%forças
%loads=[nº do nó, GDL (U=1, V=2), valor]
%loads=[4 1 1000];
loads=[20 1 45];
%_____________________________________________________________________
_____
%módulo de Cállculo
%cállculo dos deslocamentos
%numero de nós
nnos=size(coord,1);
%número de elementos
nel=size(inci,1);
ngdl=2;
ncont=size(cont,1);
%contagem das equações /criar matriz id (ele apresenta o nùmero da variável para cada
variável. Serve para montagem da matriz k)
%inicializar matriz com 1's
id=ones(ngdl,nnos);
%novo id
for i=1:ncont
id(cont(i,2),cont(i,1))=0; %para condições de contorno 0
end
% inicialização do número de equações
neq=0;
for i=1:nnos
for j=1:ngdl
if id(j,i)==1 %percorre as linhas por coluna
neq=neq+1;
id(j,i)=neq;
end
end
end
F=zeros(neq,1);
for i=1:nloads
% if(id(loads(i,2),loads(i,1)))==0
%disp('A Força aplicada no grau de liberdade' ,loads(i,2),'do nó',loads(i,1),'que
é travado')
%halt
%end
F(id(loads(i,2),loads(i,1)),1)=loads(i,3);
end
Vtot=0;
for i=1:nel
ele=inci(i,1);
noi=inci(i,4);
noj=inci(i,5);
xi=coord(noi,1);
yi=coord(noi,2);
xj=coord(noj,1);
yj=coord(noj,2);
L=sqrt(((xj-xi)^2)+((yj-yi)^2));
%volume
ntgeo=inci(i,3);
ntmat=inci(i,2);
Area=tgeo(1,ntgeo);
Inercia=tgeo(2,ntgeo);
Vtot=Vtot+L*Area;
E=tmat(1,ntmat);
ke=(E*Area/L)*[1 0 -1 0;
0 0 0 0;
-1 0 1 0;
0 0 0 0];
end
%Resolvendo o sistema
%X=inv(Kg)*F ou
X=Kg\F;
X=[0 , X']
for i=1:nel
xi=coord(noi,1);
yi=coord(noi,2);
xj=coord(noj,1);
yj=coord(noj,2);
L=sqrt(((xj-xi)^2)+((yj-yi)^2));
Tensao(i)=E.*(X(i+1)-X(i))/L
end
% %%%%%%%%%%%%%%
c=coord(:,1)';
figure(1)
plot(c,X,'r-*')
title('Deslocamento Elementos Finitos'),
xlabel('L [m]');
ylabel('U(x)');
grid
% legend({'Analitico','Elem Finito'})
% % grid
% hold on
figure(2)
% % % t=[0:1/(4-1):1]
t=[0.005+coord(1:end-1,1)]; % 10 elemento
%t=[0.2+coord(1:end-1,1)]; % 3 elemento
plot(t,Tensao,'r*-')
title(['Tensão']),
xlabel('L [m]');
ylabel('du/dx');
grid
figure(3)
plot(c,X,'r-*',x1,Ux,'-')
figure(4)
plot(t,Tensao,'r*-',x1,du_dx,'-')