Skoči na vsebino

Sistem oštevilčenja elementov in knjižnica oblikovnih funkcij

Oblikovna funkcija \(N_\alpha^e(\boldsymbol{r})\), uvedena v Oblikovnih funkcijah in aproksimaciji z metodo končnih elementov, ima za vsako vrsto elementa posebno obliko. To poglavje razvršča skupine elementov, ki jih zagotavlja FrontISTR, s trimestnimi številkami vrst elementov ter predstavlja vmesnik knjižnice oblikovnih funkcij za enotno obravnavo posameznih elementov. Konkretni sistemi naravnih koordinat in oblikovne funkcije tridimenzionalnih prostorninskih elementov ter pretvorba vrstnega reda sredinskih vozlišč pri kvadratnih elementih so obravnavani v Oblikovnih funkcijah tridimenzionalnih prostorninskih elementov, smernice za izbiro vrst elementov pa v Knjižnici elementov (funkcije).

Razvrstitev elementov in pravila poimenovanja

Vrste elementov FrontISTR so označene s trimestnimi številkami. Pomen posamezne števke je naslednji.

  • Prva števka (skupina elementov): 1 = linijski element/paličje, 2 = ravninski element, 3 = prostorninski element, 5 = vmesniški element, 6 = nosilni element, 7 = lupinasti element.
  • Druga števka (osnovna oblika): razlikuje geometrijsko obliko znotraj skupine elementov (trikotnik, štirikotnik, tetraeder, prizma ali heksaeder).
  • Tretja števka (red interpolacije): 1 = prvi red (samo vogalna vozlišča), 2 = drugi red (vključno s sredinskimi vozlišči). Izjema je dvo-vozliščni palični element s številko 301.

Razpoložljivi elementi so po skupinah navedeni v spodnji tabeli.

Skupina elementov Vrsta elementa Število vozlišč Opis
Linijski element 111 2 2-vozliščni povezovalni element (ni na voljo za analizo napetosti)
112 3 3-vozliščni povezovalni element (ni na voljo za analizo napetosti)
Ravninski element 231 3 3-vozliščni linearni trikotni element
232 6 6-vozliščni kvadratni trikotni element
241 4 4-vozliščni linearni štirikotni element
242 8 8-vozliščni kvadratni štirikotni element (družina Serendipity)
Prostorninski element 301 2 2-vozliščni palični element
341 4 4-vozliščni linearni tetraedrski element
342 10 10-vozliščni kvadratni tetraedrski element
351 6 6-vozliščni linearni prizmatični element
352 15 15-vozliščni kvadratni prizmatični element
361 8 8-vozliščni linearni heksaedrski element
362 20 20-vozliščni kvadratni heksaedrski element (družina Serendipity)
Vmesniški element 541 4×2 4-vozliščni linearni element štirikotne ploskve (ni na voljo za analizo napetosti)
542 8×2 8-vozliščni kvadratni element štirikotne ploskve (ni na voljo za analizo napetosti)
Nosilni element 611 2 2-vozliščni Bernoulli-Eulerjev nosilni element (6 DOF na vozlišče)
641 2×2 2-vozliščni Bernoulli-Eulerjev nosilni element (3 DOF na vozlišče, za mešane DOF)
Lupinasti element 731 3 Trikotni lupinasti element MITC3 (6 DOF na vozlišče)
741 4 Štirikotni lupinasti element MITC4 (6 DOF na vozlišče)
743 9 Štirikotni lupinasti element MITC9 (6 DOF na vozlišče)
761 3×2 Trikotni lupinasti element MITC3 (3 DOF na vozlišče, za mešane DOF)
781 4×2 Štirikotni lupinasti element MITC4 (3 DOF na vozlišče, za mešane DOF)

Heksaedrski linearni element 361 ima več formulacij (polna integracija, nekompatibilni način, B-bar in F-bar), ki se izbirajo prek nadzora analize. Za podrobnosti glejte Napredne formulacije elementov.

