Universidade Federal do Paraná

Dinâmica de Fluidos Computacional I

Solução Numérica da Difusão de Calor 2D

Relatório do 2º Trabalho Computacional - Regime Permanente

Aluno: Romulo de Aguiar Beninca

1. Definição do Problema e Organização do Trabalho

O objetivo deste trabalho é desenvolver um código computacional para resolver a equação de difusão de calor bidimensional em regime permanente, utilizando o Método de Volumes Finitos (MVF). Conforme especificado na tarefa, o problema físico consiste em uma placa quadrada unitária onde a temperatura é prescrita na face superior, enquanto as demais faces são mantidas a $0^\circ C$.

Este relatório está organizado de maneira a apresentar a metodologia e os resultados de forma estruturada:

Definição do Problema e Dados

Figura 1: Definição dos parâmetros de malha ($N=13$) e equações iniciais.

2. Desenvolvimento Matemático (Dedução)

2.1. Interpretação Física e Malha

A discretização espacial é realizada dividindo o domínio em volumes de controle. O comportamento esperado é um fluxo de calor partindo da região de maior temperatura (fonte senoidal) em direção às regiões mais frias ($0^\circ C$).

Esquema Gráfico da Placa

Figura 2: Interpretação física e esquema da malha com nomenclatura dos pontos cardeais (P, N, S, E, W).

2.2. Discretização para Volumes Internos

Para os volumes de controle internos, onde não há contato direto com as bordas prescritas, aplicamos o balanço de energia considerando condutividade constante e malha uniforme ($\Delta x = \Delta y$). Isso resulta na simplificação onde a soma dos coeficientes vizinhos é igual ao coeficiente central.

Dedução Volumes Internos

Figura 3: Dedução da equação para nós internos, resultando na média aritmética dos 4 vizinhos.

2.3. Tratamento da Condição de Contorno

Para tratar a condição de contorno prescrita (fonte de calor), utiliza-se a técnica de volumes fictícios

Dedução Borda

Figura 4: Dedução do coeficiente modificado (divisor 5) utilizando volumes fictícios (Adaptação para o problema atual).

2.4. Resumo do Algoritmo (Gauss-Seidel)

Para a solução do sistema de equações algébricas, optou-se pelo método iterativo de Gauss-Seidel. O algoritmo varre a malha atualizando a temperatura $T_P$ com base nos valores mais recentes dos vizinhos.

Resumo Gauss Seidel

Figura 5: Resumo das equações iterativas implementadas no código para varredura do domínio.

2.5. Solução Analític

Para fins de validação dos resultados numéricos, deduziu-se a solução exata da equação nas condições de contorno apresentadas. O método utilizado foi a Separação de Variáveis, assumindo que $T(x,y) = X(x)Y(y)$.

O processo inicia-se dividindo a EDP em duas EDOs e aplicando as condições homogêneas nas bordas $x=0$, $x=1$ e $y=0$.

Solução Analítica - Início

Figura 6: Início da dedução analítica: separação de variáveis e aplicação das condições de contorno homogêneas.

Em seguida, determina-se os autovalores $\lambda_n$ e as autofunções associadas para $X(x)$ e $Y(y)$, resultando em uma solução na forma de série infinita.

Solução Analítica - Autovalores

Figura 7: Determinação dos autovalores e da solução geral em série.

Por fim, aplica-se a condição de contorno não-homogênea na face superior ($T(x,1) = \text{sen}(\pi x)$) para encontrar os coeficientes da série. Devido à natureza da função seno, a série colapsa em um único termo (modo fundamental $n=1$).

Solução Analítica - Final

Figura 8: Aplicação da condição da face superior e obtenção da equação final fechada.

3. Correspondência Algébrica vs. Implementação

A implementação utiliza JavaScript puro. A tabela abaixo relaciona as equações deduzidas com a lógica de código utilizada no loop iterativo:

Tipo de Volume Expressão Algébrica (Dedução) Lógica no Código (JS)
Interno
(Longe da borda superior)
$$ T_P^{(k+1)} = \frac{T_E^{(k)} + T_W^{(k+1)} + T_N^{(k)} + T_S^{(k+1)}}{4} $$
T[i][j] = (T[i+1][j] + T[i-1][j] + T[i][j+1] + T[i][j-1]) / 4.0
Borda Superior
($j = Ny-1$)
$$ T_P = \frac{T_E + T_W + T_S + 2\text{sen}(\pi x)}{5} $$
fonte = 2.0 * Math.sin(Math.PI * x)
T[i][j] = (T[i+1][j] + T[i-1][j] + T[i][j-1] + fonte) / 5.0

4. Resultados da Simulação

Painel de Controle

4.1. Campo de Temperatura (Visualização)

Distribuição de temperatura na placa. O gradiente parte da face superior (quente) para as demais faces (frias).

4.2. Convergência e Monitoramento (Item 1 do trabalho)

Variação da temperatura no ponto central $T(0.5, 0.5)$ e do erro máximo a cada iteração.

4.3. Perfil Horizontal em $Y=0.5$ (Itens 4 e 5)

Comparação entre solução numérica e analítica ao longo da linha central horizontal.

Tabela Saida em X

Esta tabela exibe os dados do Perfil Horizontal cortando a placa exatamente no meio ($Y = 0.5$).O que ela mostra: A variação da temperatura da esquerda para a direita ($0 \le x \le 1$) na altura média da placa.

4.4. Perfil Vertical em $X=0.5$ (Itens 2 e 3)

Comparação entre solução numérica e analítica ao longo da linha central vertical.

Tabela Saida em Y

Esta tabela exibe os dados do Perfil Vertical cortando a placa exatamente no meio ($X = 0.5$).O que ela mostra: A variação da temperatura de baixo para cima ($0 \le y \le 1$) na largura média da placa.

4.5. Médias e Taxas de Transferência (Itens 6, 7 e 8)

Item 6: Temperatura Média da Placa
Calculando...
Item 7: Taxa de Calor no Contorno Leste (Resfriado)
Calculando...
Item 8: Taxa de Calor no Contorno Norte (Fonte)
Calculando...

5. Listagem do Programa (Item 9)

Código JavaScript completo utilizado para a simulação, traduzido e comentado.

// O código será inserido aqui dinamicamente