Lewati ke isi

Sistem 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 bentuk khusus fungsi bentuk untuk elemen solid tiga dimensi, serta perurutan ulang node tengah sisi 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 balok, 7 = elemen shell.
  • Digit kedua (bentuk dasar): membedakan bentuk geometris dalam kelompok elemen (segitiga, segiempat, tetrahedron, prisma segitiga, 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 dapat digunakan dalam analisis tegangan)
112 3 Elemen link 3-node (tidak dapat digunakan dalam analisis tegangan)
Elemen bidang 231 3 Elemen segitiga orde pertama
232 6 Elemen segitiga orde kedua
241 4 Elemen segiempat orde pertama
242 8 Elemen segiempat orde kedua (keluarga Serendipity)
Elemen solid 301 2 Elemen truss 2-node
341 4 Elemen tetrahedron orde pertama
342 10 Elemen tetrahedron orde kedua
351 6 Elemen prisma segitiga orde pertama
352 15 Elemen prisma segitiga orde kedua
361 8 Elemen heksahedron orde pertama
362 20 Elemen heksahedron orde kedua (keluarga Serendipity)
Elemen antarmuka 541 4×2 Elemen bidang segiempat orde pertama (tidak dapat digunakan dalam analisis tegangan)
542 8×2 Elemen bidang segiempat orde kedua (tidak dapat digunakan dalam analisis tegangan)
Elemen balok 611 2 Elemen balok 2-node (6 derajat kebebasan per node; balok Bernoulli-Euler atau Timoshenko)
641 2×2 Elemen balok 2-node (3 derajat kebebasan per node, untuk pencampuran derajat kebebasan; balok Bernoulli-Euler atau Timoshenko)
Elemen shell 731 3 Elemen shell segitiga MITC3 (6 derajat kebebasan per node)
741 4 Elemen shell segiempat MITC4 (6 derajat kebebasan per node)
743 9 Elemen shell segiempat MITC9 (6 derajat kebebasan per node)
761 3×2 Elemen shell segitiga MITC3 (3 derajat kebebasan per node, untuk pencampuran derajat kebebasan)
781 4×2 Elemen shell segiempat MITC4 (3 derajat kebebasan per node, untuk pencampuran derajat kebebasan)

Elemen heksahedron orde pertama 361 memiliki beberapa formulasi (integrasi penuh, incompatible, B-bar, F-bar) yang dipilih dari kontrol analisis. Untuk detail, lihat Formulasi Elemen Berkinerja Tinggi.

Elemen balok 641 serta 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, dengan merepresentasikan satu node struktur oleh dua node 3-derajat-kebebasan. Formulasinya sendiri identik dengan versi 6-derajat-kebebasan yang bersesuaian (611, 731, 741). Pada 641 juga, sebagaimana pada 611, balok Bernoulli-Euler dan balok Timoshenko dapat dipilih.

Pustaka Fungsi Bentuk

Rutin komputasi elemen (pembentukan matriks kekakuan dan vektor gaya internal) tidak memiliki rutin terpisah untuk setiap jenis elemen, melainkan 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\) untuk jenis elemen.
  • getQuadPoint(fetype, np, pos): mengembalikan koordinat natural \(\boldsymbol{r}_i\) titik integrasi \(i\).
  • getWeight(fetype, np): mengembalikan bobot \(w_i\) 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 fungsi bentuk terhadap koordinat natural \(\partial N_\alpha^e/\partial \boldsymbol{r}\).
  • 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}\) serta determinan matriks Jacobian \(J\).
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): mengembalikan jumlah muka batas elemen dan nomor node yang membentuk setiap muka. Digunakan untuk membentuk beban permukaan dan permukaan kontak.

Setiap fungsi bercabang secara internal berdasarkan 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, cukup implementasikan modul tingkat bawah yang bersesuaian, lalu tambahkan cabang pada setiap fungsi di elementInfo.

Konversi Urutan Node Tengah Sisi untuk Elemen Segitiga Orde Kedua

Elemen segitiga orde kedua 232 memiliki urutan node tengah sisi yang berbeda antara format input mesh HEC-MW (konvensi yang menaruh node sudut secara mengelilingi, diikuti node tengah sisi menyusul sisi 1-2, 2-3, dst.) dan format internal FrontISTR yang diasumsikan oleh fungsi bentuk pustaka elemen. Perbedaan kedua format tersebut diselesaikan oleh hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 serta hecmw2fstr_connect_conv.c) yang dipanggil tepat setelah pembacaan mesh, yang merombak enam node menjadi \(\{1,2,3,6,4,5\}\) sesuai tabel konversi Table232. Karena konversi dilakukan langsung pada array penyimpanan informasi konektivitas elemen, semua pemanggilan pustaka elemen selanjutnya menggunakan urutan node internal FrontISTR. Pada saat output hasil, konversi balik fstr2hecmw_mesh_conv mengembalikan format HEC-MW sebelum penulisan, sehingga untuk input maupun output pengguna hanya perlu memperhatikan format HEC-MW.

Elemen solid tiga dimensi 342 (tetrahedron orde kedua) dan 352 (prisma segitiga orde kedua) juga memiliki konversi otomatis sejenis, sedangkan 362 (heksahedron orde kedua) tidak memiliki konversi. Penanganan tersebut dapat dilihat pada Fungsi Bentuk Elemen Solid Tiga Dimensi. Untuk elemen segiempat bidang orde kedua 242 serta elemen antarmuka 542, urutan node tengah sisi format input HEC-MW dan format internal identik, sehingga konversi tidak dilakukan.

Topik Terkait