Saltar a contenido

Esquema de numeración de elementos y biblioteca de funciones de forma

La función de forma \(N_\alpha^e(\boldsymbol{r})\) introducida en Funciones de forma y aproximación por elementos finitos tiene una forma específica para cada tipo de elemento. Este capítulo clasifica los grupos de elementos proporcionados por FrontISTR mediante números de tipo de elemento de tres dígitos y presenta la interfaz de la biblioteca de funciones de forma que permite tratar cada elemento de manera uniforme. Los sistemas de coordenadas naturales y las funciones de forma concretas de los elementos sólidos tridimensionales, así como la conversión del orden de los nodos intermedios de los elementos cuadráticos, se tratan en Funciones de forma de elementos sólidos tridimensionales, mientras que los criterios para seleccionar tipos de elementos se proporcionan en Biblioteca de elementos (Funciones).

Clasificación de elementos y reglas de nomenclatura

Los tipos de elementos de FrontISTR se identifican mediante números de tres dígitos. El significado de cada dígito es el siguiente.

  • Primer dígito (grupo de elementos): 1 = elemento de línea/celosía, 2 = elemento plano, 3 = elemento sólido, 5 = elemento de interfaz, 6 = elemento de viga, 7 = elemento de lámina.
  • Segundo dígito (forma básica): distingue la forma geométrica dentro del grupo de elementos (triángulo, cuadrilátero, tetraedro, prisma o hexaedro).
  • Tercer dígito (orden de interpolación): 1 = primer orden (solo nodos de esquina), 2 = segundo orden (incluidos nodos intermedios). Como excepción, el elemento de celosía de dos nodos tiene el número 301.

Los elementos proporcionados se enumeran por grupo de elementos en la tabla siguiente.

Grupo de elementos Tipo de elemento Número de nodos Descripción
Elemento de línea 111 2 Elemento de enlace de 2 nodos (no disponible para análisis de tensiones)
112 3 Elemento de enlace de 3 nodos (no disponible para análisis de tensiones)
Elemento plano 231 3 Elemento triangular lineal de 3 nodos
232 6 Elemento triangular cuadrático de 6 nodos
241 4 Elemento cuadrilateral lineal de 4 nodos
242 8 Elemento cuadrilateral cuadrático de 8 nodos (familia serendípita)
Elemento sólido 301 2 Elemento de celosía de 2 nodos
341 4 Elemento tetraédrico lineal de 4 nodos
342 10 Elemento tetraédrico cuadrático de 10 nodos
351 6 Elemento prismático lineal de 6 nodos
352 15 Elemento prismático cuadrático de 15 nodos
361 8 Elemento hexaédrico lineal de 8 nodos
362 20 Elemento hexaédrico cuadrático de 20 nodos (familia serendípita)
Elemento de interfaz 541 4×2 Elemento lineal de cara cuadrilateral de 4 nodos (no disponible para análisis de tensiones)
542 8×2 Elemento cuadrático de cara cuadrilateral de 8 nodos (no disponible para análisis de tensiones)
Elemento de viga 611 2 Elemento de viga Bernoulli-Euler de 2 nodos (6 GDL por nodo)
641 2×2 Elemento de viga Bernoulli-Euler de 2 nodos (3 GDL por nodo, para GDL mixtos)
Elemento de lámina 731 3 Elemento de lámina triangular MITC3 (6 GDL por nodo)
741 4 Elemento de lámina cuadrilateral MITC4 (6 GDL por nodo)
743 9 Elemento de lámina cuadrilateral MITC9 (6 GDL por nodo)
761 3×2 Elemento de lámina triangular MITC3 (3 GDL por nodo, para GDL mixtos)
781 4×2 Elemento de lámina cuadrilateral MITC4 (3 GDL por nodo, para GDL mixtos)

El elemento hexaédrico lineal 361 tiene varias formulaciones (integración completa, modo incompatible, B-bar y F-bar), que se seleccionan mediante el control del análisis. Para obtener más detalles, consulte Formulaciones avanzadas de elementos.

