Você está na página 1de 31

Método dos Volumes Finitos

2º Ciclo Engenharia Eletromecânica

Unidade Curricular: Eletromecânica Computacional


Módulo: Volumes Finitos
(1 ºAno /1º Semestre)

David F. R. Alves M13932


Simão M. Lopes M13978

Covilhã
Fevereiro 2024
Contents Método dos Volumes Finitos

Contents
1 Lista de Símbolos 1

2 Introdução 2

3 Declaração do Problema 2

4 Formulação Matemática 2
4.1 Derivação da Equação de Condução de Calor . . . . . . . . . . . . . . . . . . . . . . 2
4.2 Condições de Contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4.3 Introdução às Séries de Fourier para a Solução Analítica . . . . . . . . . . . . . . . . 3

5 Método númerico 3
5.1 Método dos Volumes Finitos para Discretização Espacial . . . . . . . . . . . . . . . . 3
5.2 Discretização da Equação de Calor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5.3 Método de Euler Implícito para Discretização Temporal . . . . . . . . . . . . . . . . 4

6 Implementação em Fortran 4
6.1 Inicialização e Definição de Parâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . 4
6.2 Leitura de Dados e Configuração Inicial . . . . . . . . . . . . . . . . . . . . . . . . . 4
6.3 Preparação da Malha e Coeficientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
6.4 Condições de Contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.5 Loop Principal de Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.6 Sub-rotina TDMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.7 Cálculo e Escrita de Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

7 Resultados da Simulação 9
7.1 ∆t = 0.005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1.1 Ao longo da Posição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1.2 Ao longo do tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.2 Erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.3 ∆t = 0.01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.3.1 Ao longo da Posição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.3.2 Ao longo do tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.4 Erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

8 Discussão de Resultados 21
8.1 Distribuição da Temperatura ao Longo da Posição: . . . . . . . . . . . . . . . . . . . 21
8.2 Evolução da Temperatura ao Longo do Tempo: . . . . . . . . . . . . . . . . . . . . . 21
8.3 Influência do TTOT na Análise de Erro: . . . . . . . . . . . . . . . . . . . . . . . . . 22

9 Conclusão 22

10 Anexos 22

ii
List of Figures Método dos Volumes Finitos

List of Figures
1 Nós Malha B (Fonte: CHEN 6355 - Computational Fluid Dynamics). . . . . . . . . 4
2 NX=12; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 NX=22; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 NX=42; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 NX=82; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 NX=162; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7 NX=12; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8 NX=22; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9 NX=42; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
10 NX=82; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
11 NX=162; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
12 evolução do erro ao longo do incremento de nós na malha; (Fonte: MATLAB). . . . 15
13 NX=12; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
14 NX=22; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
15 NX=42; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
16 NX=82; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
17 NX=162; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
18 NX=12; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
19 NX=22; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
20 NX=42; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
21 NX=82; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
22 NX=162; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
23 evolução do erro ao longo do incremento de nós na malha; (Fonte: MATLAB). . . . 20
24 Comparação da evolução do erro; (Fonte: MATLAB). . . . . . . . . . . . . . . . . . 22

iii
Método dos Volumes Finitos

1 Lista de Símbolos
Símbolo Descrição
ρ Densidade do material
cp Calor específico a pressão constante
T Temperatura
t Tempo
x Coordenada espacial unidimensional
k Condutividade térmica do material
q Fluxo de calor
h Coeficiente de transferência de calor por convecção
T∞ Temperatura do fluido adjacente
∆t Incremento de tempo na simulação
∆x Incremento espacial na malha
ϕ Potencial ou variável dependente
u Velocidade do fluido
λ Comprimento de onda característico
Bn Coeficiente na série de Fourier

1
Método dos Volumes Finitos

2 Introdução
Este estudo aborda a simulação numérica da condução de calor unidimensional dentro de um
plano/posição infinitamente longo(a), empregando o método implícito de volumes finitos para re-
solver a equação do calor transiente. O objetivo principal é avaliar a distribuição de temperatura
ao longo do tempo, dadas condições iniciais uniformes e transferência de calor por convecção nos
limites. Apresentamos uma implementação detalhada do esquema numérico em Fortran, que in-
clui a inicialização do problema, aplicação de condições de contorno e evolução temporal usando o
método implícito de Euler. A precisão da solução numérica é rigorosamente avaliada comparando-
a com a solução analítica obtida através de uma abordagem de série de Fourier. Os resultados
são demonstrados através de gráficos gerados, destacando os perfis de temperatura simulados e
analíticos em vários intervalos de tempo. O estudo analisa meticulosamente a dinâmica do erro,
mostrando o impacto do refinamento da malha e da resolução do intervalo de tempo na precisão da
solução. Os resultados desta pesquisa não apenas confirmam a confiabilidade do método numérico
para problemas de condução de calor estacionária e transitória, mas também fornecem insights
sobre o comportamento de convergência da abordagem de volumes finitos no contexto da análise
térmica. [3]

