Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos André Luiz Ferreira Pinto Pontifícia Universidade Católica do Rio de Janeiro – PUC-Rio Departamento de Engenharia Elétrica Rua Marquês de São Vicente, 225 – CEP 22451-900 – Rio de Janeiro, RJ e-mail: [email protected] Resumo: O Método dos Elementos Finitos é uma das grandes ferramentas no cálculo de estruturas, em especial na Engenharia Civil. Para tal, é necessário o emprego de grandes matrizes para a resolução do sistema e uma conseqüente necessidade de uma grande capacidade de processamento numérico. Para a redução do tempo de processamento, assim como do uso racional da infra-estrutura, faz-se necessária a utilização de métodos de armazenagem diferenciados e ajustados para o problema em questão. No trabalho aqui mostrado, esta armazenagem é feita com a técnica da matriz em perfil. Para uma melhora ainda mais significativa, é feita uma renumeração nodal. Para tal renumeração, no entanto, não há consenso sobre um algoritmo ótimo. Este trabalho tenta resolver tal problema através da utilização de Algoritmos Genéticos. Palavras-Chave: Algoritmos Genéticos, Otimização, Método dos Elementos Finitos, Armazenagem em Perfil Temos assim , onde , portanto uma aproximação . Conforme aumentamos o número de lados, é de se esperar que encontremos o valor exato de . 1. Introdução 1.2. O Método da Rigidez Direta 1.1. O que é um elemento finito? Podemos ter uma idéia geral do conceito de elemento finito olhando para um problema muito antigo: encontrar o perímetro de um círculo de raio , conforme a Figura , o problema é equivalente a achar o 1. Como valor de . Figura 1 - Discretização de um círculo Uma maneira aproximada de resolver este problema é inscrever um polígono regular de lados no círculo e tomar o perímetro do polígono. O termo Método dos Elementos Finitos, na verdade, identifica um leque de técnicas que possuem algumas características em comum. Duas subclassificações aplicáveis à mecânica estrutural são: Das variantes listadas, muita ênfase é dada à formulação dos deslocamentos e a solução por rigidez. Esta combinação é chamada Método da Rigidez Direta. Este método é de longe a implementação mais comum do Método dos Elementos Finitos. Em particular, todos os grandes programas comerciais de elementos finitos são baseados no Método da Rigidez Direta. Figura 2 – Exemplos de Elementos Finitos O elemento finito estrutural mais simples é a barra de treliça de dois nós, ilustrada na Figura 2-a. Talvez o elemento finito mais complicado (pelo menos em relação ao número de graus de liberdade) é o “bloco” tridimensional curvo, ilustrado na Figura 2-b. No entanto, uma das grandes vantagens do Método da Rigidez Direta é que ambos são tratados da mesma maneira. Para ilustrar os passos básicos deste método, será utilizada a estrutura simples da barra de treliça. Outra grande vantagem do Método da Rigidez Direta é a possibilidade de se trabalhar de forma matricial, permitindo uma fácil implementação computacional. 1.2.1. A formulação matricial é a força na direção correspondente a um deslocamento unitário na direção mantendo todos os outros iguais a zero. Percebe-se agora um fator muito importante: o tamanho da matriz . No caso simples da estrutura composta de barras de treliça da Figura 3, que possui três nós e dois graus de liberdade por nó (as translações horizontal e vertical), a matriz é de ordem 6. Nota-se que para estruturas reais com elementos com mais graus de liberdade e milhares de nós, necessita-se uma abordagem diferente. Nota: Haver uma matriz de rigidez global subentende a existência de uma matriz de rigidez “não-global”. Esta matriz é chamada de matriz de rigidez local e pode ser obtida para cada um dos elementos de modo similar à obtenção da global. No caso dos elementos finitos, se constrói a matriz global a partir das várias matrizes locais que se calculam, conforme será visto à frente. 1.2.2. Os passos Os passos necessários para o processamento do Método da Rigidez Direta são: a separação do modelo em elementos finitos para a obtenção das matrizes de rigidez locais (como na Figura 4), seguido da remontagem destas matrizes de rigidez locais na matriz global e subseqüente solução do problema. Figura 3 – Representação por Elementos Finitos As equações de rigidez globais relacionam as forças nodais da estrutura aos deslocamentos nodais da estrutura antes da especificação das condições de contorno, como mostrado na Figura 3. Por ser assumido o comportamento da treliça como linear, estas equações que conectam os componentes dos dois vetores devem ser relações lineares. Além disso, será assumido que se todos os deslocamentos desaparecerem, também desaparecerão as forças. Se ambas as suposições forem verdadeiras, a relação deve ser homogênea e expressa como: Figura 4 - Separação do modelo A solução consiste na aplicação das condições de contorno e na resolução do sistema linear para a obtenção dos deslocamentos nodais. 1.2.3. A implementação Para uma implementação prática do Método da Rigidez Direta deve-se levar em conta dois fatores-chave: A utilização de um Vetor de Incidência Cinemática, para o mapeamento entre os índices da matriz de rigidez local e da global; A armazenagem da matriz de rigidez levando-se em conta a simetria e a esparsidade da matriz. Ambos visam um menor dispêndio de memória, já que este pode se tornar um bottleneck no Método dos Elementos Finitos. Simplificadamente: 1.3. O problema Onde: é o vetor das forças nodais atuantes na estrutura; é a matriz de rigidez global; é o vetor de deslocamento nodais resultantes (ou graus de liberdade); Os elementos da matriz de rigidez global são chamados coeficientes de rigidez e tem a seguinte interpretação física: Dados os fatores-chave expostos no item anterior, todos os programas comerciais tentam otimizar seu código. Para o caso da armazenagem da matriz, um dos métodos muito utilizados é a armazenagem em perfil. Na armazenagem em perfil orientado a colunas (o mais usual), somente são armazenados os elementos a partir do primeiro elemento não-nulo até o último não-nulo de cada coluna, como visto na Figura 5. No caso de matrizes simétricas, pode-se ir somente até a diagonal principal. 108 3 120 2 1 2 ... 1 3 3 4 // // // // // nno ndesno nelm nnoelm etf Onde: Figura 5 – Exemplo de matriz de rigidez 1.3.1. Onde entra o Algoritmo Genético? Embora obtenhamos uma matriz esparsa, vemos que as colunas podem ter alturas variadas, ditas alturas efetivas. Mas, quanto controle temos sobre a altura da coluna? Sabe-se que cada elemento da matriz corresponde a uma interação entre dois graus de liberdade e que tais graus têm uma correspondência com a numeração nodal. Se pudermos rearranjar a numeração nodal de tal forma que os elementos não-nulos da matriz de rigidez se aproximem da diagonal principal, a altura das colunas pode ser diminuída consideravelmente. Todos os programas comerciais utilizam algum algoritmo de renumeração de nós, no entanto, não há consenso sobre um algoritmo ótimo. Por se tratar de um problema com espaço de busca muito grande, o emprego de algoritmos genéticos se encaixa perfeitamente. O presente trabalho busca encontrar a numeração nodal ótima para um dado problema. 2. é o número de nós da estrutura; é o número de graus de liberdade por nó; é o número de elementos da estrutura; é o número de nós por elementos; é o vetor de incidência cinemática e consiste de linhas, descrevendo as ligações de cada elemento com os nós. O primeiro item de cada linha é o número do elemento em questão e cada item seguinte corresponde a um dos nós nos quais este elemento se liga. 3.2. Experimento 1 Neste primeiro experimento foi modelado o pórtico da Figura 6. Os elementos são mostrados na Figura 7 e os nós na Figura 8. O gráfico evolutivo é dado pela Figura 9 e os dados do melhor indivíduo pela Figura 10. O Algoritmo Genético 2.1. A representação A modelagem do algoritmo empregou o framework GACOM utilizando representação baseada em ordem com um segmento. Este segmento possui genes, definido no arquivo de entrada de dados, e referente ao número de nós, ou seja, cada gene representa o número de um nó, que será permutado para se atingir a configuração ótima. Figura 6 - Estrutura do pórtico 2.2. A avaliação A avaliação consiste na utilização de um algoritmo que pesquisa a ordem da menor numeração de ponto nodal do elemento e calcula a altura efetiva de cada coluna e a subseqüente soma acumulada das alturas efetivas. Deve-se notar que o algoritmo calcula as alturas baseado na topologia do problema, e não por pesquisa exaustiva dos zeros na matriz, traduzindo em um ganho substancial em velocidade de execução. A avaliação se dá pela soma acumulada: quanto maior este valor, pior a avaliação. 3. Os experimentos 3.1. O arquivo de entrada de dados O arquivo de entrada de dados consiste em um arquivo de texto que segue o exemplo abaixo: Figura 7 - Elementos do pórtico Figura 8 - Nós do pórtico Figura 9 - Gráfico evolutivo Figura 11 - Estrutura da placa Figura 12 - Elementos da placa Figura 10 - Melhor indivíduo 3.3. Experimento 2 Neste segundo experimento foi modelada a placa da Figura 11. Os elementos são mostrados na Figura 12 e os nós na Figura 13. O gráfico evolutivo é dado pela Figura 14 e os dados do melhor indivíduo pela Figura 15. Figura 13 - Nós da placa Figura 14 - Gráfico evolutivo Figura 15 - Melhor indivíduo 4. Conclusões Algumas conclusões puderam ser tiradas com os experimentos realizados, demonstrando a eficácia da utilização do Algoritmo Genético neste tipo de problemas. Considera-se que foram encontrados resultados satisfatórios para as estruturas analisadas e o mais importante foi que soluções cada vez melhores foram encontradas conforme se aumenta o número de graus de liberdade da estrutura, dado que existem mais possibilidades de permutação da numeração nodal. 5. Referências Bibliográficas Felippa, Carlos A. Introduction to Finite Element Methods. Draft, Department of Aerospace Engineering Sciences at the University of Colorado at Boulder. 2004. Boulder, Colorado, USA.