Přeskočit obsah

Translation update pending

The Czech translation may be out of date because the Japanese source has changed. The existing translation remains available while it is being updated.

Schéma číslování prvků a knihovna tvarových funkcí

Tvarová funkce \(N_\alpha^e(\boldsymbol{r})\) zavedená v části Tvarové funkce a aproximace metodou konečných prvků má pro každý typ prvku konkrétní tvar. Tato kapitola klasifikuje skupiny prvků poskytované FrontISTR pomocí trojciferných čísel typů prvků a představuje rozhraní knihovny tvarových funkcí pro jednotné zacházení s jednotlivými prvky. Konkrétní přirozené souřadnicové systémy a tvarové funkce trojrozměrných objemových prvků, stejně jako převod pořadí středových uzlů u kvadratických prvků, jsou popsány v části Tvarové funkce trojrozměrných objemových prvků, zatímco pokyny k výběru typů prvků jsou uvedeny v části Knihovna prvků (funkce).

Klasifikace prvků a pravidla pojmenování

Typy prvků FrontISTR jsou označovány trojcifernými čísly. Význam jednotlivých číslic je následující.

  • První číslice (skupina prvků): 1 = čárový prvek/příhradový prvek, 2 = rovinný prvek, 3 = objemový prvek, 5 = rozhranový prvek, 6 = nosníkový prvek, 7 = skořepinový prvek.
  • Druhá číslice (základní tvar): rozlišuje geometrický tvar v rámci skupiny prvků (trojúhelník, čtyřúhelník, čtyřstěn, hranol nebo šestistěn).
  • Třetí číslice (řád interpolace): 1 = první řád (pouze rohové uzly), 2 = druhý řád (včetně středových uzlů hran). Výjimkou je dvouuzlový příhradový prvek s číslem 301.

Poskytované prvky jsou podle skupin uvedeny v následující tabulce.

Skupina prvků Typ prvku Počet uzlů Popis
Čárový prvek 111 2 2uzlový spojovací prvek (není dostupný pro analýzu napětí)
112 3 3uzlový spojovací prvek (není dostupný pro analýzu napětí)
Rovinný prvek 231 3 3uzlový lineární trojúhelníkový prvek
232 6 6uzlový kvadratický trojúhelníkový prvek
241 4 4uzlový lineární čtyřúhelníkový prvek
242 8 8uzlový kvadratický čtyřúhelníkový prvek (Serendipity rodina)
Objemový prvek 301 2 2uzlový příhradový prvek
341 4 4uzlový lineární čtyřstěnný prvek
342 10 10uzlový kvadratický čtyřstěnný prvek
351 6 6uzlový lineární hranolový prvek
352 15 15uzlový kvadratický hranolový prvek
361 8 8uzlový lineární šestistěnný prvek
362 20 20uzlový kvadratický šestistěnný prvek (Serendipity rodina)
Rozhranový prvek 541 4×2 lineární prvek se čtyřúhelníkovou stykovou plochou (není dostupný pro analýzu napětí)
542 8×2 kvadratický prvek se čtyřúhelníkovou stykovou plochou (není dostupný pro analýzu napětí)
Nosníkový prvek 611 2 2uzlový nosníkový prvek (6 stupňů volnosti na uzel; Bernoulli-Eulerův nebo Timoshenkův nosník)
641 2×2 2uzlový Bernoulli-Eulerův nosníkový prvek (3 stupně volnosti na uzel, pro smíšené stupně volnosti)
Skořepinový prvek 731 3 Trojúhelníkový skořepinový prvek MITC3 (6 stupňů volnosti na uzel)
741 4 Čtyřúhelníkový skořepinový prvek MITC4 (6 stupňů volnosti na uzel)
743 9 Čtyřúhelníkový skořepinový prvek MITC9 (6 stupňů volnosti na uzel)
761 3×2 Trojúhelníkový skořepinový prvek MITC3 (3 stupně volnosti na uzel, pro smíšené stupně volnosti)
781 4×2 Čtyřúhelníkový skořepinový prvek MITC4 (3 stupně volnosti na uzel, pro smíšené stupně volnosti)

