Método dos elementos finitos aplicado à análise de sólidos: concepção e implementação Rui Miguel da Costa Alves Maciel Dissertação para a obtenção de Grau de Mestre em Engenharia Civil Júri Presidente: Fernando Manuel Fernandes Simões Orientador: Carlos Manuel Tiago Tavares Fernandes Vogais: Manuel da Cunha Ritto Corrêa Maio de 2013 Agradecimentos Ao Professor José Paulo Baptista Moitinho de Almeida pela disponibilidade e apoio dado ao longo do trabalho, sem o qual não teria sido possível realizar uma parte significativa. Ao meu orientador, Professor Carlos Tiago Fernandes, pelo desempenho verdadeiramente exemplar e dedicação ímpar, pela amizade e por demonstrar que excelência académica e pedagógica podem coexistir. À minha família, por todo o apoio e força que tem dado e sem o qual nada teria sido possível ou valido a pena. Por último, mas sempre em primeiro lugar, à minha cara-metade, Daniela, por ter o dom de, independente da quantidade de nuvens e neblina, mostrar que o céu está sempre azul. iii Resumo Neste trabalho é apresentada uma aplicação completa de software que, a partir de uma implementação do método dos elementos finitos, permite a obtenção de soluções aproximadas do problema de valores de fronteira da teoria de elasticidade tridimensional com utilidade prática no campo da análise de sólidos e de estruturas. O método dos elementos finitos, conforme abordado neste trabalho, é desenvolvido a partir da aplicação do método de Bubnov-Galerkin ao problema na valores de fronteira associado à teoria de elasticidade linear tridimensional. O conceito de elemento isoparamétrico é também apresentado, sendo usado como base para a definição dos oito tipos de elementos finitos empregues na análise de problemas tridimensionais: os elementos finitos hexaédricos Lagrangeanos de 8 e 27 nós, hexaédrico Serendipiano de 20 nós, tetraédricos de 4 e 10 nós, e prismáticos de 6, 15 e 18 nós. É ainda discutido o problema associado à integração da formulação fraca resultante. O método é implementado como um programa de análise numérica, com suporte para pré- e pósprocessamento. A geração de malhas, não estando incluída no âmbito deste trabalho, foi realizada mediante o uso de programas desenvolvidos por terceiros. O programa é desenvolvido na linguagem de programação C++, concebido com base no uso de padrões de desenvolvimento de software e seguindo o paradigma de programação orientada por objectos. O interface gráfico, desenvolvido em Qt 4.7, em conjunto com o componente de visualização, desenvolvido em OpenGL 2.1, permite atribuir materiais, condições de fronteira, e regras de integração, bem como visualizar o campo de deslocamentos, tensões, deformações, e direcções principais de tensores das tensões. É também apresentado um conjunto de exemplos de aplicação do programa, usados para validar os resultados da implementação e demonstrar propriedades intrínsecas deste método, tais como a taxa de convergência associada a cada tipo de elemento finito, o número de operações exigido e o tempo de processamento associado ao seu uso. São ainda realizados exemplos destinados a comparar os resultados produzidos pelo programa com aqueles resultantes de teorias estruturais de barras e lajes. Palavras-chave método de Bubnov-Galerkin método dos elementos finitos teoria da elasticidade tridimensional visualização Abstract This work presents a complete software application that, through an implementation of the finite element method, can be used to obtain approximate solutions of the boundary value problem of the threedimensional theory of elasticity, with practical applications in the field of solid and structural analysis. The finite element method, as covered in this work, is presented as the Bubnov-Galerkin method applied to the three dimensional linear elasticity boundary value problem. The isoparametric element concept is also presented, which is used as a basis for the definition of eight finite element types employed in the analysis of three-dimensional problems: the Lagrangean 8 and 27-node hexahedrical elements, the 20-node Serendipian hexahedrical element, the 4 and 10-node tetrahedral element, and the 6, 15 and 18-node triangular prism elements. The integration of the weak form problem is also discussed. The method is implemented as a numerical analysis software program, with support for pre- and post-processing. Mesh generation, being beyond the scope of this work, was performed by third-party programs. The software was developed in the C++ programming language, based on the use of software design patterns and following the object-oriented programming paradigm. The graphical user interface, developed with Qt, paired with the visualization component, developed using OpenGL 2.1, lets the user assign material properties, boundary conditions, configure the numerical integration rules, as well as visualize the displacements field, stresses, strains, and principal directions of stress tensors. A set of examples is also presented, used to validate the implementation’s results and to demonstrate intrinsic properties of this method, such as the convergence rates associated with each finite element type, the number of operations required and the processing time associated with their use. Examples are also performed to compare the results obtained from the software application with those from beam and plate structural theories. Keywords Bubnov-Galerkin method finite element method three-dimensional elasticity theory visualization Índice Agradecimentos iii Índice i Lista de Figuras v Lista de Tabelas xi Notação 1 2 3 xiii Introdução 1 1.1 Enquadramento geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 O problema de elasticidade tridimensional 5 2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Domínio do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Relações de equilíbrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 Relações de compatibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5 Relações constitutivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 A elasticidade tridimensional como um problema de valores de fronteira 8 Obtenção de soluções para problemas da elasticidade tridimensional . . . . . . . . . . . 11 3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Método dos resíduos ponderados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3 Método de Bubnov-Galerkin 3.4 Formulação fraca do método de Bubnov-Galerkin . . . . . . . . . . . . . . . . . . . . . . . 15 3.5 Método dos elementos finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.6 Princípio dos trabalhos virtuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.7 Recuperação de grandezas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 i ii Índice 3.8 4 5 Elementos finitos e regras de quadratura 35 4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2 O conceito de elemento finito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3 Conceito de elemento isoparamétrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 Elementos suportados pelo programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.1 Triangulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.2 Quadrilaterais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.3 Tetraédricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.4.4 Hexaédricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.4.5 Prismáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5 Integração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.6 Erro e convergência das soluções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Desenvolvimento de um programa de cálculo 59 5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2 Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3 Tecnologias empregues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4 Funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.5 6 Erro e convergência de soluções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.4.1 Estrutura de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.4.2 Importação de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4.3 Cálculo da matriz de rigidez global . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.4.4 Cálculo do vector de forças nodais equivalentes . . . . . . . . . . . . . . . . . . . . 64 5.4.5 Elementos suportados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.4.6 Integração numérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 5.4.7 Interface gráfico de utilizador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.4.8 Representação gráfica dos modelos . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.4.9 Álgebra matricial e resolução de sistemas de equações . . . . . . . . . . . . . . . . 74 Utilização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.5.1 Criação de modelos 5.5.2 Prescrição de condições de fronteira e forças volúmicas 5.5.3 Execução de análises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.5.4 Representação dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.5.5 Configuração do programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Exemplos de aplicação 6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 . . . . . . . . . . . . . . . 79 87 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Índice 7 iii 6.2 Patch test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.3 Consola curta cúbica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.3.2 Energia de deformação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.3.3 Campo de deslocamentos e grandezas derivadas . . . . . . . . . . . . . . . . . . . 99 6.4 Esfera oca sujeita a pressão interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.5 Laje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.6 Perfil IPE biencastrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.7 Perfil LNP curvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.8 Placa com orifício circular sujeita a tracção . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Conclusão 123 A Funções de base 125 A.1 Triângulo de 3 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 A.2 Triângulo de 6 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 A.3 Quadrilátero de 4 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 A.4 Quadrilátero de 8 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 A.5 Quadrilátero de 9 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 A.6 Tetraedro de 4 nós A.7 Tetraedro de 10 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 A.8 Hexaedro de 8 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 A.9 Hexaedro de 20 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 A.10 Hexaedro de 27 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 A.11 Prisma de 6 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A.12 Prisma de 15 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 A.13 Prisma de 18 nós . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 B Regras de quadratura 139 C Patch test: representação do campo de deformações de elementos regulares 141 D Patch test: representação do campo de deformações de elementos distorcidos 143 E Consola curta: campos de deformações e tensões 145 F 149 Esfera oca sujeita a pressão interna: resultados G Exemplo do formato MSH 151 iv Índice H Exemplos do formato FEM.JSON 153 Bibliografia 155 Lista de Figuras 2.1 Representação abstracta do domínio do problema da elasticidade tridimensional. . . . . . . . . 6 2.2 Diagrama de Tonti para o problema de elasticidade linear. . . . . . . . . . . . . . . . . . . . . . 9 3.1 Representação de um domínio genérico a) de acordo com a sua definição original e b) submetido a uma partição. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Polítopo regular de referência e sub-domínios de Ω. . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Funções de base dos elementos e a sua correspondência com as funções de base globais. . . . 24 3.4 Erro na modelação de um perfil LNP curvo causado pelo uso de uma malha grosseira de elementos lineares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.5 Erro na modelação das condições de fronteira de um modelo. . . . . . . . . . . . . . . . . . . . 32 4.1 Mapeamento nas coordenadas locais de elementos triangulares. . . . . . . . . . . . . . . . . . 42 4.2 Expansão polinomial da parametrização de elementos triangulares. . . . . . . . . . . . . . . . . 43 4.3 Mapeamento nas coordenadas locais de parametrizações Lagrangeanas de domínios quadriláteros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4 Expansão polinomial da parametrização de elementos quadrilaterais. . . . . . . . . . . . . . . . 45 4.5 Mapeamento nas coordenadas locais da parametrização Serendipiana de 8 nós de um domínio quadrilátero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.6 Termos envolvidos na construção de uma função de base N1 (ξ1 , ξ2 ) pelo processo Serendipiano. 46 4.7 Expansão polinomial da parametrização do elemento Serendipiano quadrangular de 8 nós. . . . 47 4.8 Mapeamento nas coordenadas locais de elementos tetraédricos. . . . . . . . . . . . . . . . . . 47 4.9 Representação gráfica da função de forma do elemento finito tetraédrico de 4 nós N1 (ξ). . . . . 48 4.10 Representação gráfica das funções de forma do elemento finito tetraédrico de 10 nós. . . . . . . 49 4.11 Mapeamento nas coordenadas locais de elementos hexaédricos. . . . . . . . . . . . . . . . . . 49 4.12 Representação gráfica da função de forma N7 (ξ) do elemento finito hexaédrico de 8 nós. . . . . 50 4.13 Representação gráfica das funções de forma do elemento finito hexaédrico de 20 nós. . . . . . . 50 4.14 Representação gráfica das funções de forma do elemento finito hexaédrico de 27 nós. . . . . . . 51 4.15 Mapeamento nas coordenadas locais de elementos prismáticos. . . . . . . . . . . . . . . . . . 51 4.16 Representação gráfica da função de forma N3 (ξ) do elemento finito prismático de 6 nós. v . . . . 52 vi Lista de Figuras 4.17 Representação gráfica das funções de forma do elemento finito prismático de 15 nós. . . . . . . 52 4.18 Representação gráfica das funções de forma do elemento finito prismático de 18 nós. . . . . . . 53 4.19 Representação gráfica da aplicação regra de quadratura de Gauss-Legendre de 2 pontos. . . . . 54 5.1 Representação da associação entre as definições de elementos finitos e dos respectivos nós. . . 61 5.2 Diagrama de classe da estrutura de dados Model, com métodos e atributos omitidos. . . . . . . 62 5.3 Representação simplificada do algoritmo do método dos elementos finitos. . . . . . . . . . . . . 64 5.4 Diagrama de classes para as classes que definem os elementos. . . . . . . . . . . . . . . . . . 64 5.5 Diagrama de actividade simplificado do algoritmo de construção da matriz de rigidez. . . . . . . 65 5.6 Interface do programa, com várias janelas com representações diferentes do modelo. . . . . . . 68 5.7 Diagrama de classes da implementação das janelas MDI, omitidos os métodos e atributos. . . . 69 5.8 Diagrama de classes da implementação da representação das cenas. . . . . . . . . . . . . . . 69 5.9 Descrição do uso de um padrão de desenvolvimento Strategy na representação de um modelo. . 70 5.10 Diagrama de classes da implementação do sistema de selecção de objectos. . . . . . . . . . . 70 5.11 Diagrama de sequência do sistema de selecção de objectos. . . . . . . . . . . . . . . . . . . . 70 5.12 Representação do funcionamento do grafo de cena: a) estrutura de dados do modelo b) objectos da cena criados a partir da estrutura de dados c) representação do modelo pelo grafo da cena a partir dos objectos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.13 Representação do funcionamento do padrão de desenvolvimento do tipo Observer. . . . . . . . 72 5.14 Representação da organização dos objectos da cena no grafo da cena em função da fronteira que os delimita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.15 Representação da visualização dos objectos que compõem o grafo da cena em função da intersecção da sua fronteira com o volume de visão. . . . . . . . . . . . . . . . . . . . . . . . . . . 73 5.16 Representação do funcionamento do picking. . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.17 Diagrama de classes da implementação das rotinas de resolução de sistemas de equações lineares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.18 Menu “file”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.19 Wizard de importação de malhas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.20 Wizard de importação de malhas: processo de importação de uma malha. . . . . . . . . . . . . 78 5.21 Resultado final da importação de uma malha. . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.22 Menu “Edit”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.23 Caixas de diálogo de prescrição de condições de fronteira. . . . . . . . . . . . . . . . . . . . . 80 5.24 Menu “Project”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.25 Métodos de resolução de sistemas de equações disponíveis. . . . . . . . . . . . . . . . . . . . 82 5.26 Caixa de diálogo do progresso da análise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.27 Janela MDI com a representação tabelada dos resultados. . . . . . . . . . . . . . . . . . . . . 83 5.28 Menu “Window->New”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Lista de Figuras vii 5.29 Visualização dos resultados via gradiente de cores, eixo de simetria transversal de uma laje quadrada sujeita ao peso próprio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.30 Visualização das direcções principais dos tensores, eixo de simetria transversal de uma laje quadrada sujeita ao peso próprio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.31 Janela MDI com a representação tabelada da matriz de rigidez. . . . . . . . . . . . . . . . . . . 85 6.1 Modelo da barra traccionada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.2 Campo ε33 da barra sujeita a pressão axial: modelos compostos por elementos hexaédricos de 8 nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.3 Distorção dos elementos finitos obtida a partir da alteração da partição do modelo da barra. . . . 90 6.4 Representação da discretização do modelo de uma consola curta, composto por 8 elementos hexaédricos de 8 nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.5 Partições primitivas do domínio do modelo, representadas através do Gmsh. . . . . . . . . . . . 92 6.6 Representação do refinamento-h de um modelo composto por elementos hexaédricos Lagrangeanos lineares de 8 nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.7 Gráfico da energia de deformação em função da dimensão característica dos elementos. . . . . 93 6.8 Gráfico da convergência do erro na energia em função do refinamento-h dos modelos. . . . . . . 95 6.9 Duração média do cálculo de uma matriz de rigidez elementar por tipo de elemento. . . . . . . . 97 6.10 Gráfico da convergência do erro na energia de deformação em função da duração da análise. . . 98 6.11 Duração relativa das etapas de montagem da matriz de rigidez global e resolução do sistema de equações para modelos compostos por elementos prismáticos lineares de 6 nós. . . . . . . . . 99 6.12 Gráfico da convergência do erro na energia em função do número de coeficientes da matriz de rigidez. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.13 Representação de um modelo composto por 512 elementos hexaédricos Lagrangeanos lineares de 8 nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.14 Representação do campo de deslocamentos de um modelo composto por 4096 elementos hexaédricos Lagrangeanos lineares de 8 nós: vista do plano x1 = 0. . . . . . . . . . . . . . . . . . 100 6.15 Campo σ23 no plano x1 = 0 obtido a partir da partição do domínio em elementos hexaédricos Lagrangeanos lineares de 8 nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.16 Comparação das tensões na fibra vertical média do plano de encastramento, calculadas através da teoria de Euler-Bernoulli e do método dos elementos finitos. . . . . . . . . . . . . . . . . . . 101 6.17 Modelo da esfera, sujeito a simplificação por simetria. . . . . . . . . . . . . . . . . . . . . . . . 102 6.18 Modelo composto por elementos tetraédricos de 10 nós gerado pelo Gmsh, exibindo uma falha na continuidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.19 Gráfico do erro na energia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.20 Gráfico do erro no volume. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.21 Representação das condições de apoio da laje. . . . . . . . . . . . . . . . . . . . . . . . . . . 105 viii Lista de Figuras 6.22 Comparação da implementação das condições de fronteira cinemática da simplificação por simetria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.23 Modelo de elementos finitos da laje com condições de fronteira representativas da simplificação por simetria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.24 Nós do plano de simetria de um modelo de 1000 elementos hexaédricos lineares de 8 nós representados na configuração deformada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.25 Campo de tensões na fibra vertical do centro da laje. . . . . . . . . . . . . . . . . . . . . . . . 108 6.26 Tensão de von Mises avaliada na fibra do canto da laje. . . . . . . . . . . . . . . . . . . . . . . 108 6.27 Campo de tensões na fibra horizontal inferior contida no plano de simetria da laje, modelo composto por elementos finitos lineares. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 6.28 Campo de tensões na fibra horizontal inferior contida no plano de simetria da laje, modelo composto por elementos finitos quadráticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.29 Representação das tensões principais no plano de simetria da laje, modelo composto por elementos finitos quadráticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.30 Partição da secção de um modelo de um perfil IPE 80, representado pelo Gmsh. . . . . . . . . . 110 6.31 Representação das tensões σ33 do perfil IPE 80 na configuração deformada. . . . . . . . . . . . 111 6.32 Representação das tensões σ33 na secção x3 = 0, 50l . . . . . . . . . . . . . . . . . . . . . . . 112 6.33 Representação das tensões σ13 no banzo superior em várias secções ao longo do eixo. . . . . . 113 6.34 Representação das tensões σ13 no banzo superior na secção x3 = 0, 25l . . . . . . . . . . . . . 113 6.35 Representação das tensões de von Mises no banzo superior em várias secções ao longo do eixo.114 6.36 Perfil LNP 200 100 16 com um raio de curvatura de 1, 00. . . . . . . . . . . . . . . . . . . . . . 115 6.37 Partição da secção de um modelo de um perfil LNP 200 100 16, representado pelo Gmsh. . . . 115 6.38 Configuração deformada do perfil LNP 200 100 16 sujeito a uma carga pontual na extremidade livre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.39 Representação do campo da tensão de comparação de von Mises. . . . . . . . . . . . . . . . . 116 6.40 Representação de uma barra com orifício circular sujeita a tracção. . . . . . . . . . . . . . . . . 117 6.41 Modelos de uma placa com um orifício circular. . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.42 Discretização do domínio da placa com um orifício. . . . . . . . . . . . . . . . . . . . . . . . . 118 6.43 Representação dos resultados da análise de um modelo composto por elementos finitos lineares. 119 6.44 Tensões σθθ ao longo do segmento de recta m − n: expressão analítica e resultados obtidos pelo método dos elementos finitos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.45 Campos de tensões σθθ obtidos a partir de modelos compostos por elementos finitos quadráticos.120 6.46 Campos de tensões σθθ obtidos a partir do modelo de uma placa com um orifício de diâmetro igual a 10% da largura da placa, compostos por elementos finitos quadráticos. . . . . . . . . . . 121 6.47 Representação dos resultados da análise de um modelo composto por elementos finitos quadráticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Lista de Figuras A.1 Mapeamento do triângulo de 3 nós das coordenadas locais para coordenadas globais. . . . . . . 125 A.2 Mapeamento do triângulo de 3 nós das coordenadas locais para coordenadas globais. . . . . . . 126 A.3 Mapeamento do quadrilátero de 4 nós das coordenadas locais para coordenadas globais. . . . . 127 A.4 Mapeamento do quadrilátero de 8 nós das coordenadas locais para coordenadas globais. . . . . 128 A.5 Mapeamento do quadrilátero de 9 nós das coordenadas locais para coordenadas globais. . . . . 129 A.6 Mapeamento do tetraedro de 4 nós das coordenadas locais para coordenadas globais. . . . . . 130 A.7 Mapeamento do tetraedro de 10 nós das coordenadas locais para coordenadas globais. . . . . . 131 A.8 Mapeamento do hexaedro Lagrangeano de 8 nós das coordenadas locais para coordenadas globais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 A.9 Mapeamento do hexaedro Serendipiano de 20 nós das coordenadas locais para coordenadas globais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 A.10 Mapeamento do hexaedro Serendipiano de 20 nós das coordenadas locais. . . . . . . . . . . . 134 A.11 Mapeamento do prisma de 6 nós das coordenadas locais para coordenadas globais. . . . . . . . 135 A.12 Mapeamento do prisma de 15 nós das coordenadas locais para coordenadas globais. . . . . . . 136 A.13 Mapeamento do prisma de 18 nós das coordenadas locais para coordenadas globais. . . . . . . 137 C.1 Campo ε33 da barra sujeita a pressão axial: malhas de 8 elementos hexaédricos. . . . . . . . . 141 C.2 Campo ε33 da barra sujeita a pressão axial: malhas de 16 elementos prismáticos. . . . . . . . . 141 C.3 Campo ε33 da barra sujeita a pressão axial: malhas de 48 elementos tetraédricos. . . . . . . . . 142 D.1 Campo ε33 da barra sujeita a pressão axial: malhas de 8 elementos hexaédricos. . . . . . . . . 143 D.2 Campo ε33 da barra sujeita a pressão axial: malhas de 16 elementos prismáticos. . . . . . . . . 143 D.3 Campo ε33 da barra sujeita a pressão axial: malhas de 48 elementos tetraédricos. . . . . . . . . 144 E.1 Campo de deformações ε11 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . 145 E.2 Campo de deformações ε22 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . 145 E.3 Campo de deformações ε33 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . 146 E.4 Campo de deformações ε12 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . 146 E.5 Campo de deformações ε13 no plano YZ (lateral da consola)n . . . . . . . . . . . . . . . . . . . 146 E.6 Campo de deformações ε23 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . 146 E.7 Campo de tensões 11 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . . . . 147 E.8 Campo de tensões 22 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . . . . 147 E.9 Campo de tensões 33 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . . . . 147 E.10 Campo de tensões 12 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . . . . 148 E.11 Campo de tensões 13 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . . . . 148 E.12 Campo de tensões 23 no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . . . . . . . 148 E.13 Campo de tensões de von Mises no plano YZ (lateral da consola). . . . . . . . . . . . . . . . . 148 ix x Lista de Figuras Lista de Tabelas 6.1 Campos de deformações obtidos em modelos distorcidos sujeitos a pressão constante. . . . . . 90 6.2 Energia de deformação em função do número de elementos. . . . . . . . . . . . . . . . . . . . 93 6.3 Número de operações necessárias para avaliar os valores funções de interpolação e suas derivadas em um dado ponto do domínio elementar. . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.4 Número de ciclos executados por diferentes etapas do algoritmo de construção da matriz de rigidez elementar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.5 Resultados da aplicação do método dos elementos finitos à análise do modelo da laje. . . . . . . 107 6.6 Comparação das tensões σ33 em pontos da secção do perfil IPE 80. . . . . . . . . . . . . . . . 111 6.7 Comparação dos valores de σmax θθ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 B.1 Regras adoptadas para integração numérica na superfície. . . . . . . . . . . . . . . . . . . . . 139 B.2 Regras adoptadas para integração numérica no volume: tetraedros e hexaedros. . . . . . . . . . 139 B.3 Regras adoptadas para integração numérica no volume: prismas. . . . . . . . . . . . . . . . . . 140 F.1 Resultados dos modelos compostos por elementos hexaédricos Lagrangeanos lineares de 8 nós. 149 F.2 Resultados dos modelos compostos por elementos hexaédricos Serendipianos quadráticos de 20 nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 F.3 Resultados dos modelos compostos por elementos hexaédricos Lagrangeanos quadráticos de 27 nós. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 F.4 Resultados dos modelos compostos por elementos tetraédricos lineares de 4 nós. . . . . . . . . 150 F.5 Resultados dos modelos compostos por elementos tetraédricos quadráticos de 10 nós. . . . . . 150 xi xii Lista de Tabelas Notação Notação indicial ai Componente i do tensor de primeira ordem a ai j Componente i j do tensor de segunda ordem a ai jkl Componente i jkl do tensor de quarta ordem a ai, j Derivada parcial da componente i do tensor a em ordem à componente j da variável independente, ∂ai (x) ∂x j Escalares, vectores e matrizes a Escalar {a} Vector/matriz-coluna {a}t Vector/matriz-linha [A] Matriz quadrada ou rectangular [A]t Matriz transposta de [A] Símbolos presentes no texto Ω Domínio do problema, Ω ∈ R3 Ω̄ Fecho do domínio Ω int (Ω) Interior do domínio Ω x Ponto incluído em Ω̄ descrito em coordenadas globais x1 , x2 , x3 Coordenadas do ponto x, x = (x1 , x2 , x3 ) ∈ Ω̄ ⊂ R3 Γ Fronteira do problema ΓN Conjunto de pontos na fronteira onde são impostas condições de fronteira estáticas/de Neumann xiii xiv Notação ΓD Conjunto de pontos na fronteira onde são impostas condições de fronteira cinemáticas/de Dirichlet σ(x) Tensor das tensões no ponto x, σ : Ω̄ ∈ R3 → R3×3 σi j Componente i j do tensor das tensões b̄ j Componente j da força prescrita por unidade de volume t¯j Componente j da força prescrita por unidade de área u(x) Campo de deslocamentos, solução exacta, u : Ω̄ ∈ R3 → R3 ui (x) Componente i do campo de deslocamentos, ui : Ω̄ ∈ R3 → R ūi (x) Componente prescrita i do campo de deslocamentos no ponto x ε(x) Tensor das deformações no ponto x, ε : Ω̄ ∈ R3 → R3×3 εi j Componente i j do tensor das deformações D Tensor das constantes elásticas E Módulo de Young ν Coeficiente de Poisson σ◦i j Componente i j do tensor das tensões iniciais n(x) Vector unitário normal à superfície, n : Γ → R3 nj Componente j do vector unitário normal à superfície ũ(x) Função de aproximação do campo de deslocamentos, solução aproximada, ũ : Ω̄ ∈ R3 → R3 ũi (x) Componente i da função de aproximação do campo de deslocamentos, ũi : Ω̄ ∈ R3 → R Vn Espaço de funções ao qual pertence ũ(x) Ni (x) i-ésima função de base que gera o espaço Vn , Ni : Ω ∈ R3 → R [K] Matriz de rigidez global {d} Vector dos graus de liberdade do problema {dE } Sub-conjunto do vector dos graus de liberdade do problema que agrupa os graus de liberdade prescritos {dF } Sub-conjunto do vector dos graus de liberdade do problema que agrupa os graus de liberdade livres Notação xv {f} Vector das forças nodais equivalentes { fE } Sub-conjunto de coeficientes do vector das forças nodais equivalentes que incidem nos graus de liberdade prescritos { fF } Sub-conjunto de coeficientes do vector das forças nodais equivalentes que incidem nos graus de liberdade livres [KE ] Sub-matriz de [K] dos coeficientes afectados às condições de fronteira essenciais/graus de liberdade prescritos [KF ] Sub-matriz de [K] dos coeficientes afectados aos graus de liberdade livres [KEF ] Sub-matriz de [K] que, multiplicada por {dF }, contribui para o equilíbrio de {rE } e { fE } nos graus de liberdade prescritos [KFE ] = [KEF ]T Sub-matriz de [K] que, multiplicada por {dE }, contribui para o equilíbrio do vector das forças nodais equivalentes nos graus de liberdade livres {dE } Vector dos graus de liberdade correspondentes às condições de fronteira essenciais, graus de liberdade fixados a priori {dF } Vector dos graus de liberdade correspondentes às incógnitas do problema, graus de liberdade livres (free) δτe Trabalho virtual das forças exteriores δτi Trabalho virtual das forças interiores [A] Matriz associada ao operador diferencial de compatibilidade [B], [B(x)] Matriz global que resulta da aplicação de [A] sobre as funções de base [Bi ], [Bi (x)] Sub-matriz de [B] que resulta da aplicação de [A] apenas a Ni (x) [D] Matriz constitutiva δik Delta de Kronecker Ωek Sub-domínio de Ω̄ Ωke,local Domínio do polítopo de referência, sub-domínio de Ω̄ representado em coordenadas locais Ω̄ek Fecho de Ωek ũek (x) Sub-função de aproximação do campo de deslocamentos cujo suporte é Ω̄ek , ũek : Ωek ∈ R3 → R3 xvi Notação ũeik (x) Componente i de ũek (x), ũeik : Ωek ∈ R3 → R e Vnk Espaço de funções ao qual pertence a função ũek (x) Nkle (x) e , N e : Ω e ∈ R3 → R l -ésima função de base que gera o sub-espaço Vnk kl k sup(Ni (ξ)) Suporte da função Ni (ξ) ξ Ponto incluído em Ω̄ei , descrito em coordenadas locais ξ1 , ξ2 , ξ3 Coordenadas do ponto ξ, ξ = (ξ1 , ξ2 , ξ3 ) ∈ Ω̄i keken Erro na energia V (ξ) Factor pontual de conversão de volumes [Dx(ξ)] Matriz jacobiana da parametrização que mapeia as coordenadas locais e,local em coordenadas globais det([A]) determinante da matriz A x(ξ) Representação de coordenadas globais em função de coordenadas locais, x : R3 → R3 k f k∞ Norma de máximo da função f Capítulo 1 Introdução 1.1 Enquadramento geral Desde sempre houve a necessidade de compreender e explicar o comportamento da natureza. Como parte desse processo têm vindo a ser dirigidos esforços para identificar os diversos sistemas que a constituem e, consequentemente, dar início a um processo iterativo de observação, formulação de hipóteses relativas ao seu funcionamento e verificação da sua validade. Validadas as hipóteses, abrem-se assim as portas à descoberta de leis da natureza, e a sua consequente aplicação não só na explicação do funcionamento dos respectivos sistemas como também para estimar o comportamento exibido em função da variação dos factores intervenientes (Belytschko et al., 2001, pág. 1-2). A validação e emprego dessas hipóteses parte do desenvolvimento de modelos matemáticos, modelos esses que constituem uma descrição simplificada mas representativa dos fenómenos analisados. Ao descrever um sistema através da definição de um conjunto de variáveis e de equações que exprimem as relações que se observam entre elas, torna-se possível analisar o desenvolvimento destes fenómenos em função da variação dos parâmetros usados na caracterização do problema. Ao tratar-se de modelos cuja validade já se encontra corroborada (e cujos limites de aplicação se encontram bem definidos), sobressai ainda outra grande vantagem inerente a este tipo de modelos: a possibilidade de se analisar o comportamento dos sistemas sob condições idealizadas, sem a influência de parâmetros externos e com total controle sobre as variáveis que intervém no problema. Assim, é possível analisar o comportamento do sistema de forma idealizada e possuir um elevado controlo sobre todos os parâmetros intervenientes. Entre as várias formas de modelos matemáticos disponíveis para o estudo da natureza encontram-se os modelos definidos a partir de equações diferenciais. Esta forma de modelar sistemas permite relacionar os valores apresentados por um conjunto de parâmetros constituintes do modelo com a taxa de variação que poderão apresentar. A partir destas relações, e considerando a configuração atribuída ao domínio do problema e o conjunto de condições impostas na sua fronteira, torna-se possível chegar a resultados plausíveis do comportamento do fenómeno a ser modelado. Devido à complexidade que o problema acima descrito assume na generalidade dos casos, quer na 1 2 Introdução definição do seu domínio como nas condições impostas na sua fronteira, na prática torna-se impossível obter soluções analíticas que cumpram exactamente todas as condições impostas. De maneira a contornar esta dificuldade, têm vindo a ser desenvolvidas várias abordagens que abdicam da procura de expressões analíticas que representem soluções exactas em prol da obtenção de soluções aproximadas. Entre estas abordagens encontra-se um grupo de métodos que tem em comum a definição arbitrária de funções destinadas a aproximar a solução exacta do problema. Posteriormente o erro a elas associado é reduzido mediante a aplicação de um critério de minimização. É nesse âmbito que surgem métodos tais como o método das diferenças finitas, o método dos elementos fronteira e o método dos elementos finitos. O método dos elementos finitos foi desenvolvido a fim de obter soluções aproximadas de problemas representados através de sistemas de equações diferenciais. Para atingir este objectivo, parte-se da definição de uma função destinada a aproximar a solução exacta do problema em todo o seu domínio. Esta assume a forma de uma função definida por troços, e resulta da composição de um conjunto de sub-funções, cada uma com o suporte restringido a um sub-domínio do problema que lhe é exclusivo e que tem a particularidade de a sua união definir uma função cujo suporte abrange o domínio do problema. Definida esta função, que representa uma tentativa de aproximar a solução exacta do problema e assim é referida por função tentativa, resta aplicar um critério minimizador que permita optimizar o seu ajustamento. O detalhe marcante neste método, que está na origem do seu nome, é a construção da função que se destina a aproximar a solução exacta. Esta função tentativa é formada a partir da união de um conjunto de sub-funções, cujo suporte é limitado a uma região finita do espaço, disjunta das regiões de todos os outros elementos e que, através de uma união, compõem o domínio do problema (Babuška e Strouboulis, 2001, pág. 52). Esta associação entre o sub-domínio finito no espaço e a sub-função de aproximação que o tem como suporte, que recebe o nome elemento finito, está na origem do poder de análise associado a este método, bem como a simplicidade da sua implementação. Assim, definido um problema (ou seja, o domínio e condições de fronteira), é possível organizar o método dos elementos finitos nas seguintes etapas: • partição do domínio do problema em elementos finitos; • construção do sistema de equações do método dos elementos finitos; • resolução do sistema de equações; • calcular as grandezas de interesse com base na solução obtida. Por fim, tudo isto só é possível devido aos progressos observados no domínio da computação. À capacidade inerente ao método dos elementos finitos de construir soluções tão próximas da solução exacta quanto se deseje, em particular para os problemas mais complexos, está associado um aumento do custo computacional exigido pelo processo de obtenção de uma solução aproximada. Assim, quer se procure 1.2. Objectivos melhorar os resultados ao recorrer a discretizações mais refinadas do domínio, refinamento-h, como pela adopção de funções tentativa com melhores características, refinamento-p, o aumento da dimensão do sistema de equações leva a que apenas seja possível resolver este problema recorrendo a programas de cálculo automático concebidos para o efeito e a máquinas de cálculo com um poder considerável. 1.2 Objectivos O objectivo deste trabalho consiste no desenvolvimento de um programa que permite a análise do comportamento mecânico de sólidos tridimensionais. No âmbito deste trabalho limitou-se a análise a sólidos compostos por materiais isotrópicos que exibem um comportamento geométrica e fisicamente linear. Este comportamento é modelado recorrendo à teoria da elasticidade aplicada a sólidos tridimensional. O modelo adoptado para este fim consiste na equação diferencial de equilíbrio, expressa em função dos deslocamentos através da aplicação da lei de Hooke (Timoshenko e Goodier, 1970, pág. 233). Como este modelo é expresso através de um sistema de equações diferenciais parciais, recorre-se ao método dos elementos finitos para obter as correspondentes soluções aproximadas. Para tal, foram implementados oito tipos de elementos finitos: os elementos finitos hexaédricos Lagrangeanos de 8 e 27 nós, hexaédrico Serendipiano de 20 nós, tetraédricos de 4 e 10 nós, e prismáticos de 6, 15 e 18 nós. Obtida uma solução aproximada, os resultados são sujeitos a um pós-processamento e apresentados ao utilizador recorrendo a um componente de visualização desenvolvido para este efeito. Por fim, o programa é empregue na análise de um conjunto de problemas de elasticidade linear tridimensional a fim de demonstrar a validade da implementação e observar respostas que não são reproduzidas pelas vulgares teorias estruturais. 1.3 Estrutura do trabalho No capítulo 2 é apresentado o problema de elasticidade tridimensional como problema de valores na fronteira. No capítulo 3 é apresentado o método dos elementos finitos aplicado à análise de sólidos. Este método, conforme descrito neste trabalho, é derivado da aplicação do método Bubnov-Galerkin para a obtenção de soluções aproximadas de equações diferenciais mediante o ajuste à solução exacta de funções polinomiais definidas por troços. No capítulo 4 é apresentado o conceito de elemento finito, seguido da descrição de um conjunto de tipos de elemento finito e da problemática da sua implementação. No capítulo 5 é feita uma descrição sucinta do processo de planeamento e desenvolvimento de uma aplicação de software que implementa o método dos elementos finitos aplicado à análise estática linear de sólidos, com suporte para visualização bem como pré e pós-processamento: o Finite Element Method Program (FEMP). No capítulo 6 são expostos alguns exemplos de aplicação do FEMP destinados a aferir a validade da implementação do método dos elementos finitos, observar algumas propriedades de convergência dos tipos de elemento finito suportados pelo programa, e comparar os resultados obtidos com aqueles resultantes da aplicação de um conjunto de teorias estruturais. 3 Capítulo 2 O problema de elasticidade tridimensional 2.1 Introdução É possível observar que, quando um dado corpo sólido é submetido a uma dada solicitação, este passa a apresentar uma configuração deformada. Em certas condições observa-se que o grau da deformação varia não só com a natureza do material como também com a magnitude das acções e, após estas serem retiradas, o corpo recupera a sua configuração original. Essa propriedade física é designada por elasticidade. Com base em observações deste fenómeno desenvolveram-se modelos capazes de descrever e prever com alguma precisão o comportamento de sólidos em resposta à aplicação de conjuntos de acções. O estudo do problema da elasticidade parte da definição de um modelo que, respeitando o seu domínio de aplicação, permite reproduzir com uma precisão aceitável o comportamento do sistema. Este comportamento é simulado a partir da definição de relações que se dão entre parâmetros que regem o comportamento do modelo. Assim, considerando como acções apenas as solicitações aplicadas tanto no domínio como na fronteira do corpo, pode-se partir para a caracterização do comportamento de qualquer material tido como elástico considerando apenas um conjunto limitado de parâmetros: as acções aplicadas no corpo, as tensões que se formam no seu interior, os deslocamentos de pontos do corpo, as deformações, as propriedades associadas aos materiais constituintes e a geometria do corpo em análise. 2.2 Domínio do problema Sendo o problema abordado o da elasticidade aplicada a sólidos, o modelo assumirá a forma de um sistema de equações diferenciais parciais que procuram descrever a relação que há entre as acções aplicadas a um sólido e os deslocamentos que daí resultam, satisfazendo as condições impostas em um conjunto de pontos pertencentes à região que é definida como seu domínio e a respectiva fronteira. Assim, a definição do modelo parte do estabelecimento das equações que caracterizam o comportamento a partir da análise dos parâmetros que o influenciam, bem como o seu domínio e as condições a serem verificadas na sua fronteira. 5 6 O problema de elasticidade tridimensional O domínio do problema em estudo, tratando-se de um problema de elasticidade tridimensional, será definido como uma região Ω̄ ∈ R3 . Um ponto genérico incluído no domínio do problema será referido por x, tal que x = (x1 , x2 , x3 ) ∈ Ω̄. A região Ω̄, representada genericamente na figura 2.1, é decomposta da seguinte forma: Ω̄ = Ω ∪ Γ (2.1) sendo Ω = int(Ω̄), o subconjunto de Ω̄ que reúne todos os pontos interiores, e Γ = Ω̄ \ Ω, o subconjunto de todos os pontos da fronteira de Ω̄. O conjunto Γ contém, por sua vez, dois sub-conjuntos, ΓN e ΓD , que definem os conjuntos de pontos na fronteira onde são definidas, respectivamente, as condições de fronteira estática e cinemática. Estas condições de fronteira são também referidas, respectivamente, por condições de Neumann e de Dirichlet. Ω ΓD x3 x1 ΓN x2 Figura 2.1: Representação abstracta do domínio do problema da elasticidade tridimensional. 2.3 Relações de equilíbrio No que se segue, considerou-se que os sólidos em análise se encontram em equilíbrio estático na posição indeformada. Para essa condição ser verificada é necessário que em qualquer ponto do interior do corpo o somatório de forças volúmicas e tensões actuantes nas superfícies de um qualquer volume infinitesimal seja nulo. Considerando a distribuição de forças e tensões actuantes no volume infinitesimal, esse requisito é definido através da seguinte equação diferencial de equilíbrio: σi j,i (x) + b̄ j (x) = 0 ,x ∈ Ω (2.2) em que σ representa o tensor das tensões e b̄ a força por unidade de volume aplicada no ponto x, contido no domínio do problema. A hipótese dos sólidos se encontrarem em equilíbrio estático também implica que o somatório dos momentos resultantes das tensões actuantes no corpo sejam nulos em qualquer ponto do domínio do problema, condição essa que é traduzida pela seguinte expressão: 2.4. Relações de compatibilidade 7 σi j = σ ji (2.3) É também necessário garantir que na fronteira estática do corpo o somatório das forças distribuídas na fronteira do corpo com as tensões também é nulo. Essa condição de fronteira traduz-se na seguinte expressão: t¯j (x) = σi j (x)ni (x) , x ∈ ΓN (2.4) em que t¯ representa a força por unidade de área que é prescrita em ΓN e n o vector unitário normal exterior à superfície no ponto x. 2.4 Relações de compatibilidade É assumido que o campo de deslocamentos obtido em resposta a uma dada solicitação, expresso aqui através da função u(x), é contínuo em todo o domínio. Assumindo também que as derivadas do campo de deslocamentos são muito pequenas em comparação com a unidade, as deformações podem ser expressas em função do campo de deslocamentos através da seguinte equação diferencial: 1 εi j (x) = (ui, j (x) + u j,i (x)) 2 (2.5) em que ε representa o tensor das deformações infinitesimais. É também imposto que o campo de deslocamentos satisfaça as condições de fronteira cinemáticas do problema. Assim, a função que representa a solução do problema terá de exibir valores prescritos à partida em pontos específicos da fronteira. Esta condição é representada através da expressão seguinte: ui (x) = ūi (x) , x ∈ ΓD (2.6) 2.5 Relações constitutivas Por fim resta definir a forma como as tensões e as deformações se relacionam. O modelo constitutivo adoptado para esse efeito é a lei de Hooke, que na sua forma generalizada é representada através da seguinte expressão: σi j = Di jkl (εkl − ε◦kl ) + σ◦i j (2.7) em que D representa o tensor das constantes elásticas e ε◦ e σ◦ representam, respectivamente, os tensores das tensões e das deformações iniciais. Para simplificar a exposição, deste ponto em diante assumir-se-á que σ◦ e ε◦ são nulos. A substituição dessa hipótese na expressão (2.7) resulta em: 8 O problema de elasticidade tridimensional σi j = Di jkl εkl (2.8) Para o caso em que o material é isotrópico, a relação constitutiva passa a ser expressa em função de duas constantes independentes, conforme é indicado no sistema de equações apresentado em (2.9): σ11 σ22 σ 33 σ12 σ23 σ 13 = = = = = = E [(1 − ν)ε11 + νε22 + νε33 ] (1+ν)(1−2ν) E (1+ν)(1−2ν) [νε11 + (1 − ν)ε22 + νε33 ] E (1+ν)(1−2ν) [νε11 + νε22 + (1 − ν)ε33 ] E 1+ν ε12 (2.9) E 1+ν ε23 E 1+ν ε13 em que E é referido como o módulo de Young e ν o coeficiente de Poisson. A representação matricial do sistema de equações (2.9) é conseguida através da seguinte expressão: 1−ν ν ν ν σ22 1−ν ν ν σ33 ν 1−ν E = (1 + ν)(1 − 2ν) 0 σ12 0 0 0 σ23 0 0 0 0 0 σ13 σ11 0 0 0 0 0 0 0 1−2ν 2 0 0 1−2ν 2 0 0 ε11 0 ε22 0 ε33 0 2ε12 0 2ε23 1−2ν 2ε13 2 (2.10) 2.6 A elasticidade tridimensional como um problema de valores de fronteira Reunida a informação necessária, torna-se possível definir o problema de valores de fronteira da elasticidade tridimensional em (2.11), cujo diagrama de Tonti é apresentado na Figura 2.2. 1 εi j = (ui, j + u j,i) 2 σ + b̄ j = 0 i j,i ,x ∈ Ω (2.11a) ,x ∈ Ω (2.11b) ,x ∈ Ω (2.11c) ui = ūi , x ∈ ΓD (2.11d) σi j ni = t¯j , x ∈ ΓN (2.11e) σi j = Di jkl εkl em que u representa o campo de deslocamentos, b̄i as forças prescritas por unidade de volume e ūi e t¯i constituem os valores prescritos na fronteira para, respectivamente, o campo de deslocamentos e as forças prescritas por unidade de área. 2.6. A elasticidade tridimensional como um problema de valores de fronteira Tensões Elasticidade σi j σi j = Di jkl εkl Deformações εi j Equilíbrio Compatibilidade σi j,i + b̄ j = 0 εi j = 21 (ui, j + u j,i ) Forças Deslocamentos b̄i ui Figura 2.2: Diagrama de Tonti para o problema de elasticidade linear. 9 Capítulo 3 Obtenção de soluções para problemas da elasticidade tridimensional 3.1 Introdução Como foi apresentado no capítulo 2, o problema da elasticidade em corpos tridimensionais pode ser descrito sob a forma de um problema de valores de fronteira. Assim, o estudo deste problema passa pela procura de uma função que, para o caso em análise, satisfaça o conjunto de condições imposto em (2.11). Devido à complexidade que a configuração do domínio e as condições de fronteira poderão assumir nos problemas da elasticidade tridimensional, na prática torna-se impossível obter, para a generalidade dos problemas, uma expressão analítica que satisfaça o sistema de equações diferenciais parciais considerado no seu domínio, bem como as condições de fronteira (i.e., a solução exacta), sendo apenas possível obter tal expressão em casos excepcionalmente simples. Uma das abordagens alternativas que permite contornar estas dificuldades foi originalmente proposta por Courant (1943). Esta abordagem consiste em substituir o problema P em análise, que possui uma solução S, por um problema relacionado Pn tão simples que permita que a sua solução Sn seja obtida com relativa facilidade. Posteriormente, ao melhorar a aproximação de Pn a P pode-se esperar, assumir ou demonstrar que a solução aproximada Sn converge para a solução desejada S de P. Esta abordagem, descrita de forma genérica, parte da definição de uma função destinada a aproximar a solução exacta, ajustando-a subsequentemente em todo o domínio do problema tal que uma medida do erro de aproximação seja tão reduzida quanto possível. Essa abordagem possui a capacidade de obter soluções para um conjunto de problemas mais vasto em troca da aceitação de resultados aos quais está associado uma margem de erro, erro este que é possível controlar. Motivado por estas características, e consequentemente pelo interesse prático a elas associado, na secção seguinte focar-se-á uma classe de métodos de obtenção de soluções aproximadas para problemas de valores de fronteira: a classe dos métodos dos resíduos ponderados. 11 12 Obtenção de soluções para problemas da elasticidade tridimensional 3.2 Método dos resíduos ponderados De acordo com essa classe de métodos, considere-se a seguinte descrição de um problema de valores de fronteira: L [u(x)] = b̄(x) ui (x) = ūi (x) B [u(x)] = t¯(x) ,x ∈ Ω (3.1a) , x ∈ ΓD (3.1b) , x ∈ ΓN (3.1c) onde u(x) representa a solução exacta do problema, ui (x) a componente i de u(x), L[.] e B[.] correspondem a operadores diferenciais e as expressões (3.1b) e (3.1c) definem as condições de fronteira do problema. Ao substituir nas expressões (3.1a) e (3.1c) a solução exacta do problema por uma sua aproximação que satisfaça a priori a condição (3.1b), função que daqui em diante será referida por função de aproximação da solução exacta ou simplesmente função de aproximação, e representada por ũ(x), passa a não ser possível garantir que se cumpram as condições expressas em (3.1a) e (3.1c). Como consequência, poderá surgir um erro associado ao uso de aproximações da solução exacta nessa expressão, erro esse designado por erro residual ou resíduo. Deste ponto em diante, o trabalho focar-se-á no problema de valores de fronteira da elasticidade linear tridimensional, conforme expresso em (2.11). Assim, u(x) corresponde ao seguinte mapeamento: u : Ω̄ 7→ R3 (3.2) com Ω̄ conforme definido na secção 2.2. Quando considerados individualmente, cada componente de u(x) corresponde ao seguinte mapeamento. ui : Ω̄ 7→ R (3.3) O mapeamento de ũ(x), bem como as respectivas componentes, é idêntico. A partir das condições expressas em (3.1), o resíduo deste problema é representado respectivamente pelas expressões (3.4a) e (3.4b). RΩi (x) = Li [ũ(x)] − b̄i(x) R ΓN i (x) = Bi [ũ(x)] − t¯i (x) (3.4a) (3.4b) onde RΩi (x) e RΓN i (x) representam, respectivamente, o resíduo da condição de equilíbrio no domínio do problema e na fronteira estática segundo o eixo coordenado i. Note-se que a definição a priori de ũ(x) de maneira a garantir o cumprimento da condição (3.1b) implica que, para qualquer aproximação da solução construída desta forma, é garantido que o resíduo da condição de compatibilidade na fronteira cinemática seja nulo. 3.2. Método dos resíduos ponderados 13 Conforme foi referido anteriormente, o objectivo da aplicação desta classe de métodos é a obtenção de uma função que aproxime adequadamente u(x). Na impossibilidade de achar ũ(x) que satisfaça as condições expressas em (3.1a) e (3.1c), esta classe de métodos parte da escolha de uma definição mais genérica de ũ(x), representada por ũ(x, DoF), que representa o seguinte mapeamento: ũ : Ω̄, DoF 7→ R3 (3.5) onde DoF representa o conjunto de parâmetros, referidos como graus de liberdade, que define o comportamento da função ao longo do seu domínio. Estes são definidos da seguinte forma: DoF = 3 [ i=1 {di1 , · · · , din } ∈ Rn (3.6) onde dik representa o grau de liberdade k que está associado à definição de ũi (x). A função ũ(x, DoF), quando atribuídos valores concretos ao conjunto de parâmetros DoF , corresponde a ũ(x). Esta função é referida como função tentativa, e pertence a uma classe de funções cujos membros são capazes de aproximar de forma adequada a solução exacta, tanto no domínio do problema como na sua fronteira, mediante a manipulação dos graus de liberdade que a compõem. Subsequentemente, ũ(x, DoF) é ajustada a u(x) mediante a aplicação de um critério de optimização capaz de obter os valores de DoF que minimizem o erro da aproximação. Desta forma, a distinção entre o conceito de função de aproximação da solução exacta e função tentativa é, respectivamente, a determinação ou não dos valores assumidos pelos graus de liberdade da função. Considerando esta distinção, deste ponto em diante ambas as funções serão representadas por ũ(x), com o estado da determinação dos valores atribuídos aos graus de liberdade a depender do contexto. No método dos resíduos ponderados, o critério de optimização é aplicado através da imposição do anulamento em média do resíduo sobre o domínio do problema. De forma genérica, este procedimento traduz-se na afectação a cada expressão de resíduo de uma função de ponderação (também referida por função peso) e aqui representada por W (x), conforme é indicado na expressão (3.7): Z Z ΓN Wi (x)RΩi (x) dΩ = 0 , i ∈ {1, 2, 3} Wi (x)RΓN i (x) dΓN = 0 , i ∈ {1, 2, 3} Ω̄ (3.7) A partir do conjunto de produtos internos de funções definidos em (3.7) é possível ajustar os parâmetros que definem ũ(x) de maneira a obter aproximações da solução exacta que cumpram de forma aproximada as condições estipuladas pelo problema. O erro associado a ũ(x) variará em função de um conjunto de factores, entre os quais se encontram o critério de optimização adoptado (ou seja, o método empregue para definir a aproximação de ũ(x) a u(x)), o espaço de funções ao qual pertence ũ(x) e as condições de fronteira prescritas no problema. A classe dos métodos dos resíduos ponderados engloba um conjunto alargado de métodos, entre os quais se destacam o método da colocação pontual, o método da colocação por subdomínio, e o método 14 Obtenção de soluções para problemas da elasticidade tridimensional de Galerkin, ver Zienkiewicz et al. (2005, pág. 61). No domínio do método de Galerkin destaca-se uma variante, o método de Bubnov-Galerkin, sobre o qual o presente trabalho se focará deste ponto em diante. 3.3 Método de Bubnov-Galerkin De acordo com o método de Bubnov-Galerkin, as componentes das funções de ponderação, Wi (x), e das funções de aproximação, ũi (x), pertencem ao mesmo espaço linear de funções, referido daqui em diante por Vn , ver Hughes (2000, pág. 8) e Šolín (2006, pág. 46). Por sua vez, este espaço de funções é gerado através da combinação linear de um conjunto de n funções de base, escolhidas criteriosamente, as quais são referidas deste ponto em diante por Nk (x), k ∈ {1, . . . , n}. Assim, as funções de ponderação e funções tentativa são definidas doravante da seguinte forma: Wi (x) = ũi (x) = n ∑ cik Nk (x) k=1 n (3.8) ∑ dik Nk (x) k=1 Tendo em conta estas exigências, a substituição de (3.8) em (3.7) produz a seguinte expressão: n Z c Nk (x)RΩi (x) dΩ ik ∑ k=1 n Ω ∑ cik k=1 Z ΓN Nk (x)RΓN i (x) dΓN =0 (3.9) =0 Considerando as propriedades fundamentais do produto interno de funções reais, a expressão (3.7) só será satisfeita se ui (x) pertencer a Vn , e assim seja possível que ũi (x) represente a solução exacta do problema, ou se ambos os resíduos forem ortogonais a Wi (x). Na impossibilidade de usar a primeira opção, para que o resíduo seja ortogonal para qualquer Wi (x) então a função que o define terá de ser ortogonal a todas as funções de base que geram Vn . Desta forma, torna-se possível expressar esta condição através do seguinte sistema de equações: Z N1 (x)RΩi (x) dx = 0 Ω .. . Z Nn (x)RΩi (x) dx = 0 Z Ω (3.10) N1 (x)RΓN i (x) dx = 0 ΓN .. . Z Nn (x)RΓN i (x) dx = 0 ΓN Como o espaço de funções Vn é gerado por um conjunto de n funções de base, o sistema de equações representado em (3.10) representa um sistema de (2 × 3 n) equações com (3n) incógnitas, sendo as 3.4. Formulação fraca do método de Bubnov-Galerkin 15 incógnitas os escalares dik que intervém na definição de ũi (x). Note-se que ũi (x) resulta da combinação linear das funções de base Nk (x) onde intervém os escalares dik , e consequentemente a imagem de ũi (x) depende exclusivamente destes escalares. Esta forma permite simplificar e sistematizar o processo de obtenção de soluções aproximadas para problemas de valor na fronteira, bem como relaxar as exigências impostas à selecção das funções de base que geram o espaço Vn . Uma outra propriedade deste método é a da convergência de ũ(x) para u(x) depender directamente do número de funções de base que geram o espaço Vn , e que mediante uma escolha criteriosa de funções de base é possível definir sucessões de espaços vectoriais de funções Vn que permitem que a respectiva sucessão de funções ũ(x) geradas por eles convirja para a solução exacta do problema, ver Šolín (2006, pág. 46). O método dos resíduos ponderados pode ainda ser formulado de maneira a relaxar as exigências de continuidade impostas ao espaço de funções Vn . É sobre esta formulação, denominada formulação fraca do problema, que irá incidir a secção seguinte. 3.4 Formulação fraca do método de Bubnov-Galerkin Como ponto de partida considere-se a aplicação do método de Bubnov-Galerkin ao problema de valores de fronteira da elasticidade tridimensional, conforme apresentado em (2.11). Uma vez que é necessário anular o resíduo produzido pela expressões de equilíbrio tanto no domínio como na fronteira estática, obtém-se a seguinte expressão: Z Z Ω ΓN Wi (x) σ ji, j (x) + b̄i (x) dΩ = 0 Wi (x) (σ ji (x)n j (x) − t¯i (x)) dΓN = 0 (3.11a) (3.11b) Aplicando a fórmula de integração por partes a (3.11a), a expressão do equilíbrio no domínio passa a assumir a seguinte forma: Z Ω Wi, j (x)σi j (x) dΩ = Z Ω (Wi (x)σi j (x)), j dΩ + Z Ω Wi (x)b̄i (x) dΩ (3.12) A principal consequência da aplicação da fórmula de integração por partes reside na redução da ordem das derivadas de ũi (x). Isto implica que o espaço Vn passa a poder ser gerado por um conjunto de funções de base que pertençam a uma classe de diferenciabilidade inferior àquela exigida pela formulação anterior. Outra consequência importante que é possível constatar na expressão anterior prende-se com a derivação agora imposta a Wi (x). Substituindo a expressão (2.11a) em (2.11c), verifica-se que σi j , presente no primeiro termo, inclui derivadas de primeira ordem de ũi (x). Com esta alteração é possível constatar que ambas as funções pertencem ao mesmo espaço de funções: o sub-espaço de Vn gerado pelas derivadas das funções de base de Vn . Esta formulação do método Bubnov-Galerkin permite a redução da ordem de diferenciabilidade exigida às funções de base. Devido a este “enfraquecimento” das exigências de conti- 16 Obtenção de soluções para problemas da elasticidade tridimensional nuidade, esta formulação é referida como formulação fraca ou forma fraca do problema, ver Reddy (1993, pág. 30) e Wunderlich e Pilkey (2003, pág. 450). Tomando em consideração as condições de equilíbrio na fronteira definidas através da expressão (2.11e) (ou seja, as condições de fronteira estáticas), aplica-se o teorema da divergência ao primeiro termo do segundo membro da equação (3.12). Ao somar o resíduo do domínio (3.11a) com o resíduo na fronteira (3.11b), chega-se a: Z Ω Wi, j (x)σi j (x) dΩ = Z ΓN Wi (x)t¯i (x) dΓN + Z Ω Wi (x)b̄i (x) dΩ (3.13) Com esta etapa, a dimensão do problema da anulação dos resíduos na fronteira e no domínio passou de (6n) equações para (3n), ambas com (6n) incógnitas. Substituindo em (3.13) a definição de Wi (x) conforme indicado em (3.8) obtém-se a seguinte expressão: Z n ∑ cik Nk, j (x)σi j (x) dΩ = Ω k=1 Z n ∑ cik Nk (x)t¯i (x) dΓN + ΓN k=1 Z n ∑ cik Nk (x)b̄i (x) dΩ Ω (3.14) k=1 Devido à forma como foram definidas as funções Wi (x) e ũi (x), e tendo em conta que o espaço Vn é gerado a partir de um conjunto de n funções de base, cada equação possui (6n) incógnitas, constituídas pelos escalares cik e dik que compõem, respectivamente, Wi (x) e ũi (x). Apesar desta expressão apresentar uma forma consideravelmente diferente daquela encontrada em (3.11), ela constitui ainda a aplicação do método de Bubnov-Galerkin para obtenção de soluções aproximadas para o problema da elasticidade. Portanto, e conforme a secção anterior, o objectivo ainda consiste em obter uma função ũi (x) que anule o resíduo das equações de equilíbrio no domínio e na fronteira do problema. Para tal, as expressões do resíduo terão novamente de ser ortogonais a qualquer função Wi (x), o que é conseguido ao garantir que o resíduo é ortogonal a qualquer função de base que gera o espaço Vn . Refactorizando a expressão (3.14) de maneira a pôr em evidência os escalares cik , é possível reorganizá-la em um sistema de (3n) equações, cada uma representando a ponderação dos resíduos no domínio e na fronteira pelo respectivo conjunto de funções de base que geram de Vn , conforme é indicado na expressão seguinte: Z Z cik − Nk, j (x)σi j (x) dΩ + Ω ΓN Nk (x)t¯i (x) dΓN + Z Ω Nk (x)b̄i (x) dΩ = 0 (3.15) Novamente, como os resíduos devem ser eliminados para qualquer Wi (x), então o sistema de equações (3.15) terá de ser válido para qualquer valor assumido pelos escalares cik . Como consequência, torna-se possível ignorar a solução trivial cik = 0, eliminando assim a intervenção destes escalares na obtenção de uma solução para o problema. Com este passo o número de incógnitas do problema é reduzido de (6n) para (3n) e o problema é reduzido a um sistema de (3n) equações com (3n) incógnitas, sendo as incógnitas do problema os escalares dik usados na definição de ũk (x), conforme apresentada em (3.8). Reorganizando as equações chega-se ao seguinte sistema de equações: 3.4. Formulação fraca do método de Bubnov-Galerkin Z Ω Nk, j (x)σi j (x) dΩ = Z ΓN Nk (x)t¯i (x) dΓN + 17 Z Ω Nk (x)b̄i (x) dΩ (3.16) Focando agora a atenção no primeiro membro de (3.16), é possível expandir os índices i e j, obtendo-se: Z Z N (x)σ (x) dΩ = Nk,1 (x)σ11 (x) + Nk,2 (x)σ12 (x) + Nk,3 (x)σ13 (x) dΩ 1 j k, j Ω ZΩ Z Nk, j (x)σ2 j (x) dΩ = Nk,1 (x)σ21 (x) + Nk,2 (x)σ22 (x) + Nk,3 (x)σ23 (x) dΩ Ω ZΩ Z Nk, j (x)σ3 j (x) dΩ = Nk,1 (x)σ31 (x) + Nk,2 (x)σ32 (x) + Nk,3 (x)σ33 (x) dΩ Ω (3.17) Ω Agora, substituindo a definição das relações deformações-deslocamentos apresentada em (2.5) na relação constitutiva (2.9), considerando a definição de ũi (x) conforme apresentada em (3.8) e omitindo os vectores associados às deformações e tensões residuais, obtém-se a seguinte expressão para as relações tensões-deslocamentos: # " n n n E σ11 = (1 − ν) ∑ Nl,1 (x)d1l + ν ∑ Nl,2 (x)d2l + ν ∑ Nl,3 (x)d3l (1 + ν)(1 − 2ν) l l l # " n n n E ν Nl,1 (x)d1l + (1 − ν) ∑ Nl,2 (x)d2l + ν ∑ Nl,3 (x)d3l σ22 = (1 + ν)(1 − 2ν) ∑ l l l # " n n n E σ = ν Nl,1 (x)d1l + ν ∑ Nl,2 (x)d2l + (1 − ν) ∑ Nl,3 (x)d3l 33 (1 + ν)(1 − 2ν) ∑ l l l ! n n E σ12 = Nl,2 (x)d1l + ∑ Nl,1 (x)d2l 1+ν ∑ l l ! n n E Nl,3 (x)d2l + ∑ Nl,2 (x)d3l σ23 = 1+ν ∑ l l ! n n E σ13 = 1 + ν ∑ Nl,3 (x)d1l + ∑ Nl,1 (x)d3l l l (3.18) Substituindo as definições de (3.18) em (3.17), considerando a condição de simetria expressa em (2.3), e reagrupando os factores associados aos parâmetros dik obtém-se a seguinte expressão: 18 Obtenção de soluções para problemas da elasticidade tridimensional R Ω Nk, j σ1 j dΩ = R Nk, j σ2 j dΩ = Ω R Ω Nk, j σ3 j dΩ = R E(1−ν) E E Nk,1 (1+ν)(1−2ν) Nl,2 + Nk,3 1+ν Nl,3 dΩ d1l + Nl,1 + Nk,2 1+ν R Eν E Nl,1 dΩ d2l + + ∑nl=1 Ω Nk,1 (1+ν)(1−2ν) Nl,2 + Nk,2 1+ν R Eν E + ∑nl=1 Ω Nk,1 (1+ν)(1−2ν) Nl,3 + Nk,3 1+ν Nl,1 dΩ d3l R Eν E Nl,2 + Nk,2 (1+ν)(1−2ν) Nl,1 dΩ d1l + ∑nl=1 Ω Nk,1 1+ν R E(1−ν) E E Nl,1 + Nk,2 (1+ν)(2ν) Nl,3 dΩ d2l + Nl,2 + Nk,3 1+ν + ∑nl=1 Ω Nk,1 1+ν R Eν E + ∑nl=1 Ω Nk,2 (1+ν)(1−2ν) Nl,3 + Nk,3 1+ν Nl,2 dΩ d3,l R Eν E Nl,3 + Nk,3 (1+ν)(1−2ν) Nl,1 dΩ d1l + ∑nl=1 Ω Nk,1 1+ν R Eν E Nl,3 + Nk,3 (1+ν)(1−2ν) Nl,2 dΩ d2l + + ∑nl=1 Ω Nk,2 1+ν R E(1−ν) E E Nl,3 dΩ d3l + ∑nl=1 Ω Nk,1 1+ν Nl,1 + Nk,2 1+ν Nl,2 + Nk,3 (1+ν)(1−2ν) ∑nl=1 Ω (3.19) Chegado a este ponto, agora é possível expressar a aplicação da forma fraca do problema da elasticidade tridimensional em notação matricial. a(11)(11) a(21)(11) a(31)(11) a(1n)(11) a(2n)(11) a(3n)(11) a(11)(21) a(11)(31) ··· a(11)(1n) a(11)(2n) a(21)(21) a(21)(31) ··· a(21)(1n) a(21)(2n) a(31)(21) a(31)(31) ··· a(31)(1n) a(31)(2n) .. . .. .. . . a(1n)(21) a(1n)(31) ··· a(1n)(1n) a(1n)(2n) a(2n)(21) a(2n)(31) ··· a(2n)(1n) a(2n)(2n) a(3n)(21) a(3n)(31) ··· a(3n)(1n) a(3n)(2n) em que: a(ik)( jl) = Z e Ω a(11)(3n) f11 d11 a(21)(3n) d f 21 21 a(31)(3n) d f 31 31 .. .. = . . a(1n)(3n) d f 1n 1n a(2n)(3n) d f 2n 2n a(3n)(3n) d3n f3n ! 3 E E(1 − ν) Nl, j + ∑ Nk,m Nl,m dΩ Nk,i (1 + ν)(1 − 2ν) 1+ν m6=i, j Z Eν E Nk,i Nl, j + Nk, j Nl,i dΩ (1 + ν)(1 − 2ν) 1+ν Ω fik = Z ΓN Nk (x)t¯i (x) dΓN + Z Ω Nk (x)b̄i (x) dΩ (3.20) ,i = j (3.21) , i 6= j (3.22) A expressão (3.22) pode ainda ser representado da seguinte forma: fik = fikΓN + fikΩ (3.23) Γ em que fik N e fikΩ correspondem, respectivamente, à contribuição das cargas distribuídas na superfície e no domínio, i.e., fikΓN = Z ΓN Nk (x)t¯i (x) dΓN (3.24) 3.4. Formulação fraca do método de Bubnov-Galerkin e fikΩ = Z Ω Nk (x)b̄i (x) dΩ 19 (3.25) Renomeando os índices usados na expressão (3.20) de maneira a apresentarem uma numeração sequencial (i, j = 1...3n) é possível reescrever o resultado da aplicação do método de Bubnov-Galerkin ao problema da elasticidade tridimensional na forma canónica da equação do método dos elementos finitos, conforme é apresentado em (3.26): Ki j d j = fi (3.26) onde a matriz K é referida por matriz de rigidez global e o vector f por vector de forças nodais equivalentes. Em notação matricial tem-se: [K] {d} = { f } (3.27) Separando as contribuições para o vector de forças nodais equivalentes, conforme representado em (3.23), a expressão (3.26) assume a seguinte forma: [K] {d} = f ΓN + { f Ω } (3.28) Por fim, é necessário referir a forma como são contabilizadas as condições de fronteira cinemáticas. Enquanto as condições de fronteira estática são contabilizadas directamente na expressão do resíduo, e assim são naturalmente incorporadas no problema, ainda é necessário impor as condições de fronteira cinemática. Atendendo à definição de ũi (x) conforme é indicado em (3.8) e considerando que o conjunto de funções de base a partir do qual ũi (x) é gerada é adequado ao problema, a imposição de restrições a ũi (x) é conseguida através da atribuição prévia de valores a um conjunto de incógnitas dik de maneira a garantir logo à partida que a função de aproximação cumpre estas condições de fronteira. Como os escalares dik que entram na definição de ũi (x) constituem as incógnitas do problema (3.26), a fixação do valor de um conjunto de graus de liberdade dik implica a redução do número de incógnitas que é necessário determinar através da resolução do sistema de equações, juntamente com a redução do número de equações que é necessário empregar para que o sistema seja determinado. Desta forma, o sistema de equações expresso em (3.26) pode ser representado de maneira a reflectir a atribuição de valores a um conjunto de escalares d j (Fish e Belytschko, 2007, pág. 21), conforme apresentado em (3.29). K E KFE dE KEF fE + rE = KF dF fF (3.29) em que {dE } representa o vector das condições de fronteira essenciais, que corresponde ao conjunto de graus de liberdade cujo valor foi previamente prescrito de modo a cumprir logo à partida as condições cinemáticas impostas pelo problema na fronteira do seu domínio. Da mesma forma, {dF } representa o conjunto de graus de liberdade livres, ou seja, o conjunto de incógnitas de d j que se pretende determinar, 20 Obtenção de soluções para problemas da elasticidade tridimensional com a resolução do sistema de equações. Os vectores { fE } e { fF } representam o conjunto de forças nodais equivalentes que incidem, respectivamente, nos graus de liberdade com deslocamentos previamente prescritos e livres. O vector {rE } corresponde às forças de reacção nodais equivalentes que surgem nos graus de liberdade com deslocamentos prescritos de maneira a equilibrar a contribuição das forças nodais equivalentes. A atribuição de valores a um conjunto de incógnitas de d j com o intuito de garantir o cumprimento de um conjunto de condições cinemáticas do problema é referido por prescrição de graus de liberdade, enquanto que as restantes incógnitas são referidas por graus de liberdade livres, (Wunderlich e Pilkey, 2003, pág. 451). Na matriz de rigidez, [KE ] representa a sub-matriz de [K] onde são agrupados os coeficientes que são afectados aos graus de liberdade prescritos, [KF ] a sub-matriz onde se agrupam os coeficientes de [K] afectados apenas aos graus de liberdade livres. Por fim, a matriz [KEF ] representa a sub-matriz composta pelos coeficientes de [K] que, ao ser multiplicada por {dF }, contribui para o equilíbrio da equação nos graus de liberdade prescritos. Da mesma forma, a matriz [KFE ], quando multiplicada por {dE }, contribui para o equilíbrio da expressão nos graus de liberdade livres (Fish e Belytschko, 2007, pág. 21). Atendendo a que a obtenção de uma solução para o problema (ou seja, a definição de ũ(x)) passa pela resolução do sistema de equações expresso em (3.29), e como parte dos graus de liberdade do problema já se encontram determinados à partida, basta obter uma solução para os graus de liberdade livres para poder definir a aproximação da solução exacta do problema. Desta forma, o sistema de equações passa a ser expressa da seguinte maneira: [KF ]{dF } = { fF } − [KFE ]{dE } (3.30) Através da resolução do sistema de equações (3.30) é possível determinar as incógnitas {dF }. Ao conjugar {dE } com {dF } torna-se possível completar a definição de ũ e assim obter uma solução aproximada para o campo de deslocamentos do problema em análise e consequentemente permitir o pós-processamento dos resultados. 3.5 Método dos elementos finitos O método dos elementos finitos, conforme será aqui exposto, corresponde à aplicação da formulação fraca do método de Bubnov-Galerkin para a obtenção de soluções aproximadas de problemas de valores de fronteira. O pormenor que destaca esta formulação é a forma como é definida ũi (x). Com este método, ũi (x) assume a forma de uma função definida por troços1 , com cada troço a corresponder a uma sub-região de Ω que serve de suporte a uma sub-função de aproximação. Cada troço da função é definido de maneira a que o seu suporte corresponda a uma região com uma configuração geométrica simples. Estas regiões necessitam ainda de ser disjuntas entre si e que a união de todas elas corresponda ao domínio do problema, ver Babuška e Strouboulis (2001, pág. 52). Esta escolha criteriosa da forma como ũi (x) é construída tem 1 No presente texto, o termo “troço” refere-se a um sub-domínio de uma função de variável n-dimensional. 3.5. Método dos elementos finitos 21 (a) (b) Figura 3.1: Representação de um domínio genérico a) de acordo com a sua definição original e b) submetido a uma partição. implicações profundas na aplicabilidade prática da formulação fraca do método de Bubnov-Galerkin, como se verá nesta secção. A definição de ũi (x) é realizada com base na divisão de Ω nos sub-domínios que servirão de suporte a cada troço da função. Considera-se então a divisão do domínio Ω do problema em sub-domínios Ωek tais que (Pina, 1995, pág. 587): Ω̄ = [ k Ω̄ek , \ Ωek = 0/ k Uma sub-divisão do domínio do problema que cumpra estas condições, conforme é representado na figura 3.1, é daqui em diante referido como partição do domínio ou simplesmente partição. De modo a definir os troços de ũi (x), cada um dos sub-domínios Ωek corresponderá ao suporte de uma função ũeik (x), adoptada para aproximar a solução exacta. Cada função ũeik (x) pertence a um espaço de e . Como cada Ωe corresponde funções específico de cada sub-região Ωek , referido a partir deste ponto por Vnk k a uma região com uma configuração geométrica simples, o problema da obtenção de ũeik (x) é reduzido ao problema de encontrar, para cada uma destas regiões simples, um espaço de funções que, com o suporte restrito a essa região, permita gerar funções capazes de aproximar a solução do problema na região considerada. Como a partição de Ω é realizada de forma arbitrária, esta operação pode ser conduzida de maneira a definir apenas sub-domínios Ωek que, por meio de uma transformação, corresponderão a um polítopo de referência, referido por Ωk e,local , conforme representado na figura 3.2. A este polítopo de referência poderá ser associado um sistema de coordenadas escolhido criteriosamente de maneira a mapear conveniente os pontos nele contidos. Este sistema de coordenadas recebe o nome de sistema de coordenadas local, ou simplesmente coordenadas locais, em contraste com o sistema de coordenadas usado como referência para o domínio do problema na sua globalidade, referido por sistema de coordenadas global (Hughes, 2000, pág. 37). É também de notar que o termo coordenadas naturais é também usado como sinónimo de coordenadas locais (Fish e Belytschko, 2007, pág. 164). Ao representar qualquer Ωek em função de um Ωk e,local , o problema da obtenção de qualquer ũeik (x) reduz-se à adopção de conjuntos de funções de base para Ωk e,local de maneira a gerar um sub-espaço de 22 Obtenção de soluções para problemas da elasticidade tridimensional Figura 3.2: Polítopo regular de referência e sub-domínios de Ω. funções no domínio do polítopo de referência. Posteriormente, cada um destes conjuntos de funções de base, ao ser sujeito a uma transformação apropriada, permite que se obtenha para qualquer Ωek o conjunto e , o que torna possível obter ũe em qualquer troço da função. de funções de base que gerará o respectivo Vnk ik Com isto, é importante apontar que cada polítopo de referência pode servir de base a várias formas distintas de aproximar a solução exacta, bastando apenas que atribuam conjuntos distintos de funções de base. De acordo com esta abordagem, a definição de ũi (x) para um domínio repartido em m sub-domínios passa a ser expressa da seguinte forma: ũi (x) = ũe (x) i1 . .. ũe (x) im , x ∈ Ωe1 (3.31) , x ∈ Ωem e , com o respectivo suporte Ωe , correspondente a um A associação de cada ũeik (x), incluída em cada Vnk k troço de ũi (x), recebeu o nome de elemento finito, (Reddy, 1993, pág. 4). É a partir deste conceito donde deriva o nome atribuído ao método, conforme indicado em Clough (1980). No entanto, é também de referir que este conceito já é referido pelo termo elemento em Courant (1943). O uso do conceito de elemento finito para definir o domínio do problema e gerar aproximações da solução exacta possibilita a sistematização da geração de ũ(x) para qualquer problema em análise. Após a definição de um conjunto de tipos de elementos finitos, o problema da geração de ũ(x) reduz-se essencialmente a um problema da partição do domínio em sub-domínios cuja forma corresponda, por meio de uma transformação, ao polítopo de referência de um dos elementos finitos adoptados para construir ũ(x). Como se trata de um problema essencialmente geométrico, para o qual existe uma multitude de algoritmos à disposição, isto implica que a sistematização da geração de ũ(x) depende essencialmente da implementação de um destes algoritmos de forma a sistematizar a partição de qualquer Ω em um conjunto de elementos finitos. Uma propriedade das soluções produzidas pelo método dos elementos finitos é ũi (x) passar a representar uma união de um conjunto de funções, cada uma gerada de forma independente, empregues para aproximar a solução exacta somente em cada Ωek (de Arantes e Oliveira, 1968, pág. 7). Por conseguinte, a 3.5. Método dos elementos finitos 23 definição da função empregue em cada troço é independente das funções geradas em troços adjacentes. Isto leva a que cada elemento finito incluído em um problema possa ser analisado de forma largamente independente de todos os outros elementos. Considerando a definição de ũi (x) apresentada em (3.8) e adoptando-a para ũeik (x), como cada ũeik (x) tem como suporte Ωek , então estas funções podem ser expressas da seguinte forma: ũeik (x) = n e Nkle (x) ∑ dikl l=1 0 , x ∈ Ωek ,x ∈ / (3.32) Ωek Uma vez que Ω é repartido em m sub-domínios, ũi (x) pode ser definida através de uma combinação das funções ũeik (x) que tem como suporte cada um dos m sub-domínios Ωek definidos em uma partição de Ω. Desta forma, e adoptando para qualquer ũeik (x) a definição apresentada em (3.32), ũi (x) é definida através da seguinte expressão: m ũi (x) = ∑ ũeik (x) (3.33) k=1 Esta composição leva a que haja graus de liberdade a serem partilhados por vários elementos. Considerando a definição (3.32), esta partilha de graus de liberdade é expressa a partir de: e e dimo = dinp = dik (3.34) e representa o grau de liberdade o do elemento m e d e representa o grau de liberdade p do em que dimo inp elemento n. Esse grau de liberdade corresponde, conforme (3.8), ao grau de liberdade dik do problema. Substituindo (3.34) na expressão (3.33) e tendo em consideração a definição (3.32), chega-se à seguinte expressão: e e dik Nk (x) = dik (Nkm (x) + Nkn (x)) (3.35) Uma vez que não há um limite para o número de elementos que partilhem um determinado grau de liberdade, a partir da expressão (3.35) chega-se ao seguinte resultado: Nk (x) = ∑ Nkle (x) (3.36) l A relação expressa em (3.36) indica que, através do método dos elementos finitos, cada função de base que intervém na geração do espaço Vn é uma função de base de um elemento, caso o grau de liberdade esteja exclusivamente associado a esse elemento, ou é uma função que resulta da soma de um conjunto de funções de base de um conjunto de elementos associadas ao mesmo grau de liberdade. Outra consequência da definição (3.32) reside no impacto que ela tem na definição da equação do método dos elementos finitos, conforme apresentado em (3.26). Considerando a definição apresentada em (3.20), constata-se que cada elemento a(ik)( jl) que compõe a matriz de rigidez global representa um integral de uma 24 Obtenção de soluções para problemas da elasticidade tridimensional e N11 e N1 = N11 e N12 e N21 e + Ne N2 = N12 21 e N22 e N3 = N22 Figura 3.3: Funções de base dos elementos e a sua correspondência com as funções de base globais. expressão composta por derivadas de funções de base de Vn sobre o domínio do problema. Considerando a definição de ũi (x) apresentada em (3.33) e notando que em cada elemento finito a solução exacta é aproximada por uma sub-função de aproximação ũeik (x), conforme definida em (3.32), a substituição de (3.33) em (3.20) implica que alguns elementos a(ik)( jl) serão nulos. Esta propriedade implica que a largura de banda da matriz de rigidez, e consequentemente o seu grau de esparsidade, depende das funções de base adoptadas para cada elemento. Esta propriedade permite constatar uma característica importante relativa ao esforço computacional exigido pela aplicação prática deste método. Para tal, considere-se um modelo abstracto cuja partição do domínio resulta na definição de m graus de liberdade partilhados por n elementos. A aplicação do método dos elementos finitos para a obtenção de uma aproximação da solução exacta do problema é dividida essencialmente em duas etapas: a obtenção da equação do método dos elementos finitos e a resolução do respectivo sistema de equações. Analisando o algoritmo é possível constatar que a etapa da obtenção da equação do método dos elementos finitos tende a exibir um grau de complexidade O(n). Por seu lado, o grau de complexidade associado à etapa da resolução do sistema de equações depende do algoritmo empregue. Para sistemas de equações representados através de matrizes densas, pode assumir valores tal como O(2n3 /3) para o método de Gauss (Pina, 1995, pág. 229) e O(n3 /6) para o método de Cholesky (Pina, 1995, pág. 249). O uso de métodos iterativos, como o método dos gradientes conjugados, requer O(n2 ) por iteração (Pina, 1995, pág. 369). Caso se tratem de sistemas de equações representados através de matrizes banda, é referido em Pina (1995, pág. 250) que o número de flops necessários para a execução da factorização é O (βi βs n), em que βi e βs correspondem, respectivamente, à largura de banda inferior e superior e n corresponde à ordem da matriz. Como uma matriz esparsa poderá assumir a estrutura de uma matriz de banda mediante uma criteriosa troca de linhas e colunas então esta estimativa do grau de complexidade associado à factorização de matrizes banda pode também ser tomada como uma aproximação do esforço computacional exigido pelo método dos elementos finitos. Desta forma é possível constatar que, com o aumento do número de graus de liberdade de um problema, o esforço computacional exigido pelo método dos elementos finitos tende a concentrar-se na etapa de 3.5. Método dos elementos finitos resolução do sistema de equações. Ou seja, com o aumento do número de graus de liberdade de um problema, o aumento relativo do esforço computacional que é necessário para construir um sistema de um modelo sujeito a um refinamento- p é desprezável quando comparado com o esforço computacional necessário para a sua resolução. Conforme referido na secção 3.1, para se obter para um dado problema P uma solução aproximada Sn que convirja para a solução exacta S, é necessário não só substituir o problema P por um problema relacionado Pn como também posteriormente melhorar a aproximação de Pn para P (Courant, 1943). No contexto do método dos elementos finitos, a substituição de P por Pn corresponde ao abandono da obtenção de uma solução exacta em favor do ajustamento de uma função ũi (x), definida por troços, que é ajustada à solução exacta mediante a aplicação da formulação fraca do método Bubnov-Galerkin. Com isto, fica ainda por abordar a melhoria de aproximação de Pn para P necessária para que Sn convirja para S. Tendo em conta que a aproximação de Pn a P depende exclusivamente da função ũi (x) adoptada para aproximar a solução exacta, a convergência de Sn para S fica assim a depender exclusivamente da partição e de Ω e dos espaços de funções Vnk adoptados para gerar as ũeik (x) usadas na composição de ũi (x). Sobre a partição, a convergência para a solução exacta é assegurada através de uma sucessão de partições do domínio em que o termo seguinte da sucessão corresponde a uma sub-divisão da partição representada e , e assumindo que o problema inclui derivadas de pelo termo anterior. Para os espaços de funções Vnk ordem p, uma condição suficiente para garantir a convergência dos resultados é a expressão analítica das funções ũeik (x) ser dada como um polinómio com um número de coeficientes igual ao número de graus de liberdade, e que a expansão da expressão analítica de ũeik (x) resulte num polinómio completo de ordem p com todos os termos afectos a graus de liberdade deste troço de ũi (x) (de Arantes e Oliveira, 1968, pág. 16). Esta última condição é referida por condição de completude. É, no entanto, de referir que o método dos elementos finitos não está limitado ao uso de funções de interpolação polinomiais (Reddy, 1993, pág. 14), nem que o cumprimento da condição de completude é necessário para garantir a convergência dos resultados. Uma forma de avaliar o comportamento de tipos de elementos finitos que não se enquadram nestes casos consiste na realização de um conjunto de testes, conhecidos por patch test (Zienkiewicz et al., 2005, pág. 39). Este tipo de testes consistem essencialmente na definição de uma malha composta por um número reduzido destes elementos, a fim de avaliar a qualidade dos resultados obtidos na análise. A obtenção de ũ(x) através do método dos elementos finitos tem consequências práticas de grande importância. A adopção desta metodologia permite sistematizar a abordagem a qualquer problema, resumindo a aplicação do método à definição de um conjunto de vários problemas distintos cujos domínios correspondem a fracções do problema inicial, e que, exceptuando as condições impostas nas fronteiras partilhadas por sub-domínios, podem ser definidos independentemente. Como consequência directa surge a possibilidade de converter qualquer problema, independente da complexidade do domínio e condições de fronteira, em um conjunto de vários problemas simples cuja resolução poderá ser efectuada de forma sistemática e comparativamente mais simples. Juntamente, a discretização do domínio em elementos fini- 25 26 Obtenção de soluções para problemas da elasticidade tridimensional tos também traz benefícios tais como a capacidade de modelar problemas que exibem uma configuração arbitrariamente complexa do domínio e das suas condições de fronteira. 3.6 Princípio dos trabalhos virtuais Uma das particularidades da aplicação do método de Bubnov-Galerkin ao problema da elasticidade tridimensional é a correspondência que tem com um princípio fundamental da mecânica: o princípio dos trabalhos virtuais. De acordo com o princípio dos trabalhos virtuais, a condição necessária e suficiente para o equilíbrio de um corpo é que a soma dos trabalhos virtuais de todas as forças actuantes sobre o sistema seja nula para quaisquer deslocamentos virtuais compatíveis com as ligações, de Arantes e Oliveira (1999, pág. 81). Se o trabalho virtual das forças exteriores for representado por δτe e o trabalho virtual das forças interiores por δτi , então, conforme indicado em Wunderlich e Pilkey (2003, pág. 90), o balanço de trabalhos proveniente de uma acção pode ser representado através da seguinte igualdade: δτe = δτi (3.37) O trabalho virtual de um sistema de forças exteriores no campo de deslocamentos δui (x) é dado pela seguinte expressão: δτe = Z Ω b̄i δui (x) dΩ + Z ΓN t¯i δui (x) dΓN (3.38) Da mesma forma, o trabalho das forças interiores é obtido através de: δτi = Z Ω σi j (x) δεi j (x) dΩ (3.39) Uma vez que em problemas da elasticidade tridimensional é possível expressar o campo de forças interiores em função de um campo de deslocamentos, o problema pode ser definido de uma forma mais específica: obter um campo de deslocamentos real tal que o trabalho das forças interiores iguale o das forças exteriores para qualquer campo de deslocamentos virtual. Desta forma, recorrendo ao conceito de operador e adoptando notação matricial, começa-se por definir o campo de deslocamentos do problema: ũ (x) 1 {ũ(x)} = ũ2 (x) ũ3 (x) (3.40) em que, novamente, x = (x1 , x2 , x3 ) ∈ Ω̄ ⊂ R3 . De maneira a obter uma numeração sequencial dos graus de liberdade do problema, é possível definir o campo de deslocamentos como o produto entre a matriz das funções de base do campo de deslocamentos, 3.6. Princípio dos trabalhos virtuais 27 composto pelas funções de base de Vn , e o vector composto pelos graus de liberdade. Para tal, e mais uma vez considerando que cada ũi (x) é obtida a partir da combinação linear de n funções de base, torna-se possível definir o campo de deslocamentos da seguinte maneira: N (x) 1 {ũ(x)} = [N(x)] {d} = 0 0 0 0 ··· Nn (x) N1 (x) 0 ··· 0 N1 (x) · · · 0 0 d 1 d 2 d 0 0 3 .. Nn (x) 0 . 0 Nn (x) d 3n−2 d 3n−1 d (3.41) 3n A partir do campo de deslocamentos, e seguindo a definição da relação de compatibilidade apresentada em (2.5), o campo de deformações é obtido da seguinte forma: ε11 (x) ε (x) 22 ε (x) 33 = [A]{ũ(x)} {ε(x)} = 2ε12 (x) 2ε23 (x) 2ε13 (x) (3.42) sendo [A] o operador diferencial de compatibilidade, cuja definição é: ∂ ∂x1 0 0 [A] = ∂ ∂x 2 0 ∂ ∂x3 0 ∂ ∂x2 0 ∂ ∂x1 ∂ ∂x3 0 0 0 ∂ ∂x3 0 ∂ ∂x2 (3.43) ∂ ∂x1 Ao aplicar o operador diferencial A à matriz das funções de base do campo de deslocamentos, conforme definida em (3.41), é possível representar o campo de deformações através do produto entre uma matriz global das derivadas parciais das funções de base de ũi (x), referida por B, e o vector dos graus de liberdade do campo de deslocamentos, {d}, conforme é indicado a seguir: {ε(x)} = [B(x)]{d} (3.44) onde a matriz B(x), de dimensão (6 × 3n), é composta por n matrizes das derivadas parciais das funções de base: [B(x)] = [B1 (x), · · · , Bn (x)] (3.45) 28 Obtenção de soluções para problemas da elasticidade tridimensional em que: ∂Ni (x) ∂x1 0 0 [Bi (x)] = ∂Ni (x) ∂x 2 0 ∂Ni (x) ∂x3 0 0 0 ∂Ni (x) ∂x3 0 ∂Ni (x) ∂x2 ∂Ni (x) ∂x2 0 ∂Ni (x) ∂x1 ∂Ni (x) ∂x3 (3.46) ∂Ni (x) ∂x1 0 Seguindo a mesma metodologia, e novamente ignorando as tensões residuais, o campo de tensões assume a seguinte forma: σ (x) 11 σ (x) 22 σ33 (x) = [D]{ε(x)} = [D][B(x)]{d} {σ(x)} = σ12 (x) σ (x) 23 σ13 (x) (3.47) A matriz D representa a matriz constitutiva que, para o caso de materiais isotrópicos, assume a seguinte forma: 1−ν ν ν ν 1−ν ν ν ν 1−ν E [D] = (1 + ν)(1 − 2ν) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1−2ν 2 0 0 1−2ν 2 0 0 0 0 0 0 0 (3.48) 1−2ν 2 sendo E o módulo de Young e ν o coeficiente de Poisson. Representando o campo de deslocamentos virtuais por δũ(x) e o respectivo campo de deformações por δε(x), o trabalho virtual das forças exteriores e interiores é dado através de: Z Z e δτ = δũi (x)b̄i (x) dΩ + δτi = Z Ω Ω ΓN δũi (x)t¯i (x) dΓN (3.49) δεi j (x)σi j (x) dΩ Em notação matricial, estas expressões assumem a forma: Z Z e T {δũ(x)}T {t¯(x)} dΓN δτ = {δũ(x)} {b̄(x)} dΩ + Ω δτi = Z Ω ΓN {δε(x)}T {σ(x)} dΩ (3.50a) (3.50b) 3.7. Recuperação de grandezas 29 Substituindo a definição do campo de tensões apresentada em (3.47) e a definição do campo de deformações apresentada em (3.44) em (3.50b) e de seguida igualando (3.50a) a (3.50b) é possível obter a expressão (3.51). Z Ω {δd}T [B(x)]T [D][B(x)]{d} dΩ = Z Ω {δũ(x)}T {b̄(x)} dΩ + Z ΓN {δũ(x)}T {t¯(x)} dΓN (3.51) Novamente, como a soma dos trabalhos de todas as forças actuantes no sistema terá de ser nula para quaisquer deslocamentos virtuais então, considerando a definição adoptada para o campo de deslocamentos, o trabalho das forças interiores terá de igualar o trabalho das forças exteriores para qualquer valor de {δd}. Desta forma, reagrupando todos os factores de (3.51) associados a constantes di e impondo que cada factor terá de se anular para qualquer escalar δdi , a expressão (3.51) conduz a: Z Ω [B(x)]T [D][B(x)] dΩ{d} = Z Ω [N(x)]T {b̄(x)} dΩ + Z ΓN [N(x)]T {t¯(x)} dΓN (3.52) O sistema de equações representado pela expressão (3.52) corresponde ao resultado obtido a partir da aplicação do método de Bubnov-Galerkin ao problema da elasticidade linear, conforme foi apresentado em (3.20). Considerando a forma canónica da equação do método dos elementos finitos, conforme referida em (3.26), temos para a matriz de rigidez global: [K] = Z Ω [B(x)]T [D][B(x)] dΩ e para o vector de forças nodais equivalentes: Z {f} = T Ω [N(x)] {b̄(x)} dΩ + Z ΓN [N(x)]T {t¯(x)} dΓN (3.53) (3.54) A expressão (3.54), de forma semelhante ao realizado com a expressão (3.22), pode ainda ser representada da seguinte forma: em que f ΓN e f e no domínio, i.e., Ω n o { f } = f ΓN + f Ω (3.55) correspondem, respectivamente, à contribuição das cargas distribuídas na superfície e Z f ΓN = n ΓN [N(x)]T {t¯(x)} dΓN o Z f Ω = [N(x)]T {b̄(x)} dΩ Ω (3.56) (3.57) 3.7 Recuperação de grandezas Com a obtenção de uma aproximação da solução do problema, que para problemas da elasticidade linear representa o campo de deslocamentos, torna-se possível recuperar grandezas que se revelam úteis na análise de modelos de sólidos. 30 Obtenção de soluções para problemas da elasticidade tridimensional Como foi assumido que as derivadas do campo de deslocamentos são muito pequenas em relação à unidade, os campos de deformações são recuperados através da aplicação da expressão de compatibilidade, referida em (2.5) e representado através de notação matricial em (3.44). Da mesma maneira, os campos de tensões são obtidos a partir da aplicação da relação constitutiva ao campo de deformações, conforme indicado na expressão (2.7) e representado através de notação matricial em (3.47). Estas grandezas, como estão condicionadas à escolha do referencial global, não se revelam muito práticas para a análise dos resultados. Como forma de contornar esta dificuldade surge a comparação dos resultados com critérios de cedência, bem como a representação das direcções principais do estado de tensão ou deformação em pontos no domínio. Um dos critérios de cedência com larga aplicação é o critério de von Mises (Branco, 1998, pág. 651), cuja tensão associada é calculada através da seguinte expressão: 1 1 σc = √ (σ11 − σ22 )2 + (σ22 − σ33)2 + (σ33 − σ11 )2 + 6(σ212 + σ223 + σ213) 2 2 (3.58) Este critério, como é uma função do segundo invariante da parcela deviatórica do tensor das tensões, permite avaliar os estados de tensão no domínio de um problema independentemente da orientação do referencial global do domínio. Para a representação das direcções principais do estado de tensão ou deformação em pontos do domínio, é necessário obter o respectivo tensor e proceder ao cálculo dos respectivos valores e vectores próprios, ver de Arantes e Oliveira (1999, pág. 11). Como estes tensores assumem a forma de matrizes quadradas simétrica de dimensão (3 × 3), é possível calcular estes valores recorrendo a um conjunto de algoritmos especificamente desenvolvidos para este caso (Kopp, 2006). É também possível recuperar nos graus de liberdade cujos deslocamentos foram prescritos as forças nodais equivalentes que garantiriam o cumprimento das condições de fronteira cinemática impostas ao problema, as reacções nodais equivalentes, referidas por {rE }. Para tal, retoma-se o sistema de equações (3.29) e sublinha-se a natureza das forças nodais equivalentes que são contabilizadas a nós cujo deslocamento é prescrito, em particular a contribuição das condições de fronteira estática, representado por { fE }, e das reacções equivalentes ao deslocamento prescrito, representadas por {rE }, conforme apresentado em (3.59). KE KFE KEF dE fE + rE = d f K F F F Desta forma, e considerando (3.59), é possível obter {rE } através da seguinte expressão: {rE } = [KE ]{dE } + [KEF ]{dF } − { fE } (3.59) 3.8. Erro e convergência de soluções 3.8 Erro e convergência de soluções A aplicação prática do método dos elementos finitos para a modelação de qualquer fenómeno representado por um sistema de equações diferenciais parciais tem de ser efectuada mantendo sempre presente “todas as possíveis fontes de erro, como verificar estes erros e estimar a sua magnitude, e as limitações e vantagens” dos métodos empregues (Belytschko et al., 2001, pág. 1-2). Do ponto de vista prático e de um modo abrangente, o erro associado a uma solução é fruto da contribuição de um conjunto de factores, ver Reddy (1993, pág. 199), que podem ser organizados nos seguintes grupos: • erros da aproximação do domínio; • erros da aproximação da solução; • erros numéricos/computacionais. No conjunto dos erros do modelo são incluídos os desvios da solução exacta do problema em estudo causados por opções tomadas inadvertidamente na definição do problema e na escolha de métodos de análise. Tratam-se de escolhas que, mesmo levando à criação de modelos matemática e fisicamente válidos e capazes de produzir boas aproximações da solução exacta, estes são desajustados ao problema real ou até mesmo incapazes de o modelar de maneira a que os resultados serem representativos da realidade. Neste grupo encontram-se erros provenientes de definições desajustadas do domínio do problema (ver figura 3.4), definição inapropriada de condições de fronteira do problema (ver figura 3.5), escolha e definição inapropriada de relações constitutivas e aplicação de técnicas de análise fora dos seus limites de aplicação. Figura 3.4: Erro na modelação de um perfil LNP curvo causado pelo uso de uma malha grosseira de elementos lineares. O grupo dos erros de aproximação da solução engloba os erros provenientes da adopção de espaços vectoriais de funções Vn e do efeito que esta escolha tem na obtenção de soluções aproximadas. Este tipo 31 32 Obtenção de soluções para problemas da elasticidade tridimensional (a) Condições de fronteira. (b) Campo de deslocamentos esperado. (c) Campo de deslocamentos obtido. Figura 3.5: Erro na modelação das condições de fronteira de um modelo. de erros resulta da limitação da capacidade da função de aproximação de se ajustar adequadamente à solução exacta. Nos casos em que o domínio do problema é definido através de parametrizações pertencentes a Vn então poderão também ser cometidos erros na definição do domínio. Isto implica que o domínio estimado não corresponderá ao domínio original, o que levará a que as condições de fronteira sejam avaliadas onde não foram definidas (Šolín, 2006, pág. 128). Por fim, no grupo dos erros numéricos/computacionais agrupam-se os erros provenientes do cálculo numérico, tais como erros de arredondamento, erros provenientes da precisão limitada das regras de quadratura e ampliação/propagação de erros e erros provocados por defeitos do software. Centre-se agora a atenção nos erros de aproximação da solução. Atendendo a que o método de Bubnov-Galerkin produz aproximações da solução exacta, as principais preocupações que se levantam prendem-se com a obtenção de estimativas fiáveis do erro e da procura de formas de reduzi-lo. Por definição, o erro associado a uma aproximação da solução exacta consiste na diferença que exibe em relação à solução exacta do problema. É usual expressar esta diferença em diferentes normas. De forma genérica, pode escrever-se: e = ku(x) − ũ(x)k (3.60) Apesar de ser útil avaliar o erro associado a aproximações da solução exacta, por vezes há mais interesse prático em avaliar grandezas calculadas a partir dos seus gradientes. No domínio dos problemas da elasticidade linear, uma forma de avaliação consiste na avaliação do erro em energia (Zienkiewicz et al., 2005, pág. 457), definido através da seguinte expressão: Z 1 2 1 ||e||en = ku(x) − ũ(x)ken = (εi j (x) − ε̃i j (x)) Di jkl (εkl (x) − ε̃kl (x)) dΩ 2 Ω (3.61) sendo εi j (x) e ε̃i j (x), respectivamente, os campos de deformações derivados de u(x) e ũ(x). Uma maneira de avaliar os erros associados a uma série de soluções aproximadas consiste na avaliação da convergência dos resultados. Mais precisamente, o erro associado a uma aproximação de uma solução é estimado comparando a variação do erro entre aproximações pertencentes a sub-espaços Vn que são progressivamente mais próximos de V . Como consequência, neste aspecto revela-se vantajoso garantir 3.8. Erro e convergência de soluções 33 que os resultados obtidos a partir da aplicação do método dos elementos finitos convirjam monotonicamente para a solução exacta do problema. Uma forma de garantir esse tipo de convergência (Šolín, 2006, pág. 46) parte de assumir que a solução exacta do problema, u(x), pertence a um espaço de funções que é gerado por um número infinito de funções de base, referido por V , enquanto que a aproximação à solução exacta, ũ(x), pertence a um espaço de funções, referido por Vn , que é gerado a partir de um conjunto de n funções de base. Considera-se também que Vn é definido de tal forma que permite que haja uma sequência de espaços de funções tal que o termo seguinte da sucessão represente um sobre-conjunto estrito do termo anterior. Ou seja: Vn ⊂ Vn+1 (3.62) {Vn }∞ n=1 ⊂ V (3.63) Por fim, considere-se que no limite Cumprindo estas condições, é possível demonstrar que, respeitando um conjunto de condições, a sucessão de funções de aproximação {ũn (x)}∞ n=1 , ũn (x) ∈ Vn converge para a solução exacta (Šolín, 2006, pág. 46). Ou seja: lim ku(x) − ũn(x)k = 0 n→∞ Para garantir que a convergência para a solução exacta seja monotónica, a função ũ(x) terá de cumprir o seguinte conjunto de condições (necessárias): • A função ũ(x) tem de exibir continuidade C0 nas fronteiras entre elementos; • Se a forma integral do problema incluir derivadas de grau n então todas as derivadas da função de aproximação até esse grau terão de ser capazes de apresentar valores constantes quando a dimensão característica do elemento tende para zero. O critério de continuidade é cumprido se as funções ũe (x) que definem aproximações da solução exacta em elementos contíguos forem funções de interpolação e interpolarem os mesmos graus de liberdade que definem a fronteira inter-elementar. O segundo critério é cumprido se as bases de Vn constituírem expansões polinomiais completas até pelo menos ao grau n (Zienkiewicz et al., 2005, pág. 75). Uma consequência do cumprimento deste critério é a garantia dos elementos serem capazes de representar todos os deslocamentos de corpo rígido e de exibir estados de tensão constante, independente da dimensão característica do elemento. As propriedades do erro e da convergência de resultados que foram apontadas nesta secção foram deduzidas a partir das propriedades de espaços de funções genéricos aos quais pertencem as aproximações da solução exacta. Na secção 4.6, ao serem considerados espaços de funções concretos, este tópico é retomado de maneira a apontar propriedades da convergência dos resultados que são características de espaços de funções específicos. Capítulo 4 Elementos finitos e regras de quadratura 4.1 Introdução Até este ponto tem sido apenas assumido que o espaço Vn teria de incluir funções que respeitem um conjunto de critérios, entre as quais se encontram a condição do produto interno no espaço da energia ser e sejam compostos por funções limitado e, para garantir a convergência dos resultados, que os espaços Vnk polinomiais que cumpram as condições de completude e continuidade referidas no capítulo anterior. Todavia, a aplicação prática do método de Bubnov-Galerkin obriga a que se adoptem espaços Vn concretos. Tal implica a adopção de um conjunto de funções de base capaz de gerar um espaço a partir do qual é possível obter ũ(x) cuja diferença para a solução exacta esteja limitada a uma dada tolerância. Para tal, abandona-se a mera referência a funções de base abstractas, sobre as quais não é possível obter qualquer informação além das propriedades impostas pelo problema a ũ(x), e começa-se a lidar com famílias específicas de funções tentativa. Esta passagem para a aplicação do método permite que se observem características próprias das famílias de elementos empregues. Desta forma, a escolha de funções ou famílias de funções que apresentam certas características traz consigo propriedades que, convenientemente exploradas, permitem abrir as portas à implementação de técnicas de obtenção de aproximações da solução, algumas das quais tem um impacto profundo na sua aplicação prática. Nesta secção será retomado o conceito de elemento finito, apontando-se um conjunto de características dos elementos implementados no programa, para de seguida focar-se no conceito de elementos isoparamétricos, expondo algumas propriedades associadas a esse tipo de elementos e que fizeram dele uma descoberta revolucionária. De seguida serão apresentados os elementos suportados pelo programa, passando pela questão da realização dos integrais necessários para a construção da equação do método dos elementos finitos. Por fim, será abordado o problema do erro associado a funções de aproximação, bem como a forma como convergem para a solução exacta. 35 36 Elementos finitos e regras de quadratura 4.2 O conceito de elemento finito Como foi referido na secção 3.5, o conceito de elemento finito consiste essencialmente na associação de um sub-domínio de Ω, resultante de uma operação de partição e cuja configuração corresponde a um e polítopo de referência, a um espaço de funções de aproximação da solução exacta, Vnk , cujo suporte é e podem assumir a restrito a esse sub-domínio. As funções de base que são empregues para gerar Vnk forma de qualquer expressão analítica (Reddy, 1993, pág. 14), desde que os integrais expressos em (3.21) e (3.22) sejam válidos, ver página 18. Contudo, devido a razões como simplicidade de análise, a escolha tende a incidir sobre funções polinomiais, sobretudo aquelas que cumprem a condição de completude. É também conveniente que os elementos finitos empregues na definição dos modelos permitam garantir a convergência monotónica dos resultados, o que implica que sejam adoptados elementos compatíveis (Bathe, 1982, pág. 167). Como consequência, considerando todos estes critérios, revela-se conveniente que sejam adoptados elementos finitos baseados em polinómios interpoladores. Este tipo de sub-funções de aproximação da solução exacta são consideradas como funções padrão, e é a base da maior parte dos programas de elementos finitos (Zienkiewicz et al., 2005, pág. 104). É também sobre este tipo de sub-funções de aproximação que este trabalho assentará deste ponto em diante. 4.3 Conceito de elemento isoparamétrico O processo de partição de Ω deve conduzir a um conjunto de suportes tal que seja possível construir funções de aproximação da solução exacta do problema. Como a tarefa da partição do domínio pode apresentar os mais variados resultados, dependendo de factores como o algoritmo empregue para definir os sub-domínios, as condições de fronteira impostas ao problema e os tipos de elementos finitos adoptados para o efeito, então é desejável que o processo de obtenção de sub-funções de forma seja suficientemente e aproximação. robusto para permitir que se atribua a qualquer Ωek o espaço de funções Vnk e para Ωe que exibam uma configuração irregular, incluindo Um método que permite definir espaços Vnk k limites curvos, consiste em seleccionar dentro do respectivo Ωek um conjunto ordenado de pontos que, mediante a sua interpolação, permitem parametrizar o respectivo sub-domínio. Para tal é necessário definir e a partir de um conjunto de funos conjuntos de funções de base que geram cada espaço de funções Vnk ções que permite interpolar os parâmetros a que são afectados. Para estas funções de base poderem desempenhar o papel de funções interpoladoras é necessário que exibam certas propriedades: • sup(Ni ) = Ωek , i ∈ {1, · · · , n} • {p1 , · · · , pn } ∈ Ωek : Nl (pm ) = δlm • ∑ni Ni (x) = 1 , ∀x ∈ Ωek onde sup(Ni ) corresponde ao suporte da função Ni . 4.3. Conceito de elemento isoparamétrico Este conjunto de propriedades, referido por partição da unidade, garante que qualquer conjunto de funções de base que as apresentem é capaz de gerar parametrizações que constituem interpolações dos parâmetros que as compõem, o que implica que estas parametrizações contêm os parâmetros no seu contra-domínio. A equação do método dos elementos finitos, conforme apresentado em (3.20), implica a obtenção de um conjunto de funções interpoladoras e, também, a necessidade de integrá-las ao longo do domínio e, eventualmente, da fronteira do problema. Como o método dos elementos finitos leva a que o conjunto das funções de base que geram Vn tenham o seu domínio limitado a sub-domínios Ωek , tal possibilita que a integração de uma grandeza em Ω seja obtida através do somatório da integração dessa mesma grandeza em cada sub-domínio Ωek . A necessidade de realizar integrais em um qualquer sub-domínio Ωek depende da obtenção de uma parametrização de Ωek . Para tal basta aplicar as mesmas funções de base usadas na definição de (3.32) mas, desta vez, para interpolar um conjunto de pontos de Ω em vez dos valores atribuídos aos graus de liberdade do problema. Desta forma, cada Ωek passa a ser definido por uma variedade diferencial cuja e , as mesmas empregues parametrização é obtida pela combinação criteriosa das funções de base de Vnk na definição de ũeik (x), com um conjunto de pontos obtidos a partir da partição de Ω. Assim, a adopção de funções interpoladoras como funções de base dos sub-espaços Ωek para parametrizar o respectivo sub-domínio implica que seja possível integrar sub-domínios irregulares de forma sistemática. Esta capacidade de usar as mesmas funções de base para descrever a aproximação da solução e representar a geometria do elemento constitui a característica principal dos elementos isoparamétricos (Ergatoudis et al., 1968). A adopção de funções de interpolação implica que a representação de grandezas dependa dos valores a serem interpolados. O domínio da parametrização é, contudo, arbitrário, havendo assim liberdade na sua escolha, conforme seja conveniente. Esta arbitrariedade na definição dos domínios de parametrização permite que se analise qualquer grandeza descrita através destas funções atribuindo-lhe uma representação conveniente, evitando assim qualquer dificuldade proveniente da sua análise na configuração que assume no espaço global. Neste caso, a necessidade de sistematizar o processamento dos elementos leva a que se procure representar qualquer sub-domínio através de uma representação paramétrica de um polítopo regular, referida como coordenadas locais ou naturais. A associação entre o polítopo regular e o respectivo conjunto de funções de base é muitas vezes referido no presente contexto por elemento-mestre. O recurso a técnicas de integração computacionalmente eficientes, conforme será visto na secção 4.5, também contribui para a representação de elementos em coordenadas locais, acrescentando ainda a exigência do domínio politópico definido através das coordenadas locais coincidir com os domínios de integração impostos por estas técnicas. Uma vez que qualquer sub-domínio Ωek passa a ser representado através de coordenadas locais sobre o domínio Ωk e,local , torna-se necessário expressar os integrais presentes em (3.20) em função destas 37 38 Elementos finitos e regras de quadratura coordenadas. Representando as coordenadas globais como x ∈ Ω ⊂ R3 e as coordenadas locais como ξ ∈ Ωke,local ⊂ R3 , e considerando que as coordenadas dos nós que definem o elemento no referencial glo- bal são representadas por p ∈ R3 , a parametrização das coordenadas globais em função das coordenadas locais é efectuada através da seguinte expressão: n x = x(ξ) = ∑ N j (ξ)p j (4.1) j=1 sendo que p j refere-se ao nó j que é interpolado pela parametrização. A partir desta parametrização, o integral de uma função f (x) sobre o domínio Ωek expresso através de coordenadas locais é obtido através da seguinte expressão: Z Ωek f (x) dΩek = Z e,local Ωk f ( x(ξ) ) V (ξ) dΩke,local (4.2) sendo V (ξ) o factor pontual de conversão de volumes-n, que corresponde a: V (ξ) = r det [Dx(ξ)][Dx(ξ)]t (4.3) em que [Dx(ξ)] representa a matriz Jacobiana da parametrização (4.1), que mapeia as coordenadas locais em coordenadas globais. Para domínios tridimensionais, como é o caso dos integrais dos termos da matriz de rigidez, expressos em (3.21), e dos integrais das cargas distribuídas no domínio, expressos em (3.25), a expressão [Dx(ξ)] assume a seguinte forma: [Dx(ξ)] = ∂x1 (ξ) ∂ξ1 ∂x1 (ξ) ∂ξ 2 ∂x1 (ξ) ∂ξ3 ∂x2 (ξ) ∂ξ1 ∂x2 (ξ) ∂ξ2 ∂x2 (ξ) ∂ξ3 ∂x3 (ξ) ∂ξ1 ∂x3 (ξ) ∂ξ2 ∂x3 (ξ) ∂ξ3 (4.4) Substituindo (4.4) em (4.3), conclui-se que para o caso particular de integrais em domínios tridimensionais tem-se: V (ξ) = det [Dx(ξ)] . (4.5) Ao expandir e recombinar os termos dessa expressão obtém-se: V (ξ) = ∂x1 ∂ξ1 ∂x2 ∂x3 ∂x2 ∂x3 − ∂ξ2 ∂ξ3 ∂ξ3 ∂ξ2 − ∂x2 ∂ξ1 ∂x1 ∂x3 ∂x1 ∂x3 − ∂ξ2 ∂ξ3 ∂ξ3 ∂ξ2 + ∂x3 ∂ξ1 ∂x1 ∂x2 ∂x1 ∂x2 − ∂ξ2 ∂ξ3 ∂ξ3 ∂ξ2 (4.6) Para domínios bidimensionais, como é o caso dos integrais das cargas na fronteira estática, expressos em (3.25), a expressão [Dx] assume a seguinte forma: [Dx(ξ)] = ∂x1 (ξ) ∂ξ1 ∂x1 (ξ) ∂ξ2 ∂x2 (ξ) ∂ξ1 ∂x2 (ξ) ∂ξ2 ∂x3 (ξ) ∂ξ1 ∂x3 (ξ) ∂ξ2 (4.7) 4.3. Conceito de elemento isoparamétrico 39 Substituindo (4.7) em (4.3), obtém-se, para o caso particular de integrais de superfície embebidas em domínios tridimensionais, uma expressão equivalente a: V (ξ) = kD1 x(ξ) × D2 x(ξ)k (4.8) Expandindo e recombinando os termos desta expressão, é possível obter o seguinte resultado para o factor pontual de conversão de áreas: v ! u u ∂x3 2 ∂x2 2 ∂x1 2 t V (ξ) = + + ∂ξ1 ∂ξ1 ∂ξ1 ! ∂x3 2 ∂x2 2 ∂x1 2 ∂x3 ∂x3 ∂x2 ∂x2 ∂x1 ∂x1 2 − + + (4.9) + + ∂ξ2 ∂ξ2 ∂ξ2 ∂ξ1 ∂ξ2 ∂ξ1 ∂ξ2 ∂ξ1 ∂ξ2 Por fim, os integrais que entram na definição dos elementos da matriz de rigidez global, conforme foi indicado em (3.20), incluem expressões compostas por derivadas parciais das funções de base que e em ordem às coordenadas globais. Como as funções de base são definidas em geram os espaços Vnk termos de coordenadas locais, torna-se necessário expressar as derivadas dessas funções em termos de coordenadas globais. Aplicada a regra de derivação da função composta a cada função de base, obtém-se: ∂Nk (ξ) ∂Nk (ξ) ∂x j (ξ) = ∂ξi ∂x j (ξ) ∂ξi ∂Nk (ξ) ∂x1 (ξ) ∂Nk (ξ) ∂x2 (ξ) ∂Nk (ξ) ∂x3 (ξ) = + + ∂x1 (ξ) ∂ξi ∂x2 (ξ) ∂ξi ∂x3 (ξ) ∂ξi (4.10) Representando estas derivadas em notação matricial, e omitindo as referências aos parâmetros das funções, obtém-se a seguinte expressão: ∂N j ∂ξ1 ∂N j ∂ξ2 ∂N j = ∂ξ3 ∂x1 ∂ξ1 ∂x1 ∂ξ 2 ∂x1 ∂ξ3 ∂x2 ∂ξ1 ∂x2 ∂ξ2 ∂x2 ∂ξ3 ∂x3 ∂N j ∂x ∂ξ1 1 ∂N j ∂x3 ∂ξ2 ∂x2 ∂N ∂x3 j ∂x3 ∂ξ3 (4.11) A expressão (4.11) representa a mudança de base das derivadas de N j das coordenadas globais para as coordenadas locais, sendo que para este caso a matriz de transformação é [Dx]. Desta forma, é possível obter as derivadas da função de base N j em termos das coordenadas globais através da transformação inversa. Ou seja: ∂N j ∂x1 ∂N j ∂x2 ∂N j ∂x3 = [Dx]−1 ∂N j ∂ξ1 ∂N j ∂ξ2 ∂N j (4.12) ∂ξ3 Esta expressão, após a expansão e recombinação dos termos que a compõem, assume a seguinte forma: 40 Elementos finitos e regras de quadratura ∂N j ∂x2 ∂x3 ∂x2 ∂x3 ∂N j 1 ∂x2 ∂x3 ∂x2 ∂x3 ∂N j ∂x2 ∂x3 ∂x2 ∂x3 ∂N j = − + − + − ∂x1 V (ξ) ∂ξ2 ∂ξ3 ∂ξ3 ∂ξ2 ∂ξ1 ∂ξ3 ∂ξ1 ∂ξ1 ∂ξ3 ∂ξ2 ∂ξ1 ∂ξ2 ∂ξ2 ∂ξ1 ∂ξ3 ∂N ∂x1 ∂x3 ∂x1 ∂x3 ∂N j 1 ∂x1 ∂x3 ∂x1 ∂x3 ∂N j ∂x1 ∂x3 ∂x1 ∂x3 ∂N j j = − + − + − ∂x2 V (ξ) ∂ξ3 ∂ξ2 ∂ξ2 ∂ξ3 ∂ξ1 ∂ξ1 ∂ξ3 ∂ξ3 ∂ξ1 ∂ξ2 ∂ξ2 ∂ξ1 ∂ξ1 ∂ξ2 ∂ξ3 ∂N j ∂x1 ∂x2 ∂x1 ∂x2 ∂N j 1 ∂x1 ∂x2 ∂x1 ∂x2 ∂N j ∂x1 ∂x2 ∂x1 ∂x2 ∂N j = − + − + − ∂x3 V (ξ) ∂ξ2 ∂ξ3 ∂ξ3 ∂ξ2 ∂ξ1 ∂ξ3 ∂ξ1 ∂ξ1 ∂ξ3 ∂ξ2 ∂ξ1 ∂ξ2 ∂ξ2 ∂ξ1 ∂ξ3 (4.13) sendo V (ξ) dado pela expressão (4.6). e em termos das coordenadas globais, tornaCom a obtenção das derivadas das funções de base de Vnk -se agora possível realizar os integrais presentes em (3.20) para elementos isoparamétricos. Os termos da matriz de rigidez são obtidos através da seguinte expressão: ! Z 3 1 − ν E e,local Ωe,local 1 + ν Nk,i (ξ) 1 − 2ν Nl, j (ξ) + ∑ Nk,m (ξ) Nl,m (ξ) det [Dx(ξ)] dΩk m6=i, j k a(ik)( jl) = Z ν E N (ξ) N (ξ) + N (ξ) N (ξ) det [Dx(ξ)] dΩke,local k,i l, j k, j l,i e,local 1 + ν 1 − 2ν Ωk ,i = j , i 6= j (4.14) As contribuições das pressões para os termos do vector de forças nodais equivalentes são obtidas a partir da expressão seguinte: fikΓN = sendo ΓNk e,local Z e,local ΓN,k e,local Nk (ξ)t¯i (ξ) kD1 x(ξ) × D2 x(ξ)k dΓNk (4.15) dado pela congénere local da expressão (2.1). As contribuições das forças volúmicas para os termos do vector de forças nodais equivalentes são obtidas a partir da expressão seguinte: Z fikΩ = e,local Ωk Nk (ξ)b̄i (ξ) det [Dx(ξ)] dΩke,locak (4.16) Com estes resultados, é possível inferir um conjunto de propriedades associadas às funções integrandas que são obtidas para elementos isoparamétricos. Ao substituir nas expressões (4.14) o factor de conversão pontual de volumes na forma apresentada em (4.6) e as derivadas parciais de Nk (ξ) conforme expressas em (4.13), constata-se que as funções integrandas dos termos da matriz de rigidez são, na sua forma mais geral, polinómios racionais. De forma análoga, ao substituir na expressão (4.15) o factor de conversão pontual de áreas conforme apresentado em (4.9), e assumindo que t¯i (ξ) é uma função polinomial, verifica-se que esta função integranda é, de forma geral, uma função que resulta da multiplicação de um polinómio pela raiz quadrada de uma função polinomial. Por fim, a expressão (4.16) indica, assumindo também que b̄i (ξ) é uma função polinomial, que a contribuição das forças volúmicas para o vector de forças nodais equivalentes resulta da integração de um polinómio. Na secção 4.5 serão analisadas as implicações associadas à integração de funções polinomiais e não-polinomiais. Na secção seguinte serão referidos alguns tipos de elementos que é possível representar através desta técnica. 4.4. Elementos suportados pelo programa 4.4 Elementos suportados pelo programa Como foi indicado na secção 4.2, um elemento finito representa um sub-domínio Ωek incluído no domínio Ω do problema ao qual está associado uma sub-função de aproximação ũeik (x). Este pertence a um espaço e que é gerado por n funções de base, que se destina a aproximar a solução exacta vectorial de funções Vnk exclusivamente no sub-domínio onde está definida. Na secção 4.3, foi abordada uma técnica que consiste na definição das sub-funções de aproximação ũeik (x) com base em funções de interpolação e que permite usar as mesmas bases para obter parametrizações que definem os respectivos sub-domínios Ωek como variedades diferenciais. No seguimento das secções anteriores, procede-se agora à apresentação de algumas famílias de elementos isoparamétricos. Para tal será introduzido, para cada família, o conjunto de funções de base que e , bem como algumas propriedades exibidas pelas sub-funções de aproximagera o espaço de funções Vnk ção. Também serão apresentadas as parametrizações dos sub-domínios Ωek e a configuração dos nós que permitem definir o elemento-mestre. A lista completa das funções de base, bem como as suas derivadas, é incluída em anexo. No domínio da aplicação do método dos elementos finitos a problemas da elasticidade tridimensional, os elementos finitos representam volumes em R3 . Contudo, a necessidade de contabilizar as condições de fronteira estática, definidas através de tracções aplicadas em ΓN conforme definidas em (2.11e) e cuja expressão para elementos isoparamétricos é apresentada em (4.15), leva a que seja necessário calcular integrais para as quais é necessário a definição paramétrica das regiões onde essas condições de fronteira se encontram definidas. Devido a essa necessidade, também serão apresentadas nesta secção a definição de domínios bidimensionais, correspondentes às superfícies onde foram prescritas as forças por unidade de área, obtida a partir da interpolação de um conjunto de pontos contidos em Ω̄. Como estas funções de interpolação não serão directamente usadas na definição de uma função de aproximação da solução exacta então, neste contexto e de acordo com a definição adoptada, não representam exactamente elementos finitos. Ainda assim, como a base da sua definição é a mesma do que a usada na definição dos elementos tridimensionais e como os conjuntos de funções de base são aplicáveis a problemas da elasticidade bidimensional, então optou-se por incluir igualmente as definições de famílias de elementos bidimensionais nesta secção. 4.4.1 Triangulares O elemento triangular é um elemento do tipo simplex (Belytschko et al., 2001, pág. 8) devido à correspondência entre o seu polítopo de referência e a forma simplicial 2-simplex. Este é o tipo de sub-domínio bidimensional mais simples e versátil no campo do presente método. A facilidade com que é possível descrever superfícies a partir de sub-domínios deste tipo, juntamente com a simplicidade e robustez dos algoritmos de partição de domínios arbitrários em um conjunto de sub-domínios triangulares (Zienkiewicz et al., 2005, pág. 265), tornam este tipo de configuração bastante atractiva. 41 42 Elementos finitos e regras de quadratura ξ2 ξ2 3 3 5 1 1 1 2 ξ1 6 1 1 4 2 ξ1 1 (a) Elemento triangular de 3 nós. (b) Elemento triangular de 6 nós. Figura 4.1: Mapeamento nas coordenadas locais de elementos triangulares. A parametrização adoptada neste trabalho corresponde àquela usada na definição de elementos finitos isoparamétricos triangulares, conforme Zienkiewicz et al. (2005, pág. 127). No contexto da aplicação do método dos elementos finitos a problemas da elasticidade tridimensional, a parametrização de superfícies triangulares está associada à prescrição de condições de fronteira estática em elementos com superfícies exteriores triangulares, como é o caso das famílias de elementos tetraédricos e prismáticos triangulares. Neste trabalho, para a família de elementos triangulares isoparamétricos serão apresentados dois tipos de parametrização: o sub-domínio triangular linear de 3 nós e o sub-domínio triangular quadrático de 6 nós. As funções de interpolação adoptadas para este tipo de sub-domínios são usualmente expressas através de coordenadas de área, conforme apresentadas em Zienkiewicz et al. (2005, pág. 117). A numeração dos nós adoptada neste trabalho é representada na figura 4.1. A parametrização linear que define um sub-domínio triangular é obtido a partir da interpolação de 3 pontos no espaço, referidos por nós. Recorrendo ao conceito de coordenadas de área, a parametrização deste tipo de superfície é obtida a partir do sistema de equações (4.17). x1 = L1 p11 + L2 p21 + L3 p31 x2 = L1 p12 + L2 p22 + L3 p32 1 = L + L + L 1 2 3 (4.17) sendo Li as coordenadas desta parametrização e pi os nós que, associados à função de interpolação, permitem definir a superfície triangular em coordenadas globais. A expressão pi j representa a coordenada do nó pi segundo o eixo x j . Pondo o parâmetro L1 em evidência na terceira equação do sistema (4.17) e identificando L2 e L3 com ξ1 e ξ2 , respectivamente, obtém-se uma expressão que, substituída nas restantes duas equações, permite obter as funções de base apresentadas no sistema de equações (4.18): 4.4. Elementos suportados pelo programa n = 0: n = 1: n = 0: 1 ξ1 43 ξ2 1 ξ1 n = 1: ξ21 n = 2: ξ2 ξ1 ξ2 ξ22 (a) Elemento triangular de 3 nós. (b) Elemento triangular de 6 nós. Figura 4.2: Expansão polinomial da parametrização de elementos triangulares. N1 (ξ) = 1 − ξ1 − ξ2 N2 (ξ) = ξ1 N (ξ) = ξ 3 2 (4.18) No que diz respeito ao conjunto de funções de base usadas para parametrizar sub-domínios triangulares, estas representam expansões polinomiais que são completas até ao maior grau de qualquer termo que o compõe. No caso do sub-domínio triangular linear então, expandindo parametrização composta pelas funções de base apresentadas no sistema de equações (4.18), obtém-se um polinómio completo até ao 1o grau, conforme é representado na figura 4.2a. O conjunto de funções de base usadas na parametrização do triângulo de 3 nós encontram-se no anexo A.1. O sub-domínio triangular quadrático é obtido a partir da interpolação de 6 nós, compostos pelos três nós de extremidade, equivalentes aos usados para definir o triângulo de 3 nós, e três nós localizados a meio das arestas do triângulo. Novamente recorrendo a coordenadas de área, a parametrização deste tipo de superfície é obtida a partir do conjunto de equações apresentado em (4.19). Ni (ξ) = (2Li − 1)Li , N4 (ξ) = 4L1 L2 i = 1, 2, 3 (4.19) N5 (ξ) = 4L2 L3 N (ξ) = 4L L 1 3 6 Tal como foi feito no caso do elemento triangular de 3 nós, substituindo L1 por (1−ξ1 −ξ2 ) nas equações do sistema (4.17), assim como L2 e L3 por ξ1 e ξ2 , respectivamente, é possível obter as funções de base definidas em termos do par ordenado (ξ1 , ξ2 ) ∈ R2 . No caso do elemento triangular quadrático, a expansão polinomial de uma parametrização composta pelas funções de base apresentadas no sistema de equações (4.19) produz um polinómio completo de 2o grau, conforme é representado na figura 4.2b. O conjunto de funções de base usadas na parametrização do triângulo de 6 nós encontram-se no anexo A.2. 4.4.2 Quadrilaterais As parametrizações de superfícies quadrilaterais aqui abordadas agrupam-se em dois tipos: Lagrangeanas e Serendipianas. 44 Elementos finitos e regras de quadratura ξ2 ξ2 4 7 4 3 1 3 1 9 8 ξ1 1 6 ξ1 1 1 1 5 1 2 1 1 (a) Parametrização Lagrangeana de 4 nós. 2 1 (b) Parametrização Lagrangeana de 9 nós. Figura 4.3: Mapeamento nas coordenadas locais de parametrizações Lagrangeanas de domínios quadriláteros. A família Lagrangeana de parametrizações de superfícies quadrilaterais é caracterizada pelo recurso a polinómios de Lagrange. Esta classe de polinómios é obtida através da combinação linear de um conjunto de funções de base chamadas de polinómios base de Lagrange, definidas através da expressão (4.20), ver Zienkiewicz et al. (2005, pág. 122). lkn (ξ) = ξ − ξi ξ − ξi i=1,i6=k k n ∏ (4.20) sendo ξ, ξi , ξk ∈ R. A expressão (4.20) permite definir directamente a k-ésima base pertencente ao conjunto de n funções que geram o respectivo espaço de polinómios de Lagrange. Note-se que as bases de Lagrange que geram espaços de funções n-dimensionais constituem polinómios de grau (n − 1). É também importante referir que os polinómios de Lagrange exibem a propriedade da partição da unidade referida anteriormente, e é possível constatar na expressão (4.20) que lin (ξk ) = δik . Tal implica que este tipo de parametrizações é obtido a partir da interpolação de pontos no espaço mediante a sua combinação linear com as funções de base de Lagrange. Considera-se a parametrização g : R 7→ R3 : n g(t) = ∑ pi lin (t) (4.21) i=1 em que pi ∈ R3 , i ∈ {1 · · · n} são os pontos interpolados. A parametrização de superfícies é conseguida através da definição de uma base para a interpolação obtida através do produto tensorial de dois conjuntos de funções de base de Lagrange. Mais precisamente, a partir da definição (4.20), as funções de base para esta família de elemento são definidas através da seguinte expressão: Ni (ξ) = Nkl (ξ) = lkm (ξ1 ) lln (ξ2 ) (4.22) 4.4. Elementos suportados pelo programa 45 n = 0: n = 0: n = 1: ξ2 ξ21 n = 2: ξ1 ξ2 n = 2: ξ1 n = 1: 1 ξ1 1 ξ1 ξ2 ξ21 ξ2 n = 3: ξ22 ξ1 ξ22 ξ21 ξ22 n = 4: (a) Quadrilátero linear de 4 nós. ξ2 (b) Quadrilátero quadrático de 9 nós. Figura 4.4: Expansão polinomial da parametrização de elementos quadrilaterais. onde (m − 1) e (n − 1) representam os graus dos polinómios interpoladores usados para parametrizar a superfície ao longo do respectivo eixo coordenado. Ao contrário daquilo que se verifica com as parametrizações da família de elementos triangulares, as parametrizações de elementos quadrilaterais não constituem polinómios completos. A expansão polinomial de parametrizações de elementos Lagrangeanos é completa apenas até ao menor grau dos polinómios Lagrangeanos que compõem a função de aproximação (que na expressão (4.22) corresponderia a min{(m − 1), (n − 1)}), restando um conjunto de termos de grau superior cuja expansão não é completa. Apesar desta classe de elementos possibilitar a definição sistemática de funções de interpolação que possuem um grau arbitrário, neste trabalho optou-se por definir apenas dois tipos de superfícies Lagrangeanas: o quadrilátero linear de 4 nós e o quadrilátero quadrático de 9 nós. Conforme referido, as funções de base que permitem definir a parametrização linear de uma superfície quadrilateral resultam do produto dois polinómios de Lagrange de 1o grau. Assim, considerando a definição apresentada na expressão (4.20), as funções de base deste tipo de parametrização assumem a seguinte forma: l 2 (ξ) = 1 l 2 (ξ) = 2 ξ−ξ2 ξ1 −ξ2 (4.23) ξ−ξ1 ξ2 −ξ1 Mediante o produto tensorial das funções de base, é possível obter uma expressão para as funções de base da parametrização Lagrangeana linear. Considerando para a função de base Ni j (ξ) a seguinte definição: Ni j : (ξ1 , ξ2 ) 7→ ξ1 − p12 p11 − p12 ξ2 − p21 p22 − p21 , (ξ1 , ξ2 ) ∈ [−1; 1] × [−1; 1] (4.24) sendo pi j o escalar interpolado j segundo o eixo coordenado i. As definições das funções de base das parametrizações Lagrangeanas lineares e quadráticas conforme adoptadas neste trabalho são expressas, respectivamente, nos anexos A.3 e A.5. A família Serendipiana de parametrizações de superfícies quadrilaterais é caracterizada pela construção das funções de base a partir de inspecção. Este processo de definição de funções de base por inspecção e 46 Elementos finitos e regras de quadratura ξ2 4 7 3 1 8 6 ξ1 1 1 5 2 1 1 Figura 4.5: Mapeamento nas coordenadas locais da parametrização Serendipiana de 8 nós de um domínio quadrilátero. ξ2 ξ1 − 1 = 0 4 ξ1 + ξ2 + 1 = 0 7 3 ξ2 − 1 = 0 1 8 6 ξ1 1 1 5 1 2 1 Figura 4.6: Termos envolvidos na construção de uma função de base N1 (ξ1 , ξ2 ) pelo processo Serendipiano. afectação ad hoc de termos rendeu a esta família de funções o nome de Serendipianas, por alusão ao conto dos “três príncipes de Serendip”, ver Zienkiewicz et al. (2005, pág. 112). No entanto, é de notar que existem formas sistemáticas de gerar bases de funções Serendipianas, ver Zienkiewicz et al. (2005, pág. 114). De forma geral, cada conjunto de funções de base é obtido através do produto de termos adicionais escolhidos criteriosamente de maneira a conferir-lhe as propriedades da partição da unidade. Como exemplo, é representada na figura 4.5 o domínio da parametrização Serendipiana do quadrilátero de 8 nós, e na figura 4.6 são representados os termos adoptados para a definição da seguinte função de base: N1 (ξ1 , ξ2 ) = (ξ1 − 1)(ξ2 − 1)(ξ1 + ξ2 + 1) , (ξ1 , ξ2 ) ∈ [−1; 1] × [−1; 1] (4.25) É de notar que este processo permite aumentar o grau de algumas parametrizações Lagrangeanas através de uma escolha criteriosa de termos adicionais a afectar às suas funções de base. 4.4. Elementos suportados pelo programa 47 n = 0: 1 ξ1 n = 1: ξ21 n = 2: ξ1 ξ2 ξ21 ξ2 n = 3: ξ2 ξ22 ξ1 ξ22 Figura 4.7: Expansão polinomial da parametrização do elemento Serendipiano quadrangular de 8 nós. ξ3 ξ3 4 4 9 8 1 2 1 5 3 10 7 3 2 6 ξ2 ξ1 (a) Elemento tetraédrico linear de 4 nós. ξ 2 ξ1 (b) Elemento tetraédrico quadrático de 10 nós. Figura 4.8: Mapeamento nas coordenadas locais de elementos tetraédricos. Tal como se verifica com os elementos Lagrangeanos, a expansão polinomial da parametrização de elementos Serendipianos também é incompleta no termo de maior grau. No entanto, uma escolha cuidada do conjunto de novos termos e novas funções de base permite aumentar o grau da expansão polinomial completa da parametrização Lagrangeana que lhe serve de base, sem incorrer no mesmo custo computacional associado a termos excedentes de ordem superior. No caso da parametrização Lagrangeana linear de superfícies quadrilaterais, a adição de 4 novas funções de base e a afectação das funções de base originais por um termo adicional permite que se obtenha uma parametrização de um elemento quadrangular de 8 nós cuja expansão polinomial, conforme apresentada na figura 4.7, eleva do 1o para o 2o o grau da parametrização Lagrangeana que lhe serviu de base. As funções de forma do elemento Serendipiano de 8 nós são apresentadas no anexo A.4. 4.4.3 Tetraédricos O elemento tetraédrico, de forma idêntica ao elemento triangular, é um elemento do tipo simplex (Belytschko et al., 2001, pág. 8) cujo polítopo de referência corresponde a uma forma simplicial 3-simplex. A definição das funções de base que são usadas para definir a parametrização de tetraedros segue a metodologia empregue na definição de parametrizações de superfícies triangulares, desta vez adaptada a domínios tridimensionais embebidos em R3 . A parametrização linear de uma região tetraédrica é obtida através do sistema de equações (4.26). O polítopo de referência, bem como a numeração adoptada para os nós que o compõem, são representados na figura 4.8a. 48 Elementos finitos e regras de quadratura Figura 4.9: Representação gráfica da função de forma do elemento finito tetraédrico de 4 nós N1 (ξ). x1 = L1 p11 + L2 p21 + L3 p31 + L4 p41 x2 = L1 p12 + L2 p22 + L3 p32 + L4 p42 (4.26) x3 = L1 p13 + L2 p23 + L3 p33 + L4 p43 1 = L + L + L + L 1 2 3 4 sendo Li as coordenadas de volume e pi as coordenadas dos nós segundo o sistema de coordenadas globais que servem de base à definição do volume tetraédrico. Analogamente ao que se verifica no caso triangular, é possível descrever a parametrização em coordenadas de volume através de 3 parâmetros ao substituir em (4.26) L1 por (1 − L2 − L3 − L4 ). A lista completa das funções de base dos elemento tetraédrico linear e quadrático, representados na figura 4.8, encontram-se, respectivamente, no anexo A.6 e A.7. Todas as funções de forma do elemento tetraédrico de 4 nós, a menos de uma transformação de coordenadas, exibem uma distribuição idêntica. Consequentemente, a representação da função de base N1 (ξ) incluída na figura 4.9 ilustra a forma assumida por estas funções ao longo do domínio elementar. Com o elemento tetraédrico de 10 nós, por outro lado, é possível agrupar as funções de base em dois tipos: interpoladoras de valores nos vértices e no centro das arestas. A forma que estas funções assumem é exibida, respectivamente, na representação de N2 (ξ) na figura 4.10a e de N6 (ξ) na figura 4.10b. 4.4.4 Hexaédricos Tal como no caso das parametrizações de superfícies quadrilaterais, as parametrizações de volumes hexaédricos aqui abordadas agrupam-se em dois tipos: Lagrangeanas e Serendipianas. De igual modo, a definição do conjunto de funções de base a partir do qual é definida a parametrização dos elementos hexaédricos segue a metodologia usada para definir parametrizações de quadriláteros, com a diferença de que para os elementos hexaédricos Lagrangeanos a parametrização é definida através do produto tensorial de três polinómios base de Lagrange. A representação dos polítopos de referência, bem como a numeração adoptada para os nós interpolados, é representada na figura 4.11. 4.4. Elementos suportados pelo programa 49 (a) N2 (ξ). (b) N6 (ξ). Figura 4.10: Representação gráfica das funções de forma do elemento finito tetraédrico de 10 nós. ξ2 ξ2 4 3 4 ξ2 14 16 7 8 3 7 ξ3 18 ξ3 2 1 1 6 5 (a) Lagrangeano de 8 nós. 17 7 6 26 18 ξ3 2 (b) Serendipiano de 20 nós. 21 2 13 22 17 ξ1 24 1 11 5 12 27 23 13 11 5 12 ξ1 3 15 25 8 ξ1 16 15 8 14 4 6 (c) Lagrangeano de 27 nós. Figura 4.11: Mapeamento nas coordenadas locais de elementos hexaédricos. Considerando a definição genérica dos polinómios de Lagrange apresentada na expressão (4.20), e considerando que as funções de base que são usadas para definir uma parametrização de um domínio hexaédrico correspondem a um mapeamento do tipo Ni : [−1, 1] × [−1, 1] × [−1, 1] 7→ R, estas são obtidas da seguinte forma (Zienkiewicz et al., 2005, pág. 131): Ni (ξ) = Nklm (ξ) = lkn (ξ1 )llo (ξ2 )lmp (ξ3 ) As funções de base para o elemento hexaédrico Lagrangeano linear e quadrático estão disponíveis, respectivamente, no anexo A.8 e A.10. Tal como no caso dos elementos quadrangulares Lagrangeanos, é também possível aumentar o grau da aproximação do elemento hexaédrico Lagrangeano linear através da multiplicação de termos adicionais às funções de base originais e a adição de funções de base escolhidas criteriosamente. Um exemplo é o elemento hexaédrico Serendipiano de 20 nós, cujas funções de base são disponibilizadas no anexo A.9. As funções de base do elemento hexaédrico Lagrangeano linear exibem uma distribuição idêntica de valores. Assim, a representação da função de base N4 (ξ) realizada na figura 4.12 é representativa de todas as funções que compõem este tipo de elemento finito. Com o elemento Serendipiano de 20 nós, as suas funções de base dividem-se em dois grupos: interpoladoras nos vértices e no ponto médio das arestas. Estes grupos de funções são representadas através da representação das funções de base N4 (ξ) e N16 (ξ) exibidas, respectivamente, nas figuras 4.13a e 4.13b. 50 Elementos finitos e regras de quadratura Figura 4.12: Representação gráfica da função de forma N7 (ξ) do elemento finito hexaédrico de 8 nós. (a) N4 (ξ). (b) N16 (ξ). Figura 4.13: Representação gráfica das funções de forma do elemento finito hexaédrico de 20 nós. No caso do elemento hexaédrico Lagrangeano quadrático, as suas funções de base são organizadas em quatro grupos: interpoladoras nos vértices, ponto médio das arestas, centróide das faces e centróide do volume. Cada um destes tipos de funções de base é representada, respectivamente, pelas funções de base representadas nas figuras 4.14a, 4.14b, 4.14c e 4.14d. 4.4.5 Prismáticos Neste trabalho, foram implementadas duas famílias de elementos prismáticos triangulares: uma cuja parametrização é baseada no produto tensorial entre as funções de base dos elementos triangulares e de polinómios de Lagrange, e uma parametrização de natureza Serendipiana. Da primeira família foram implementados dois tipos de elemento, o prismático triangular linear de 6 nós e o quadrático de 18 nós, enquanto que da segunda família foi implementado um tipo de elemento, o prismático triangular quadrático de 15 nós. Para o elemento prismático de 6 nós, a parametrização é obtida através do produto tensorial entre os conjuntos das funções de base do elemento triangular de 3 nós e do polinómio Lagrangeano lk2 (ξ3 ), referidos respectivamente em 4.4.1 e 4.4.2. O elemento prismático triangular quadrático, de 18 nós, é obtido de forma idêntica, através do produto tensorial entre o conjunto das funções de base do elemento triangular quadrático, de 6 nós, e do polinómio Lagrangeano lk3 (ξ3 ). A numeração dos nós deste tipo de elementos é representada nas figuras 4.15a a 4.15c, e o conjunto das funções de base adoptado neste trabalho encontram-se, respectivamente, no anexo A.11 e A.13. 4.4. Elementos suportados pelo programa 51 (a) N6 (ξ). (b) N17 (ξ). (c) N21 ξ). (d) N27 (ξ)i. Figura 4.14: Representação gráfica das funções de forma do elemento finito hexaédrico de 27 nós. ξ3 ξ3 ξ3 4 4 13 4 5 5 13 14 6 14 5 6 6 15 15 9 9 17 16 11 12 11 12 18 1 ξ1 ξ2 3 2 (a) Linear de 6 nós. ξ1 1 7 2 ξ2 ξ1 8 10 3 (b) Serendipiano de 15 nós. 1 7 2 ξ2 8 10 3 (c) Quadrático de 18 nós. Figura 4.15: Mapeamento nas coordenadas locais de elementos prismáticos. 52 Elementos finitos e regras de quadratura Figura 4.16: Representação gráfica da função de forma N3 (ξ) do elemento finito prismático de 6 nós. (a) N1 (ξ). (b) N15 (ξ). (c) N9 (ξ). Figura 4.17: Representação gráfica das funções de forma do elemento finito prismático de 15 nós. As funções de base do elemento prismático linear de 6 nós são todas idênticas a menos de uma transformação de coordenadas. Consequentemente, as funções de base deste tipo de elemento finito podem ser representadas de forma idêntica à função de forma N3 (ξ), exibida na figura 4.16. A parametrização do elemento finito prismático triangular de 15 nós é obtida admitindo como ponto de partida o produto tensorial entre os conjuntos das bases do elemento triangular quadrático e o polinómio Lagrangeano lk2 (ξ). A este elemento adicionam-se três funções de base que definem três novos nós de interpolação no fuste do prisma e multiplica-se as restantes funções de base por termos que se anulem nos três novos nós de interpolação. A configuração deste tipo de elemento é apresentada na figura 4.15b, e o conjunto das funções de base adoptado neste trabalho estão incluídas no anexo A.12. As funções de base do elemento finito prismático triangular de 15 nós organizam-se em três tipos: funções interpoladoras nos vértices, no centro das arestas da superfície triangular e no centro das arestas do fuste. Estes grupos de funções são representados através das funções de base N1 (ξ), N15 (ξ) e N9 (ξ), cuja representação gráfica é exibida, respectivamente, nas figuras 4.17a, 4.17b e 4.17c. Saliente-se que existem técnicas de obtenção de elementos finitos desta família que se baseiam na degeneração de elementos hexaédricos, conforme descrito em Hughes (2000, pág. 125). 4.5. Integração 53 (a) N2 (ξ). (b) N8 (ξ). (c) N16 (ξ). (d) N17 (ξ). Figura 4.18: Representação gráfica das funções de forma do elemento finito prismático de 18 nós. 4.5 Integração O método dos elementos finitos exige a integração de um número elevado de funções. Como a aplicação prática deste método no domínio da análise de estruturas leva frequentemente à análise de modelos complexos, compostos por um número elevado de elementos, sobressai a necessidade de empregar técnicas eficientes na realização destes integrais. Uma das formas mais eficientes de proceder ao cálculo de alguns destes integrais é a aplicação de regras de quadratura. Esta técnica consiste essencialmente em expressar o integral de uma função em um domínio de integração através da soma ponderada de valores da função integranda avaliada em pontos específicos, conforme expresso em (4.27). Z A n f (x) dx = ∑ f (xi ) wi (4.27) i=1 em que A representa o domínio de integração, xi a coordenada do i-ésimo ponto de integração da regra de quadratura e wi o respectivo peso do ponto de integração. Neste trabalho foram consideradas apenas regras de quadratura desenvolvidas para integrar de forma exacta funções polinomiais até um certo grau. Cada regra de quadratura é definida para um domínio de integração específico, referido por sistema de coordenadas natural. Tal implica a necessidade de submeter a função integranda a uma transformação entre o sistema de coordenadas que define o seu domínio de integração e o sistema de coordenadas natural, de maneira a estender a aplicação de regras de quadratura 54 Elementos finitos e regras de quadratura (a) Regra de quadratura para integração de funções 1D. (b) Combinação de regras de quadratura para integração de funções 2D. Figura 4.19: Representação gráfica da aplicação regra de quadratura de Gauss-Legendre de 2 pontos. a diferentes domínios de integração (Dunavant, 1985). O termo quadratura é usado como referência à integração numérica de funções de variável escalar. A extensão destas regras a integrais de funções de variável vectorial é conseguida através da definição de regras de integração compostas que resultam da aplicação sucessiva de regras de quadratura (Dunavant, 1986), conforme representado na figura 4.19. De acordo com esta técnica, a definição de uma regra de quadratura para integrais no volume resulta de: Z Ωe,local l m n i j F(β1 , β2 , β3 ) dΩe,local = ∑ ∑ ∑ f (β1i , β2 j , β3k ) wi w j wk k Com a transformação da composição de somatórios em um único somatório, a regra de quadratura pode ser expressa da seguinte forma: Z l Ωe,local F(β) dΩe,local = ∑ f (βi )Wi i em que βi é a coordenada do ponto de integração, desta vez um ponto em Ωe,local ∈ R3 , e Wi = ∏li wi . Esta técnica de construção de regras de integração permite obter regras específicas a cada aplicação, tendo em consideração critérios como o grau de continuidade exibido pela função integranda numa dada dimensão e tolerâncias de erros numéricos. A implementação do método dos elementos finitos aplicado a problemas da elasticidade tridimensional depende da capacidade de realizar um conjunto de integrais em superfícies e em volumes. Para realizar estes integrais adoptou-se essencialmente dois tipos de regras de quadratura: regras de quadratura de Gauss-Legendre e um conjunto de regras de cubatura específicas da integração de triângulos e tetraedros. As regras adoptadas para este trabalho foram retiradas de Felippa (2004). Juntamente, foram avaliadas as regras de integração simétricas em domínios triangulares do tipo de Gauss expressas em Cowper (1973). As regras de quadratura de Gauss permitem integrar exactamente polinómios de grau (2 n − 1) ou inferior com n conjuntos de pares ordenados compostos pelo ponto de integração e o respectivo peso. Como foi referido anteriormente, estas regras de quadratura foram concebidas para a integração de funções polinomiais. Contudo, a transformação de coordenadas exigida pela implementação de elementos isoparamétricos implica que a função integranda seja um polinómio apenas em casos particulares. Na 4.6. Erro e convergência das soluções 55 generalidade dos casos, em que o elemento se apresenta distorcido, a função integranda no domínio é racional e na fronteira estática é o produto de uma função polinomial pela raiz quadrada de uma outra função polinomial, conforme indicado, respectivamente, nas expressões (4.14) e (4.15). Tal implica que nesses casos o integral realizado através de regras de quadratura não corresponderá a um integral da função integranda. Ele representará o integral de uma aproximação da função integranda através de um polinómio de grau igual ao grau máximo que a regra de quadratura é capaz de integrar de forma exacta. Nos casos em que a função integranda constituir um polinómio de grau superior àquele que a regra de quadratura integra de forma exacta, o resultado obtido não representa o integral da função integranda. O resultado obtido, sendo n o grau dos polinómios integrados de forma exacta, representa o integral de uma função polinomial de grau n que interpola os pontos onde a função integranda é avaliada. Pelo teorema de Weierstrass, constata-se que, num intervalo finito Ω̄, para qualquer função contínua existe um polinómio capaz de representá-la (Pina, 1995, pág. 37). Como consequência, constata-se que, mediante o recurso a uma regra de quadratura obtida para integrar de forma exacta polinómios de um grau suficientemente elevado, é possível obter valores de integrais de qualquer função integranda contínua no domínio de integração com um erro reduzido. O erro cometido por uma interpolação pode ser estimado através da expressão (Pina, 1995, pág. 55): ken k∞ ≤ 1 k f (n+1) k∞ hn+1 4(n + 1) (4.28) sendo h o espaçamento máximo entre nós consecutivos. A partir destas duas classes de regras de quadratura desenvolveu-se um conjunto de regras destinadas a cumprir as exigências de cálculo que se prendem com o tipo de elemento e os integrais que intervém na construção da matriz de rigidez e o vector de forças nodais equivalentes. Através de uma análise à equação do método dos elementos finitos, particularmente as expressões (3.21) e (3.22), e ao conjunto de funções de base que foram definidas para cada elemento, foi possível determinar uma regra de quadratura para cada elemento e para cada aplicação que permitisse obter, para um elemento não-distorcido, o valor exacto do integral. Estas regras são disponibilizadas no anexo B. É no entanto de referir que as regras obtidas através da composição sucessiva de regras de quadratura acabam por ser compostas por um número excessivo de pontos de integração. Em alternativa, existem regras de cubatura desenvolvidas especificamente para integrais de funções de variável vectorial em determinados domínios de integração que permitem realizar o mesmo integral usando um número menor de pontos de integração, com algumas regras a usar menos de metade dos pontos de integração que formam as regras compostas de quadratura indicadas acima, ver Dunavant (1986). 4.6 Erro e convergência das soluções Na secção 3.8 foram abordadas as questões da estimativa do erro e da convergência das soluções aproximadas obtidas a partir do método Bubnov-Galerkin. Esta análise focou-se em um conjunto de pro- 56 Elementos finitos e regras de quadratura priedades independentes das funções de aproximação adoptadas para o efeito e permitiu chegar uma propriedade importante na análise dos resultados: a convergência monotónica das soluções aproximadas para a solução exacta. Subsequentemente apontou-se o conjunto de propriedades a exibir pelas funções de aproximação que garantem este tipo de comportamento. Nesta secção, no seguimento da especificação dos espaços de funções a partir dos quais são obtidas as soluções aproximadas, torna-se possível analisar mais detalhadamente a convergência do erro. Conforme foi visto na secção 3.8, o erro associado a uma aproximação ũ(x) pode ser reduzido com o aumento criterioso do número de bases que geram Vn . Em seguida, na secção 4.2, foi indicada uma abordagem sistemática de aumento das bases que geram Vn recorrendo à partição do domínio do problema e ao conceito de elemento finito. Nesta secção analiza-se a implicação que este método de criação de funções tentativa tem na análise e estimativa do erro cometido com este tipo de aproximação. Uma característica importante que está associada ao método dos elementos finitos prende-se com a relação directamente proporcional que existe entre o número de funções de base escolhidas criteriosamente para gerar Vn e o número de sub-domínios em que o domínio do problema é decomposto. Como consequência torna-se possível obter aproximações da solução exacta cujo erro é tanto mais pequeno quanto maior for o número de sub-divisões do domínio do problema. Para tal não é necessário entrar em detalhes quanto às características das funções de aproximação ũeik (x) empregues em cada sub-domínio Ωek , o que e. inclui a definição das funções de base que geram Vnk Esta técnica de redução do erro recorrendo a uma partição mais refinada, e consequente definição de um maior número de elementos com uma menor dimensão característica, é chamada de refinamento-h, sendo o h uma referência a uma medida característica de cada elemento (Zienkiewicz et al., 2005, pág. 501). Em contrapartida, a redução do erro associado a uma aproximação resultante do aumento do número das e bases de Vnk é chamado de refinamento- p, sendo o p uma referência ao grau dos polinómios que definem a função de aproximação, (Zienkiewicz et al., 2005, pág. 501). As técnicas do refinamento-h e refinamento- p implicam um aumento do número de funções de base que gera o espaço Vn . Em termos práticos isto traduz-se no aumento do número de graus de liberdade do problema, e assim a dimensão do sistema de equações algébricas a resolver. Apesar do aumento do número de funções de base levar à redução dos erros associados às aproximações da solução, a relação entre a variação do erro e a variação do número de elementos que compõem um modelo não é independente do tipo de elemento empregue. De acordo com Hughes (2000, pág. 190), uma estimativa genérica do erro associado a aproximações de solução empregues no método dos elementos finitos, referida como estimativa de erro padrão, assume, na ausência de singularidades, a seguinte forma: kekm ≤ Chk+1−m kukk+1 (4.29) em que kekm representa uma medida de erro, C uma constante independente do grau de refinamento do modelo, k o grau da expansão polinomial completa de maior grau da função de aproximação da solução e m 4.6. Erro e convergência das soluções 57 a ordem mais elevada da derivada que compõe a expressão da energia de deformação. Como na medida de erro na energia apresentada na expressão (3.61) a ordem mais elevada das derivadas é (m = 1) então um majorante para as estimativas de erro padrão é expresso através da seguinte expressão: keken ≤ Chk (4.30) Caso a convergência dos resultados seja afectada pela presença de singularidades, esta estimativa de erro deixa de ser válida. Para estes casos, foi desenvolvida a seguinte estimativa de erro, (Fish e Belytschko, 2007, pág. 117): keken ≤ Chβ (4.31) com 1 β = min k, λ − 2 , λ > 1/2, k ≥ 1. sendo λ o parâmetro de suavidade da singularidade, ver Gui e Babuška (1986). (4.32) Capítulo 5 Desenvolvimento de um programa de cálculo 5.1 Introdução Nesta secção é apresentada uma descrição sucinta de alguns aspectos ligados ao desenvolvimento de um programa de cálculo onde foi implementado o método dos elementos finitos aplicado a problemas da elasticidade tridimensional. A descrição deste programa, deste ponto em diante referido por FEMP, do acrónimo "Finite Element Method Program", focar-se-á apenas nas tecnologias empregues no seu desenvolvimento e em algumas funcionalidades que foram implementadas, terminando com uma descrição sucinta dos aspectos mais importantes do desenho do software, bem como as exigências e os casos de uso que o influenciaram. 5.2 Requisitos O principal requisito a ser satisfeito consistiu na implementação do método dos elementos finitos aplicado a problemas da elasticidade tridimensional. Para satisfazer esta exigência foi necessário implementar um conjunto de funcionalidades acessórias, tais como a visualização de modelos e a sua importação. De maneira a atribuir alguma utilidade prática ao FEMP, foi também considerado necessário implementar a visualização dos resultados das análises, tanto do campo de deslocamentos como de um conjunto de esquemas de pós-processamento de grandezas recuperadas a partir do campo de deslocamentos, como sejam deformações, tensões e erros associados às equações de equilíbrio em Ω e ΓN . Juntamente, foi considerado vantajoso conceder ao utilizador a capacidade de aceder directamente a um conjunto de dados obtidos nas etapas da construção da equação do método dos elementos finitos, resolução do sistema de equações e pós-processamento. É também de notar que foi considerado importante complementar estas funcionalidades com a capacidade de configurar um conjunto de parâmetros intervenientes no processo, tais como as regras de quadratura empregues na construção do problema e as estratégias de pós-processamento dos resultados. A definição de domínios do problema e subsequente partição do domínio, apesar de serem funciona59 60 Desenvolvimento de um programa de cálculo lidades indissociáveis deste tipo de análise, não foram abordadas neste trabalho. Como consequência, foi necessário depender de programas desenvolvidos por terceiros para realizar estas tarefas, estando os requisitos do FEMP limitados à capacidade de importação dos dados gerados por estes. 5.3 Tecnologias empregues O FEMP foi desenvolvido em C++, conforme definido na sua norma internacional mais recente (ISO 14882:2011). Além das bibliotecas definidas na norma da linguagem de programação, foram também usados os seguintes componentes: • Qt v4.7, para interface gráfico de utilizador (Qt 4.7) • OpenGL v2.1, representação gráfica do modelo em 3D (OpenGL 2.1) • Eigen v2.0.15, álgebra linear (Guennebaud et al., 2010) • UMFPACK v5.4.0, resolução de sistemas de equações com matriz esparsa (Davis, 2004) • Boost v1.4.2, colecção de bibliotecas utilitárias desenvolvidas para a linguagem de programação C++ A par dos componentes integrados no programa, recorreu-se também às seguintes ferramentas para gerar automaticamente algumas rotinas. • Flex v2.5.35, gerador de analisadores léxicos • GNU Bison v2.4.1, gerador de analisadores sintácticos • re2c v0.13.5, gerador de analisadores léxicos (Bumbulis e Cowan, 1994) O FEMP foi desenvolvido sem qualquer suporte quer para a definição de domínios tridimensionais, bem como para a sua subsequente partição. Para tal foi necessário recorrer a programas desenvolvidos por terceiros para desempenhar essa função, como o Gmsh, um gerador de malhas tridimensionais distribuído sob uma licença de software livre (Geuzaine e Remacle, 2009). Foi também criado um formato de documento baseado na linguagem JSON, conforme definida em Crockford (2006), destinada a descrever os modelos usados na análise através do método dos elementos finitos. 5.4 Funcionalidades Nesta secção serão descritas algumas funcionalidades que foram implementadas no FEMP, bem como as opções técnicas adoptadas no desenho de um conjunto de componentes e questões relacionadas com a sua implementação. 5.4. Funcionalidades 5 61 6 Nodes 3 1 4 1 2 3 4 5 6 (0,0) (1,0) (0,1) (1,1) (0,2) (1,2) 2 Quad4 Node 1 Node 2 Node 3 Node 4 1 2 4 3 Quad4 Node 1 Node 2 Node 3 Node 4 3 4 6 5 Figura 5.1: Representação da associação entre as definições de elementos finitos e dos respectivos nós. 5.4.1 Estrutura de dados Para poder realizar análises, é necessário em primeiro lugar criar uma estrutura de dados capaz de descrever os problemas. De acordo com as necessidades do método dos elementos finitos, esta estrutura de dados deveria conter informação sobre o conjunto de elementos que compõem cada modelo e as condições de fronteira que lhe são impostas. Sobre o conjunto de elementos finitos, a estrutura de dados deveria registar o seu tipo, juntamente com as propriedades físicas do material que o compõe e a sua configuração geométrica. Como estava previsto que geralmente seriam analisados modelos homogéneos, o que implicava que todos os elementos partilhariam a definição das propriedades materiais, concluiu-se que seria vantajoso que a associação entre os tipo de dados usados dos elementos finitos e das propriedades materiais fosse implementada como sendo do tipo agregação. Tal implicou que as definições das propriedades materiais fossem registadas numa lista, cujas entradas seriam referenciadas pela definição de cada elemento finito. Sobre a configuração geométrica dos elementos, como a configuração geométrica de cada um é definida em função do conjunto de nós que lhe estão associados, alguns dos quais comuns a outros elementos, optou-se também por representar esta associação como sendo do tipo agregação. De igual modo, tal implicou que as definições dos nós fossem registadas numa lista, cujas entradas seriam referenciadas pela definição de cada elemento finito. Esta opção é representada graficamente na figura 5.1. Em relação às condições de fronteira, estas foram divididas em dois grupos: condições de fronteira cinemáticas e estáticas. Para as condições de fronteira cinemáticas, optou-se por suportar apenas a imposição de deslocamentos nulos de acordo com o referencial global do problema (ou seja, fixação de graus de liberdade), o que permite impor condições de encastramento total ou parcial/deslizante. As condições de fronteira estática foram organizadas em dois tipos: forças nodais, e forças distribuídas na superfície. Optou-se também por incluir neste grupo as definições das forças distribuídas no volume. Conforme foi efectuado para a geometria dos elementos finitos, optou-se também por agrupar as condições de fronteira estática em padrões de carregamento, de maneira a evitar a necessidade de criar várias versões do mesmo modelo 62 Desenvolvimento de um programa de cálculo 1..* Material 1 Model 1 1 1 1 n * LoadPattern 1 NodeRestrictions 1 * * * Element * DomainLoad * 1 * Node 1 1 1 1 * 1 SurfaceLoad * 1 NodalLoad Figura 5.2: Diagrama de classe da estrutura de dados Model, com métodos e atributos omitidos. para poder analisar o resultado da aplicação de um conjunto condições distintas impostas no domínio e na fronteira estática. De acordo com este conjunto de requisitos, chegou-se à organização da estrutura de dados descrita através do diagrama de classes representado na figura 5.2. 5.4.2 Importação de modelos Como foi estabelecido na etapa do levantamento dos requisitos, optou-se por definir os domínios, bem como a sua partição, em programas desenvolvidos por terceiros. Desta forma, foi apenas necessário implementar um componente dedicado à importação da informação gerada por esses programas. Um dos principais programas empregues para este efeito foi o Gmsh, ver Geuzaine e Remacle (2009). Devido à capacidade que este programa tem de exportar definições da partição de domínios em um formato próprio, optou-se por desenvolver um analisador sintáctico para importar informação descrita através da linguagem que define este formato. Contudo, a inexistência de uma definição formal desta linguagem obrigou a criar uma definição ad hoc de uma produção de uma linguagem compatível com os documentos gerados pelo programa, daqui em diante referida como formato MSH. Esta produção foi definida a partir da informação disponibilizada na documentação do programa, bem como da análise dos documentos produzidos por este. A partir da definição ad hoc do formato MSH foi possível desenvolver as especificações para um analisador léxico e sintáctico capaz de reconhecer, respectivamente, o conjunto de símbolos terminais que servem de base à linguagem e a estrutura gramatical que a define. Obtidas estas descrições, empregou-se inicialmente, respectivamente, o Flex e o GNU Bison para gerar automaticamente o código-fonte da implementação do analisador sintáctico do formato MSH. Contudo, o uso destas ferramentas revelou-se contraproducente, tendo sido constatado que, pelo menos para este projecto, o recurso a analisadores sintácticos desenvolvidos manualmente oferecia largas vantagens. É incluído no anexo G um exemplo de um 5.4. Funcionalidades modelo descrito através do formato MSH. A par da importação da definição do domínio do problema, foi ainda necessário implementar a salvaguarda de toda a informação necessária para definir modelos de elasticidade tridimensional, que inclui definição das constantes elásticas que definem o material e das condições de fronteira estáticas e cinemáticas do problema. Para satisfazer esta exigência optou-se por definir um novo formato de ficheiro dedicado para o efeito. Devido à exigência de se editar facilmente as definições dos vários modelos através de um qualquer editor de texto, optou-se por definir o novo formato como sendo um sub-conjunto da linguagem JSON. Para importar dados descritos a partir desta linguagem, de forma semelhante ao que se verificou com o formato MSH, optou-se por desenvolver manualmente um analisador sintáctico para esta linguagem. Esta tarefa consistiu na definição de uma produção para esta linguagem, sucedida do desenvolvimento de um analisador léxico e, com base neste, um analisador sintáctico implementado através de um autómato de pilha (Crespo, 2001, pág. 121). É de referir que o desenvolvimento do analisador léxico foi feito com recurso à ferramenta re2c (Bumbulis e Cowan, 1994). É incluído no anexo H um exemplo de um modelo descrito através do formato FEM.JSON. Por fim, é necessário referir a forma adoptada para implementar estes componentes. De maneira a respeitar o princípio de separação de responsabilidades, e também ao constatar-se que haveria uma possibilidade de ser necessário suportar a importação de modelos descritos em outros formatos, estes foram implementados sob a forma de uma função objecto, que são usados como operador sobre a estrutura de dados usada para definir o modelo. 5.4.3 Cálculo da matriz de rigidez global Uma das vantagens inerentes ao método dos elementos finitos reside na simplicidade com que a sua aplicação pode ser sistematizada, em particular o processo de obtenção de uma solução de elementos finitos para uma dada partição do domínio. Esta propriedade assenta sobretudo na capacidade de formular o problema como um conjunto de componentes elementares genéricos processados independentemente cuja contribuição é posteriormente contabilizada. Desta forma, o algoritmo pode ser expresso em função das propriedades genéricas dos componentes elementares, remetendo os pormenores da contribuição de cada componente para a sua implementação. Em traços gerais, o algoritmo do método dos elementos finitos aplicado a problemas da elasticidade tridimensional, conforme foi implementado neste programa, é representado na figura 5.3. A etapa do algoritmo dedicada à construção da matriz de rigidez destina-se a proceder ao cálculo de (3.53) para o problema em análise. Como foi referido anteriormente, a expressão do algoritmo em função das propriedades genéricas dos componentes elementares simplifica o seu desenvolvimento. Nesta etapa, como os componentes elementares em causa são as definições dos elementos, estas propriedades genéricas correspondem às funções de base do elemento, o conjunto de derivadas parciais das funções de base e a regra de quadratura. Desta forma, a sua implementação foi efectuada através da definição de 63 64 Desenvolvimento de um programa de cálculo Build global s tiffnes s matrix build domain loads contribution build s urface loads contribution build nodal loads contribution S olve s ys tem of linear equations Figura 5.3: Representação simplificada do algoritmo do método dos elementos finitos. uma classe-base abstracta destinada a representar elementos, onde é definido o interface comum a todas as classes deste tipo, seguido de um conjunto de classes derivadas que implementam este interface para tipos específicos de elementos. O diagrama da classe é representado na figura 5.4. Element + + + + + + Hexahedron8 s etN(p : fem::point) s etdNdcs i(p : fem::point) s etdNdeta(p : fem::point) s etdNdzeta(p : fem::point) s tiffnes s Quadrature() domainQuadrature() Tetrahedron4 Hexahedron20 Tetrahedron10 Prism6 Prism15 Hexahedron27 Prism18 Figura 5.4: Diagrama de classes para as classes que definem os elementos. Definido o interface para as classes que implementam os elementos suportados, torna-se possível definir o algoritmo da construção da matriz de rigidez global. O diagrama de actividade deste algoritmo, conforme implementado no programa, é apresentado na figura 5.5. 5.4.4 Cálculo do vector de forças nodais equivalentes A definição do vector de forças nodais equivalentes, que correspondem às condições de fronteira estática e às cargas distribuídas no volume, é subdividida em três etapas, correspondentes à imputação das cargas distribuídas no volume, distribuídas na superfície e cargas pontuais. O seu cálculo é efectuado através da aplicação da expressão (3.54). Contudo, é conveniente complementar a contabilização de forças nodais equivalentes com o suporte de forças nodais, correspondente à prescrição directa de forças em um 5.4. Funcionalidades 65 Initialize variables Initialize quadrature rule set dNdcsi, dNdeta, dNdzeta for integration point set V matrix calculate V k_elem += Bt*D*B*det(V)*Weight set B matrix Are there quadrature points left? move to next quadrature point Yes No K += k_elem Are there elements left? move to next element No Yes Figura 5.5: Diagrama de actividade simplificado do algoritmo de construção da matriz de rigidez. conjunto seleccionado de graus de liberdade. Ao considerar este tipo de acções, a expressão (3.54) pode ser ser expressa da seguinte forma: n o { f } = f N + f ΓN + f Ω (5.1) sendo { f N } o vector com a contribuição do conjunto de forças nodais atribuídas no problema. As forças nodais são o tipo de condição de fronteira estática com a implementação mais simples e directa, consistindo apenas na imputação directa de forças aos graus de liberdade respectivos. As cargas distribuídas por volume são atribuídas individualmente a cada elemento, sendo calculadas através do integral da função de densidade de carga no domínio de cada elemento isoparamétrico, conforme a expressão (4.16). Como só se previram aplicações práticas para cargas distribuídas no volume cuja 66 Desenvolvimento de um programa de cálculo densidade de carga no domínio elementar fosse constante então no FEMP só se implementou suporte para o caso da função de densidade de carga b̄i (x) ser constante em cada elemento. Consequentemente, tem-se: fikΩ = b̄i Z Ωe,local Nk (ξ) det [Dx(ξ)] dΩe,local (5.2) As cargas distribuídas por superfície são definidas independente dos elementos. Como alternativa, as superfícies de atribuição de cargas são definidas através de uma variedade diferencial em R3 de dimensão igual a dois, cuja parametrização é uma função interpoladora de um conjunto de pontos no espaço. Desta forma, a contribuição das cargas na superfície para o vector das forças nodais equivalentes é calculado através da expressão (4.15). De acordo com esta expressão, a contabilização de uma carga constante na superfície é dada por: fikΓN = t¯i Z e,local ΓN Nk (ξ) kD1 x(ξ) × D2 x(ξ)k dΓNe,local (5.3) Ao contrário do que se verificou com as cargas distribuídas no volume, com as cargas distribuídas na superfície optou-se por implementar o suporte de densidades de carga variáveis, obtido através da interpolação de um conjunto de valores de densidade prescritos nos nós da superfície. Com esta opção, a função densidade de carga na superfície assume a seguinte forma: t¯i (x) = ∑ N j (x)t¯i j (5.4) j em que t¯i j representa a densidade de pressão segundo a direcção do grau de liberdade i avaliada no nó de interpolação j. Substituindo a expressão (5.4) na expressão (4.15), obtém-se: fikΓN = Z e,local ΓN Nk (ξ) ∑ N j (ξ)t¯i j j ! kD1 x(ξ) × D2 x(ξ)k dΓNe,local (5.5) É ainda de referir que os algoritmos adoptados para implementar o cálculo do vector de forças nodais equivalentes são semelhantes ao algoritmo representado na figura 5.5, com as alterações necessárias para imputar as contribuições para o vector de forças nodais equivalentes, bem como reflectir os diferentes limites de integração, parametrizações e funções integrandas. 5.4.5 Elementos suportados Esta implementação do método dos elementos finitos recebeu o suporte de oito elementos, agrupados em três famílias: elementos tetraédricos (de 4 e 10 nós), hexaédricos (de 8, 20 e 27 nós) e prismáticos (de 6, 15 e 18 nós). As funções de forma destes elementos, bem como as suas derivadas parciais, são descritas nos anexos A.6 a A.13. Apesar de representarem elementos distintos, o recurso a técnicas básicas de programação orientada por objectos, nomeadamente herança e polimorfismo, permitiu desenvolver o algoritmo de construção das 5.4. Funcionalidades matrizes de rigidez elementares e matriz de rigidez global através de um padrão de desenvolvimento do tipo template method, ver Gamma et al. (1995). Desta forma, como os detalhes da implementação são deixados para classes especializadas, o suporte de qualquer tipo de elemento passa a depender da criação de uma nova classe derivada da classe base dos elementos e acrescentar o suporte nas rotinas de importação de informação, integração numérica e visualização. É ainda de referir que as cargas distribuídas em superfícies, conforme é descrito na secção 5.4.4, são implementadas através de um esquema semelhante àquele adoptado para os elementos, com a diferença destes pseudo-elementos serem empregues apenas para interpolar distribuições variáveis de cargas em superfícies. 5.4.6 Integração numérica As rotina da regra de quadratura foram desenvolvidas de maneira a realizar os diversos integrais com um grau de exactidão aceitável. Para isto, foi necessário implementar a aplicação selectiva de regras de quadratura apropriadas a cada integral, que tivesse em consideração não só o tipo de integral a ser realizado como também o tipo de elemento a integrar. A implementação de uma rotina com esta versatilidade foi mais uma vez realizada recorrendo a técnicas básicas da programação orientada por objectos. Tal como efectuado com a rotina de geração de matrizes de rigidez elementar e global, recorreu-se a um padrão de desenvolvimento template method (Gamma et al., 1995). Assim, foi definida uma classe base para os elementos a serem integrados, que inclui não só os elementos 3D como também os diversos tipos de superfícies suportadas pelo FEMP, onde se define um interface com os métodos necessários para proceder ao cálculo em um dado ponto da função de forma, das derivadas parciais da função de forma e das respectivas regras de integração. Subsequentemente, as rotinas que incluem a integração destes elementos foram desenvolvidas recorrendo apenas aos interfaces definidos pela classe base, deixando para as classes derivadas os pormenores da implementação. Para tal, cada classe dedicada a um tipo específico de elemento produz as respectivas regras de quadratura indicadas no anexo B. É de notar também que este desenho do FEMP não é necessariamente o mais indicado para esta função. Como resulta na combinação de métodos destinados à escolha de regras de quadratura com classes destinadas a descrever elementos, esta opção constitui uma violação do princípio da separação de preocupações. Como agravante, esta opção força a atribuição a todas as classes dos elementos de métodos e atributos que se destinam a desempenhar a mesma função, o que implica a existência de código e alocação de memória redundantes. Uma abordagem alternativa, que seria mais ajustada a este problema, seria o recurso ao padrão de desenvolvimento flyweight, ver Gamma et al. (1995). Com esta abordagem não só seria possível remover das classes dos elementos quaisquer responsabilidades para com a atribuição de regras de integração como também reduziria a redundância tanto de código como de memória alocada para esta tarefa. Juntando 67 68 Desenvolvimento de um programa de cálculo Figura 5.6: Interface do programa, com várias janelas com representações diferentes do modelo. a isto, como a responsabilidade de atribuição das regras de quadratura seria deixada para os objectos criados a partir da classe que desempenha o papel de flyweight factory (Gamma et al., 1995), isto abre as portas a uma maior liberdade na definição e uso de regras de quadratura, incluindo a criação dinâmica de regras a partir de opções definidas pelo utilizador. 5.4.7 Interface gráfico de utilizador Conforme foi indicado anteriormente, para o desenvolvimento deste programa adoptou-se a biblioteca Qt para desenvolver o interface gráfico do utilizador. Isto implica que o desenvolvimento de qualquer componente do interface gráfico segue o mecanismo de signals and slots. Este mecanismo consiste no fundo na implementação do padrão de desenvolvimento do tipo observer (Gamma et al., 1995) em todos os componentes da biblioteca, de maneira a disponibilizar uma forma cómoda de ter componentes a emitir e responder a eventos sem que para isso seja necessário introduzir dependências entre eles. O interface de utilizador do programa assume a forma de interface de documentos múltiplos (MDI), representado na figura 5.6. Contudo, neste caso, em vez das janelas serem usadas para apresentar vários documentos, elas são usadas para disponibilizar ao utilizador várias representações do mesmo modelo. Cada classe que implementa o interface gráfico de cada janela tem por base o objecto QWidget, conforme o diagrama de classes representado na figura 5.7. Ao herdar esta classe, torna-se possível criar objectos do tipo QMdiSubWindow que incorporem essas classes como central widget. O programa suporta dois tipos de janelas MDI: uma dedicada à edição do modelo e outra dedicada à representação de resultados. Ambos os tipos de janela são implementados a partir de objectos de classes distintas que herdam a mesma classe base, denominada de MdiWindow, conforme é representado na figura 5.7. Esta opção foi tomada para permitir que cada sub-janela tenha elementos do interface de utilizador como botões em barras de ferramentas, e abre a possibilidade de introduzir menus dedicados. Para a representação dos modelos recorreu-se a um padrão de desenvolvimento do tipo Strategy (Gamma et al., 1995) implementado para a representação da cena. O diagrama de classes que descreve a 5.4. Funcionalidades 69 QMainWindow MdiWindow ModelWindow PostProcessingWindow Figura 5.7: Diagrama de classes da implementação das janelas MDI, omitidos os métodos e atributos. modelação deste componente é representado na figura 5.8. A implementação do padrão de desenvolvimento do tipo Strategy no nível da representação da cena possibilita que um dado modelo seja representado em função de uma estratégia adoptada para o efeito. Ou seja, em vez de ser necessário criar uma classe de janela para cada forma de representação do modelo, cada uma é implementada através da definição de algoritmos específicos que definem a respectiva estratégia de representação. Com isto, a mudança da forma de representação de um modelo é conseguida com a mudança da estratégia de representação. Como as diferentes estratégias de representação são definidas com base em um interface genérico, na prática esta mudança é conseguida através da atribuição a um apontador de memória da referência ao objecto que define essa estratégia, conforme representado na figura 5.9. Entre as estratégias suportadas encontram-se as estratégia de edição do modelo, de representação do modelo na configuração deformada e de representação do modelo considerando o pós-processamento dos resultados de uma análise. Apesar da aparente complexidade, esta abordagem permite simplificar a criação de novas estratégia de representação de modelos, bem como a manutenção do código dos estados já suportados. PostProcessingWindow ModelWindow ModelViewport ViewportState VPStateModel (a) Janela de representação do modelo. PostProcessingViewport ViewportState VPStateDisplacements VPStateGradient (b) Janela de representação de resultados de pós-processamento. Figura 5.8: Diagrama de classes da implementação da representação das cenas. Foi ainda previsto o uso de um padrão do tipo State para gerir a interacção com o utilizador. Esta abordagem permitiria executar acções dependendo do estado corrente do programa (i.e., se um click com o botão direito do rato representa uma tentativa de selecção de um elemento de cena ou um pedido para exibir um menu de contexto) e a representação gráfica de elementos transitórios da cena, como é o caso de áreas ou volumes de selecção de elementos, exibição de menus de contexto e actuação sobre a câmara. É ainda de referir que foi implementado um sistema de selecção de objectos que compõem o modelo. 70 Desenvolvimento de um programa de cálculo ModelViewport ModelViewport ModelViewport PostProcessingViewport (a) Estado de representação de um modelo na configuração indeformada. ModelViewport PostProcessingViewport (b) Estado de representação do modelo na configuração deformada. Figura 5.9: Descrição do uso de um padrão de desenvolvimento Strategy na representação de um modelo. + + + + + + + + + SelectionManager s election_changed : s igc::s ignal<void, S election cons t & > s election_cleared : s igc::<void> clearS election() s etS election(s election : S election) s electElement(eref : fem::element_ref_t) des electElement(eref : fem::element_ref_t) s electNode(nref : fem::node_element_t) des electNode(nref : fem::node_element_t) getS election() : S election 1 1 0..* Selection + + + + + clear() s electElement(eref : fem::element_ref_t) des electElement(eref : fem::element_ref_t) s electNode(nref : fem::node_element_t) des electNode(nref : fem::node_element_t) 0..* «datatype» fem::element_ref_t «datatype» fem::node_element_t Figura 5.10: Diagrama de classes da implementação do sistema de selecção de objectos. : S electionManager : ModelWindow : ModelWindow : s electElement(eref : fem::element_ref_t) : s etS election(s election: S election) : s etS election(s election S election) Figura 5.11: Diagrama de sequência do sistema de selecção de objectos. Este sistema foi desenvolvido para permitir que o utilizador possa alterar a selecção e executar quaisquer operações sobre ela, de forma independente do interface de utilizador que possa vir a utilizar. O sistema de selecção é formado por duas classes: SelectionManager e Selection. O diagrama de classes deste componente é apresentado na figura 5.10. A classe SelectionManager contém listas de objectos seleccionados, disponibilizada a qualquer componente. Esta também implementa um conjunto de padrões de desenvolvimento do tipo Observer destinados a notificar outros componentes de alterações ao conjunto de objectos seleccionados. O seu funcionamento é representado no diagrama de sequência representado na figura 5.11. 5.4. Funcionalidades A 71 B C Tetra 10 Prism 18 Hexa 27 Hexa 27 Figura 5.12: Representação do funcionamento do grafo de cena: a) estrutura de dados do modelo b) objectos da cena criados a partir da estrutura de dados c) representação do modelo pelo grafo da cena a partir dos objectos. 5.4.8 Representação gráfica dos modelos A componente de representação gráfica dos modelos exigiu alguns cuidados devido ao peso computacional associado à visualização de modelos refinados. Desde o início que este componente deu origem a algumas preocupações no que respeita à eficiência da sua execução. Outra preocupação tida desde o início prende-se com a complexidade que este tipo de código tende a assumir, em particular ao longo do processo de desenvolvimento do software e quando confrontado com exigências para as quais não se planeou. Como forma de ultrapassar este problema optou-se por implementar a visualização dos modelos através de um grafo de cena. O grafo de cena desenvolvido para este programa consistiu no desenvolvimento de um componente que conjuga um padrão de desenvolvimento façade com um padrão de desenvolvimento composite, ver Gamma et al. (1995). Este desenho permite, com o padrão façade, reduzir a complexidade associada a este tipo de componente através do isolamento dos detalhes relativos à representação gráfica do restante programa, bem como minimização da comunicação e dependência entre outros sub-sistemas do programa (Gamma et al., 1995), enquanto que com o padrão de desenvolvimento composite permite organizar os diversos componentes em uma estrutura de dados do tipo árvore e, a partir desta estrutura, lidar uniformemente tanto grupos de objectos como objectos individuais. Sobre o padrão façade, conforme foi dito, este foi empregue para poder abstrair a representação e manipulação do modelo da estrutura de dados que o define, limitando a interacção de componentes externos com a cena aos interfaces disponibilizados para o efeito. Para tal, a visualização de um qualquer modelo tem como ponto de partida a criação pelo grafo de cena de um conjunto de objectos destinados a representar elementos da cena que se pretende visualizar. Ao pretender representar-se o modelo, esta etapa incluirá a iteração pelas estruturas de dados que definem o modelo de elementos finitos e os respectivos resultados, cujo processo é representado na figura 5.12. Criados os objectos, o grafo de cena passa a geri-los internamente e a representar a cena com base 72 Desenvolvimento de um programa de cálculo Figura 5.13: Representação do funcionamento do padrão de desenvolvimento do tipo Observer. neles, não necessitando mais da consulta das estruturas de dados. Apesar do grafo de cena não depender do acesso directo à informação armazenada sobre o modelo, e assim a representação do modelo estar desligada da própria definição do modelo, é possível preservar a coerência entre essa informação e a representação gráfica. Para tal recorre-se à aplicação de um padrão model-view-controller (Gamma et al., 1995), com a estrutura de dados do modelo a desempenhar o papel de model e o grafo da cena a desempenhar o papel de view. Tal é conseguido através da aplicação criteriosa do padrão de desenvolvimento observer quer no grafo de cena como na estrutura de dados que define o modelo, de maneira a preservar a consistência entre a representação da informação e a própria informação. Assim, qualquer alteração relevante realizada quer no componente Model como no View levará o respectivo objecto do observer a emitir um sinal a notificar todos os componentes da alteração. Em resposta, os componentes afectados pela alteração submeter-se-ão a ela e, de seguida, emitirão um sinal para actualizar o estado do objecto, conforme representado na figura 5.13. Desta forma, o modelo e representação do modelo preservam a sua coerência não só aquando da realização de acções provenientes da interacção do utilizador com a representação da informação, bem como quando há alterações a serem realizadas ao modelo por outro sub-sistema. Em relação ao padrão de desenvolvimento composite, a sua aplicação foi motivada principalmente por questões de eficiência, sobretudo a procura de evitar gastar processamento com a representação de secções ocultas do modelo. O padrão de desenvolvimento composite implementado neste grafo de cena consiste em uma estrutura de dados do tipo grafo direccional sem ciclos (ou seja, uma árvore) em que todos os vértices são definidos por classes que herdam de uma classe base comum: a classe do componente de grafo de cena. Cada objecto que define um vértice no grafo da cena possui uma definição de uma região no espaço. Esta região representa uma fronteira que contém todas as regiões definidas pelos seus vértices-filho, conforme representado na figura 5.14. 5.4. Funcionalidades Figura 5.14: Representação da organização dos objectos da cena no grafo da cena em função da fronteira que os delimita. Figura 5.15: Representação da visualização dos objectos que compõem o grafo da cena em função da intersecção da sua fronteira com o volume de visão. Como todo o vértice do grafo da cena contém a região definida pelos vértices-filho, torna-se possível avaliar se todo um conjunto de objectos da cena são ou não são representados mediante uma única avaliação da intersecção de regiões no espaço. Com isto, comparando as fronteiras definidas por cada vértice da árvore com o volume de visão, que é representado por um cubóide, é possível evitar representar os elementos da cena que não são visíveis, conforme representado na 5.15. A par dessa motivação, também traz vantagens em domínios como a adição de interacção com os objectos da cena e o desenvolvimento e introdução de novos tipos de objectos de cena. No que diz respeito ao desenvolvimento de novos tipos de objectos de cena, o seu desenvolvimento limita-se à criação de uma nova classe que herda a classe base dos componentes do grafo de cena e a reescrita do método responsável pela representação do objecto da cena através de um conjunto de instruções de OpenGL. Feito isto, resta incluir um objecto dessa nova classe na lista de objectos da cena, juntamente com qualquer ligação relevante a um interface de um componente Model e/ou Controller de um 73 74 Desenvolvimento de um programa de cálculo Figura 5.16: Representação do funcionamento do picking. padrão Model-View-Controller, e a sua posterior representação e gestão é desempenhada automaticamente pelo grafo da cena. Como todos os objectos que compõem a cena estão contidos em uma região no espaço e como estão organizados hierarquicamente de acordo com uma dada ordem, então a interacção entre o utilizador e esse conjunto de objectos pode ser realizada através da avaliação da intersecção das fronteiras dos objectos da cena com outras regiões representativas da interacção do utilizador. Um exemplo consiste na definição de qualquer acção resultante do uso do rato, como a passagem do cursor do rato sobre um objecto da cena ou até um qualquer click do rato. Esta técnica, vulgarmente denominada de picking, implica que como a posição do rato sobre uma janela que implementa uma representação tridimensional de uma cena pode ser interpretada como uma semirrecta no espaço, a posição do cursor do rato relativamente aos objectos da cena pode ser avaliada através da intersecção desta semi-recta com a fronteira dos objectos da cena. Outra possibilidade consiste em interpretar duas posições do rato como duas semi-rectas que descrevem um rectângulo no plano 2D da janela e consequentemente um volume no espaço da cena. Subsequentemente, este volume no espaço da cena pode ser usado para determinar que objectos da cena estão incluídos nele, e assim permitir que o utilizador actue sobre simultaneamente em um conjunto de objectos. Por fim, é importante referir a necessidade de reorganizar a estrutura hierárquica dos objectos da cena consoante sejam feitas mudanças à representação do modelo, tal como uma mudança da posição da ponto de observação da cena. Para tal, este grafo de cena foi desenvolvido de maneira a armazenar todos os objectos da cena em uma lista, a partir da qual é gerada o grafo com os objectos da cena juntamente com as fronteiras que os contém. 5.4.9 Álgebra matricial e resolução de sistemas de equações A realização de operações algébricas entre matrizes e resolução de sistemas de equações lineares são tarefas essenciais para qualquer aplicação do método dos elementos finitos. Devido à dimensão que os sistemas de equações produzidos por este método tendem a assumir, torna-se imprescindível recorrer a rotinas eficientes para realizar estas operações. A par da eficiência, a quantidade de recursos do sistema exigidos pelos métodos de resolução é também um factor decisivo nesta escolha. 5.4. Funcionalidades Analisando os sistemas de equações produzidos por esta aplicação do método dos elementos finitos, sobressai o facto da matriz de rigidez global ser simétrica e positiva-definida após a imposição das condições de fronteira cinemáticas. O suporte limitado das funções de aproximação elementares, juntamente com o número elevado de graus de liberdade que os problemas tendem a apresentar, implica que estas matrizes possuem um número elevado de coeficientes nulos. Por conseguinte, é vantajoso adoptar métodos de resolução de sistemas de equações desenvolvidos expressamente para tirar proveito destas características. Devido à especialização destes métodos, a adopção de rotinas força também o uso de estruturas de dados que lhe servem de base, onde se incluem as estruturas de dados usadas para representar matrizes. Apesar dos ganhos de eficiência que estão associados à adopção de rotinas especializadas, é também de notar que as diferentes operações matriciais que compõem o algoritmo do método dos elementos finitos apresentam características distintas. Como a eficiência destas rotinas é influenciada pelas estruturas de dados que lhes servem de base, em certos casos revela-se vantajoso adoptar diferentes tipos de estruturas de dados em etapas distintas do algoritmo, mesmo que para tal seja necessário incorrer no custo computacional de converter a mesma informação em formatos diferentes. Nesta aplicação, notou-se que a etapa de construção da matriz de rigidez global é dominada por dois tipos de necessidades: a realização de um conjunto de operações algébricas envolvendo matrizes de rigidez elementares e a contabilização da matriz elementar na matriz de rigidez global. O primeiro tipo de operações, por ser dominado por operações algébricas em matrizes densas com uma dimensão relativamente pequena, é adequadamente desempenhado através da aplicação de rotinas a estruturas de dados desenvolvidas para matrizes densas com dimensão estática. Por outro lado, nesta etapa a única operação que é realizada sobre a matriz de rigidez global é a contabilização das contribuições das matrizes de rigidez dos elementos. Ou seja, esta operação traduz-se na soma de um conjunto de escalares a determinados coeficientes da matriz. Considerando isto, e notando que as matrizes de rigidez produzidas por este método são esparsas e de grandes dimensões, nota-se que é vantajoso empregar nesta etapa uma estrutura de dados para a matriz que seja desenvolvida especificamente para reservar memória para coeficientes da matriz usados e somar escalares a esses coeficientes. Na etapa da resolução do sistema de equações lineares, as exigências impostas à estrutura de dados que define a matriz de rigidez passam a depender da rotina adoptada para este efeito. Contudo, apesar deste dado ser mantido uma incógnita, assume-se como garantido que a estrutura de dados adoptada na etapa de construção da matriz de rigidez global não será apta para esta tarefa. Por este motivo, considera-se como seguro que, por motivos de eficiência, a resolução do sistema de equações seja precedida de uma conversão entre o tipo de matriz empregue na etapa da construção de matriz de rigidez e o tipo exigido pela rotina de resolução do sistema de equações. Considerando estas exigências, considerou-se necessário implementar três tipos distintos de matrizes: • matriz densa com dimensão reduzida e definida estaticamente, usadas em operações algébricas • matriz esparsa de grandes dimensões, usada exclusivamente para aceder e operar sobre coeficientes 75 76 Desenvolvimento de um programa de cálculo individuais • matriz esparsa de grandes dimensões, usada pela rotina de resolução de sistemas de equações Após uma procura de bibliotecas de álgebra de matrizes e rotinas de resolução de sistemas de equações que se encontravam disponíveis e cuja licença de utilização permitia o livre acesso e distribuição, notou-se que não foi possível encontrar uma oferta que integrasse todas as funcionalidades necessárias. Como consequência, optou-se por adoptar bibliotecas distintas para resolver sistemas de equações e realizar operações algébricas entre matrizes densas. Para a resolução de sistemas de equações lineares adoptou-se a UMFPACK (Davis, 2004), uma biblioteca desenvolvida em ISO C que implementa um algoritmo de factorização LU do tipo multi-frontal desenvolvido para matrizes esparsas não-simétricas. Para a realização de operações algébricas entre matrizes, adoptou-se a Eigen v2.0.17 (Guennebaud et al., 2010), uma biblioteca eficiente e versátil de álgebra de matrizes, escritas em C++ 98. A integração das bibliotecas foi conseguida através de uma biblioteca desenvolvida especificamente para o efeito. Esta biblioteca destinou-se a definir um conjunto de tipos de matrizes e a disponibilizar rotinas que permitem converter os dados entre elas. Devido às exigências de eficiência, optou-se por implementar os tipos de matrizes através de um padrão do tipo Strategy, mas implementado em programação genérica. Este padrão baseia-se na definição de uma classe anfitriã (Alexandrescu, 2001, pág. 7), um molde de classe destinado a definir o interface dos tipos de matrizes. Posteriormente, as funcionalidades específicas a cada tipo de classe são implementadas através de classes que implementam a estratégia, que são passadas como parâmetro do molde da classe. Com esta técnica é evitado o uso de métodos virtuais em troca da definição das classes na etapa de compilação. Solver Analysis + run() +s olver CholeskySolver + initialize() + s olve() + cleanup() ConjugateGradientSolver UMFPACKSolver Figura 5.17: Diagrama de classes da implementação das rotinas de resolução de sistemas de equações lineares. A principal aplicação deste componente assume a forma da classe empregue para representar a matriz de rigidez global na etapa de construção da equação do método dos elementos finitos. Como nenhuma das bibliotecas adoptadas disponibilizava uma classe para matrizes esparsas adequada às exigências desta etapa, tornou-se necessário suprimir essa necessidade através do desenvolvimento de uma classe para desempenhar essa função. Considerando as exigências anteriormente indicadas, optou-se por definir uma politica de estrutura de dados de matrizes do tipo dicionário de chave (Dictionary of Keys, referido daqui 5.5. Utilização em diante por DoK). Esta abordagem consiste em definir uma matriz como sendo um conjunto de pares chave-valor, com o valor a corresponder a um coeficiente da matriz e a chave a corresponder aos índices do coeficiente. O conjunto de pares chave-valor foi implementado através do contentor associativo std::map, definido na norma de C++, o que garante uma correspondência única entre uma chave e um coeficiente, um armazenamento ordenado dos pares chave-valor e o acesso rápido a valores a partir da sua chave. Para a etapa da resolução do sistema de equações, apesar de se ter adoptado o UMFPACK, considerou-se vantajoso deixar aberta a possibilidade de recorrer a outras rotinas para resolver sistemas de equações. Este requisito levou a implementação desta funcionalidade novamente através de um padrão de desenvolvimento do tipo Strategy, cujo diagrama de classes é descrito na figura 5.17. A adopção do padrão de desenvolvimento do tipo Strategy permitiu definir o interface das rotinas necessárias para a resolução do sistema de equações e remeter para cada implementação a definição desta rotina. O interface define três métodos, destinados respectivamente a inicializar a rotina, a resolver o sistema de equações e a realizar qualquer limpeza após terminada a resolução. Na implementação da rotina UMFPACK, a rotina de inicialização é usada para converter a matrix de rigidez global do formato DoK para o formato de armazenamento comprimido em coluna (compressed column storage, também referido pela sigla CCS), para o qual a biblioteca foi desenvolvida. É ainda de referir que foram implementados mais duas rotinas de resolução de sistemas de equações, resultantes da implementação do método de Cholesky e do método dos gradientes conjugados. Contudo, a eficiência destas rotinas é consideravelmente inferior àquela exibida pela rotina de resolução do UMFPACK, o que levou a serem relegadas a um exemplo de demonstração. 5.5 Utilização Nesta secção será descrita de forma breve a utilização do FEMP na criação de modelos, obtenção de soluções de elementos finitos e a sua subsequente análise. 5.5.1 Criação de modelos Como foi referido na secção 5.4.2, o FEMP foi desenvolvido para criar modelos a partir da importação de definições de malhas geradas por programas desenvolvidos por terceiros. Assim, para criar um modelo, invoca-se o wizard de importação de definições de malhas. Para tal, executa-se a acção incluída no menu File->New, apresentado na figura 5.18. O wizard apresenta as opções adoptadas para a importação de uma malha em uma sequência de caixas de diálogo, conforme apresentado nas figuras 5.19. Como, de forma geral, as definições de malhas incluem apenas informação relativa à sua geometria, o FEMP permite que seja escolhida uma definição de propriedades materiais a ser adoptada por todos os elementos finitos que compõem o modelo. A caixa de diálogo usada para esse efeito é apresentada na figura 5.20a. 77 78 Desenvolvimento de um programa de cálculo Figura 5.18: Menu “file”. (a) Escolha do tipo de modelo. (b) Escolha da malha a ser importada. Figura 5.19: Wizard de importação de malhas. (a) Caixa de diálogo da edição de materiais. (b) Wizard de importação de malhas: importação bem sucedida. Figura 5.20: Wizard de importação de malhas: processo de importação de uma malha. 5.5. Utilização 79 Figura 5.21: Resultado final da importação de uma malha. A importação de uma malha é conseguida através da indicação do documento onde esta é descrita de acordo com um formato suportado pelo FEMP. Ao apontar o documento, este é analisado pelo componente descrito na secção 5.4.2. Caso não sejam encontrados erros na análise do documento, é indicado na janela do Wizard o número de nós e de elementos que compõem a malha, conforme é exibido na figura 5.20b. Ao finalizar a importação da malha, este é exibido ao utilizador. Para tal, é criada uma janela MDI de visualização de modelos, conforme é apresentado na figura 5.21. Neste ponto, o modelo não inclui qualquer condição imposta na fronteira cinemática. A definição de condições de fronteira é abordada na secção 5.5.2. É ainda de referir que, a fim de simplificar a definição de condições de fronteira estática do tipo pressões aplicadas na fronteira, o analisador do formato MSH, referido na secção 5.4.2, foi desenvolvido de maneira a interpretar definições de elementos bidimensionais como definições de tracções de valor unitário, aplicadas perpendicularmente à superfície. 5.5.2 Prescrição de condições de fronteira e forças volúmicas O FEMP suporta a definição de três tipos de condições de fronteira: prescrição de deslocamentos nulos de graus de liberdade em relação aos eixos das coordenadas globais, e prescrição de forças nodais e pressões aplicadas em superfícies. Juntamente, o FEMP também oferece suporte para a prescrição de forças volúmicas em elementos. A prescrição de qualquer tipo de condições de fronteira é realizado pelo mesmo processo: selecção dos objectos a aplicar as condições de fronteira e execução da acção que define estas condições. Estas acções são executadas mediante a invocação da caixa de diálogo apropriada. Para fixar graus de liberdade, selecciona-se o conjunto de nós e executa-se a acção incluída no menu Edit->Node Restraints, apresentado na figura 5.22. Essencialmente, esta acção prescreve os deslocamentos de todos os nós incluídos na lista de selecção do componente SelectionManager, descrito na secção 5.4.7, no momento em que esta é executada. 80 Desenvolvimento de um programa de cálculo Figura 5.22: Menu “Edit”. (a) Fixação de nós. (b) Prescrição de forças aplicadas em nós. (c) Prescrição de forças volúmicas. Figura 5.23: Caixas de diálogo de prescrição de condições de fronteira. A prescrição de forças aplicadas em nós é feita mediante a selecção de um conjunto de nós, seguida da execução da acção incluída no menu Edit->Node Actions, apresentado na figura 5.22. Como neste programa as condições impostas na fronteira estática são agrupadas em padrões de carregamento, a prescrição deste tipo de condições é acompanhada da selecção do padrão de carregamento onde incluí-la. Por fim, a prescrição de forças volúmicas em elementos é feita de forma semelhante à usada para definir forças aplicadas em nós, com a excepção que esta operação incide nos elementos seleccionados. Assim, as forças volúmicas são definidas mediante a selecção de um conjunto de elementos, seguida da execução da acção incluída no menu Edit->Domain loads, apresentado na figura 5.22. 5.5.3 Execução de análises A análise é realizada mediante a invocação da caixa de diálogo de execução de análises, através da execução da acção incluída no menu Project->Run, apresentado na figura 5.24. Nesta caixa de diálogo é possível seleccionar o padrão de carregamento a analisar, bem como o método de resolução de sistemas de equações lineares, conforme exibido na figura 5.25. No entanto, o uso de 5.5. Utilização 81 Figura 5.24: Menu “Project”. outros métodos além daqueles disponibilizados pela biblioteca UMFPACK é desaconselhado devido à sua ineficiência dos restantes métodos implementados. Ao iniciar a análise, é exibida uma caixa de diálogo, representada na figura 5.26, onde é indicada informação sobre o seu progresso. Finalizada a análise, após o fecho desta caixa de diálogo o programa abre uma nova janela MDI onde é possível visualizar os resultados obtidos. 5.5.4 Representação dos resultados Após a realização de uma análise, o programa disponibiliza três formas de representação dos resultados: representação dos resultados numa tabela, e representação gráfica dos modelos via campo de gradiente e campo de tensões principais. A representação dos resultados numa tabela é obtido mediante a criação de uma janela MDI especializada para esse efeito, apresentada na figura 5.27. Para tal, executa-se a acção incluída no menu Window->New->Analysis results, apresentado na figura 5.28. Este tipo de janela permite ao utilizador filtrar as colunas a exibir, bem como ordenar os dados da tabela em função dos valores exibidos em cada coluna. A representação gráfica dos resultados via campo de gradientes obtém-se através da execução da acção incluída no menu Window->New->Gradient, apresentado na figura 5.28. Isto leva à criação de uma janela MDI desenvolvida especificamente para este tipo de visualização, permitindo a representação de qualquer componente do tensor das tensões e deformações, bem como a tensão de von Mises, através de um gradiente de cores conforme é exibido na figura 5.29. A visualização dos resultados via representação das tensões principais obtém-se através da execução da acção incluída no menu Window->New->Tensor field, apresentado na figura 5.28. Esta política de visualização representa cada tensor através de um conjunto de três linhas a representar as direcções principais das tensões, e com cada linha a representar a magnitude da tensão principal mediante a mesma escala de 82 Desenvolvimento de um programa de cálculo (a) UMFPACK. (b) Método de Cholesky para matrizes esparsas. (c) Método do gradiente conjugado. (d) Método de Cholesky para matrizes densas. Figura 5.25: Métodos de resolução de sistemas de equações disponíveis. Figura 5.26: Caixa de diálogo do progresso da análise. 5.5. Utilização 83 Figura 5.27: Janela MDI com a representação tabelada dos resultados. Figura 5.28: Menu “Window->New”. Figura 5.29: Visualização dos resultados via gradiente de cores, eixo de simetria transversal de uma laje quadrada sujeita ao peso próprio. 84 Desenvolvimento de um programa de cálculo (a) Tensor completo (b) Direcções principais negativas Figura 5.30: Visualização das direcções principais dos tensores, eixo de simetria transversal de uma laje quadrada sujeita ao peso próprio. cores usada na visualização via gradientes de cores, conforme indicado em 5.30. São representados os tensores calculados nos pontos de integração da matriz de rigidez de cada elemento. O programa também permite representar apenas as componentes positivas ou negativas dos tensores, demonstrado na figura 5.30b. Foi também implementado o suporte para a consulta da matriz de rigidez de um modelo, conforme apresentado na figura 5.31. Esta janela é criada através da execução da acção incluída no menu Window>New->FEM equation, apresentado na figura 5.28. 5.5.5 Configuração do programa O programa permite ao utilizador que defina um conjunto de opções mediante a edição de um ficheiro de texto. Esta funcionalidade constitui uma forma cómoda e simples de definição de um con- 5.5. Utilização Figura 5.31: Janela MDI com a representação tabelada da matriz de rigidez. junto de opções, e permite que estas sejam preservada entre execuções do programa. Este ficheiro, que segue um formato legível por humanos idêntico ao INI, em sitemas do tipo unix-like encontra-se em $HOME/.femp/.options.opt. Algumas das opções suportadas pelo programa são indicadas a seguir: project.open.defaultdirectory linha de texto, directoria que serve de ponto de partida de qualquer caixa de diálogo de selecção de ficheiros. viewport.background.color vector de três escalares, usada para definir a cor de fundo no formato {R, G, B}, com cada cor a ser representada por valores no intervalo [0, 1]. viewport.nodes.radius escalar, define o raio da representação gráfica dos nós dos elementos. viewport.nodes.color vector de três escalares, usada para definir a cor dos nós não-seleccionados. viewport.fields.color.maximum_positive vector de três escalares, usado para definir a cor que representa o maior valor positivo num gradiente. viewport.fields.color.maximum_negative vector de três escalares, usado para definir a cor que representa o maior valor negativo num gradiente. viewport.fields.color.neutral vector de três escalares, usado para definir a cor que representa o valor neutro/zero num gradiente. 85 Capítulo 6 Exemplos de aplicação 6.1 Introdução Neste capítulo são apresentados alguns exemplos de aplicação do programa desenvolvido destinados a demonstrar as propriedades principais do método dos elementos finitos aplicado a problemas da elasticidade linear tridimensional. Os testes efectuados são: Patch-test A realização de um conjunto de testes à capacidade de convergência e robustez dos tipos de elementos finitos suportados pelo programa, mediante a realização de um patch-test. Consola cúbica Uma análise de um modelo de uma consola cúbica, mostrando a convergência da solução do MEF para a solução exacta na presença de singularidades. Esfera oca sujeita a pressão interna Trata-se de um exemplo para o qual se conhece a expressão analítica da solução exacta, o que permite uma análise mais rigorosa dos resultados produzidos pela implementação do método dos elementos finitos. Este exemplo permite obter a taxa de convergência dos elementos utilizados, pois a solução analítica é regular. Neste caso, esta não é afectada pela presença de campos singulares de tensões. Análise de uma laje simplesmente apoiada É efectuada a análise de um modelo de uma laje, e posterior comparação dos resultados com aqueles obtidos a partir da aplicação da teoria de lajes finas e moderadamente espessas. Análise de um perfil IPE biencastrado É analisado um modelo de um perfil IPE biencastrado e sujeito a uma carga distribuída no domínio, cujos resultados são comparados com aqueles obtidos a partir da teoria de peças lineares de Euler-Bernoulli. Análise de um perfil LNP curvo É analisado um modelo de uma peça linear com perfil curvo. 87 88 Exemplos de aplicação Placa com orifício circular sujeita a tracção Permite observar a concentração de tensões provocada pela abertura de um orifício circular em uma placa, e sua comparação com os resultados obtidos através da solução analítica para um domínio infinito. No presente trabalho, assume-se que em todos os exemplos é utilizado um sistema coerente de unidades. 6.2 Patch test Todos os tipos de elementos finitos suportados por este programa geram espaços de soluções compatíveis e cumprem a condição de completude referida na secção 3.5. Isto implica que os resultados obtidos a partir de modelos compostos por estes tipos de elementos finitos convergem monotonicamente para a solução exacta. Apesar desta garantia, é conveniente que se conduzam testes que permitam avaliar a validade dos resultados, não só para corroborar as propriedades que se atribuem aos tipos de elementos finitos suportados como também para assegurar que o programa foi implementado correctamente. Um tipo de testes usado para este fim é o patch test (Zienkiewicz et al., 2005, pág. 329). O termo patch test abrange um conjunto de testes desenvolvidos expressamente para avaliar pormenores específicos de elementos finitos, bem como a sua implementação. Essencialmente, este tipo de teste consiste na análise de modelos compostos por um número reduzido de elementos finitos submetidos a acções que provocam estados de deformação previamente conhecidos. Efectuada a análise, o resultado produzido por esta é comparado com o resultado esperado a fim de serem tiradas conclusões (Irons e Loikkanen, 1983). A realização deste tipo de testes permite avaliar se a implementação não só é capaz de reproduzir resultados correctos como também é suficientemente robusta para obtê-los consistentemente. É ainda de referir que a condução destes testes é particularmente importante nos casos em que se pretende usar software desenvolvido por terceiros, sobretudo quando funcionam como uma caixa-negra e se desconhece quaisquer detalhes relativos à sua implementação (Fish e Belytschko, 2007, pág. 202). Os cuidados tidos na definição dos problemas a analisar incluem a criação de malhas que submetam os elementos finitos a distorções significativas e a reprodução de campos não-uniformes de tensões. Para testar a presente implementação, foi utilizado o patch test baseado no teste C referido em Zienkiewicz et al. (2005, pág. 334). Este teste consiste na prescrição de um conjunto de tracções na superfície do modelo de modo a que o resultado corresponda à solução exacta. Posteriormente, a solução obtida a partir do modelo é comparada com a solução exacta. Este teste permite, além de validar a implementação do programa, avaliar a consistência dos resultados que poderão ser obtidos a partir de partições do domínio progressivamente mais refinadas, que — no limite — deverão corresponder à solução exacta do problema expresso em (3.1), referido na página 12. Como o campo de deformações de um sub-domínio de reduzida dimensão converge para uma distribuição tendencialmente constante, a capacidade de obter 6.2. Patch test 89 (a) Modelo original. (b) Modelo sujeito a simplificação por simetria. Figura 6.1: Modelo da barra traccionada. resultados para esta equação diferencial depende da capacidade do elemento finito reproduzir um campo de deformação constante. Para avaliar o comportamento dos elementos suportados pelo programa, bem como validar a implementação do método dos elementos finitos, realizou-se um conjunto de modelos baseados no patch test do tipo C. O problema adoptado para o efeito consiste numa representação de uma barra prismática com l = 4, 0 de comprimento, alinhada com o eixo x3 do referencial global, e uma secção quadrada com aresta b = 1, 0, sujeita a uma compressão axial por duas pressões aplicadas nas extremidades com uma densidade de carga de t¯ = 1, 0, causando um campo de deformações constante no sentido do eixo. Para estes exemplos foram adoptadas as constantes materiais E = 10 e ν = 0, 3. Devido à simetria exibida pelo modelo, foi possível simplificá-lo mediante a aplicação de um conjunto de condições de fronteira cinemáticas no plano de simetria, conforme esquematizado na figura 6.1. Note-se porém que seria ainda possível efectuar simplificações de simetria em relação a dois planos paralelos ao eixo x3 . A partir deste problema, foram criados modelos compostos exclusivamente por cada tipo de elemento finito suportado pelo programa, de maneira a testar o seu comportamento. Sendo um problema de Neumann, foi necessário introduzir três restrições cinemáticas adicionais de modo a restringir os deslocamentos de corpo rígido. Como este tipo de teste é realizado com vista a representar o comportamento de elementos finitos incluídos em malhas com um elevado grau de refinamento, optou-se por criar modelos compostos por elementos não-distorcidos. Realizado o teste, todos os modelos produziram como resultado um campo de deformações uniforme em que ε33 = −0, 1, ε11 = ε22 = 0, 03 e εi j ≈ 0, i 6= j. Os resultados são exibidos no anexo C, sendo representado na figura 6.2a o resultado obtido para o campo ε33 a partir do modelo composto por elementos finitos hexaédricos de 8 nós. Este teste foi realizado com base em um conjunto de modelos compostos por elementos finitos não-distorcidos. Este cenário é favorável, pois a transformação aplicada ao sub-domínio de referência dos elementos, ver expressão (4.2), resulta em um factor pontual de conversão de volumes-n que assume a forma de uma constante. Assim, optou-se por repetir os testes em modelos compostos por elementos 90 Exemplos de aplicação (a) Configuração original. (b) Configuração distorcida. Figura 6.2: Campo ε33 da barra sujeita a pressão axial: modelos compostos por elementos hexaédricos de 8 nós. (a) não-distorcido (b) distorcido Figura 6.3: Distorção dos elementos finitos obtida a partir da alteração da partição do modelo da barra. Tabela 6.1: Campos de deformações obtidos em modelos distorcidos sujeitos a pressão constante. Elemento Tetraédrico Hexaédrico Prismático Número de nós 4 10 8 20 27 6 15 18 ε11 ε22 ε33 ε12 ε13 ε23 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 0,03 -0,1 -0,1 -0,1 -0,1 -0,1 -0,1 -0,1 -0,1 -2,77556e-17 2,77556e-17 1,73472e-17 1,38778e-17 1,38778e-16 1,73472e-17 -2,77556e-16 -1,94289e-16 1,02731e-16 -2,08167e-17 8,1532e-17 4,85723e-17 -9,02056e-17 -3,46945e-18 1,249e-16 -3,26128e-16 1,73472e-16 -1,04083e-17 1,9082e-16 -2,70617e-16 -1,59595e-16 -5,20417e-17 -2,63678e-16 -7,63278e-17 distorcidos. A distorção dos elementos finitos foi obtida através da rotação de 45◦ do plano médio da barra, inicialmente perpendicular ao seu eixo, conforme representado na figura 6.3. Realizado o teste, mais uma vez todos os modelos voltaram a reproduzir um campo de deformações uniforme em que ε33 = −0, 1, ε11 = ε22 = 0, 03 e εi j ≈ 0, i 6= j. Os resultados são exibidos na tabela 6.1, e a representação gráfica de todos os modelos encontra-se no anexo D. Na figura 6.2b é exibida a deformação ε33 representada através de um gradiente de cores, obtida a partir do modelo composto por elementos finitos hexaédricos de 8 nós. Os testes realizados até este ponto permitiram constatar que os elementos suportados pelo programa possuem a capacidade de representar campos constantes de deformações. 6.3. Consola curta cúbica (a) Representação da malha através do Gmsh. 91 (b) Representação do modelo através do programa de cálculo. Figura 6.4: Representação da discretização do modelo de uma consola curta, composto por 8 elementos hexaédricos de 8 nós. 6.3 Consola curta cúbica 6.3.1 Introdução O modelo da consola curta cúbica consiste num domínio hexaédrico com dimensões 1, 00×1, 00×1, 00, posicionado no espaço de maneira a que a origem do referencial coincida com o seu centróide e cada face seja perpendicular a um dos eixos coordenados. Na figura 6.4a é representada a malha gerada pelo Gmsh, bem como um referencial cujos eixos são paralelos aos eixos adoptados para referencial global. Este tipo de representação de eixos será adoptado em todos os exemplos subsequentes. As malhas obtidas a partir da partição deste domínio são usadas para definir modelos de um sólido homogéneo de material isotrópico linear, cujo comportamento é representado através das constantes elásticas E = 1000 e ν = 0, 25. Como condições de fronteira, os nós pertencentes ao plano x3 = −0, 5 foram fixados, e foi aplicada uma carga distribuída no domínio com uma densidade de força no volume de valor unitário. O modelo é representado na figura 6.4b. Como foi referido anteriormente, o programa de cálculo suporta três tipos de elementos: tetraédricos (linear de 4 nós e quadrático de 10 nós), hexaédricos (linear Lagrangeano de 8 nós, quadrático Serendipiano de 20 nós e quadrático Lagrangeano de 27 nós) e prismáticos (linear de 6 nós, quadrático Serendipiano de 15 nós e quadrático de 18 nós). Para testar a convergência destes elementos, para cada tipo de elemento foi definido um conjunto de 5 modelos resultantes de um processo de refinamento-h progressivo aplicado a um domínio definido como primitivo, conforme indicado na figura 6.5. Cada domínio primitivo foi definido a partir de uma discretização do domínio do problema exclusivamente em elementos do tipo pretendido. O posterior refinamento-h consistiu na subdivisão dos elementos que compõem o domínio em um conjunto de elementos do mesmo tipo, conforme é descrito na figura 6.6. É de referir que não foi possível completar a análise de alguns modelos devido a limitações dos recursos 92 Exemplos de aplicação (a) Elementos tetraédricos. (b) Elementos hexaédricos. (c) Elementos prismáticos. Figura 6.5: Partições primitivas do domínio do modelo, representadas através do Gmsh. (a) 1 elemento. (b) 8 elementos. (c) 64 elementos. (d) 512 elementos. Figura 6.6: Representação do refinamento-h de um modelo composto por elementos hexaédricos Lagrangeanos lineares de 8 nós. disponíveis no sistema onde foi realizada a análise. Obtidos os conjuntos de modelos para cada tipo de elemento, procedeu-se à obtenção de soluções e posterior análise dos resultados. Esta análise centra-se em dois aspectos: (i) a análise da convergência do erro na energia de deformação e (ii) a avaliação do campo de deslocamentos e grandezas derivadas. 6.3.2 Energia de deformação Após terem sido obtidas aproximações da solução exacta para cada modelo procedeu-se ao cálculo da energia de deformação, obtida a partir da seguinte expressão (Wunderlich e Pilkey, 2003, pág. 80): U= 1 2 Z Ω σi j εi j dΩ (6.1) Os resultados são apresentados na tabela 6.2. Os resultados da energia de deformação foram expressos em função da dimensão característica dos elementos, conforme é apresentado na figura 6.7. Para tal, a dimensão característica foi estimada a partir da partição primitiva do domínio. Subsequentemente, foi determinada em cada etapa de subdivisão um novo valor para a dimensão característica dos elementos de acordo com a seguinte expressão: hn = h0 2n 6.3. Consola curta cúbica 93 Tabela 6.2: Energia de deformação em função do número de elementos. Número de elementos tetra 4 tetra 10 22 0,000528107 0,000712537 192 0,000627920 0,000738311 1536 0,000690610 0,000752358 12288 0,000727565 0,000757350 98304 0,000746146 ? Número de elementos hexa 8 hexa 20 hexa 27 1 0,000557692 0,000666020 0,000675092 8 0,000640642 0,000721035 0,000737821 64 0,000710421 0,000748370 0,000753670 512 0,000742183 0,000756243 0,000758032 4096 0,000755404 0,000758785 ? Número de elementos prism 6 prism 15 prism 18 4 0,000556784 0,000677799 0,000698862 32 0,000655781 0,000729681 0,000743095 256 0,000719177 0,000750543 0,000754952 2048 0,000745732 0,000756940 0,000758398 16384 0,000755222 ? ? ?: resultados por calcular devido a limitações do sistema Figura 6.7: Gráfico da energia de deformação em função da dimensão característica dos elementos. sendo h0 e e hn , respectivamente, a dimensão característica dos elementos na partição primitiva e após a realização da n-ésima subdivisão dos elementos. Conforme se pode notar na figura 6.5, não é possível assumir que uma primeira estimativa de h0 tenha uma correspondência exacta entre os vários tipos de elementos. Desta forma, sublinha-se o carácter indicativo da informação representada através do gráfico apresentado na figura 6.7. Este pormenor, juntamente com outros factores, leva a que este tipo de análise seja apenas qualitativa. Ao observar o gráfico exibido na figura 6.7 constata-se a existência de dois grupos de tipos de elementos caracterizados em função do erro associado a uma aproximação inicial e a convergência para a solução exacta. O grupo dos elementos cuja partição primitiva exibe um erro mais elevado é formado pelos modelos compostos por elementos tetraédricos lineares de 4 nós, elementos hexaédricos lineares Lagrangeanos de 8 nós e elementos prismáticos lineares de 6 nós. Em contrapartida, o grupo de elementos que exibe uma 94 Exemplos de aplicação melhor aproximação inicial e uma convergência para a solução exacta mais rápida é formado pelos modelos compostos por elementos tetraédricos quadráticos de 10 nós, elementos hexaédricos quadráticos de 20 e 27 nós e elementos prismáticos quadráticos de 15 e 18 nós. Ou seja, os elementos cujas funções de base exibem uma expansão polinomial completa até ao 2o grau possuem uma maior capacidade de aproximar a solução exacta do que aqueles cujas funções de base exibem uma expansão polinomial completa apenas até ao 1o grau. Esta conclusão é coerente com as estimativas de erro associadas a funções de aproximação da solução exacta, conforme a expressão (4.31). De acordo com essa expressão, o majorante do erro em energia para modelos compostos exclusivamente por elementos lineares e quadráticos, desprezando a influência das singularidades, é, respectivamente: kek en kek en = C h1 , elementos lineares = C h2 , elementos quadráticos (6.2) A partir destas definições de majorantes dos erros, e arbitrando valores para C e h0 , representa-se na figura 6.8 dois gráficos das estimativas de convergência do erro em energia em comparação com uma função que descreve, para o tipo de elementos em consideração, o andamento do majorante do erro em função da dimensão característica dos elementos. Como se pode constatar, a convergência do erro em energia exibida pelos elementos avaliados é próxima da respectiva estimativa de majoração do erro para modelos livres da influência de singularidades. Este problema apresenta uma singularidade nas tensões ao longo das quatro arestas da face encastrada. Os resultados mostram que esta singularidade não afecta a convergência dos elementos lineares, mas diminui significativamente a respectiva taxa dos elementos quadráticos. A aplicação prática do método dos elementos finitos obriga a que a análise da convergência do erro seja realizada tendo em consideração o esforço computacional necessário para analisar um modelo. Este parâmetro é influenciado principalmente por dois factores: o tipo de elementos em que o domínio do problema é repartido e o grau do refinamento dessa partição. A influência do tipo de elementos empregue assenta principalmente no número de operações que compõe o cálculo da matriz de rigidez elementar. O número de operações é determinado pela escolha da função de aproximação da solução exacta, especificamente o grau da função e o número de funções de base que a definem, e pelas regras de quadratura empregues para realizar os integrais representados na expressão (3.52), presente na página 29. Sobre a função de aproximação, na implementação do algoritmo da construção da matriz de rigidez global, cujo diagrama de actividade é representado na figura 5.5, a contabilização das funções de aproximação e suas derivadas parciais é feita através do acesso a vectores que armazenam os valores calculados para cada função de base para um dado ponto de integração. Estes vectores são iniciados mediante a invocação dos métodos declarados pelo interface da classe Element, em particular setN(), setdNdcsi(), setdNdeta() e setdNdzeta(), indicados no diagrama de classes representado na figura 5.4, em função do ponto onde é 6.3. Consola curta cúbica 95 Estimativa de erro na energia 100 tetra 4 prism 6 hexa 8 linear 10−1 10−2 10−3 10−4 0.01 0.1 Dimensão característica 1 (a) Elementos lineares. Estimativa de erro na energia 100 tetra 10 hexa 20 hexa 27 prism 15 prism 18 quadrático 10−1 10−2 10−3 10−4 0.01 0.1 Dimensão característica 1 (b) Elementos quadráticos. Figura 6.8: Gráfico da convergência do erro na energia em função do refinamento-h dos modelos. pretendida a sua avaliação. Com esta iniciação, cada vector é redimensionado para ser composto por um número de elementos igual ao número de funções de base do elemento, e cada elemento é usado para armazenar o valor que cada função de base exibe quando avaliada em um determinado ponto. Para estimar o peso computacional imposto pelas funções de aproximação de cada tipo de elemento, procedeu-se à análise das instruções geradas pelo compilador para os métodos que as implementam. O número de instruções gerado para cada método de cada classe é indicado na tabela 6.3 e representa, para este conjunto algoritmo/plataforma/critério de optimização/tipo de escalar, o número de operações que é necessário executar para calcular as funções de base da função de aproximação, bem como as suas derivadas parciais. Estes conjuntos de instruções foram geradas para uma plataforma AMD64, seguindo critérios de optimização para redução do número de instruções, e onde os escalares são representados através de variáveis do tipo double. O número de funções de base também se reflecte no número de nós usados para definir cada tipo de 96 Exemplos de aplicação Tabela 6.3: Número de operações necessárias para avaliar os valores funções de interpolação e suas derivadas em um dado ponto do domínio elementar. Tipo de elemento N(ξ) ∂N(ξ) ∂ξ1 ∂N(ξ) ∂ξ2 ∂N(ξ) ∂ξ3 tetra 4 tetra 10 hexa 8 hexa 20 hexa 27 prism 6 prism 15 prism 18 13 73 83 291 460 42 164 219 9 49 64 250 613 25 122 197 9 49 64 233 606 25 122 197 9 48 64 246 573 31 145 232 Tabela 6.4: Número de ciclos executados por diferentes etapas do algoritmo de construção da matriz de rigidez elementar. Tipo de elemento tetra 4 tetra 10 hexa 8 hexa 20 hexa 27 prism 6 prism 15 prism 18 iniciar matriz V 4 10 8 20 27 6 15 18 iniciar matriz B 12 30 24 60 81 18 45 54 calcular matriz Kelem 156 930 600 3660 6642 342 2070 2970 elemento e, consequentemente, o número de graus de liberdade que o compõe. Estes parâmetros, por sua vez, intervém no número de ciclos necessários para realizar tarefas como a definição da matriz de factor pontual de conversão de volumes e superfícies, descritas respectivamente pelas expressões (4.4) e (4.7), bem como na dimensão da matriz das derivadas parciais [B], representada na expressão (3.45). Esta última tarefa tem um impacto considerável no esforço de computação que é necessário despender, visto que a matriz de rigidez elementar resulta da pré e pós-multiplicação da matriz constitutiva por, respectivamente, [B]T e [B], conforme indicado na expressão (3.53). O número de ciclos executados por cada tipo de elemento na realização de cada tarefa apontada é indicado na tabela 6.4. Em relação à integração numérica, a adopção de uma regra de quadratura implica a definição do número de ciclos que é necessário realizar para integrar uma dada função. No conjunto de regras de quadratura adoptadas, aquelas que são capazes de integrar exactamente funções polinomiais de maior grau são compostas por um maior número de pares pontos de integração/pesos. Tal implica que o recurso a elementos cuja função de aproximação é de grau superior, que levam à definição de funções integrandas com um grau mais elevado, impõe a aplicação de regras de quadratura compostas por um maior número de pares ponto de integração/peso. Este acréscimo de pares ponto de integração/peso traduz-se no aumento do esforço computacional exigido, visto que o número de instruções apontado na tabela 6.3 e o número de ciclos apontado na tabela 6.4 são executados para cada ponto de integração de uma dada regra de quadratura. Assim, o custo computacional associado a cada tipo de elemento é directamente proporcional ao número de pares 6.3. Consola curta cúbica 97 0.12 Duração (s) 0.1 0.08 0.06 0.04 0.02 0 m is Pr m is Pr m is Pr a ex H a ex H a ex H tra Te tra Te 18 15 6 27 20 8 10 4 Figura 6.9: Duração média do cálculo de uma matriz de rigidez elementar por tipo de elemento. ponto de integração/peso da regra aplicada. A contabilização de todos esses factores leva a que se verifiquem diferenças consideráveis no custo de processamento necessário para calcular a matriz de rigidez elementar de cada tipo de elemento. Na figura 6.9 é exibido um gráfico onde são representados valores médios obtidos para o processamento de um elemento de cada tipo. O grau de refinamento da partição influencia directamente o esforço computacional necessário para obter uma aproximação da solução. Esta influência reflecte-se no aumento do número de elementos que compõem o domínio e, consequentemente, no aumento do número dos graus de liberdade que definem o problema. Este aumento implica também o aumento do esforço computacional exigido pelo algoritmo do método dos elementos finitos, conforme referido na secção 4.2. Tendo considerado o impacto que cada etapa do algoritmo do método dos elementos finitos tem na definição da exigência computacional associada à realização de uma análise, passa-se à avaliação dos resultados obtidos. Para tal, é indicado na figura 6.10 um gráfico que representa uma estimativa da convergência do erro em energia em função da duração da execução da análise. A primeira conclusão que se tira a partir de uma consulta do gráfico exibido na figura 6.10 é a forma como os resultados produzidos por todos os elementos convergem monotonicamente para a solução exacta e exibem relações idênticas da convergência para a solução exacta e o tempo despendido na análise. Nota-se também que o elemento tetraédrico linear de 4 nós destaca-se pelos maus resultados em termos de erro associado à solução e taxa de convergência em função da duração da análise. Em contrapartida, nota-se que, no ponto de vista prático, o recurso a qualquer outro tipo de elemento leva à obtenção de resultados praticamente equivalentes. É no entanto de destacar o elemento hexaédrico Lagrangeano quadrático de 27 nós como o tipo de elemento responsável pelos melhores resultados, estando associado aos resultados com menores erros associados e às melhores taxas de convergência em relação à duração da análise. 98 Exemplos de aplicação Figura 6.10: Gráfico da convergência do erro na energia de deformação em função da duração da análise. Atendendo a que já foi estimada a convergência dos resultados em função da dimensão característica dos elementos e, para o problema em análise, também em função do esforço computacional, procede-se à avaliação da convergência do erro de problemas de dimensão arbitrariamente grande em função do esforço computacional. Como foi referido na secção 3.5, o grau de complexidade da etapa de montagem da matriz de rigidez global é O(n) enquanto que o grau de complexidade de algoritmos de resolução de sistemas de equações rondará O(n3 ) em métodos directos, e O(n2 ) por iteração do método dos gradientes conjugados. Estes dados indicam que, para problemas com uma dimensão arbitrariamente grande, o esforço computacional necessário para obter uma aproximação da solução tenderá a concentrar-se na resolução do sistema de equações. Essa conclusão é apoiada pelos resultados das análises efectuadas ao modelo da consola curta, cujos valores obtidos a partir de modelos compostos por elementos prismáticos triangulares lineares são representados na figura 6.11. Visto que, conforme indicado na secção 3.5, o esforço computacional tende para ser concentrado na etapa de resolução do sistema de equações, procede-se à análise dos resultados em função da dimensão do sistema de equações a ser resolvido. Com esta hipótese em consideração foi traçado o gráfico apresentado na figura 6.12. A partir do gráfico representado na figura 6.12 é possível constatar que a partição de domínios em elementos lineares produz aproximações da solução exacta com um erro relativo na energia superior ao erro associado ao uso de elementos quadráticos. Neste domínio destaca-se novamente o erro na energia relativo associado ao uso de elementos tetraédricos lineares. Constatou-se que os modelos compostos por este tipo de elemento exibem um erro relativo consideravelmente elevado, que, para problemas com um peso computacional semelhante, é superior em uma ordem de grandeza ao erro associado ao uso de 6.3. Consola curta cúbica 99 ! Figura 6.11: Duração relativa das etapas de montagem da matriz de rigidez global e resolução do sistema de equações para modelos compostos por elementos prismáticos lineares de 6 nós. Estimativa de erro na energia 100 tetra 4 tetra 10 hexa 8 hexa 20 hexa 27 prism 6 prism 15 prism 18 10−1 10−2 10−3 1 10 102 103 104 105 106 107 108 109 Número de coeficientes da matriz de rigidez 1010 Figura 6.12: Gráfico da convergência do erro na energia em função do número de coeficientes da matriz de rigidez. elementos hexaédricos quadráticos de 27 nós. 6.3.3 Campo de deslocamentos e grandezas derivadas Na figura 6.13 é exibida uma representação gráfica do modelo de consola curta. Como a aproximação do campo de deslocamentos converge mais rapidamente para a solução exacta do que a energia de deformação, as diferenças entre os campos de deslocamentos obtidos para cada caso são tão reduzidas que, mesmo ampliados, não são facilmente perceptíveis. A análise do campo de deslocamentos também permite constatar que as secções transversais da consola não permanecem planas, conforme é admitido na teoria de vigas de Euler-Bernoulli e de Timoshenko, nem perpendiculares ao eixo da peça, conforme admitido na teoria de vigas de Euler-Bernoulli. Este resultado é esperado, por a consola curta aqui analisada não poder ser considerada uma peça linear. Na figura 100 Exemplos de aplicação (a) Configuração indeformada. (b) Campo de deslocamentos ampliado 100×. Figura 6.13: Representação de um modelo composto por 512 elementos hexaédricos Lagrangeanos lineares de 8 nós. (a) Configuração mada. indefor- (b) Campo de deslocamentos ampliado 200×. (c) Secção no plano x3 = 0 ampliado 300×. Figura 6.14: Representação do campo de deslocamentos de um modelo composto por 4096 elementos hexaédricos Lagrangeanos lineares de 8 nós: vista do plano x1 = 0. (a) 8 elementos. (b) 64 elementos. (c) 512 elementos. (d) 4096 elementos. Figura 6.15: Campo σ23 no plano x1 = 0 obtido a partir da partição do domínio em elementos hexaédricos Lagrangeanos lineares de 8 nós. 6.14 é perceptível a distorção das secções da consola ao longo do seu eixo. Os campos de tensões e deformações também convergem conforme o esperado. Na figura 6.15 é representado o campo de tensões σ23 através de um gradiente de cores ao longo da secção da consola. No anexo E são incluídas representações dos campos de deformações e tensões obtidos a partir da análise de um conjunto de modelos da consola curta em vários estados de refinamento. Nas figuras 6.16 estão representadas as tensões σ23 e σ33 obtidas a partir da análise do modelo de 4096 elementos hexaédricos Lagrangeanos lineares, retirados da fibra vertical situada a meio da consola 6.4. Esfera oca sujeita a pressão interna 101 (a) Tensões σ23 . (b) Tensões σ33 . Figura 6.16: Comparação das tensões na fibra vertical média do plano de encastramento, calculadas através da teoria de Euler-Bernoulli e do método dos elementos finitos. (x1 = x3 = 0). Como é possível constatar, e apesar das descontinuidades, o campo das tensões σ23 apresenta uma distribuição idêntica à de um polinómio de 2o grau, semelhante aos resultados obtidos a partir da teoria de vigas de Euler-Bernoulli. Como a fibra onde foram determinados os valores se situa a x3 = 0, 5 e como o modelo está sujeito a uma carga distribuída no volume de valor unitário, o valor máximo de tensão é obtido a partir da seguinte expressão: σ23 = 3 −0, 5 3V = = −0, 75 2A 2 1, 0 (6.3) Em comparação, o valor da tensão avaliado através do método dos elementos finitos para o mesmo ponto da fibra considerada é σ23 = −0, 741961. Por sua vez, o campo das tensões σ33 não exibe a distribuição linear que é característica da teoria de vigas de Euler-Bernoulli. Considerando que, para z = 0, 5, o momento é M = pl 2 /2 = 0, 125, a maior tensão calculada para essa fibra será σ33 = ±0, 75 para y = ±0, 5. Em comparação, através desta aplicação do método dos elementos finitos a maior tensão foi σ33 = 0, 739348 para y = 0, 4375. 6.4 Esfera oca sujeita a pressão interna O problema de uma esfera oca sujeita a pressão interna é um dos raros problemas da mecânica de sólidos cuja solução analítica é conhecida. Esta solução, por corresponder a um campo de tensões livre de singularidades, permite antever que a taxa de convergência observada em modelos compostos exclusivamente por elementos finitos do mesmo tipo será próxima da taxa teórica para o grau de aproximação do tipo de elementos empregue, conforme expresso na secção 4.6. Juntamente, como não é possível representar exactamente o seu domínio, a análise deste tipo de problema também permite observar a capacidade de cada tipo de elementos finitos de aproximar volumes definidos por superfícies curvas. O modelo adoptado para este exemplo consiste num domínio esférico oco com raio externo e interno iguais a, respectivamente, b = 1, 00 e a = 0, 50. As constantes materiais foram arbitradas como E = 10 e ν = 0, 3. A fim de reduzir os graus de liberdade do problema, recorreu-se a três simplificações de simetria 102 Exemplos de aplicação Figura 6.17: Modelo da esfera, sujeito a simplificação por simetria. segundo os planos perpendiculares a x1 = 0, x2 = 0 e x3 = 0, conforme representado na figura 6.17. Como condições de fronteira estática, a pressão interna foi modelada através de forças distribuídas na superfície interna da esfera, aplicadas perpendicularmente a esta, com uma magnitude p = 1, 00. As condições de fronteira cinemáticas prescritas resumem-se à fixação, nos planos de simetria, dos graus de liberdade perpendiculares a estes. A partição do domínio esférico necessária para realizar os testes de convergência foi condicionada pela capacidade do Gmsh de gerar malhas compostas exclusivamente por um tipo de elemento finito, escolhido arbitrariamente, e com um grau de refinamento estipulado pelo utilizador. Por este motivo, a capacidade de geração de malhas foi limitada. Apesar da partição em sub-domínios hexaédricos mediante um processo de subdivisão ser bem sucedida, não foi possível gerar malhas compostas exclusivamente por elementos prismáticos, o que impossibilitou avaliar o comportamento estes elementos finitos suportados pelo FEMP. A partição em sub-domínios tetraédricos também se revelou problemática, sobretudo no que concerne ao processo de subdivisão. Entre os problemas encontrados incluem-se a geração de elementos excessivamente distorcidos e cujos determinantes da matriz jacobiana eram negativos em certos pontos, elementos laminares, e falhas na continuidade, conforme exibido na figura 6.18. Face a estas dificuldades, não foi possível analisar malhas resultantes de processos de sub-divisão, conforme é pressuposto na obtenção de expressões para estimar taxas de convergência. Como alternativa, foi gerado um conjunto de malhas refinadas progressivamente em função da dimensão máxima de cada elemento finito. Definidos os modelos, procedeu-se à sua análise. A partir dos resultados, foi obtido para cada modelo a respectiva energia de deformação. Estes resultados foram posteriormente comparados com o valor exacto da energia de deformação (Vicente da Silva, 2002, pág. 74), calculado a partir da expressão: U = πp2 a3 (b3 + 2a3) + ν(b3 − 4a3) E(b3 − a3 ) (6.4) 6.4. Esfera oca sujeita a pressão interna 103 Figura 6.18: Modelo composto por elementos tetraédricos de 10 nós gerado pelo Gmsh, exibindo uma falha na continuidade. Também se procedeu ao cálculo do volume de Ω de cada modelo, realizado a partir do somatório do volume do conjunto de elementos que os compõem. Estes resultados foram posteriormente comparados com o seu valor exacto, expresso por: V= π4 3 (b − a3) 83 (6.5) Os resultados obtidos a partir desta série de análises estão disponíveis no anexo F. Os valores são representados nos gráficos representados nas figuras 6.19 e 6.20. Como é possível constatar no gráfico da figura 6.19, enquanto os modelos compostos por elementos hexaédricos exibem uma taxa de convergência regular em função do número de graus de liberdade, o mesmo não se verifica com os modelos compostos por elementos tetraédricos. Estes resultados reflectem o processo de criação dos modelos, por não terem sido definidos através de um esquema de subdivisões de uma malha primitiva. Por conseguinte, cada partição de Ω não constitui um sub-espaço das partições mais refinadas. Uma outra contribuição para o desvio dos resultados foi o grau de distorção exibido pelos elementos. Com este exemplo foi também possível constatar que a aproximação do domínio por elementos finitos, conforme representado no gráfico na figura 6.20, também converge para a configuração geométrica exacta do modelo, exibindo uma taxa de convergência semelhante àquela obtida para a energia de deformação. Como os erros de definição do domínio do problema influenciam a aproximação à solução exacta, este tipo de erros também exercem uma influência significativa a qualidade da solução. Assim, estes resultados permitem constatar a vantagem inerente ao uso de elementos isoparamétricos de maior grau para melhor aproximar domínios não-planos. 104 Exemplos de aplicação Figura 6.19: Gráfico do erro na energia. Figura 6.20: Gráfico do erro no volume. 6.5 Laje Neste exemplo é analisado através do método dos elementos finitos aplicado à análise estática linear de sólidos um conjunto de modelos de uma laje quadrada, cujos resultados são posteriormente comparados com aqueles obtidos a partir da solução analítica da teoria de lajes finas e moderadamente espessas. A laje em estudo possui uma dimensão 2, 00 × 2, 00 × 0, 20, com a sua face normal ao eixo x3 do referencial global. Como condições de fronteira cinemática, arbitrou-se que esta se encontra simplesmente apoiada em todas as extremidades. Para as constantes materiais adoptaram-se os valores E = 30 × 106 e ν = 0, 20. Para reduzir a dimensão dos problemas a serem resolvidos procedeu-se à análise de um modelo da laje resultante de uma dupla simplificação de simetria. Desta forma o modelo empregue na análise apresenta uma dimensão 1, 00 × 1, 00 × 0, 20 e encontra-se simplesmente apoiado nos bordos externos/reais e com 6.5. Laje 105 B A x2 x2 B A x1 x1 (a) Sem simplificação de simetria. (b) Com simplificação de simetria. Figura 6.21: Representação das condições de apoio da laje. (a) Simplificação de simetria de um modelo de laje. (b) Simplificação de simetria de um modelo de elementos finitos tridimensionais. Figura 6.22: Comparação da implementação das condições de fronteira cinemática da simplificação por simetria. um encastramento deslizante no sentido vertical nos bordos internos/fictícios, conforme esquematizado na figura 6.21. É de salientar que seria possível efectuar uma terceira simplificação de simetria, mas tal inviabilizaria a utilização de elementos hexaédricos não-distorcidos. Como os graus de liberdade que intervém na formulação de elementos finitos tridimensionais são translações de pontos pertencentes ao modelo, tornou-se necessário representar as condições de fronteira das lajes em função destas translações. Consequentemente, a condição de fronteira de apoio simples é reproduzida através da fixação de qualquer translação dos nós pertencentes à fibra média do plano de suporte da laje. Para as condições de fronteira representativas dos planos de simetria, os nós pertencentes a esses planos tem os seus deslocamentos impedidos na direcção perpendicular à face a que pertencem, conforme representado na figura 6.22. Os nós pertencentes à linha resultante da intersecção dos planos de simetria da laje tem os seus deslocamentos fixados na direcção perpendicular a ambos os planos. Tal implica que os nós incluídos na aresta comum a ambos os planos de simetria tenham os seus deslocamentos impedidos em duas direcções. A fixação dos graus de liberdade nos planos de simetria é representada na figura 6.23. A acção que foi imposta ao modelo consistiu numa carga distribuída no volume com uma densidade 5, 00 aplicada segundo a direcção perpendicular ao plano da laje. Considerando que a laje exibe uma 106 Exemplos de aplicação Figura 6.23: Modelo de elementos finitos da laje com condições de fronteira representativas da simplificação por simetria. Figura 6.24: Nós do plano de simetria de um modelo de 1000 elementos hexaédricos lineares de 8 nós representados na configuração deformada. espessura de 0, 20, essa acção pode ser representada por uma carga estaticamente equivalente distribuída na área da laje com uma intensidade de 1, 00. O campo de deslocamentos obtido a partir da análise é representado na figura 6.24. Como outro termo de comparação, recorreu-se à solução construída através de uma série de funções conforme sugerida por M. Lévy (Timoshenko e Woinowsky-Krieger, 1959, pág. 113). Considerou-se nova3 Eh mente uma laje rectangular de dimensões (a × b), rigidez de flexão constante, D f = 12(1−ν 2 ) , coeficiente de Poisson, ν, simplesmente apoiada em todo o seu contorno e sujeita a uma carga uniforme efectiva expressa através de: pe f = p + mα,α onde p̄ representa a carga distribuída e m̄α,α o momento aplicado por unidade de área. (6.6) 6.5. Laje 107 Tabela 6.5: Resultados da aplicação do método dos elementos finitos à análise do modelo da laje. Laje fina Laje moderadamente espessa MEF 1000 elementos Deslocamento máximo 3,119887e-06 3,261336e-06 3,372550e-06 max mmax 11 e m22 Energia de deformação 6,5376404e-07 6,8750252e-07 7,132560e-07 0,1768112478 0,1768112478 0,184152 A solução para este problema pode escrever-se na forma: w(x1 , x2 ) = ∞ 4 pe f a4 1 ∑ 5 π D f m=1,3,5,... m5 αm tanh αm + 2 2 αm x2 1− cosh 2 cosh αm b + onde αm = 2 x2 2 αm x2 αm sinh 2 cosh αm b b sen m π x1 , (6.7) a mπb . 2a (6.8) A energia de deformação foi obtida explicitamente através de U= ∞ a5 b p2e f π6 D f ∑ 1 6 m=1,3,5,... m αm (−1 + cos(m π)) 3 tanh(αm ) + −3 + tanh2 (αm ) αm . (6.9) De modo inteiramente análogo, também é possível representar a solução exacta em série simples para uma laje rectangular simplesmente apoiada moderadamente espessa (hipóteses de Reissner-Mindlin) sujeita a uma carga uniformemente distribuída, ver Marguerre e Woernle (1969, capítulo 16, página 184). No presente caso recorreu-se à condição de fronteira do tipo hard (Häggblad e Bathe, 1990) para os bordos simplesmente apoiados. Finalmente, procedeu-se à análise do modelo da laje pelo método dos elementos finitos. O modelo da laje submetido a análise foi definido a partir de uma malha estruturada de elementos hexaédricos de 8 nós composta por 1000 elementos, conduzindo à definição de um problema com 3690 graus de liberdade. Após a análise, procedeu-se à comparação dos resultados com aqueles obtidos a partir das soluções por série de funções. Os valores obtidos a partir da análise por método dos elementos finitos correspondem à fibra vertical situada no centro da laje. O valor do momento máximo foi calculado através da integração numérica das tensões retiradas ao longo de fibras verticais, enquanto que o deslocamento máximo corresponde ao nó desta fibra localizado no plano médio da laje. Os resultados obtidos são apresentados na tabela 6.5. Ao comparar os resultados constata-se que os deslocamento obtidos através do método dos elementos finitos são superiores aos obtidos pela série de funções, uma diferença que será ampliada com o refinamento da partição do domínio do problema. Pressupõe-se que esta diferença dos resultados fica a dever-se às hipóteses simplificativas adoptadas na definição do modelo de laje. Como esta implementação do método dos elementos finitos não impõe às aproximações da solução as restrições aos deslocamentos resultantes das hipóteses simplificativas de Kirchhoff e Reissner-Mindlin, então a rigidez da laje será inferior. Consequentemente, os deslocamentos são superiores àqueles obtidos a partir da teoria de lajes. 108 Exemplos de aplicação (a) Tensão σ11 . (b) Tensão σ22 . Figura 6.25: Campo de tensões na fibra vertical do centro da laje. 30 30 25 25 20 20 tensão tensão Figura 6.26: Tensão de von Mises avaliada na fibra do canto da laje. 15 15 10 10 5 5 0 0 0 0.2 0.4 0.6 x2 (a) Tensão σ11 . 0.8 1 0 0.2 0.4 0.6 0.8 1 x2 (b) Tensão σ22 . Figura 6.27: Campo de tensões na fibra horizontal inferior contida no plano de simetria da laje, modelo composto por elementos finitos lineares. Os campos de tensões e tensão de von Mises são representados nas figuras 6.25 e 6.26. Também foi possível recuperar o campo de tensões ao longo da fibra horizontal inferior contida no plano de encastramento deslizante perpendicular a x1 , cujos resultados são representados na figura 6.27. Devido à descontinuidade notável que se observa entre os valores das tensões entre os elementos, procedeu-se à análise do mesmo modelo de laje, desta vez composto por elementos hexaédricos quadráticos de 27 nós. Os campos de tensões σ11 e σ22 obtido a partir da análise deste modelo é representado na figura 6.28. As tensões principais calculadas no plano de simetria da laje são representadas na figura 6.29. 109 30 30 25 25 20 20 tensão tensão 6.5. Laje 15 15 10 10 5 5 0 0 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 x2 0.6 0.8 1 x2 (a) Tensão σ11 . (b) Tensão σ22 . Figura 6.28: Campo de tensões na fibra horizontal inferior contida no plano de simetria da laje, modelo composto por elementos finitos quadráticos. (a) Representação das tensões principais positivas. (b) Representação das tensões principais negativas. Figura 6.29: Representação das tensões principais no plano de simetria da laje, modelo composto por elementos finitos quadráticos. 110 Exemplos de aplicação 6.6 Perfil IPE biencastrado Como demonstração do potencial do método dos elementos finitos aplicado a problemas da elasticidade tridimensional, procede-se à análise do campo de tensões em um perfil laminado. Para tal foi definido um modelo de um perfil IPE 80 com um comprimento l = 1, 00, com 1 mm a corresponder neste exemplo a 10−3 unidades de comprimento. Como constantes elásticas foram adoptados os valores E = 210 × 106 e ν = 0, 3. O modelo do perfil foi biencastrado e sujeito a uma força distribuída por unidade de volume de valor b̄ = 1000. O eixo do perfil coincide com o eixo x3 do referencial global, e os eixos menor e maior de inércia correspondem, respectivamente, ao eixo x1 e x2 . Desde ponto em diante, as secções transversais do perfil resultantes da intersecção do modelo com um plano perpendicular ao eixo x3 serão referidas em função ao comprimento da barra, expresso simbolicamente por l . Assim, a secção de encastramento do perfil será referida por x3 = 0, 00l , e a secção a meio-vão por x3 = 0, 50l . O domínio foi repartido em uma malha estruturada composta por 10752 elementos hexaédricos Lagrangeanos de 8 nós. A partição da secção é representado na figura 6.30. Figura 6.30: Partição da secção de um modelo de um perfil IPE 80, representado pelo Gmsh. Obtida a aproximação da solução exacta do problema, procedeu-se à análise dos campos de tensões. O campo de tensões σ33 é representado na figura 6.31 através de um gradiente de cores. Na figura 6.32 são exibidos gráficos do diagrama das tensões retirados da fibra média dos banzos e da alma na secção x3 = 0, 50l . Como se pode constatar a partir dos gráfico exibidos na imagem 6.32, os banzos apresentam uma distribuição da tensão σ33 próxima da constante enquanto que a alma exibe uma distribuição praticamente linear. Para comparar os resultados, procedeu-se ao cálculo das tensões no perfil através da aplicação da teoria de peças lineares. A estimativa da tensão σ33 é obtida a partir da seguinte expressão: 6.6. Perfil IPE biencastrado 111 Figura 6.31: Representação das tensões σ33 do perfil IPE 80 na configuração deformada. Tabela 6.6: Comparação das tensões σ33 em pontos da secção do perfil IPE 80. Descrição Limite superior da secção Plano médio do banzo Fim da espessura constante da alma σ33 = y 40, 0 37, 4 29, 8 Linear 1,5897 1,4864 1,1843 MEF (média) 1,5647 1,4845 1,1881 M11 y I11 (6.10) sendo M11 o momento flector em torno do eixo x1 , y a distância paralela ao eixo x2 entre a linha neutra do perfil e um ponto na sua secção, e I11 o momento de inércia. Para um perfil IPE 80, I11 = 0, 801 × 106 mm2 e ymax = 40mm. Como acções, optou-se por simular a carga distribuída por unidade de volume usada no modelo de elementos finitos através da aplicação de uma carga uniforme distribuída equivalente. Como a área da secção de um perfil IPE 80 corresponde a A = 764 mm2 , a acção a aplicar assume o valor equivalente de p = 764 N/m. Tendo em conta as condições de fronteira cinemática que foram impostas, o momento flector a meio-vão corresponde a: M11 = pl 2 764 × 12 = = 31, 833 Nm 24 24 (6.11) Substituindo (6.11) na expressão (6.11) e expressando o valor de σ33 em função da distância à linha neutra, obtém-se: σ33 (y) = M11 y 31, 833 × 103 × y = = 39, 742y Pa/mm I11 0, 801 × 106 (6.12) Na tabela 6.6 é apresentada uma comparação entre os valores das tensões σ33 obtidos na secção a meio-vão. A distribuição de tensões σ13 nos banzos, conforme se pode notar nos gráficos da figura 6.33, apresenta nas secções x3 = 0, 25l e 0, 50l resultados que são coerentes com a teoria de peças lineares. Na secção 112 Exemplos de aplicação (a) Banzo inferior (b) Banzo superior (c) Alma Figura 6.32: Representação das tensões σ33 na secção x3 = 0, 50l . x3 = 0, 50l , como o esforço transverso é nulo, naturalmente o campo de tensões σ13 é nulo. Na secção x3 = 0, 25l , o campo de tensões σ13 exibe uma distribuição idêntica àquela obtida para a expressão do fluxo de corte no banzo. Como na zona de ligação entre banzos e a alma é observado um aumento da espessura das placas, é espectável que o fluxo de tensão exiba uma redução. De acordo com a teoria de peças lineares, a distribuição de tensões de corte no banzo é estimada a partir da seguinte expressão: σ13 (s) = V (z)S(s) I11t (6.13) onde V (z) representa o esforço transverso na secção z da barra, S(s) representa o momento estático na secção s, I11 o momento de inércia da secção e t a espessura do banzo. Para vigas biencastradas, o esforço transverso na secção z da barra é obtido a partir da seguinte expressão: V (z) = pl/2 − pz (6.14) sendo p a força distribuída por unidade de comprimento da barra. Para este exemplo, como se trata de um perfil IPE 80 sujeito a uma força distribuída por unidade de volume de valor unitário, a força distribuída equivale a p = 764 × 10−6 . Os restantes valores são: V (0, 25l) = 191 × 10−6 , I = 0, 801 × 10−6 , t = 0, 0052. Os resultados obtidos a partir do método dos elementos finitos e teoria de peças lineares são exibidos no gráfico da figura 6.34. Note-se que as tensões obtidas a partir do método dos elementos finitos só divergem da distribuição linear nas fibras localizadas a distâncias inferiores a 0, 008 do eixo de simetria da secção. Tal deve-se à geometria dos perfis do tipo IPE 80, caracterizada por uma espessura da alma tw = 3, 80 mm e um raio da ligação banzo-alma r = 5, 00 mm. Como a espessura do banzo aumenta a distâncias inferiores a 0, 0069 do eixo de simetria, é de esperar que se observe uma redução do fluxo de corte. É também de esperar que as 113 0.02 0.02 0.02 0.015 0.015 0.015 0.005 0 −0.005 −0.01 0.01 x / cota do banzo 0.01 x / cota do banzo x / cota do banzo 6.6. Perfil IPE biencastrado 0.005 0 −0.005 −0.01 0.01 0.005 0 −0.005 −0.01 −0.015 −0.015 −0.015 −0.02 −0.02 −0.02 −0.4 −0.2 0 0.2 tensão 0.4 −0.4 −0.2 0 0.2 Tensão (a) x3 = 0,00l . 0.4 −0.4 −0.2 0 0.2 Tensão (b) x3 = 0,25l . 0.4 (c) x3 = 0,50l . Figura 6.33: Representação das tensões σ13 no banzo superior em várias secções ao longo do eixo. 0.05 FEM Bernoulli 0 Tensão −0.05 −0.1 −0.15 −0.2 −0.25 0 0.005 0.01 0.015 0.02 Cota da secção Figura 6.34: Representação das tensões σ13 no banzo superior na secção x3 = 0, 25l . direcções principais dos tensores das tensões não continuem alinhadas com o eixo x1 . Como consequência, conforme se observa na figura 6.34, na fibra x = 0, localizada no eixo de simetria da secção, os valores obtidos através do método dos elementos finitos para o campo de tensões σ13 são, em média, nulos. Na secção x3 = 0, 00l , os pressupostos da teoria de peças lineares em relação ao empenamento livre já não são satisfeitos. Como a secção é impedida de se deformar no seu plano, é formado transversalmente ao eixo da barra o campo de tensões correspondente aos deslocamentos prescritos. Neste caso, a tracção que se observa no banzo superior provoca uma contracção da placa segundo o eixo x1 , reflexo do efeito do coeficiente de Poisson, que varia linearmente desde o eixo de simetria da secção. Para esta secção ser impedida de empenar, a deformação provocada pelo campo de tensões σ33 é contrariada pela contribuição do campo de tensões σ31 . Como consequência da simetria do tensor das tensões, surge também um campo de tensões σ13 , representada através do gráfico na figura 6.33. Por fim, é representado nos gráficos da figura 6.35 a distribuição das tensões de von Mises ao longo da fibra média do banzo superior. É na secção x3 = 0, 00l , na zona de junção entre o banzo e a alma, onde o modelo se encontra mais próximo da cedência. Exemplos de aplicação 0.02 0.02 0.02 0.015 0.015 0.015 0.005 0 −0.005 −0.01 0.01 x / cota do banzo 0.01 x / cota do banzo x / cota do banzo 114 0.005 0 −0.005 −0.01 0.01 0.005 0 −0.005 −0.01 −0.015 −0.015 −0.015 −0.02 −0.02 −0.02 −4 −3 −2 −1 0 1 tensão 2 (a) x3 = 0,00l . 3 4 −4 −3 −2 −1 0 1 Tensão 2 3 4 (b) x3 = 0,25l . −4 −3 −2 −1 0 1 Tensão 2 3 4 (c) x3 = 0,50l . Figura 6.35: Representação das tensões de von Mises no banzo superior em várias secções ao longo do eixo. 6.7 Perfil LNP curvo Uma das grandes vantagens inerentes à aplicação do método dos elementos finitos ao problema da elasticidade tridimensional reside na sua capacidade de modelar o comportamento de sólidos, independente da geometria que poderão assumir. Isso faz com que este método possa ser usado para modelar qualquer elemento estrutural, havendo apenas como constrangimento ao seu uso a capacidade computacional a que se tem acesso e o pós-processamento dos resultados que é possível realizar. Tal implica que este método permite analisar modelos de elementos estruturais mesmo quando o comportamento a ser modelado se afasta de hipóteses simplificativas adoptadas no desenvolvimento de outras teorias, saindo assim do seu domínio de aplicação. Um desses casos consiste na análise de uma barra pouco esbelta com um eixo curvo cuja secção não apresenta qualquer eixo de simetria paralelo ou perpendicular ao raio de curvatura. Como exemplo, considere-se um perfil LNP 200 100 16 (com 1 mm a corresponder a 10−3 unidades de comprimento no presente exemplo) com um eixo curvo, com um raio de curvatura correspondente a 1, 00 definido a partir da extrusão da secção ao longo de um ângulo de π/2 rad, conforme é apresentado na figura 6.36. Como condições de fronteira cinemática, foi imposto o encastramento de uma secção. Foi também atribuído ao modelo as constantes elásticas E = 210 × 106 e ν = 0, 3. Como primeiro caso de análise foi aplicada uma carga pontual na extremidade livre no nó situado no vértice da face exterior das lâminas que compõem o perfil, com sentido vertical e com magnitude de 10, 00. A partição do domínio foi realizada de maneira a gerar apenas elementos lineares. Tendo como ponto de partida uma malha bidimensional da secção do perfil metálico, conforme apresentado na figura 6.37, o modelo tridimensional foi gerada a partir da extrusão da malha bidimensional ao longo da curva de extrusão. A partir desta operação a partição do domínio levou à definição de um modelo composto por conjunto de elementos hexaédricos de 8 nós e elementos prismáticos de 6 nós, somando ao todo 832 elementos finitos e 4518 graus de liberdade. 6.7. Perfil LNP curvo Figura 6.36: Perfil LNP 200 100 16 com um raio de curvatura de 1, 00. Figura 6.37: Partição da secção de um modelo de um perfil LNP 200 100 16, representado pelo Gmsh. Procedida a análise do modelo foi obtida um campo de deslocamentos conforme apresentado em 6.38. A partir deste resultado constata-se que, além da curvatura de flexão, o perfil exibe também uma ligeira deformação por torção. Este resultado vem ao encontro das expectativas visto que a força não está aplicada no centro de corte do perfil e a curvatura da barra implica que a aplicação desta força provocaria um efeito de torção. Como o elemento estrutural em estudo é curvo, a observação isolada de componentes do tensor das tensões e das deformações não permite avaliar adequadamente o estado em que o elemento estrutural foi submetido. De forma a evitar esse problema procedeu-se à representação do campo de tensões sob a forma das tensões de comparação de von Mises, conforme é representado na figura 6.39. O critério de cedência de von Mises define o limite elástico de um material, e permite inferir se um sólido se encontra em cedência através da comparação de estados de tensão observados no seu interior com valores obtidos em ensaios uniaxiais, ver Chen e Han (2007, pág. 78). Por este motivo, este critério de cedência tem sido empregue como a base de procedimentos de verificação de segurança em relação ao 115 116 Exemplos de aplicação Figura 6.38: Configuração deformada do perfil LNP 200 100 16 sujeito a uma carga pontual na extremidade livre. Figura 6.39: Representação do campo da tensão de comparação de von Mises. limite elástico, incluídos em um conjunto de regulamentos de estruturas de aço e de alumínio, (Kissell e Ferry, 2002, pág. 215). Outra vantagem associada a este método prende-se com a forma assumida pela sua expressão. Como a expressão do critério de cedência de von Mises representa um mapeamento entre o invariante de um tensor e um escalar, esta revela-se particularmente apropriada para representar os resultados de análises de forma inteligível, com a vantagem de ser de implementação simples, conforme se pode notar na figura 6.39. Como seria de esperar, a aplicação de uma carga vertical na extremidade da barra leva a que se verifique um aumento gradual das tensões na direcção do encastramento e haja uma concentração de tensões no topo da lâmina vertical da secção na secção encastrada. 6.8 Placa com orifício circular sujeita a tracção A necessidade de analisar placas com orifícios circulares surge frequentemente no domínio da verificação e dimensionamento de estruturas e peças metálicas. Tal deve-se ao facto da existência de um orifício 6.8. Placa com orifício circular sujeita a tracção 117 a S S θ m b r n l Figura 6.40: Representação de uma barra com orifício circular sujeita a tracção. circular em uma placa submetida à tracção implicar que a distribuição de tensões seja significativamente alterada na sua vizinhança. As tensões causadas pela presença de um orifício circular numa barra traccionada com dimensões b e l infinitas são obtidas a partir das seguintes expressões (Branco, 1998, pág. 611): S a2 3a4 4a2 S σrr = 1− 2 + 1 + 4 − 2 cos (2θ) 2 r 2 r r a2 3a4 S S 1+ 2 − 1 + 4 cos (2θ) σθθ = 2 r 2 r 4 2 3a 2a S 1 − 4 + 2 sen (2θ) τrθ = − 2 r r (6.15a) (6.15b) (6.15c) sendo S a tensão de tracção uniforme aplicada na placa, a o raio do orifício, b a menor distância do centro do orifício até à fronteira lateral da placa, e r a distância entre o centro do orifício e um ponto na placa, conforme representado na figura 6.40. Como comparação, procedeu-se à criação de um modelo que representasse este tipo de placa. Tal modelo, representado através de um sistema coerente de unidades, tem como dimensões b = 2a, e l = 2 × (3a), com um orifício com raio a = 1, 00 e espessura transversal t = 1, 00. De maneira a reduzir o custo computacional associado à análise deste modelo, optou-se por efectuar três simplificações de simetria, conforme foi representada na figura 6.41. Esta redução resultou na criação de um modelo com metade do comprimento e espessura (b = 2, t = 0, 5 e l = 3a), e sujeito às condições de fronteira cinemáticas apropriadas. Para exercer um maior controle sobre a sua partição, o domínio do problema foi dividido em duas regiões: a região do orifício e o fuste da placa. Para a região do orifício, como era previsto o surgimento de um campo singular de tensões na sua superfície, a partição do domínio foi realizada segundo um esquema de refinamento-h não-uniforme baseado no erro do campo de tensões. Como resultado, aplicou-se um refinamento progressivo no plano de simetria 118 Exemplos de aplicação (a) Completo. (b) Simplificação de simetria. Figura 6.41: Modelos de uma placa com um orifício circular. Figura 6.42: Discretização do domínio da placa com um orifício. transversal, no sentido do exterior da placa para centro do orifício, com os nós a serem posicionados segundo uma progressão geométrica de razão r = 1, 25. Para a região do fuste da placa, a consideração do princípio de Saint-Venant sugeriu o recurso a uma partição estruturada que fosse adequadamente refinada ao longo do eixo da placa. Como não se previa uma variação acentuada das tensões ao longo da espessura, optou-se também por definir uma partição estruturada do domínio nessa direcção. Tomando essas indicações em consideração, foi obtida a discretização do domínio apresentada na figura 6.42, composta por 9540 elementos lineares, hexaédricos e tetraédricos, com cerca de 9 mil graus de liberdade. Para as condições de fronteira cinemática, os nós contidos nos planos de simetria tiveram os seus 6.8. Placa com orifício circular sujeita a tracção (a) σ11 . 119 (b) σ22 . (c) σ12 . (d) σcomp . Figura 6.43: Representação dos resultados da análise de um modelo composto por elementos finitos lineares. 5 analítica MEF 2b Tensão 4 3 2 1 0 1 1.2 1.4 1.6 1.8 2 x Figura 6.44: Tensões σθθ ao longo do segmento de recta m − n: expressão analítica e resultados obtidos pelo método dos elementos finitos. deslocamentos impedidos na direcção perpendicular aos mesmos. As condições de fronteira estáticas consistiram na aplicação de uma tracção distribuída pela superfície da extremidade da barra segundo o seu eixo, com uma densidade de t¯ = 1. Por último, para o modelo constitutivo considerou-se E = 10 e ν = 0, 2. Concluída a definição do modelo, procedeu-se ao cálculo da solução. Os valores obtidos para para a tensão σθθ , que ao longo do segmento de recta m − n correspondente ao campo de tensão σ22 , são representados na figura 6.44. Como se pode constatar, os resultados obtidos para σθθ a partir da análise pelo método dos elementos finitos divergem daqueles obtidos a partir da expressão (6.15). Tal diferença deve-se ao facto desta expressão, segundo Timoshenko e Goodier (1970, pág. 81), ter sido derivada a partir da análise de placas de largura infinita e espessura finita, tendo sido adiantado que a sua aplicação à análise de placas com b > 4a produz estimativas do campo de tensões cujo erro não excede 6%. Para o caso em que b = 2a é ainda indicado em Timoshenko e Goodier (1970, pág. 83) que σθθ varia entre 4, 3S na vizinhança do ponto m e 0, 75S junto ao ponto n. Através do método dos elementos finitos, na vizinhança do ponto m foi obtida uma tensão média de µ(σ22 ) = 4, 60138 com um desvio-padrão de 120 Exemplos de aplicação Tabela 6.7: Comparação dos valores de σmax θθ . σmax θθ 2a 4,4134 3a 4,4217 4a 3,2987 5a 3,2013 8a 3,1065 10a 3,085 Analítica (b = ∞) 3,0 5 analítica MEF 2a MEF 3a MEF 4a MEF 5a MEF 8a MEF 10a Tensão 4 3 2 1 0 1 1.2 1.4 1.6 1.8 2 x Figura 6.45: Campos de tensões σθθ obtidos a partir de modelos compostos por elementos finitos quadráticos. σ(σ22 ) = 0, 22748. Na vizinhança do ponto n obteve-se uma tensão média de µ(σ22 ) = 1, 09265 com um desvio padrão σ(σ22 ) = 0, 23465. De maneira a reduzir o erro associado aos resultados obtidos, procedeu-se à repetição da análise, desta vez recorrendo a modelos compostos por elementos quadráticos. Juntamente, de maneira a observar a variação do campo de tensões em função da relação entre o raio do orifício e a largura da placa. Para tal, foi criado um conjunto de 6 modelos, compostos praticamente pelo mesmo número de elementos que compõem o modelo analisado anteriormente, cuja distância do centro do orifício ao ponto n assume os seguintes valores: 2a, 3a, 4a, 5a, 8a, e 10a. Os campos de tensões σθθ resultantes da análise dos modelos obtidos até a uma distância 2a do centro do orifício são apresentados no gráfico da figura 6.45. No quadro 6.7 são exibidos os valores das tensões obtidas a partir das expressões exibidas em (6.15) e da aplicação do método dos elementos finitos. Como é possível constatar a partir do gráfico 6.45, à medida que a largura da placa aumenta em relação ao raio do orifício, o campo de tensões aproxima-se aos valores obtidos a partir da expressão (6.15b). Estes valores são praticamente coincidentes para placas com orifícios com um diâmetro igual a 10% da largura da placa, conforme se observa no gráfico presente na figura 6.46. Os resultados obtidos a partir da análise do modelo de largura b = 2a composto por elementos finitos quadráticos são representados na figura 6.47. Como é possível constatar, mediante comparação com os resultados obtidos a partir de modelos compostos por elementos lineares representados na figura 6.43, o refinamento- p representado pela criação deste novo modelo permite obter uma redução assinalável do erro associado à aproximação da solução exacta, com os campos derivados a exibir já uma continuidade 6.8. Placa com orifício circular sujeita a tracção 121 5 analítica MEF 10a Tensão 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 x Figura 6.46: Campos de tensões σθθ obtidos a partir do modelo de uma placa com um orifício de diâmetro igual a 10% da largura da placa, compostos por elementos finitos quadráticos. (a) σ11 . (b) σ22 . (c) σ12 . (d) σcomp . Figura 6.47: Representação dos resultados da análise de um modelo composto por elementos finitos quadráticos. notável, sobretudo nas regiões do domínio onde incidiu o refinamento adaptativo. Capítulo 7 Conclusão Ao longo deste trabalho foi possível chegar a um conjunto de conclusões sobre o método dos elementos finitos em relação a domínios tais como a sua concepção, implementação e aplicação prática. No que toca à sua implementação, a realização deste trabalho permitiu constatar que a aplicação do método dos elementos finitos a problemas da elasticidade linear, apesar de assentar em fundamentos teóricos não-triviais quer no campo da matemática como da física, é simples e sistemática. Contudo, esta simplicidade deve-se sobretudo a não ter sido implementado qualquer suporte de modelação de domínios e a sua posterior partição, funcionalidades que são imprescindíveis no desenvolvimento de ferramentas com utilidade prática. A respeito do desenvolvimento de programas de cálculo automático que implementem o método dos elementos finitos, este trabalho serviu para constatar que a implementação deste tipo de programas, apesar de exigente, é uma tarefa relativamente simples. A aplicação de técnicas básicas de programação orientada por objectos, bem como o recurso a bibliotecas e ferramentas desenvolvidas com a facilidade de uso em mente, permitem que se desenvolvam programas práticos sem exigir muito trabalho. Também foi possível constatar a importância que os formatos abertos têm no acesso e partilha de informação, bem como a adopção e uso de formatos de documentos descritos em formatos ditos legíveis por pessoas, que implica representarem linguagens que são sub-conjuntos de formatos como o ASCII e Unicode. Por fim, sublinha-se a importância que a etapa de planeamento do desenvolvimento de software tem na simplicidade da sua execução, bem como o recurso a padrões de desenvolvimento. Apesar da aparente complexidade que trazem a um projecto, a sua adopção simplifica o desenvolvimento e manutenção do código a médio e também curto prazo e reduz o trabalho necessário para implementar funcionalidades imprevistas. É ainda de referir que o interesse prático de uma implementação do método dos elementos finitos, sobretudo quando aplicada a domínios que levam à criação de problemas com um número elevado de graus de liberdade como é o caso da elasticidade tridimensional, depende da capacidade de resolver rapidamente sistemas de equações de grandes dimensões. 123 124 Conclusão No domínio da aplicação prática, o método dos elementos finitos aplicado a problemas da elasticidade tridimensional revela-se uma ferramenta extremamente poderosa. A capacidade de representar qualquer geometria com uma margem de erro prescrita associada à aptidão de aproximar a solução exacta com um erro arbitrariamente reduzido, implica que este método permite estudar meticulosamente qualquer problema de mecânica dos sólidos que se enquadre nos limites de aplicação da teoria da elasticidade linear. A este poder de análise junta-se também o facto de não serem impostas hipóteses simplificativas adicionais, conforme é no caso dos modelos especificamente desenvolvidos para elementos estruturais correntes tais como peças lineares e peças laminares, garantindo assim também a generalidade da sua aplicação. Para desenvolvimentos futuros, estes dividem-se em dois domínios: o da mecânica computacional e o da computação gráfica. No domínio da mecânica computacional, a atenção foca-se em três vertentes: completar a implementação do método dos elementos finitos aplicado à teoria da elasticidade tridimensional, e exploração de outros tipos de análise. Para completar a implementação do método é necessário abordar um conjunto de tópicos que, apesar de relativamente triviais, não foram abordados neste trabalho nem implementados no FEMP. Entre estes tópicos encontram-se o suporte para condições de fronteira mistas/de Robin, prescrição de condições de fronteira cinemáticas segundo eixos arbitrários, e a prescrição de deslocamentos relativos entre graus de liberdade. Entre estes tópicos encontra-se a implementação de outros tipos de elementos, como o piramidal, a implementação de regras de cubatura mais eficientes obtidas expressamente para elementos tridimensionais, e o uso de regras de cubatura desenvolvidas para a integração de funções polinomiais racionais. A necessidade de explorar outros tipos de análises deve-se às limitações associadas ao problema da análise estática linear, e a concomitante impossibilidade de obter soluções adequadas em um conjunto significativo e cada vez mais importante de aplicações práticas no âmbito da engenharia civil. A fim de ultrapassar estas limitações, é necessário recorrer a tipos de análise que eliminam ou mitigam o efeito destas limitações, onde se destaca a a análise física e geometricamente não-linear, análise dinâmica, e análise de problemas termomecânicos. Outro aspecto a desenvolver seria a implementação de elementos mistos nas variáveis deslocamento e pressão, que permitissem analisar meios incompressíveis (ou quase incompressíveis). No domínio da implementação, é obrigatório que os desenvolvimentos futuros incidam sobretudo do domínio da computação gráfica. A definição dos problemas (i.e., domínios, sub-regiões de aplicação de propriedades do modelo e condições de fronteira, partição do domínio, etc...) e a análise dos resultados, onde se inclui a sua visualização, são tarefas indissociáveis da aplicação prática de implementações do método dos elementos finitos. São também tarefas que desempenham um papel crítico na economia de tempo e recursos despendidos no processo de análise. Como consequência, o desenvolvimento de uma aplicação deste tipo que se destine a ter utilidade prática exige que seja feito um investimento significativo em várias vertentes da computação gráfica. Apêndice A Funções de base A.1 Triângulo de 3 nós x3 ξ2 P3 3 P1 P2 1 2 ξ1 x2 x1 Coordenadas locais Coordenadas globais Figura A.1: Mapeamento do triângulo de 3 nós das coordenadas locais para coordenadas globais. N1 (ξ) = 1 − ξ1 − ξ2 N2 (ξ) = ξ1 N (ξ) = ξ 3 2 125 126 Funções de base A.2 Triângulo de 6 nós x3 ξ2 P3 3 6 P1 5 P2 1 4 2 ξ1 x2 x1 Coordenadas locais Coordenadas globais Figura A.2: Mapeamento do triângulo de 3 nós das coordenadas locais para coordenadas globais. N1 (ξ) = (2(1 − ξ2 − ξ1 ) − 1)(1 − ξ2 − ξ1 ) N2 (ξ) = ξ1 (2ξ1 − 1) N3 (ξ) = ξ2 (2ξ2 − 1) N4 (ξ) = 4ξ1 (1 − ξ2 − ξ1 ) N5 (ξ) = 4ξ1 ξ2 N (ξ) = 4(1 − ξ − ξ )ξ 2 1 2 6 A.3. Quadrilátero de 4 nós 127 A.3 Quadrilátero de 4 nós x3 ξ2 4 3 4 3 1 2 ξ1 1 2 x2 x1 Coordenadas locais Coordenadas globais Figura A.3: Mapeamento do quadrilátero de 4 nós das coordenadas locais para coordenadas globais. N1 (ξ) = (1 − ξ1 )(1 − ξ2 )/4 N2 (ξ) = (1 + ξ1 )(1 − ξ2 )/4 N (ξ) = (1 + ξ1 )(1 + ξ2 )/4 3 N4 (ξ) = (1 − ξ1 )(1 + ξ2 )/4 128 Funções de base A.4 Quadrilátero de 8 nós x3 ξ2 4 P4 7 3 P P3 P1 P2 6 8 ξ1 1 5 x2 x1 2 Coordenadas locais Coordenadas globais Figura A.4: Mapeamento do quadrilátero de 8 nós das coordenadas locais para coordenadas globais. N1 (ξ) = N2 (ξ) = N3 (ξ) = N4 (ξ) = N5 (ξ) = N6 (ξ) = N7 (ξ) = N (ξ) = 8 (ξ1 − 1)(1 − ξ2 )(ξ2 + ξ1 + 1)/4 (ξ1 + 1)(ξ2 − 1)(ξ2 − ξ1 + 1)/4 (ξ1 + 1)(ξ2 + 1)(ξ2 + ξ1 − 1)/4 (1 − ξ1 )(ξ2 + 1)(ξ2 − ξ1 − 1)/4 (1 − ξ1 ξ1 )(1 − ξ2 )/2 (ξ1 + 1)(1 − ξ2 ξ2 )/2 (1 − ξ1 ξ1 )(ξ2 + 1)/2 (1 − ξ1 )(1 − ξ2 ξ2 )/2 A.5. Quadrilátero de 9 nós 129 A.5 Quadrilátero de 9 nós x3 ξ2 4 P4 7 3 P P3 P1 P2 8 1 6 9 5 ξ1 x2 x1 2 Coordenadas locais Coordenadas globais Figura A.5: Mapeamento do quadrilátero de 9 nós das coordenadas locais para coordenadas globais. N1 (ξ) = N2 (ξ) = N3 (ξ) = N4 (ξ) = N5 (ξ) = N6 (ξ) = N7 (ξ) = N8 (ξ) = N9 (ξ) = (ξ1 − 1)ξ1 (ξ2 − 1)ξ2 /4 ξ1 (ξ1 + 1)(ξ2 − 1)ξ2 /4 ξ1 (ξ1 + 1)ξ2 (ξ2 + 1)/4 (ξ1 − 1)ξ1 ξ2 (ξ2 + 1)/4 (1 − ξ1 )(ξ1 + 1)(ξ2 − 1)ξ2 /2 ξ1 (ξ1 + 1)(1 − ξ2 )(ξ2 + 1)/2 (1 − ξ1 )(ξ1 + 1)ξ2 (ξ2 + 1)/2 (ξ1 − 1)ξ1 (1 − ξ2 )(ξ2 + 1)/2 (1 − ξ1 )(ξ1 + 1)(1 − ξ2 )(ξ2 + 1) 130 Funções de base A.6 Tetraedro de 4 nós ξ3 4 1 3 2 ξ2 ξ1 Figura A.6: Mapeamento do tetraedro de 4 nós das coordenadas locais para coordenadas globais. N1 (ξ) = 1 − ξ1 − ξ2 − ξ3 N2 (ξ) = ξ1 N (ξ) = ξ2 3 N4 (ξ) = ξ3 A.7. Tetraedro de 10 nós 131 A.7 Tetraedro de 10 nós ξ3 4 9 8 1 5 10 7 3 2 6 ξ2 ξ1 Figura A.7: Mapeamento do tetraedro de 10 nós das coordenadas locais para coordenadas globais. N0 (ξ) = N1 (ξ) = N2 (ξ) = N3 (ξ) = N4 (ξ) = N (ξ) = 5 N6 (ξ) = N7 (ξ) = N8 (ξ) = N (ξ) = 9 (1 − 2ξ3 − 2ξ2 − 2ξ1 )(1 − ξ3 − ξ2 − ξ1 ) 2(ξ1 − 0,5)ξ1 2(ξ2 − 0,5)ξ2 2(ξ3 − 0,5)ξ3 4ξ1 (−ξ3 − ξ2 − ξ1 + 1) 4ξ1 ξ2 4ξ2 (−ξ3 − ξ2 − ξ1 + 1) 4(1 − ξ3 − ξ2 − ξ1 )ξ3 4ξ2 ξ3 4ξ1 ξ3 132 Funções de base A.8 Hexaedro de 8 nós ξ2 4 3 7 8 ξ1 ξ3 5 2 1 6 Figura A.8: Mapeamento do hexaedro Lagrangeano de 8 nós das coordenadas locais para coordenadas globais. N0 (ξ) = N1 (ξ) = N2 (ξ) = N3 (ξ) = N4 (ξ) = N5 (ξ) = N6 (ξ) = N (ξ) = 7 (1 − ξ1 )(1 − ξ2 )(1 − ξ3 )/8 (ξ1 + 1)(1 − ξ2 )(1 − ξ3 )/8 (ξ1 + 1)(ξ2 + 1)(1 − ξ3 )/8 (1 − ξ1 )(ξ2 + 1)(1 − ξ3 )/8 (1 − ξ1 )(1 − ξ2 )(ξ3 + 1)/8 (ξ1 + 1)(1 − ξ2 )(ξ3 + 1)/8 (ξ1 + 1)(ξ2 + 1)(ξ3 + 1)/8 (1 − ξ1 )(ξ2 + 1)(ξ3 + 1)/8 A.9. Hexaedro de 20 nós 133 A.9 Hexaedro de 20 nós ξ2 4 14 16 8 3 15 7 12 ξ1 18 ξ3 5 2 1 13 11 17 6 Figura A.9: Mapeamento do hexaedro Serendipiano de 20 nós das coordenadas locais para coordenadas globais. N0 (ξ) = N1 (ξ) = N2 (ξ) = N3 (ξ) = N (ξ) = 4 N5 (ξ) = N6 (ξ) = N7 (ξ) = N8 (ξ) = N9 (ξ) = N10 (ξ) = N11 (ξ) = N12 (ξ) = N13 (ξ) = N14 (ξ) = N15 (ξ) = N16 (ξ) = N17 (ξ) = N18 (ξ) = N19 (ξ) = (1 − ξ1 )(1 − ξ2 )(1 − ξ3 )(−ξ3 − ξ2 − ξ1 − 2)/8 (ξ1 + 1)(1 − ξ2 )(1 − ξ3 )(−ξ3 − ξ2 + ξ1 − 2)/8 (ξ1 + 1)(ξ2 + 1)(1 − ξ3 )(−ξ3 + ξ2 + ξ1 − 2)/8 (1 − ξ1 )(ξ2 + 1)(1 − ξ3 )(−ξ3 + ξ2 − ξ1 − 2)/8 (1 − ξ1 )(1 − ξ2 )(ξ3 + 1)(ξ3 − ξ2 − ξ1 − 2)/8 (ξ1 + 1)(1 − ξ2 )(ξ3 + 1)(ξ3 − ξ2 + ξ1 − 2)/8 (ξ1 + 1)(ξ2 + 1)(ξ3 + 1)(ξ3 + ξ2 + ξ1 − 2)/8 (1 − ξ1 )(ξ2 + 1)(ξ3 + 1)(ξ3 + ξ2 − ξ1 − 2)/8 (1 − ξ1 ξ1 )(1 − ξ2 )(1 − ξ3 )/4 (1 − ξ1 )(1 − ξ2 ξ2 )(1 − ξ3 )/4 (1 − ξ1 )(1 − ξ2 )(1 − ξ3 ξ3 )/4 (ξ1 + 1)(1 − ξ2 ξ2 )(1 − ξ3 )/4 (ξ1 + 1)(1 − ξ2 )(1 − ξ3 ξ3 )/4 (1 − ξ1 ξ1 )(ξ2 + 1)(1 − ξ3 )/4 (ξ1 + 1)(ξ2 + 1)(1 − ξ3 ξ3 )/4 (1 − ξ1 )(ξ2 + 1)(1 − ξ3 ξ3 )/4 (1 − ξ1 ξ1 )(1 − ξ2 )(ξ3 + 1)/4 (1 − ξ1 )(1 − ξ2 ξ2 )(ξ3 + 1)/4 (ξ1 + 1)(1 − ξ2 ξ2 )(ξ3 + 1)/4 (1 − ξ1 ξ1 )(ξ2 + 1)(ξ3 + 1)/4 134 Funções de base A.10 Hexaedro de 27 nós ξ2 14 4 16 8 7 26 ξ3 2 13 22 17 ξ1 24 1 11 5 12 21 27 23 18 3 15 25 6 Figura A.10: Mapeamento do hexaedro Serendipiano de 20 nós das coordenadas locais. N0 (ξ) = N1 (ξ) = N2 (ξ) = N3 (ξ) = N4 (ξ) = N5 (ξ) = N6 (ξ) = N7 (ξ) = N8 (ξ) = N9 (ξ) = N (ξ) = 10 N11 (ξ) = N12 (ξ) = N13 (ξ) = N14 (ξ) = N15 (ξ) = N16 (ξ) = N17 (ξ) = N18 (ξ) = N19 (ξ) = N20 (ξ) = N21 (ξ) = N22 (ξ) = N23 (ξ) = N24 (ξ) = N (ξ) = 25 N26 (ξ) = (ξ1 − 1)ξ1 (ξ2 − 1)ξ2 (ξ3 − 1)ξ3 /8 ξ1 (ξ1 + 1)(ξ2 − 1)ξ2 (ξ3 − 1)ξ3 /8 ξ1 (ξ1 + 1)ξ2 (ξ2 + 1)(ξ3 − 1)ξ3 /8 (ξ1 − 1)ξ1 ξ2 (ξ2 + 1)(ξ3 − 1)ξ3 /8 (ξ1 − 1)ξ1 (ξ2 − 1)ξ2 ξ3 (ξ3 + 1)/8 ξ1 (ξ1 + 1)(ξ2 − 1)ξ2 ξ3 (ξ3 + 1)/8 ξ1 (ξ1 + 1)ξ2 (ξ2 + 1)ξ3 (ξ3 + 1)/8 (ξ1 − 1)ξ1 ξ2 (ξ2 + 1)ξ3 (ξ3 + 1)/8 −(ξ1 − 1)(ξ1 + 1)(ξ2 − 1)ξ2 (ξ3 − 1)ξ3 /4 −(ξ1 − 1)ξ1 (ξ2 − 1)(ξ2 + 1)(ξ3 − 1)ξ3 /4 −(ξ1 − 1)ξ1 (ξ2 − 1)ξ2 (ξ3 − 1)(ξ3 + 1)/4 −ξ1 (ξ1 + 1)(ξ2 − 1)(ξ2 + 1)(ξ3 − 1)ξ3 /4 −ξ1 (ξ1 + 1)(ξ2 − 1)ξ2 (ξ3 − 1)(ξ3 + 1)/4 −(ξ1 − 1)(ξ1 + 1)ξ2 (ξ2 + 1)(ξ3 − 1)ξ3 /4 −ξ1 (ξ1 + 1)ξ2 (ξ2 + 1)(ξ3 − 1)(ξ3 + 1)/4 −(ξ1 − 1)ξ1 ξ2 (ξ2 + 1)(ξ3 − 1)(ξ3 + 1)/4 −(ξ1 − 1)(ξ1 + 1)(ξ2 − 1)ξ2 ξ3 (ξ3 + 1)/4 −(ξ1 − 1)ξ1 (ξ2 − 1)(ξ2 + 1)ξ3 (ξ3 + 1)/4 −ξ1 (ξ1 + 1)(ξ2 − 1)(ξ2 + 1)ξ3 (ξ3 + 1)/4 −(ξ1 − 1)(ξ1 + 1)ξ2 (ξ2 + 1)ξ3 (ξ3 + 1)/4 (ξ1 − 1)(ξ1 + 1)(ξ2 − 1)(ξ2 + 1)(ξ3 − 1)ξ3 /2 (ξ1 − 1)(ξ1 + 1)(ξ2 − 1)ξ2 (ξ3 − 1)(ξ3 + 1)/2 (ξ1 − 1)ξ1 (ξ2 − 1)(ξ2 + 1)(ξ3 − 1)(ξ3 + 1)/2 ξ1 (ξ1 + 1)(ξ2 − 1)(ξ2 + 1)(ξ3 − 1)(ξ3 + 1)/2 (ξ1 − 1)(ξ1 + 1)ξ2 (ξ2 + 1)(ξ3 − 1)(ξ3 + 1)/2 (ξ1 − 1)(ξ1 + 1)(ξ2 − 1)(ξ2 + 1)ξ3 (ξ3 + 1)/2 −(ξ1 − 1)(ξ1 + 1)(ξ2 − 1)(ξ2 + 1)(ξ3 − 1)(ξ3 + 1) A.11. Prisma de 6 nós 135 A.11 Prisma de 6 nós ξ3 4 5 6 9 11 12 1 ξ1 2 ξ2 3 Figura A.11: Mapeamento do prisma de 6 nós das coordenadas locais para coordenadas globais. N0 (ξ) = (−ξ2 − ξ1 + 1)(1 − ξ3 )/2 N1 (ξ) = ξ1 (1 − ξ3 )/2 N2 (ξ) = ξ2 (1 − ξ3 )/2 N3 (ξ) = (−ξ2 − ξ1 + 1)(ξ3 + 1)/2 N4 (ξ) = ξ1 (ξ3 + 1)/2 N (ξ) = ξ (ξ + 1)/2 2 3 5 136 Funções de base A.12 Prisma de 15 nós ξ3 4 13 14 5 6 15 9 11 ξ1 12 1 7 2 ξ2 8 10 3 Figura A.12: Mapeamento do prisma de 15 nós das coordenadas locais para coordenadas globais. N0 (ξ) = N1 (ξ) = N2 (ξ) = N3 (ξ) = N4 (ξ) = N5 (ξ) = N6 (ξ) = N7 (ξ) = N8 (ξ) = N9 (ξ) = N10 (ξ) = N (ξ) = 11 N12 (ξ) = N13 (ξ) = N (ξ) = 14 −((−1 + ξ1 + ξ2 )(−1 + ξ3 )(2(ξ1 + ξ2 ) + ξ3 ))/2 (ξ1 (−1 + ξ3 )(2 − 2ξ1 + ξ3 ))/2 (ξ2 (−1 + ξ3 )(2 − 2ξ2 + ξ3 ))/2 −((−1 + ξ1 + ξ2 )(1 + ξ3 )(−2(ξ1 + ξ2 ) + ξ3 ))/2 (ξ1 (1 + ξ3 )(−2 + 2ξ1 + ξ3 ))/2 (ξ2 (1 + ξ3 )(−2 + 2ξ2 + ξ3 ))/2 2ξ1 (−1 + ξ1 + ξ2 )(−1 + ξ3 ) 2ξ2 (−1 + ξ1 + ξ2 )(−1 + ξ3 ) (−1 + ξ1 + ξ2 )(−1 + ξ3 ξ3 ) −2ξ1 ξ2 (−1 + ξ3 ) ξ1 − ξ1 ξ3 ξ3 ξ2 − ξ2 ξ3 ξ3 −2ξ1 (−1 + ξ1 + ξ2 )(1 + ξ3 ) −2ξ2 (−1 + ξ1 + ξ2 )(1 + ξ3 ) 2ξ1 ξ2 (1 + ξ3 ) A.13. Prisma de 18 nós 137 A.13 Prisma de 18 nós ξ3 4 13 14 5 6 15 9 17 16 11 12 18 ξ1 1 7 2 ξ2 8 10 3 Figura A.13: Mapeamento do prisma de 18 nós das coordenadas locais para coordenadas globais. N0 (ξ) = N1 (ξ) = N2 (ξ) = N3 (ξ) = N4 (ξ) = N5 (ξ) = N6 (ξ) = N7 (ξ) = N8 (ξ) = N9 (ξ) = N10 (ξ) = N11 (ξ) = N12 (ξ) = N13 (ξ) = N14 (ξ) = N15 (ξ) = N16 (ξ) = N17 (ξ) = ((−1 + ξ1 + ξ2 )(−1 + 2ξ1 + 2ξ2 )(−1 + ξ3 )ξ3 )/2 (ξ1 (−1 + 2ξ1 )(−1 + ξ3 )ξ3 )/2 (ξ2 (−1 + 2ξ2 )(−1 + ξ3 )ξ3 )/2 ((−1 + ξ1 + ξ2 )(−1 + 2ξ1 + 2ξ2 )ξ3 (1 + ξ3 ))/2 (ξ1 (−1 + 2ξ1 )ξ3 (1 + ξ3 ))/2 (ξ2 (−1 + 2ξ2 )ξ3 (1 + ξ3 ))/2 −2ξ1 (−1 + ξ1 + ξ2 )(−1 + ξ3 )ξ3 −2ξ2 (−1 + ξ1 + ξ2 )(−1 + ξ3 )ξ3 −((−1 + ξ1 + ξ2 )(−1 + 2ξ1 + 2ξ2 )(−1 + ξ3 ξ3 )) 2ξ1 ξ2 (−1 + ξ3 )ξ3 −(ξ1 (−1 + 2ξ1 )(−1 + ξ3 ξ3 )) −(ξ2 (−1 + 2ξ2 )(−1 + ξ3 ξ3 )) −2ξ1 (−1 + ξ1 + ξ2 )ξ3 (1 + ξ3 ) −2ξ2 (−1 + ξ1 + ξ2 )ξ3 (1 + ξ3 ) 2ξ1 ξ2 ξ3 (1 + ξ3 ) 4ξ1 (−1 + ξ1 + ξ2 )(−1 + ξ3 ξ3 ) 4ξ2 (−1 + ξ1 + ξ2 )(−1 + ξ3 ξ3 ) −4ξ1 ξ2 (−1 + ξ3 ξ3 ) Apêndice B Regras de quadratura Tabela B.1: Regras adoptadas para integração numérica na superfície. Tipo de elemento Número de nós 3 Triângulo 6 4 Quadrilátero 8e9 t¯i = const fΓD t¯i = ∑ N j b ji 1 linear 3 quadrático 3 quadrático 6 quártico 1×1 = 1 linear quadrático 2×2 = 4 3×3 = 9 quadrático 2×2 = 8 quártico Tabela B.2: Regras adoptadas para integração numérica no volume: tetraedros e hexaedros. Tipo de elemento Número de nós K fΩ b̄i = const b̄i = ∑ N j b̄ ji 1 const 4 quadrático 1 linear 4 quadrático 4 quadrático 14 quártico 8 2×2×2= 8 quadrático 1×1×1= 1 linear 2×2×2= 8 20 e 27 3 × 3 × 3 = 27 2×2×2= 8 3 × 3 × 3 = 27 4 Tetraedro 10 Hexaedro quártico 139 quadrático quadrático quártico 140 Regras de quadratura Tabela B.3: Regras adoptadas para integração numérica no volume: prismas. Elemento 6 Prisma 15 e 18 fΩ K Número de nós Plano 3 Quadrático 6 Quártico b̄i = const Recta 2 Quadrático 3 Quártico Plano 1 Linear 3 Quadrático Recta 1 Linear 2 Quadrático b̄i = ∑ N j b̄ ji Plano 3 Quártico 6 Quártico Recta 2 Quadrático 3 Quártico Apêndice C Patch test: representação do campo de deformações de elementos regulares (a) hexaedro 8 (b) hexaedro 20 (c) hexaedro 27 Figura C.1: Campo ε33 da barra sujeita a pressão axial: malhas de 8 elementos hexaédricos. (a) prisma 6 (b) prisma 15 (c) prisma 18 Figura C.2: Campo ε33 da barra sujeita a pressão axial: malhas de 16 elementos prismáticos. 141 142 Patch test: representação do campo de deformações de elementos regulares (a) tetraedro 4 (b) tetraedro 10 Figura C.3: Campo ε33 da barra sujeita a pressão axial: malhas de 48 elementos tetraédricos. Apêndice D Patch test: representação do campo de deformações de elementos distorcidos (a) hexaedro 8 (b) hexaedro 20 (c) hexaedro 27 Figura D.1: Campo ε33 da barra sujeita a pressão axial: malhas de 8 elementos hexaédricos. (a) prisma 6 (b) prisma 15 (c) prisma 18 Figura D.2: Campo ε33 da barra sujeita a pressão axial: malhas de 16 elementos prismáticos. 143 144 Patch test: representação do campo de deformações de elementos distorcidos (a) tetraedro 4 (b) tetraedro 10 Figura D.3: Campo ε33 da barra sujeita a pressão axial: malhas de 48 elementos tetraédricos. Apêndice E Consola curta: campos de deformações e tensões (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.1: Campo de deformações ε11 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.2: Campo de deformações ε22 no plano YZ (lateral da consola). 145 146 Consola curta: campos de deformações e tensões (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.3: Campo de deformações ε33 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos Figura E.4: Campo de deformações ε12 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.5: Campo de deformações ε13 no plano YZ (lateral da consola)n (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.6: Campo de deformações ε23 no plano YZ (lateral da consola). Consola curta: campos de deformações e tensões (a) 8 elementos (b) 64 elementos 147 (c) 512 elementos (d) 4096 elementos Figura E.7: Campo de tensões 11 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.8: Campo de tensões 22 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos Figura E.9: Campo de tensões 33 no plano YZ (lateral da consola). 148 Consola curta: campos de deformações e tensões (a) 8 elementos (b) 64 elementos (c) 512 elementos Figura E.10: Campo de tensões 12 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos Figura E.11: Campo de tensões 13 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.12: Campo de tensões 23 no plano YZ (lateral da consola). (a) 8 elementos (b) 64 elementos (c) 512 elementos (d) 4096 elementos Figura E.13: Campo de tensões de von Mises no plano YZ (lateral da consola). Apêndice F Esfera oca sujeita a pressão interna: resultados Tabela F.1: Resultados dos modelos compostos por elementos hexaédricos Lagrangeanos lineares de 8 nós. Grau de refinamento 1 2 3 4 Energia de deformação 0,00650396 0,00747958 0,00775769 0,00782971 Graus de liberdade 126 780 5400 39984 Número de nós 57 305 1953 13889 Volume 0,428172 0,450452 0,456212 0,457664 Tabela F.2: Resultados dos modelos compostos por elementos hexaédricos Serendipianos quadráticos de 20 nós. Grau de refinamento 1 2 3 4 Energia de deformação 0,00724161 0,00777219 0,00784016 0,00785103 Graus de liberdade 78 444 2904 20784 Número de nós 39 185 1089 7361 Volume 0,45119 0,457697 0,45812 0,458147 Tabela F.3: Resultados dos modelos compostos por elementos hexaédricos Lagrangeanos quadráticos de 27 nós. Grau de refinamento 1 2 3 4 Energia de deformação 0,00742578 0,00778941 0,00784117 0,00785108 Graus de liberdade 126 780 5400 39984 149 Número de nós 57 305 1953 13889 Volume 0,457294 0,458093 0,458145 0,458149 150 Esfera oca sujeita a pressão interna: resultados Tabela F.4: Resultados dos modelos compostos por elementos tetraédricos lineares de 4 nós. Grau de refinamento 1 2 3 4 4,5 5 6 Energia de deformação 0,00350247 0,00273486 0,00547033 0,00671075 0,00722511 0,00753815 0,00777849 Graus de liberdade 21 75 186 675 1734 4394 27626 Número de nós 15 37 83 281 674 1671 9990 Volume 0,321870 0,453471 0,446739 0,456382 0,457250 0,457808 0,458037 Tabela F.5: Resultados dos modelos compostos por elementos tetraédricos quadráticos de 10 nós. Grau de refinamento 1 2 3 4 4,5 5 Energia de deformação 0,00747164 0,00744257 0,00765501 0,00782714 0,00784638 0,00785123 Graus de liberdade 108 438 1176 4341 12027 31438 Número de nós 57 181 459 1642 4355 11253 Volume 0,448490 0,459285 0,458085 0,458153 0,458151 0,458149 Apêndice G Exemplo do formato MSH Exemplo de um modelo composto por um único hexaedro de 8 nós $MeshFormat 2. 2 0 8 $EndMeshFormat $Nodes 8 1 −1 −1 −1 2 1 −1 −1 3 1 1 −1 4 −1 1 −1 5 −1 −1 1 6 1 −1 1 7 1 1 1 8 −1 1 1 $EndNodes $Elements 1 1 5 2 29 1 1 2 3 4 5 6 7 8 $EndElements 151 Apêndice H Exemplos do formato FEM.JSON Exemplo de um modelo composto por um único hexaedro de 8 nós { " fem " : { " v e r s i o n " : " 1. 0 " , " t y pe " : " 3D s o l i d " } , " materials " : [ { " t y pe " : " l i n e a r e l a s t i c " , " l a b e l " : " S235 " , "E" :200 e+09 , " nu " : 0 . 3 , " f y " : 235e+06 } ], " nodes " : [ [1 ,[ − 1 , − 1 , − 1]] , [ 2 , [ 1 , − 1 , − 1] ] , [3 ,[1 ,1 , −1]] , [ 4 , [ − 1 , 1 , − 1] ] , [ 5 , [ − 1 , − 1 , 1] ] , [6 ,[1 , −1 ,1]] , [7 ,[1 ,1 ,1]] , [8 ,[ −1 ,1 ,1]] ], " elements " : [ { " t y pe " : " hexahedron8 " , " nodes " : [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] , " m a t e r i a l " : 0} ], " node r e s t r i c t i o n s " : [ { " node " : 1 , " dx " : t r u e , " dy " : t r u e , " dz " : t r u e } , { " node " : 4 , " dx " : t r u e , " dy " : t r u e , " dz " : t r u e } , { " node " : 5 , " dx " : t r u e , " dy " : t r u e , " dz " : t r u e } , { " node " : 8 , " dx " : t r u e , " dy " : t r u e , " dz " : t r u e } ], " load p a t t e r n s " : [ { " label " : " F i r s t test pattern " , " nodal loads " : [ { " node " : 2 , " f o r c e " : [ 1 0 , 0 , 0 ] } , { " node " : 3 , " f o r c e " : [ 1 0 , 0 , 0 ] } , { " node " : 6 , " f o r c e " : [ 1 0 , 0 , 0 ] } , { " node " : 7 , " f o r c e " : [ 1 0 , 0 , 0 ] } ], " s u r f a c e loads " : [ { " t y pe " : " quadrangle4 " , " nodes " : [ 2 , 3 , 7 , 6 ] , " forces " : [ [ 1 , 0 , 0 ] , [ 1 , 0 , 0 ] , [ 1 , 0 , 0 ] , [ 1 , 0 , 0 ] ] } ] } ] } 153 Bibliografia Alexandrescu, Andrei (2001). Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley. Babuška, Ivo e Theofanis Strouboulis (2001). The Finite Element Method and Its Reliability. Oxford University Press, USA. Bareš, R. (1981). Tablas para el cálculo de placas y vigas pared. Editorial Gustavo Gili, S. A., Barcelona. Bathe, Klaus-Jurgen (1995). Finite Element Procedures. Prentice Hall. Bathe, Klaus-Jürgen (1982). Finite Element Procedures in Engineering Analysis. Prentice Hall, Inc. Belytschko, Ted, Wing Kam Liu e Brian Moran (2001). Nonlinear Finite Elements for Continua and Structures. John Wiley & Sons, Ltd. Branco, Carlos Moura (1998). Mecânica dos Materiais. Fundação Calouste Gulbenkian, segunda edição. Bumbulis, Peter e Donald D. Cowan (1994). Re2c - a more versatile scanner generator. ACM Lett. Program. Lang. Syst, 2, 70–84. Cerrolaza, M. e J. C. Osorio (2012). Relations among stiffness coefficients of hexahedral 8-noded finite elements: A simple and efficient way to reduce the integration time. Finite Elements in Analysis and Design, 55, 1–6. Chen, Wai-Fah e Da-Jian Han (2007). Plasticity for structural engineers. J. Ross Pub, Ft. Lauderdale, FL. Clough, R. W. (1980). The finite element method after twenty-five years: A personal view. Computers & Structures, 12(4), 361–370. Clough, R. W. (1990). Original formulation of the finite element method. Finite Elements in Analysis and Design, 7 (2), 89–101. Clough, R. W. (2001). Thoughts about the origin of the finite element method. Computers & Structures, 79(22–25), 2029–2030. 155 156 Bibliografia Clough, R. W. (2004). Speech by professor R. W. Clough: Early history of the finite element method from the view point of a pioneer. International Journal for Numerical Methods in Engineering, 60(1), 283–287. Cottrell, J. Austin, Thomas J.R. Hughes e Yuri Bazilevs (2009). Isogeometric Analysis: Toward Integration of CAD and FEA. Wiley. Courant, R. (1943). Variational methods for the solution of problems of equilibrium and vibrations. Bulletin of the American Mathematical Society, 49(1), 1–23. Also available in the Classic Reprints Series, International Journal for Numerical Methods in Engineering, volume 37, issue 13, pages 2159–2187, 1994. Cowper, G. R. (1973). Gaussian quadrature formulas for triangles. International Journal for Numerical Methods in Engineering, 7 (3), 405–408. Cowper, G. R., E. Kosko, G. M. Lindberg e M. D. Olson (1969). Static and dynamic applications of a highprecision triangular plate bending element. American Institute of Aeronautics and Astronautics (AIAA) Journal, 7 (10), 1957–1965. Crespo, Rui Gustavo (2001). Processadores de linguagens: da concepção à implementação. IST Press, segunda edição. Crocker, D. e P. Overell (2008). Augmented BNF for Syntax Specifications: ABNF. RFC 5234 (Standard). Crockford, D. (2006). The application/json Media Type for JavaScript Object Notation (JSON). RFC 4627 (Informational). Davis, Timothy A. (2004). Algorithm 832: Umfpack v4.3—an unsymmetric-pattern multifrontal method. ACM Trans. Math. Softw., 30, 196–199. de Arantes e Oliveira, Eduardo R. (1968). Theoretical foundations of the finite element method. International Journal of Solids and Structures, 4(10), 929–952. de Arantes e Oliveira, Eduardo R. (1999). Elementos da Teoria da Elasticidade. IST Press. Dunavant, DA (1985). High degree efficient symmetrical gaussian quadrature rules for the triangle. International journal for numerical methods in engineering, 21(6), 1129–1148. Dunavant, David A. (1986). Efficient symmetrical cubature rules for complete polynomials of high degree over the unit cube. International Journal for Numerical Methods in Engineering, 23(3), 397–407. Ergatoudis, I., B. M. Irons e O. C. Zienkiewicz (1968). Curved, isoparametric, “quadrilateral” elements for finite element analysis. International Journal of Solids and Structures, 4(1), 31–42. Felippa, C. A. (2001). A historical outline of matrix structural analysis: a play in three acts. Computers & Structures, 79(14), 1313–1324. Bibliografia 157 Felippa, C. A. (2004). A compendium of FEM integration formulas for symbolic work. Engineering computations, 21(8), 867–890. Fish, Jacob e Ted Belytschko (2007). A first course in finite elements. John Wiley & Sons, Ltd. Gamma, Erich, Richard Helm, Ralph Johnson e John Vlissides (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. Geuzaine, C e J-F Remacle (2009). Gmsh: A 3-D finite element mesh generator with built-in pre- and postprocessing facilities. International Journal for Numerical Methods in Engineering, 79(11), 1309–1331. Ghali, A. e A.M. Neville (1997). Structural Analysis: a unified classical and matrix approach. E & FN SPON, quarta edição. Guennebaud, Gaël, Benoît Jacob et al. (2010). Eigen v2. http://eigen.tuxfamily.org. Gui, W. e I. Babuška (1986). The h, p and h-p versions of the finite element method in 1 dimension. Numerische Mathematik, 49, 613–657. 10.1007/BF01389734. Gupta, K. K. e J. L. Meek (1996). A brief history of the beginning of the Finite Element Method. International Journal for Numerical Methods in Engineering, 39(22), 3761–3774. Hughes, Thomas J. R. (2000). The finite element method: linear static and dynamic finite element analysis. Dover Publications, Inc. Häggblad, Bo e Klaus-Järgen Bathe (1990). Specifications of boundary conditions for Reissner/Mindlin plate bending finite elements. International Journal for Numerical Methods in Engineering, 30(5), 981–1011. Irons, Bruce e Matti Loikkanen (1983). An engineers’ defence of the patch test. International Journal for Numerical Methods in Engineering, 19(9), 1391–1401. ISO 14882:2011 (2011). ISO/IEC 14882:2011 Programming languages - C++. ISO. Jr., Frank Williamson (1980). An historical note on the finite element method. International Journal for Numerical Methods in Engineering, 15(6), 930–934. Kissell, J. Randolph e Robert L. Ferry (2002). Aluminum structures : a guide to their specifications and design. J. Wiley, New York. Kopp, Joachim (2006). Efficient numerical diagonalization of hermitian 3x3 matrices. Int.J.Mod.Phys.C19:523-548,2008. Lee, C.K. e S.H. Lo (1997). Automatic adaptive refinement finite element procedure for 3D stress analysis. Finite Elements in Analysis and Design, 25(1–2), 135–166. 158 Bibliografia Lee, Nam-Sua e Klaus-Jurgen Bathe (1993). Effects of element distortions on the performance of isoparametric elements. International Journal for Numerical Methods in Engineering, 36(20), 3553–3576. Maciel, Rui (2010). M’s json parser. http://sourceforge.net/projects/mjson/. Marguerre, K. e H.-T. Woernle (1969). Elastic Plates. Blaisdell Publishing Company. OpenGL 2.1 (2010). Opengl 2.1. http://www.opengl.org/sdk/docs/man/. Pina, Heitor (1995). Métodos Numéricos. McGraw Hill. Popov, E. P. (1976). Mechanics of Materials. Prentice Hall, Inc., segunda edição. Qt 4.7 (2011). Qt 4.7. http://doc.qt.nokia.com/4.7/index.html. Reddy, J. N. (1993). An introduction to the finite element method. McGraw-Hill, segunda edição. Samuelsson, A. e O. C. Zienkiewicz (2006). History of the stiffness method. International Journal for Numerical Methods in Engineering, 67 (2), 149–157. Siek, Jeremy, Lie-Quan Lee e Andrew Lumsdaine (2000). Boost random number library. http://www.boost.org/libs/graph/. Sokolnikoff, I. S. (1956). Mathematical Theory of Elasticity. McGraw–Hill Book Company, Inc., New York. Taiebat, Hossein A. e John P. Carter (2001). Three-dimensional non-conforming elements. Technical report, Department of Civil Engineering Centre for Geotechnical Research, The University of Sydney. Timoshenko, Stephen P. e J. N. Goodier (1970). Theory of elasticity. McGraw–Hill, terceira edição. Timoshenko, Stephen P. e S. Woinowsky-Krieger (1959). Theory of plates and shells. McGraw Hill, segunda edição. Tovar de Lemos, A.F. (1985). Tensores Cartesianos. Lisboa, terceira edição. Tovar de Lemos, A.F. (1990). Mecânica dos Meios Contínuos. Lisboa. Vicente da Silva, M.J. (2002). Elementos Finitos Híbridos-Mistos de Tensão - Aplicação à análise de barragens abóboda. Dissertação de mestrado, Universidade Técnica de Lisboa. Šolín, Pavel (2006). Partial Differential Equations and the Finite Element Method. John Wiley & Sons, Ltd. Wilson, E. L. (1993). Automation of the finite element method — A personal historical view. Finite Elements in Analysis and Design, 13(2–3), 91–104. Wriggers, Peter (2008). Nonlinear finite element methods. Springer-Verlag, Berlin. Bibliografia Wunderlich, Walter e Walter D. Pilkey (2003). Mechanics of Structures: Variational and Computational methods. CRC Press, Lisboa, segunda edição. Zienkiewicz, O. C. e R. L. Taylor (2005). Finite Element Method for Solid and Structural Mechanics, volume 2. Elsevier Butterworth–Heinemann, sexta edição. Zienkiewicz, O. C., R. L. Taylor e J. Z. Zhu (2005). Finite Element Method: Its Basis and Fundamentals, volume 1. Elsevier Butterworth–Heinemann, sexta edição. 159