Você está na página 1de 13

MAPEAMENTO TRANSFINITO TRIDIMENSIONAL

Antonio C. de O. Miranda* e Luiz F. Martha*


Departamento de Engenharia Civil e Grupo de Tecnologia em Computao Grfica (TeCGraf) Pontifcia Universidade Catlica do Rio de Janeiro (PUC-Rio) 22453-900 - Rio de Janeiro - RJ - Brazil e-mail: amiranda, lfm@civ.puc-rio.br, web page: http://www.tecgraf.puc-rio.br
*

Keywords: Mesh generation, 3D transfinite mapping . Abstract. This paper describes an algorithm for generating structured three-dimensional finite element meshes using transfinite mapping. This method performs a cubic spline blending of discrete cross-section meshes that are arbitrarely placed in space. Corresponding nodes along the cross-section meshes are identified and cubic spline curves are generated interpolating these nodes. The solid mesh is generated by creating nodes along the interpolating spline curves. The cross-section meshes must be equivalent in topology, but may have diferent size, shape, and orientation. One technique for automatic recognition of nodes and elements on the input cross-section meshes is presented. This technique is important because it provides the independency of the algorithm with respect to the data structure of the pre-processor used for generating the cross-section meshes.

Antonio C. de O. Miranda e Luiz F. Martha.

INTRODUCO

Tcnicas de construo de malhas de elementos finitos podem ser classificadas como malhas estruturadas e malhas no-estruturadas. Malhas estruturadas so aquelas que apresentam uma ordenao espacial uniforme com um arranjo topolgico pr-determinado. Por outro lado, as malhas no-estruturadas tm um ocupao espacial arbitrria. Dentro da construo de malhas estruturadas existem as tcnicas de mapeamento que possuem diversas aplicaes na modelagem de superfcies e slidos e na gerao de malhas de elementos finitos. Uma das tcnicas de mapeamento muito utilizada o sweep. Nesta tcnica, a gerao de superfcies ou slidos feita atravs do arrasto de uma seo transversal bidimensional (ou contorno no caso da gerao de superfcies) ao longo de uma trajetria no espao. O sweep mais simples o translacional, tambm chamado de extruso, em que o arrasto da rea feito ao longo de uma linha reta. De modo idntico, o sweep rotacional definido pela rotao de uma seo transversal em torno de um eixo. O sweep mais genrico pode ser definido por mudanas de tamanho, forma e orientao da seo transversal combinadas com um arrasto ao longo de uma trajetria tridimensional [1]. No trabalho de Gomes Coelho [2] so apresentadas algumas tcnicas de construo de malhas de superfcies que podem ser criadas a partir de curvas espaciais, incluindo o sweep. No contexto do trabalho de Gomes Coelho, o sweep para superfcies definido por duas curvas: uma define as sees transversais em cada passo e outra a trajetria de arrasto. A idia deste tipo de sweep pode ser estendida para a gerao de slidos. Um outro tipo mais genrico de gerao de malhas de superfcies utilizam as superfcies de Gordon [3] que interpolam um conjunto de curvas em duas direes. Um tipo de abordagem semelhante foi utilizado para gerar malhas slidas por interpolao entre sees transversais, conforme abordado por Fonseca [4], ou anteriormente por Peruchio [5]. A interpolao entre sees transversais utiliza uma spline cbica passando por cada ponto correspondente das sees. Gordon e Hall [6] definem esse tipo de construo de malha slida como Mapeamento Transfinito Tridimensional (MTT) e neste trabalho tambm ser tratado como tal. Este trabalho apresenta um procedimento de construo automtica de malhas slidas de elementos finitos atravs de mapeamento transfinito tridimensional, partindo-se de uma seqncia de sees transversais discretizadas que podem ter tamanho, forma e orientao distintas, mas que sejam topologicamente idnticas. Apresenta-se um algoritmo capaz de fazer o reconhecimento automtico dos pontos e elementos entre as sees transversais, de modo a torn-lo independente das estruturas de dados de pr-processadores e de como as sees transversais so criadas. A interpolao entre sees transversais feita atravs de curvas spline cbica. Havendo sees transversais topologicamente idnticas, o problema principal da construo da malha slida consiste na identificao e relacionamento dos pontos em cada seo transversal para que seja aplicada a tcnica de mapeamento transfinito tridimensional. A soluo desenvolvida neste trabalho foi feita introduzindo um ponto base em cada seo transversal, pertencente a esta, que permite o relacionamento dos pontos restantes. A idia bsica do algoritmo criar listas de arestas dos elementos de superfcie da seo transversal, a

