Sistem penomboran unsur dan pustaka fungsi bentuk¶
Fungsi bentuk \(N_\alpha^e(\boldsymbol{r})\) yang diperkenalkan dalam Fungsi bentuk dan penghampiran unsur terhingga mempunyai bentuk khusus yang berbeza bagi setiap jenis unsur. Bab ini mengelaskan kumpulan unsur yang disediakan oleh FrontISTR menggunakan nombor jenis unsur tiga digit dan menunjukkan antara muka pustaka fungsi bentuk untuk mengendalikan setiap unsur secara seragam. Sistem koordinat semula jadi dan bentuk khusus fungsi bentuk bagi unsur pepejal tiga dimensi, serta penukaran susunan nod pertengahan sisi bagi unsur kuadratik, dihuraikan dalam Fungsi bentuk unsur pepejal tiga dimensi, manakala panduan pemilihan jenis unsur diberikan dalam Pustaka unsur (fungsi).
Pengelasan unsur dan peraturan penamaan¶
Jenis unsur FrontISTR dikenal pasti dengan nombor tiga digit. Maksud setiap digit adalah seperti berikut.
- Digit pertama (kumpulan unsur): 1 = unsur garis / kekuda, 2 = unsur satah, 3 = unsur pepejal, 5 = unsur antara muka, 6 = unsur rasuk, 7 = unsur cangkerang.
- Digit kedua (bentuk asas): membezakan bentuk geometri dalam kumpulan unsur (segi tiga, segi empat, tetrahedron, prisma atau heksahedron).
- Digit ketiga (darjah interpolasi): 1 = tertib pertama (nod bucu sahaja), 2 = tertib kedua (termasuk nod pertengahan sisi). Sebagai pengecualian, unsur kekuda 2 nod ialah nombor 301.
Unsur yang disediakan disenaraikan mengikut kumpulan unsur dalam jadual di bawah.
| Kumpulan unsur | Jenis unsur | Bilangan nod | Keterangan |
|---|---|---|---|
| Unsur garis | 111 | 2 | Unsur pautan 2 nod (tidak tersedia untuk analisis tegasan) |
| 112 | 3 | Unsur pautan 3 nod (tidak tersedia untuk analisis tegasan) | |
| Unsur satah | 231 | 3 | Unsur segi tiga linear 3 nod |
| 232 | 6 | Unsur segi tiga kuadratik 6 nod | |
| 241 | 4 | Unsur segi empat linear 4 nod | |
| 242 | 8 | Unsur segi empat kuadratik 8 nod (keluarga Serendipity) | |
| Unsur pepejal | 301 | 2 | Unsur kekuda 2 nod |
| 341 | 4 | Unsur tetrahedron linear 4 nod | |
| 342 | 10 | Unsur tetrahedron kuadratik 10 nod | |
| 351 | 6 | Unsur prisma linear 6 nod | |
| 352 | 15 | Unsur prisma kuadratik 15 nod | |
| 361 | 8 | Unsur heksahedron linear 8 nod | |
| 362 | 20 | Unsur heksahedron kuadratik 20 nod (keluarga Serendipity) | |
| Unsur antara muka | 541 | 4×2 | Unsur muka segi empat linear 4 nod (tidak tersedia untuk analisis tegasan) |
| 542 | 8×2 | Unsur muka segi empat kuadratik 8 nod (tidak tersedia untuk analisis tegasan) | |
| Unsur rasuk | 611 | 2 | Unsur rasuk Bernoulli-Euler 2 nod (6 darjah kebebasan per nod) |
| 641 | 2×2 | Unsur rasuk Bernoulli-Euler 2 nod (3 darjah kebebasan per nod, untuk darjah kebebasan bercampur) | |
| Unsur cangkerang | 731 | 3 | Unsur cangkerang segi tiga MITC3 (6 darjah kebebasan per nod) |
| 741 | 4 | Unsur cangkerang segi empat MITC4 (6 darjah kebebasan per nod) | |
| 743 | 9 | Unsur cangkerang segi empat MITC9 (6 darjah kebebasan per nod) | |
| 761 | 3×2 | Unsur cangkerang segi tiga MITC3 (3 darjah kebebasan per nod, untuk darjah kebebasan bercampur) | |
| 781 | 4×2 | Unsur cangkerang segi empat MITC4 (3 darjah kebebasan per nod, untuk darjah kebebasan bercampur) |
Unsur heksahedron linear 361 mempunyai beberapa formulasi (pengamiran penuh, mod tidak serasi, B-bar dan F-bar), yang dipilih melalui kawalan analisis. Untuk butiran, rujuk Formulasi unsur lanjutan.
Unsur rasuk 641 dan unsur cangkerang 761/781 ialah formulasi untuk menyambungkan unsur struktur dengan 6 darjah kebebasan kepada unsur pepejal dengan 3 darjah kebebasan pada nod yang sama; satu nod struktur diwakili oleh dua nod 3 darjah kebebasan. Formulasi itu sendiri adalah sama dengan versi 6 darjah kebebasan yang sepadan (611, 731 dan 741).
Pustaka fungsi bentuk¶
Rutin pengiraan unsur (pembentukan matriks kekakuan dan vektor daya dalaman) tidak mempunyai rutin berasingan bagi setiap jenis unsur; ia memanggil pustaka fungsi bentuk melalui antara muka seragam yang menerima nombor jenis unsur fetype sebagai argumen. Modul elementInfo (fistr1/src/lib/element/element.f90) menyediakan fungsi berikut.
NumOfQuadPoints(fetype): mengembalikan bilangan titik pengamiran \(n_q\) bagi jenis unsur.getQuadPoint(fetype, np, pos): mengembalikan koordinat semula jadi \(\boldsymbol{r}_i\) bagi titik pengamiran \(i\).getWeight(fetype, np): mengembalikan pemberat \(w_i\) bagi titik pengamiran \(i\).getShapeFunc(fetype, r, N): mengembalikan nilai fungsi bentuk \(N_\alpha^e(\boldsymbol{r})\) pada koordinat semula jadi \(\boldsymbol{r}\).getShapeDeriv(fetype, r, dN): mengembalikan terbitan fungsi bentuk terhadap koordinat semula jadi \(\partial N_\alpha^e/\partial \boldsymbol{r}\).getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): dengan koordinat nod unsur \(\boldsymbol{X}^e\), mengembalikan terbitan terhadap koordinat fizikal \(\partial N_\alpha^e/\partial \boldsymbol{x}\) dan penentu Jacobian \(J\).getNumberOfSubface(fetype),getSubFace(fetype, k, ...): mengembalikan bilangan muka sempadan unsur dan nombor nod yang membentuk setiap muka. Digunakan untuk membentuk beban permukaan dan permukaan sentuhan.
Setiap fungsi bercabang secara dalaman mengikut nombor jenis unsur dan memanggil subrutin fungsi bentuk serta terbitannya dalam modul peringkat bawah yang disediakan bagi setiap jenis unsur (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). Jadual angka koordinat dan pemberat titik pengamiran dihimpunkan dalam quadrature.f90. Untuk menambah jenis unsur baharu, laksanakan modul peringkat bawah yang sepadan dan tambahkan cabangnya pada setiap fungsi elementInfo.
Penukaran susunan nod pertengahan sisi bagi unsur segi tiga kuadratik¶
Bagi unsur segi tiga kuadratik 232, susunan nod pertengahan sisi berbeza antara format input jejaring HEC-MW (yang menyusun nod bucu mengelilingi unsur, kemudian nod pertengahan sisi mengikut tepi 1-2, 2-3, …) dengan format dalaman FrontISTR yang diandaikan oleh fungsi bentuk pustaka unsur. Perbezaan kedua-dua format diselesaikan oleh hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 dan hecmw2fstr_connect_conv.c), yang dipanggil sejurus selepas jejaring dibaca dan menyusun semula enam nod kepada \(\{1,2,3,6,4,5\}\) mengikut jadual penukaran Table232. Oleh sebab penukaran dilakukan secara langsung pada tatasusunan yang menyimpan ketersambungan unsur, semua panggilan pustaka unsur selepas itu menggunakan susunan nod dalaman FrontISTR. Semasa output hasil, penukaran songsang fstr2hecmw_mesh_conv mengembalikan format HEC-MW sebelum data ditulis, maka pengguna hanya perlu mengambil kira format HEC-MW untuk input dan output.
Unsur pepejal tiga dimensi kuadratik 342 (tetrahedron) dan 352 (prisma) juga mempunyai penukaran automatik yang serupa, manakala 362 (heksahedron kuadratik) tidak mempunyai penukaran. Untuk pengendaliannya, rujuk Fungsi bentuk unsur pepejal tiga dimensi. Bagi unsur satah segi empat kuadratik 242 dan unsur antara muka 542, tiada penukaran dilakukan kerana susunan nod pertengahan sisi adalah sama dalam format input HEC-MW dan format dalaman.
Item berkaitan¶
- Fungsi bentuk dan penghampiran unsur terhingga — Takrif matematik fungsi bentuk
- Pengamiran berangka — Titik pengamiran, pemberat dan bentuk penghampiran pengamiran unsur
- Fungsi bentuk unsur pepejal tiga dimensi — Koordinat semula jadi dan bentuk khusus fungsi bentuk bagi unsur pepejal kontinum
- Formulasi unsur lanjutan — B-bar / F-bar / mod tidak serasi / cangkerang / rasuk
- Pustaka unsur (fungsi) — Pilihan jenis unsur dan panduan pemilihan