Ana içeriğe geç

Eleman Numaralandırma Şeması ve Şekil Fonksiyonu Kitaplığı

Şekil Fonksiyonları ve Sonlu Eleman Yaklaşımı bölümünde tanıtılan şekil fonksiyonu \(N_\alpha^e(\boldsymbol{r})\), her eleman türü için farklı bir açık biçime sahiptir. Bu bölüm, FrontISTR tarafından sağlanan eleman gruplarını üç basamaklı eleman türü numaralarıyla sınıflandırır ve her elemanı tekdüze biçimde işlemek için şekil fonksiyonu kitaplığının arayüzünü sunar. Üç boyutlu katı elemanların doğal koordinat sistemleri ve şekil fonksiyonlarının açık biçimleri ile ikinci dereceden elemanlardaki orta kenar düğümü sıralama dönüşümü Üç Boyutlu Katı Elemanların Şekil Fonksiyonları bölümünde, eleman türü seçim rehberi ise Eleman Kitaplığı (İşlevler) bölümünde ele alınır.

Eleman Sınıflandırması ve Adlandırma Kuralları

FrontISTR eleman türleri üç basamaklı numaralarla tanımlanır. Her basamağın anlamı aşağıdaki gibidir.

  • Birinci basamak (eleman grubu): 1 = çizgi elemanı/kafes, 2 = düzlem elemanı, 3 = katı eleman, 5 = arayüz elemanı, 6 = kiriş elemanı, 7 = kabuk elemanı.
  • İkinci basamak (temel şekil): eleman grubu içindeki geometrik şekli ayırt eder (üçgen, dörtgen, dört yüzlü, prizma veya altı yüzlü).
  • Üçüncü basamak (enterpolasyon derecesi): 1 = birinci derece (yalnızca köşe düğümleri), 2 = ikinci derece (orta kenar düğümleri dâhil). İstisna olarak iki düğümlü kafes elemanı 301 numaradır.

Sağlanan elemanlar, eleman grubuna göre aşağıdaki tabloda listelenmiştir.

Eleman Grubu Eleman Türü Düğüm Sayısı Açıklama
Çizgi elemanı 111 2 2 düğümlü bağlantı elemanı (gerilme analizinde kullanılamaz)
112 3 3 düğümlü bağlantı elemanı (gerilme analizinde kullanılamaz)
Düzlem elemanı 231 3 3 düğümlü doğrusal üçgen eleman
232 6 6 düğümlü ikinci dereceden üçgen eleman
241 4 4 düğümlü doğrusal dörtgen eleman
242 8 8 düğümlü ikinci dereceden dörtgen eleman (Serendipity ailesi)
Katı eleman 301 2 2 düğümlü kafes elemanı
341 4 4 düğümlü doğrusal dört yüzlü eleman
342 10 10 düğümlü ikinci dereceden dört yüzlü eleman
351 6 6 düğümlü doğrusal prizma elemanı
352 15 15 düğümlü ikinci dereceden prizma elemanı
361 8 8 düğümlü doğrusal altı yüzlü eleman
362 20 20 düğümlü ikinci dereceden altı yüzlü eleman (Serendipity ailesi)
Arayüz elemanı 541 4×2 4 düğümlü doğrusal dörtgen yüzey elemanı (gerilme analizinde kullanılamaz)
542 8×2 8 düğümlü ikinci dereceden dörtgen yüzey elemanı (gerilme analizinde kullanılamaz)
Kiriş elemanı 611 2 2 düğümlü Bernoulli-Euler kiriş elemanı (düğüm başına 6 DOF)
641 2×2 2 düğümlü Bernoulli-Euler kiriş elemanı (düğüm başına 3 DOF, karma DOF için)
Kabuk elemanı 731 3 MITC3 üçgen kabuk elemanı (düğüm başına 6 DOF)
741 4 MITC4 dörtgen kabuk elemanı (düğüm başına 6 DOF)
743 9 MITC9 dörtgen kabuk elemanı (düğüm başına 6 DOF)
761 3×2 MITC3 üçgen kabuk elemanı (düğüm başına 3 DOF, karma DOF için)
781 4×2 MITC4 dörtgen kabuk elemanı (düğüm başına 3 DOF, karma DOF için)

Doğrusal altı yüzlü eleman 361, analiz kontrolü üzerinden seçilen birden fazla formülasyona (tam integrasyon, uyumsuz mod, B-bar ve F-bar) sahiptir. Ayrıntılar için Gelişmiş Eleman Formülasyonları bölümüne bakın.

