SeyrüseferİhbarnameEmare → SU2 v6.0.0 Yayınlandı

SU2 v6.0.0 Yayınlandı

İhbarname - Emare
Çarşamba, 21 Şubat 2018

Önceki sürümden hemen hemen bir yıl sonra, tam olarak bir hafta önce SU2'nin yeni sürümü yayınlandı. Açık-kaynak camiasına katıldığı günden itibaren düzenli bir gelişme gösteren bir Hesaplamalı Akışkan Dinamiği (HAD) yazılımı olan SU2'nin bu yeni sürümü ile birlikte geliştiriciler ve kullanıcılar açısından kritik kütleye ulaştığı da söylenebilir.

Bu sebeple önümüzdeki dönemde projenin yüksek bir ivme ile gelişimi sürdüreceği tahmin edilebilir. Stanford Üniversitesi tarafından başlatılan çalışmaya yakın dönemde Hollanda, İngiltere ve İtalya'daki önemli teknik üniversiteler tarafından da akademik temelli destek verilmeye başlanması bu konudaki beklentileri oldukça ileri seviye taşımıştır.


SU2 v6 ile bir DES çalışması

Resim.1) Yeni sürüm ile ilk kez kullanılmaya başlanan DES türbülans modeli ile elde edilmiş, bir kanat çevresindeki 3B girdap yapılarının görüntüsü.[1]


v6 sürümü ile birlikte projenin geleceği açısından bazı önemli adımlar da atıldı ki bunların başında aynı tarihte yayına başlayan SU2 Geliştiriciler Derneği [2] gelmektedir. Falcon kod adlı bu yeni sürüm ile ulaşılan bazı önemli hedefler:

  1. Bir melez RANS1/LES2 türbülans modelleme yaklaşımı olan DES3 [Resim.1] yeteneğinin ilk kez sağlanması.
  2. Bâzı yeni SA4 türbülans modeli türevlerinin ilave edilmesi.
  3. Python 2 ve 3 için desteğinin eklenmesi,
  4. Turbomakinalar için dahili-akış modelleme yeteneklerinin önemli oranda geliştirilmesi,
  5. Akış-Yapı Etkileşimi (AYE) çalışmalarında da optimizasyon yapabilmeyi sağlayan yeni bileşik çözücü,

olarak sayılabilir. Bunlar yanında geliştirme safhasında olan pek çok yeni yetenek de mevcuttur. NiCF5 gibi sesüstü/yüksek-sesüstü akış çalışmaları ile sCO26 ve benzeri yeni nesil termodinamik sistemler için geliştirilen modeller vesaire bu açıdan örnek olarak gösterilebilir.


SU2 Paralel Derleme

Geçen sene SU2'nin Linux tabanlı sistemler üzerinde derlenerek kurulması konusu kısaca ele alınmıştı fakat orada kullanılan yöntem yazılımla tanışmak için daha kolay ve hızlı bir kurulum sağlaması amacıyla paralel kurulumu içermeyecek şekilde sâde tutulmuştu. Bununla birlikte yazılımı daha verimli kullanabilmek için çoklu işlemci yeteneğini gözardı etmemek gerekeceği aşikârdır.

Bu durumda v6'nın paralel yeteneği ile birlikte nasıl derlenip kullanılacağını ele almak belki faydalı olabilir, aslına bakılırsa zor da değil...

Burada açıklanacak yöntem bir Xubuntu 16.04 LTS üzerinde denendiği için herhangi bir güncel Debian/Ubuntu temelli sistem üzerinde de aynı şekilde işleyebilir. Kullanılan yaklaşımı diğer Linux türevleri üzerine uyarlamak da zor olmasa gerek.

SU2 paralel çözüm yeteneği için üç farklı açık-kaynak altyapıyı birden desteklemektedir ki bunlar; METIS, MPICH2 ve OpenMPI olarak sıralanır. Burada OpenMPI kullanılacak.

Öncelikle gerekli bazı dosyaların sisteme kurulu olması gerekli bunların başında doğal olarak libopenmpi-dev paketi ve bağlıları gelmektedir. İlave olarak numpy ve scipy'yi de kurmak gerekir. Bütün bunların paket yöneticisi veya uçbirim vasıtasıyla sisteme kurulmuş olduğu varsayılırsa;

Önce SU2 kaynak kodu indirilir:


♦ Uçbirim:
git clone https://github.com/su2code/SU2


Sonra yapılandırma gerçekleştirilir.


♦ Uçbirim:
./configure --prefix=/opt/SU2+MPI/ --enable-mpi --with-cc=/usr/bin/mpicc.openmpi --with-cxx=/usr/bin/mpicxx.openmpi


Yapılandırma işleminin sonucu aşağıdaki gibi gerçekleşmelidir. Eğer mpi desteğinin mevcut olmadığı beyan ediliyorsa yukarıdaki adımlarda bir eksiklik veya hata söz konusu olabilir.


♦ Uçbirim:
Build Configuration Summary:   Source code location: /home/x/SU2 Install location: /opt/SU2+MPI Version: 6.0.0 C++ Compiler: /usr/bin/mpicxx.openmpi C Compiler: /usr/bin/mpicc.openmpi Preprocessor flags: -DHAVE_MPI Compiler flags: -g -O2 Linker flags: MPI support: yes Metis support: yes Parmetis support: yes TecIO support: yes CGNS support: yes HDF5 support: no SZIP support: no ZLIB support: no Mutation++ support: no Jsoncpp support: no LAPACK support: no Datatype support: double yes complex no codi_reverse no codi_forward no ... Build SU2_CFD: yes Build SU2_DOT: yes Build SU2_MSH: yes Build SU2_DEF: yes Build SU2_SOL: yes Build SU2_GEO: yes Build Py Wrapper: no   Please be sure to add the $SU2_HOME and $SU2_RUN environment variables, and update your $PATH (and $PYTHONPATH if applicable) with $SU2_RUN.   Based on the input to this configuration, add these lines to your .bashrc file:   export SU2_RUN="/opt/SU2+MPI/bin" export SU2_HOME="/home/x/SU2" export PATH=$PATH:$SU2_RUN export PYTHONPATH=$PYTHONPATH:$SU2_RUN


Eğer tamamsa derleme başlatılabilir. Yukarıda görülebildiği üzere mpi desteği tamam.


♦ Uçbirim:
make


Kullanılan donanımın gücüne bağlı olarak kabaca bir saat kadar sürebilecek olan derleme işleminin tamamlanmasından sonra yazılım sisteme aşağıdaki komut ile kurulur:


♦ Uçbirim:
sudo make install


Derleme esnasında kullanılan ve artık ihtiyaç duyulmayan dosyaların temizlenmesi için:


♦ Uçbirim:
make clean


Nihayet .bashrc dosyasının sonuna aşağıdaki veri ilave edilir:


♦ Uçbirim:
export SU2_RUN="/opt/SU2+MPI/bin" export SU2_HOME="/home/x/SU2" export PATH=$PATH:$SU2_RUN export PYTHONPATH=$PYTHONPATH:$SU2_RUN


Kurulum tamamlandı. Paralel çözüm için iki farklı yöntem mevcut, hızlı başlangıç için yazılımla birlikte gelen örnek çalışma dosyaları kullanılırsa:


♦ Uçbirim:
mpirun -n 2 SU2_CFD inv_NACA0012.cfg


veya python ile


♦ Uçbirim:
parallel_computation.py -n 2 -f inv_NACA0012.cfg


İkincisini kullanmanız tavsiye edilir. Anlaşılabileceği üzere her iki komut içinde beyan edilen "2" kullanılacak işlemci sayısını ifade etmektedir ki eldeki donanıma bağlı olarak, ihtiyaca uygun şekilde ayarlanabilir.

♦ Açıklamalar

1. RANS: Reynolds Averaged Navier-Stokes [geri]
2. LES: Large Eddy Simulation / Büyük Girdap Benzetimi [geri]
3. DES: Detached Eddy Simulation / Ayrılmış Girdap Benzetimi [geri]
4. s-A: Spalart-Allmaras [geri]
5. Non-ideal Compressible Flow / İdeal Olmayan Sıkıştırılabilir Akış [geri]
6. sCO2 - Süperkritik Karbondioksit [geri]

♦ Kaynaklar

1. SU2 genelağ sitesi - https://su2code.github.io/
2. SU2 geliştiriciler derneği - http://su2devsociety.org/
3. SU2 kaynak kodu - https://github.com/su2code/SU2
 







Telif Hakkı © 1997-2020 [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.