Antonio C. de O. Miranda e Luiz F. Martha.

partir do ponto base, guardando os ndices inicial e final dos pontos (ns da seo transversal). Se as listas de arestas forem construdas de modo idntico para todas as sees transversais, possivel fazer a correlao dos pontos entre sees quando as listas de arestas forem percorridas de forma linear. Os elementos das sees transversais devem ser triangulares ou quadrilaterais, gerando, respectivamente, elementos pentaedrais e hexaedrais. 2 DESCRIO DO ALGORITMO Em muitas aplicaes de modelagem so conhecidas seqncias de sees transversais do objeto que se quer modelar. Este aspecto motiva a criao de procedimentos de construo do modelo a partir de suas sees transversais. Esta seo apresenta um procedimento de construo de malhas slidas atravs de MTT partindo-se de uma seqncia de superfcies discretizadas que podem ter tamanho, forma e orientao distintas, mas que devem ser topologicamente idnticas. O termo topologicamante idntica significa que as sees devem apresentar uma mesma ordenao espacial e ter o mesmo nmero de elementos, pontos, arestas internas e externas. A construo da malha slida se resume em: dado um conjunto de sees transversais discretizadas, criar sees transversais intermedirias e depois relacion-las para a gerao dos elementos slidos. Entre cada par de sees transversais fornecidas pode-se ou no gerar um nmero especfico de sees transversais intermedirias. 2.1 Reconhecimento dos Pontos das Sees Transversais Nesta seo descreve-se o algoritmo para fazer o relacionamento entre os pontos das sees transversais. Os seguintes dados so indispensveis ao algoritmo (vide Figura 1): Uma srie de sees transversais que no se interceptam, discretizadas em elementos triangulares ou quadrilaterais. Pontos bases conhecidos em cada seo transversal no qual uma curva spline ir percorrer. O ponto base deve se situar no contorno da seo transversal. O primeiro passo do algoritmo consite em orientar todas as sees transversais em uma mesma direo com respeito curva spline. A idia bsica do algoritmo criar listas de arestas guardando os ndices inicial e final dos pontos (ns) das arestas para cada seo transversal. Se as listas de arestas forem construdas de modo idntico para todas as sees transversais, possvel fazer a correlao dos pontos entre sees quando as listas de arestas forem percorridas de forma linear. A construo de cada lista de arestas segue os seguintes passos: (a) identificar o elemento que inicia a construo da lista de arestas; (b) adicionar lista de arestas as arestas do elemento inicial; e (c) construir o restante da lista de arestas percorrendo os elementos adjacentes ao elemento inicial, seguindo recursivamente para os outros elementos adjacentes.

Antonio C. de O. Miranda e Luiz F. Martha.

Figura 1 - Sees transversais de um modelo slido. 2.1.1 Escolha do Elemento Inicial A partir do ponto base feita a escolha de um elemento que inicia a construo da lista de arestas. Quando o ponto base possui apenas um elemento adjacente, esse elemento escolhido automaticamente. Caso o ponto base tenha mais de um elemento adjacente escolhe-se o elemento que possui uma de suas arestas pertencentes ao contorno da seo com o ponto base identificado como inicial (i) nessa aresta. A Figura 2 ilustra um exemplo para a escolha do elemento inicial. H trs elementos adjacentes ao ponto base: a, b e c. Dois elementos tm arestas de contorno (a e c). Apenas o elemento c tem o ponto base identificado como ponto inicial na aresta de contorno do elemento. O elemento c ento escolhido como inicial.

Figura 2 - Escolha do elemento inicial para lista de arestas. Em sees transversais que so topologicamente idnticas, mas com os pontos base identificados em posies incoerentes geometricamente, possvel que os elementos gerados

Antonio C. de O. Miranda e Luiz F. Martha.

sejam invlidos. Neste trabalho feito um teste para diminuir a possibilidade de elementos invlidos comparando-se o nmero de elementos adjacentes ao ponto base em cada seo transversal. Caso estes sejam diferentes o processo no segue. A Figura 3 ilustra esse caso. Mesmo considerando sees transversais idnticas topologicamente, os elementos gerados segundo o MTT podem ser invlidos geometricamente (auto-interseo, por exemplo). Tais situaes devero ser identificadas com testes a posteriori.

