Derleme: Gerris
Cuma, 23 Temmuz 2021

Gerris Akış Çözücüsü sahip olduğu yetenekler sebebiyle önemli bir akışkan mekaniği yazılımıdır ve aynı zamanda açık-kaynaklıdır. Stéphane Popinet tarafından 2000-2013 arasında geliştirilen yazılım, uzun zamandır ilerlemesi durmuş olsa da belli türde problemler için bilhassa akademik çevreler tarafından hâlâ tercih edilmekte, kullanılmaktadır.

Nesneye dayalı bir tarzda C diliyle yazılmış olan Gerris, açık-kaynak yazılımların doğası gereği, Hesaplamalı Akışkan Dinamiği alanında, yazılım geliştirme temelinde çalışmak isteyen gençler için bâzı ilginç imkânlar sağlayabilecek bir yapıdadır ki Dünya genelinde bu tür özelleştirilmiş Gerris türevleri üzerinden yürütülmekte olan çalışmalar da mevcuttur. Ayrıca ilerleyen dönemde bu sitede Gerris çözücüsü kullanan bâzı örnek çalışmaların dosyaları da sunulacaktır. Bu sebeplerle önce Gerris çözücüsünün kurulmasını ele almak uygun olurdu.

Bilgisayar Destekli Mühendislik uygulamaları açısından yaygınlık ve kolaylık göz önüne alınarak mevzu Ubuntu 20.04 LTS sürümü temelinde açıklanacaktır ama süreç benzer şekilde farklı Linux dağıtımlarına da rahatlıkla uygulanabilir.

Aslında söz konusu işletim sistemine Gerris'in son sürümünü kurmak son derece kolaydır:

♦ uçbirim:
sudo apt install gerris

hepsi bu. Diğer taraftan burada yazılımın derlenerek kurulması ele alınacaktır. Bunun iki temel sebebi var; kaynak koduna kolayca müdahale edebilmek ve yukarıdaki yöntemle kurulamayan bâzı ek modüllerin kurulabilmesini sağlamak ki burada odaklanılacak modül sâdece hypre olacak.

O zaman hypre'nin derlenerek kurulması ile başlayalım. Bu arada belirtmek uygun olur, bâzı denizcilik uygulamaları açısından son derece yetenekli olan ve düzenli bir şekilde gelişmekte olan Reef3D adlı yazılımı derleyebilmek için de gerekli ilk adım yine hypre'dir, gerisi kolaydır.

# Hypre

Bu safhadan sonra büyük ölçüde uçbirim üzerinden çalışılacak, kopyala-yapıştır yeterli olacaktır.
İlk önce bağımlılıkları karşılamak gerekli:

♦ uçbirim:
sudo apt install build-essential gfortran unzip make wget git openmpi-bin libopenmpi-dev

Derlenecek kaynak kodu alalım:

♦ uçbirim:
git clone https://github.com/hypre-space/hypre

♦ uçbirim:
cd hypre/src

Derleme ayarlarını yapacak betiği çalıştıralım:

♦ uçbirim:
./configure --prefix=$HYPRE --enable-shared

Derleyelim:

♦ uçbirim:
make all

Kuralım:

♦ uçbirim:
sudo make install

Şimdi "/home/kullanıcıAdı/" dizininiz içindeki ".bashrc" dosyasının sonuna tercih ettiğiniz metin düzenleyici ile aşağıdaki satırların ilâve edilmesi gerekli ki sonrasında rahat edelim. Bu safha uçbirim üzerinden de uygulanabilirdi...

♦ uçbirim:
export HYPRE="/usr/local/hypre" export LD_LIBRARY_PATH=${HYPRE}/lib:$LD_LIBRARY_PATH

# GTS

İkinci olarak GTS'nin derlenmesi gerekli:

♦ uçbirim:
wget http://gts.sf.net/gts-snapshot.tar.gz

♦ uçbirim:
tar -xvzf gts-snapshot.tar.gz

♦ uçbirim:
cd gts-snapshot-121130

♦ uçbirim:
./configure

♦ uçbirim:
make

♦ uçbirim:
sudo make install

♦ uçbirim:
sudo /sbin/ldconfig

# Gerris

Üçüncü olarak Gerris çözücüsü derlenmeli, hypre modülü ile birlikte:

♦ uçbirim:
sudo apt install libglib2.0-dev libnetpbm10-dev m4 libproj-dev libgsl0-dev libnetcdf-dev libode-dev libfftw3-dev libgtkglext1-dev libstartup-notification0-dev ffmpeg libglib2.0-dev openmpi-bin libopenmpi-dev

♦ uçbirim:
wget http://gerris.dalembert.upmc.fr/gerris/gerris-snapshot.tar.gz

♦ uçbirim:
tar -xvzf gerris-snapshot.tar.gz

♦ uçbirim:
cd gerris-snapshot-131206

Bu arada yazılımın yeni MPI sürümündeki bâzı komutlarla sıkıntısı olduğu için en azından bir adet değişiklik yapmak gerekecek. Bu doğrultuda "/src/" içindeki "init.c" dosyasının 416. satırındaki;
"MPI_Errhandler_set" ifâdesi "MPI_Comm_set_errhandler" ile değiştirilmek zorunda!

♦ uçbirim:
CPPFLAGS=-I$HYPRE/include LDFLAGS="-L$HYPRE/lib -lmpi_cxx" ./configure


Gerris derleme ayarları özeti

Resim.1) Tam bu safhada uçbirimizde yukarıdaki gibi bir sonuç görmelisiniz, eğer "hypre" = "evet" değilse bir sorun var demektir!


♦ uçbirim:
make

♦ uçbirim:
sudo make install

♦ uçbirim:
sudo /sbin/ldconfig

# GfsView

Dördüncü safhada son-işlemcinin derlenmesi gerekli:

♦ uçbirim:
wget http://gerris.dalembert.upmc.fr/gerris/gfsview-snapshot.tar.gz

♦ uçbirim:
tar -xvzf gfsview-snapshot.tar.gz

♦ uçbirim:
cd gfsview-snapshot-121130

♦ uçbirim:
./configure

♦ uçbirim:
make

♦ uçbirim:
sudo make install

♦ uçbirim:
sudo /sbin/ldconfig


Böylece Gerris akış çözücüsünün derlenmesi tamamlandı. Denemek için:

♦ uçbirim:
gerris2D -V


Gerris ilk çalıştırma

Resim.2) Yukarıdaki komut sonucunda resimdekini görmelisiniz, aksi taktirde baştan denemek gerekir. Eğer yukarıda bir hata mevcut olduğundan eminseniz haber verin...


Güzel hesaplamalar!

♦ Kaynaklar

1. Gerris genelağ sitesi - http://gfs.sourceforge.net/wiki/index.php/Main_Page
2. Hypre genelağ sitesi - https://computing.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods/software
 
Telif Hakkı © 1997-2021 [uskudar.biz]
- sürüm 6.0.0 - Bütün Hakları Saklıdır.
Kullanım şartları için tıklayın!