3 Declaração do Problema
O problema específico em análise foca-se na condução de calor transiente numa placa plana
infinita, que é uma idealização comum para simplificar a análise de problemas de condução em
geometrias complexas. Esta abordagem permite não só compreender os fundamentos da difusão
térmica mas também desenvolver soluções numéricas precisas que podem ser aplicadas a situações
reais onde as condições de contorno, as propriedades dos materiais e as condições iniciais podem
variar amplamente.
A aplicação do método dos volumes finitos no contexto deste problema permite uma discretização
conservativa do domínio, assegurando que o balanço de energia seja mantido em cada volume de
controle. O esquema temporal implícito de Euler é particularmente vantajoso pela sua estabilidade
numérica, especialmente em simulações de longa duração onde a estabilidade é pivotal.
A simulação computacional que emerge deste enunciado do problema oferece um caminho para
explorar o comportamento térmico dos materiais sob condições controladas, fornecendo uma ponte
entre teoria e prática na engenharia térmica. As conclusões extraídas deste estudo não só têm
implicações para a compreensão teórica da condução de calor mas também para o aprimoramento
de processos industriais, o desenvolvimento de materiais com propriedades térmicas otimizadas e a
melhoria do design de dispositivos e sistemas que dependem de uma gestão eficaz do calor.

4 Formulação Matemática
4.1 Derivação da Equação de Condução de Calor
A condução de calor em sólidos é descrita pela equação de calor, que é uma expressão do
segundo princípio da termodinâmica. Para um regime transiente unidimensional numa placa plana,
a equação é dada por:  
∂T ∂ ∂T
ρcp = k ,
∂t ∂x ∂x
onde ρ é a densidade do material, cp é o calor específico a pressão constante, T é a temperatura, t
é o tempo, x é a coordenada espacial unidimensional, e k é a condutividade térmica do material.

2
4.2 Condições de Contorno Método dos Volumes Finitos

4.2 Condições de Contorno


O problema é complementado por condições de contorno que descrevem as interações térmicas
nas fronteiras do domínio. Na fronteira em x = 0, temos uma condição de isolamento térmico,
expressa por:
q = 0,
significando que não há fluxo de calor através dessa fronteira. Na fronteira em x = L, a condição é
de convecção, representada por:
q = h(T∞ − T ),
onde h é o coeficiente de transferência de calor por convecção, e T∞ é a temperatura do fluido
adjacente.

4.3 Introdução às Séries de Fourier para a Solução Analítica


Para soluções analíticas do problema de condução de calor em regime transiente, muitas vezes
recorremos a séries de Fourier, que permitem representar a distribuição de temperatura como uma
soma de funções seno e cosseno, cada uma multiplicada por um coeficiente que decai exponencial-
mente com o tempo. A forma geral da solução é:

2
X
T (x, t) = Bn e−λn t cos(λn x),
n=1

onde Bn e λn são constantes determinadas pelas condições iniciais e de contorno do problema


específico.
Este enquadramento matemático é essencial para a compreensão detalhada da simulação numérica
e para a validação dos resultados obtidos através da comparação com soluções teóricas conhecidas.

5 Método númerico
5.1 Método dos Volumes Finitos para Discretização Espacial
No método dos volumes finitos, o domínio espacial é dividido em volumes de controle e a lei de
conservação é aplicada integralmente em cada volume. A equação de condução de calor é integrada,
resultando numa equação de balanço para cada volume:
Z Z
∂T
ρcp dv = k∇T · dA
volume ∂t superfície

5.2 Discretização da Equação de Calor


A discretização transforma a equação diferencial contínua num conjunto de equações algébricas.
Por exemplo, a temperatura num nó pode ser expressa como:

aP TP = aE TE + aW TW + b
onde aP ,aE , e aW , são respetivamente os coeficientes nos nós central, leste e este. TP ,TE , e TW ,
são respetivamente a temperatura nos nós central, leste e este, e b é um termo que leva em conta o
termo de origem e o intervalo de tempo anterior.
Podendo ser simplificada para a seguinte equação:

Ti = f (Ti−1 , Ti+1 )

3
5.3 Método de Euler Implícito para Discretização Temporal Método dos Volumes Finitos

