Esquema de numeração de elementos e biblioteca de funções de forma¶
A função de forma \(N_\alpha^e(\boldsymbol{r})\) apresentada em Funções de forma e aproximação por elementos finitos possui uma forma específica para cada tipo de elemento. Este capítulo classifica os grupos de elementos fornecidos pelo FrontISTR usando números de tipo de elemento com três dígitos e apresenta a interface da biblioteca de funções de forma para tratar cada elemento de maneira uniforme. Os sistemas específicos de coordenadas naturais e as funções de forma dos elementos sólidos tridimensionais, bem como a conversão da ordenação dos nós intermediários de elementos quadráticos, são abordados em Funções de forma de elementos sólidos tridimensionais, enquanto as orientações para seleção dos tipos de elemento são fornecidas em Biblioteca de elementos (Funções).
Classificação dos elementos e regras de nomenclatura¶
Os tipos de elemento do FrontISTR são identificados por números de três dígitos. O significado de cada dígito é o seguinte.
- Primeiro dígito (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 dígito (forma básica): distingue a forma geométrica dentro do grupo de elementos (triângulo, quadrilátero, tetraedro, prisma ou hexaedro).
- Terceiro dígito (ordem de interpolação): 1 = primeira ordem (somente nós de vértice), 2 = segunda ordem (incluindo nós intermediários). Como exceção, o elemento de treliça de dois nós tem o número 301.
Os elementos fornecidos são listados por grupo de elementos na tabela abaixo.
| 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 quadrilateral linear de 4 nós | |
| 242 | 8 | Elemento quadrilateral 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 quadrilateral linear de 4 nós (não disponível para análise de tensões) |
| 542 | 8×2 | Elemento de face quadrilateral quadrático de 8 nós (não disponível para análise de tensões) | |
| Elemento de viga | 611 | 2 | Elemento de viga de Bernoulli-Euler de 2 nós (6 DOFs por nó) |
| 641 | 2×2 | Elemento de viga de Bernoulli-Euler de 2 nós (3 DOFs por nó, para DOFs mistos) | |
| Elemento de casca | 731 | 3 | Elemento de casca triangular MITC3 (6 DOFs por nó) |
| 741 | 4 | Elemento de casca quadrilateral MITC4 (6 DOFs por nó) | |
| 743 | 9 | Elemento de casca quadrilateral MITC9 (6 DOFs por nó) | |
| 761 | 3×2 | Elemento de casca triangular MITC3 (3 DOFs por nó, para DOFs mistos) | |
| 781 | 4×2 | Elemento de casca quadrilateral MITC4 (3 DOFs por nó, para DOFs mistos) |
O elemento hexaédrico linear 361 possui várias formulações (integração completa, modo incompatível, B-bar e F-bar), selecionadas por meio do controle da análise. Para obter detalhes, consulte Formulações avançadas de elementos.
O elemento de viga 641 e os elementos de casca 761/781 são formulações para conectar 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 com 3 DOFs. As formulações em si são idênticas às versões correspondentes com 6 DOFs (611, 731 e 741).
Biblioteca de funções de forma¶
As rotinas de cálculo de elementos (construção da matriz de rigidez e do vetor de forças internas) não possuem rotinas separadas para cada tipo de elemento. Em vez disso, elas chamam a biblioteca de funções de forma por meio 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): retorna o número de pontos de integração \(n_q\) para o tipo de elemento.getQuadPoint(fetype, np, pos): retorna as coordenadas naturais \(\boldsymbol{r}_i\) do ponto de integração \(i\).getWeight(fetype, np): retorna o peso \(w_i\) do ponto de integração \(i\).getShapeFunc(fetype, r, N): retorna os valores das funções de forma \(N_\alpha^e(\boldsymbol{r})\) nas coordenadas naturais \(\boldsymbol{r}\).getShapeDeriv(fetype, r, dN): retorna as derivadas em coordenadas naturais \(\partial N_\alpha^e/\partial \boldsymbol{r}\) das funções de forma.getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): dadas as coordenadas nodais do elemento \(\boldsymbol{X}^e\), retorna as derivadas em coordenadas físicas \(\partial N_\alpha^e/\partial \boldsymbol{x}\) e o determinante jacobiano \(J\).getNumberOfSubface(fetype),getSubFace(fetype, k, ...): retornam o número de faces de contorno do elemento e os números dos nós que constituem cada face. São usadas para construir cargas de superfície e superfícies de contato.
Cada função faz ramificações internas de acordo com o número do tipo de elemento e chama as sub-rotinas de função de forma e de derivadas da função de forma nos módulos de nível inferior fornecidos 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 de coordenadas e pesos dos pontos de integração estão consolidadas em quadrature.f90. Para adicionar um novo tipo de elemento, implemente o módulo de nível inferior correspondente e adicione ramificações para ele em cada função de elementInfo.
Conversão da ordenação dos nós intermediários de elementos triangulares quadráticos¶
Para o elemento triangular quadrático 232, a ordenação dos nós intermediários difere entre o formato de entrada de malha HEC-MW (que ordena os nós de vértice ao redor do elemento e, em seguida, os nós intermediários ao longo das arestas 1-2, 2-3, …) e o formato interno do FrontISTR assumido pelas funções de forma na biblioteca de elementos. A diferença entre os dois formatos é resolvida imediatamente após o carregamento 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 é executada diretamente no array que armazena a conectividade dos elementos, todas as chamadas subsequentes à biblioteca de elementos usam a ordenação interna de nós do FrontISTR. Na saída dos resultados, a conversão inversa fstr2hecmw_mesh_conv restaura o formato HEC-MW antes da gravação; portanto, os usuários precisam considerar apenas o formato HEC-MW tanto na entrada quanto na saída.
Os elementos sólidos tridimensionais quadráticos 342 (tetraédrico) e 352 (prismático) possuem conversões automáticas semelhantes, enquanto o 362 (hexaédrico quadrático) não possui conversão. Consulte Funções de forma de elementos sólidos tridimensionais para o tratamento desses elementos. Para o elemento quadrilateral plano quadrático 242 e o elemento de interface 542, nenhuma conversão é realizada porque a ordenação dos nós intermediários é a mesma no formato de entrada HEC-MW e no formato interno.
Tópicos relacionados¶
- Funções de forma e aproximação por elementos finitos — Definição matemática das funções de forma
- Integração numérica — Pontos de integração, pesos e forma aproximada da integração dos elementos
- Funções de forma de elementos sólidos tridimensionais — Coordenadas naturais e funções de forma específicas de elementos sólidos contínuos
- Formulações avançadas de elementos — B-bar / F-bar / modo incompatível / casca / viga
- Biblioteca de elementos (Funções) — Opções de tipos de elemento e orientações para seleção