Transcript
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
Faculdade de Engenharia Mecânica Programa de Pós-Graduação em Engenharia Mecânica
VOLUMES FINITOS EM TRANSFERÊNCIA DE CALOR E ESCOAMENTO DE FLUIDOS
Escoamento com Advecção Numérica Pura: Código Bidimensional
Renan Francisco Soares
Prof. Dr. Francisco José de Souza
Uberlândia/MG 2013
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
SUMÁRIO
1. PROBLEMA DE TRANFERÊNCIA DE CALOR ................................................... 5 1.1 MODELO FÍSICO ......................................................................................................... 5 1.2 MODELO MATEMÁTICO ........................................................................................... 6 1.2.1 Modelo Centrado (2nd Order) ........................................................................................ 7 1.2.2 Modelo 1st Order Upwind .............................................................................................. 8 1.2.3 Modelo 2nd Order Upwind ............................................................................................ 9 2. CÓDIGO PARA O PROBLEMA DE ADVECÇÃO NUMÉRICA PURA ........... 10 2.1 PROPRIEDADES FÍSICAS PADRÕES E CRITÉRIOS DE SOLUÇÃO .................. 10 2.2 ALTERAÇÃO DAS PROPRIEDADES FÍSICAS ...................................................... 11 2.3 GERAÇÃO DAS MATRIZES DE VELOCIDADES ................................................. 13 2.4 MÉTODOS DE DISCRETIZAÇÃO ............................................................................ 14 2.5 PROCESSO DE SOLUÇÃO ITERATIVO ................................................................. 16 2.6 REPORTE DO RESULTADO ..................................................................................... 19 3. SIMULAÇÃO NUMÉRICA ...................................................................................... 20 3.1 COEFICIENTE DE SUB/SOBRERELAXAÇÃO ÔMEGA ....................................... 20 3.2 CASOS E RESULTADOS ........................................................................................... 20 3.2.1 Resultados – Centrado 2nd Order ................................................................................. 21 3.2.2 Resultados – Modelos Upwind (1st e 2nd Order) ........................................................ 22 4. CONCLUSÃO............................................................................................................. 29 APÊNDICE – CÓDIGO COMPLETO ................................................................................ 30
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 2
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
LISTA DE FIGURAS
Figura 1 – Representação do problema com seu resultado esperado. ........................................ 5 Figura 2 - Representação da modelagem dos fluxos mássicos presentes no volume de controle P. ................................................................................................................................................. 7 Figura 3 - Esquema de volume de controle com temperatura TP e seus vizinhos, ..................... 8 Figura 4 - Esquema de volume de controle com temperatura TP e seus vizinhos, ..................... 9 Figura 5 – Resultado após o 1º passo iterativo: padrão “tabuleiro de xadrez”. ........................ 21 Figura 6 – Resultado após o 2º passo iterativo: padrão “tabuleiro de xadrez”. ........................ 21 Figura 7 – 1st Order Upwind: malha numérica de 5x5 divisões (25 volumes de controle). .... 22 Figura 8 – 2nd Order Upwind: malha numérica de 5x5 divisões (25 volumes de controle). ... 22 Figura 9 – 1st Order Upwind: malha numérica de 10x10 divisões (100 volumes de controle). .................................................................................................................................................. 23 Figura 10 – 2nd Order Upwind: malha numérica de 10x10 divisões (100 volumes de controle). .................................................................................................................................................. 23 Figura 11 – 1st Order Upwind: malha numérica de 20x20 divisões (400 volumes de controle). .................................................................................................................................................. 24 Figura 12 – 2nd Order Upwind: malha numérica de 20x20 divisões (400 volumes de controle). .................................................................................................................................................. 24 Figura 13 – 1st Order Upwind: malha numérica de 50x50 divisões (2500 volumes de controle). .................................................................................................................................................. 25 Figura 14 – 2nd Order Upwind: malha numérica de 50x50 divisões (2500 volumes de controle). .................................................................................................................................................. 25 Figura 15 – 1st Order Upwind: malha numérica de 100x100 divisões (10000 volumes de controle). ................................................................................................................................... 26 Figura 16 – 2nd Order Upwind: malha numérica de 100x100 divisões (10000 volumes de controle). ................................................................................................................................... 26 Figura 17 – 1st Order Upwind: malha numérica de 200x200 divisões (40000 volumes de controle). ................................................................................................................................... 27
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 3
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Figura 18 – 2nd Order Upwind: malha numérica de 200x200 divisões (40000 volumes de controle). ................................................................................................................................... 27 Figura 19 – 1st Order Upwind: malha numérica de 500x500 divisões (250000 volumes de controle). ................................................................................................................................... 28 Figura 20 – 2nd Order Upwind: malha numérica de 500x500 divisões (250000 volumes de controle). ................................................................................................................................... 28
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 4
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
1.
PROBLEMA DE TRANFERÊNCIA DE CALOR
1.1
MODELO FÍSICO
Neste trabalho, analisa-se o escoamento em um domínio quadrado. As faces inferior e esquerda são tomadas como entrada do fluido e, assim, as componentes de velocidade u e v adotam valores positivos. A representação da geometria, assim como as condições de contorno nas faces inferior e esquerda, apresentam-se na figura abaixo.
TE = 100 °C
L
U∞
H
v
u
TI = 50 °C Figura 1 – Representação do problema com seu resultado esperado.
Para caso proposto, suas dimensões e parâmetros estão presentes na tabela abaixo:
Tabela 1 - Parâmetros do problema proposto.
Componente de velocidade Eixo x
u
2
m/s
Eixo y
v
2
m/s
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 5
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Condição de Contorno Temperatura imposta: Face Esquerda
TE
100
ºC
Temperatura imposta: Face Inferior
TI
50
ºC
Geometria
1.2
Comprimento
H
1
m
Largura
L
1
m
MODELO MATEMÁTICO
Uma vez levantada a hipótese de regime permanente, assim como desprezando os termos de geração e o difuso-advectivo, tem-se o Teorema de Transporte de Reynols, para φ=T: 𝜕 𝜕 (𝑢𝑇) + (𝑢𝑇) = 0 𝜕𝑥 𝜕𝑥 Assim, o problema proposto é modelado em três diferentes formas de discretização de suas propriedades:
Modelo Centrado (2nd order).
Modelo 1st Order Upwind.
Modelo 2nd Order Upwind.
Apesar de suas diferentes metodologias, estes três modelos utilizam a mesma forma de cálculo da das velocidades nas faces:
𝑢𝑒 =
𝑢𝐸 + 𝑢𝑃 2
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 6
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
onde e representa a interface entre os volumes E e P.
A figura abaixo representa o sentido positivo dos fluxos, assim como o posicionamento do volume de controle P em relação ao seus vizinhos.
°N Vn Uw
°P
W°
°E Ue
Vs
°S
Figura 2 - Representação da modelagem dos fluxos mássicos presentes no volume de controle P.
Por último, mas não menos importante, destaca-se a presença da constante ω. Esta é utilizada para efeito de sub/sobrerelaxação da temperatura ao longo do processo iterativo.
1.2.1 Modelo Centrado (2nd Order)
Partindo da integração no volume de controle da equação fundamental deste problema, encontra-se a equação: 1 ∆𝑥 ∆𝑦 ∆𝑥 ∆𝑦 𝑇𝑃 . [∆𝑥. (𝑣𝑠 − 𝑣𝑛 ) + ∆𝑦. (𝑢𝑤 − 𝑢𝑒 )] = 𝑇𝑁 . (𝑣𝑛 ). + 𝑇𝐸 . (𝑢𝑒 ). − 𝑇𝑆 . (𝑢𝑠 ). − 𝑇𝑊 . (𝑢𝑤 ). 2 2 2 2 2
𝑇𝑃 𝑡+1 = 𝜔. {
[𝐴𝑛. 𝑇𝑁 + 𝐴𝑠. 𝑇𝑆 + 𝐴𝑒. 𝑇𝐸 + 𝐴𝑤. 𝑇𝑊 ] } + (1 − 𝜔). 𝑇𝑃 𝑡 𝐴𝑝
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 7
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Onde: 𝐴𝑛 = (𝑣𝑛 ).
∆𝑥 2
; 𝐴𝑒 = (𝑢𝑒 ).
∆𝑦 2
; 𝐴𝑠 = −(𝑢𝑠 ).
∆𝑥 2
; 𝐴𝑤 = −(𝑢𝑤 ).
∆𝑦 2
;
1
𝐴𝑝 = [∆𝑥. (𝑣𝑠 − 𝑣𝑛 ) + ∆𝑦. (𝑢𝑤 − 𝑢𝑒 )] 2
1.2.2 Modelo 1st Order Upwind
Para esta modelagem, a propriedade φ é tratada em função do fluxo mássico m na face de interesse. Assim: φ𝑒 = {
φ𝑃 , φ𝐸 ,
𝑝𝑎𝑟𝑎 M𝑒 > 0 𝑝𝑎𝑟𝑎 M𝑒 ≤ 0
TN TW
TP
TE
TS Figura 3 - Esquema de volume de controle com temperatura TP e seus vizinhos, pertinentes ao modelo 1st Order Upwind.
Logo, tem-se a seguinte discretização: 1 ∆𝑥 ∆𝑦 𝑇𝑃 . (𝑣𝑛 . ∆𝑥 + 𝑢𝑒 . ∆𝑦) = 𝑇𝑆 . (𝑣𝑠 ). + 𝑇𝑊 . (𝑢𝑤 ). 2 2 2 [𝐴𝑤. 𝑇𝑊 + 𝐴𝑠. 𝑇𝑆 ] 𝑇𝑃 𝑡+1 = 𝜔. { } + (1 − 𝜔). 𝑇𝑃 𝑡 𝐴𝑝
Onde: 𝐴𝑤 = (𝑢𝑤 ).
∆𝑦 ∆𝑥 ; 𝐴𝑠 = (𝑣𝑠 ). ; 2 2
1 𝐴𝑝 = (𝑣𝑛 . ∆𝑥 + 𝑢𝑒 . ∆𝑦) 2
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 8
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
1.2.3 Modelo 2nd Order Upwind
Nesta modelagem Upwind, de segunda ordem, adota-se a propriedade φ também em função do fluxo mássico m na face pertinente. Portanto, tem-se a propriedade como: 3⁄ φ − 1⁄ φ , 𝑃 2 𝑊 φ𝑒 = { 2 3⁄ φ − 1⁄ φ , 2 𝐸 2 𝐸𝐸
𝑝𝑎𝑟𝑎 M𝑒 > 0 𝑝𝑎𝑟𝑎 M𝑒 ≤ 0
TNN TN TWW
TW
TP
TE
TEE
TS TSS Figura 4 - Esquema de volume de controle com temperatura TP e seus vizinhos, pertinentes ao modelo 2nd Order Upwind.
Consequentemente, tem-se a discretização: 𝑇𝑃 . 3(𝑣𝑛 . ∆𝑦 + 𝑢𝑒 . ∆𝑦) = 𝑇𝑆 . (𝑣𝑛 + 3𝑣𝑠 ). ∆𝑥 + 𝑇𝑊 . (𝑢𝑒 + 3𝑢𝑤 ). ∆𝑦 − 𝑇𝑆𝑆 . (𝑣𝑠 ). ∆𝑥 − 𝑇𝑊𝑊 . (𝑢𝑤 ). ∆𝑦 𝑇𝑃 𝑡+1 = 𝜔. {
[𝐴𝑤. 𝑇𝑊 + 𝐴𝑠𝑠. 𝑇𝑆𝑆 + 𝑇𝑊𝑊 . (𝑢𝑤 ). ∆𝑦] } + (1 − 𝜔). 𝑇𝑃 𝑡 𝐴𝑝
Onde: ∆𝑦 ∆𝑦 ; 𝐴𝑤𝑤 = −(𝑢𝑤 ). ; 2 2 ∆𝑥 ∆𝑥 𝐴𝑠 = (𝑣𝑛 + 3𝑣𝑠 ). ; 𝐴𝑠𝑠 = −(𝑣𝑠 ). ; 2 2 3 𝐴𝑝 = (𝑣𝑛 . ∆𝑦 + 𝑢𝑒 . ∆𝑦) 2
𝐴𝑤 = (𝑢𝑒 + 3𝑢𝑤 ).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 9
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
2.
CÓDIGO PARA O PROBLEMA DE ADVECÇÃO NUMÉRICA PURA
2.1
PROPRIEDADES FÍSICAS PADRÕES E CRITÉRIOS DE SOLUÇÃO
O código inicia-se definindo as propriedades físicas padrões. A primeira interação com o usuário é quando questionado qual o valor da constante ômega para efeito de sub/sobrerelaxação do processo iterativo. Neste caso, aconselha-se valores até 0.9 para melhor performance. A segunda pergunta é a definição do valor para o resíduo, utilizado como critério de convergência. --------------------------------------------------------------------------clear all; close all; clc; disp('--------------------------------------------------------------'); disp('MFlab - Programa de Pós Graduação em Engenharia Mecânica - UFU') disp(' Volumes Finitos para Escoamentos - Dez 2013') disp(' Renan Francisco Soares - Mestrando') disp('--------------------------------------------------------------'); disp(' Transferência de Calor 2D - Método dos Volumes Finitos'); disp(' Escoamento com Advecção Numérica Pura'); disp('-------------------------------------------------------------');disp(' ');disp(' '); %-------------------------------------------% % Coordenadas cartesianas para o problema: % % % % (i,j)=(y,x) i corresponde à y (1:n) % % j corresponde à x (1:m) % % % % z---» x (1,1) (1,2) (1,3) ... % % | (2,1) (2,2) (2,3) ... % % y (3,1) (3,2) (3,3) ... % % ... ... ... ... % %-------------------------------------------% T_left U L n
= 100; = 2; = 1; = 10*5;
T_down V H m
= 50; Ti = 2; = 1; = 10*5;
=
0;
omega = input('Por favor, informe a constante de sub/sobrerelaxação (omega) [<= 0.9]: '); disp(' '); res_criterio = input('Para convergência do modelo, qual o valor aceitável para Resíduo? '); disp(' '); -----------------------------------------------------------------------------------------------------------------------------------------------------
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 10
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
2.2
ALTERAÇÃO DAS PROPRIEDADES FÍSICAS
A partir deste momento, apresentam-se ao usuário as propriedades físicas do problema e questiona-se o desejo de alterar esta configuração. Como resposta codificada, o valor um (1) corresponde a resposta positiva (Sim) e o valor dois (2) a resposta negativa (Não). Ainda, para o caso de resposta inválida, a questão será refeita. Após a ratificação (ou retificação) dos parâmetros do problema, deve-se escolher o método de discretização para o modelo matemático: Centrado (2nd order), 1st order Upwind ou 2nd order Upwind. Uma vez finalizado a inserção de dados pelo usuário, um contador de tempo é iniciado. --------------------------------------------------------------------------% Parâmetros do problema disp('Parâmetros do problema:'); disp(' '); disp('T_left = 100 [C]'); disp('T_down = 20 [C]'); disp('Ti = 0 [C]'); disp('U = 2 [m/s]'); disp('V = 2 [m/s]'); disp('L = 1 [m]'); disp('H = 1 [m]'); disp('Volumes = 50x50 (Eixo x * Eixo y)');disp(' ');disp(' '); question = input('Deseja alterar estes valores? [1 - Sim; 2 - Não] disp(' '); while question ~= 1 && question ~= 2 disp('Resposta não válida. Por favor, responda novamente:'); question = input('Deseja alterar os valores? [1 - Sim; 2 - Não] disp(' '); end if question T_left '); T_down '); Ti '); U ');
: ');
: ');
== 1 = input('Temperatura na face esquerda (T_left) [C]...........: = input('Temperatura na face inferior (T_down) [C]...........: = input('Temperatura inicial (Ti) [C]........................: = input('Componente de velocidade no Eixo X (U) [m/s]........:
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 11
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
V
= input('Componente de velocidade no Eixo Y (V) [m/s]........:
L
= input('Tamanho do domínio no Eixo X (L) [m]................:
H
= input('Tamanho do domínio no Eixo Y (H) [m]................:
m
= input('Quantidade de elementos pertencente ao Eixo X (m)...:
'); '); '); '); n = input('Quantidade de elementos pertencente ao Eixo Y (n)...: ');disp(' '); end % Escolha do Método de Discretização method = input('Qual o método de discretização? [0 - CDS; 1 - 1st UPw; 2 2nd UPw] : '); while method ~= 0 && method ~= 1 && method ~= 2 disp('Resposta não válida. Por favor, responda novamente:'); method = input('Qual o método de discretização? [0 - CDS; 1 - 1st UPw; 2 - 2nd UPw] : '); disp(' '); end
tic; % Início do contador de tempo -----------------------------------------------------------------------------------------------------------------------------------------------------
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 12
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
2.3
GERAÇÃO DAS MATRIZES DE VELOCIDADES
Neste parte do código, calcula-se as dimensões dos volumes de controle, os quais são uniformes para todo o domínio, além de duas fileiras adicionais de volumes de controle sobre as fronteiras. As matrizes das velocidades são calculados, representando as velocidades em todas das faces de todos os volumes de controle do domínio. --------------------------------------------------------------------------% Elementos da Malha Numérica dx = L/m; dy = H/n;
% Comprimento dx dos volumes de controle em x [m] % Comprimento dy dos volumes de controle em y [m]
m = m + 4; n = n + 4;
% Acréscimo de elementos "Fantasmas" nas extremidades em x % Acréscimo de elementos "Fantasmas" nas extremidades em y
% Condições iniciais de Ti, u, v e coeficientes AS, AN, AW, AE e AP. T(1:n,1:m) u(1:n,1:m) v(1:n,1:m) AW(1:n,1:m) AE(1:n,1:m) AS(1:n,1:m) AN(1:n,1:m) AP(1:n,1:m)
= Ti; = U; = V; = 0; = 0; = 0; = 0; = 0;
% Fluxo nas Faces do Volume de Controle for i=2:n-1 for j=2:m-1 vn(i,j) vs(i,j) ue(i,j) uw(i,j)
= = = =
(v(i-1,j) (v(i+1,j) (u(i,j+1) (u(i,j-1)
+ + + +
v(i,j))/2; v(i,j))/2; u(i,j))/2; u(i,j))/2;
end end -----------------------------------------------------------------------------------------------------------------------------------------------------
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 13
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
2.4
MÉTODOS DE DISCRETIZAÇÃO
Seguindo as modelagens matemáticas supraexpostas, faz-se necessidade dos coeficientes associados as temperaturas. Estes coeficientes podem ser chamados de série A (An, Ann, As, Ass, Aw, Aww, Ae e Aee), onde são calculados nesta etapa. Contudo, cada forma de modelagem (Centrado 2nd Order, 1st Order Upwind e 2st Order Upwind) possui diferentes coeficientes da série A. --------------------------------------------------------------------------% Métodos de Discretização % Centrado - 2nd Order if method==0 for i=2:n-1 for j=2:m-1 AE(i,j) AW(i,j) AN(i,j) AS(i,j) AP(i,j)
= ue(i,j)*dy/2; = -uw(i,j)*dy/2; = vn(i,j)*dx/2; = -vs(i,j)*dx/2; = -(AN(i,j) + AS(i,j) + AE(i,j) + AW(i,j));
end end end % Upwind - 1st Order if method==1 for i=2:n-1 for j=2:m-1 AW(i,j) = uw(i,j)*dy/2; AS(i,j) = vs(i,j)*dx/2; AP(i,j) = u(i,j)*dy/2 + v(i,j-1)*dx/2; end end end % Upwind - 2nd Order if method==2 for i=2:n-1 for j=2:m-1 AW(i,j) = (3*uw(i,j) + ue(i,j) )*dy; AWW(i,j) = -uw(i,j)*dy;
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 14
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
AS(i,j) = (3*vs(i,j) + vn(i,j) )*dx; ASS(i,j) = -vs(i,j)*dx; AP(i,j) = 3*vn(i,j)*dx + 3*ue(i,j)*dy; end end end -----------------------------------------------------------------------------------------------------------------------------------------------------
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 15
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
2.5
PROCESSO DE SOLUÇÃO ITERATIVO
Nesta etapa, inicia-se o processo iterativo de solução propriamente dito. Ainda, como último preparativo, cria-se o termo res_AP, possuindo a finalidade de normalizar o resíduo das iterações. Dentro do primeiro subconjunto “Núcleo do Processo de Solução”, estão presentes as três formas de discretização. No segundo subconjunto “Interface com Usuário”, é plotado ao usuário mensagem em texto e os gráficos simultâneos ao processo de solução. --------------------------------------------------------------------------% Modelo de Solução Iterativo res = inf; iter = 1; iter_max = 1000; res_AP = sum(sum(AP,1),2)
% % % %
Valor inicial de resíduo Contador de iterações Número máximo de iterações Soma dos coeficientes da matriz AP.
while (res > res_criterio) && (iter < iter_max) sum_erro = 0; Told = T; T(n,:) = T_down; T(n-1,:) = T_down; T(n-2,:) = T_down; T(:,1) = T_left; T(:,2) = T_left; T(:,3) = T_left; %---------------------------------------------------------------------% start 1.---------- Núcleo do Processo de Solução -------------------% Centrado - 2nd Order if method==0 for i=2:n-1 for j=2:m-1 orange_truck= AN(i,j)*T(i-1,j) - AS(i,j)*T(i+1,j) + AE(i,j)*T(i,j+1) - AW(i,j)*T(i,j-1); T(i,j) = ( omega*orange_truck + (1-omega)*T(i,j) )/(AP(i,j)); sum_erro = sum_erro + abs( T(i,j) - Told(i,j) ); end end end
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 16
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
% Upwind - 1st Order if method==1 for i=3:n-2 for j=3:m-2 orange_truck= AS(i,j)*T(i+1,j) + AW(i,j)*T(i,j-1); T(i,j) = omega*orange_truck/(AP(i,j)) + (1-omega)*T(i,j); sum_erro = sum_erro + abs( T(i,j) - Told(i,j) ); end end end % Upwind - 2st Order if method==2 for i=3:n-2 for j=3:m-2 orange_truck= AS(i,j)*T(i+1,j) + ASS(i,j)*T(i+2,j) + AW(i,j)*T(i,j-1) + AWW(i,j)*T(i,j-2); T(i,j) = omega*orange_truck/(AP(i,j)) + (1-omega)*T(i,j); sum_erro = sum_erro + abs( T(i,j) - Told(i,j) ); end end end % end 1.---------------------------------------------------------------
% Histórico do Resíduo % Resíduo: somatória da diferença dos elementos entre os passos (t) e (t+1), normalizado dividindo pela somatória dos termos da matriz Ap. res = sum_erro / res_AP; Residuo(iter) = res; iter = iter + 1; eixoiter = 1:iter-1;
%---------------------------------------------------------------------% start 2.------------- Interface com Usuário ------------------------clc; disp('--------------------------------------------------------------'); disp('MFlab - Programa de Pós Graduação em Engenharia Mecânica - UFU') disp(' Volumes Finitos para Escoamentos - Dez 2013') disp(' Renan Francisco Soares - Mestrando') disp('--------------------------------------------------------------'); disp(' Transferência de Calor 2D - Método dos Volumes Finitos'); disp(' Escoamento com Advecção Numérica Pura'); disp('-------------------------------------------------------------');disp(' ');disp(' ');
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 17
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
disp('---------------------------------------------------'); disp('O modelo iterativo está sendo executado.'); disp('---------------------------------------------------');disp(' '); disp('Figura 1: Resultado instantâneo das iterações.'); disp('Figura 2: Histórico do Resíduo de Temperatura.');disp(' '); disp('O resíduo atual é de: '); res
% Gráficos instantâneos figure(1) imagesc([3 m-2],[3 n-2],T(3:n-2,3:m-2)); title('Distribuição de Temperatura 2D') xlabel('Volumes - Eixo x') ylabel('Volumes - Eixo y') colorbar('SouthOutside') figure(2) plot(eixoiter, Residuo,'go') semilogy (Residuo,'go') grid on title('Resíduo (Temperatura)') xlabel('Iterações') ylabel('Resíduo') % end 2.--------------------------------------------------------------end -----------------------------------------------------------------------------------------------------------------------------------------------------
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 18
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
2.6
REPORTE DO RESULTADO
Concluindo o processo, a resposta é transmitida ao usuário. Esta consiste-se no processo de discretização utilizado, a quantidade de iterações realizadas e o tempo decorrido no processo de solução. --------------------------------------------------------------------------% Mensagem de Resultado t = toc; disp('---------------------------------------------------'); disp('Processo concluído!'); disp('---------------------------------------------------');disp(' '); disp('---------------------------------------------------');disp(' '); if method == 0 fprintf('Método de discretização ..: Centrado - 2nd Order \n') elseif method == 1 fprintf('Método de discretização ..: Upwind - 1st Order \n') else fprintf('Método de discretização ..: Upwind - 2nd Order \n') end fprintf('Fator de relaxação .......: %.1f \n', omega) fprintf('Número de iterações ......: %d \n', iter-1) fprintf('Duração da solução .......: %.1f s\n', t) disp('---------------------------------------------------'); -----------------------------------------------------------------------------------------------------------------------------------------------------
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 19
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
3.
SIMULAÇÃO NUMÉRICA
3.1
COEFICIENTE DE SUB/SOBRERELAXAÇÃO ÔMEGA
Este coeficiente pode ser usado tanto para o propósito de minimizar a velocidade de avanço das informações dentro do domínio em estudo (0 < Ω < 1), ou para maximizar tal avanço (Ω > 1). A vantagem de minimizar a velocidade é prover ao processo iterativo maior estabilidade; entretanto, considerável custo computacional é faz-se necessário. Assim, para fins de performance de solução, convém adotar valores que maximizam a velocidade de propagação das informações; contudo, instabilidades aumentam ao passo que incrementa-se o valor da constante. Entretanto, embasando-se no estudo pseudoempírico deste coeficiente, as soluções providas com Ω > 0,9 adotam caráter divergente de solução. Portanto, conclui-se que o valor Ω = 0,9 é o valor máximo aceitável pelo sistema para manter seu caráter convergente, e assim, possibilitando obter resultados.
3.2
CASOS E RESULTADOS
De modo progressivo, sete tamanhos diferentes de malha numéricas diferentes são simulados para análise de resultados. Assim, com o intuito de obter volumes de controle quadrados, adota-se como padrão a razão de distribuição 1x1. A condição de volumes de controle quadrados para a malha numérica é somente desejável, ou seja, não é necessária. Pois o código está configurado para aceitar valores independentes para cada eixo cartesiano; contudo, aconselha-se que os elementos estejam o mais regular possível para melhor precisão numérica.
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 20
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
3.2.1 Resultados – Centrado 2nd Order
Devido à características de sua modelagem, o esquema Centrado 2nd Order tornase inviável para extração de resultados. A partir do segundo passo iterativo, o processo para o esquema centrado (CDS) não é altera seu resultado, tomando como valor 0 (zero) todas as temperaturas do domínio de interesse.
Figura 5 – Resultado após o 1º passo iterativo: padrão “tabuleiro de xadrez”.
Figura 6 – Resultado após o 2º passo iterativo: padrão “tabuleiro de xadrez”.
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 21
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
3.2.2 Resultados – Modelos Upwind (1st e 2nd Order)
Nas figuras subsequentes, compara-se os resultados da diferentes malhas, diferindo somente a ordem do esquema Upwind. O refinamento da malha inicia de um domínio de 5x5 até 500x500 volumes de controle.
Figura 7 – 1st Order Upwind: malha numérica de 5x5 divisões (25 volumes de controle).
Figura 8 – 2nd Order Upwind: malha numérica de 5x5 divisões (25 volumes de controle).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 22
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Figura 9 – 1st Order Upwind: malha numérica de 10x10 divisões (100 volumes de controle).
Figura 10 – 2nd Order Upwind: malha numérica de 10x10 divisões (100 volumes de controle).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 23
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Figura 11 – 1st Order Upwind: malha numérica de 20x20 divisões (400 volumes de controle).
Figura 12 – 2nd Order Upwind: malha numérica de 20x20 divisões (400 volumes de controle).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 24
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Figura 13 – 1st Order Upwind: malha numérica de 50x50 divisões (2500 volumes de controle).
Figura 14 – 2nd Order Upwind: malha numérica de 50x50 divisões (2500 volumes de controle).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 25
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Figura 15 – 1st Order Upwind: malha numérica de 100x100 divisões (10000 volumes de controle).
Figura 16 – 2nd Order Upwind: malha numérica de 100x100 divisões (10000 volumes de controle).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 26
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Figura 17 – 1st Order Upwind: malha numérica de 200x200 divisões (40000 volumes de controle).
Figura 18 – 2nd Order Upwind: malha numérica de 200x200 divisões (40000 volumes de controle).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 27
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
Figura 19 – 1st Order Upwind: malha numérica de 500x500 divisões (250000 volumes de controle).
Figura 20 – 2nd Order Upwind: malha numérica de 500x500 divisões (250000 volumes de controle).
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 28
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
4.
CONCLUSÃO
Sendo que, pela modelagem matemática, não deveria haver nenhum gradiente de temperatura (somente a mudança abrupta entre os dois níveis), os resultados levam a crer que o melhor modelo a ser utilizado é o esquema 2nd Order Upwind. Como exemplo, destaca-se os resultados da malha 100x100, sob 2nd Order Upwind, e da malha 500x500, sob 1st Order Upwind. Ambas apresentam praticamente os mesmos resultados; contudo, o modelo de primeira ordem utiliza de 25 vezes a quantidade de volumes de controle do seu equivalente em segunda ordem.
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 29
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
APÊNDICE – CÓDIGO COMPLETO
Segue, na íntegra, o código desenvolvido para a classe do problema proposto.
clear all; close all; clc; disp('--------------------------------------------------------------'); disp('MFlab - Programa de Pós Graduação em Engenharia Mecânica - UFU') disp(' Volumes Finitos para Escoamentos - Dez 2013') disp(' Renan Francisco Soares - Mestrando') disp('--------------------------------------------------------------'); disp(' Transferência de Calor 2D - Método dos Volumes Finitos'); disp(' Escoamento com Advecção Numérica Pura'); disp('-------------------------------------------------------------');disp(' '); %-------------------------------------------% % Coordenadas cartesianas para o problema: % % % % (i,j)=(y,x) i corresponde à y (1:n) % % j corresponde à x (1:m) % % % % z---» x (1,1) (1,2) (1,3) ... % % | (2,1) (2,2) (2,3) ... % % y (3,1) (3,2) (3,3) ... % % ... ... ... ... % %-------------------------------------------% T_left T_down Ti U V L H n m
= 100; = 50; = 0; = 2; = 2; = 1; = 1; = 10*5; = n;
omega = input('Por favor, informe a constante de sub/sobrerelaxação (omega) [<= 0.9]: '); disp(' '); res_criterio = input('Para convergência do modelo, qual o valor aceitável para Resíduo? '); disp(' ');
% Parâmetros do problema disp('Parâmetros do problema:'); disp(' '); disp('T_left = 100 [C]'); disp('T_down = 20 [C]');
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 30
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
disp('Ti disp('U disp('V disp('L disp('H disp('Volumes
= = = = = =
0 2 2 1 1 50x50
[C]'); [m/s]'); [m/s]'); [m]'); [m]'); (Eixo x * Eixo y)');disp(' ');disp(' ');
question = input('Deseja alterar estes valores? [1 - Sim; 2 - Não] disp(' '); while question ~= 1 && question ~= 2 disp('Resposta não válida. Por favor, responda novamente:'); question = input('Deseja alterar os valores? [1 - Sim; 2 - Não] disp(' '); end
: ');
: ');
if question == 1 T_left = input('Temperatura na face esquerda (T_left) [C]...........: '); T_down = input('Temperatura na face inferior (T_down) [C]...........: '); Ti = input('Temperatura inicial (Ti) [C]........................: '); U = input('Componente de velocidade no Eixo X (U) [m/s]........: '); V = input('Componente de velocidade no Eixo Y (V) [m/s]........: '); L = input('Tamanho do domínio no Eixo X (L) [m]................: '); H = input('Tamanho do domínio no Eixo Y (H) [m]................: '); m = input('Quantidade de elementos pertencente ao Eixo X (m)...: '); n = input('Quantidade de elementos pertencente ao Eixo Y (n)...: ');disp(' '); end
% Escolha do Método de Discretização method = input('Qual o método de discretização? [0 - CDS; 1 - 1st UPw; 2 2nd UPw] : '); while method ~= 0 && method ~= 1 && method ~= 2 disp('Resposta não válida. Por favor, responda novamente:'); method = input('Qual o método de discretização? [0 - CDS; 1 - 1st UPw; 2 - 2nd UPw] : '); disp(' '); end
tic; % Início do contador de tempo
% Elementos da Malha Numérica
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 31
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
dx = L/m; dy = H/n;
% Comprimento dx dos volumes de controle em x [m] % Comprimento dy dos volumes de controle em y [m]
m = m + 4; n = n + 4;
% Acréscimo de elementos "Fantasmas" nas extremidades em x % Acréscimo de elementos "Fantasmas" nas extremidades em y
% Condições iniciais de Ti, u, v e coeficientes AS, AN, AW, AE e AP. T(1:n,1:m) u(1:n,1:m) v(1:n,1:m) AW(1:n,1:m) AE(1:n,1:m) AS(1:n,1:m) AN(1:n,1:m) AP(1:n,1:m)
= Ti; = U; = V; = 0; = 0; = 0; = 0; = 0;
% Fluxo nas Faces do Volume de Controle for i=2:n-1 for j=2:m-1 vn(i,j) vs(i,j) ue(i,j) uw(i,j)
= = = =
(v(i-1,j) (v(i+1,j) (u(i,j+1) (u(i,j-1)
+ + + +
v(i,j))/2; v(i,j))/2; u(i,j))/2; u(i,j))/2;
end end
% Método de Discretização % Centrado - 2nd Order if method==0 for i=2:n-1 for j=2:m-1 AE(i,j) AW(i,j) AN(i,j) AS(i,j) AP(i,j)
= ue(i,j)*dy/2; = -uw(i,j)*dy/2; = vn(i,j)*dx/2; = -vs(i,j)*dx/2; = -(AN(i,j) + AS(i,j) + AE(i,j) + AW(i,j));
end end end
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 32
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
% Upwind - 1st Order if method==1 for i=2:n-1 for j=2:m-1 AW(i,j) = uw(i,j)*dy/2; AS(i,j) = vs(i,j)*dx/2; AP(i,j) = ue(i,j)*dy/2 + vn(i,j-1)*dx/2; end end end % Upwind - 2nd Order if method==2 for i=2:n-1 for j=2:m-1 AW(i,j) = (3*uw(i,j) + ue(i,j) )*dy; AWW(i,j) = -uw(i,j)*dy; AS(i,j) = (3*vs(i,j) + vn(i,j) )*dx; ASS(i,j) = -vs(i,j)*dx; AP(i,j) = 3*vn(i,j)*dx + 3*ue(i,j)*dy; end end end
% Modelo de Solução Iterativo res = inf; % Valor inicial de resíduo iter = 1; % Contador de iterações iter_max = 10000; % Número máximo de iterações res_AP = sum(sum(AP,1),2) % Soma dos coeficientes da matriz AP. upw_new = AS(i,j)*T(i+1,j) + AW(i,j)*T(i,j-1); while (res > res_criterio) && (iter < iter_max) sum_erro = 0; Told = T; T(n,:) = T_down; T(n-1,:) = T_down; T(n-2,:) = T_down; T(:,1) = T_left; T(:,2) = T_left; T(:,3) = T_left; %---------------------------------------------------------------------% start 1.---------- Núcleo do Processo de Solução --------------------
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 33
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
% Centrado - 2nd Order if method==0 for i=2:n-1 for j=2:m-1 orange_truck= AN(i,j)*T(i-1,j) + AS(i,j)*T(i+1,j) + AE(i,j)*T(i,j+1) + AW(i,j)*T(i,j-1); T(i,j) = ( omega*orange_truck + (1-omega)*T(i,j) )/(AP(i,j)); sum_erro = sum_erro + abs( T(i,j) - Told(i,j) ); end end end % Upwind - 1st Order if method==1 for i=3:n-2 for j=3:m-2 orange_truck = AS(i,j)*T(i+1,j) + AW(i,j)*T(i,j-1); T(i,j) = omega*orange_truck/(AP(i,j)) + (1-omega)*T(i,j); sum_erro = sum_erro + abs( T(i,j) - Told(i,j) ); end end end % Upwind - 2st Order if method==2 for i=3:n-2 for j=3:m-2 orange_truck = AS(i,j)*T(i+1,j) + ASS(i,j)*T(i+2,j) + AW(i,j)*T(i,j-1) + AWW(i,j)*T(i,j-2); T(i,j) = omega*orange_truck/(AP(i,j)) + (1-omega)*T(i,j); sum_erro = sum_erro + abs( T(i,j) - Told(i,j) ); end end end % end 1.---------------------------------------------------------------
% Histórico do Resíduo % Resíduo: somatória da diferença dos elementos entre os passos (t) e (t+1), normalizado dividindo pela somatória dos termos da matriz Ap. res = sum_erro / res_AP; Residuo(iter) = res; iter = iter + 1; eixoiter = 1:iter-1;
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 34
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
%---------------------------------------------------------------------% start 2.------------- Interface com Usuário ------------------------clc; disp('--------------------------------------------------------------'); disp('MFlab - Programa de Pós Graduação em Engenharia Mecânica - UFU') disp(' Volumes Finitos para Escoamentos - Dez 2013') disp(' Renan Francisco Soares - Mestrando') disp('--------------------------------------------------------------'); disp(' Transferência de Calor 2D - Método dos Volumes Finitos'); disp(' Escoamento com Advecção Numérica Pura'); disp('-------------------------------------------------------------');disp(' ');disp(' '); disp('---------------------------------------------------'); disp('O modelo iterativo está sendo executado.'); disp('---------------------------------------------------');disp(' '); disp('Figura 1: Resultado instantâneo das iterações.'); disp('Figura 2: Histórico do Resíduo de Temperatura.');disp(' '); disp('O resíduo atual é de: '); res
% Gráficos instantâneos figure(1) imagesc([3 m-2],[3 n-2],T(3:n-2,3:m-2)); title('Distribuição de Temperatura 2D') xlabel('Volumes - Eixo x') ylabel('Volumes - Eixo y') colorbar('SouthOutside') figure(2) plot(eixoiter, Residuo,'go') semilogy (Residuo,'go') grid on title('Resíduo (Temperatura)') xlabel('Iterações') ylabel('Resíduo') % end 2.--------------------------------------------------------------end
% Mensagem de Resultado t = toc; disp('---------------------------------------------------'); disp('Processo concluído!'); disp('---------------------------------------------------');disp(' '); disp('---------------------------------------------------');disp(' ');
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 35
Volumes Finitos em Transferência de Calor e Escoamento de Fluidos Prof. Dr. Francisco José de Souza
if method == 0 fprintf('Método de discretização ..: Centrado - 2nd Order \n') elseif method == 1 fprintf('Método de discretização ..: Upwind - 1st Order \n') else fprintf('Método de discretização ..: Upwind - 2nd Order \n') end fprintf('Fator de relaxação .......: %.1f \n', omega) fprintf('Número de iterações ......: %d \n', iter-1) fprintf('Duração da solução .......: %.1f s\n', t) disp('---------------------------------------------------');
Renan Francisco Soares Mestrando em Engenharia Mecânica Transferência de Calor e Mecânica dos Fluidos – MFlab
Página 36