Lewati ke isi

Skema Penomoran Elemen dan Pustaka Fungsi Bentuk

Fungsi bentuk \(N_\alpha^e(\boldsymbol{r})\) yang diperkenalkan dalam Fungsi Bentuk dan Aproksimasi Elemen Hingga memiliki bentuk khusus untuk setiap jenis elemen. Bab ini mengklasifikasikan kelompok elemen yang disediakan FrontISTR menggunakan nomor jenis elemen tiga digit dan menyajikan antarmuka pustaka fungsi bentuk untuk menangani setiap elemen secara seragam. Sistem koordinat natural dan fungsi bentuk khusus untuk elemen solid tiga dimensi, serta konversi urutan node tengah sisi untuk elemen kuadratik, dibahas dalam Fungsi Bentuk Elemen Solid Tiga Dimensi, sedangkan panduan pemilihan jenis elemen diberikan dalam Pustaka Elemen (Fungsi).

Klasifikasi Elemen dan Aturan Penamaan

Jenis elemen FrontISTR diidentifikasi dengan nomor tiga digit. Arti setiap digit adalah sebagai berikut.

  • Digit pertama (kelompok elemen): 1 = elemen garis/truss, 2 = elemen bidang, 3 = elemen solid, 5 = elemen antarmuka, 6 = elemen beam, 7 = elemen shell.
  • Digit kedua (bentuk dasar): membedakan bentuk geometris dalam kelompok elemen (segitiga, segiempat, tetrahedron, prisma, atau heksahedron).
  • Digit ketiga (orde interpolasi): 1 = orde pertama (hanya node sudut), 2 = orde kedua (termasuk node tengah sisi). Sebagai pengecualian, elemen truss dua node bernomor 301.

Elemen yang disediakan dicantumkan menurut kelompok elemen pada tabel berikut.

Kelompok Elemen Jenis Elemen Jumlah Node Deskripsi
Elemen garis 111 2 Elemen link 2-node (tidak tersedia untuk analisis tegangan)
112 3 Elemen link 3-node (tidak tersedia untuk analisis tegangan)
Elemen bidang 231 3 Elemen segitiga linear 3-node
232 6 Elemen segitiga kuadratik 6-node
241 4 Elemen segiempat linear 4-node
242 8 Elemen segiempat kuadratik 8-node (keluarga Serendipity)
Elemen solid 301 2 Elemen truss 2-node
341 4 Elemen tetrahedron linear 4-node
342 10 Elemen tetrahedron kuadratik 10-node
351 6 Elemen prisma linear 6-node
352 15 Elemen prisma kuadratik 15-node
361 8 Elemen heksahedron linear 8-node
362 20 Elemen heksahedron kuadratik 20-node (keluarga Serendipity)
Elemen antarmuka 541 4×2 Elemen muka segiempat linear 4-node (tidak tersedia untuk analisis tegangan)
542 8×2 Elemen muka segiempat kuadratik 8-node (tidak tersedia untuk analisis tegangan)
Elemen beam 611 2 Elemen beam Bernoulli-Euler 2-node (6 DOF per node)
641 2×2 Elemen beam Bernoulli-Euler 2-node (3 DOF per node, untuk DOF campuran)
Elemen shell 731 3 Elemen shell segitiga MITC3 (6 DOF per node)
741 4 Elemen shell segiempat MITC4 (6 DOF per node)
743 9 Elemen shell segiempat MITC9 (6 DOF per node)
761 3×2 Elemen shell segitiga MITC3 (3 DOF per node, untuk DOF campuran)
781 4×2 Elemen shell segiempat MITC4 (3 DOF per node, untuk DOF campuran)

Elemen heksahedron linear 361 memiliki beberapa formulasi (integrasi penuh, mode incompatible, B-bar, dan F-bar), yang dipilih melalui kontrol analisis. Untuk detail, lihat Formulasi Elemen Lanjutan.

