Salta el contingut

Sistema de numeració d’elements i biblioteca de funcions de forma

La forma concreta de les funcions de forma \(N_\alpha^e(\boldsymbol{r})\) introduïdes a Funcions de forma i aproximació per elements finits varia segons el tipus d’element. Aquest capítol classifica els grups d’elements que proporciona FrontISTR mitjançant números de tipus d’element de tres dígits i presenta la interfície de la biblioteca de funcions de forma per tractar-los de manera unificada. Per a les coordenades naturals i les formes concretes de les funcions de forma dels elements sòlids tridimensionals, així com per a la conversió de l’ordre dels nodes intermedis dels elements quadràtics, consulteu Funcions de forma dels elements sòlids tridimensionals; per a una guia de selecció del tipus d’element, consulteu Biblioteca d’elements (funcions).

Classificació dels elements i convencions de nomenclatura

Els tipus d’element de FrontISTR s’identifiquen mitjançant un número de tres dígits. El significat de cada dígit és el següent.

  • 1r dígit (grup d’elements): 1=elements de línia i encavallada, 2=elements plans, 3=elements sòlids, 5=elements d’interfície, 6=elements de biga, 7=elements de closca.
  • 2n dígit (forma bàsica): distingeix la geometria dins del grup d’elements (triangle, quadrilàter, tetraedre, prisma triangular i hexaedre).
  • 3r dígit (ordre d’interpolació): 1=primer ordre (només nodes de vèrtex), 2=segon ordre (inclou nodes intermedis). Com a excepció, l’element d’encavallada de 2 nodes té el número 301.

La taula següent mostra els elements disponibles agrupats per grup d’elements.

Grup d’elements Tipus d’element Nombre de nodes Descripció
Elements de línia 111 2 Element d’enllaç de 2 nodes (no disponible per a l’anàlisi de tensions)
112 3 Element d’enllaç de 3 nodes (no disponible per a l’anàlisi de tensions)
Elements plans 231 3 Element triangular de primer ordre
232 6 Element triangular de segon ordre
241 4 Element quadrilàter de primer ordre
242 8 Element quadrilàter de segon ordre (família Serendipity)
Elements sòlids 301 2 Element d’encavallada de 2 nodes
341 4 Element tetraèdric de primer ordre
342 10 Element tetraèdric de segon ordre
351 6 Element de prisma triangular de primer ordre
352 15 Element de prisma triangular de segon ordre
361 8 Element hexaèdric de primer ordre
362 20 Element hexaèdric de segon ordre (família Serendipity)
Elements d’interfície 541 4×2 Element de superfície quadrilàtera de primer ordre (no disponible per a l’anàlisi de tensions)
542 8×2 Element de superfície quadrilàtera de segon ordre (no disponible per a l’anàlisi de tensions)
Elements de biga 611 2 Element de biga Bernoulli-Euler de 2 nodes (6 graus de llibertat per node)
641 2×2 Element de biga Bernoulli-Euler de 2 nodes (3 graus de llibertat per node, per combinar graus de llibertat)
Elements de closca 731 3 Element de closca triangular MITC3 (6 graus de llibertat per node)
741 4 Element de closca quadrilàter MITC4 (6 graus de llibertat per node)
743 9 Element de closca quadrilàter MITC9 (6 graus de llibertat per node)
761 3×2 Element de closca triangular MITC3 (3 graus de llibertat per node, per combinar graus de llibertat)
781 4×2 Element de closca quadrilàter MITC4 (3 graus de llibertat per node, per combinar graus de llibertat)

L’element hexaèdric de primer ordre 361 disposa de diverses formulacions (integració completa, incompatible, B-bar i F-bar), seleccionables des del control de l’anàlisi. Per als detalls, consulteu Formulacions d’elements d’alt rendiment.

