Uma plataforma de

Simulações de problemas de condução de calor utilizando método das diferenças finitas em Python

Sobre

A CONDU.py é o resultado final de uma pesquisa de iniciação cientifica, nada mais é do que uma plataforma web onde os usuários podem aprender um pouco mais sobre fenômenos de condução de calor, como os mesmos são estudados através de equações diferenciais e como essas equações podem ser resolvidas com programação e com métodos matemáticos como o "Método das diferenças finitas". Utilizando o Python e algumas de suas bibliotecas, como o Django, MatPlotLib e Numpy, a CONDU.py traz textos explicativos sobre como essas coisas funcionam e também proporciona ferramentas de simulação de condução de calor em diversas situações, para tornar a experiência ainda mais imersiva.

Objetivos

1.

Criar algoritmos em Python que resolvam equações diferenciais de condução de calor em diferentes situações usando o método das diferenças finitas

2.

Criar uma plataforma web para que outras pessoas possam utilizar esses algoritmos simulando situações de condução de calor

3.

Colocar diversos textos e funcionalidades na plataforma a fim de criar uma ferramenta didática sobre os assuntos abordados

Como funciona?

Pra entender melhor como esse projeto funciona, podemos importante separa-lo em algumas partes, por exemplo, o que é a condução de calor, como esse fenômeno é estudado, como métodos numéricos podem auxiliar nesses estudos e como podemos utilizar o poder computacional pra facilitar todo o processo.

O que é condução de calor?

Condução de calor é um dos meios pelo qual o calor pode se propagar em um objeto, quando um objeto é aquecido a energia cinética das moléculas que o formam aumenta, fazendo com que a agitação das mesmas também aumente. Considerando que calor nada mais é do que a troca de energia entre dois corpos, a propagação de calor por condução acontece quando dois corpos em temperaturas diferentes estão em processo de atingir o equilíbrio térmico, processo que ocorre naturalmente através da transferência de energia térmica do mais quente para o mais frio por meio da agitação das moléculas que “perturbam” umas às outras à medida que a agitação aumenta. Além da condução, existem também a convecção térmica e a irradiação térmica, duas outras formas pelas quais é possível transferir calor de um corpo para outro.

O estudo da condução de calor

O fenômeno da condução de calor pode ser estudado de diversas maneiras, subdividindo-se em transiente e estacionário (com tempo envolvido e sem tempo envolvido) e dentro dessas classes considera-se se a condução está ocorrendo em três, duas ou uma dimensão. Normalmente são estudados casos de condução unidimensional a fim de melhorar o entendimento, porém é raro observar esse tipo de caso na vida real e portanto o estudo de casos de condução de calor bidimensional e tridimensional seriam mais realistas de certa forma, porém mais difíceis.

Normalmente os problemas envolvendo a condução de calor são problemas de valor de contorno ou problemas de valor inicial, onde podemos encontrar a solução de equações diferenciais que descrevem o comportamento desse fenômeno, a dificuldade dos problemas envolvendo condução bidimensional e tridimensional está nas resoluções analíticas muitas vezes muito complexas, exigindo o uso de métodos numéricos para facilitar a resolução.

Métodos numéricos

Métodos numéricos são um artificio muito utilizado a fim de simplificar problemas matemáticos muito complexos através de instruções e regras envolvendo operações aritméticas menos complexas e aplicadas em etapas repetitivamente, com o objetivo de encontrar soluções aproximadas para os problemas.

O método numérico utilizado neste projeto por exemplo, é o método das diferenças finitas, que por meio de discretização e séries de Taylor oferece aproximações dos valores da equação diferencial em pontos pré-definidos do domínio (discretização). Ou seja, o método é capaz de aproximar os valores das derivadas contidas na equação diferencial por meio de diferenças finitas, permitindo que se possa transformar a equação diferencial em um sistema de equações algébricas que pode ser resolvido de forma mais simples.

O problema é que isso não fornece valores exatos e sim valores aproximados, onde a precisão está ligada diretamente a quantidade de pontos utilizados na discretização, sendo que quanto mais discretizado, melhor será a aproximação.

Onde entra o poder computacional?

Uma vez que é preciso uma grande quantidade de pontos na discretização para alcançar uma aproximação precisa dos valores, a resolução manual desses problemas fica extensa demais, é nesse ponto que se pode utilizar de programas de computador, capazes de realizar várias contas rapidamente, acelerando o processo. Neste caso diversas linguagens de programação podem ser utilizadas, neste projeto optamos por utilizar a linguagem Python, principalmente por sua simplicidade e facilidade relativa perante outras linguagens, que vem de características em sua sintaxe e do fato dela ser open source, o que a torna a melhor escolha para aplicação didática dos algoritmos.

Simulações

Juntando tudo que já foi citado acima, chegamos finalmente nas simulações de condução de calor, onde serão abordados os algoritmos criados, como ocorreu seu desenvolvimento e também sua execução. Ao todo foram estudados seis cenários de condução de calor, em haletas para conduções unidimensionais, em placas retangulares para conduções bidimensionais e paralelepípedos para conduções tridimensionais, cada um em estado estacionário e transiente. Clicando nas opções abaixo é possível escolher qual dos cenários você gostaria de entender melhor, em cada opção será possível realizar uma simulação, colocando os dados iniciais o algoritmo vai retornar um gráfico da distribuição de temperatura dentro do objeto e além disso, cada opção conta com textos explicativos sobre o desenvolvimento das equações por trás do código.