Post on 22-Jan-2018
Modelagem numérica
para engenhariaAula 07,8,9 e 10 – Diferenças Finitas
Profª. Dra. Janaina K. Andreazza
• Método de Diferenças finitas:
Exemplo 1: Imagine uma barra longa isolada em todas as faces. Na posição x=0 é
mantida a T1 e na posição x = L a barra é mantida a T2. No instante inicial a barra
encontrasse a temperatura To. Considere as propriedades físicas constantes. Determine
o perfil de temperatura dinâmico na barra.
%Exemplo da aplicação do método de diferenças finitas explicito
%Equação do calor para uma placa plana unidimensional
%solve dT/dt = lambda * d2T/dx2, Cc T(0,n) = T1; CC T(L,n) = T2; CI T(i,0)=T0
clc;
clear all;
%parametros
L = 1.0;
t_final = 40000.0;
Nt = 300; %número de pontos no tempo
Nx = 20; %número de pontos na posição
dt = t_final/ Nt;
dx = L/ Nx;
T0 = 20;
T1 = 100;
T2 = 50;
condutividade = 20.0; %W/m.K
ro = 2702.0; %kg/m3
Cp = 903; %J/kg.K
constante = (dt / dx^2)*(condutividade) / (ro * Cp)
% condição inicial (primeiro passo no tempo)
for i=1:Nx+1
T(1,i) = T0;
end
%loop no tempo
for n = 1:Nt
T(n,1) = T1; %cc
T(n,Nx+1) = T2; %cc
T(Nt+1,1) = T1; %cc – lembrar que ela é necessária para fazer o gráfico
T(Nt+1,Nx+1) = T2; %cc – lembrar que ela é necessária para fazer o gráfico
for i = 2:Nx % loop no espaço
T(n+1,i) = constante*(T(n,i+1)+ T(n,i-1)) + T(n,i)* (1- 2*constante);%E.M.M.
end
End
%plot perfil dinâmico da temperatura
x = (0.0:1.0:Nx)*dx;
figure(2)
plot (x,T)
xlabel('espessura [m]')
ylabel('Temperatura')
title('Perfil dinamico da Temperatura')
grid on
hold off
%plot de superficie
n = (0.0:1.0:Nt );
figure(3)
surf(x,n,T)
%colormap hsv
xlabel('espessura [m]');
ylabel('iterações no tempo');
zlabel('temperatura');
title('superficie');
Tempo final de
simulação 10.000 s
Tempo final de
simulação 40.000 s
• Exercício 5.105: Em um processo de moldagem de placas finas, aço fundido
deixa um molde com uma fina casca sólida e o material fundido se solidifica
quando a placa é resfriada rapidamente por jatos de água no caminho para
uma seção de rolos. Uma vez totalmente solidificadas, as placas continuam o
resfriamento, sendo trazidas para uma temperatura aceitável para o manuseio. É
nessa parte do processo que temos interesse.
Considere uma placa sólida de aço a densidade, ρ =
7800[kg/m3, o calor específico a pressão constante, Cp =
700 J/kg.K, condutividade térmica, k= 30 W/mK, com 200
mm de espessura, inicialmente a uma temperatura
uniforme Ti = 1400 ºC. A placa é resfriada nas suas
superfícies superior e inferior por jatos d’água (T∞ = 50ºC),
que mantêm um coeficiente convectivo
aproximadamente uniforme de h = 5000 W/m2.K em ambasas superfícies.
%modelagem numérica - turma 181: 26/03/2015%incropera 5.105clc;clear all;%parâmetros:k = 30.0; % W/mKp = 7800.0; %kg/m3Cp = 700.0; % J/kg.Kh = 5000.0; % W/m2.K L = 100.0e-3; %mtf = 170.0; %sNt = 170;Nx = 10;dt = tf / Nt;dx = L/NxTo = 1400.0; %temperatura inicial ºCTar = 25.0; %temperatura ar ºCalfa = k /(p*Cp);cte = alfa*(dt/dx^2)cte2= (h*dx)/k;%cifor i = 1:Nx+1
T(1,i) = To;endfor n = 1:Nt;
% T(n,1) = T(n,2);T(n+1,1)= (T(n,2)+T(n,1))*cte +(1-2*cte)*(T(n,1));aa = cte2 *(Tar - T(n,Nx+1)) + T(n,Nx);T(n+1,Nx+1)= (aa + T(n,Nx+1))*cte +(1-2*cte)*(T(n,Nx+1));
for i = 2:Nx;T(n+1,i)= (T(n,i+1)+T(n,i-1))*cte +(1-2*cte)*(T(n,i));
endend
%T(Nt+1,1)=T(Nt+1,2);t = (0.0:1.0:Nt)*dt;plot (t, T)grid on
T(t,L) = 200, tempo de
aproximadamente 165 s
%incropera 5.14
clc;
clear all;
%parâmetros:
k = 17; % W/mK
p = 1100.0; %kg/m3
Cp = 2400.0; % J/kg.K
h1 = 2.0; % W/m2.K
h2 = 6.0; % W/m2.K
h3 = 100.0; % W/m2.K
R1 = 1.0/2; %m
%R2 = 1.1/2;
q = 1e4;
tf = 18000.0; %s
Nt = 2000;
%Nx = 5;
dt = tf / Nt;
%dr = (0.05)/Nx;
To = 25.0; %temperatura inicial ºC
Tar = 25.0; %temperatura ar ºC
alfa = k /(p*Cp);
%cte = alfa*(dt/dr^2);
cte1= (3*h1)/(p*Cp*R1);
cte2= (3*h2)/(p*Cp*R1);
cte3= (3*h3)/(p*Cp*R1);
%ci
Tr1(1) = To;
Tr2(1) = To;
Tr3(1) = To;
bb = q/(p*Cp);
for n = 1:Nt;
a1 = cte1 *(Tar -Tr1(n));
a2 = cte2 *(Tar -Tr2(n));
a3 = cte3 *(Tar -Tr3(n));
Tr1(n+1) = Tr1(n)+dt*(a1 + bb);
Tr2(n+1) = Tr2(n)+dt*(a2 + bb);
Tr3(n+1) = Tr3(n)+dt*(a3 + bb);
end
t = (0.0:1.0:Nt)*dt;
figure (1)
plot (t, Tr1, 'b')
hold on
plot (t, Tr2, 'r')
hold on
plot (t, Tr3, 'g')
hold off
xlabel('tempo,s')
ylabel('temperatura, ºC')
legend ('h =2 W/m2K','h =6 W/m2K',
'h =100 W/m2K')
grid on
%incropera 5.44
clc;
clear all;
%parâmetros:
k = 10.0; % W/mK
h = 5000.0; % W/m2.K
L = 10.0e-3; %m
L4 = 40.0e-3; %m
tf = 150.0; %s
Nt = 5000;
Nx = 10;
dt = tf / Nt;
dx4 = L4/Nx;
dx = L/Nx;
To = 300.0; %temperatura inicial ºC
Tar = 2300.0 ; %temperatura ar ºC
alfa = 6.e-6; % m2/s
pCp = k / alfa;
cte = alfa*(dt/dx^2)
cte2= (h*dx)/k;
cte4 = alfa*(dt/dx4^2)
cte2a= (h*dx4)/k;
%ci
for i = 1:Nx+1
T(1,i) = To;
Ta(1,i) = To;
End
for n = 1:Nt;
T(n+1,1)= (T(n,2)+T(n,1))*cte +(1-2*cte)*(T(n,1));
aa = cte2 *(Tar - T(n,Nx+1)) + T(n,Nx);
T(n+1,Nx+1)= (aa + T(n,Nx+1))*cte +(1-2*cte)*(T(n,Nx+1));
Ta(n+1,1)= (Ta(n,2)+Ta(n,1))*cte4 +(1-2*cte4)*(Ta(n,1));
bb = cte2a *(Tar - Ta(n,Nx+1)) + Ta(n,Nx);
Ta(n+1,Nx+1)= (bb + Ta(n,Nx+1))*cte4 +(1-
2*cte4)*(Ta(n,Nx+1));
for i = 2:Nx;
T(n+1,i)= (T(n,i+1)+T(n,i-1))*cte
+(1-2*cte)*(T(n,i));
Ta(n+1,i)= (Ta(n,i+1)+Ta(n,i-
1))*cte4 +(1-2*cte4)*(Ta(n,i));
end
end
%tempo = 200*dt
for n=1:Nt+1
T1_0(n)=T(n,1);
T1_L(n)=T(n,Nx+1);
T2_0(n)=Ta(n,1);
T2_L(n)=Ta(n,Nx+1);
end
T(Nt+1,1)=T(Nt+1,2);
Ta(Nt+1,1)=Ta(Nt+1,2);
t = (0.0:1.0:Nt)*dt;
figure
subplot(2,2,1);
plot(t,T);
title('L= 10 mm')
xlabel('tempo,s')
ylabel('T,K')
grid on
subplot(2,2,2);
plot(t,Ta);
title('T, L= 40 mm')
xlabel('tempo,s')
ylabel('T,K')
grid on
subplot(2,2,3)
plot(t,T1_0);
title('x = 0 e x=L, L = 10 mm')
hold on
plot(t,T1_L);
xlabel('tempo,s')
grid on
xlabel('tempo,s')
ylabel('T,K')
grid on
subplot(2,2,4)
plot(t,T2_0);
title('x = 0 e x=L, L = 40 mm')
hold on
plot(t,T2_L);
xlabel('tempo,s')
ylabel('T,K')
grid on
%incropera 5.74
clc;
clear all;
%parâmetros:
k = 0.628; % W/mK
L1 = 0.5e-3; %m
L2 = 1.0e-3; %m
L3 = 2.0e-3; %m
tf = 30.0; %s
Nt = 20000;
Nx = 10;
dt = tf / Nt;
dx1 = L1/Nx;
dx2 = L2/Nx;
dx3 = L3/Nx;
To = 37.0; %temperatura inicial ºC
Ts = 100.0 ; %temperatura ar ºC
Tcelula = 48.0; %temperatura limite para não houver morte
celular
alfa = 1.513e-7; % m2/s
p =993.1;
Cp = 4178.0;
cte1 = alfa*(dt/dx1^2);
cte2 = alfa*(dt/dx2^2);
cte3 = alfa*(dt/dx3^2);
subplot(2,2,1);
plot(t,T1);
title('L= 0.5 mm')
xlabel('tempo,s')
ylabel('T,C')
grid on
hold on
plot(t,Tb,'m');
subplot(2,2,2);
plot(t,T2);
title('T, L= 1 mm')
xlabel('tempo,s')
ylabel('T,C')
grid on
hold on
plot(t,Tb,'m');
subplot(2,2,3)
plot(t,T3);
title('T, L= 2 mm')
xlabel('tempo,s')
ylabel('T,C')
grid on
hold on
plot(t,Tb,'m');
subplot(2,2,4)
plot(t,T1_L,'r');
title('x=L, L = 0.5, 1.0 e 2 mm')
hold on
plot(t,T2_L,'g');
hold on
plot(t,T3_L,'b');
xlabel('tempo,s')
ylabel('T,C')
grid on
hold on
plot(t,Tb,'m');
legend('L = 0.5','L = 1','L = 2','Tlimite')
%ci
for i = 1:Nx+1
T1(1,i) = To;
T2(1,i) = To;
T3(1,i) = To;
end
for n = 1:Nt;
T1(n+1,1)= Ts;
T2(n+1,1)= Ts;
T3(n+1,1)= Ts;
j = Nx+1;
T1(n+1,Nx+1)= (T1(n,j)+T1(n,j-1))*cte1 +(1-2*cte1)*(T1(n,j));
T2(n+1,Nx+1)= (T2(n,j)+T2(n,j-1))*cte1 +(1-2*cte1)*(T2(n,j));
T3(n+1,Nx+1)= (T3(n,j)+T3(n,j-1))*cte1 +(1-2*cte1)*(T3(n,j));
for i = 2:Nx;
T1(n+1,i)= (T1(n,i+1)+T1(n,i-1))*cte1 +(1-2*cte1)*(T1(n,i));
T2(n+1,i)= (T2(n,i+1)+T2(n,i-1))*cte2 +(1-2*cte2)*(T2(n,i));
T3(n+1,i)= (T3(n,i+1)+T3(n,i-1))*cte3 +(1-2*cte3)*(T3(n,i));
end
end
for n=1:Nt+1
T1_L(n)=T1(n,Nx+1);
T2_L(n)=T2(n,Nx+1);
T3_L(n)=T3(n,Nx+1);
Tb(n) = Tcelula;
end
T1(Nt+1,1)=Ts;
T2(Nt+1,1)=Ts;
T3(Nt+1,1)=Ts;
t = (0.0:1.0:Nt)*dt;
figure
%exemplo 5.1113 trabalho 1 - Claudinei/Wilson e Romário
clc;
clear all;
%parâmetros
k = 14.8;
alfa = 3.63e-6;
pCp = k/alfa;
h = 30.0;
Ti = 200.0;
Tar = 25.0;
L = 0.16;
R = 5.0e-3;
tf = 1000.0;
Nt = 100;
Nx = 10;
dt = tf / Nt;
dx = L / Nx;
cte2 = (alfa*dt) /(dx^2);
cte1 = (2*h*dt) / (R *pCp);
%c.i
for i = 1:Nx+1
T(1,i) = Ti;
end
for n = 1:Nt;
T(n,1) = Ti;
aa = ((h * dx)/k) * (Tar - T(n,Nx+1)) + (T(n,Nx+1));
T(n+1, Nx+1) = cte1 * (Tar - T(n,Nx+1)) + (aa+T(n,Nx))*cte2 + (1 -
2*cte2)*(T(n,Nx+1));
for i = 2:Nx;
T(n+1,i)= cte1 * (Tar - T(n,i)) + (T(n,i+1)+T(n,i-1))*cte2 + (1 -
2*cte2)*(T(n,i));
end
end
T(Nt+1,1) = Ti;
for i= 1: Nx+1;
T200(i) = T((200/dt)+1,i);
T400(i) = T((400/dt)+1,i);
T930(i) = T((930/dt)+1,i);
end
x = (0.0:1.0:Nx)*dx;
figure (1)
plot (x, T)
xlabel('posição na barra')
ylabel('Temperatura, ºC')
grid on
figure (2)
plot (x, Ti,'b-*')
hold on
plot (x, T200,'r-*')
hold on
plot (x, T400,'g-*')
hold on
plot (x, T930,'y-*')
xlabel('posição na barra')
ylabel('Temperatura, ºC')
legend('Ti','T200', 'T400','T930')
grid on
%incropera 5.119
clc;
clear all;
%parâmetros:
k = 0.613; % W/mK
p = 1000.0; %kg/m3
Cp = 4179.0; % J/kg.K
h = 3000.0; % W/m2.K
L = 5.0e-3; %m
tf = 120.0; %s
Nt = 1000;
Nx = 10;
dt = tf / Nt;
dx = L/Nx;
To = 20.0; %temperatura inicial ºC
Tar = 100.0; %temperatura ar ºC
Tcozido = 60.0;
alfa = k /(p*Cp);
cte = alfa*(dt/dx^2);
cte2= (h*dx)/k;
%ci
for i = 1:Nx+1
T(1,i) = To;
end
for n = 1:Nt;
T(n+1,1)= (T(n,2)+T(n,1))*cte +(1-2*cte)*(T(n,1));
aa = cte2 *(Tar -T(n,Nx+1)) + T(n,Nx+1);
T(n+1,Nx+1)= (aa + T(n,Nx))*cte +(1-2*cte)*(T(n,Nx+1));
for i = 2:Nx
T(n+1,i)= (T(n,i+1)+T(n,i-1))*cte +(1-2*cte)*(T(n,i));
end
end
%
for n = 1:Nt+1;
T60(n)= Tcozido;
end
t = (0.0:1.0:Nt)*dt;
plot (t, T)
hold on
grid on
plot (t, T60,'g-o')
xlabel('tempo, s')
ylabel('Temperatura, ºC')
legend('T(t)','T = 60ºC')
Obrigada!!!!!