Els elements de biga 641 i els elements de closca 761/781 són formulacions per connectar elements estructurals de 6 graus de llibertat amb elements sòlids de 3 graus de llibertat als mateixos nodes; un node estructural es representa mitjançant dos nodes de 3 graus de llibertat. La formulació en si és la mateixa que la de les versions corresponents de 6 graus de llibertat (611, 731 i 741).

Biblioteca de funcions de forma

Les rutines de càlcul d’elements (construcció de la matriu de rigidesa i del vector de forces internes) no tenen una rutina separada per a cada tipus d’element, sinó que invoquen la biblioteca de funcions de forma a través d’una interfície unificada que rep com a argument el número de tipus d’element fetype. El mòdul elementInfo (fistr1/src/lib/element/element.f90) proporciona les funcions següents.

  • NumOfQuadPoints(fetype): retorna el nombre de punts d’integració \(n_q\) per al tipus d’element.
  • getQuadPoint(fetype, np, pos): retorna les coordenades naturals \(\boldsymbol{r}_i\) del punt d’integració \(i\).
  • getWeight(fetype, np): retorna el pes \(w_i\) del punt d’integració \(i\).
  • getShapeFunc(fetype, r, N): retorna el valor de la funció de forma \(N_\alpha^e(\boldsymbol{r})\) a les coordenades naturals \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): retorna les derivades de la funció de forma respecte de les coordenades naturals \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): donades les coordenades nodals de l’element \(\boldsymbol{X}^e\), retorna les derivades respecte de les coordenades físiques \(\partial N_\alpha^e/\partial \boldsymbol{x}\) i el determinant jacobià \(J\).
  • getNumberOfSubface(fetype) i getSubFace(fetype, k, ...): retornen el nombre de superfícies de contorn de l’element i els números dels nodes que formen cada superfície. S’utilitzen per construir càrregues superficials i superfícies de contacte.

Cada funció es ramifica internament segons el número de tipus d’element i invoca les subrutines de funcions de forma i derivades de funcions de forma dels mòduls inferiors preparats per a cada tipus d’element (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). Les taules numèriques de coordenades i pesos dels punts d’integració es concentren a quadrature.f90. Per afegir un tipus d’element nou, implementeu el mòdul inferior corresponent i afegiu-lo a les ramificacions de cada funció d’elementInfo.

Conversió de l’ordre dels nodes intermedis dels elements triangulars de segon ordre

En l’element triangular de segon ordre 232, l’ordre dels nodes intermedis difereix entre el format d’entrada de malla HEC-MW (convenció en què, després de recórrer els nodes de vèrtex, els nodes intermedis s’ordenen segons les arestes 1-2, 2-3, …) i el format intern de FrontISTR pressupostat per les funcions de forma de la biblioteca d’elements. Aquesta diferència es resol amb hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 i hecmw2fstr_connect_conv.c), invocat immediatament després de llegir la malla, que reordena els sis nodes com \(\{1,2,3,6,4,5\}\) segons la taula de conversió Table232. Com que la conversió es fa directament sobre la matriu que emmagatzema la connectivitat dels elements, totes les crides posteriors a la biblioteca d’elements utilitzen l’ordre intern de nodes de FrontISTR. En escriure els resultats, la conversió inversa fstr2hecmw_mesh_conv retorna les dades al format HEC-MW abans de la sortida; per tant, l’usuari només ha de tenir en compte el format HEC-MW tant per a l’entrada com per a la sortida.

Els elements sòlids tridimensionals 342 (tetraèdric de segon ordre) i 352 (prisma triangular de segon ordre) també disposen d’una conversió automàtica del mateix tipus, mentre que el 362 (hexaèdric de segon ordre) no en té. Per al tractament d’aquests elements, consulteu Funcions de forma dels elements sòlids tridimensionals. En l’element pla quadrilàter de segon ordre 242 i l’element d’interfície 542, l’ordre dels nodes intermedis coincideix entre el format d’entrada HEC-MW i el format intern, de manera que no es fa cap conversió.

Temes relacionats

AI-assisted translation May contain errors Official docs Status