Parmod szimulációs környezet kialakítása és fejlesztése
TÁMOP-4.2.2-08/1-2008-0021
Alprojekt:
1. Parmod szimulációs környezet kialakítása és fejlesztése
A kutatócsoport a legtöbb munkát a Parmod szimulációs környezet és a benne megvalósított szimulációk fejlesztésére fordította. A Parmod („Párhuzamos Modellező”) egy C++ programnyelven írt szoftver-keretrendszer áramlási folyamatok numerikus szimulációjára. Fő jellemzője, hogy 2D és 3D nem-strukturált poliéder hálót használó, sok processzoron, ill. GPU-n futó, átlátható és egyszerűen használható, kellően sokrétű eszközrendszert ad sokprocesszoros kódok fejlesztéséhez. A Parmod inputja megegyezik az ipari munkavégzés egyik standardjának számítót Nastran-háló formátumával; emiatt a Parmod közvetlenül alkalmazható ipari előfeldolgozás után.
A Parmod számára a „Párhuzamos számítások” és a „Hardvergyorsítók” innovatív kutatói teamek részletesen kidolgozott szimulációkat fejlesztettek. A legfontosabb eredmény a többkomponensű, nem-ideális állapotegyenletű gázok áramlását leíró Euler- és Navier-Stokes-egyenletek numerikus megoldása első- és másodrendű véges térfogat módszerekkel, explicit és implicit időlépésekkel. Említésre érdemes az Euler-egyenletek alapján működő GPU-klaszteres szimuláció, valamint a – konfigurálástól függően – GPU-n futó Riemann-megoldók használatának lehetősége. Elkészült az Euler- és Navier-Stokes-egyenletek nagy pontosságú megoldására kifejlesztett spektrális differenciák (SD) módszerének az Euler-egyenletekre háromszög (2D), illetve tetraéder (3D) hálókon dolgozó algoritmusának sokprocesszoros implementációja is. A többkomponensű, összenyomható közegek áramlását leíró Navier-Stokes-egyenletek megoldására mozgó peremű áramlási tartományok mellett is kifejlesztetésre került egy szimuláció; ez a későbbiek folyamán megcélzott motorszimuláció miatt fontos eredmény.
A szimulációk teszteredményei közül egy 800.000 cellás Diesel-motoros, valamint egy 3,5 millió cellás szélcsatornás modell számításai szemléltethetőek érzékletesen. Összegzésképpen elmondhatjuk, hogy ezek mindegyike sokprocesszoros rendszereken jól skálázódóan fut, azaz képesek a leghatékonyabban, vagy csaknem a leghatékonyabban kihasználni a hardver adta lehetőségeket, egészen a 240 magos szuperszámítógép határáig.
Az ábrán a Parmod keretrendszer egy programrészlete látható.
A képek a Parmod Navier-Stokes-megoldójának pontosságát demonstrálják, melyek a megjelenő áramlási doméneket az impulzussűrűség nagyságán, illetve y-irányú komponensén keresztül mutatják. Látható a kúpmetszet, alatta lefelé, felette felfelé indul el az áramlás.
(A Parmod Navier-Stokes megoldójának az IBM iDataPlex clesteren való skálázódásának bemutatása. Látható, hogy 228 magon futtatva a kód 210-szer gyorsabban fut le, mint 1 magon.)
A 3-ad rendű Spectral Difference módszerrel kapott nyomástérkép a Forward Facing Step tesztfeladaton, nemstrukturált hálón.
A Parmod GPU-clusteren futó nemviszkózus áramlás szimulációjának sebességeloszlási eredménye a szélcsatornás tesztfeladatra. A számítás nemstrukturált, 3,5 millió cellaszámú tetraéderhálón, 4 Tesla M2090 GPU-n 2 napig futott 40 millió explicit időlépéssel.