Elemen beam 641 dan elemen shell 761/781 adalah formulasi untuk menghubungkan elemen struktur dengan 6 derajat kebebasan ke elemen solid dengan 3 derajat kebebasan pada node yang sama; satu node struktur direpresentasikan oleh dua node 3-DOF. Formulasinya sendiri identik dengan versi 6-DOF yang bersesuaian (611, 731, dan 741).

Pustaka Fungsi Bentuk

Rutin komputasi elemen (pembentukan matriks kekakuan dan vektor gaya internal) tidak memiliki rutin terpisah untuk setiap jenis elemen. Sebagai gantinya, rutin tersebut memanggil pustaka fungsi bentuk melalui antarmuka terpadu yang menerima nomor jenis elemen fetype sebagai argumen. Modul elementInfo (fistr1/src/lib/element/element.f90) menyediakan fungsi berikut.

  • NumOfQuadPoints(fetype): mengembalikan jumlah titik integrasi \(n_q\) for the element type.
  • getQuadPoint(fetype, np, pos): mengembalikan koordinat natural \(\boldsymbol{r}_i\) dari titik integrasi \(i\).
  • getWeight(fetype, np): mengembalikan bobot \(w_i\) dari titik integrasi \(i\).
  • getShapeFunc(fetype, r, N): mengembalikan nilai fungsi bentuk \(N_\alpha^e(\boldsymbol{r})\) pada koordinat natural \(\boldsymbol{r}\).
  • getShapeDeriv(fetype, r, dN): mengembalikan turunan terhadap koordinat natural \(\partial N_\alpha^e/\partial \boldsymbol{r}\) dari fungsi bentuk.
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): dengan diberikan koordinat nodal elemen \(\boldsymbol{X}^e\), mengembalikan turunan terhadap koordinat fisik \(\partial N_\alpha^e/\partial \boldsymbol{x}\) dan determinan Jacobian \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): mengembalikan jumlah muka batas elemen dan nomor node yang membentuk setiap muka. Fungsi ini digunakan untuk membentuk beban permukaan dan permukaan kontak.

Setiap fungsi bercabang secara internal sesuai nomor jenis elemen dan memanggil subrutin fungsi bentuk serta turunan fungsi bentuk pada modul tingkat bawah yang disediakan untuk setiap jenis elemen (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). Tabel numerik koordinat dan bobot titik integrasi dikonsolidasikan dalam quadrature.f90. Untuk menambahkan jenis elemen baru, implementasikan modul tingkat bawah yang sesuai dan tambahkan cabang untuknya ke setiap fungsi dalam elementInfo.

Konversi Urutan Node Tengah Sisi untuk Elemen Segitiga Kuadratik

Untuk elemen segitiga kuadratik 232, urutan node tengah sisi berbeda antara format input mesh HEC-MW (yang mengurutkan node sudut mengelilingi elemen lalu node tengah sisi sepanjang rusuk 1-2, 2-3, …) dan format internal FrontISTR yang diasumsikan oleh fungsi bentuk dalam pustaka elemen. Perbedaan antara kedua format diselesaikan segera setelah pemuatan mesh oleh hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 dan hecmw2fstr_connect_conv.c), yang mengurutkan ulang enam node menjadi \(\{1,2,3,6,4,5\}\) sesuai tabel konversi Table232. Karena konversi dilakukan langsung pada array yang menyimpan konektivitas elemen, semua pemanggilan pustaka elemen berikutnya menggunakan urutan node internal FrontISTR. Pada keluaran hasil, konversi balik fstr2hecmw_mesh_conv memulihkan format HEC-MW sebelum penulisan, sehingga pengguna hanya perlu memperhatikan format HEC-MW untuk input maupun output.

Elemen solid tiga dimensi kuadratik 342 (tetrahedron) dan 352 (prisma) memiliki konversi otomatis serupa, sedangkan 362 (heksahedron kuadratik) tidak memiliki konversi. Lihat Fungsi Bentuk Elemen Solid Tiga Dimensi untuk penanganannya. Untuk elemen segiempat bidang kuadratik 242 dan elemen antarmuka 542, konversi tidak dilakukan karena urutan node tengah sisi sama pada format input HEC-MW dan format internal.

Topik Terkait