Figura 3 - Pontos base selecionados em posies incoerentes. 2.1.2 Construo da Lista de Arestas A partir do elemento inicial escolhido em cada seo transversal faz-se a construo da lista de arestas para cada seo. A lista de arestas inicializada com as arestas do elemento inicial, segundo a conectividade deste elemento. A aresta que fica no topo da lista deve pertencer ao contorno e possuir o ponto base identificado como inicial. Esta escolha garante a validade topologica dos elementos gerados, conforme descrito mais adiante. A Figura 4 ilustra a construo de uma lista de arestas para um elemento inicial.

Figura 4 - Lista de arestas para o elemento inicial. As arestas includas na lista so marcadas para evitar repeties. As inseres seguintes na lista de arestas obedecem os seguintes passos: (a) A aresta no topo da lista se torna a aresta corrente.

Antonio C. de O. Miranda e Luiz F. Martha.

(b) O elemento adjacente aresta corrente o prximo a ser visitado. (c) As arestas adjacentes no marcadas por elementos j visitados so includas no final da lista de arestas. (d) A aresta corrente passa a ser a prxima aresta na lista de arestas e o processo retomado a partir de (b). Quando todos os elementos tiverem sido visitados, e todas as arestas includas na lista de arestas, o processo termina. O processo repetido para todas as sees transversais produzindo assim um conjunto de listas de arestas construdas de modo idntico. A Figura 5 ilustra uma seo discretizada em quatro elementos quadrilaterais. O ponto base o ponto identificado como 7. O elemento 3 o inicial. A seqncia de arestas obtida segundo os passos descritos a seguinte: k, i, f, h, l, j, g, d, a, c, e e b. Com a seqncia de arestas obtida para todas as sees transversais, identificando tambm se a aresta de contorno ou interna, possvel fazer um teste de consistncia entre sees. Esse teste feito comparando o nmero de arestas de contorno e internas entre as sees transversais. Caso no ocorra igualdade entre os nmeros de arestas significa que as sees no so topologicamente idnticas, no sendo possvel continuar com o algoritmo. As arestas do contorno de uma malha de seo transversal so identificadas por terem somente um elemento adjacente. As arestas do interior tm dois elementos adjacentes.

Figura 5 - Exemplo para construo da lista de arestas. 2.1.3 Obteno dos Pontos a partir da Lista de Arestas Os ndices dos vrtices de cada aresta descrita na seo anterior contm a informao topolgica necessria obteno da seqncia de pontos de cada seo transversal. A seqncia de pontos pode ser obtida percorrendo-se a lista de arestas do incio ao fim, pesquisando-se os pontos da aresta corrente que ainda no foram inseridos em um vetor de pontos (ou em outra estrutura que permita armazenar os pontos seqencialmente). No fim do processo tem-se uma seqncia de pontos para uma determinada seo transversal. Para o exemplo da Figura 5 tem-se a seguinte seqncia de pontos: 7, 8, 5, 4, 9, 6, 2, 1 e 3. Para todas as sees transversais so obtidos vetores de pontos que so seqncias de pontos montados a partir das listas de arestas. Desta forma, a correlao entre os pontos em cada seo transversal dada pelo ndice no vetor.

Antonio C. de O. Miranda e Luiz F. Martha.

2.2 Interpolao Cada conjunto de vrtices identificados pelo ndice define uma trajetria poligonal usada para interpolar uma curva spline cbica por trechos [2,7]. Esta representao de curva contnua permite calcular os pontos das sees transversais intermedirias. Esta formulao tambm permite que se subdivida as curvas da forma desejada, com trechos igualmente espaados ou com uma razo qualquer definida a priori. 3 IMPLEMENTAO E EXEMPLOS

O algoritmo anteriormente descrito foi incorporado em uma biblioteca computacional que inclui alguns outros algoritmos geradores de malhas desenvolvidos por outros trabalhos. Os objetivos no desenvolvimento desta biblioteca foram: Disponibilizar os algoritmos para programas que necessitem de malhas de elementos finitos; Tornar os algoritmos independentes dos programas de pr-processamento; Permitir a programao dos pr-processadores sem preocupao com os algoritmos especficos; Padronizar os argumentos de entrada e sada dos algoritmos. A Figura 6 mostra a descrio da funo que gera a malhas de elementos finitos por MTT. Os argumentos destas funes so apresentadas na forma de um pseudo-cdigo similar linguagem C. A descrio de outras funes que geram malhas de elementos finitos bidimensionais e tridimensionais encontra-se em outro trabalho do mesmo autor [8]. Msh3DMapp (nome da funo) Argumentos de entrada:
Int ns, Int *ids, Int *div, Int np_sup, Double **pts_sup, Int ne_sup, Int **conn_sup, /* /* /* /* /* /* /* /* /* /* /* /* /* /* /* Nmero de superfcies (sees transversais) Vetor com os ndices dos pontos bases em cada Superfcie Vetor com o nmero de superfcies entre superfcies principais Nmero de pontos em uma superfcie Matrix (ns x np_sup*3) com as coordenadas dos pontos das superfcies Nmero de elementos em uma supererfcie Matrix (ns x ...) com as conectividades dos elementos das superfcies Nmero de ns gerados Coordenadas dos ns da malha Nmero de elementos gerados Conectividade dos elementos */ */ */ */ */ */ */ */ */ */ */ */ */ */ */