Figure 1: Nós Malha B (Fonte: CHEN 6355 - Computational Fluid Dynamics).

[4]

5.3 Método de Euler Implícito para Discretização Temporal


O método de Euler implícito é conhecido pela sua estabilidade, especialmente útil para passos
de tempo maiores. Este método é particularmente vantajoso em simulações de condução de calor
transiente, onde a estabilidade e precisão são cruciais, caracteriza-se da seguinte forma:

T n+1 = T n + ∆t · f (T n+1 , tn+1 )

[1]

6 Implementação em Fortran
6.1 Inicialização e Definição de Parâmetros
C
PROGRAM EXEMPLB
IMPLICIT REAL*8(A-H,O-Z)
C
C PARA RESOLVER EQ. DA CONDUCAO DO CALOR 1D
C ** MALHA TIPO-B **
PARAMETER(NMAX=1000)
C dimensionar arrays (matrizes unidimensionais)
DIMENSION PHI(NMAX),AP(NMAX),AE(NMAX),AW(NMAX),B(NMAX),A0(NMAX),
+ S(NMAX),X(NMAX),SP(NMAX), AA(NMAX)
...

O programa inicia com ’PROGRAM EXEMPLB’, definindo variáveis e a precisão numérica com
’IMPLICIT REAL*8’. ’PARAMETER(NMAX=1000)’ e ’DIMENSION’ inicializam os arrays uti-
lizados na simulação, como ’PHI’ para a temperatura.

6.2 Leitura de Dados e Configuração Inicial


C DADOS DE PARTIDA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C Tamanho do passo no tempo, DT
DT=TTOT/FLOAT(NT)
C comprimento da barra
XTOT=1.0
C temperatura inicial (t=0)
PHIINI=1.0
C densidade
DEN=1.0

4
6.3 Preparação da Malha e Coeficientes Método dos Volumes Finitos

C calor especifico
CP=1.0
C condutibilidade termica
AK=1.0
C parte constante do termo fonte (S=Sc+Sp*Phi)
SC=0.0
SPP=0.0
C
PI=4.D0*DATAN(1.D0)
T1=1.0
IMON=1
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C CALOR IMPOSTO, Qb
Qb=0
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C COEFICIENTE CONVECTIVO, Hf
Hf=1.0
C TEMPERATURA DO FLUIDO ADJACENTE, Tf
Tf=0.0
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
...

O código lê dados de arquivos (ytan.dat) e entrada do usuário para configurar a simulação, incluindo
o número de nós na malha ’(NX)’, o tempo total ’(TTOT)’ e os passos no tempo ’(NT)’. Estas
entradas definem o domínio e a resolução da simulação.

6.3 Preparação da Malha e Coeficientes


C preparar malha
DX=XTOT/FLOAT(NX-2)
NXM1=NX-1
NXM2=NX-2
NXP1=NX+1
DO I=1,NX
X(I)=(I-1)*DX-DX/2.
END DO
X(1)=0.0
X(NX)=XTOT
C PREPARAR COEFICIENTES INTERIORES
DO I=3,NXM1-1
S(I)=SC*DX
SP(I)=SPP*DX
AE(I)=AK/DX
AW(I)=AK/DX
A0(I)=DEN*CP*DX/DT
END DO

5
6.4 Condições de Contorno Método dos Volumes Finitos

C CONDICOES INICIAIS
DO I=2,NXM1
PHI(I)=PHIINI
END DO
...

O espaçamento da malha (DX) e os coeficientes (AE, AW, AP) são calculados. O espaçamento da
malha ’(DX)’ é calculado com base no comprimento total e no número de nós:

XT OT
DX =
NX − 2
.
Os coeficientes para a discretização da equação são calculados. Por exemplo, para um nó interno
i:

AK
AE(i) =
DX
e
AK
AW (i) =
DX

6.4 Condições de Contorno


C CÁLCULO DOS COEFICIENTES AE, AW, AP E DO TERMO FONTE "S"
C PARA OS NÓS DA FRONTEIRA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C FRONTEIRA 1
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CONVECÇÃO CCCCCCCCCCCCCCCCCCCCCCCC
AE(1)=AK/(DX/2.)
AW(1)=0.
A0(1)=0.
C CASO DE Qb DEFINIDO POR Hf E Tf
C AP(1)=AE(1)+AW(1)+A0(1)+SP(1)+Hf
C S(1)=Hf*Tf
C CASO DE Qb DADO
AP(1)=AE(1)+AW(1)+A0(1)+SP(1)
S(1)=Qb
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C FRONTEIRA NX
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CONVECÇÃO CCCCCCCCCCCCCCCCCCCCCCCC
AE(NX)=0.
AW(NX)=AK/(DX/2.)
A0(NX)=0.
C CASO DE Qb DEFINIDO POR Hf E Tf
AP(NX)=AE(NX)+AW(NX)+A0(NX)+SP(NX)+Hf
S(NX)=Hf*Tf
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