Lineární šestistěnný prvek 361 má několik formulací (plná integrace, nekompatibilní mód, B-bar a F-bar), které se volí prostřednictvím řízení analýzy. Podrobnosti viz Pokročilé formulace prvků.

Nosníkový prvek 641 a skořepinové prvky 761/781 jsou formulace pro spojení konstrukčních prvků se 6 stupni volnosti s objemovými prvky se 3 stupni volnosti ve stejných uzlech; jeden konstrukční uzel je reprezentován dvěma uzly se 3 stupni volnosti. Samotné formulace jsou shodné s odpovídajícími verzemi se 6 stupni volnosti (611, 731 a 741). Prvek 641 však podporuje pouze Bernoulli-Eulerovu formulaci nosníku a nepodporuje Timoshenkovu formulaci nosníku dostupnou pro 611.

Knihovna tvarových funkcí

Výpočetní rutiny prvků (sestavení matice tuhosti a vektoru vnitřních sil) nemají samostatné rutiny pro každý typ prvku. Místo toho volají knihovnu tvarových funkcí prostřednictvím jednotného rozhraní, které přijímá číslo typu prvku fetype jako argument. Modul elementInfo (fistr1/src/lib/element/element.f90) poskytuje následující funkce.

  • NumOfQuadPoints(fetype): vrací počet integračních bodů \(n_q\) pro daný typ prvku.
  • getQuadPoint(fetype, np, pos): vrací přirozené souřadnice \(\boldsymbol{r}_i\) integračního bodu \(i\).
  • getWeight(fetype, np): vrací váhu \(w_i\) integračního bodu \(i\).
  • getShapeFunc(fetype, r, N): vrací hodnoty tvarových funkcí \(N_\alpha^e(\boldsymbol{r})\) v přirozených souřadnicích \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): vrací derivace tvarových funkcí podle přirozených souřadnic \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): pro zadané uzlové souřadnice prvku \(\boldsymbol{X}^e\) vrací derivace podle fyzikálních souřadnic \(\partial N_\alpha^e/\partial \boldsymbol{x}\) a determinant Jacobiánu \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): vracejí počet hraničních ploch prvku a čísla uzlů tvořících jednotlivé plochy. Používají se k sestavení povrchových zatížení a kontaktních ploch.

Každá funkce se interně větví podle čísla typu prvku a volá podprogramy tvarových funkcí a jejich derivací v modulech nižší úrovně poskytovaných pro jednotlivé typy prvků (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). Numerické tabulky souřadnic integračních bodů a vah jsou soustředěny v quadrature.f90. Chcete-li přidat nový typ prvku, implementujte odpovídající modul nižší úrovně a přidejte pro něj větve do jednotlivých funkcí v elementInfo.

Převod pořadí středových uzlů kvadratických trojúhelníkových prvků

U kvadratického trojúhelníkového prvku 232 se pořadí středových uzlů hran liší mezi vstupním formátem sítě HEC-MW (který řadí nejprve rohové uzly po obvodu prvku a poté středové uzly na hranách 1-2, 2-3, …) a interním formátem FrontISTR předpokládaným tvarovými funkcemi v knihovně prvků. Rozdíl mezi oběma formáty se vyřeší bezprostředně po načtení sítě funkcí hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 a hecmw2fstr_connect_conv.c), která podle převodní tabulky Table232 přeuspořádá šest uzlů do pořadí \(\{1,2,3,6,4,5\}\). Protože se převod provede přímo v poli uchovávajícím konektivitu prvků, všechna následná volání knihovny prvků používají interní pořadí uzlů FrontISTR. Při výstupu výsledků inverzní převod fstr2hecmw_mesh_conv před zápisem obnoví formát HEC-MW, takže uživatelé potřebují pro vstup i výstup znát pouze formát HEC-MW.

Kvadratické trojrozměrné objemové prvky 342 (čtyřstěnný) a 352 (hranolový) používají obdobné automatické převody, zatímco 362 (kvadratický šestistěnný) žádný převod nemá. Jejich zpracování viz Tvarové funkce trojrozměrných objemových prvků. U kvadratického rovinného čtyřúhelníkového prvku 242 a rozhranového prvku 542 se převod neprovádí, protože pořadí středových uzlů je ve vstupním formátu HEC-MW a v interním formátu shodné.

Související témata