SeyrüseferSeyir DefteriMühendislik → Dörtyüzlü Çokyüzlüye Karşı

Dörtyüzlü Çokyüzlüye Karşı

Seyir Defteri - Mühendislik
Pazar, 29 Temmuz 2018

Çokyüzlü Örgü ve DümensuyuGeçmiş dönemde 6:1 Uzatılmış Küre geometrisi hakkında muhtelif yazılar yayınlanmıştı ki konuyla alâkalı deney verilerine [7] vs. gibi kaynaklar üzerinden kolayca ulaşılabilmesi, Hesaplamalı Akışkan Dinamiği incelemelerinin bâzı alanları için bu çalışmanın gâyet uygun bir başlangıç noktası olmasına sebep olmuştu.

Daha yakın dönemde söz konusu cisim temelinde ele alınan bazı önişlem örnek çalışmalarının devamı niteliğinde bu kez Gmsh, OpenFOAM, Gnuplot ve Paraview kullanılarak, geometri olarak kolay görünen ama akış şartları açısından hesaplamalı yöntemleri oldukça zorlayabilen böyle bir konunun, bir örnek olarak başlangıcından sonuna kadar nasıl ele alınabileceği adım adım gösterilmeye çalışılacak.

Böylelikle bahsi geçen yazılımlarla henüz çalışmamış veya yeni başlamış olanların mevzuyu daha kolay ve hızlı kavrayabilmelerine yönelik ve bu noktadan hareketle de dolaylı olarak uzun vâdede ülkenin ve milletin çıkarına olabilecek, küçücük bir fayda sağlanabilirse ne alâ!

Fakat burada verilen örneğin, sonuç odaklı olmaktan ziyâde, aslında bir işleyiş kavramını açıklamaktan ibaret olduğunu ve kullanılan çözüm yaklaşımlarına bağlı pek çok değişkenin ve tercihin sonuçlar üzerinde doğrudan önemli etkileri olacağını da göz ardı etmemek gereklidir.

Öncelikle ziyaretçinin mikisoft işletim sistemlerini kullanmadığı varsayıyorum ki zâten bir mühendis neden böyle birşey yapsın? Dolayısı ile konunun ilerleyişi Linux işletim sistemi altında çalıştığınız varsayılarak ve büyük ölçüde uçbirim penceresi üzerinden yürüyecek...



üçgen çokgen
noktalar 761.976 1.247.284
yüzler 3.126.346 2.761.121
dâhili yüzler 3.060.086 2.710.497
hücreler 1.177.824 761.976
hücre başına yüz 5,25 7,18

altıyüzlü 310.464 322.414
beşyüzlü 840.048 0
dörtyüzlü 27.312 0
çok yüzlü 0 439.562
Toplam Hücre 1.177.828 761.976

Çizelge.1) Verilen betik üzerinden elde edilen üçgen temelli örgü ile polyDualMesh ile çokgene dönüştürülmüş örgüler arasındaki fizikî karşılaştırma.


İlk safhada bu çalışmada kullanılacak gereken bütün temel OpenFOAM dosyaları ile ihtiyaç duyulan Gmsh [2] ve Gnuplot [5] betiklerinin sunulduğu küçük bir dosyayı mesela masaüstüne veya istediğiniz herhangi bir çalışma dizinine indirmeniz gerekli;


♦ Uçbirim:
wget http://uskudar.biz/dosyalar/6-1uK3B-01.tar.gz


Verilen dosyalar Gmsh 3.0.x ve OpenFOAM 2.3.x ile tam uyumlu şekilde hazırlanmıştır. Farklı sürümlerde de çalışabilirler ama bilhassa daha yeni OpenFOAM sürümleri kullanıldığında kodlama ve altyapı değişikliklerinden kaynaklanan birtakım uyumsuzluklar sebebiyle bâzı düzeltmelere ihtiyaç duyulması kuvvetle muhtemeldir ki uçbirim içinde beyan edilecek olası sorunlar incelenerek gerekli düzeltmeler de kolayca yapılabilir. OpenFOAM 2.3.x sürümlerine kaynak [3] üzerinden rahatlıkla ulaşılabilir.


Tar!

Resim.1) Yorumsuz ama hemen aşağıdaki mevzu ile de pek alâkasız değil ;) [1]


Şimdi bu sıkıştırılmış *.tar.gz dosyasını patlamadan(!) açmalı;


♦ Uçbirim:
tar -xzvf 6-1uK3B-01.tar.gz


Dizinin içine girilmeli;


♦ Uçbirim:
cd 6-1uK3B-01


