SDLS04-89
Cumartesi, 07 Eylül 2019

Geçtiğimiz Nisan ayında Elmer'in 8.4 sürümünün yayınlanmasıyla birlikte, diğer bâzı yenilikler ve iyileştirmeler yanında bu zamana kadar eksikliği hissedilen iyi bir cidar çözücüsü yönünde önemli bir adım da atılmış oldu. Söz konusu çözücünün yeteneklerini kavrayabilmek için ilk olarak halka şeklinde ince bir levhadan müteşekkil olan bir yapının doğal frekanslarının incelenmesi ve yöntem doğrulanması çalışmaları için hazırlanmış olan Afnor SDLS04/89 [1] tercih edildi.

L300 için 100m'de 7. titreşim modu

Resim.1) Aşağıda verilen Gmsh betiği ile SDLS04-89 çözümü için birinci derece 2B cidar elemanları ile hazırlanan hesaplama örgüsü. Buradaki çözünürlük; k=2 (2x)

Dış yarıçapı 0,2m ve iç yarıçapı 0,1m olan, 1mm kalınlığındaki dairevi bir halkadan ibaret cisim, iç kenarından sabit olarak mesnetlenmiştir. Aşağıdaki betik vasıtasıyla ilgilenen ziyaretçiler Gmsh yazılımı kullanarak bu cismi cidar elemanlarıyla 2 boyutlu olarak üretip kullanabilirler. Bu vesileyle, "Transfinite" yaklaşımı kullanılarak nasıl düzenli örgü oluşturulabileceği de örnek olarak gösterilmiş oldu ki eşdeğer bir örgü farklı yöntemlerle de imâl edilebilirdi.

♦ gmsh:
  1. // SDLS04/89
  2. // http://alarga.uskudar.biz
  3. ri = 0.10; // iç yarıçap, metre
  4. rd = 0.20; // dış yarıçap
  5. k = 2; // çözünürlük katsayısı
  6.  
  7. dd = k*13;
  8. dh = k*5;
  9. Point (0) = {0, 0, 0}; // merkez
  10. Point (1) = {ri, 0, 0};
  11. Point (2) = {rd, 0, 0};
  12. Point (3) = {0, ri, 0};
  13. Point (4) = {0, rd, 0};
  14. Point (5) = {-ri, 0, 0};
  15. Point (6) = {-rd, 0, 0};
  16. Point (7) = {0, -ri, 0};
  17. Point (8) = {0, -rd, 0};
  18. Line (1) = {1,2};
  19. Line (2) = {3,4};
  20. Line (3) = {5,6};
  21. Line (4) = {7,8};
  22. Circle (5) = {1,0,3};
  23. Circle (6) = {2,0,4};
  24. Circle (7) = {3,0,5};
  25. Circle (8) = {4,0,6};
  26. Circle (9) = {5,0,7};
  27. Circle (10) = {6,0,8};
  28. Circle (11) = {7,0,1};
  29. Circle (12) = {8,0,2};
  30. // ilk çeyrek
  31. Transfinite Line(1) = dh Using Progression 1;
  32. Transfinite Line(2) = dh Using Progression 1;
  33. Transfinite Line(5) = dd Using Progression 1;
  34. Transfinite Line(6) = dd Using Progression 1;
  35. Line Loop (1) = {1,6,-2,-5};
  36. Plane Surface (1) = {1};
  37. Transfinite Surface (1) = {1,2,3,4};
  38. Recombine Surface (1);
  39. // ikinci çeyrek
  40. Transfinite Line(2) = dh Using Progression 1;
  41. Transfinite Line(3) = dh Using Progression 1;
  42. Transfinite Line(7) = dd Using Progression 1;
  43. Transfinite Line(8) = dd Using Progression 1;
  44. Line Loop (2) = {2,8,-3,-7};
  45. Plane Surface (2) = {2};
  46. Transfinite Surface (2) = {3,4,5,6};
  47. Recombine Surface (2);
  48. // üçüncü çeyrek
  49. Transfinite Line(3) = dh Using Progression 1;
  50. Transfinite Line(4) = dh Using Progression 1;
  51. Transfinite Line(9) = dd Using Progression 1;
  52. Transfinite Line(10) = dd Using Progression 1;
  53. Line Loop (3) = {3,10,-4,-9};
  54. Plane Surface (3) = {3};
  55. Transfinite Surface (3) = {5,6,7,8};
  56. Recombine Surface (3);
  57. // dördüncü çeyrek
  58. Transfinite Line(1) = dh Using Progression 1;
  59. Transfinite Line(4) = dh Using Progression 1;
  60. Transfinite Line(11) = dd Using Progression 1;
  61. Transfinite Line(12) = dd Using Progression 1;
  62. Line Loop (4) = {4,12,-1,-11};
  63. Plane Surface (4) = {4};
  64. Transfinite Surface (4) = {1,2,7,8};
  65. Recombine Surface (4);
  66.  
  67. Mesh.ElementOrder = 1; // yalnızca 1.derece eleman kullanılabilir
  68.  
  69. // Elmer için adlandırmalar
  70. Physical Surface("1") = {Surface "*"};
  71. Physical Line("2") = {5,7,9,11};

