ILHA SOLTEIRA XII Congresso Nacional de Estudantes de Engenharia Mecânica - 22 a 26 de agosto de 2005 - Ilha Solteira - SP Paper CRE05-MN20 pySOLVER - APLICATIVO EM PYTHON PARA SOLUÇÃO DE PROBLEMAS DIFUSIVOS POR MEIO DO MÉTODO DE ELEMENTOS FINITOS Emanuel R. Woiski, Cassio R. M. Maia, Marcos A. de S. Lourenço, Rafael S. de Lima UNESP, Faculdade de Engenharia de Ilha Solteira, Departamento de Engenharia Mecânica Av. Brasil, 56, Bairro Centro, Caixa Postal 31, CEP 15385-000, Ilha Solteira, SP E-mail para correspondência: [email protected] 1. Introdução O Método dos Elementos Finitos é um dos métodos clássicos mais utilizados na solução de problemas do tipo difusivo-convectivos. Esse sucesso se deve principalmente à possibilidade da sua aplicação na presença de contornos com geometrias não regulares e à crescente melhoria da capacidade de processamento dos microcomputadores. Por outro lado, uma forma bastante utilizada de se tratar problemas do tipo parabólico é através da solução da parte parabólica da equação por meio do Método de Diferenças Finitas. Este método, embora não apropriado para aplicações em domínios curvos ou irregulares, é de simples implementação, pois aproxima as derivadas nas equações diferenciais governantes usando equações de diferenças. Por causa do aumento da capacidade e velocidade de processamento dos microcomputadores, são cada vez mais empregadas, para facilitar a programação e como interface para códigos de mais baixo nível como C, as modernas linguagens de altíssimo nível, que em geral são interpretadas, de altíssimo nível, multiplataforma e de código aberto. Python é uma linguagem de aplicação geral, de sintaxe clara e com uma extensa biblioteca de códigos. Possuindo ainda uma rica biblioteca e várias ferramentas de processamento numérico, aliadas a facilidade de criação de interfaces gráficas, seja para flexibilização da entrada de dados, quanto para a visualização de resultados, Python foi a linguagem escolhida para a construção do aplicativo pySolver. Embora o código desenvolvido permita, até o presente momento, a obtenção da solução para uma classe limitada de problemas de natureza elíptica e parabólica, pySolver já dispõe de uma interface gráfica para entrada de dados, com a possibilidade de se desenhar perfis elípticos e retangulares e de se selecionar o tipo e o valor das condições de contorno. Para a triangularização dos domínios, utilizou-se a biblioteca de código aberto denominada Triangle, na forma de um módulo em Python, com a qual se produz, no domínio, uma malha de triângulos não regulares baseada no método de triangularização de Delaunay. Para validação do aplicativo, considerou-se para análise o problema bidimensional difusivo transiente de transferência de calor num cilindro infinito de seção transversal retangular, com propriedades termofísicas constantes, perfil de temperatura inicial uniforme e condições de temperatura prescrita no contorno. Este problema foi selecionado, tendo em vista a possível obtenção da sua solução por técnicas analíticas ou semi-analíticas. 2. Metodologia A equação de difusão bi-dimensional transiente é dada como: D x ∂ 2φ + D ∂x 2 y ∂ 2φ ∂φ − Gφ + Q = λ 2 ∂y ∂t (1) No aplicativo, é possível entrar com os parâmetros da seguinte equação: − div (k (T ) ⋅ grad (T )) + G ⋅ T = F (2) para solução do termo permanente, onde F representa o termo fonte e T o termo potencial. Para solução da parte transiente é possível controlar o valor do passo Δt no tempo e espaço, o número de iterações no tempo e o valor do campo de temperaturas no instante inicial. Na Equ. (3) ilustra-se a forma de como é controlado o passo Δt selecionando o valor do parâmetro ε . ⎛ − 1.0 ⎞ Δt = Δt + exp⎜ + Δt ⎟ ⎝ ε ⎠ (3) Com relação às condições de contorno, é possível, após a seleção dos pontos no domínio por meio de uma interface gráfica, escolher entre uma condição de primeiro tipo ou de Dirichlet, condição de segundo tipo ou de Neumann, ou condição de contorno de terceiro tipo ou condição de contorno de Robin. Resultados Na Fig. 1se ilustra a criação do domínio para o problema proposto e a escolha da condição de contorno. Figura 1 – Interface para criação do domínio Os decaimentos da temperatura média e da temperatura máxima são apresentados na Fig. 2. Figura 2 – Comportamento da temperatura máxima com τ Conclusões Neste trabalho foi apresentado o aplicativo pySolver criado com a linguagem de programação Python. Tal aplicativo permite a solução de equações de tipo elíptico e parabólico de maneira rápida e simples. Verificou-se uma excelente concordância entre os valores dos resultados e os valores da respectiva solução analítica para o problema considerado. Por ser de código aberto o aplicativo ainda pode ser modificado para entrar com outros parâmetros ou resolver outros tipos de equações. É possível que isto seja feito sem muito esforço, uma vez que Python é uma linguagem de código altamente legível e de fácil manipulação. Referências Bibliográficas http://www.python.org, acessado quinta-feira, 7 de julho de 2005. http://www-2.cs.cmu.edu/~quake/triangle.html , acessado quinta-feira, 7 de julho de 2005. Larry J. S., “Applied Finite Element Analysis”, John Wyley & Sons, Segunda Edição, 1976.