Ir para o conteúdo

Sistema de numeração dos elementos e biblioteca de funções de forma

A função de forma \(N_\alpha^e(\boldsymbol{r})\) introduzida em Funções de forma e aproximação por elementos finitos tem uma forma específica para cada tipo de elemento. Este capítulo classifica os grupos de elementos fornecidos pelo FrontISTR utilizando números de tipo de elemento de três algarismos e apresenta a interface da biblioteca de funções de forma para tratar cada elemento de forma uniforme. Os sistemas de coordenadas naturais e as funções de forma específicos dos elementos sólidos tridimensionais, bem como a conversão da ordenação dos nós intermédios de elementos de segunda ordem, são tratados em Funções de forma dos elementos sólidos tridimensionais, enquanto a orientação para selecionar tipos de elemento é apresentada em Biblioteca de elementos (funções).

Classificação e regras de nomenclatura dos elementos

Os tipos de elemento do FrontISTR são identificados por números de três algarismos. O significado de cada algarismo é o seguinte.

  • Primeiro algarismo (grupo de elementos): 1 = elemento de linha/treliça, 2 = elemento plano, 3 = elemento sólido, 5 = elemento de interface, 6 = elemento de viga, 7 = elemento de casca.
  • Segundo algarismo (forma básica): distingue a geometria dentro do grupo de elementos (triângulo, quadrilátero, tetraedro, prisma ou hexaedro).
  • Terceiro algarismo (ordem de interpolação): 1 = primeira ordem (apenas nós de canto), 2 = segunda ordem (incluindo nós intermédios). Como exceção, o elemento de treliça de dois nós tem o número 301.

Os elementos disponibilizados são apresentados por grupo de elementos na tabela seguinte.

Grupo de elementos Tipo de elemento Número de nós Descrição
Elemento de linha 111 2 Elemento de ligação de 2 nós (não disponível para análise de tensões)
112 3 Elemento de ligação de 3 nós (não disponível para análise de tensões)
Elemento plano 231 3 Elemento triangular linear de 3 nós
232 6 Elemento triangular quadrático de 6 nós
241 4 Elemento quadrilátero linear de 4 nós
242 8 Elemento quadrilátero quadrático de 8 nós (família Serendipity)
Elemento sólido 301 2 Elemento de treliça de 2 nós
341 4 Elemento tetraédrico linear de 4 nós
342 10 Elemento tetraédrico quadrático de 10 nós
351 6 Elemento prismático linear de 6 nós
352 15 Elemento prismático quadrático de 15 nós
361 8 Elemento hexaédrico linear de 8 nós
362 20 Elemento hexaédrico quadrático de 20 nós (família Serendipity)
Elemento de interface 541 4×2 Elemento de face quadrilátera linear de 4 nós (não disponível para análise de tensões)
542 8×2 Elemento de face quadrilátera quadrática de 8 nós (não disponível para análise de tensões)
Elemento de viga 611 2 Elemento de viga Bernoulli-Euler de 2 nós (6 GDL por nó)
641 2×2 Elemento de viga Bernoulli-Euler de 2 nós (3 GDL por nó, para GDL mistos)
Elemento de casca 731 3 Elemento de casca triangular MITC3 (6 GDL por nó)
741 4 Elemento de casca quadrilátero MITC4 (6 GDL por nó)
743 9 Elemento de casca quadrilátero MITC9 (6 GDL por nó)
761 3×2 Elemento de casca triangular MITC3 (3 GDL por nó, para GDL mistos)
781 4×2 Elemento de casca quadrilátero MITC4 (3 GDL por nó, para GDL mistos)

O elemento hexaédrico linear 361 dispõe de várias formulações (integração completa, modo incompatível, B-bar e F-bar), selecionadas através do controlo da análise. Para detalhes, consulte Formulações avançadas de elementos.

