Preskočiť na obsah

Schéma číslovania prvkov a knižnica tvarových funkcií

Tvarová funkcia \(N_\alpha^e(\boldsymbol{r})\) uvedená v Tvarových funkciách a aproximácii metódou konečných prvkov má pre každý typ prvku špecifický tvar. Táto kapitola klasifikuje skupiny prvkov poskytované FrontISTR pomocou trojciferných čísel typov prvkov a uvádza rozhranie knižnice tvarových funkcií na jednotné spracovanie jednotlivých prvkov. Konkrétne prirodzené súradnicové systémy a tvarové funkcie trojrozmerných objemových prvkov, ako aj konverzia poradia stredových uzlov kvadratických prvkov, sú opísané v Tvarových funkciách trojrozmerných objemových prvkov, zatiaľ čo odporúčania na výber typov prvkov sú uvedené v Knižnici prvkov (funkcie).

Klasifikácia prvkov a pravidlá pomenovania

Typy prvkov FrontISTR sú identifikované trojcifernými číslami. Význam jednotlivých číslic je nasledujúci.

  • Prvá číslica (skupina prvku): 1 = čiarový/prútový prvok, 2 = rovinný prvok, 3 = objemový prvok, 5 = rozhraniový prvok, 6 = nosníkový prvok, 7 = škrupinový prvok.
  • Druhá číslica (základný tvar): rozlišuje geometrický tvar v rámci skupiny prvkov (trojuholník, štvoruholník, tetraéder, hranol alebo hexaéder).
  • Tretia číslica (rád interpolácie): 1 = prvý rád (iba rohové uzly), 2 = druhý rád (vrátane stredových uzlov). Výnimkou je dvojuzlový prútový prvok s číslom 301.

Dostupné prvky sú v nasledujúcej tabuľke zoradené podľa skupiny prvkov.

Skupina prvkov Typ prvku Počet uzlov Opis
Čiarový prvok 111 2 2-uzlový spojovací prvok (nie je dostupný pre analýzu napätí)
112 3 3-uzlový spojovací prvok (nie je dostupný pre analýzu napätí)
Rovinný prvok 231 3 3-uzlový lineárny trojuholníkový prvok
232 6 6-uzlový kvadratický trojuholníkový prvok
241 4 4-uzlový lineárny štvoruholníkový prvok
242 8 8-uzlový kvadratický štvoruholníkový prvok (rodina Serendipity)
Objemový prvok 301 2 2-uzlový prútový prvok
341 4 4-uzlový lineárny tetraedrický prvok
342 10 10-uzlový kvadratický tetraedrický prvok
351 6 6-uzlový lineárny hranolový prvok
352 15 15-uzlový kvadratický hranolový prvok
361 8 8-uzlový lineárny hexaedrický prvok
362 20 20-uzlový kvadratický hexaedrický prvok (rodina Serendipity)
Rozhraniový prvok 541 4×2 4-uzlový lineárny prvok so štvoruholníkovou stenou (nie je dostupný pre analýzu napätí)
542 8×2 8-uzlový kvadratický prvok so štvoruholníkovou stenou (nie je dostupný pre analýzu napätí)
Nosníkový prvok 611 2 2-uzlový Bernoulliho-Eulerov nosníkový prvok (6 stupňov voľnosti na uzol)
641 2×2 2-uzlový Bernoulliho-Eulerov nosníkový prvok (3 stupne voľnosti na uzol, pre zmiešané stupne voľnosti)
Škrupinový prvok 731 3 trojuholníkový škrupinový prvok MITC3 (6 stupňov voľnosti na uzol)
741 4 štvoruholníkový škrupinový prvok MITC4 (6 stupňov voľnosti na uzol)
743 9 štvoruholníkový škrupinový prvok MITC9 (6 stupňov voľnosti na uzol)
761 3×2 trojuholníkový škrupinový prvok MITC3 (3 stupne voľnosti na uzol, pre zmiešané stupne voľnosti)
781 4×2 štvoruholníkový škrupinový prvok MITC4 (3 stupne voľnosti na uzol, pre zmiešané stupne voľnosti)

Lineárny hexaedrický prvok 361 má viacero formulácií (úplná integrácia, nekompatibilný mód, B-bar a F-bar), ktoré sa vyberajú prostredníctvom riadenia analýzy. Podrobnosti nájdete v Pokročilých formuláciách prvkov.

