Pāriet uz saturu

Elementu numerācijas shēma un formas funkciju bibliotēka

Sadaļā Formas funkcijas un galīgo elementu aproksimācija ieviestajai formas funkcijai \(N_\alpha^e(\boldsymbol{r})\) katram elementa tipam ir konkrēta forma. Šajā nodaļā FrontISTR piedāvātās elementu grupas klasificētas ar trīsciparu elementu tipu numuriem un parādīta formas funkciju bibliotēkas saskarne, kas ļauj visus elementus apstrādāt vienotā veidā. Trīsdimensiju cietvielu elementu konkrētās dabiskās koordinātu sistēmas un formas funkcijas, kā arī kvadrātisko elementu vidusmalu mezglu secības pārveidošana aplūkota sadaļā Trīsdimensiju cietvielu elementu formas funkcijas, bet elementa tipa izvēles vadlīnijas — sadaļā Elementu bibliotēka (funkcijas).

Elementu klasifikācija un nosaukumu veidošanas noteikumi

FrontISTR elementu tipi tiek identificēti ar trīsciparu numuriem. Katra cipara nozīme ir šāda.

  • Pirmais cipars (elementu grupa): 1 = līnijas elements/stienis, 2 = plaknes elements, 3 = cietvielas elements, 5 = saskarnes elements, 6 = sijas elements, 7 = čaulas elements.
  • Otrais cipars (pamata forma): nošķir ģeometrisko formu elementu grupā (trijstūris, četrstūris, tetraedrs, prizma vai heksaedrs).
  • Trešais cipars (interpolācijas kārta): 1 = pirmā kārta (tikai stūra mezgli), 2 = otrā kārta (arī vidusmalu mezgli). Izņēmums ir divu mezglu stieņa elements ar numuru 301.

Piedāvātie elementi pa elementu grupām uzskaitīti nākamajā tabulā.

Elementu grupa Elementa tips Mezglu skaits Apraksts
Līnijas elements 111 2 2 mezglu saites elements (nav pieejams spriegumu analīzei)
112 3 3 mezglu saites elements (nav pieejams spriegumu analīzei)
Plaknes elements 231 3 3 mezglu lineārs trijstūra elements
232 6 6 mezglu kvadrātisks trijstūra elements
241 4 4 mezglu lineārs četrstūra elements
242 8 8 mezglu kvadrātisks četrstūra elements (Serendipity saime)
Cietvielas elements 301 2 2 mezglu stieņa elements
341 4 4 mezglu lineārs tetraedrisks elements
342 10 10 mezglu kvadrātisks tetraedrisks elements
351 6 6 mezglu lineārs prizmas elements
352 15 15 mezglu kvadrātisks prizmas elements
361 8 8 mezglu lineārs heksaedrisks elements
362 20 20 mezglu kvadrātisks heksaedrisks elements (Serendipity saime)
Saskarnes elements 541 4×2 4 mezglu lineārs četrstūra skaldnes elements (nav pieejams spriegumu analīzei)
542 8×2 8 mezglu kvadrātisks četrstūra skaldnes elements (nav pieejams spriegumu analīzei)
Sijas elements 611 2 2 mezglu Bernoulli-Euler sijas elements (6 brīvības pakāpes katrā mezglā)
641 2×2 2 mezglu Bernoulli-Euler sijas elements (3 brīvības pakāpes katrā mezglā, jauktām brīvības pakāpēm)
Čaulas elements 731 3 MITC3 trijstūra čaulas elements (6 brīvības pakāpes katrā mezglā)
741 4 MITC4 četrstūra čaulas elements (6 brīvības pakāpes katrā mezglā)
743 9 MITC9 četrstūra čaulas elements (6 brīvības pakāpes katrā mezglā)
761 3×2 MITC3 trijstūra čaulas elements (3 brīvības pakāpes katrā mezglā, jauktām brīvības pakāpēm)
781 4×2 MITC4 četrstūra čaulas elements (3 brīvības pakāpes katrā mezglā, jauktām brīvības pakāpēm)

Lineārajam heksaedriskajam elementam 361 ir vairāki formulējumi (pilnā integrēšana, nesaderīgais mods, B-bar un F-bar), kurus izvēlas analīzes vadības datos. Sīkāku informāciju skatiet sadaļā Uzlaboti elementu formulējumi.