Gmsh: halkaLevha.geo


Gmsh'den (burada 3.0.6 kullanıldı) Elmer yazılıma yönelik en uygun örgü ihracı *.msh dosya biçimi ile gerçekleştirilebilir. Dolayısıyla yukarıdaki betik kullanılarak 2B ve 1.derece örgü [Resim.1] üretildikten sonra mesela "halkaLevha.msh" olarak ihraç edilir ve bunu yaparken "version 2.0 ASCII" tercihi uygun olur, bu safhada diğer seçenekler ise işaretlenmemelidir.

Elmer (burada 8.4 kullanıldı) ile söz konusu hesaplama örgüsünü kullanabilmek için bir dönüştürme işlemine ihtiyaç vardır. Bu işlem için ise uçbirim üzerinde çalışan ElmerGrid1 adlı araç kullanılır;

♦ uçbirim:
ElmerGrid 14 2 halkaLevha.msh -autoclean

Bu ifadede "14" giriş dosyasının türünü (burada Gmsh'den gelen *.msh anlamında) "2" çıkış dosyasının türünü (burada ElmerSolver anlamında) tanımlamaktadır, devamında dönüştürülecek dosyanın adı girilmiştir ve "-autoclean" ise bu işlem esnasında ihtiyaç duyulmayan artık verilerin temizlenmesini sağlar. Nihayetinde, giriş doyası ile aynı isimdeki dizin içinde Elmer tarafından kullanılmaya uygun hesaplama örgüsü elde edilmiş olur. Söz konusu dizin içinde aşağıdaki bileşenler mevcut olacaktır:

  1. entities.sif
  2. mesh.boundary
  3. mesh.elements
  4. mesh.header
  5. mesh.names
  6. mesh.nodes

Bu safhadan sonra iki farklı yol ile devam edilebilir. Bunlardan ilki ELmerGUI adlı grafik arayüzü kullanarak yukarıdaki örgü dosyasını (daha doğrusu dizinini) açıp çözüm ayarları için tıklayarak yola devam etmektir. Bununla birlikte ben bu yöntemi pek sevemedim, dolaysı ile şimdilik ikinci yoldan devam edelim.

İlk olarak yukarıdaki örgü dizini içinde burada "halkaCidar.sif" olarak adlandırlacak boş bir metin dosyası oluşturulur. Elmer için gerek duyulan bütün çözücü ayarları bu *.sif dosyası üzerinden idâre edilmektedir. Başlangıç için bu yaklaşım biraz zahmetli gibi görünse de aslında hem çok daha hızlı ve etkin çalışmayı hem de zaman içinde yazılımın yeteneklerine daha iyi hâkim olabilmeyi sağlayabilmektedir.

♦ elmer:
  1. ! SDLS04/89
  2. ! 2B cidar elemanları ile doğal frekans çalışması
  3. ! http://alarga.uskudar.biz
  4.  
  5. Check Keywords "Warn"
  6.  
  7. Header
  8. Mesh DB "." ""
  9. End
  10.  
  11. ! Benzetimin tanımlanması
  12. Simulation
  13. Max Output Level = 6
  14. Coordinate System = Cartesian 3D
  15. Simulation Type = Steady
  16. Steady State Max Iterations = 1
  17. End
  18.  
  19. ! Katı cismin tanımlanması
  20. Body 1
  21. Equation = 1
  22. Material = 1
  23. End
  24.  
  25. ! Gereken malzeme değişkenlerinin tanımlanması
  26. ! Hesaplama örgüsüne de uyumlu olarak SI birim sistemine göre
  27. Material 1
  28. Density = 7800
  29. Shell Thickness = 0.001
  30. Youngs Modulus = 210e9
  31. Poisson Ratio = 0.3
  32. End
  33.  
  34. Equation 1 :: Active Solvers(1) = 1 2
  35.  
  36. ! Cidar çözücüsü ayarları
  37. ! İlk 21 mod için "Doğrudan" çözücü ile
  38. Solver 1
  39. Equation = "Shell equations"
  40. Procedure = "ShellSolver" "ShellSolver"
  41. Variable = U
  42. Displace Mesh = False
  43. Linear System Solver = Direct !"Iterative"
  44.  
  45. ! Eğer kullanılırsa "Yakınsamalı" çözücü ayarları
  46. Linear System Preconditioning = ILU2
  47. Linear System Max Iterations = 1000
  48. Linear System Convergence Tolerance = 1e-7
  49. Linear System Iterative Method = GCR
  50. Linear System GCR Restart = 300
  51. Linear System Abort Not Converged = False
  52. Steady State Convergence Tolerance = 1e-09
  53.  
  54. ! Temel Eigen ayarları
  55. Eigen Analysis = True
  56. Eigen System Values = 21
  57. Eigen System Convergence Tolerance = Real 1.0e-6
  58. Eigen System Select = Smallest Magnitude
  59. End
  60.  
  61. ! Hesaplanan frekans değerlerinin dosyaya yazılması
  62. ! Sonuçlar özdeğerdir, ayrıca frekansa dönüştürülmeleri gerekir
  63. Solver 2
  64. Equation = "SaveScalars"
  65. Filename = f.dat
  66. Procedure = "SaveData" "SaveScalars"
  67. Save EigenValues = Logical True
  68. Show Norm Index = 1
  69. End
  70.  
  71. ! Kartezyen koordinat sistemine göre
  72. ! Sınır şartlarının tanımlanması
  73. ! İç kenar (burada "1" olarak tanımlı) sabit mesnet
  74. Boundary Condition 1
  75. Target Boundaries(1) = 1
  76. U 1 = Real 0 ! x yönünde yerdeğiştirme
  77. U 2 = Real 0 ! y yönünde yerdeğiştirme
  78. U 3 = Real 0 ! z yönünde yerdeğiştirme
  79. U 4 = Real 0 ! x ekseni etrafında dönme
  80. U 5 = Real 0 ! y ekseni etrafında dönme
  81. U 6 = Real 0 ! z ekseni etrafında dönme
  82. End

Elmer: halkaCidar.sif


Hemen yukarıda verilen numune .sif dosyasının içeriği olduğu gibi kopyalanıp daha önce oluşturulan henüz boş "halkaCidar.sif" içine yapıştırıldığında artık çözüm için hazır duruma gelinmiş olur. Tanımlanan problemi çözmek için atılması gereken son adım:

♦ uçbirim:
ElmerSolver halkaCidar.sif

Eğer uygun bir işletim sistemi üzerinde güncel Elmer sürümüne sahip bir bilgisayar ile çalışıyorsanız, uçbirim penceresi içinde çözümün ilerleyerek birkaç saniye içinde tamamlandığını görebilirsiniz.

Herhangi bir sorun çıkmadıysa aynı dizin içinde, çözücü içinde yapılan ayarlara bağlı olarak talep edilen "f.dat" ve "f.dat.names" adlı iki yeni sonuç dosyası oluşacaktır ki bunlar verilen cismin en küçük ilk yirmibir özdeğerinden ibarettir. Burada sadece doğal frekans değerlerine odaklandığımız için mod şekillerinin görüntülenebileceği sonuç dosyaları oluşturulmadı.

Fakat şunu da belirtmek gerekli ki Elmer frekans (f) değerlerini değil özdeğerleri (c) beyan etmektedir. Bu durumda son olarak, hesaplanan özdeğerlerin (eigendeğeri) frekanslara (Hz) dönüştürülmesi gerekir:

$$ \Large f = \frac{\sqrt{c}}{2\pi} $$


mod Afnor 1x 2x 3x 4x 5x Nx Nastran
1 79,26 82,55 81,61 81,46 81,42 81,40 79,22
2,3 81,09 84,10 83,24 83,11 83,07 83,05 80,72
4,5 89,63 92,51 91,66 91,88 91,86 91,85 88,83
6,7 112,79 116,12 115,94 115,92 115,91 115,91 111,3
8,9 - 160,64 160,01 159,89 159,86 159,85 152,7
10,11 - 227,07 224,01 223,48 223,31 223,23 212,9
12,13 - 315,17 306,46 304,99 304,50 304,28 290,1
14,15 - 425,33 406,25 403,09 402,03 401,56 382,9
16,17 - 558,81 522,81 516,96 515,00 514,11 490,3
18 518,85 609,35 545,90 537,13 534,34 533,10 510,9
düğüm - 240 1.000 2.280 4.080 6.400 440
hücre - 192 900 2.128 3.376 6.144 400
eleman
- 404 404 404 404 404 CQuad4

Çizelge.1) Yukarıda verilen Gmsh betiği üzerindeki k değişkenine [1, 2, 3, 4, 5] bağlı olarak beş farklı örgü çözünürlüğü ile ve Elmer'in yeni cidar çözücüsü kullanılarak elde edilen doğal frekans değerlerinin (Hz) Afnor ve ticari bir yazılım ile karşılaştırılması.