6
6.5 Loop Principal de Simulação Método dos Volumes Finitos

C CÁLCULO DOS COEFICIENTES AE, AW, AP E DO TERMO FONTE "S"


C PARA OS NÓS ADJACENTES AOS DA FRONTEIRA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
AE(2)=AK/DX
AW(2)=AK/(DX/2.)
A0(2)=DEN*CP*DX/DT
AP(2)=AE(2)+AW(2)+A0(2)+SP(2)
S(2)=SC*DX
C
AE(NXM1)=AK/(DX/2.)
AW(NXM1)=AK/DX
A0(NXM1)=DEN*CP*DX/DT
AP(NXM1)=AE(NXM1)+AW(NXM1)+A0(NXM1)+SP(NXM1)
S(NXM1)=SC*DX
C Preparar coeficiente central
DO I=3,NXM1-1
AP(I)=AE(I)+AW(I)+A0(I)+SP(I)
END DO
...

As condições de contorno são refletidas nos coeficientes. Por exemplo, para a convecção na fronteira:
∂T
−k = h(T∞ − T )
∂x

6.5 Loop Principal de Simulação


CCCCCCCCCCCCCCCCCCCCCCC LOOP NO TEMPO CCCCCCCCCCCCCCCCCCCCCCCCCCC
C
T=0.0
DO IT=1,NT
T=T+DT
C DO I=1,NX
C PHI0(I)=PHI(I)
C END DO
DO I=1,NX
B(I)=S(I)+A0(I)*PHI(I)
END DO
C RESOLVER SISTEMA TRIDIAGONAL DE EQUACOES
CALL TDMA(PHI,AP,AE,AW,B,1,NX,NXP1)

C PRINT *,’ GIVE NI(20 <=100); x, time’