Nosilni element 641 in lupinasti elementi 761/781 so formulacije za povezovanje strukturnih elementov s 6 prostostnimi stopnjami s prostorninskimi elementi s 3 prostostnimi stopnjami v istih vozliščih; eno strukturno vozlišče je predstavljeno z dvema vozliščema s 3 DOF. Same formulacije so enake ustreznim različicam s 6 DOF (611, 731 in 741).

Knjižnica oblikovnih funkcij

Računske rutine elementov (sestava matrike togosti in vektorja notranjih sil) nimajo ločenih rutin za vsako vrsto elementa. Namesto tega prek enotnega vmesnika kličejo knjižnico oblikovnih funkcij, ki kot argument prejme številko vrste elementa fetype. Modul elementInfo (fistr1/src/lib/element/element.f90) zagotavlja naslednje funkcije.

  • NumOfQuadPoints(fetype): vrne število integracijskih točk \(n_q\) za vrsto elementa.
  • getQuadPoint(fetype, np, pos): vrne naravne koordinate \(\boldsymbol{r}_i\) integracijske točke \(i\).
  • getWeight(fetype, np): vrne utež \(w_i\) integracijske točke \(i\).
  • getShapeFunc(fetype, r, N): vrne vrednosti oblikovnih funkcij \(N_\alpha^e(\boldsymbol{r})\) pri naravnih koordinatah \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): vrne odvode oblikovnih funkcij po naravnih koordinatah \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): za podane vozliščne koordinate elementa \(\boldsymbol{X}^e\) vrne odvode po fizikalnih koordinatah \(\partial N_\alpha^e/\partial \boldsymbol{x}\) in Jacobijevo determinanto \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): vrneta število robnih ploskev elementa in številke vozlišč, ki sestavljajo posamezno ploskev. Uporabljata se pri sestavi površinskih obremenitev in kontaktnih površin.

Vsaka funkcija se interno razveji glede na številko vrste elementa in kliče podprograme za oblikovne funkcije in njihove odvode v modulih nižje ravni, ki so pripravljeni za posamezne vrste elementov (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). Numerične tabele koordinat in uteži integracijskih točk so združene v quadrature.f90. Če želite dodati novo vrsto elementa, implementirajte ustrezni modul nižje ravni in dodajte veje zanjo v vsako funkcijo v elementInfo.

Pretvorba vrstnega reda sredinskih vozlišč pri kvadratnih trikotnih elementih

Pri kvadratnem trikotnem elementu 232 se vrstni red sredinskih vozlišč razlikuje med vhodno obliko mreže HEC-MW (ki najprej razporedi vogalna vozlišča okoli elementa, nato pa sredinska vozlišča po robovih 1-2, 2-3, …) in notranjo obliko FrontISTR, ki jo predpostavljajo oblikovne funkcije v knjižnici elementov. Razlika med oblikama se odpravi takoj po nalaganju mreže z hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 in hecmw2fstr_connect_conv.c), ki šest vozlišč preuredi v \(\{1,2,3,6,4,5\}\) po pretvorbeni tabeli Table232. Ker se pretvorba izvede neposredno nad poljem, ki hrani povezljivost elementa, vsi nadaljnji klici knjižnice elementov uporabljajo notranji vrstni red vozlišč FrontISTR. Pri izpisu rezultatov inverzna pretvorba fstr2hecmw_mesh_conv pred zapisom obnovi obliko HEC-MW, zato mora uporabnik pri vhodu in izhodu poznati samo obliko HEC-MW.

Kvadratna tridimenzionalna prostorninska elementa 342 (tetraedrski) in 352 (prizmatični) imata podobni samodejni pretvorbi, medtem ko 362 (kvadratni heksaedrski) pretvorbe nima. Njihova obravnava je opisana v Oblikovnih funkcijah tridimenzionalnih prostorninskih elementov. Za kvadratni ravninski štirikotni element 242 in vmesniški element 542 pretvorba ni potrebna, ker je vrstni red sredinskih vozlišč enak v vhodni obliki HEC-MW in notranji obliki.

Sorodne teme

AI-assisted translation May contain errors Official docs Status