5x örgüsü ele alındığında yeni Elmer çözücüsü, Afnor [1] verilerine nazaran %2,53(±0,17) hata oranına sahip sonuçlar üretmiştir. [Çizelge.1] üzerinde görüldüğü gibi Nastran sonuçlarının hata oranları çok daha düşüktür. Bununla birlikte Elmer sonuçlarındaki sapma frekanstan bağımsız olarak sabit bir seyir izlemekte, Nastran [2] sonuçları için ise frekans arttıkça sapma oranı giderek yükselmektedir. Bu sebeple çok daha geniş bantta bir karşılaştırma yapmak da ilgi çekici olabilir...

Aradaki sonuç farkının temel açıklaması olarak CQuad4 elemanının 404'e oranla, en azından bu problem için daha uygun olduğu düşünülebilir. Belki düz levhadan farklı olarak yüksek yüzey eğriliğine sahip bir cisim ile ikinci bir karşılaştırma yapmak da uygun olabilir.

♦ Açıklamalar

1. ElmerGrid aracının geniş ithal/ihraç yeteneklerini ve diğer seçenekleri öğrenebilmek için kılavuzu [5] incelemek tavsiye edilir [geri]

♦ Kaynaklar

1. Guide de validation des progiciels de calcul de structures - Afnor Technique, 1990, Société Française des Mécanicien
2. NX Nastran Verification Manual, 2007
3. Elmer genelağ sitesi - http://www.elmerfem.org
4. Elmer Models Manual, 2019, Peter Råback - Mika Malinen - Juha Ruokolainen - Antti Pursula - Thomas Zwinger
5. ElmerGrid Manual, 2015, Peter Råback
 
Telif Hakkı © 1997-2022 [uskudar.biz]
- sürüm 6.0.0 - Bütün Hakları Saklıdır.
Kullanım şartları için tıklayın!