Rács és részecske alapú hibrid folyadékszimuláció a GPU-n

OData támogatás
Konzulens:
Dr. Umenhoffer Tamás
Irányítástechnika és Informatika Tanszék

A diplomamunkám témája a rács és részecske alapú hibrid folyadékszimuláció a GPU-n. A folyadékszimuláció az egyik legnépszerűbb és izgalmasabb ága a grafikának. Folyadékszimuláció segítségével valósítható meg a folyékony anyagok realisztikus mozgásának szimulálása. Ilyen anyag például a víz, mely valószínűleg a legkézenfekvőbb folyadék. Azonban a vízen kívül a füst, a felhő és a tűz szimulációjára is lehetőséget ad ez a módszer, mivel ezek az anyagok is folyadékszerűen viselkednek. Valósághű modellezése folyadékok és folyadékszerű anyagok mozgásának összetett feladat, melynek matematikai modellje meglepően egyszerűen leírható, de számítása időt és rengeteg erőforrást igényel, ezért szükséges közelítéseket alkalmazni. A legjobb eredmény eléréséhez az eredeti egyenletekkel érdemes dolgozni és azt a lehetőségekhez mérve minél egyszerűbben megoldani.

A munkám során olyan eljárást implementáltam, amely különböző szimulációs módszerek ötvözésével kiváló minőségű szimulációt valósít meg. Törekedtem arra is, hogy a lehető legkevesebb erőforrást használjam fel, ezzel is gyorsítva az eljárást. Ehhez meg kellett ismerkednem a rács alapú és a részecske alapú folyadékszimulációval, azok előnyeivel, hátrányaival és lehetőségeivel. Ezután mindkét szimulációs módszer előnyeit megfogva hibrid szimulációs megoldást készítettem.

Dolgozatomban ismertetni fogom a folyadékok mozgását leíró egyenleteket, a rács és részecske alapú megoldások alapjait, a hibrid szimuláció elvét. Mindezeknek kétdimenziós és háromdimenziós megoldásait is. A megvalósításhoz OpenGL shadereket használtam, mely lehetőséget adott a grafikus kártya általános célú használatára. Így nem csak a megjelenítéshez, hanem egyéb számítások elvégzéséhez is a grafikus kártyát használtam, mely ezt a rendkívül jól párhuzamosítható problémát közel vagy teljesen valós időben volt képes megoldani.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.