C READ(*,*) NI(NUMERO DE ITERAÇÕES),X(COORDENADA DO NÓ, X(I),Y(TTOT)
NI=10
SUM=0.0D0
DO II=1,NI
AI=AA(II)
BI=SIN(AI)/(AI+SIN(AI)*COS(AI))

7
6.6 Sub-rotina TDMA Método dos Volumes Finitos

SUM=SUM+BI*EXP(-AI**2*T)*COS(AI*X(IMON))
END DO
PHIT=SUM*T1*2.0
write(22,100) T,PHI(IMON),PHIT

END DO
...

O loop temporal principal onde a temperatura é atualizada em cada passo:

T n+1 = T n + ∆t · f (T n+1 , tn+1 )

6.6 Sub-rotina TDMA


C ALGORITMO TDMA
C AP(I)*PHI(i) = AS(i).PHI(i-1) + AN(i).PHI(i+1) + SU(i)
SUBROUTINE TDMA(PHI,AP,AN,AS,SU,I1,IE,NC)
IMPLICIT REAL*8(A-H,O-Z)
PARAMETER(NMAX=1000)
DIMENSION A(0:NMAX),C(0:NMAX)
DIMENSION PHI(NC),AN(NC),AS(NC),SU(NC),AP(NC)
C
A(I1)=AN(I1)/AP(I1)
C(I1)=SU(I1)/AP(I1)
C loop ascendente: preparar P e Q (aqui A e C)
DO 1 I=I1,IE
DEN=1./(AP(I)-AS(I)*A(I-1))
A(I)=AN(I)*DEN
C(I)=(AS(I)*C(I-1)+SU(I))*DEN
1 CONTINUE
C loop descendente: obter a solucao
PHI(IE)=C(IE)
DO 2 II=I1,IE
I=IE-II+I1
PHI(I)=PHI(I+1)*A(I)+C(I)
2 CONTINUE
RETURN
END
...

A sub-rotina TDMA resolve o sistema de equações lineares tridiagonais.

AP (i) · P HI(i) = AS(i) · P HI(i − 1) + AN (i) · P HI(i + 1) + SU (i)

6.7 Cálculo e Escrita de Erros


C ESCREVER RESULTADOS FINAIS PARA FICHEIRO DE DADOS
ERRO=0.0
DO I=1,NX

8
Método dos Volumes Finitos

C solucao teorica (caso de Sc constante) ** para casos diferentes, MUDAR **

C PRINT *,’ GIVE NI(20 <=100); x, time’


C READ(*,*) NI(NUMERO DE ITERAÇÕES),X(COORDENADA DO NÓ, X(I),Y(TTOT)
NI=10
SUM=0.0D0
DO II=1,NI
AI=AA(II)
BI=SIN(AI)/(AI+SIN(AI)*COS(AI))
SUM=SUM+BI*EXP(-AI**2*TTOT)*COS(AI*X(I))
END DO
PHIT=SUM*T1*2.0
C calcular erro (diferenca entre solucao numerica e teorica)
ERRO=ERRO+ABS(PHI(I)-PHIT)
C escrever no ecran
WRITE(*,*) X(I),PHI(I),PHIT
C escrever no ficheiro de dados com numero 10: eomplo.dat
WRITE(10,100) X(I),PHI(I),PHIT
END DO
C erro medio
ERRO=ERRO/FLOAT(NXM2)
WRITE(23,100) DX,ERRO,DT
PRINT *,’ ERRO TOTAL=’,ERRO
100 FORMAT(20(1PE13.4))
STOP
END
..

Aqui dá-se o Cálculo do erro entre a solução numérica e a teórica, e escrita dos resultados.
N
X
Error = |Tsimulated,i − Tanalytical,i |
i=1

7 Resultados da Simulação
7.1 ∆t = 0.005
Nesta secção todos os gráficos foram obtidos para um TTOT de 1, um número de saltos no
tempo de 200 e um número de nós respetivamente 12, 22, 42, 82 e 162.

9
7.1 ∆t = 0.005 Método dos Volumes Finitos

7.1.1 Ao longo da Posição

Figure 2: NX=12; (Fonte: MATLAB).

Figure 3: NX=22; (Fonte: MATLAB).

10
7.1 ∆t = 0.005 Método dos Volumes Finitos

Figure 4: NX=42; (Fonte: MATLAB).

Figure 5: NX=82; (Fonte: MATLAB).

11
7.1 ∆t = 0.005 Método dos Volumes Finitos

Figure 6: NX=162; (Fonte: MATLAB).

7.1.2 Ao longo do tempo

Figure 7: NX=12; (Fonte: MATLAB).

12
7.1 ∆t = 0.005 Método dos Volumes Finitos

Figure 8: NX=22; (Fonte: MATLAB).

Figure 9: NX=42; (Fonte: MATLAB).

13
7.2 Erro Método dos Volumes Finitos

Figure 10: NX=82; (Fonte: MATLAB).

Figure 11: NX=162; (Fonte: MATLAB).

7.2 Erro
Nesta secção, aprimoramos o estudo do erro, tendo sido para esse efeito simulado para vários
nós, respetivamente 12, 22, 42, 82 e 162. Assim permitiu-nos estudar a sua evolução consoante o
número de nós.

14
7.3 ∆t = 0.01 Método dos Volumes Finitos

Figure 12: evolução do erro ao longo do incremento de nós na malha; (Fonte: MATLAB).

7.3 ∆t = 0.01
Nesta secção todos os gráficos foram obtidos para um TTOT de 2, um número de saltos no
tempo de 200, e um número de nós respetivamente 12, 22, 42, 82 e 162.

7.3.1 Ao longo da Posição

Figure 13: NX=12; (Fonte: MATLAB).

15
7.3 ∆t = 0.01 Método dos Volumes Finitos

Figure 14: NX=22; (Fonte: MATLAB).

Figure 15: NX=42; (Fonte: MATLAB).

16
7.3 ∆t = 0.01 Método dos Volumes Finitos

Figure 16: NX=82; (Fonte: MATLAB).

Figure 17: NX=162; (Fonte: MATLAB).

17
7.3 ∆t = 0.01 Método dos Volumes Finitos

7.3.2 Ao longo do tempo

Figure 18: NX=12; (Fonte: MATLAB).

Figure 19: NX=22; (Fonte: MATLAB).

18
7.3 ∆t = 0.01 Método dos Volumes Finitos

Figure 20: NX=42; (Fonte: MATLAB).

Figure 21: NX=82; (Fonte: MATLAB).

19
7.4 Erro Método dos Volumes Finitos

Figure 22: NX=162; (Fonte: MATLAB).

7.4 Erro

Figure 23: evolução do erro ao longo do incremento de nós na malha; (Fonte: MATLAB).

Os gráficos demonstram uma consistência notável entre as temperaturas simuladas e as analíticas


em diversas discretizações espaciais, refletindo a precisão do modelo de simulação pelo método dos
volumes finitos. A sobreposição quase exata das curvas para diferentes números de nós indica que o
modelo é eficiente e estável, independentemente do grau de refinamento da malha. Estes resultados

20
Método dos Volumes Finitos

significam uma convergência adequada da simulação, afirmando a aplicabilidade do método em


cenários práticos e/ou reais.

8 Discussão de Resultados
8.1 Distribuição da Temperatura ao Longo da Posição:
A figura 3 demonstra como a temperatura se distribui ao longo da barra com um número fixo
de nós na malha. A correlação observada pode ser discutida em termos da teoria de condução de
calor, onde se esperaria um perfil de temperatura característico baseado nas condições de contorno
e propriedades do material. A precisão desses resultados pode ser influenciada pelo número de
nós, onde uma malha mais fina geralmente oferece uma resolução melhor e uma aproximação mais
próxima da realidade física.
No entanto a figura 14 apresenta como a discretização espacial afeta o perfil de temperatura num
tempo total de simulação (TTOT) fixo. Com um ∆t de 0.01, o resultado esperado é um gradiente
de temperatura mais suave comparado com passos de tempo menores se o método numérico for
estável. O aumento do TTOT influencia a duração do estado transiente, levando a um perfil de
temperatura mais ou menos acentuado dependendo se o sistema alcançou um estado estacionário.

8.2 Evolução da Temperatura ao Longo do Tempo:


A figura 8 relativa ao tempo mostra como a temperatura evolui dentro da barra à medida que
o tempo progride. A discussão aqui pode se centrar na convergência da solução numérica ao longo
do tempo e como ela se aproxima da solução analítica esperada.
Sendo que na figura 8 o foco seria em como a temperatura numa certa posição muda à medida
que a simulação avança. Na figura 19 podemos observar como um TTOT aumentado permite a
observação da aproximação do sistema em direção ao equilíbrio. Se a figura mostra uma estabilização
da temperatura ao longo do tempo, sugeriria que o tempo de simulação foi suficiente para o sistema
alcançar um estado estável. Inversamente, se a temperatura continua a mudar significativamente,
poderia indicar que ou o TTOT precisa ser estendido ou o tamanho do passo de tempo deveria ser
reavaliado para precisão e estabilidade. [2]

21
8.3 Influência do TTOT na Análise de Erro: Método dos Volumes Finitos

8.3 Influência do TTOT na Análise de Erro:

Figure 24: Comparação da evolução do erro; (Fonte: MATLAB).

A análise do erro conforme representado neste gráfico 24 sugere uma diminuição significativa do
erro com o aumento do número de nós para ∆t = 0.005, indicado pela linha azul. Este padrão é
esperado na teoria de simulação numérica, onde um aumento na resolução espacial (maior número
de nós) leva a uma aproximação mais precisa da realidade física. No entanto, a linha vermelha,
representando Deltat = 0.01, mostra que a redução do erro se estabiliza após um certo ponto,
sugerindo que a resolução temporal é um fator limitante na precisão da simulação. Isso indica que
para uma discretização temporal maior, o refinamento espacial adicional proporciona um benefício
decrescente no erro médio. [5]

9 Conclusão
O presente trabalho compreende uma avaliação abrangente do método dos volumes finitos implíc-
itos aplicado a problemas de condução de calor transitórios. Destaca a importância do refinamento
da malha e da seleção do passo de tempo na precisão da simulação. Investiga-se profundamente
o comportamento de convergência ao longo do tempo, sublinhando a fiabilidade. A análise da
dinâmica de erro esclarece ainda mais a interação entre a discretização espacial e a resolução tem-
poral. As conclusões deste estudo sublinham a confiabilidade do método e o seu papel fundamental
nas análises térmicas de precisão.

10 Anexos
C
PROGRAM EXEMPLB
IMPLICIT REAL*8(A-H,O-Z)
C

22
Método dos Volumes Finitos

C PARA RESOLVER EQ. DA CONDUCAO DO CALOR 1D


C ** MALHA TIPO-B **
PARAMETER(NMAX=1000)
C dimensionar arrays (matrizes unidimensionais)
DIMENSION PHI(NMAX),AP(NMAX),AE(NMAX),AW(NMAX),B(NMAX),A0(NMAX),
+ S(NMAX),X(NMAX),SP(NMAX), AA(NMAX)
C abrir ficheiros de dados
OPEN(20,FILE=’ytan.dat’)
DO II=1,100
READ(20,*) AA(II)
END DO
CLOSE(20)

OPEN(10,FILE=’exemplo.dat’)
OPEN(22,FILE=’exemplot.dat’)
OPEN(23,FILE=’erro.dat’,ACCESS=’APPEND’)
C ler dados do ecran (por exemplo, N=no. no’s malha)
PRINT *,’ DAR: Numero de nos na malha, NX’
READ(*,*) NX
C Número de passos no tempo, NT (nota: TEMPO TOTAL = NT*DT)
PRINT *,’ DAR: tempo total, TTOT’
READ(*,*) TTOT
C Tamanho do passo no tempo, DT
PRINT *,’ DAR: Numero de passos no tempo, NT’
READ(*,*) NT
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C DADOS DE PARTIDA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C Tamanho do passo no tempo, DT
DT=TTOT/FLOAT(NT)
C comprimento da barra
XTOT=1.0
C temperatura inicial (t=0)
PHIINI=1.0
C densidade
DEN=1.0
C calor especifico
CP=1.0
C condutibilidade termica
AK=1.0
C parte constante do termo fonte (S=Sc+Sp*Phi)
SC=0.0
SPP=0.0
C
PI=4.D0*DATAN(1.D0)
T1=1.0
IMON=1
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

23
Método dos Volumes Finitos

C CALOR IMPOSTO, Qb
Qb=0
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C COEFICIENTE CONVECTIVO, Hf
Hf=1.0
C TEMPERATURA DO FLUIDO ADJACENTE, Tf
Tf=0.0
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

C preparar malha
DX=XTOT/FLOAT(NX-2)
NXM1=NX-1
NXM2=NX-2
NXP1=NX+1
DO I=1,NX
X(I)=(I-1)*DX-DX/2.
END DO
X(1)=0.0
X(NX)=XTOT
C PREPARAR COEFICIENTES INTERIORES
DO I=3,NXM1-1
S(I)=SC*DX
SP(I)=SPP*DX
AE(I)=AK/DX
AW(I)=AK/DX
A0(I)=DEN*CP*DX/DT
END DO
C CONDICOES INICIAIS
DO I=2,NXM1
PHI(I)=PHIINI
END DO
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C CÁLCULO DOS COEFICIENTES AE, AW, AP E DO TERMO FONTE "S"
C PARA OS NÓS DA FRONTEIRA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C FRONTEIRA 1
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CONVECÇÃO CCCCCCCCCCCCCCCCCCCCCCCC
AE(1)=AK/(DX/2.)
AW(1)=0.
A0(1)=0.
C CASO DE Qb DEFINIDO POR Hf E Tf
C AP(1)=AE(1)+AW(1)+A0(1)+SP(1)+Hf
C S(1)=Hf*Tf
C CASO DE Qb DADO
AP(1)=AE(1)+AW(1)+A0(1)+SP(1)
S(1)=Qb
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

24
Método dos Volumes Finitos

C FRONTEIRA NX
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CONVECÇÃO CCCCCCCCCCCCCCCCCCCCCCCC
AE(NX)=0.
AW(NX)=AK/(DX/2.)
A0(NX)=0.
C CASO DE Qb DEFINIDO POR Hf E Tf
AP(NX)=AE(NX)+AW(NX)+A0(NX)+SP(NX)+Hf
S(NX)=Hf*Tf
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
C CÁLCULO DOS COEFICIENTES AE, AW, AP E DO TERMO FONTE "S"
C PARA OS NÓS ADJACENTES AOS DA FRONTEIRA
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
AE(2)=AK/DX
AW(2)=AK/(DX/2.)
A0(2)=DEN*CP*DX/DT
AP(2)=AE(2)+AW(2)+A0(2)+SP(2)
S(2)=SC*DX
C
AE(NXM1)=AK/(DX/2.)
AW(NXM1)=AK/DX
A0(NXM1)=DEN*CP*DX/DT
AP(NXM1)=AE(NXM1)+AW(NXM1)+A0(NXM1)+SP(NXM1)
S(NXM1)=SC*DX
C Preparar coeficiente central
DO I=3,NXM1-1
AP(I)=AE(I)+AW(I)+A0(I)+SP(I)
END DO
CCCCCCCCCCCCCCCCCCCCCCC LOOP NO TEMPO CCCCCCCCCCCCCCCCCCCCCCCCCCC
C
T=0.0
DO IT=1,NT
T=T+DT
C DO I=1,NX
C PHI0(I)=PHI(I)
C END DO
DO I=1,NX
B(I)=S(I)+A0(I)*PHI(I)
END DO
C RESOLVER SISTEMA TRIDIAGONAL DE EQUACOES
CALL TDMA(PHI,AP,AE,AW,B,1,NX,NXP1)

C PRINT *,’ GIVE NI(20 <=100); x, time’


C READ(*,*) NI(NUMERO DE ITERAÇÕES),X(COORDENADA DO NÓ, X(I),Y(TTOT)
NI=10
SUM=0.0D0
DO II=1,NI
AI=AA(II)

25
Método dos Volumes Finitos

BI=SIN(AI)/(AI+SIN(AI)*COS(AI))
SUM=SUM+BI*EXP(-AI**2*T)*COS(AI*X(IMON))
END DO
PHIT=SUM*T1*2.0
write(22,100) T,PHI(IMON),PHIT

END DO
C
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C
C ESCREVER RESULTADOS FINAIS PARA FICHEIRO DE DADOS
ERRO=0.0
DO I=1,NX
C solucao teorica (caso de Sc constante) ** para casos diferentes, MUDAR **

C PRINT *,’ GIVE NI(20 <=100); x, time’


C READ(*,*) NI(NUMERO DE ITERAÇÕES),X(COORDENADA DO NÓ, X(I),Y(TTOT)
NI=10
SUM=0.0D0
DO II=1,NI
AI=AA(II)
BI=SIN(AI)/(AI+SIN(AI)*COS(AI))
SUM=SUM+BI*EXP(-AI**2*TTOT)*COS(AI*X(I))
END DO
PHIT=SUM*T1*2.0
C calcular erro (diferenca entre solucao numerica e teorica)
ERRO=ERRO+ABS(PHI(I)-PHIT)
C escrever no ecran
WRITE(*,*) X(I),PHI(I),PHIT
C escrever no ficheiro de dados com numero 10: eomplo.dat
WRITE(10,100) X(I),PHI(I),PHIT
END DO
C erro medio
ERRO=ERRO/FLOAT(NXM2)
WRITE(23,100) DX,ERRO,DT
PRINT *,’ ERRO TOTAL=’,ERRO
100 FORMAT(20(1PE13.4))
STOP
END
C*********************************************************************
C
C ALGORITMO TDMA
C AP(I)*PHI(i) = AS(i).PHI(i-1) + AN(i).PHI(i+1) + SU(i)
SUBROUTINE TDMA(PHI,AP,AN,AS,SU,I1,IE,NC)
IMPLICIT REAL*8(A-H,O-Z)
PARAMETER(NMAX=1000)
DIMENSION A(0:NMAX),C(0:NMAX)
DIMENSION PHI(NC),AN(NC),AS(NC),SU(NC),AP(NC)
C

26
Método dos Volumes Finitos

A(I1)=AN(I1)/AP(I1)
C(I1)=SU(I1)/AP(I1)
C loop ascendente: preparar P e Q (aqui A e C)
DO 1 I=I1,IE
DEN=1./(AP(I)-AS(I)*A(I-1))
A(I)=AN(I)*DEN
C(I)=(AS(I)*C(I-1)+SU(I))*DEN
1 CONTINUE
C loop descendente: obter a solucao
PHI(IE)=C(IE)
DO 2 II=I1,IE
I=IE-II+I1
PHI(I)=PHI(I+1)*A(I)+C(I)
2 CONTINUE
RETURN
END

27
References
[1] C.K. Chou, C.T. Wu, L.H. Shen, and D.L. Young. The application of upwind meshless approx-
imation finite volume method to the convection dominated problems on the unstructured and
deformed meshes. Engineering Analysis with Boundary Elements, 155:717–737, 2023.

[2] Xiangyu Li, Kun Cheng, Tao Huang, and Sichao Tan. Research on neutron diffusion equation
and nuclear thermal coupling method based on gradient updating finite volume method. Annals
of Nuclear Energy, 195:110158, 2024.

[3] Yu Liu, Luguo Liu, Wenjing Zhou, and Jinjia Wei. A study of convective heat transfer by using
the hybrid md-fvm method. Journal of Molecular Liquids, 340:117178, 2021.

[4] J. N. Reddy, N. K. Anand, and P. Roy. Finite Element and Finite Volume Methods for Heat
Transfer and Fluid Dynamics. Cambridge University Press, 2022.

[5] Neaman Sohrabi, Karrar A. Hammoodi, Ahmad Hammoud, Dheyaa J. Jasim, Seyed Hossein
Hashemi Karouei, Javad Kheyri, and Hossein Nabi. Using different geometries on the amount of
heat transfer in a shell and tube heat exchanger using the finite volume method. Case Studies
in Thermal Engineering, page 104037, 2024.

Você também pode gostar