Kiriş elemanı 641 ile kabuk elemanları 761/781, 6 serbestlik dereceli yapısal elemanları aynı düğümlerde 3 serbestlik dereceli katı elemanlara bağlamak için kullanılan formülasyonlardır; bir yapısal düğüm iki adet 3-DOF düğümle temsil edilir. Formülasyonların kendileri, karşılık gelen 6-DOF sürümleriyle (611, 731 ve 741) aynıdır.

Şekil Fonksiyonu Kitaplığı

Eleman hesaplama rutinlerinin (rijitlik matrisi ve iç kuvvet vektörünün oluşturulması) her eleman türü için ayrı rutinleri yoktur. Bunun yerine, eleman türü numarası fetype'i bağımsız değişken olarak alan birleşik bir arayüz üzerinden şekil fonksiyonu kitaplığını çağırırlar. elementInfo modülü (fistr1/src/lib/element/element.f90) aşağıdaki işlevleri sağlar.

  • NumOfQuadPoints(fetype): eleman türü için integrasyon noktası sayısı \(n_q\)'yu döndürür.
  • getQuadPoint(fetype, np, pos): integrasyon noktası \(i\)'nin doğal koordinatlarını \(\boldsymbol{r}_i\) döndürür.
  • getWeight(fetype, np): integrasyon noktası \(i\)'nin ağırlığını \(w_i\) döndürür.
  • getShapeFunc(fetype, r, N): doğal koordinatlar \(\boldsymbol{r}\)'deki şekil fonksiyonu değerlerini \(N_\alpha^e(\boldsymbol{r})\) döndürür.
  • getShapeDeriv(fetype, r, dN): şekil fonksiyonlarının doğal koordinat türevlerini \(\partial N_\alpha^e/\partial \boldsymbol{r}\) döndürür.
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): eleman düğüm koordinatları \(\boldsymbol{X}^e\) verildiğinde fiziksel koordinat türevlerini \(\partial N_\alpha^e/\partial \boldsymbol{x}\) ve Jacobian determinantı \(J\)'yi döndürür.
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): eleman sınır yüzeylerinin sayısını ve her yüzeyi oluşturan düğüm numaralarını döndürür. Yüzey yüklerini ve temas yüzeylerini oluşturmak için kullanılırlar.

Her işlev, eleman türü numarasına göre içsel olarak dallanır ve her eleman türü için sağlanan alt düzey modüllerdeki (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) şekil fonksiyonu ve şekil fonksiyonu türevi alt yordamlarını çağırır. İntegrasyon noktası koordinatları ve ağırlıklarının sayısal tabloları quadrature.f90 içinde birleştirilmiştir. Yeni bir eleman türü eklemek için ilgili alt düzey modülü uygulayın ve elementInfo içindeki her işleve bunun için dallar ekleyin.

İkinci Dereceden Üçgen Elemanlarda Orta Kenar Düğümü Sıralama Dönüşümü

İkinci dereceden üçgen eleman 232 için orta kenar düğümlerinin sıralaması, HEC-MW ağ giriş biçimi (köşe düğümlerini elemanın çevresinde, ardından orta kenar düğümlerini 1-2, 2-3, … kenarları boyunca sıralar) ile eleman kitaplığındaki şekil fonksiyonlarının varsaydığı FrontISTR iç biçimi arasında farklıdır. Bu fark, ağ yüklendikten hemen sonra hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 ve hecmw2fstr_connect_conv.c) tarafından, Table232 dönüşüm tablosuna göre altı düğüm \(\{1,2,3,6,4,5\}\) sırasına getirilerek giderilir. Dönüşüm doğrudan eleman bağlantısını saklayan dizi üzerinde yapıldığından sonraki tüm eleman kitaplığı çağrıları FrontISTR iç düğüm sıralamasını kullanır. Sonuç çıktısında ters dönüşüm fstr2hecmw_mesh_conv yazmadan önce HEC-MW biçimini geri yükler; böylece kullanıcıların hem giriş hem çıkış için yalnızca HEC-MW biçimini dikkate alması yeterlidir.

Üç boyutlu ikinci dereceden katı elemanlar 342 (dört yüzlü) ve 352 (prizma) benzer otomatik dönüşümlere sahiptir; 362 (ikinci dereceden altı yüzlü) için dönüşüm yoktur. Bunların ele alınışı için Üç Boyutlu Katı Elemanların Şekil Fonksiyonları bölümüne bakın. İkinci dereceden düzlemsel dörtgen eleman 242 ve arayüz elemanı 542 için, HEC-MW giriş biçimi ile iç biçimde orta kenar düğümü sıralaması aynı olduğundan dönüşüm yapılmaz.

İlgili Konular