Argumentos de sada:
Int *n_node, Double **coords, Int *n_elem, Int **conn

Figura 6 - Pseudo-cdigo da funo que gera a malha por MTT.

Antonio C. de O. Miranda e Luiz F. Martha.

Com vista a implementar a funo que gera malhas, adotou-se um pr-processador para modelagem tridimensional de elementos finitos que tem demostrado ao longo dos anos (inclusive remodelado a partir de vrios testes-pilotos e de uso em simulaes reais) ser capaz de atender eficientemente grande parte das necessidades da modelagem tridimensional: o MG [9]. O MG um gerador de malhas para modelos tridimensionais de elementos finitos implementado por Gomes Coelho [2] e proveniente do Convnio PUC-Petrobras. Neste trabalho, o MG foi estendido para incorporar a gerao de malhas slidas de elementos finitos. O MG foi desenvolvido usando linguagem C padro ANSI seguindo uma disciplina de programao orientada a objetos. O programa utiliza as bibliotecas grficas G3D e V3D [10] e IUP/LED, um toolkit porttil para interface com o usurio [11]. O modelo de interface utilizado no MG resultado de um trabalho de avaliao feito com testes-pilotos de modelagem, discutidas por Gomes Coelho e de Souza [12]. Detalhes sobre as tcnicas desenvolvidas e uso do MG encontram-se no trabalho de Gomes Coelho [2] e no manual do MG [9]. No ambiente do MG, as sees transversais devem estar ligadas por uma curva que permite identificar os pontos bases de cada seo transversal e o nmero de sees intermedirias entre sees. Os pontos bases so os pontos onde as curvas e sees transversais se interceptam. O nmero de sees intermedirias entre duas sees transversais o nmero de divises dos trechos da curva que liga essas sees. O reconhecimento da ordem das sees transversais feito de modo automtico, sem que haja necessidade do usurio informar seqencialmente as sees. A Figura 7 ilustra um gancho construdo por mapeamento. A Figura 8 mostra as sees transversais. O modelo tem uma seo transversal inicial circular que muda longitudinalmente de tamanho e forma. A seo circular inicial se torna menor e depois muda para uma seo retangular. Essa seo retangular segue constante e na ponta do gancho a seo transversal torna-se quadrada. Tem-se no total 10 sees transversais que esto ligadas por curvas que definem as sees transversais intermedirias e os pontos bases. A Figura 9 mostra um modelo de corpo de prova retangular muito utilizado em livros de Resistncia dos Materiais e Teoria da Elasticidade para exemplificar zonas de concentrao de tenses. O modelo constitudo de uma barra prismtica onde h uma diminuio brusca da seo transversal no meio da barra, e aplicada uma fora de trao nas extremidades. As superfcies utilizadas na construo do modelo esto mostradas na Figura 10: so trs superfcies construdas com mapeamento transfinito bilinear [13]. As extremidades da barra foram construdas com extruso e o afunilamento da seo transversal atravs do mapeamento transfinito tridimensional. A Figura 11 mostra os elementos gerados internamente. Nesse modelo foram criados apenas elementos hexadricos (brick). A Figura 12 mostra o modelo cortado longitudinalmente com os campos de tenses normais seo transversal representados graficamente por faixa de cores. possvel observar a alta concentrao de tenses, representado em vermelho, estando aparentemente de acordo com a literatura da Teoria da Elasticidade.

Antonio C. de O. Miranda e Luiz F. Martha.

Figura 7 - Gancho construdo por mapeamento transfinito tridimensional.

Figura 8 - Sees transversais do gancho.

Antonio C. de O. Miranda e Luiz F. Martha.

Figura 9 - Modelo de um corpo-de-prova.

Figura 10 - Superfcies bases para o corpo-de-prova.

10

Antonio C. de O. Miranda e Luiz F. Martha.

Figura 11 - Malhas geradas para o corpo-de-prova.

Figura 12 - Campos de tenses normais seo transversal do corpo-de-prova.

11

