2.+mdf

23
Modelagem numérica para engenharia Aula 07,8,9 e 10 – Diferenças Finitas Profª. Dra. Janaina K. Andreazza

Transcript of 2.+mdf

Page 1: 2.+mdf

Modelagem numérica

para engenhariaAula 07,8,9 e 10 – Diferenças Finitas

Profª. Dra. Janaina K. Andreazza

Page 2: 2.+mdf

• 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)

Page 3: 2.+mdf

% 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

Page 4: 2.+mdf

Tempo final de

simulação 40.000 s

Page 5: 2.+mdf

• 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.

Page 6: 2.+mdf

%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

Page 7: 2.+mdf
Page 8: 2.+mdf

%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

Page 9: 2.+mdf
Page 10: 2.+mdf

%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

Page 11: 2.+mdf
Page 12: 2.+mdf

%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);

Page 13: 2.+mdf

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

Page 14: 2.+mdf
Page 15: 2.+mdf
Page 16: 2.+mdf

%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

Page 17: 2.+mdf
Page 18: 2.+mdf
Page 19: 2.+mdf

%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')

Page 20: 2.+mdf
Page 21: 2.+mdf
Page 22: 2.+mdf
Page 23: 2.+mdf

Obrigada!!!!!