Tamamen daha önce ele alındığı şekilde hazırlanmış Gmsh betiği ile hesaplama ortamını meydana getirecek sonlu hacim elemanlarının imâli için;


♦ Uçbirim:
time gmsh 6-1uzatılmışKüre3B.geo -3 6-1uzatılmışKüre3B.msh


Söz konusu 6-1uzatılmışKüre3B.geo adlı betik doğrudan Gmsh grafik arayüzü ile açılıp incelenebilir ve aynı hesaplama örgüsü arayüz üzerinden de kolayca oluşturulabilirdi. Fakat böylesi çok daha çabuk değil mi? Buradaki -3, çıkışın 3 Boyutlu örgü olması gerektiğini ve son bölümdeki *.msh alınacak dosyasının ismini ifâde etmektedir.

İlk komut olan time ise herhangi bir uçbirim işleminde gerçekleşen çalışma süresinin beyân edilmesi için kullanılabilir ki aslında burada kullanmak pek gerekli değildi. Ama bu sâyede benim işlemcinin söz konusu *.geo betiği 16,554sn'de tamamlayabildiği anlaşılmış oldu. Şimdi değil ama başka bâzı durumlarda işe yarar bir veri olabilirdi.

Şimdi de Gmsh tarafından üretilen ve yazılan 6-1uzatılmışKüre3B.msh adını verdiğimiz bu örgünün OpenFOAM'un işletebileceği hâle dönüştürülebilmesi için;


♦ Uçbirim:
gmshToFoam 6-1uzatılmışKüre3B.msh


Devam etmeden önce elde edilen OpenFOAM örgüsünün sağlık durumuna bi' göz atmak daima faydalı olabilir;


♦ Uçbirim:
checkMesh


Mevcut ayarlar ve betikler değiştirilmediyse herşey yolunca olmalı. Bununla birlikte hâlen bâzı küçük düzeltmelere ihtiyaç da var;


♦ Uçbirim:
gedit constant/polyMesh/boundary


Böylece gedit [6] metin düzenleyicisinde boundary dosyası açıldı. Fakat ben gedit'i tercih etsem de gerek uçbirim gerekse grafik arayüz üzerinde çalışan daha başka pek çok güzel metin düzenleyici mevcut, farklı birini kullanıyorsanız komutu buna göre değiştirmek gerekli...

Neyse, boundary içinde type ve physicalType tanımlamalarında bazı değişikliklere ihtiyaç var:

  1. cisim için patch, wall ile
  2. merkez için patch, symmetry ile

değiştirilip kaydedildikten sonra nihayet çözüm safhasına gelmiş olacaksınız. Diğer ayarlar hazır olduğu için artık tek yapılmasın gereken;


♦ Uçbirim:
simpleFoam >log


Sâdece simpleFoam ile de hesaplama başlatılabilirdi ama bu durumda yakınsama ile ilgili veriler sadece uçbirim penceresinden akardı. İlâve edilen >log komutu ile ise söz konusu veriler dinamik olarak log adlı bir dosyaya yazılabilmektedir ki gerek daha sonraki bir zamanda incelemeye imkân sağlayabilir ve gerekse buradaki asıl amacımız olan artık değerlerin gerçek zamanlı olarak izlenebilmesine olanak sağlar. Aslında bu amaçla kullanılabilecek başka yöntemler de mevcut ama ben bu şekilde kullanmayı tercih ediyorum, biraz zevk meselesi gibi...

Bu log dosyasını izleyebilmek için burada Gnuplot kullanılacak. Fakat öncelikle sisteminizde gnuplot ve gnuplot-x11 kurulu olmalıdır, burada kullanılan gnuplot sürümü 4.6.4 idi ve farklı sürümlerde betikler üzerinde bâzı ufak değişikliklere belki ihtiyaç olabilir.

Söz konusu dosyadan izlenmesi istenen verileri çeken Gnuplot betiği kök dizininde zâten mevcut durumda ve tek yapılması gereken kök dizininde yeni bir uçbirim penceresi açmak ve şunu çalıştırmak;


♦ Uçbirim:
gnuplot bakiyeler


Şimdi çözüm esnasında artık değerlerin değişimleri, arada bazı küçük farklar olsa da aşağıdaki [Resim.2]'ye benzer bir şekilde ve gerçek zamanlı olarak izlenebilecektir. İlave olarak cisim üzerinde oluşan kuvvetlerin değişimini de verilen bir başka Gnuplot betiği ile izleyebilmek mümkündür;


♦ Uçbirim:
gnuplot kuvvetler