Antonio C. de O. Miranda e Luiz F. Martha.

CONCLUSO

Foi descrito um procedimento de construo automtica de malhas slidas de elementos finitos atravs de mapeamento transfinito tridimensional partindo-se de uma seqncia de sees transversais discretizadas que podem ter tamanho, forma e orientao distintas, mas que sejam topologicamente idnticas. Apresenta-se um algoritmo capaz de fazer o reconhecimento automtico dos pontos e elementos entre as sees transversais, de modo a torn-lo independente das estruturas de dados de pr-processadores e de como as sees transversais so criadas. A interpolao entre sees transversais feita atravs de curvas spline cbicas. O problema da identificao e relacionamento dos pontos em cada seo transversal foi resolvido introduzindo em cada seo transversal um ponto base que permite fazer o relacionamento dos pontos restantes. A partir dos pontos bases so criadas listas de arestas, que guardam os ndices inicial e final de cada ponto, em cada seo transversal e que torna possvel fazer a correlao dos pontos entre sees transversais. O algoritmo foi incorporado em uma biblioteca computacional de algoritmos de gerao de malhas de elementos finitos e utilizado em um pr-processador tridimensional. Dois exemplos so apresentados para mostrar as pontencialidades do algoritmo. O algoritmo que faz o reconhecimento das malhas das sees transversais independe de como estas malhas so criadas, desde que as sees sejam topologicamente equivalentes. Uma conseqncia do algoritmo, j que trabalha com topologia, a possibilidade de se trabalhar com sees transversais no planas. Entretanto, ainda necessrio desenvolver testes para verificar a validade dos elementos gerados pois as curvas splines podem sofrer auto-interseo e os elementos podem resultar distorcidos. REFERNCIAS [1] Hearn, D. e Baker, M. P. - Computer Graphics - C version, 2nd. Edition, Prentice Hall, Inc. , 1997. [2] Gomes Coelho, L. C. - Modelagem de Cascas com Intersees Paramtricas, Dissertao de Doutorado, Departamento de Informtica, PUC-Rio, 1998. [3] Farin, G. - Curves and Surfaces for Computer Aided Geometric Design, Academic Press, 2nd. Edition, ISBN: 0-12-249051, pp 464, 1990. [4] Fonseca, G L. - Editor Grfico de Malhas Transfinitas Tridimensionais para Elementos Finitos, Dissertao de Mestrado, Departamento de Engenharia Civil, PUC-Rio, 1989. [5] Peruchio, R.; Ingraffea, A. R e Abel, J. F. - Interative Computer Preprocessing for ThreeDimensional Finite Element Analysis, International Jornal For Numerical Methods in Enginnering, vol. 18, pp. 909-926, 1982. [6] Gordon, W. J. e Hall, C. A. - Construction of Curvilinear Co-ordinate Systems and Aplication to Mesh Generation, International Jornal For Numerical Methods in Enginnering, vol. 7, pp. 461-477, 1973. [7] T.A. Foley and G.M. Nielson - Knot Selection for Parametric Spline Interpolation, Mathematical Methods in CAGD, L. Schumaker, Academic Press, pp. 445-467, 1989.

12

Antonio C. de O. Miranda e Luiz F. Martha.

[8] Miranda, A. C. de O. - Integrao de Algoritmos de Gerao de Malhas de Elementos Finitos, Dissertao de Mestrado, Departamento de Engenharia Civil, PUC-Rio, 1999. [9] MG, Manual do Usurio, verso 3.0, PUC-Rio, 1996. [10] L. F. Martha, B. Castier e M. Gattass, Uma Taxonomia para Manipulao Interativa e Visualizao de Objetos 3D, Anais do VII SIBGRAPI, VII Simpsio Brasileiro de Computao Grfica e Processaemento de Imagens, Curitiba PR Brasil, pp. 149-156, 1994. [11] Levy, C. H. - IUP/LED: Uma Ferramenta Porttil de Interface com Usurio, Dissertao de Mestrado, Departamento de Informtica, PUC-Rio, 1993. [12] Gomes Coelho, L. C. E de Souza, C. S. - Comunicao de Problemas e Solues Geomtricas em uma Interface 3D, Anais do VIII SIBGRAFI, pp 233-240, 1995. [13] Haber, R.; Shephard, M. S.; Greenberg, D. P.; Abel, J. F. and Gallagher, R. H. - A General Two-dimensional, Graphical Finite Element Preprocessor, International Jornal For Numerical Methods in Enginnering, vol.17, pp. 1015-1044, 1981.

13

Você também pode gostar