Sijas elements 641 un čaulas elementi 761/781 ir formulējumi konstrukciju elementu ar 6 brīvības pakāpēm savienošanai ar cietvielu elementiem ar 3 brīvības pakāpēm tajos pašos mezglos; viens konstrukcijas mezgls tiek attēlots ar diviem 3 brīvības pakāpju mezgliem. Paši formulējumi ir identiski attiecīgajām 6 brīvības pakāpju versijām (611, 731 un 741).

Formas funkciju bibliotēka

Elementu aprēķina procedūrām (stinguma matricas un iekšējo spēku vektora veidošanai) nav atsevišķas procedūras katram elementa tipam. Tā vietā tās izsauc formas funkciju bibliotēku caur vienotu saskarni, kurai kā arguments tiek nodots elementa tipa numurs fetype. Modulis elementInfo (fistr1/src/lib/element/element.f90) nodrošina šādas funkcijas.

  • NumOfQuadPoints(fetype): atgriež elementa tipa integrēšanas punktu skaitu \(n_q\).
  • getQuadPoint(fetype, np, pos): atgriež integrēšanas punkta \(i\) dabiskās koordinātas \(\boldsymbol{r}_i\).
  • getWeight(fetype, np): atgriež integrēšanas punkta \(i\) svaru \(w_i\).
  • getShapeFunc(fetype, r, N): atgriež formas funkciju vērtības \(N_\alpha^e(\boldsymbol{r})\) dabiskajās koordinātās \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): atgriež formas funkciju atvasinājumus dabiskajās koordinātās \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): ja dotas elementa mezglu koordinātas \(\boldsymbol{X}^e\), atgriež atvasinājumus fizikālajās koordinātās \(\partial N_\alpha^e/\partial \boldsymbol{x}\) un Jakobiana determinantu \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): atgriež elementa robežskaldņu skaitu un mezglu numurus, kas veido katru skaldni. Tos izmanto virsmas slodžu un kontakta virsmu konstruēšanai.

Katra funkcija iekšēji veic atzarošanu pēc elementa tipa numura un izsauc formas funkciju un to atvasinājumu apakšprogrammas zemāka līmeņa moduļos, kas nodrošināti katram elementa tipam (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). Integrēšanas punktu koordinātu un svaru skaitliskās tabulas ir apkopotas quadrature.f90. Lai pievienotu jaunu elementa tipu, realizējiet attiecīgo zemāka līmeņa moduli un pievienojiet tam atzarus katrā elementInfo funkcijā.

Vidusmalu mezglu secības pārveidošana kvadrātiskiem trijstūra elementiem

Kvadrātiskajam trijstūra elementam 232 vidusmalu mezglu secība HEC-MW režģa ievades formātā (vispirms stūra mezgli pa elementa perimetru, pēc tam vidusmalu mezgli uz malām 1-2, 2-3, …) atšķiras no FrontISTR iekšējā formāta, ko pieņem elementu bibliotēkas formas funkcijas. Atšķirība starp abiem formātiem tiek novērsta uzreiz pēc režģa nolasīšanas ar hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 un hecmw2fstr_connect_conv.c), kas saskaņā ar pārveidošanas tabulu Table232 pārkārto sešus mezglus uz \(\{1,2,3,6,4,5\}\). Tā kā pārveidošana tiek veikta tieši masīvā, kur glabājas elementa savienojamība, visi turpmākie elementu bibliotēkas izsaukumi izmanto FrontISTR iekšējo mezglu secību. Rezultātu izvadē pretējais pārveidojums fstr2hecmw_mesh_conv pirms rakstīšanas atjauno HEC-MW formātu, tādēļ lietotājam gan ievadē, gan izvadē jāņem vērā tikai HEC-MW formāts.

Kvadrātiskajiem trīsdimensiju cietvielu elementiem 342 (tetraedrs) un 352 (prizma) ir līdzīgi automātiski pārveidojumi, bet 362 (kvadrātisks heksaedrs) pārveidojums nav vajadzīgs. To apstrādi skatiet sadaļā Trīsdimensiju cietvielu elementu formas funkcijas. Kvadrātiskajam plaknes četrstūra elementam 242 un saskarnes elementam 542 pārveidošana netiek veikta, jo vidusmalu mezglu secība HEC-MW ievades formātā un iekšējā formātā ir vienāda.

Saistītās tēmas

AI-assisted translation May contain errors Official docs Status