Dötyüzlü ve Çokyüzlü çözümlerinin yakınsama davranışıları

Resim.2) Burada verilen örnek Dötyüzlü ve Çokyüzlü çözümleri ile ulaşılan yakınsama davranışları.


Buraya kadar, düzenli bir sınır tabaka katmanına sahip üçgen temelli melez hesaplama örgüsü ile çalışıldı. Önceki bölümde açıklandığı şekilde bu üçgen temelli (3B için dörtyüzlü) hesaplama hücreleri OpenFOAM içinde mevcut olan polyDualMesh ile çokgen temelli (3B için çokyüzlü) elemanlara dönüştürülerek bazı kazançlar elde edebilmek de mümkündür.

Her iki tür eleman yapılarına ait temele veriler [Çizelge.1] üzerinde gösterildiği gibi gerçekleşmişti. Bunun çözüme yansıması ise şu şekilde oldu:

  1. Her bir tekerrür için çözüm süreleri çokyüzlü elemanlar lehine belirgin şekilde iyileşti. Bu husus önemini bilhassa zaman bağlı (değişken hâl) çözüm arandığında kendi belli edebilir.
  2. Yakınsama davranışı çokyüzlü elemanlar lehine belirgin şekilde iyileşti ve yakınsama daha etkili bir şekilde ve daha hızlı sonuçlandı. Bu çalışmada yakınsama sınırı 1e-05 olarak ayarlanmıştır.


Simetri düzleminde çokyüzlü hücreler ile elde edilen Uz bileşeninin dağılımı

Resim.3) Re 4,2e06 ve 20derece hücum açısı için simetri düzleminde çokyüzlü hücreler ile elde edilen Uz bileşeninin dağılımı.


Sonuç olarak bu problemde durağan hâl çözücüsü (simpleFoam) için tek işlemci çekirdeği ile ulaşılan toplam çözüm süreleri;

  • dörtyüzlü örgü için 465 tekerrür ve 2.068sn
  • çokyüzlü örgü için 267 tekerrür ve 969sn

olarak gerçekleşti ki aradaki büyük süre farkı dikkât çekicidir. Her iki yaklaşım ile elde edilen sonuçların birbirleriyle ve deney sonuçlarıyla karşılaştırılması ise size kaldı...


Verilen çalıma dosyalarının çözümü ile elde edilen yArtı dağılımı

Resim.4) Verilen çalıma dosyalarının (dörtyüzlü) çözümü ile elde edilen duvar üzerindeki yArtı dağılımı.
Böylesi zorlu bir y+ dağılımında nutUSpaldingWallFunction çok etkin olabiliyor.


Hesaplamaları tamamladıktan sonra sonişlem aşamasına geçerek sonuçları değerlendirmek için en uygun (ama tek değil) yaklaşım Paraview [4] kullanmak. Bu safhaya geçmeden önce OpenFOAM'a ait birkaç sonişlem aracını kullanmak faydalı olabilir;


♦ Uçbirim:
yPlusRAS vorticity Q


Yine kök dizininde, uçbirim üzerinden bu komutları (ayrı ayrı) çalıştırarak önce önemli bir kavram olan duvar üzerindeki yArtı dağılımını [Resim.4] elde edebilir sonra da ortam içindeki girdaplılığı inceleme imkânına kavuşabileceksiniz ve nihâyet Paraview başlatılabilir;


♦ Uçbirim:
paraFoam


Bitti!

♦ Kaynaklar

1. Resim.1) - https://xkcd.com/1168/
2. Gmsh genelağ sitesi - http://gmsh.info
3. OpenFoam 2.3.x için - https://openfoam.org/download/archive/page/3/
4. Paraview genelağ sitesi - https://www.paraview.org
5. Gnuplot genelağ sitesi - http://www.gnuplot.info
6. gedit genelağ sitesi - https://help.gnome.org/users/gedit/
7. Denel Veriler: Steady Flow Over a 6:1 Prolate Spheroid - http://www.dept.aoe.vt.edu/~simpson/prolatespheroid/
8. Mean Velocity and Turbulence Measurements of Flow around a 6 : 1 Prolate Spheroid, 1991, K. M. Barber - R. L. Simpson
9. Three-dimensional Boundary Layer and Flow Field Data of an Inclined Prolate Spheroid, 1993, H. P. Kreplin
 







Telif Hakkı © 1997-2018 [uskudar.biz] - sürüm 5.5.1 - Bütün Hakları Saklıdır. Kullanım şartları için tıklayın!
Joomla! GNU/GPL lisansı altında özgür bir yazılımdır.