Nosníkový prvok 641 a škrupinové prvky 761/781 sú formulácie na spojenie konštrukčných prvkov so 6 stupňami voľnosti s objemovými prvkami s 3 stupňami voľnosti v rovnakých uzloch; jeden konštrukčný uzol je reprezentovaný dvoma uzlami s 3 stupňami voľnosti. Samotné formulácie sú totožné so zodpovedajúcimi verziami so 6 stupňami voľnosti (611, 731 a 741).

Knižnica tvarových funkcií

Výpočtové rutiny prvkov (zostavenie matice tuhosti a vektora vnútorných síl) nemajú samostatné rutiny pre každý typ prvku. Namiesto toho volajú knižnicu tvarových funkcií cez jednotné rozhranie, ktoré prijíma číslo typu prvku fetype ako argument. Modul elementInfo (fistr1/src/lib/element/element.f90) poskytuje nasledujúce funkcie.

  • NumOfQuadPoints(fetype): vracia počet integračných bodov \(n_q\) pre daný typ prvku.
  • getQuadPoint(fetype, np, pos): vracia prirodzené súradnice \(\boldsymbol{r}_i\) integračného bodu \(i\).
  • getWeight(fetype, np): vracia váhu \(w_i\) integračného bodu \(i\).
  • getShapeFunc(fetype, r, N): vracia hodnoty tvarových funkcií \(N_\alpha^e(\boldsymbol{r})\) v prirodzených súradniciach \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): vracia derivácie tvarových funkcií podľa prirodzených súradníc \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): pre zadané uzlové súradnice prvku \(\boldsymbol{X}^e\) vracia derivácie podľa fyzikálnych súradníc \(\partial N_\alpha^e/\partial \boldsymbol{x}\) a determinant Jacobiánu \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): vracajú počet hraničných stien prvku a čísla uzlov tvoriacich každú stenu. Používajú sa na zostavenie plošných zaťažení a kontaktných plôch.

Každá funkcia sa interne vetví podľa čísla typu prvku a volá podprogramy tvarových funkcií a ich derivácií v nižších moduloch poskytovaných pre jednotlivé typy prvkov (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). Číselné tabuľky súradníc integračných bodov a váh sú sústredené v quadrature.f90. Pri pridávaní nového typu prvku implementujte zodpovedajúci nižší modul a pridajte jeho vetvy do každej funkcie v elementInfo.

Konverzia poradia stredových uzlov kvadratických trojuholníkových prvkov

Pri kvadratickom trojuholníkovom prvku 232 sa poradie stredových uzlov líši medzi vstupným formátom siete HEC-MW (ktorý usporiada rohové uzly okolo prvku a potom stredové uzly pozdĺž hrán 1-2, 2-3, …) a interným formátom FrontISTR predpokladaným tvarovými funkciami v knižnici prvkov. Rozdiel medzi oboma formátmi sa vyrieši bezprostredne po načítaní siete pomocou hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 a hecmw2fstr_connect_conv.c), ktorý podľa konverznej tabuľky Table232 zmení poradie šiestich uzlov na \(\{1,2,3,6,4,5\}\). Keďže sa konverzia vykonáva priamo v poli uchovávajúcom konektivitu prvkov, všetky následné volania knižnice prvkov používajú interné poradie uzlov FrontISTR. Pri výstupe výsledkov inverzná konverzia fstr2hecmw_mesh_conv pred zápisom obnoví formát HEC-MW, takže používateľom stačí poznať formát HEC-MW pre vstup aj výstup.

Kvadratické trojrozmerné objemové prvky 342 (tetraedrický) a 352 (hranolový) majú podobné automatické konverzie, zatiaľ čo pri prvku 362 (kvadratický hexaedrický) sa konverzia nevykonáva. Ich spracovanie nájdete v Tvarových funkciách trojrozmerných objemových prvkov. Pri kvadratickom rovinnom štvoruholníkovom prvku 242 a rozhraniovom prvku 542 sa konverzia nevykonáva, pretože poradie stredových uzlov je vo vstupnom formáte HEC-MW rovnaké ako v internom formáte.

Súvisiace témy

AI-assisted translation May contain errors Official docs Status