El elemento de viga 641 y los elementos de lámina 761/781 son formulaciones para conectar elementos estructurales con 6 grados de libertad a elementos sólidos con 3 grados de libertad en los mismos nodos; un nodo estructural se representa mediante dos nodos de 3 GDL. Las propias formulaciones son idénticas a las versiones correspondientes de 6 GDL (611, 731 y 741).

Biblioteca de funciones de forma

Las rutinas de cálculo de elementos (construcción de la matriz de rigidez y del vector de fuerzas internas) no disponen de rutinas separadas para cada tipo de elemento. En su lugar, llaman a la biblioteca de funciones de forma a través de una interfaz unificada que recibe como argumento el número de tipo de elemento fetype. El módulo elementInfo (fistr1/src/lib/element/element.f90) proporciona las funciones siguientes.

  • NumOfQuadPoints(fetype): devuelve el número de puntos de integración \(n_q\) para el tipo de elemento.
  • getQuadPoint(fetype, np, pos): devuelve las coordenadas naturales \(\boldsymbol{r}_i\) del punto de integración \(i\).
  • getWeight(fetype, np): devuelve el peso \(w_i\) del punto de integración \(i\).
  • getShapeFunc(fetype, r, N): devuelve los valores de las funciones de forma \(N_\alpha^e(\boldsymbol{r})\) en las coordenadas naturales \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): devuelve las derivadas respecto a coordenadas naturales \(\partial N_\alpha^e/\partial \boldsymbol{r}\) de las funciones de forma.
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): dadas las coordenadas nodales del elemento \(\boldsymbol{X}^e\), devuelve las derivadas respecto a coordenadas físicas \(\partial N_\alpha^e/\partial \boldsymbol{x}\) y el determinante jacobiano \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): devuelven el número de caras de contorno del elemento y los números de nodo que forman cada cara. Se utilizan para construir cargas superficiales y superficies de contacto.

Cada función se bifurca internamente según el número de tipo de elemento y llama a las subrutinas de función de forma y derivadas de función de forma de módulos de nivel inferior proporcionados 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). Las tablas numéricas de coordenadas y pesos de los puntos de integración se consolidan en quadrature.f90. Para añadir un nuevo tipo de elemento, implemente el módulo de nivel inferior correspondiente y añada bifurcaciones para él en cada función de elementInfo.

Conversión del orden de nodos intermedios para elementos triangulares cuadráticos

Para el elemento triangular cuadrático 232, el orden de los nodos intermedios difiere entre el formato de entrada de malla HEC-MW (que ordena primero los nodos de esquina alrededor del elemento y después los nodos intermedios a lo largo de las aristas 1-2, 2-3, …) y el formato interno de FrontISTR supuesto por las funciones de forma de la biblioteca de elementos. La diferencia entre ambos formatos se resuelve inmediatamente después de cargar la malla mediante hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 y hecmw2fstr_connect_conv.c), que reordena los seis nodos como \(\{1,2,3,6,4,5\}\) de acuerdo con la tabla de conversión Table232. Como la conversión se realiza directamente sobre el array que almacena la conectividad de los elementos, todas las llamadas posteriores a la biblioteca de elementos utilizan el orden interno de nodos de FrontISTR. Al generar resultados, la conversión inversa fstr2hecmw_mesh_conv restaura el formato HEC-MW antes de escribir, por lo que los usuarios solo necesitan conocer el formato HEC-MW tanto para la entrada como para la salida.

Los elementos sólidos tridimensionales cuadráticos 342 (tetraédrico) y 352 (prismático) tienen conversiones automáticas similares, mientras que 362 (hexaédrico cuadrático) no tiene conversión. Consulte Funciones de forma de elementos sólidos tridimensionales para conocer su tratamiento. Para el elemento plano cuadrilateral cuadrático 242 y el elemento de interfaz 542, no se realiza conversión porque el orden de los nodos intermedios es el mismo en el formato de entrada HEC-MW y en el formato interno.

Temas relacionados