Solução do equação do calor
utilizando o método dos volumes finitos
para problemas unidimensionais. Objetivo é a comparação de uma implementação simples de volume finitos em diversas linguagem diferentes.
- Fortran
- Python (puro)
- Python (numpy)
- C++
A equação diferencial resolvida é:
onde é a temperatura é a massa específica é o calor específico a pressão constante é o coeficiente de difusçao de calor.
A dimensão da domínio é 50 unidades. Todas as propriedades fisicas são consideradas como unitárias. O passo de tempo utilizado da integração temporal foi de 5.0 unidades de tempo. O domínio foi discretizado em 100 células.
- Condições de contorno
- Condição inicial
Fig1 - Caso com Temperatura prescrita.
- Condições de contorno
- Condição inicial
Fig2 - Caso com fluxo prescrito.
- Condições de contorno
- Condição inicial
Fig3 - Caso com fluxo convectivo.
A Tabela 1 mostra que o codigo em Fortran
e cerca de 100 vezes
mais rápido que a sua versão em Python
.
Tabela 1
nDiv | Fortran | Python | C++ |
---|---|---|---|
1.000 | 0.054 | 7.1844 | 0.0381 |
10.000 | 0.543 | 57.0355 | 0.407 |
100.000 | 4.970 | 566.2701 | 4.5165 |