O elemento de viga 641 e os elementos de casca 761/781 são formulações destinadas a ligar elementos estruturais com 6 graus de liberdade a elementos sólidos com 3 graus de liberdade nos mesmos nós; um nó estrutural é representado por dois nós de 3 GDL. As próprias formulações são idênticas às versões correspondentes de 6 GDL (611, 731 e 741).

Biblioteca de funções de forma

As rotinas de cálculo dos elementos (construção da matriz de rigidez e do vetor de forças internas) não têm rotinas separadas para cada tipo de elemento. Em vez disso, chamam a biblioteca de funções de forma através de uma interface unificada que recebe o número do tipo de elemento fetype como argumento. O módulo elementInfo (fistr1/src/lib/element/element.f90) fornece as seguintes funções.

  • NumOfQuadPoints(fetype): devolve o número de pontos de integração \(n_q\) para o tipo de elemento.
  • getQuadPoint(fetype, np, pos): para o ponto de integração \(i\), devolve as coordenadas naturais \(\boldsymbol{r}_i\).
  • getWeight(fetype, np): para o ponto de integração \(i\), devolve o peso \(w_i\).
  • getShapeFunc(fetype, r, N): nas coordenadas naturais \(\boldsymbol{r}\), devolve os valores das funções de forma \(N_\alpha^e(\boldsymbol{r})\).
  • getShapeDeriv(fetype, r, dN): devolve as derivadas das funções de forma em relação às coordenadas naturais \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): dadas as coordenadas nodais do elemento \(\boldsymbol{X}^e\), devolve as derivadas em relação às coordenadas físicas \(\partial N_\alpha^e/\partial \boldsymbol{x}\) e o determinante jacobiano \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): devolvem o número de faces de fronteira do elemento e os números dos nós que constituem cada face. São usadas para construir cargas superficiais e superfícies de contacto.

Cada função ramifica internamente de acordo com o número do tipo de elemento e chama as sub-rotinas de função de forma e de derivadas das funções de forma dos módulos de nível inferior preparados para cada tipo de elemento (tet4n.f90, tet10n.f90, prism6n.f90, prism15n.f90, hex8n.f90, hex20n.f90, tri3n.f90, tri6n.f90, quad4n.f90, quad8n.f90, quad9n.f90, line2n.f90, line3n.f90). As tabelas numéricas das coordenadas e pesos dos pontos de integração estão reunidas em quadrature.f90. Para adicionar um novo tipo de elemento, implemente o módulo de nível inferior correspondente e adicione os respetivos ramos em cada função de elementInfo.

Conversão da ordenação dos nós intermédios de elementos triangulares quadráticos

No elemento triangular quadrático 232, a ordenação dos nós intermédios difere entre o formato de entrada de malha HEC-MW (que ordena primeiro os nós de canto à volta do elemento e depois os nós intermédios ao longo das arestas 1-2, 2-3, …) e o formato interno do FrontISTR assumido pelas funções de forma da biblioteca de elementos. A diferença entre os dois formatos é resolvida imediatamente após a leitura da malha por hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 e hecmw2fstr_connect_conv.c), que reordena os seis nós para \(\{1,2,3,6,4,5\}\) de acordo com a tabela de conversão Table232. Como a conversão é efetuada diretamente no array que armazena a conectividade dos elementos, todas as chamadas subsequentes à biblioteca de elementos utilizam a ordenação interna de nós do FrontISTR. Na saída dos resultados, a conversão inversa fstr2hecmw_mesh_conv repõe o formato HEC-MW antes da escrita, pelo que o utilizador apenas necessita de considerar o formato HEC-MW tanto na entrada como na saída.

Os elementos sólidos tridimensionais quadráticos 342 (tetraédrico) e 352 (prismático) têm conversões automáticas semelhantes, enquanto 362 (hexaédrico quadrático) não tem conversão. Consulte Funções de forma dos elementos sólidos tridimensionais para o respetivo tratamento. Para o elemento plano quadrilátero quadrático 242 e o elemento de interface 542, não é efetuada conversão porque a ordenação dos nós intermédios coincide entre o formato de entrada HEC-MW e o formato interno.

Tópicos relacionados