MN20 - ABCM

Propaganda
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.
Download