Preskočiť na obsah

Translation update pending

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

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ý nosníkový prvok (6 stupňov voľnosti na uzol; Bernoulliho-Eulerov alebo Timoshenkov nosník)
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). Prvok 641 však podporuje iba Bernoulliho-Eulerov nosník a nepodporuje Timoshenkov nosník, ktorý možno zvoliť pre 611.

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