UDK/UDC: 004.414.23:532.5 Prejeto/Received: 10.10.2017 Sprejeto/Accepted: 09.11.2017 Kratki znanstveni prispevek - Short scientific paper Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega STOLPCA - PRIMERJAVA RAČUNSKIH ČASOV PROCESORJEV IN GRAFIČNE KARTICE Application of Dual SPHysics Code for 3d Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit Gorazd Novak1'*, Gašper Rak1, Matjaž Četina1, Dušan Žagar1 1 Fakulteta za gradbeništvo in geodezijo, Univerza v Ljubljani, Jamova 2, Ljubljana Na področju računalniške dinamike tekočin se ob uveljavljenih metodah in modelih čedalje več pozornosti namenja metodi hidrodinamike zglajenih delcev SPH (angl. smoothed particle hydrodynamics). Za razliko od Eulerjevih metod, kjer simulacija toka temelji na numerični mreži, je SPH brezmrežna Lagrangeova metoda, ki tok simulira z delci in je zato primernejša za obravnavo tistih vrst toka s prosto gladino, kjer nastopajo izrazite spremembe gladin in hitrosti. Med najbolj značilnimi primeri uporabe SPH so simulacije porušitev vodnega stolpca in simulacije rušenja valov ob obali. Z uporabo najnovejše različice odprtokodnega programa Dual SPHysics, ki združuje C++ in paralelno računsko arhitekturo CUDA, so bili razpoložljivi standardni primeri izračunani z uporabo običajnega in zmogljivejšega procesorja (CPU) ter nato še z uporabo zmogljive grafične kartice (GPU). Primerjava trajanja izračunov je pokazala, da se računi z uporabo GPU izvedejo v povprečju do 70-krat hitreje kot na običajnem CPU in do 8-krat hitreje kot na zmogljivejšem CPU. Za ponazoritev uporabnosti metode SPH so bili izračunani dodatni primeri tridimenzionalne simulacije porušitve vodnega stolpca in obtekanja dolvodno ležečega objekta. S spreminjanjem vhodnih datotek obstoječih testnih primerov je možno simulirati širok nabor hidrodinamičnih problemov, pri katerih nastopa izrazito spreminjanje gladine. Ključne besede: SPH, Dual SPHysics, porušitev vodnega stolpca, 3D-tok s prosto gladino, računski čas, CPU, Computational fluid dynamics has introduced a relatively recently developed method called smoothed particle hydrodynamics (SPH), which is gaining its importance alongside other established methods and models. In contrast to Eulerian methods, which employ numerical meshes, SPH is a Lagrangian method, which simulates the flow using fluid particles and thus better simulates free surface flows with very significant changes of water surface and flow velocities. The most typical applications of SPH include simulations of dam breakage and simulations of waves breaking along a beach. The most recent version of the open source code Dual SPHysics, which utilizes C++ and Compute Unified Device Architecture (CUDA), was employed to separately calculate * Stik / Correspondence: gorazd.novak@fgg.uni-lj .si © Novak G. et al.; Vsebina tega članka se sme uporabljati v skladu s pogoji licence Creative Commons Priznanje avtorstva -Nekomercialno - Deljenje pod enakimi pogoji 4.0. © Novak G. et al.; This is an open-access article distributed under the terms of the Creative Commons Attribution - Non Commercial - ShareAlike 4.0 Licence. Izvleček GPU. Abstract Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ standard test cases using a common central processing unit (CPU), a more capable CPU, and a graphics processing unit (GPU). Comparison of total computational times showed that computations using GPU were on average up to 70-times faster than using common CPU, and up to 8-times faster than using more powerful CPU. Some additional cases of 3D dam break simulation were performed to demonstrate the use of the code. By modifying the input files of the existing test cases one can simulate a wide range of hydrodynamic problems, characterized by significantly non-linear changes in the water's surface. Keywords: SPH, Dual SPHysics, dam break, free surface 3D flow, computational time, CPU, GPU. 1. Uvod Na področju računalniške dinamike tekočin so se doslej uveljavile številne metode, ki tok tekočine simulirajo z uporabo različnih numeričnih mrež. Med najbolj znanimi tovrstnimi metodami so metoda končnih razlik, metoda končnih elementov in metoda končnih volumnov. Te metode imajo na področju numeričnih simulacij tekočin prevladujočo vlogo, saj so robustne, dobro razvite in so bile doslej že večkrat verificirane - tako za dvodimenzijske (2D) primere (npr. Ostanek Jurina et al., 2014) kot tudi za trodimenzijske (3D) primere (npr. Rajar in Četina, 2017). Izkazale so se zlasti pri simulacijah, kjer so računske domene sklenjene in kjer se robovi domene ne premikajo; glavni pomanjkljivosti teh metod pa sta težavnost generiranja kompleksnih geometrij (npr. 3D-turbina) in nezmožnost simuliranja nelinearnih deformacij tekočine, kakršne nastopajo pri rušenju valov in pljuskanju (Rogers, 2012). Tem omejitvam se lahko izognemo z uporabo brezmrežnih metod, ki za razliko od zgoraj omenjenih ne uporabljajo računske mreže, namesto fiksnih vozlišč pa uporabljajo gibljive tekočinske delce. Pri Euleijevih metodah s fiksno mrežo sledimo toku v kontrolnem volumnu, pri brezmrežnih Lagrangeovih pa sledimo delcu vzdolž trajektorije. Značilna brezmrežna metoda je metoda hidrodinamike zglajenih delcev, tj. SPH (angl. smoothed particle hydrodynamics). Metodo so razvili Gingold in Monaghan (1977) ter Lucy (1977), prvotno za 3D-simulacije na področju astrofizike. Kasneje je bila vpeljana v dinamiko tekočin, in sicer za simulacije toka s prosto gladino (Monaghan, 1994), toka skozi porozni medij (Morris et al., 1999), udarnih valov pri podvodnih eksplozijah (Liu in Liu, 2003) itd. Točnost metode SPH potrjujejo številni standardni testi (angl. benchmark), v katerih rezultati simulacij dosegajo rezultate hidravličnih eksperimentov, kot to objavlja npr. organizacija SPHERIC, ki združuje evropske raziskovalce s področja SPH (SPHERIC, 2017; http://spheric-sph.org/validation-tests). Eden osnovnih standardnih testov je porušitev vodnega stolpca (angl. dam break) v zaprtem kanalu, ki so ga obravnavali npr. Lee et al. (2010), Crespo et al. (2011) in Rooney et al. (2011). Iz pregleda navedene literature je razvidno, da SPH zadovoljivo simulira standardne primere, zato se v nadaljevanju članka bolj kot na preverjanje točnosti metode SPH osredotočamo na njeno uporabnost z vidika računskih časov. V splošnem velja, da metoda SPH zahteva dolgotrajne izračune, zato je bila doslej redko uporabljena na večjih domenah. Da bi se izognili računanju na sestavih računalnikov (angl. cluster), so avtorji programa Dual SPHysics omogočili pospešitev izračunov z uporabo grafičnih kartic (GPU). Te izhajajo iz industrije računalniških iger in so se v zadnjem času uveljavile tudi na področju znanstvenih numeričnih simulacij kot dobra (in cenovno dostopnejša) alternativa t. i. visokozmogljivemu računalništvu (angl. high performance computing, HPC). Kot navajajo Hérault et al. (2010), so bile prve simulacije SPH, izvedene izključno na GPU, predstavljene v raziskavah Kolb in Cuntz (2005) ter Harada et al. (2007). Te simulacije so temeljile na programih OpenGL in Cg (tj. C za grafiko), novejše simulacije (npr. Crespo et al., 2011) pa temeljijo na orodju CUDA, s katerim se GPU proizvajalca Nvidia lahko programira v jeziku C++. S tem pristopom so računski časi simulacij SPH lahko tudi do 100-krat krajši od simulacij, izvedenih na CPU (npr. Hérault et al., 2010). Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ Metoda SPH je zaradi uporabnosti na zelo raznolikih področjih doživela številne izboljšave. Ena izmed najnovejših je odprtokodni program Dual SPHysics (http://www.dual.sphysics.org/), ki je predmet tega članka. Cilji članka so naslednji: (1) prikazati uporabo izboljšane kode SPH, prilagojene uporabi GPU, (2) preveriti uporabnost programa Dual SPHysics z enostavnim spreminjanjem vhodnih parametrov in (3) primerjati trajanje razpoložljivih testnih simulacij, izvedenih z uporabo običajnega procesorja in grafične kartice. 2. Metoda SPH 2.1 Teoretično ozadje metode SPH Osnovna ideja metode SPH je, da se lastnosti kontinuuma tekočine diskretizira na masne delce, ki se premikajo s hitrostjo tekočine. Nazorno izpeljavo osnov SPH podaja Price (2010), ki začenja z vprašanjem, kako izračunati zvezno gostotno polje iz poljubno razporejenih masnih delcev. V splošnem so možni trije osnovni pristopi, ki so prikazani na sliki 1: (a) maso porazdelimo v vozlišča mreže, (b) generiramo lokalni volumen okoli vzorčne točke, njegovo velikost pa prilagajamo glede na število delcev, in (c) gostoto izračunamo kot ustrezno obteženo vsoto bližnjih delcev, pri čemer je vpliv bolj oddaljenih delcev manjši. Metoda SPH uporablja pristop tipa (c). Slika 1: Obravnava masnih delcev: a) mreža, b) lokalni volumen, c) zglajeno (SPH). Figure 1: Consideration of mass particles: a) mesh, b) local volume, c) smoothed (SPH). Osnovni princip formulacije SPH temelji na aproksimaciji, podani z naslednjo enačbo (Gingold in Monaghan, 1977): /««//M^i-^' (!) V enačbi (1) nastopajo: funkcija f ki lahko predstavlja numerično ali fizikalno spremenljivko, definirano na obravnavani domeni Q okoli delca na lokaciji z radij-vektorjem x; Wje utežna oz. t. i. jedrna funkcija (angl. smoothing kernel), karakteristična dolžina h pa je t. i. dolžina glajenja, ki določa, kako W upada z razdaljo med delci. Ena od prednosti metode SPH je, da lahko funkcijo W izberemo in s tem prilagodimo obravnavanemu problemu. Običajno je W funkcija višjega reda, zvonaste oblike, simetrična in monotona (npr. Gaussova, kubična, funkcije 4. in 5. reda). Upoštevajoč, da je masa mj delca j enaka produktu končnega volumna AVj in gostote p j, lahko integral v enačbi (1) aproksimiramo z vsoto vseh pripadajočih vrednosti sosednjih N delcev v dosegu obravnavanega območja, ki ga določa jedrna funkcija W, tako da velja = ^f(xj)W(x - Xj,h)AVj (2) kjer simbol (...) označuje interpolacijo SPH in ga zaradi enostavnosti v nadaljevanju lahko opustimo. Končna oblika aproksimacije delca v diskretni obliki je podana z enačbo (Fourtakas in Rogers, 2016): Zrn,- T-fi Pj (3) kjer indeks i označuje interpolirani delec, indeks j pa sosednji delec. Aproksimacija delcev se izvede v vsakem časovnem koraku, in sicer za glavni enačbi (kontinuitetna, dinamična), zapisani v Lagrangeovi obliki. Za izboljšanje točnosti se uporabljajo različne korekcijske sheme in z njimi lahko SPH simulira splošne probleme dinamike tekočin z zadovoljivo točnostjo (Liu in Liu, 2003). Simulacija SPH vključuje iteracije treh glavnih korakov: (i) generiranje seznama sosednjih delcev, (ii) izračun interakcije med delci in (iii) posodobitev N 1 N 1 Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ vrednosti vseh fizikalnih veličin sistema, ki opisujejo stanje delcev. 2.2 Pregled področij uporabe SPH Metoda SPH je bila prvotno razvita za reševanje problemov s področja astrofizike (kjer se še vedno uporablja), sčasoma pa se je izkazala za zelo uporabno tudi na številnih drugih področjih, kot so geofizika, balistika (simulacije eksplozij), inženirstvo (npr. vlivanje kovin, zaščita obal), film (posebni učinki) in računalniške igre (animacije). Za simulacije toka s prosto gladino je metodo prvič predlagal Monaghan (1994) in odtlej jo na področju hidrotehnike uspešno uporabljajo npr. za simulacije valovanja ob obalnih objektih (Altomare et al., 2015), izračun porušitvenih valov (Petkovšek et al., 2010; Džebo, 2013), simulacije plavajočih objektov (Bouscasse et al., 2013) in simulacije večfaznih tokov (Mokos et al., 2015; Fourtakas in Rogers, 2016). Tako kot vse metode ima tudi SPH svoje pomanjkljivosti. Problematično je lahko modeliranje trdnega ostenja (rešuje se npr. z uporabo t. i. navideznih delcev ali posebnih odbojnih sil) in numerična nestabilnost (pojav t. i. natezne nestabilnosti). Izboljšave modelov SPH so predmet številnih raziskav rastoče svetovne skupnosti raziskovalcev, ki si prizadevajo za uveljavitev SPH (npr. organizacija SPHERIC). 3. Program Dual SPHysics Program Dual SPHysics je odprtokodni naslednik modela SPHysics, pri razvoju katerega so sodelovale univerze Johns Hopkins, Vigo, Manchester in La Sapienza (Rim). Medtem ko je program SPHysics napisan v jeziku FORTRAN, je Dual SPHysics sestavljen iz datotek C++ in CUDA. SPHysics je sicer robusten in zanesljiv program, a ni primeren za obsežnejše simulacije. V ta namen je bil razvit program Dual SPHysics, ki omogoča vzporedno izvajanje kode na enem ali več CPU, na eni ali več GPU, ali na kombinaciji CPU in GPU. Domínguez et al. (2013) so pokazali, kako se izračun lahko izvede na enem računalniku z več GPU, ali pa na več računalnikih, povezanih v mrežo. V raziskavi se omejujemo na primerjavo simulacij s posameznimi CPU in GPU, saj so te dosegljive najširšemu krogu uporabnikov. Osnovnemu programu Dual SPHysics je priloženo več 2D- in 3D-primerov, ki so v bistvu prilagojeni samostojni programi. Ti primeri so: porušitev vodnega stolpca in obtekanje kvadra v zaprtem kanalu, vtok v posodo in iztok iz nje (sklenjen krogotok s periodičnim robnim pogojem), plavajoč kvader v zaprtem kanalu, oblivanje krogle, pljuskanje v cisterni, nastajanje valov ob obali, premeščanje rinjenih plavin, porušitev valobrana in črpalka v kratkem sklenjenem cevovodu. Najbolj standardni primer je 3D-porušitev vodnega stolpca v kanalu, zato se na to omejuje tudi ta članek. Posebnost programa Dual SPHysics je tudi v tem, da je za predprocesiranje (priprava vhodnih podatkov) in postprocesiranje (analiza in vizualizacija rezultatov) predvidena uporaba uveljavljenih namenskih odprtokodnih programov. Tako se npr. za generiranje kompleksne 3D vhodne geometrije lahko uporabi program Blender, za animacijo izračunanega spreminjanja gladine pa je predvidena uporaba programa ParaView. Kot primer vizualizacije rezultatov je na sliki 2 prikazan niz izsekov animacije osnovnega primera porušitve vodnega stolpca. Kanal ima dimenzije 1,6 * 0,67 * 0,4 m. Na začetku je v njem 0,3 m visok stolpec vode, ki nato pljuskne v 0,5 m oddaljeni kvader v osi kanala. Kvader ima kvadratno osnovno ploskev s stranico 0,12 m. Razmik med delci znaša 0,085 m. Simuliranih je 1,5 sekunde dogajanja. Delci so obarvani le zaradi večje nazornosti (posamezni delec ima ves čas simulacije isto barvo). Iz niza slik (slika 2) je razvidno, da se po porušitvi vodnega stolpca tok ob stebru razcepi na tri krake: osrednji krak trči ob steber in pljuskne ob gorvodni ploskvi stebra navzgor, preostala dva kraka pa steber oblijeta z leve in desne strani, dosežeta dolvodno steno, pljuskneta ob njo ter nazadnje zapolnita prostor na dolvodni strani stebra. Tako izrazitega spreminjanja gladine (pljuskanje) z mrežnimi metodami v splošnem ni mogoče simulirati dovolj natančno. Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ r / t = 0 s t = 1,5 s Slika 2: Izseki animacije osnovnega primera porušitve vodnega stolpca. Delci so obarvani le zaradi identifikacije. Figure 2: Screenshots of the basic dam-break case. Particles are coloured for easier identification. Program Dual SPHysics omogoča tudi analizo izračunanih sil, tlakov in hitrosti ter s tem primerjavo z rezultati eksperimentov, kar pa v okviru tega članka še ni podrobneje obravnavano. 3.1 Spreminjane vhodne datoteke V Dual SPHysics se vhodne parametre že pripravljenih primerov najenostavneje spreminja kar v posebni vhodni datoteki, ki je zapisana v formatu xml (kar pomeni, da se jo ureja kot običajno tekstovno datoteko). Na ta način je možno spremeniti začetno geometrijo, število delcev, vrednosti raznih koeficientov oz. konstant (npr. gostota tekočine, hitrost propagacije zvoka), začetno gibanje delcev in/ali objektov; do določene mere je možno spreminjati tudi parametre izvedbe simulacije (npr. oblika jedrne funkcije, obravnava viskoznosti, način interakcije med trdnimi objekti, časovni korak). Za ustvarjanje povsem novih primerov, torej takih, ki niso zgolj prirejeni standardni primeri, se lahko uporabi program Design SPHysics (Dual SPHysics, 2017; dostopno na naslovu http://design.sphysics.org/). Služi kot uporabniški vmesnik programa Dual SPHysics, deluje pa kot posebni makro v odprtokodnem programu FreeCAD. Trenutno je Design SPHysics še v fazi testiranja (t. i. beta verzija), rezultati naše uporabe tega programa pa niso predmet tega članka. Vpliv spreminjanja posameznih osnovnih vhodnih parametrov prikazujemo z variantama porušitve vodnega stolpca, ki se od osnovnega primera razlikujeta po položaju objekta. Na sliki 3 so rezultati primera, kjer je steber večji (širok 0,2 m) in pomaknjen k desni steni, ter rezultati primera, kjer je v kanalu postavljen prag namesto stebra. Iz levega niza slik (slika 3, levo) je razvidno, da se tok po porušitvi vodnega stolpca ob stebru razcepi na dva dela: prvi pljuskne ob gorvodni ploskvi stebra, drugi pa ga obvije, doseže dolvodno steno, pljuskne ob njo in nazadnje zapolni prostor dolvodno od stebra. Iz desnega niza slik (slika 3, desno) je razvidno, da tok po porušitvi trči ob prag in pljuskne v zrak, nato pa del vode pade pred, na oz. za prag. Nepreliti del vode vzvalovi gorvodno gladino, čez prag prelita voda pa doseže dolvodno steno in zapolni prostor dolvodno od praga. Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ Vpliv stebra oz. praga je razviden tudi iz slike 4, ki prikazuje izračunane vrednosti vzdolžnih hitrosti Vx. Iz slike 4 je razvidno, da ovira (steber oz. prag) izrazito upočasni tisti del toka, ki pljuskne vanjo (pri pragu je to kar celotna širina toka), preostali del čela porušitvenega vala pa v obeh simulacijah, ki vključujeta steber, doseže hitrost okoli 2,7 m/s. t = 1,5 s Slika 3: Izseki animacij primerov z drugačnim stebrom (levi stolpec) in s pragom (desni stolpec). Delci so obarvani le zaradi identifikacije. Figure 3: Screenshots of cases with a modified pier (left column) and with a sill (right column). Particles are coloured for easier identification. \ A Slika 4: Izračunane vzdolžne hitrosti vx v času t = 0,4 s za osnovni primer (zgoraj), zamaknjen steber (sredina) in prag (spodaj). Barva delcev označuje njihovo hitrost v m/s. Figure 4: Calculated longitudinal velocities vx at time t = 0,4 s for the basic case (top), a case with a modified pier (middle) and a case with a sill (bottom). Particle's colour represents its velocity in m/s. Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ Iz navedenega lahko ugotovimo, da so razlike med rezultati simulacij v skladu s pričakovanji in da Dual SPHysics realistično simulira obravnavane variante porušitve vodnega stolpca. Obstoječi primeri torej lahko služijo kot izhodišče za samostojno programiranje variant ali izboljšav posameznih modulov programa Dual SPHysics. To se izvaja s spreminjanjem ustreznih izvornih datotek C++ in bo predmet nadaljnjega dela. 3.2 Spreminjane vhodne datoteke Primerjava trajanja izračuna je bila izvedena za naslednje osnovne, nemodificirane standardne primere: (a) 3D-porušitev vodnega stolpca, voda pljuskne v dolvodno ležeči steber, (b) 2D enakomerni valovi ob položni obali, (c) 2D neenakomerni valovi (različne višine in valovne dolžine) ob položni obali, (d) 3D-porušitev vodnega stolpca, voda pljuskne v zložene kvadre in jih podre, (e) v posodi plava kvader, gorvodna stena posode je premikajoči se bat, ki povzroča valove. Računi so potekali ločeno na dveh osebnih računalnikih s 64-bitnim operacijskim sistemom Windows 10. Konfiguracija prvega računalnika (oznaka CPU1), na katerem so potekali samo računi kode CPU, je bila: procesor Intel Core i7 975 (letnik 2009), 3 GHz, 6 GB RAM. Konfiguracija drugega, zmogljivejšega računalnika (oznaka CPU2 in GPU), na katerem so potekali računi kode CPU in nato še GPU, je bila: procesor Intel Core i7 5820 K (letnik 2014), 3.3 GHz, 32 GB RAM, grafična kartica Nvidia GeForce GTX 980. Primerjava trajanja izračunov in njihovih razmerij je prikazana v preglednicah 1 in 2. Preglednica 1: Trajanje simulacij [ure:minute]. Table 1: Total computation time [hours:minutes]. Preglednica 2: Razmerja trajanj simulacij. Table 2: Relations of total computation time. Testni primer CPU1/ CPU2 CPU1/ GPU CPU2/ GPU 3D-porušitev - steber 9 99 11 2D-valovi - enakomerni 7 41 6 2D-valovi - neenakomerni 6 34 6 3D-porušitev - zloženi kvadri 8 72 9 3D plavajoči kvader 7 95 13 povprečje vseh primerov 8 68 9 Iz preglednice 2 je razvidno, da se z uporabo GPU posamezni primer izračuna od 34-krat do 99-krat hitreje kot z uporabo CPU1, ki ima običajno kapaciteto RAM, ter od 6-krat do 13-krat hitreje kot z uporabo zmogljivejšega CPU2, ki ima večjo kapaciteto RAM. Tak faktor pohitritve (angl. speedup) okvirno ustreza vrednostim, navedenim v Hérault et al. (2010), pri čemer je treba poudariti, da se faktorjev pohitritve, ki so eden glavnih rezultatov tovrstnih raziskav, ne da primerjati povsem enoznačno (zaradi razlik v konfiguraciji strojne opreme in razlik v različicah programske opreme). Zanimiva je tudi razlika v računskih časih CPU1 in CPU2. Program Dual SPHysics je napisan tako, da izkoristi vse razpoložljive kapacitete računalnika. To je bilo v primeru CPU2 doseženo, v primeru starejšega CPU1 pa očitno ne, saj je bila pri slednjem učinkovitost delovanja sistema le 50 %. Tudi če privzamemo, da je za primerjavo CPU in GPU merodajno razmerje CPU2/GPU, lahko ugotovimo, da uporaba GPU omogoča velik prihranek časa. To pomeni, da hkratna uporaba programa Dual SPHysics in zmogljive GPU v znatni meri zmanjšuje dosedanje težave z zamudnostjo simulacij SPH. 4. Zaključki Na podlagi predstavljenega lahko zaključimo naslednje: 1) Odprtokodni program Dual SPHysics je pomembna izboljšava starejšega programa SPHysics in z uporabo zmogljive grafične kartice Testni primer CPU1 CPU2 GPU 3D-porušitev - steber 8:15 0:55 0:05 2D-valovi - enakomerni 10:59 1:35 0:16 2D-valovi - neenakomerni 9:41 1:34 0:17 3D-porušitev - zloženi kvadri 22:46 2:42 0:19 3D plavajoči kvader 130:05 17:40 1:22 Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ omogoča znatno hitrejše izvajanje 3D-simulacij toka s prosto gladino, kot so porušitve vodnega stolpca, valovanja, pljuskanja ipd. Upoštevajoč, da točnost simulacij SPH načeloma ni vprašljiva (sodeč po benchmark testih), program Dual SPHysics predstavlja uporabno orodje za simulacije primerov, kjer nastopa izrazito spreminjanje gladine. 2) V primerjavi z običajnim CPU uporaba GPU pospeši simulacijo v povprečju za okoli 70-krat, v primerjavi z zmogljivejšim CPU pa v povprečju za okoli 9-krat. To nakazuje, da se Dual SPHysics v kombinaciji z GPU približuje cilju, da bi bil uporaben za kompleksnejše simulacije (npr. v industriji ali pri načrtovanju zaščite obale). 3) Program Dual SPHysics razvija, testira in dopolnjuje rastoča svetovna skupnost raziskovalcev, ki so strokovnjaki za različna področja in delujejo na številnih univerzah ter v industriji. Raziskovalna skupina UL FGG se že vključuje v to skupnost in bo v nadaljevanju predvidoma prispevala k razvoju posameznih modulov programa in k nadaljnji verifikaciji programa na podlagi lastnih rezultatov zahtevnih eksperimentov, nedavno izvedenih na fizičnih hidravličnih modelih. Viri Altomare, C., Crespo, A. J. C., Domínguez, J. M., Gómez-Gesteira, M., Suzuki, T., Verwaest, T. (2015). Applicability of Smoothed Particle Hydrodynamics for estimation of sea wave impact on coastal structures. Coastal Engineering 96, 1-12. Bouscasse, B., Colagrossi, A., Marrone, S., Antuono, M. (2013). Nonlinear water wave interaction with floating bodies in SPH. Journal of Fluids and Structures 42, 112129. Crespo, A. J. C., Dominguez, J. M., Barreiro, A., Gomez-Gesteira, M., Rogers, B. D. (2011). DualSPHysics, new GPU computing on SPH models. Proc. 6th International SPHERIC Workshop, Ed. T Rung & C Ulrich, Hamburg University of Technology (TUHH), 8-9 June 2011, 348354. Domínguez, J. M., Crespo, A. J. C., Valdez-Balderas, D., Rogers, B. D. (2013). New multi-GPU implementation for smoothed particle hydrodynamics on heterogenous clusters. Computer Physics Communications 184, 18481860. Dual SPHysics (2017). http://www.dual.sphysics.org/ (pridobljeno 11. 9. 2017). Džebo, E. (2013). Simulacije valov zaradi porušitev pregrad z brezmrežno numerično metodo hidrodinamike zglajenih delcev (Simulations of dam-break waves with meshless numerical method of smoothed particle hydrodynamics). Unpublished Doctoral Thesis, Univerza v Ljubljani, FGG, 121 p. (in Slovenian). Fourtakas, G., Rogers, B. D. (2016). Modelling multiphase liquid-sediment scour and resuspension induced by rapid flows using Smoothed Particle Hydrodynamics (SPH) accelerated with a Graphic Processing Unit (GPU). Advances in Water Resources 92, 186-199. Gingold, R. A., Monaghan, J. J. (1977). Smoothed particle hydrodynamics. Theory and application to non-spherical stars. Monthly Notices of the Royal Astronomical Society 181, 375-389. Harada, T., Koshizuka, S., Kawaguchi, Y. (2007). Smoothed particle hydrodynamics on GPUs. Proc. Comput. Graph. Intl. 63-70. Hérault, A., Bilotta, G., Dalrymple, R. A. (2010). SPH on GPU with CUDA. Journal of Hydraulic Research 48 (Extra Issue), 74-79. Kolb, A., Cuntz, N. (2005). Dynamic particle coupling for GPU-based fluid simulation. Proc. 18th Symposium on Simulation Technique, 722-727. Lee, E. S., Violeau, D., Issa, R., Ploix, S. (2010). Application of weakly compressible and truly incompressible SPH to 3-D water collapse in waterworks. Journal of Hydraulic Research 48, 50- 60. Liu, G. R., Liu, M. B. (2003). Smoothed Particle Hydrodynamics - a meshfree particle method. World Scientific Publishing Co. Pte. Ltd., Singapore, 449 str. Lucy, L. B. (1977). A numerical approach to the testing of the fission hypothesis. The Astronomical Journal 82, 12, 1013-1024. Mokos, A., Rogers, B. D., Stansby, P. K., Domínguez, J. M. (2015). Multi-phase SPH modelling of violent hydrodynamics on GPUs. Computer Physics Communications 196, 304-316. Monaghan, J. J. (1994). Simulating Free Surface Flows with SPH. Journal of Computational Physics 110, 399406. Novak G. et al.: Uporaba programa Dual SPHysics za 3D simulacije porušitve vodnega stolpca - primerjava računskih časov procesorjev in grafične kartice - Application of Dual SPHysics Code for 3D Simulations of Dam Breakage - A Comparison of Computational Times of the Central and Graphics Processing Unit _Acta hydrotechnica 30/53 (2017), 97-105, Ljubljana_ Morris, J. P., Zhu, Y., Fox, P. J. (1999). Parallel simulation of pore-scale flow through porous media. Computers and Geotechnics 25, 227-246. Ostanek Jurina, T., Šoško, H., Žagar, D. (2014). Comparison of trajectory and concentration methods in oil spill modelling at sea. Acta hydrotechnica 27(46), 4356. Price, D. J. (2010). Smoothed Particle Hydrodynamics and Magnetohydrodynamics (lectures and tutorials). http ://users. monash. edu. au/~dprice/SPH/price -spmhd.pdf (pridobljeno 15. 9. 2017). Petkovšek, G., Džebo, E., Četina, M., Žagar, D. (2010). Application of Non-Discrete Boundaries with Friction to Smoothed Particle Hydrodynamics. Journal of Mechanical Engineering 56, 307-315. Rajar, R., Četina, M. (2017). Calibration of Three-dimensional Model PCFLOW3D - A Comparison with Measurements from the Yatsushiro Sea and the Sea of Japan. Acta hydrotechnica 30(52), 37-50. Rogers, B. B. (2012). Basics of SPH - Engineering Approach. 2-day Short Course on Smoothed Particle Hydrodynamics (SPH) at the University of Manchester, February 2012. Manchester, 1-32. Rooney, E. A., Wei, W. Y., Irish, J. L., Weiss, R., Hérault, A., Dalrymple, R. A., Bilotta, G. (2011). Testing accuracy and convergence of GPUSPH for free-surface flows. 6th International SPHERIC Workshop, 8-10 June 2011. First Edition. Hamburg, 209-214. SPHERIC - SPH European Research Interest Community (2017). http://spheric-sph.org/index (pridobljeno 2. 11. 2017).