УНИВЕРЗИТЕТ У КРАГУЈЕВЦУ Природно-математички факултет Институт за математику и информатику Милош Ивановић ГЛАТКА ЧЕСТИЧНА ХИДРОДИНАМИКА - - ПАРАЛЕЛИЗАЦИЈА АЛГОРИТАМА И ПРИМЕНА У ДИНАМИЦИ ФЛУИДА Докторска дисертација Крагујевац, 2010. ИДЕНТИФИКАЦИОНА СТРАНИЦА ДОКТОРСКЕ ДИСЕРТАЦИЈЕ I Аутор Име и презиме: Милош Ивановић Датум и место рођења: 11.05.1978. Крагујевац Садашње запослење: асистент на ПМФ-у Крагујевац, група информатика III Докторска дисертација Наслов: Глатка честична хидродинамика - паралелизација алгоритама и примена у динамици флуида Број страница: 235 Број слика: 81 Број библиографских података: 93 Установа и место где је рад израђен: ПМФ Крагујевац Научна област (УДК): 004.94 Ментор: др Бобан Стојановић, доцент, ПМФ Крагујевац III Оцена и одбрана Датум пријаве теме: 18.11.2009. год. Број одлуке и датум прихватања докторске дисертације: XV-2, 26.05.2010. год. Комиcија за оцену подобности теме и кандидата: др Бобан Стојановић, доцент, ПМФ Крагујевац др Драгић Банковић, редовни професор, ПМФ Крагујевац др Драгослав Никезић, редовни професор, ПМФ Крагујевац др Зоран Јовановић, редовни професор, ЕТФ Београд др Ненад Филиповић, редовни професор, Машински факултет, Крагујевац Комисија за оцену и одбрану докторске дисертације: др Бобан Стојановић, доцент, ПМФ Крагујевац др Драгић Банковић, редовни професор, ПМФ Крагујевац др Драгослав Никезић, редовни професор, ПМФ Крагујевац др Зоран Јовановић, редовни професор, ЕТФ Београд др Ненад Филиповић, редовни професор, Машински факултет, Крагујевац Датум одбране дисертације: Предговор Још 2004. године, на самом почетку мог ангажовања у групи проф. Којића у Центру за научна истраживања САНУ и Универзитета у Крагујевцу, имао сам ту привилегију да посетим Универзитет у Брауншвајгу, на позив професора Хермана Матиса. Захваљујући стрпљењу др Рајнера Никампа, тада сам начинио прве кораке у свету рачунарства високих перформанси и развоја паралелних апликација за нумеричко моделирање. На жалост, у то време, у Србији није постојао ни један хардверски ресурс за рачунарство високих перформанси на коме би научене стратегије могле практично да се испробају. Зато је први корак по повратку био градња и инсталација кластер рачунара у Центру, а затим и развој неколико једноставнијих паралелних софтверских решења која су значајно унапредила рад на нумеричким симулацијама, првенствено из области биоинжењеринга. У то време сам већ био потпуно сигуран да ће се бар део будуће дисертације свакако односити на технике и стратегије паралелизације у нумеричком моделирању, само је требало поставити довољно комплексан и довољно иновативан проблем. Решење се наметнуло само по себи у јесен 2006. године када је уследио и други позив за боравак на Универзитету у Брауншвајгу, али сада у вези са колаборативним радом на безмрежној методи под називом SPH. Након неколико месеци проведених у Брауншвајгу и базичног упознавања са поставкама SPH методе и њеном применом у механици флуида, уследио је позив проф. Вигњевића, вође једне он најцитиранијих група из области безмрежних метода. За месец дана проведених на Универзитету Кренфилд, проф. Вигњевић и проф. Кембел су ме детаљно упознали са софтвером MCM (Meshless Continuum Mechanics), који се већ годинама развија у њиховој групи. Иако вероватно најсвеобухватнији софтвер из области безмрежних метода, MCM није поседовао тзв. паралелни мод и није базиран на принципима објектно-оријентисаног дизајна. Отуда се природно родила идеја о новом софтверу, базираном на свим добрим поставкама MCM-а, али који би био објектно- оријентисан, написан у програмском језику C++, и који би од почетка био пројектован за паралелни начин рада, са великим очекивањема у погледу перформанси, скалабилности и лакоће одржавања, што је у највећој мери и постигнуто током израде дисертације. Дисертација има две централне теме. Прва је постављање принципа паралелизације софтвера за моделирање безмрежним методама уопште, док је друга исцрпна студија тачности и ефикасности SPH методе саме по себи и у поређењу са другим мрежним и безмрежним методама, попут МКЕ и DPD. Највећу захвалност дугујем дописном члану САНУ проф. др Милошу Којићу, руководиоцу Програма за биоинжењеринг Центра за научна истраживања САНУ и Универзитета у Крагујевцу, јер без његовог ентузијазма и разгранате мреже сарадника, никад не бих дошао у прилику да радим са најцењенијим именима из ове области у свету. Посебну захвалност дугујем ментору и пријатељу, др Бобану Стојановићу, за већ осмогодишњи заједнички рад на развоју нумеричких метода, како раније у Центру за научна истраживања, тако и сада на Прородно-математичком факултету. Његови језгровити савети и прецизни инжењерски приступ пуно су ми помогли при изради дисертације. У свему овоме сигурно не бих успео без јаке подршке сарадника и пријатеља Центра за научна истраживања САНУ и Универзитета у Крагујевцу, а посебно професора Ненада Филиповића, ванредног професора Машинског факултета у Крагујевцу, др Владимира Ранковића, доцента Економског факултета, др Мирослава Живковића, редовног професора Машинског факултета, Велибора Исаиловића и других. Сви ови људи су годинама радили и још увек раде на развоју свеобухватног програмског пакета ПАК на чијим искуствима великим делом почива и истраживање које је предмет ове дисератције. Када се на Универзитет доноси нешто сасвим ново, мора да се учи од најбољих из својих области, за шта сам, на срећу, добио прилику. Највеће речи хвале, како у професионалном погледу, тако и у погледу људских особина, а посебно храбрости у најтежим животним тренуцима могу да упутим професору Херману Матису од кога сам добијао одличне савете на чистом шумадијско-војвођанском дијалекту матерњег језика. Нема потребе ни помињати да дисертације не би ни било без доприноса професора Вигњевића, како у теоријском, тако и у погледу развоја софтвера. Да ми изворни код програмског пакета MCM није био доступан, велико је питање када би пакет SPH07 угледао светлост дана. Са друге стране, ту су и људи који су ми доста помогли око техничко-развојног дела, пре свега др Рајнер Никамп са Универзитета у Брауншвајгу, уз кога сам направио прве кораке у развоју паралелног софтвера, као и др Антун Балаж са Института за физику у Београду, за исцрпне и хитре одговоре на моја бескрајна питања у вези са администрацијом Грид мидлвера, без обзира на доба дана или ноћи када је питање постављено. У име свих учесника пројеката на којима учествујем желео бих да се захвалим и Министарству за науку и заштиту животне средине на финансијској и свакој другој помоћи. Такође, за постављање стандарда у грид рачунарству и рачунарству високих перформанси у југоисточној Европи уопште, велику заслугу носе колеге и институције учесници европских инфраструктурних пројеката SEE-GRID-2 и SEE-GRID-SCI, са којима сам имао велико задовољство да сарађујем. За вишегодишњу успешну сарадњу захваљујем Институту за водопривреду „Јарослав Черни“ на челу са др Миланом Димкићем, професору Акири Тсуди са Универзитета Харвард и осталим појединцима и институцијама са којима сам имао прилике да сарађујем током свог бављења овим послом, од 2003. године па до данас. За одличну атмосферу која ми је омогућила да рад на дисертацији приведем крају могу да се захвалим колегама у својој новој кући, Институту за математику и информатику Природно-математичког факултета у Крагујевцу. На крају, а никако и најмање важно, за највећи део онога што сам постигао у животу, захвалност дугујем својој породици из које носим вредности које су ми и дан-данас водиље. Посебно морам да се захвалим и својој супрузи Татјани, због тога што ми пружа разумевање и подршку за све врсте посвећивања, додатне радне сате и одрицања која бављење науком са собом мора да носи. Милош Ивановић М. Ивановић Докторска дисертација Садржај Предговор..................................................................................................................................5 Листа скраћеница...................................................................................................................11 1 Увод.......................................................................................................................................13 1.1 Мотивација..............................................................................................................13 1.2 Дефиниција проблема.............................................................................................14 1.3 Преглед садржаја дисертације...............................................................................15 2 Безмрежне методе................................................................................................................17 2.1 Особине безмрежних метода.................................................................................17 2.2 Потреба за безмрежним методама.........................................................................20 3 Глатка честична хидродинамика (Smoothed Particle Hydrodynamics - SPH).............................................................................21 3.1 Историјат развоја....................................................................................................21 3.2 Класификација SPH методе....................................................................................22 3.3 Основе SPH формулације.......................................................................................23 3.4 Недостаци традиционалне SPH формулације......................................................32 3.5 Примена SPH...........................................................................................................41 4 Закони конзервације и моделирање динамике нестишљивог флуида у SPH форми... .43 4.1 Закон одржања масе................................................................................................43 4.2 Закон одржања линеарног момента.......................................................................45 4.3 Закон одржања енергије.........................................................................................47 4.4 Моделирање динамике вискозног флуида............................................................48 4.5 Моделирање динамике нестишљивог флуида......................................................58 5 Неки детаљи имплементације............................................................................................63 5.1 Временска интеграција...........................................................................................63 5.2 Варијабилни дилатациони параметар...................................................................66 5.3 Третман граничних услова.....................................................................................68 5.4 Претрага методом “најближих суседа”.................................................................77 5.5 Моделирање површинског напона на граници између фаза...............................82 5.6 Моделирање кретања крутог тела кроз поље флуида..........................................91 6 Програмска имплементација SPH......................................................................................97 6.1 Мотивација..............................................................................................................97 6.2 Употреба SPH07 софтвера....................................................................................105 6.3 Организација класа пакета SPH07.......................................................................107 6.4 Кораци при извођењу SPH анализе.....................................................................110 6.5 Графичка шкољка ParticleMethods.......................................................................117 7 Паралелизација SPH алгоритама.....................................................................................121 7.1 Мотивација............................................................................................................121 7.2 Врсте паралелних рачунара и различити приступи програмирању.................124 7.3 MPI (Message Passing Interface) стандард ..........................................................129 7.4 Стратегија паралелизације...................................................................................130 7.5 Фактори интерпроцесних комуникација.............................................................138 7.6 Тестирање перформанси паралелног система....................................................148 9 М. Ивановић Докторска дисертација 7.7 Закључак................................................................................................................156 8 Резултати и анализа...........................................................................................................157 8.1 Увод........................................................................................................................157 8.2 Моделирање стишљивог флуида.........................................................................157 8.3 Моделирање нестишљивог флуида са ниским Рејнолдсовим бројем..............161 8.4 Моделирање нестишљивог флуида са високим Рејнолдсовим бројем............185 8.5 Моделирање кретања крутог тела кроз нестишљиви флуид............................194 8.6 Студија тачности и ефикасности SPH методе у поређењу са DPD (Dissipative Particle Dynamics) методом .......................................................................................205 9 Закључна разматрања........................................................................................................219 9.1 Постигнути циљеви..............................................................................................220 9.2 Смернице за даља истраживања..........................................................................223 Литература............................................................................................................................227 10 М. Ивановић Докторска дисертација Листа скраћеница ALE Arbitrary Lagrangian Eulerian CAD Computer Aided Design CASE Computer-aided software engineering CFL Courant–Friedrichs–Lewy CNSPH Corrected Normalized Smoothed Particle Hydrodynamics CPU Central Processing Unit CSF Continuum Surface Force method DDR Double Data Rate DEM Discrete Element Method DPD Dissipative Particle Dynamics EFG Element Free Galerkin Method GNU GNU's Not Unix! GPGPU General-Purpose computation on Graphics Processing Units GUI Graphical User Interface HDD Hard Disk Drive HDL High Density Lipoprotein HPF High Performance Fortran ISO International Organization for Standardization LDL Low Density Lipoprotein LF Leap Frog MD Молекуларна Динамика MIMD Multiple Instruction Multiple Data 11 М. Ивановић Докторска дисертација MKE Метода коначних елемената MKR Метода коначних разлика MKZ Метода коначних запремина MLPG Meshless Local Petrov Galerkin Method MLSPH Moving Least Square Particle Hydrodynamics MPI Message Passing Interface NFS Network File System NUMA Non-Uniform Memory Access OpenMP Open Multi-Processing OS Оперативни систем PC Predictor Corrector POSIX Portable Operating System Interface [for Unix] PU Partition of Unity QCD Lattice Quantum Chromodynamics RAID Redundant array of inexpensive disks RK Runge Kutta RKPM Reproducing Kernel Particle Method SCSI Small Computer System Interface SMP Symmetric MultiProcessing SMP Symmetric MultiProcessing SPH Smoothed Particle Hydrodynamics UML Unified Modeling Language VLDL Very Low Density Lipoprotein XSPH eXtended Smoothed Particle Hydrodynamics 12 М. Ивановић Докторска дисертација 1 Увод 1.1 Мотивација Већина нумеричких метода које су данас у широкој научној и инжењерској употреби у механици и другим областима базирани су на постојању тзв. мреже (унапред познате повезаности између чворова), нпр. методa коначних елемената (МКЕ) и методa коначних запремина (МКЗ). Иако су данас мрежне методе у широкој употреби, у њиховој практичној примени понекад долази до потешкоћа када се говори о проблемима који подразумевају велике деформације домена који се моделира, покретне границе, механику лома итд. Последње три деценије се трага за нумеричким методама које би имале универзалнији карактер и превазишле ове недостатке, а већина њих има једну заједничку карактеристику - безмрежни карактер, тј. од корисника се не захтева дефиниција геометријско-интерполационе везе између чворова пре почетка рачунарске анализе. Упоредни приказ безмрежних метода може се наћи у [Fries&Matthies 2004]. Глатка честична хидродинамика (Smoothed Particle Hydrodynamics - SPH у даљем тексту) је једна од првих безмрежних метода која је у могућности да парцијалне или обичне диференцијалне једначине нумерички третира само на основу коначног броја чворова. Наравно, везе и тежински фактори утицаја чворова једних на друге се одређују у времену извршавања анализе. Иако је метода формулисана у сврху моделирања астрофизичких и космолошких појава, у последње време је велику примену нашла и у динамици флуида, а све више и у динамици солида. Данас поред оригиналне SPH формулације, постоје и многе подваријанте, као што је CNSPH (Corrected Normalized Smoothed Particle Hydrodynamics) чији је циљ потпуно или бар делимично превазилажење неких од недостатака изворне SPH методологије. Циљ ове дисертације је имплементација SPH формализма у објектно-оријентисаној паралелној програмској парадигми, имплементација модела нестишљивог флуида 13 М. Ивановић Докторска дисертација коришћењем Навије-Стоксових једначина и тестирање могућности примене ове методе у решавању општих физичких, инжењерских, па и биолошких проблема. Такође, предмет дисертације је и уочавање предности и мана SPH у односу на стандардну и добро познату методу коначних елемената, најпознатијег представника групе тзв. мрежних метода. 1.2 Дефиниција проблема SPH је концептуално једноставна нумеричка метода, заснива се на Лагранжевој формулацији и има релативно добре перформансе у рачунарском смислу. Међутим, мањак конзистенције и нестабилност у тензији су само неки од недостатака SPH методе који чекају да буду решени. У овој дисертацији ће бити речи како о општем третману ових недостатака, тако и о финесама у примени у динамици нестишљивих флуида, као што су рачунање другог извода физичких величина, третман вискозности и површинског напона, интеракцији флуида и крутог тела, итд. Једна од централних тема дисертације је, у информатичким наукама све актуелнија, паралелизација програмског кода. Наиме, мана готово свих безмрежних метода је чињеница да прорачуни углавном трају знатно дуже него што је то случај код мрежних метода јер се повезаност и међусобни утицај честица (чворова) одређује приликом извршавања, и то пре сваког интеграционог корака. SPH софтверски пакети у јавном власништву доступни на web-у, као и многи комерцијални SPH симулациони пакети не нуде паралелни начин рада, тј. могућност да се симулација извршава паралелно на више процесора (процесорских језгара) у једном рачунару, као ни на тзв. кластер рачунару. Један од главних циљева дисертације је потпуна имплементација паралелног, објектно-оријентисаног SPH алгоритма заснованог на домен-декомпозицији и MPI (Message Passing Interface) стандарду за комуникацију међу процесима. Овим приступом постигнуто је вишеструко скраћење времена трајања SPH анализе. С обзиром на поменуту објектну оријентацију пакета, за развојну платформу изабран је програмски језик C++ потпомогнут библиотеком класа Blitz++ за рад са једнодимензионим и вишедимензионим низовима. Развијени код може послужити и као платформа за имплементацију алгоритама других честичних метода, као што су МД 14 М. Ивановић Докторска дисертација (молекуларна динамика) или DPD (дисипативна честична динамика, Dissipative Particle Dynamics). Иако, као што је већ поменуто, корени SPH леже у астрофизици, у дисертацији ће бити истражене неке могућности примене SPH у класичним примерима из динамике стишљивих и нестишљивих флуида са назнакама о могућности примене у биомедицини, нпр. у решавању проблема протока крви кроз микро-капиларе и транспорта масноћа у крви. 1.3 Преглед садржаја дисертације Матреријал дисертације састоји се из 8 глава. У најгрубљим цртама, дисертација се састоји из три целине: (1) теоријске основе, (2) програмска имплементација и (3) добијени резултати са анализом и дискусијом. У наставку текста биће дат нешто детаљнији садржај, по појединачним главама. Глава 2 даје неке основне дефиниције и поставке безмрежних и честичних нумеричких метода и њихових особина које их издвајају од класичних мрежних метода. Тема Главе 3 је математичка дискусија карактеристичних SPH апроксимација - кернел и честичне апроксимације. Такође се указује и на неке од недостатка оригиналне SPH апроксимације и предлаже кориговани кернел изведен на основу особина хомогености и изотропије простора. Глава 4 коначно уводи физику у SPH апроксимацију, и то у виду закона одржања масе, енергије и количине кретања. Поред општеважећих закона конзервације, третирају се и Навије-Стоксове једначине, вискозност флуида, једначина стања за квази-нестишљивост итд. Тема Главе 5 је продубљивање теза постављених у Глави 4, са неким важним детаљима имплементације, као што су временска интеграција, претрага честица и разнородни гранични услови. Ту су и неки детаљи за којима нема потребе у баш сваком SPH моделу, нпр. варијабилност дилатационог параметра, прорачун површинског напона на граници између фаза, као и оригинална метода за моделирање кретања крутог тела у пољу флуида. 15 М. Ивановић Докторска дисертација Глава 6 односи се на програмску имплементацију софтверског пакета SPH07 који је настао као резултат рада на дисертацији. Дата је дискусија везана за циљеве, избор платформе за развој, организацију података и алгоритамску шему. Ту су и одређене опште смернице за постизање ефикасности у писању C++ нумеричког кода. Можда најважнији допринос дисертације је управо паралелизација SPH07 софтвера, тема Главе 7. Након постављања основне терминологије паралелног рачунарства, у овој глави је објашњен начин на који је извршена тзв. домен-декомпозиција, тј. рашчлањавање проблема на процесе, као и начин комуникације између процеса. Посебно су третирани проблеми рачунања критичног временског корака и кретања крутог тела у паралелном окружењу. Главу 7 закључује анализа перформанси заједно са смерницама за постизање максимума паралелних перформанси из константног броја процесорских јединица. Последњи, најобимнији део дисертације односи се на добијене резултате и дискусију. Сваки одељак Главе 8 дат је као поређење решења добијених SPH методом и унапред познатих аналитичких, нумеричких или експерименталних решења. Проверени примери су разнородни, почев од стишљивих флуида, преко нестишљивих флуида са ниским и високим карактеристичним Рејнолдсовим бројем, па све до кретања крутог тела у пољу флуида. Тема последње главе, Главе 9, су закључна разматрања и будући правци развоја како методологије, тако и имплементираног софтверског решења. 16 М. Ивановић Докторска дисертација 2 Безмрежне методе Конвенционалне нумеричке методе за решавање парцијалних дифренцијалних једначина у физици и инжењерству захтевају a priori дефиницију повезаности између чворова која се углавном мора дефинисати унапред и не мења се током трајања анализе. Најпознатији и најчешће коришћени примери ове врсте нумеричких метода су метод коначних елемената (МКЕ) [Kojić et al. 1998], метод коначних запремина (МКЗ) и метод коначних разлика (МКР). Релативно нова класа метода, развијаних углавном током последње две деценије су тзв. безмрежне методе, које, као што само име каже, решавају парцијалне диференцијалне једначине на начин који је заснован искључиво на постојању коначног скупа чворова [Belytchko et al. 1996], [Fries&Matthies 2004]. Циљ Главе 2 је опште поређење аспеката мрежног и безмрежног приступа моделирања у механици. 2.1 Особине безмрежних метода Пре него што се крене у анализу методе која је главни предмет изучавања дисертације, потребно је дати основне карактеристике безмрежних метода уопште, као и појмове из много познатије области мрежних нумеричких метода, ради утврђивања аналогија [Fries&Matthies 2004]. Недостатак мреже • У безмрежним методама везе између чворова се одређују у току извршавања анализе. Уместо мреже, ове методе користе концепт тзв. домена утицаја (Слика 2.1), како би се урачунао утицај чворова из суседства. • Не постоји појам поремећаја поравнања елемената (мреже). Ово је веома озбиљан проблем код анализа базираних на постојању мреже, рецимо у случају велике деформације домена од интереса. 17 М. Ивановић Докторска дисертација • h-адаптивност је релативно једноставна код безмрежних метода, јер је потребно само додати чворове, а њихове везе ће бити прерачунате аутоматски у време извршавања. p-адаптивност је такође концептуално једноставнија него у мрежним методама. • Није потребно генерисање мреже пре почетка анализе. На жалост, ово и даље није потпуно аутоматски процес, посебно код веома сложених тродимензионалних геометрија и често је потребна и људска интервенција. • Нема поновног генерисања мреже током анализе (remeshing). При решавању проблема великих деформација и покретних дисконтинуитета, често је потребно фреквентно генерисати нову мрежу и на њу интерполирати резлултате из претходног временског корака. Чак иако је то могуће, поновно генерисање мреже осетно умањује тачност анализе, као што умањује и могућност праћења временске историје резулатата у чворовима у фази постпроцесирања [Belytchko et al. 1996]. Континуалност функција облика • Безмрежне методе потпуно испуњавају захтев континуалности који проистиче из реда проблема који се разматра. Супротно томе, код мрежних метода, чак конструкција C1 континуалних функција облика захтева решавање граничног проблема четвртог реда [Li et al. 2004]. • У безмрежним нумеричким методама не постоји потреба за постпроцесирањем у сврху утврђивања глатких извода непознатих функција, на пример деформације или напона. • У неким случајевима где је континуираност функције облика непожељна, тј. тамо где се захтева физички дисконтинуитет (нпр. на пукотни или на граници између материјала), морају се применити посебне технике граничних услова за превазилажење ограничења континуираности. 18 М. Ивановић Докторска дисертација Конвергенција За исти ред конзистенције, нумерички експерименти показују да је конвергенција резлултата безмрежних метода често значајно боља од оних који се добијају мрежним методама. Међутим, теорија за сада није у могућности да објасни добијени већи степен конвергенције. Слика 2.1: Концепт домена утицаја у безмрежним методама Рачунарска захтевност У пракси се показало да за исти ред проблема безмрежне методе захтевају више рачунарског времена за прорачун (анализу). Разлог томе лежи у чињеници да поред рачунања величина од интереса, безмрежни алгоритам пре сваког временског корака детерминише везе између чворова. Зато се често приступа домен-декомпозицији, као једном од метода за паралелизацију посла и тако на масивно-паралелним машинама вишеструко скраћује време обраде. Есенцијални гранични услови Већини безмрежних метода недостаје Кронекер делта особина, тј. функције облика i не   испуњавају   услов   i  x j  = ij   [Han&Meng   2002].  Мрежне   методе   обично  поседују  ову  пожељну  особину.  Управо  то   је  разлог  отежане  примене  есенцијалних  19 М. Ивановић Докторска дисертација граничних  услова који код безмрежних  метода захтевају  посебну пажњу  и у великом  броју случајева деградирају конвергенцију прорачуна.  2.2 Потреба за безмрежним методама Лиу и коаутори [Li&Liu 2002] сумирају предности безмрежних метода на следећи начин: • Безмрежне методе природно подржавају велике деформације, јер се везе између чворова детерминишу у току прорачуна и могу се мењати у току времена. • Ова методологија се може лакше повезати са CAD базом него што је то случај у МКЕ, јер није потребно додатно генерисање мреже. • Ова класа метода се на једноставан начин може применити у областима као што је механика лома. • Тачност и поузданост ових метода се лакше контролише; ако је у специфичној области потребна већа рафинација, чворови се лако додају (h-адаптивност). • Континуалне безмрежне методе се могу користити и у моделирању великих деформација танких структура љуски, као што су нано-цеви. • Безмрежна дискретизација у већини случајева даје поузданије репрезентације геометријских објеката. 20 М. Ивановић Докторска дисертација 3 Глатка честична хидродинамика (Smoothed Particle Hydrodynamics - SPH) 3.1 Историјат развоја Глатка честична хидродинамика (Smoothed Particle Hydrodynamics - SPH у даљем тексту) је једна од првих безмрежних нумеричких метода у рачунској механици. Луси, Џинголд и Монган су је независно формулисали 1977. године [Gingold & Monaghan 1977, Lucy 1977] у сврху моделирања астрофизичких појава као што су еволуција звезда, супернових, галактичких формација судара небеских тела итд, где је њена погодост долазила до изражаја због непостојања граница модела. У поређењу са другим мрежним и безмрежним нумеричким методама, SPH током осамдесетих година прошлог века није доживела неку већу популарност у академским и инжењерским круговима; објављено је свега неколико радова Монагана и његових сарадника који се тичу проширивања примене ове методе на неке друге области механике. Међутим, почетком деведесетих година прошлог века расте интересовање како за SPH, тако и за друге безмрежне методе, праћено различитим унапређењима и одређивањем узрока неких од недостатака, као што је нестабилност при истезању. Данас су поред оригиналне SPH методологије у широкој употреби и модификоване шеме попут CNSPH (Corrected Normalized SPH) и MLSPH (Moving Least Squares Particle Hydrodynamics) које настоје да отклоне недостатке кернел апроксимације оригиналног SPH приступа. Теоријски напредак пратило је и проширење области примене. У астрофизици као почетном пољу примене, углавном се срећу стишљиви флуиди у гравитационом пољу. Свеобухватни и јавно доступни програмски пакет GADGET развијен на Универзитету у Минхену је један од најпознатијих космолошких симулатора [Springel et al. 2001]. Са Монагановим чланком [Monaghan 1994] SPH је примењен и на динамику нестишљивих 21 М. Ивановић Докторска дисертација флуида где су се показале многе предности у односу на мрежне методе, посебно при моделирању слободних површина у океанологији и водопривреди и вишефазних флуида. Вигњевић и коаутори [Vignjevic et al. 2000] дају смернице за примену SPH у механици оштећења где долази до великих деформација и распарчавања материјала. Улажење SPH методе у главне токове потврђује и примена ове методе у симулацијама које се користе у филмској индустрији и компјутерским играма. 3.2 Класификација SPH методе Оригинална SPH формулација поседује следеће особине: • Безмрежна је, • Колокациона је; заснива се на апроксимацији која укључује постојање коначног броја тзв. колокационих тачака и коначно-димензионог простора кандидата решења (обично полином неког степена). Бира се оно решење које задовољава дату једначину у колокационим тачкама. • Заснива се на Лагранжевој формулацији; физичке величине се прате у метеријалној тачки која током кретања пролази кроз разне просторне тачке. Нумеричка метода која је у својој природи безмрежна, колокациона и Лагранжева испуњава услов да се назове честичном методом. У случају SPH, честице репрезентују делиће материјала, били они космолошких или микро димензија. Скуп маса, положаја, брзина, убрзања, енергија и других физичких величина честица одређује стање целокупног система. Иако SPH честице не представљају директне физичке аналогоне, веома подсећају на њих с обзиром на својство константне масе током симулације. Већина честичних метода користи неку од експлицитних шема за временску интеграцију [Liu & Liu 2003]. Као једна од првих безмрежних метода, SPH је иницирала формулацију многих других, као што су Element Free Galerkin Method (EFG) [Belytscho et al. 1994, Krongauz et al. 1997], Reproducing Kernel Particle Method (RKPM) [Liu et al. 1995, 1997], Moving Least Square Particle Hydrodynamics (MLSPH) [Dilts, 1997], Meshless Local Petrov 22 М. Ивановић Докторска дисертација Galerkin Method (MLPG) [Alturi et al. 2000]. Такође, постоји велики број честичних нумеричких метода које немају везе са SPH формулацијом, а који се данас употребљавају на скалама од нано до макро типа: • молекуларна динамика (МД) • дисипативна честична динамика (Dissipative Particle Dynamics, DPD) • честица-у-ћелији (Particle-in-cell) • метод дискретних елемената (Discrete Element Method, DEM) итд. 3.3 Основе SPH формулације 3.3.1 Кернел апроксимација Закони одржања из динамике континуума, дати у форми парцијалних диференцијалних једначина, преводе се у интегралне једначине коришћењем интерполационих функција које дају тзв. “кернел процену” физичке величине у тачки. Са становишта прорачуна, информација је позната само на дискретном скупу тачака, тако да се поменути интеграли израчунавају као суме величина у суседним честицама. Мрежа није потребна из разлога што се вредности функција рачунају коришћењем вредности физичких величина у дискретним тачкама (честицама) и интерполациони кернел. На пример, тачна вредност функције f(x) у интегралној репрезентацији је: f x =∫ −∞ ∞ f x '  x− x ' dx ' , (3.1) где је f(x) функција једне променљиве, а x−x '  Диракова делта функција. Све док је f(x) дефинисана и непрекидна на целокупном домену важи једначина (3.1). Слично, у тродимензионом простору важи: f x =∫  f x ' x−x 'd x ' , (3.2) при чему је аргумент x замењен вектором положаја тачке у простору. Међутим, као што 23 М. Ивановић Докторска дисертација је већ назначено, SPH је базиран на коначном скупу тачака на коначним међусобним растојањима, што директну примену Диракове делта функције у нумерици чини непогодном. Зато се Диракова делта функција x−x '  замењује тзв. кернел функцијом W ∣x−x '∣, h  ширине х. Интегрална репрезентација сада већ апроксимиране функције f(x) дата је једначином (1.3): 〈 f x〉=∫  f x ' W ∣x−x'∣, h d x ' , (3.3) где оператор 〈 〉 означава тзв. кернел апроксимацију. Наравно, кернел се бира тако да увек мора да важи: lim h0 〈 f x〉= f x . (3.4) У SPH терминологији, W ∣x−x '∣, h  се назива “кернел функцијом”, “прозор функцијом”, или једноставно “кернелом”. Скаларна величина h назива се дилатационим параметром, дужином глачања или у оригиналу smoothing length. Уколико је потребно направити аналогију са мрежним методама попут методе коначних елемената, овај параметар би највише одговарао некој карактеристичној дужини коначног елемента. 3.3.2 Карактеристике кернел функције Да би Диракова делта функција била успешно замењена кернел апроксимацијом, потребно је да буду задовољене неке карактеристике које произилазе из природе делта функције [Liu 2003]: 1. Деоба целине (Partition of Unity, PU) ∫  1⋅W ∣x−x '∣ ,h  d x '=1 (3.5) Ово је класичан услов нормализације на коначном домену утицаја. Међутим, овај услов такође осигурава конзистенцију нултог реда (C0), али само за континуалну репрезентацију функције. 24 М. Ивановић Докторска дисертација 2. Монотоно опадање Како се удаљеност од честице x повећава, тако вредност кернел функције треба монотоно да опада, што је у сагласности са принципом да ближе честице имају већи тежински фактор утицаја од оних удаљенијих. 3. Компактан домен утицаја W ∣x−x '∣, h =0 изван домена  (3.6) :∣x−x '∣≤k⋅h (3.7) Не постоји никаква теоријска препрека да се за кернел узме функција облика Гаусијана, ненулта на целом просторном домену, која још има и ту предност да је бесконачно пута диференцијабилна, што је од посебног значаја за неке гране примене SPH. Међутим, постављајући захтев компактног домена утицаја, глобалне операције се трансформишу у локалне, што даље води до ретке(sparse) матрице система и далеко веће ефикасности у његовом решавању. Димензија компактног домена утицаја је детерминисана параметром h и фактором скалирања k који одређује ширење кернел функције. На тај начин, једначином (3.7) одређен је домен утицаја честице просторне координате x. 4. Позитивност W ∣x−x '∣, h 0 на целокупном домену  (3.8) Позитивност кернел функције је физички захтев, тј. потребан је да би се осигурали физички оквири проблема који се разматра. Неки од кернела који се користе у пракси су негативни у деловима својих домена утицаја, али је њихова употреба веома ограничена, јер у неким симулацијама изазива појаве као што је нефизичка негативна густина. 5. Dirakova− особина lim h0 W ∣x−x '∣, h =x−x ' (3.9) Да би се задовољио услов за апроксимирану функцију 〈 f x〉 , наведен у 25 М. Ивановић Докторска дисертација једначини (3.4) потребно је да важи (3.9). Како се дилатациони параметар h приближава нули, тако се вредност кернел функције приближава вредности Диракове делта функције. 3.3.3 Различити типови кернел функција Уколико се направи аналогија са методама базираним на мрежи, кернел функција у SPH имала би сличну улогу као интерполационе функције коначног елемента или различите диференцне шеме код методе коначних разлика. Један од разлога што је SPH као нумерички метод доживео запажену примену је у томе што се парцијални изводи физичких величина у полазној диференцијалној једначини током поступка кернел апроксимације преводе у парцијалне изводе кернел функције. Зато је потребно да кернел има континуалне изводе реда који се поклапа са редом диференцијалне једначине. Иако се на први поглед чини да је најбоље изабрати бесконачно пута диференцијабилни гаусијан, у пракси се показало да су полиноми 3. реда (B-spline) или 5. реда који га апроксимирају довољно тачни, а при томе доста прорачунски ефикасни (Слика 3.1). Сама програмска имплементација SPH кернел функције је релативно једноставна. Довољно је поставити рачунање кернела у потпрограм (или више њих за више врста кернел функција) и позивати их по потреби. 26 М. Ивановић Докторска дисертација Слика 3.1. Различите функције коришћене као SPH кернел функције Кернел функција B-spline типа дефинише се као: W  , h = C hD {1− 3 2 2 3 4 3 ,1 1 4 2−3 ,1≤2 0,≥2 } , =∣x− x '∣h , (3.10) а њене особине су: • компактни домен утицаја, • велика прорачунска ефикасност, • други извод је непрекидна функција (али не и глатка), • вредност грешке је реда Oh2 , при чему D представља број димензија проблема, а C константу која зависи од броја димензија, омогућава нормираност B-spline функције и има вредности 2 3 , 10 7 , 1  за једну, две или три димензије респективно. 27 М. Ивановић Докторска дисертација Слика 3.2. Кубна кернел функција за 2Д проблеме Други извод B-spline кернела је изломљена линија, као што је то приказано на Слици 3.6а, што у неким случајевима може представљати извор различитих врста нестабилности, па се код моделирања динамике флуида са изузетно малим Рејнолдсовим бројевима (као унутар крвних капилара) често користи око два пута спорији при прорачуну, али зато диференцијабилнији Quintic-spline: W  , h = C hD {3− 5−62−5151−5 , 0≤1 3−5−62−5 ,1≤2 3−5 ,2≤3 0,≥3 } ,  = ∣x−x '∣h . (3.11) Константа C у овом случају узима вредности 1 120 , 7 748 , 1 120 за једну, две или три димензије респективно. Лиу и Лиу [Liu и Liu 2005] су недавно увели нови кернел базиран на полиному четвртог реда који даје одличне резултате у симулацијама провођења топлоте. 28 М. Ивановић Докторска дисертација 3.3.4 Честична апроксимација Поред тзв. кернел апроксимације, постоји још једна кључна операција у SPH формализму - честична апроксимација. Наиме, интегрални облик дат у једначини (3.3) је непогодан за нумеричку примену, јер број честица није бесконачан, већ се оперише са коначним бројем честица од којих свака окупира свој део простора и носи константну масу. Континуална репрезентација се преводи у дискретну форму сумацијом по свим честицама у оквиру домена утицаја при чему се инфинитезимална запремина dx' из једначине (3.3) преводи у коначну запремину честице V j која са задатом масом честице j корелира као: V j = m j  j , (3.12) где је  j густина честице j∈NHD , а са NHD (NeighborHooD) је обележен скуп суседних честица честице i. Тако се, користећи заједно кернел и честичну апроксимацију, процена неке физичке величине f везане за честицу i доводи у форму погодну за програмску имплементацију: 〈 f xi 〉 =∫  f x ' W ∣xi−x '∣, h d x ' ≃ ∑ j∈NHD f x jW ∣x i−x j∣, hV j (3.1) = ∑ j∈NHD m j  j f x jW ∣xi−x j∣, h . У скраћеној форми, користећи идентитет W ∣xi−x j∣ ,h  =W ij , добија се коначна форма: 〈 f xi 〉 = ∑ j∈NHD m j  j f x j W ij . (3.14) 29 М. Ивановић Докторска дисертација 3.3.5 Просторни изводи кернел функције Као што је већ напоменуто, један од разлога велике могућности примене SPH у моделирању је и релативно лака имплементација просторних извода функција физичких величина у поређењу са већином других метода. Да би се на једначине конзервације успешно примениле кернел и честична апроксимација, потребно је изводе функција физичких величина по просторним координатама превести у изводе кернел функције по истим просторним координатама. Сада ће бити доказане две теореме које ће се користити при извођењу једначина конзервације. Теореме су дате у интегралном облику и, ради краће форме, коришћен је идентитет W ∣x−x '∣, h ≡W . Теорема 1: Ако су f(x) и g(x) непрекидне и диференцијабилне функције просторних координата на домену  , а W SPH кернел функција, важи да је: ∫  W f x '  ∂ g x '  ∂ x ' d x ' ≃ f x∫  W ∂ gx '  ∂x ' d x ' . (3.15) Доказ: Ако се пође од развоја целокупне подинтегралне функције у Тејлоров ред око тачке x' = x, може се написати: ∫  W f x '  ∂ g x '  ∂ x ' d x ' =∫  { f x  ∂g x ∂x x−x '  dd x  f x ∂g x ∂x ...}W d x ' (3.16) Како је W парна функција, сви чланови које множи непаран степен од (x-x') нестају. Такође, у складу са поменутим редом конзистенције самог метода, могу се занемарити сви чланови другог и вишег реда, па се добија да је: ∫  W f x '  ∂ g x '  ∂ x ' d x ' =  f x '  ∂g x ' ∂x ' x '=x . (3.17) Заменом апроксимиране 〈∂ g x ' ∂ x ' 〉 уместо ∂ gx ' ∂ x ' добија се:  f x '  ∂g x ' ∂x ' x '=x = f x ∫ W ∂g x ' ∂x ' d x ' , (3.18) 30 М. Ивановић Докторска дисертација чиме је теорема 1 доказана. Теорема 2: Ако је f(x) непрекидна и диференцијабилна функција просторних координата на домену  , а W SPH кернел функција, важи да је: 〈∂ f x ∂x 〉=−∫ f x  ∂W∂x ' d x ' . (3.19) Доказ: Полазећи од кернел апроксимације, а затим применом парцијалне интеграције, добија се: 〈∂ f x ∂x 〉=∫ W ∂ f x ' ∂x ' d x ' =∮S W f x ' d S−∫ f x '  ∂W∂ x ' d x ' . (3.20) Уколико је домен интеграције површинског интеграла (а то је затворена површина S домена  ) већи од компактног домена утицаја кернела W, или ако је физичка величина f(x) једнака нули на границама тела (случај слободне површине), тај интеграл је једнак нули, па је према томе: ∫  W ∂ f x '  ∂x ' d x ' =−∫  f x ∂W ∂x ' d x ' , (3.21) чиме је Теорема 2 доказана. Једна од важних особина традиционалног SPH кернела је и промена знака уколико се измени ред диференцирања (i и j су редни бројеви честица): ∂W ij ∂x i =−∂W ij ∂x j или ∇ iW ij =−∇ jW ij . (3.22) Лако се показује [Dilts 1999] да ова особина практично имплицира поштовање трећег Њутновог закона (закон акције и реакције) чинећи SPH једначине конзервативним, а такође и штеди рачунарско време потребно за претрагу у алгоритму најближих суседа. Дискретне форме кернел апроксимације и њеног извода су по форми сличне функцијама облика код метода коначних елемената. На пример, у општем облику, неко поље физичке величине v може се написати као: 31 М. Ивановић Докторска дисертација vh x =∑ I I x v I , (3.23) где су функције облика ∑I  I xvI у SPH случају дате као: I x =W x−x IV I (3.24) и играју исту улогу као интерполационе функције у коначним елементима. V I представља запремину која је придружена честици I. Међутим, кернел апроксимације нису интерполанти као код МКЕ: W xI−x J ≠ IJ . (3.25) Ова особина такође имплицира да чворне вредности v I не одговарају апроксимацији vh x I  , тј: v I ≠ vh x I , (3.26) а то даље значи да се посебна пажња треба обратити на постављање есенцијалних граничних услова за разлику од једноставног задавања чворних граничних величина у случају МКЕ. 3.4 Недостаци традиционалне SPH формулације У досадашњем тексту углавном су приказане предности SPH методе као што су једноставан концепт, безмрежна природа, погодност за примену код великих деформација, итд. Међутим, применом у моделирању чврстих тела и нестишљивих флуида, примећено је неколико битних недостатака које треба имати у виду у било каквој примени. Последњих двадесетак година учињени су велики напори да се ови проблеми превазиђу или барем смање до мере прихватљиве за примену. У ту сврху, настали су и многе модификације оригиналног SPH - MLSPH (Moving Least Squares Smoothed Particle Hydrodynamics), CNSPH (Corrected Normalized SPH), итд. Овде ће укратко бити дискутована три недостатка, као и неке мере за њихову редукцију. 32 М. Ивановић Докторска дисертација Недостаци оригиналне SPH методе су следећи: • конзистенција • нестабилност при истезању • третман граничних услова 3.4.1 Конзистенција У математичком смислу, шема L hu = f поседује конзистенцију реда p са диференцијалном једначином L u = f ако ∥L u−Lhu∥= O h p , где је h нека мера густине интеграционих тачака (чворова). Из једначине је очигледно да ∥Lu−Lh u∥ 0 када h0 . У терминологији нумеричког моделирања, ред конзистенције методе се мери редом полинома који се неком нумеричком шемом може репродуковати потпуно тачно. На пример, уколико пробне функције у методи тежинских остатака имају конзистенцију другог реда, то значи да се аналитичко решење све до другог реда може добити потпуно тачно. Уколико је аналитичко решење трећег или вишег реда, настаће грешка. Захтеви за редом конзистенције се праве у зависности од реда парцијалне диференцијалне једначине која се решава. Из једначине (3.5) може се показати да, у својој интегралној форми, SPH поседује конзистенцију нултог реда унутар домена утицаја (C0 - тачна репродукција константи). Међутим, показује се да, у својој дискретној форми, након примене честичне апроксимације, ова метода губи конзистенцију, и то не само на границама, него и унутар домена у случају нерегуларног распореда честица, тј. више не важи услов ∑I  I x = 1 (деоба целине, PU). Фрис [Fries et al. 2004] доказује ову тврдњу развојем у Тејлоров ред. Да би се испунио захтев конзистенције нултог реда, мора да важи: 33 М. Ивановић Докторска дисертација vh x =∑ i=1 N W x−xi V i vi =∑ i=1 N W x−xi V i v x∑ ∣∣=1 ∞ xi−x  ∣∣! Dvx  (3.27) =∑ i=1 N W x−x iV i v xgreška . У горњим једначинама,  је вишеструки индекс, а из последње једначине се види да је, да би се испунио захтев конзистенције, потребно да важи да је кернел сума на целом домену једнака јединици (целини), тј. ∑i=1 N W x−x iV i=1 . Са Слике 3.3 (испрекидана линија) се јасно види да то није испуњено за честице које се налазе близу граница домена код којих честице са једне стране доприносе суми, док са друге стране тај допринос недостаје због непостојања честица. За бесконачни домен, тј. у астрофизици, услов деобе целине и није тако тешко постићи, док се код реалних проблема који укључују границе мора прибећи другим методама, као што је генерисање тзв. виртуeлних честица, које такође могу да послуже и за постављање есенцијалних граничних услова. Слика 3.3. Сума SPH кернел функција не испуњава услов деобе целине на границама модела 34 М. Ивановић Докторска дисертација Други проблем који утиче на конзистенцију формулације је нерегуларни распоред честица. Да би се постигао услов конзистенције првог реда (C1), потребно је да тежинска функција буде симетрична. Овај услов није задовољен ни на граници где честице за сумацију недостају, а ни у у домену где су честице неуређене. Слика 3.4 на примеру помераја од регуларног распореда само једне честице на средини домена показује утицај на суму функција облика. Слика 3.4. Утицај нерегуларности распореда честица на својство деобе целине И за овај недостатак постоје редукциони механизми. Један од њих је варијабилни параметар h који еволуира заједно са густином честице. Други механизам је применљив само у случају моделирања нестишљивих флуида, а односи се на једначину стања која, чувајући густину константном, утиче и на правилан распоред SPH честица. 3.4.2 Извођење нормализоване кориговане SPH форме Конзистенција првог реда може бити постигнута на два начина. Први је кориговање кернел функције, а други кориговање дискретне форме конволуционог интеграла SPH интерполације. Вигњевић [Vignjević et al. 2000] имплементира кернел нормализацију и корекцију која води до тзв. Corrected Normalized Smoothed Particle Hydrodynamics (CNSPH) методе која поседује конзистенцију првог реда. Извођење се базира на 35 М. Ивановић Докторска дисертација општим законима хомогености и изотропије простора који се налазе у темељима закона одржања линеарног и угаоног момента. У општем случају, интерполација не треба да утиче на хомогеност простора. Начин да се ова тврдња формулише је да се докаже да је интерполација инваријантна у односу на транслацију координатног система. Полази се од интерполације произвољног векторског поља: 〈F x  〉∣x=x i =∑ j m j  j Fx j W xi−x j  . (3.28) Између осталог, поље које се може интерполирати је и простор, па горња једначина постаје: 〈x 〉∣x=x i =∑ j m j  j x jW xi−x j  . (3.29) У неком другом координатном систему помереном за вектор x у односу на почетни, интерполација постаје: 〈x ' 〉 ∣x '=x 'i =∑ j m j  j x ' jW x ' i−x ' j  , где је x ' = x−x . (3.30) Уколико су интерполиране координате тачке инваријантне у односу на транслацију координатних оса, онда мора да важи следеће: 〈x ' 〉 = 〈x 〉−x (3.31) Заменом SPH интерполаната за xi и xј у једначину (3.31) добија се: 〈x ' 〉 =∑ j m j  j x jW xi−x j −∑ j m j  j xW xi−x j , (3.32) или краће: 〈x ' 〉 = 〈x 〉−x∑ j m j  j W xi−x j  . (3.33) Поређењем једначине (3.33) са једначином (3.31), јасно је да ће дискретизован простор бити хомоген само уколико је задовољен услов: 36 М. Ивановић Докторска дисертација ∑ j m j  j W xi−x j  = 1 , (3.34) што је већ од раније познат услов да конзистенција буде задовољена. Даље, поред услова хомогености простора, треба показати и да апроксимација не утиче на услов изотропности простора. Један од начина да се ово изведе је да се докаже да је интерполација простора решења независна од ротације координатних оса. Промена координата услед ротације оса је: x ' = Cx , (3.35) где је C матрица ротације. За мале ротације ова формула такође може да се напише и преко вектора ротације  : x ' = x−×x . (3.36) Ако се жели осигурати да SPH апроксимација одржава чињеницу да је простор изотропан, онда она мора да задовољи следећи услов: 〈x ' 〉 ≡ 〈Cx 〉 =C〈x〉 , или краће 〈C〉 = C , (3.37) што значи да матрица ротације треба да је апроксимирана апсолутно тачно. Израз (3.36) може се даље развити на следећи начин: x ' = x−×x = x−∇ ×x⋅x = x− x×x =I−xx (3.38) где је x матрица облика:  x= [ 0 −z  yz 0 −x−y x 0 ] , (3.39) што значи да је, за мале ротације, ротациона матрица дата формулом: C= I−x . (3.40) Апроксимација ротираних координата је: 37 М. Ивановић Докторска дисертација 〈x ' 〉 ≡ 〈Cx 〉 = 〈C〉 〈x〉 = 〈I−x 〉〈x 〉 , (3.41) што значи да је захтев за интерполацију: I−x = 〈I−x 〉 тј. x = 〈x 〉 . (3.42) Даљим развијањем ове формуле добија се: 〈x 〉 =∑ j m j  j ×x j∇W xi−x j  =∑ j m j  j xx j ∇W xi−x j =  x∑ j m j  j x j∇W xi−x j , (3.43) тј. да би се очувала изотропија, мора да буде испуњен услов: ∑ j m j  j x j∇W xi−x j = I . (3.44) Форма нормиране кернел функције и апроксимације првог извода која омогућава конзистенцију првог реда у дискретном облику, дате су у Табели 3.1: Табела 3.1. Коригована форма кернел функције и њен градијент Хомогеност простора Изотропија простора Услов ∑ j m j  j W xi−x j  = 1 ∑ j m j  j x j∇W xi−x j = I Нормирано-кориговано W ij = W x i−x j  ∑ j m j  j W xi−x j  ∇ W ij = ∇ W ij ∑ j m j  j x j∇W xi−x j  Имајући у виду овако изведене CNSPH апроксимације, тј. кориговане кернеле, у једначинама конзервације масе, момента и енергије је довољно уместо уобичајеног употребити кориговани кернел, као и додатно водити рачуна о третману граничних услова. 38 М. Ивановић Докторска дисертација 3.4.3 Нестабилност у истезању Ситуације у којима се појављује овај недостатак су ситуације у којима су честице изложене одређеном истежућем напону. При томе, њихово кретање постаје нестабилно, што може дати потпуно нетачне резултате настале због кластеризације честица. На Слици 3.5 приказан је контактни проблем судара две плоче [Vignjevic et al. 2002], где се убрзо након удара јавља недефинисано понашање, што се може видети из поређења дијаграма напона. Слика 3.5. Дијаграм брзина приликом судара два блока коришћењем SPH лево t=1.5s - нема нестабилности, десно t=4.5s - настаје нестабилност У једнодимензионалној анализи стабилности Свигл и коаутори [Liu 2003] су идентификовали критеријум за стабилност у коме фигурише напонско стање и други извод кернел функције, тј. довољан критеријум за раст нестабилности је: W  0 , (3.45) где су W  , , други извод кернел функције, просторни индекс и тензор напона респективно. За кубни кернел који се користи у већини случајева, дистрибуција кернел функције и њених извода до трећег реда може се видети на Слици 6а, а за кернел петог реда дат једначином (3.11) на Слици 3.6б. 39 М. Ивановић Докторска дисертација (a) (б) Слика 3.6. Уобичајени SPH кернели и њихови изводи до трећег реда (а) кубни (б) петог степена Објашњење за појаву нестабилности у тензији је једноставно ако се има у виду једначина (3.45). Наиме, константа h се обично бира као размак између суседних честица у иницијалном распореду. Тако је прва суседна честица на удаљености x−x ' h =1 , а следећа на x−x ' h =2 . Као што се види са Слика 3.6а и 3.6б други изводи 40 М. Ивановић Докторска дисертација кубног кернела и кернела петог реда су на интервалу (1,2) увек позитивни. На тај начин, а према једначини (3.45), показује се да је SPH стабилан у компресији, али нестабилан у тензији. Учињено је доста напора да се ова мањкавост методе превазиђе. Међутим, иако је у одређеним пољима било евидентног напретка, задовољавајући резултати се не добијају увек. Рандлес и Либерски [Randles & Libersky 1996] предложили су додавање дисипативних чланова, док је Лиу [Liu 2003] предложио додавање специјалних тачака, тзв. напонских тачака (које се не поклапају са SPH честицама) у којима се прати стање напона и других величина стања, док се кинематичке величине и даље прате у SPH честицама. Монаган [Monaghan, 2000] даје формулацију вештачке силе која би допринела стабилизацији прорачуна. 3.5 Примена SPH Адаптивна резолуција модела, као и могућност да покрије више редова величине уз помоћ адаптивног параметра h учинила је SPH веома применљивом у пољу теоријске астрофизике. Један од најпознатијих и јавно доступних SPH софтвера намењених астрофизици је Gadget [Springel et al. 2001], који такође нуди и паралелни начин рада. Симулације галактичких формација, формација звезда, колизија звезда и глакасија, судара метеора и процеса у суперновим су само неки од примера употребе у астрофизици и космологији. У општем смислу, највећа апликација методе лежи у моделирању хидродинамичких појава са могућношћу укључења ефеката гравитације. Такође је било одређеног успеха у моделирању трансфера зрачења и магнетног поља. Примене у другим сферама укључују еластичне протоке флуида, флуид-солид интеракцију, магнетну хидродинамику, вишефазне протоке, квази-нестишљиве протоке (о којима ће овде највише бити речи), протоке кроз порозни медијум, симулације удара итд. Чен [Chen et al. 1999] је први применио SPH на провођење топлоте, трансфер топлоте и масе. Боне [Bonet & Kulasegaram 2000] је ушао у домен индустријских 41 М. Ивановић Докторска дисертација апликација као што је формирање метала, а слично су учинили и Ха и Клири [Ha et al. 1998]. Иако се SPH базира на временској еволуцији густине, Монаган је [Monaghan 1994] отворио велику област моделирања нестишљивих флуида користећи једначину стања за квази-нестишљивост, што је покренуло апликације у аеронаутици и водопривреди. Морис [Morris et al. 1997] је овај формализам прилагодио ниским Рејнолдсовим бројевима. Вигњевић и коаотори дали су велики број примера примене у механици солида, у моделирању судара, као и спрезања са методом коначних елемената преко контактног потенцијала. Лиу и коаутори [Liu et al. 2003, Liu & Liu 2003] моделирали су феномене подводних експлозија и других врста експлозивних појава. Поред ових инжењерских примена, област која се брзо развија је апликација у медицинским наукама. Матијас [Matthias et al. 2004] је SPH применио на симулацију протока крви са потенцијалним применама у виртуелној хирургији. Ова дисертација је покушај да се даљем развоју управо ове врсте примене да научни допринос. 42 М. Ивановић Докторска дисертација 4 Закони конзервације и моделирање динамике нестишљивог флуида у SPH форми 4.1 Закон одржања масе Најочигледнији начин за апроксимацију густине је директна примена фомуле (3.14), тј: i = ∑ j∈NHD m jW ij . (4.1) Ова форма је коришћена и приликом оригиналног извођења спроведеног од стране Џинголда, Лусија и Монагана [Gingold & Monaghan 1977, Lucy 1977]. Међутим, за приближно нестишљиве флуиде са слободном површином, који ће бити дискутовани у оквиру ове дисертације, примена једначине (4.1) даје погрешне резултате, јер код поменутих проблема густина на слободној површини треба нагло да падне на нулу, што формула (4.1) свакако не омогућава, јер се по њој густина усредњава на дужину од 2h. Овакво извођење проузрокује грешке приликом рачунања притиска на површи, што је код појединих модела од највећег интереса. Закон одржања масе који се користи у SPH изводи се из једначине континуитета у Лагранжевом оквиру, у складу са природом саме методе. Одржање масе практично представља тврђење да је брзина уласка масе у систем једнака брзини којом маса напушта систем. На Слици 4.1 види се контролна запремина флуида заједно са елементарним површима. Густина флуида је  , а компоненте брзине су v x , vy , vz . 43 М. Ивановић Докторска дисертација Слика 4.1. Контролна запремина флуида око просторне тачке Pxyz. (а) Контролна запремина унутар домена флуида, (б) Увећана контролна запремина са масеним флуксевима кроз површи паралелне координатним равнима. Нотација ,x ,y ,z означава просторне изводе по x, y, z респективно. Преузето из [Kojic idr. 1998] Може се показати да једначина континуитета има облик: ∂ ∂ t ∇⋅v= 0 ∨ ∂ ∂ t  ∂ v ∂ x = 0 ∨ ∂ ∂ t  ∂ v ∂ x = 0 . (4.2) Овде је коришћена дефиниција материјалног извода d /d t=∂/∂ t∂/∂ xv , где се подразумева Ајнштајнова сумациона конвенција. У SPH терминологији, рачунање густине преко једначине континуитета назива се густином континуитета. Последња једначина у (4.2) се може дискретизовати на више начина, а један од њих (најчешће коришћен) је примена SPH апроксимација само на дивергенцију брзине у другом члану, док се густина у истом члану узима као густина честице за коју се рачуна материјални извод. Почевши од континуалног облика, апроксимација изгледа као: 〈 d dt 〉 =−∫ W  ' ∂ v '∂ x ' d x ' . (4.3) У даљем развоју формуле (4.3) ће бити примењене теореме доказане у Одељку 3.3.5. Након примене апроксимације коју дефинише једначина (3.15), добија се: 44 М. Ивановић Докторска дисертација 〈 d dt 〉 =−∫ W ∂ v '∂ x ' d x ' . (4.4) Циљ је да се просторни извод (градијент) брзине преведе у просторни извод кернел функције, што омогућава једначина (3.19) и особина промене знака када се диференцира по примованој координати: 〈 d dt 〉 = ∫ v ' ∂W∂ x ' d x ' =−∫ v ' ∂W∂ x d x ' , (4.5) што у дискретизованом облику може да се напише као: d i dt =−i ∑ j∈NHD m j  j v j ∂W ij ∂ x i . (4.6) Међутим, једначина конзервације масе се не користи директно у овом облику, већ се на њу додаје још један члан, који, у ствари, представља тзв. “деобу нуле”: ∇ 1 =∫  1 ∂W ∂ x d x '=0 . (4.7) Дискретизацијом претходне формуле и множењем са i v i , добија се: ∑ j∈NHD m j  j ∂W ij ∂ x i =  i v i ∑ j∈NHD m j j ∂W ij ∂ x i =  i ∑ j∈NHD m j  j v i ∂W ij ∂ x i = 0 . (4.8) Иако у строгом математичком смислу SPH не задовољава услов деобе целине (а консеквентно ни деобу нуле), комбинацијом једначина (4.6) и (4.8) добија се коначна и најчешће коришћена формула за еволуцију густине у SPH: d i dt = i ∑ j∈NHD m j  j v i −v j  ∂W ij ∂ x i . (4.9) 4.2 Закон одржања линеарног момента Извођење једначине еволуције момента у честичној апроксимацији слично је извођењу временске еволуције густине. Употребом разнородних трансформација добијају се и различите форме резултујућих једначина. Приказани метод је један од 45 М. Ивановић Докторска дисертација најчешћих и своди се на директну кернел и честичну апроксимацију градијената који се појављују у диференцијалној формулацији закона одржања линеарног момента који гласи: dv dt = 1 ∂  ∂ x , (4.10) или, после примене правила множења извода, у форми погоднијој за SPH: dv dt = ∂ ∂ x      2 ∂∂ x . (4.11) Применивши кернел апроксимацију на једначину (4.11), добија се почетни облик континуалне SPH форме једначине одржања момента: 〈 dvdt 〉 =∫ W ∂∂ x '  '  ' d x '∫ W  '  '2 ∂ '∂ x ' d x ' . (4.12) И овде ће бити примењене теореме доказане у Одељку 3.3.5. Након примене линеарне апроксимације дефинисане једначином (3.15) на други интеграл у (4.12) добија се: 〈 dvdt 〉 =∫ W ∂∂ x '  '  ' d x ' 2 ∫ W ∂ '∂ x ' d x ' . (4.13) Доказана Теорема 2 из Одељка 3.3.5 тврди да се просторни изводи величина под интегралом могу превести у просторне изводе кернел функције, што за последицу има трансформацију оба члана једначине 4.12 у: 〈 dvdt 〉 =−∫  '  ' ∂W∂ x ' d x '− 2 ∫  ' ∂W∂ x ' d x ' . (4.14) Како су просторни изводи примованих координата једнаки просторним изводима са обрнутим знаком (једначина 3.22), након честичне дискретизације добија се: dv i dt = ∑ j∈NHD m j  jj2  i i2 ∂W ij ∂ x i , (4.15) што представља и коначну формулу за баланс линеарног момента у SPH. Оваква 46 М. Ивановић Докторска дисертација симетризована форма редукује грешке које могу настати услед неуређености положаја честица. Конкретни материјални модел ће бити имплементиран унутар једначине (4.15) у наредном поглављу. 4.3 Закон одржања енергије Иако у наставку рада неће бити коришћен у значајнијој мери, ради комплетности се даје закон еволуције интерне механичке енергије. Енергија E представља механичку енергију која се акумулира у материјалу, ако занемаримо претварање рада у неке друге врсте енергије, рецимо топлотну. Слично као и у једначинама за еволуцију густине и брзине, полази се од основне релације познате из механике континуума у Лагранжевом формализму [Kojić et al. 2008]: dE dt =    ∂ v ∂ x тј. dE dt =  2 ∂v ∂ x −   v 2 ∂ ∂ x , (4.16) где је v = dx /dt , а подразумева се сумација по поновљеним индексима. Друга једначина у (4.16) даје формулу коју је предложио Монаган, погоднију за дискретизацију. Континуална форма кернел апроксимације може се представити следећом једнакошћу: 〈 dEdt 〉=∫ W  '  ' 2 ∂ ' v '∂ x'  d x '−∫ W  '  v '  '2 ∂' ∂ x ' d x ' . (4.17) После трансформације дефинисане једначином (3.15) на оба интеграла добија се: 〈 dEdt 〉= 2 ∫ W ∂  ' v ' ∂ x ' d x '−   v 2 ∫  W ∂ ' ∂ x '  d x ' , (4.18) што је потпуно у складу са редом целокупне апроксимације. После парцијалне интеграције и интерпретације резултата, како је то објашњено у Одељку 3.3.5, једначина (4.18) се трансформише у: 47 М. Ивановић Докторска дисертација 〈 dEdt 〉=− 2 ∫  ' v ' ∂W∂ x'  d x '   v 2 ∫   ' ∂W ∂ x ' d x ' . (4.19) Сада остаје да се континуална форма претвори у дискретну, што даје следећу симетризовану релацију која се директно користи и у SPH коду: dEi dt =−  i i2 ∑ j∈NHD m j vj−vi  ∂W ij ∂ x i , (4.20) где је W ij=W ∣xi−x j∣ ,h  . 4.4 Моделирање динамике вискозног флуида У фокусу дисертације налазе се проблеми разних аспеката моделирања флуида, а посебно нестишљивог Њутновског флуида SPH методом. Пошто су основне једначине SPH оквира изведене, у овој секцији ће се приступити извођењу конкретног материјалног модела и његовој интеграцији у једначине одржања. 4.4.1 Линеарни вискозни тензор напона Вискозне силе у флуиду су функција промене брзине флуида по просторној скали. Брзина у било којој тачки флуида r је дефинисана као v(r). На Слици 4.2 дат је шематски приказ појаве вискозних сила на примеру дводимензионог струјања између две плоче, познатом као Couette струјање. Слика 4.2. Шема дводимензионалног струјања између две паралелне плоче 48 М. Ивановић Докторска дисертација Брзина на некој малој удаљености dr од тачке r може бити написана у облику Тејлоровог реда: v rd r  = v r  d v d r d r⋯ , (4.21) где је d v /d r краћи начин писања дијадског производа nabla(del) оператора и брзине: d v d r = [ ∂ v x ∂ x ∂ v x ∂ y ∂ v x ∂ z ∂ v y ∂ x ∂ v y ∂ y ∂ v y ∂ z ∂ v z ∂ x ∂ v z ∂ y ∂ v z ∂ z ] , (4.22) тј. Јакобијан поља брзине. Вискозне силе су резултат релативног кретања елемената флуида, тако да се могу изразити као функција поља брзине. Другим речима, вискозне силе у тачки r су функција брзине флуида у тој тачки и свих извода v(r) у тој тачки. У случају линеарне вискозности, која је у већини практичних ситуација сасвим довољна као модел реалног флуида, вискозне силе ће бити функција искључиво тензора Јакобијана. Ако се x, y и z координате означе индексима 1, 2 и 3 респективно,  компонента Јакобијана може се написати као ∂ v , где је ∂ скраћено записан парцијални извод ∂/∂ x . Свака матрица се може записати као збир антисиметричне и симетричне матрице и ова декомпозиција је инваријантна на избор координатног система, тако да има физичку важност. Поље брзине се апроксимира као: v rd r = v r 1 2 ∂ v−∂ v dr 1 2 ∂v∂ vdr  , (4.23) где је Ајнштајнова нотација коришћена за сумирање по поновљеном индексу. Други члан здесна представља антисиметрични део и, у ствари, репрезентује круту ротацију флуида око тачке r угаоном брзином  где је: 49 М. Ивановић Докторска дисертација = 1 2 ∇×v = 1 2 [∂2 v3−∂3v 2∂3 v1−∂1v 3∂1v 2−∂2 v1] . (4.24) Код ове врсте круте ротације нема релативних промена положаја делића флуида, тако да неће бити ни вискозне силе везане за овај антисиметрични члан. Преостали симетрични члан је одговоран за вискозне силе унутар флуида. Претпостављајући да је флуид изотропан, најопштији начин да се симетрични члан декомпонује у координатно инваријантан (а према томе и физички реалан) облик је сумација константног тензора брзине експанзије и тензора брзине смицања чији је траг једнак нули: 1 2 ∂ v∂ v = 1 3 ∂v  брзина експанзије 12 ∂v∂ v −13 ∂v  брзина смицања , (4.25) где је  јединични тензор. Најопштија линеарна веза између тензора напона и брзине деформације је линеарна комбинација следећа два тензора [Landau & Lifshitz 1959]: visc ;= ∂v ∂v∂ v−23 ∂v  , (4.26) где је  коефицијент тзв. запреминске вискозности, а  динамички коефицијент (смичуће) вискозности. Силе у флуиду су последица брзина индивидуалних молекула, које се могу посматрати као збир брзине флуида и брзине топлотног кретања. Тензор вискозног напона даје искључиво компоненту силе која потиче само од брзине флуида. Друга компонента која потиче од термалног кретања третира се као обичан хидростатички притисак, тако да тензор укупног напона на елементу флуида гласи :  =−p  visc ;  . (4.27) 4.4.2 SPH једначине момента и енергије флуида У опште једначине одржања момента и енергије, изведене раније у овој глави, треба укључити и управо изведену везу између напона и брзине деформације. Иако се почеци 50 М. Ивановић Докторска дисертација примене SPH методе у динамици флуида везују за имплементацију тзв. вештачке вискозности (artificial viscosity) чија примена даје одличне резултате, у потпуности поштујући одржање момента код модела код којих настају јаки удари, у дисертацији ће главни акценат бити на моделирању праве вискозности. Овакав избор је логичан ако се има у виду главни циљ рада, а то је моделирање протока флуида са ниским Рејнолдсовим бројевима, нпр. у микро-крвним судовима. За Њутновске флуиде, занемарујући коефицијент запреминске вискозности, тензор вискозног напона из формуле (4.26) добија облик: visc ;=  ∂ v∂ v−23 ∂v тј. visc ;=   (4.28) где је  тензор брзине деформације. Збирни тензор напона може се изразити као:  =−p   , (4.29) па на основу тога, једнакост (4.15) постаје: dv i dt = ∑ j∈NHD m j  p j j2 p i i2  ∂W ij ∂ x i  ∑ j∈NHD m j  j  j j2i   i i2  ∂W ij ∂ x i , (4.30) где прва сума даје SPH апроксимацију хисдростатичког притиска, а друга сума апроксимацију вискозних сила. Према већ познатим принципима доказаним у теоремама из Главе 3 (формуле 3.15 и 3.19), може се показати да апроксимација тензора деформације честице i гласи:  i = ∑ j∈NHD m j  j v j ∂W ij ∂ x i  ∑ j∈NHD m j  j v j ∂W ij ∂ x i − 23 ∑j∈NHD m j  j v j⋅∇ iW ij . (4.31) Слично као и у дискусији у вези са деобом јединице приликом извођења еволуције густине, формула (4.8) може се искористити за добијање следећих једнакости: v i  ∑j∈NHD m j  j ∂W ij ∂ x i = 0 , v i  ∑j∈NHD m j  j ∂W ij ∂ x i = 0 , (4.32) 51 М. Ивановић Докторска дисертација vi⋅ ∑j∈NHD m j  j ∂W ij ∂ x i = 0 . Одузимањем ових једнакости од једначине (4.31), како би се укључиле разлике брзина у прорачун брзине деформације проузроковане вискозношћу, коначна SPH апроксимација компоненте тензора брзине деформације на локацији честице i гласи:  i = ∑ j∈NHD m j  j v ji ∂W ij ∂ x i  ∑ j∈NHD m j  j v ji ∂W ij ∂ x i − 23 ∑j∈NHD m j  j v ji⋅∇ iW ij   . (4.33) Комбиновањем формула (4.33) и (4.30) третира се еволуција брзине SPH честица. Пошто је изведена веза напон-брзина деформације, може се приступити извођењу израза за интерну енергију. Као што је напоменуто у претходном излагању, две врсте сила у флуиду врше рад. Прва је притисак, а друга вискозна сила. Прво ће бити размотрен рад који врши сила притиска у флуиду до кога се лако долази из једначине (4.20): − p  ∂ v i ∂ x i = pi i2 ∑ j∈NHD m j v ij ∂W ij ∂ x i . (4.34) Међутим, претходна једначина се показала неповољном у примени због својих несиметричних својстава, тако да се у већини имплементација модификује чланом који настаје директном апроксимацијом рада силе притиска кернел и честичном апроксимацијом. Дакле, рад силе притиска се може одредити и на следећи начин: − p  ∂ v i ∂ x i = ∑ j∈NHD m j p j  j2 v ij ∂W ij ∂ x i . (4.35) Сабирањем једначина (4.34) и (4.35) долази се до најпопуларније SPH форме за апроксимацију рада притиска: − p ∂ v i ∂ x i = 1 2 ∑ j∈NHD m j  pii2 p j  j2 vij ∂W ij ∂ x i . (4.36) Када се у формулу (4.36) укључи и други део тензора напона, тј. вискозни део, добија се једна од могућих (и најчешће коришћених) једначина за процену интерне 52 М. Ивановић Докторска дисертација енергије флуида: dEi dt = 1 2 ∑j∈NHD m j  pii2 p j  j2 vij ∂W ij ∂ x i  i 2 i   i  i . (4.37) 4.4.3 Апроксимација линеарног момента методом коначних разлика Једначина одржања линеарног момента (4.30) одсликава најстрожије извођење SPH апроксимације директно из дефиниције материјалног модела, тј. везе између напона и брзине деформације. Међутим, у моделима протока флуида ниских Рејнолдсових бројева који користе ову једначину, а припремљени су за потребе дисертације, показало се да постоје велике осцилације у брзинама између суседних SPH честица, што не одговара физичкој реалности. Тешкоћа је, заправо, у двоструком диференцирању. Наиме, градијент кернела се појављује и у формули за брзину деформације (4.33), и у формули за убрзање (4.30), па због особина најчешће коришћених SPH кернела објашњених у Глави 3 настаје синтетички шум. Шум је посебно изражен код ниске резолуције SPH честица. Ови непожељни ефекти се могу умањити или потпуно анулирати употребом XSPH технике која ће бити објашњена у даљем тексту, али за њену примену је потребна још једна процена тежинског фактора, што модел чини мање робусним. Други, нешто мање утицајан проблем је што се употребом једначине (4.30) два пута примењује комплетна SPH апроксимација, једном да би се израчунао тензор брзине деформације, а други пут да би се одредила еволуција вектора брзине. Било би корисно избећи ову двострукост, јер она такође значи и два пута дуже време рачунања. Један од начина да се превазиђу оба наведена проблема понудио је Морис [Morris et al. 1997]. Његова хибридна релација за апроксимацију вискозног члана Навије-Стоксове једначине комбинује стандардну SPH релацију за први извод са апроксимацијом првог извода употребом методе коначних разлика. Метода је слична формули за моделирање провођења топлоте у [Monaghan 1995]. Развојем у Тејлоров ред око честице i, добија се да је: 53 М. Ивановић Докторска дисертација { 1 ∇⋅∇  v}i =∑j m j i j rij⋅∇ iW ij i j rij0.01h2 vij . (4.38) Оваква формулација конзервира линеарни момент у потпуности, док се угаони момент конзервира само апроксимативно. У случају класичних SPH полиномијалних кернела, кернел градијент се може изразити на следећи начин: ∇ iW ij= r ij ∣r ij∣ ∂W ij ∂ r i , (4.39) тако да се вискозни члан упрошћава до: { 1 ∇⋅∇  v}i =∑j m j i j v ij i  j  1r ij ∂W ij ∂ r i  . (4.40) Тако крајња једначина еволуције брзине честице i гласи: d v i dt =− ∑ j∈NHD m j  p j j2 p i i2 ∇ iW ij ∑j∈NHD m j i j vij i j  1r ij ∂W ij ∂ ri Fi , (4.41) где је са Fi означена запреминска сила на локацији честице i. 4.4.4 Вештачка вискозност Иако је Луси [Lucy 1977] био први који је увео вискозни члан у SPH једначине, најприхваћенија формула за вискозност у SPH симулацијама протока флуида високих Рејнолдсових бројева извели су Џинголд и Монаган [Gingold & Monaghan 1977]. Вештачка вискозност се уводи као упрошћени модел природне вискозности како би се стабилизовали шокови. Вискозни члан који су увели Џинголд и Монаган има ту предност да поседује члан линеаран по брзини, због чега репродукује класичну смичућу и запреминску вискозност, као и квадратни члан који је користан у моделирању шокова високих Мах бројева. Члан који садржи квадрат брзине је, у ствари, SPH еквивалент фон Нојман-Рихтмајерове вештачке вискозности који се користи у методи коначних разлика. Да би се на прави начин разумела форма вискозног члана који су увели Џинголд и Монаган, прво треба размотрити Навије-Стоксову једначину момента за вискозни 54 М. Ивановић Докторска дисертација флуид: d v dt =−1 ∇ p   ∇ 2 v (4.42) где су све величине познате из текста који претходи. Као што је већ речено, из једначине се види да фигурише извод другог реда, што у принципу није проблем, али га је добро избећи из разлога наведених у претходном одељку, а пре свега што у динамици флуида високих Мах бројева долази до великих поремећаја уређености честица, на шта је прорачун другог извода изузетно осетљив. Да би избегли овај потенцијални проблем, Монаган и Џинголд су кренули другачијим путем. Једначина (4.42) може се написати и на другачији начин: d v dt =− 1 ∇ {p− ∇ v} . (4.43) Ова форма показује да се вискозни члан може третирати и као додатни притисак. Уз ову аналогију, SPH верзија горње једначине гласи: d v i dt =− ∑ j∈NHD m j  p j j2 p i i2 ij ∇ iW ijFi (4.44) где је  ij додатни члан тзв. “вискозног притиска”. Поређењем претходне две једначине, очигледно је да  треба да има следећу форму: ≈  2 ∇∣v∣ . (4.45) У случају гаса, коефицијент вискозности је приближно дат са: ≈ c (4.46) где је  средња дужина слободног пута молекула гаса, а c брзина звука у гасу. Најлогичнији начин да се ова апроксимација уведе у SPH, је замена средње дужине слободног пута са h. У једнодимензионом случају, који се разматра због једноставности, потреба за постојањем извода другог реда интерполанта може се превазићи апроксимирањем употребом једноставне форме коначних разлика: 55 М. Ивановић Докторска дисертација dv dx ≈ v i−v j xi− x j , (4.47) тако да комбинацијом једначина (4.45), (4.46) и (4.47) формула за  ij у једнодимензионој динамици постаје: ij =−hcii  v i−v j xi−x j  (4.48) где је  бездимензиони коефицијент који се може искористити за фино подешавање формуле према конкретном моделу. Међутим, овако дефинисани  ij није симетричан, што је лоше у смислу одржања момента. Чланове ci и i зато треба заменити симетризованим формама cij = cic j /2 и ij = i j /2 . Да би се избегао проблем када је ∣vij∣≠ 0 , а xij тежи нули, количник vij /xij се замењује следећим изразом: vij x ij = v ij xij xij22 (4.49) где је 2 = 0.001h2 . Генерализацијом на три димензије, вредност  ij постаје: ij =−hcijij  v ij⋅rij r ij22  (4.50) Једначина (4.50) успешно репродукује линеарну смичућу и запреминску вискозност флуида, а такође има и особину да стабилизује шокове умерене јачине [Monaghan 1983]. Као што је већ речено, ово понекад није довољно, тако да се на постојећи “вискозни притисак” додаје још један члан који је, у ствари, SPH еквивалент фон Нојман Рихтмајерове вештачке вискозности из методe коначних разлика. Коначна формула за вештачку вискозност добија облик: ij =−c ijijij2 ij (4.51) где  у овом случају не означава коефицијент динамичке вискозности, већ је ij= hv ij⋅rij r ij22 . 56 М. Ивановић Докторска дисертација Када се моделира проток стишљивог или квази-нестишљивог флуида са високим Мах бројем где је права вискозност занемарљива, једначина (4.52) ће се примењивати само у фази компресије флуида, тј. када се честице једна другој приближавају, што се може изразити као vij⋅rij 0 . Када је пак vij⋅rij 0 , тј. флуид је у експанзији, онда се узима да је ij = 0 . У великом броју примена у моделирању протока флуида великих брзина, показало се да вредности константи = 1 и = 0 дају одличне резултате. Са друге стране, многи аутори [Monaghan 1994] користе формулу (4.51) како би моделирали протоке флуида ниских Мах бројева и у ту сврху је у свим примерима = 0 , док се  поставља тако да репродукује праву вискозност. Код примера из [Monaghan 1994] где се моделира формација и еволуција елиптичне водене капи, као и колапс бране, вредност = 0.01 се показала одговарајућом. Пажљивом анализом једначине (4.51) Монаган и Кос [Monaghan & Kos, 1999] показали су да је: = 1 8 hc . (4.52) Члан тзв. “вискозног притиска” додатно је модификован од стране Балсаре [Balsara 1995] како би се избегли ентропијски ефекти који настају у регионима са снажним смицањем. Његова метода састоји се у множењу ij одговарајућом функцијом која тежи јединици у регионима са јаком компресијом, а нули у регионима са израженим вртложењем. Такође је показано да његов метод утиче и на побољшану конзервацију енергије система. Клири и сарадници [Cleary et al. 2002] су развили методу која им је омогућила да коректно моделирају динамику вишефазних флуида чија се густина разликује и за три реда величине. Иако изведена метода моделирања динамике флуида уз помоћ вештачке вискозности у многим случајевима даје задовољавајуће резултате, тај начин није у фокусу овог рада, што говори и његова тема. Вештачка вискозност у форми једначине (4.51) је ипак имплементирана и тестирана у софтверу SPH07, о чему ће бити речи у даљем тексту. 57 М. Ивановић Докторска дисертација 4.4.5 Усредњавање брзине Понекад употреба горе наведених техника није довољна да би се моделирани систем довео у стање приближно реалном систему који се моделира. Посебно у случају увођења директне методе моделирања природне вискозности описане једначином (4.30) где фигуришу други и виши изводи физичких величина може доћи до нумеричких флуктуација које свакако представљају непожељан ефекат, што ће у каснијем тексту бити демонстрирано примером погрешних профила брзина код дводимензионалног струјања нестишљивог флуида између две паралелне плоче. Како би се ови ефекти смањили или чак анулирали, Монаган [Monaghan 1988] уводи физичку претпоставку да брзине суседних честица (честица у оквиру домена утицаја) треба да буду што сличније просечној брзини честица у том домену. Наиме, Монаган на израчунату брзину честице додаје још један члан који омогућава фино подешавање, тако да је брзина честице дата формулом: d xi dt = vi=vi ∑ j∈NHD m j vi−v j ij W ij , (4.53) где је  константа из опсега 0 ≤ ≤ 1 . Техника коју он предлаже назива се XSPH и примењује се како у области нестишљивих флуида, где омогућава довођење честица у правилнији распоред, тако и у области динамике стишљивих флуида где редукује нефизичке пенетрације честица. У примерима приказаним у овом раду, показало се да је добар избор вредност од  = 0.05 , али да ипак конкретну вредност треба подесити према појединачном моделу. Такође, показало се да, ако се искористи Морисова [Morris et al. 1997] техника избегавања другог извода увођењем методе коначних разлика код струјања флуида ниских Рејнолдсових бројева, XSPH може потпуно да се избегне. 4.5 Моделирање динамике нестишљивог флуида Овде ће бити размотрена два међусобно комплементарна приступа моделирању нестишљивости, при чему се први примењује на макро-нивоу, док се на микро нивоу, где улогу играју мале брзине и димензије, тј. ниски Рејнолдсови бројеви, примењује други описани приступ. 58 М. Ивановић Докторска дисертација 4.5.1 Једначина стања у динамици флуида високог Рејнолдсовог броја Основни SPH систем једначина подразумева да густина моделираног материјала може да еволуира током времена, што имплицира да је материјал стишљив. Међутим, тема од највећег интереса за ову дисертацију је начин да се симулира динамика нестишљивог флуида, као што су вода или крв. Јасно је да се у формулацију морају унети неке измене како би се поштовали физички услови. Да би се затворио систем једначина одржања масе, момента и енергије, свакако се мора увести веза између притиска флуида и густине, тзв. једначина стања. Један од путева који се одмах намеће је употреба једначине стања која следи из физике проблема. Међутим, такав избор свакако не би био погодан за SPH имплементацију, јер би то довело до екстремно малих вредности корака у експлицитној временској интеграцији. Дакле, главно питање које се намеће у проблематици моделирања нестишљивих флуида је ефикасно рачунање притиска у једначини момента, јер је практично само кретање честица условљено локалним градијентима притиска. У општем случају, у SPH техници се физички нестишљив флуид моделира тзв. квази-нестишљивим флуидом који има коначну стишљивост, али довољно ниску да би се опонашала динамика правог нестишљивог флуида, а истовремено довољно високу за постизање разумне вредности временског корака. Први који је увео једну такву једначину стања у SPH је био Монаган [Monaghan 1994]. Његова једначина правилно третира и проблематику флуида са слободном површином, а преузета је од Кола [Cole 1948]: p = B [ 0   −1] , (4.54) где је  константа која је у већини случајевима једнака 7, док је 0 референтна густина. B је параметар који се мења од модела до модела, а његова сврха је лимитација варијације густине. Одузимањем јединице постиже се анулирање нежељених ефеката на слободној површини. Показује се да се за B= 3000 једначина (4.54) слаже се 59 М. Ивановић Докторска дисертација експерименталним подацима за воду у оквиру неколико процената за притиске до 105 атмосфера. Применом једначине (4.54) у овој је дисертацији успешно моделиран колапс бране, тј. поновљени су резултати које је добио Монаган са задовољавајућом тачношћу. На овом месту треба посебно размотрити брзину звука, тачније везу између Мах броја и варијације густине. На основу горње једначине стања, брзина звука на референтној густини по дефиницији је: c2 = ∂ p∂ =0 =  B 0 . (4.55) Уколико се жели максимална варијација густине од ~0.01 (1%), Мах број, на основу којег се одређује константа B, треба да буде 0.1, јер је ~M c 2 . Тако, ако су познате вредности Маха и максималне брзине честица у симулацији, долази се до вредности за c, а самим тим и B: M c = vmax c ⇒ c= vmax M c = vmax 0.1 =10vmax . (4.56) Једноставном трансформацијом, изводи се да се поменута варијација густине од 1% добија када је B= 100 0 vmax 2 / . Процена максималне брзине vmax мора се за сваки модел радити посебно. Tако, на пример, за проблем колапса бране под дејством земљине теже је vmax 2 = 2 g H , где је H висина воденог стуба, а g гравитациона константа. 4.5.2 Једначина стања у динамици флуида при Re<<1 Иако се једначина (4.54) може користити и за моделирање динамике флуида ниских Рејнолдсових бројева, Морис [Morris et al. 1997] је предложио нешто реалнију једначину стања квази-нестишљивог флуида, што аргументује увиђеним слабостима једначине (4.54) које се огледају у чињеници да мале флуктуације густине доводе до много већих флуктуација притиска због степеновања изложиоцем  . Предлог је да се се за вредност  узме јединица, како би флуктуације притиска и густине остале 60 М. Ивановић Докторска дисертација пропорционалне. Морисова једначина стања гласи: p = c 2−0 , (4.57) где је c брзина звука, а 0 референтна густина. Његова препорука је да се варијације густине задрже у оквиру вредности од 3%, тј. = 0.03 . Процена вредности брзине звука може се добити анализом Навије-Стоксове једначине одржања момента: d v dt =−1 ∇ p∇ 2 vF . (4.58) Заменом процењене скале брзине V0, скале дужине L0 и интензитета запреминске силе F у (4.58) долази се и до процене за квадрат брзине звука: c2 ~ V 0 2  , V 0 L0 , F L0  , (4.59) где је, као што је већ речено, = /0 . Док је први услов преузет од Монагана [Monaghan 1994], други и трећи услов осигуравају да су силе притиска упоредиве са вискозним и запреминским силама, респективно. Ову процену брзине звука у пракси треба користити само као смерницу са којом ће ићи прва симулација, а тек по виђењу одступања густине од 0 фино подесити c, како би се добила жељена варијација густине. 61 М. Ивановић Докторска дисертација 62 М. Ивановић Докторска дисертација 5 Неки детаљи имплементације У тексту који следи биће размотрени различити детаљи који су незаобилазни за конкретну програмску имплементацију SPH нумеричке методе. Између осталих, ту су временска интеграција, претрага суседства, третман разнородних граничних услова итд. 5.1 Временска интеграција Већина аутора за SPH користи експлицитну временску интеграцију, и то уз употребу стандардних шема са другим редом тачности, као што су Leap-Frog (LF), Predictor- Corrector (PC) и Runge-Kutta (RK). Предност прве наведене методе (поред очигледне једноставности имплементације) су и нижа меморијска захтевност, јер се све величине које се рачунају употребљавају и у наредном времеском кораку, као и велика брзина израчунавања. Основна идеја је да се вредности положаја (x) и брзине (v) честица рачунају у различитим временским тренуцима који се разликују за половину временског корака, тако да временски кораци за положај и брзину “прескачу” један другог (Слика 5.1), одакле следи и назив методе. LF, наравно, као метода другог реда, даје значајно боље резултате у поређењу са Ојлеровом интеграцијом првог реда. Слика 5.1. Leap-frog експлициитна шема временске интеграције Преведено на математички језик, шема интеграције би изгледала овако: 63 М. Ивановић Докторска дисертација xn1 = x nvn1/ 2 t (5.1) v n1 /2 = v n−1/2a n t , (5.2) где је v n1 /2 = v t 1 2  t  , n=0,1,2,. .. , а x, v и a вектори положаја, брзине и убрзања честице респективно. Неки аутори указују и на добре особине RK методе другог реда [Monaghan 1992], и то са већим вредностима временског корака од оних који се постижу LF методом, али уз пад перформанси када се ради о времену рачунања по једном временском кораку. Да би се постигла жељена стабилност, све експлицитне методе временске интеграције треба да подлежу CFL (Courant–Friedrichs–Lewy) [Courant et al. 1928] услову који каже да нумерички домен зависности у нумеричкој симулацији треба да садржи физички домен зависности, или, другим речима, да максимална брзина нумеричке пропагације мора бити већа од максималне брзине физичке пропагације. CFL услов у пракси захтева да временски корак  t буде директно пропорционалан најмањој међучестичној резолуцији, која се код SPH може обележити као хi (јер у општем случају свака честица може имати своју вредност дилатационог параметра h), тј:  t ≤ 0.25min i  h i c  . (5.3) Како је вредност временског корака у тесној вези са физичком природом процеса који се моделира, Морис [Morris et al. 1997] даје следећа два услова који су у вези са интензитетом убрзања честице и вискозном дифузијом, респективно:  t ≤ 0.25min i  h i ∣a∣i  1 2 и (5.4)  t ≤ 0.125min i  hi2  . (5.5) Једначина 5.5 базирана је на уобичајеном услову експлицитне интеграције из методе 64 М. Ивановић Докторска дисертација коначних разлика, када је у питању моделирање вискозне дифузије. При довољно високој резолуцији честица када је h мало или при високој вредности кинематичке вискозности  = / , услов из једначине (5.5) је доминантан. Избор кернела такође у мањој мери утиче на рачунање временског корака. Наиме, различити облици кернел функције поседују различите ефективне резолуције по дужини за исту вредност h, тако да је, у том смислу, кубни кернел нешти “ужи” од кернела петог реда. То конкретно значи да коефицијенте из једначина (5.3)-(5.5) који су дати за кернел петог реда треба мало умањити ако се користи кубни кернел. Треба поменути још један додатни услов CFL типа, који фигурише само у случају да се моделира и сила површинског напона на слободној површини флуида или на граници између фаза два различита флуида (о чему ће бити речи). Услов који је коришћен базиран је на капиларној фазној таласној брзини и сличан је услову који даје Брекбил [Brackbill et al. 1992] :  t ≤ 0.25min i [  i hi3 2 ] , (5.6) где је  коефицијент површинског напона. Када је познат начин за одређивање вредности временског корака, комплетна шема временске интеграције величина од интереса за честицу i може се приказати на следећи начин: tn1 = tn t n1 /2 i = n−1/2 i  t⋅[ d idt ]n v n1 /2 i = v n−1/2 i  t⋅[ d vidt ]n En1/ 2 i = E n−1/2 i  t⋅[ d E idt ]n xn1 i = x n i t⋅v n1 /2 i . (5.7) 65 М. Ивановић Докторска дисертација Треба имати у виду Монаганово запажање [Monaghan 1992] да је, са правилно изабраним (довољно малим) временским кораком и изложеном шемом интеграције, укупна енергија конзервирана унутар 0.5% кроз 400 временских корака. 5.2 Варијабилни дилатациони параметар Дилатациони параметар (или дужина глачања) h, као што је објашњено у Глави 3, репрезентује ефективну ширину кернела, тј. дужину на којој честице интерагују једне с другима. Овај параметар је еквивалентан ширини ћелије у методи коначних разлика. Доказано је да се SPH најбоље понаша у случајевима када је број суседа између 20 и 35 у две димензије. Несигурност настаје када у некој временској инстанци симулације број суседа падне испод или се попење изнад овог опсега. У фокусу дисертације су нестишљиви флуиди, и то пре свега модели код којих је цео домен испуњен честицама, тако да се овај проблем релативно ретко среће. Међутим, овде ће ипак бити дате неке основне смернице за рачунање са варијабилним дилатационим параметром, како због комплетности излагања, тако и због врло вероватног настанка овог проблема приликом моделирања флуида са слободном површином и нестишљивих флуида. Слика 5.2. Значење дилатационог параметра h Обе методе које ће бити изложене заснивају се на чињеници да свака честица може 66 М. Ивановић Докторска дисертација имати своју сопствену вредност h. Прво што се уочава је да, ако су честице i и ј унутар домена интеракције, морају при рачунању међусобне интеракције да користе исту вредност h, иначе конзервација момента неће бити загарантована. Дилатациони параметар који се користи у интеракцији може бити: hij= h ih j 2 , (5.8) или hij= min hi ,h j , (5.9) или hij= max hi , h j  . (5.10) Дакле, разлог за постојање динамички варијабилног h је чињеница да, уколико честица има премало суседа, статистичка грешка расте. Такође, ако је број суседа велики, беспотребно се губи процесорско време на обраду. За разлику од моделирања стишљивих материјала (као што су гасови), код нестишљивих флуида се број суседа углавном регулише једном од једначина стања дефинисаних у Одељку 4.5. Уколико ипак постоји потреба за варијабилним дилатационом параметром, он се може одредити следећом једначином: hi = h0 0i  1  , (5.11) где су 0 и х0 почетна густина и дилатациони параметар, респективно, а  број димензија проблема. Проблем са једначином (5.11) је што је хi потребно да би се израчунало i , али, са друге стране, не може се одредити i ако се не зна хi. Решење је наћи израз за хi који уопште неће зависити од i . Бенц [Benz et al. 1990] даје следећу једначину за временску еволуцију параметра хi: dhi dt = 1 3 h∇⋅vi . (5.12) У програмском пакету SPH07 развијеном за потребе дисертације, поред основне 67 М. Ивановић Докторска дисертација могућности временски константног параметра h, имплементиране су и једначине (5.11) и (5.12). Треба имати у виду да рачунање h за сваку честицу у сваком временском кораку може значајно да утиче на пад перформанси симулације, па ову могућност треба користити само где је заиста неопходна. 5.3 Третман граничних услова Гранични услови нису од почетака SPH били у жижи истраживања из једноставног разлога што је примена методе сезала само до области астрофизичких, тј. космолошких проблема где су границе моделираног домена слободне. Код таквог третмана, посматрана величина на граници домена једноставно тежи нули због природе кернел интерполације. Међутим, како се проширивала област примене SPH методе, тако су увођене и корекције саме методе у односу на постизање вишег степена конзистенције, како у континуалној, тако и у дискретној форми интерполације (нпр. CNSPH дат у Одељку 3.4.2). Када се примењује било која од нумеричких шема која води рачуна о конзистенцији, границе домена морају имати посебан третман. Треба нагласити и да моделирање нестишљивих флуида укључује најразличитије и најкомпликованије граничне услове, а како је та тема у фокусу дисертације, у наставку ће бити обрађена имплементација свих тих нумеричких шема понаособ. Између осталих, ту су услови који онемогућавају пенетрацију честица преко задате границе при моделирању флуида са високим Рејнолдсовим бројем, затим тзв. неклизећи гранични услови на правим и кривим површима карактеристични за струјања ниских Рејнолдсових бројева, као и периодични гранични услови без којих не би могло да се моделира струјање у цевима. 5.3.1 Гранични услови који онемогућавају пенетрацију честица Највећа група “граничних” метода додаје извесне силе на честице флуида од стране честица зида који представља границу модела. Пример примене ове врсте граничног услова дат је на Слици 5.3. 68 М. Ивановић Докторска дисертација Слика 5.3. Пример употребе граничних услова који онемогућавају пенетрацију честица кроз границе моделираног домена Општа форма поменутих сила која се најчешће среће у литаратури тежи да опонаша молекуларне силе. Један од примера је форма дата у облику Ленард-Џонсовог потенцијала, док сила настала његовим диференцирањем делује у интеракцијама типа гранична честица - честица флуида: f r = D [ r0r  p1 − r0r  p2 ] rr2 , (5.13) али је једнака нули ако је rr0 , што у пракси значи да је сила (5.13) потпуно репулзивна. Константе p1 и p2 ,морају задовољити услов да је p1 p2 , при чему су типичне вредности p1 = 12 и p2 = 6, мада су слични резултати у дисертацији добијени и за p1 = 4 и p2 = 2. Карактеристична дужина r0 једнака је иницијалном растојању између суседних честица, док се коефицијент D (који има димензије квадрата брзине) рачуна узимајући у обзир типичну брзину у пољу флуида који се моделира. На пример, код проблема који укључују бране, морске таласе и слично, код којих је типична висина воденог стуба H, Монаган је користио D=5gH, али је показано да и вредности од D=10gH и D=gH дају врло сличне резултате [Monaghan 1994]. Једнакост (5.13) коришћена је приликом иницијалних симулација нестишљивог флуида са задовољавајућим резултатима [Monaghan 1994]. Међутим, ни овај метод није идеалан, јер продукује шум у скали међучестичног растојања. Уколико се уочи горњи леви угао воденог стуба на Слици 5.2, евидентно је да гранична сила одбија честице 69 М. Ивановић Докторска дисертација флуида од зида (неколико усамљених честица одвојених од флуидне масе). Такође, види се да се честице флуида ближе доњем делу модела више приближавају вертикалном зиду од оних из горњег дела модела због комбинованог утицаја гравитације и граничне силе. Ови ефекти су нефизички и свакако их треба избећи, а један од начина да се то изведе је употреба граничне силе која није централна као сила која проистиче из потенцијала Ленард-Џонсовог типа. Метод који је Монаган развио са Косом [Monaghan&Kos 1999] има бољи приступ, јер користи интерполациону процедуру како би се формирале репулзивне силе које увек делују нормално у односу на границу (зид). У овој методи, граничним честицама се поред позиције придружује и вектор нормале n чије је усмерење од зида према флуиду. Сила по јединици масе f која делује на честицу флуида од стране граничне честице рачуна се као производ две компоненте, од којих једна зависи од удаљености поменуте две интерагујуће честице дуж нормале (означено са y), а друга дуж тангенте (означено са x). Дакле, форма ове силе је: f =  y X  x n , (5.14) где се  y  поставља тако да пада на нулу на неколико честичних размака од зида. Уводи се смена q, где је q = y /2 p (  p је иницијални размак између честица), а  y  је дефинисано са:  y = A 1 q 1−q  , ako je q1 , (5.15) иначе је  y = 0 . Параметар А је дат формулом: A= 1 h 0.01 c2c vab⋅nb , (5.16) где честица флуида а интерагује са граничном честицом b. Фактор  једнак је јединици када се честице једна другој приближавају, иначе је једнак нули. Други члан једначине (5.14) помаже одстрањивању непожељног кретања нормално на границу. Дакле, функција X x је дефинисана као X  x = 1 2 [1cos  x p  ] ako je x p , (5.17) 70 М. Ивановић Докторска дисертација иначе је X x=0 . Смисао ове функције је да, ако се честица флуида креће између две граничне честице, дејство које од њих две потиче се комбинује, како би се гранична сила учинила константном када се честица флуида креће паралелно са границом (зидом). Монаган, Кос и Иса су у једном новијем издању [Monaghan et al. 2004] кориговали формуле за функције  y  и X x  . Ако се сада q изрази преко дилатационог параметра као q = y /h , онда се функција  y  дефинише као:  y = { 2 3  , 0q2 /3 2q−32 q2 , 2 /3q1 1 2 2−q2, 1q2 } (5.18) и једнака је нули за све q>2. Константа = 0.02 c2 / y је процена максималне силе по јединици масе која је потребна да спречи кретање флуидне честице при њеној процењеној максималној брзини. Множилац 1/y осигурава да честице које се крећу брже од ове процене такође буду заустављене. Ова нова форма  y  уведена је јер се гранична сила противи градијенту притиска, а  y  има форму градијента кернела, што је физички сасвим оправдано. Функција X  y је сада једноставно дефинисана са X  x = 1− x p  ako je 0x p , (5.19) и једнака је нули ван тог домена. Иако физички оправдана, комбинација једначина (5.18) и (5.19) у поређењу са комбинацијом (5.15) и (5.17), у већини случајева даје занемарљиву разлику у резултатима. У софтвер SPH07 уграђене су обе варијанте за рачунање граничних сила, али је метода Монаган-Кос, у односу на једноставну Ленард- Џонсову форму показала видљиво боље резултате, о чему ће бити речи у оквиру Главе 8. 71 М. Ивановић Докторска дисертација 5.3.2 Неклизећи гранични услови Поред репулзивних граница из претходног одељка, могући су и неки други приступи реалистичном моделирању граничних услова у домену флуида. Када се говори о струјању флуида са ниским карактеристичним Рејнолдсовим бројем (Re), проблем пенетрације честица преко граничног услова губи на значају, јер су силе које у таквом систему делују значајно мање. Показало се да је, када је Re довољно низак, за обезбеђивање од пробоја честица сасвим довољан и градијент притиска одређен једном од једначина стања датих у Глави 4. Циљ који се жели постићи у моделирању динамике флуида ниских Рејнолдсових бројева је имплементација тзв. неклизећих граничних услова, тј. ограничавање брзине флуида тако да одговара брзини зида (нпр. ако је зид статичан, онда и интерполација брзина флуида у тим тачкама мора бити једнака нули). Већина метода овај циљ постиже додавањем имагинарних честица које имају особине честица флуида када се говори о поседовању атрибута као што су нпр. густина и притисак, али се њихова имагинарна брзина рачуна у складу са захтевом да је брзина на граници једнака нули. Ове статичне честице се обично постављају изван флуидног домена на удаљености која одговара међусобној удаљености честица флуида. Лиу и Лиу [Liu&Liu 2005] чак користе комбинацију чисто репулзивне границе описане у 5.3.1 и неклизећих граничних услова тако што постављају слој репулзивних граничних честица одмах до флуидног слоја, а слој имагинарних честица које постављају неклизећи услов одмах до репулзивног слоја. Слика 5.4. Неклизећи гранични услови. Честице приказане црном бојом добијају имагинарну брзину која се користи у рачунању вискозних сила У дисертацији ће бити обрађена два начина моделирања неклизећих граничних услова. Први начин је предложио Такеда са сарадницима [Takeda et al. 1994] и заснива 72 М. Ивановић Докторска дисертација се на постојању полупростора са друге стране границе који је испуњен имагинарним честицама. Свакој од имагинарних честица је додељена густина 0 која одговара симетричној слици те честице са друге стране границе (у пољу флуида). Компонента брзине паралелна са границом, обележена са v B се рачуна интерполацијом која гласи (Слика 5.4): v B=−d B d a va (5.20) где су dа и dB респективно удаљености честица a и B од површине зида, где је а честица флуида, а B имагинарна гранична честица. На овај начин се симулира услов да је брзина једнака нули тачно на површини зида. Слика 5.5. Гранични услови у SPH моделирању динамике флуида са ниским Re Морис [Morris et al. 1997] напомиње да, иако на први поглед задовољавајућа, методологија предложена од стране Такеде и сарадника [Takeda et al. 1994], при веома ниским Re не даје профиле брзина који одговарају аналитичким решењима. Као побољшање, у методологији [Morris et al. 1997] предлаже се да се имагинарне честице, са свим особинама правих SPH честица флуида, искористе за репрезентацију неклизеће граничне површине. Ове честице доприносе уобичајеним SPH формулама за густину и градијент притиска, а такође и њихове сопствене густине еволуирају у времену. Тест примери из наставка текста дисертације потврђују да се омогућавањем еволуције густине имагинарних честица боље репродукују пикови притиска него када 73 М. Ивановић Докторска дисертација им је густина константна. Овакве имагинарне граничне честице се обично постављају тако да њихова просторна концентрација (број честица по јединици запремине) одговара концентрацији реалних SPH честица у домену флуида. Тај приступ има предност у смислу физички пожељног тзв. “тихог старта” симулације, јер нема вештачких градијената притиска узрокованих неједнаком просторном концентрацијом честица. Међутим, константна концентрација честица има и своје мане, које се пре свега огледају у немогућности да се ниском резолуцијом репродукује облик неке криве површи. Тај проблем нарочито долази до изражаја код веома кривих површина малих димензија, као што је, рецимо, елипсоидна крвна ћелија у кретању кроз узак канал. Покушај превазилажења рачунарске захтевности изазване високом резолуцијом честица која имплицира њихов велики број је паралелизација SPH алгоритама, што је једна од централних тема дисертације. И код Морисове методе, проблем неклизећих граничних услова, тј. захтева да брзина буде тачно нула на зиду, решава се антисиметријом, тј. екстраполацијом брзине слободних честица флуида преко зида, до позиције граничних честица, слично као у методи Такеде и сарадника [Takeda et al. 1994]. Иделано би чак било да се локална процена градијента брзине на површини зида искористи да би се процениле имагинарне брзине граничним честицама, али би овај приступ захтевао и додатну сумацију по честицама, што засигурно значајно повећава време рачунања. Методa којa је имплементиранa у SPH07 коду ослања се на Морисову генерализацију једначине (5.20) имајући у виду захтев да модел подржи и закривљене неклизеће површи. Дакле, ако се брзина честице B са Слике 5.5 екстраполира преко тангенцијалне равни (праве у 2Д случају) као vB =−d B /d a va , и површ је крива као на слици, дискретна расподела честица дозвољава честици флуида да се веома приближи кривој граничној површи. У оваквим општим околностима брзина vB мора бити ограничена, а то се постиже следећом формулом за релативну брзину: vaB =  va (5.21) где је 74 М. Ивановић Докторска дисертација = min max ,1dBd a  . (5.22) Нумерички примери показују да је погодна вредност за max око 1.5. Уколико је граница покретна, брзину vа у формули треба заменити релативном брзином флуида у односу на граничну површ. Израчуната имагинарна брзина vB се користи за рачунање вискозних сила (видети Поглавље 4.4), али се, наравно, не користи за рачунање померања граничних честица, јер су оне фиксиране у простору. Управо описана метода дефинише третман равне или конвексне граничне површи, као што је, рецимо, површина крвне ћелије у крвном току капилара. Третман конкавне површи је веома сличан, само се тангентна површ (права са Слике 5.5) формира имајући у виду најближу тачку на кривој свакој граничној честици (уместо честици флуида). Наравно, обе методе дају идентичне резултате када је реч о равној граничној површи. Ради поређења, у SPH07 је имплементиран и једноставнији алгоритам Такеде и сарадника [Takeda et al. 1994]. 5.3.3 Периодични гранични услови Код моделирања које укључује проток флуида кроз цеви, између две равни и слично, фигурише још један важан гранични услов - периодични гранични услов. На пример, код проблема моделирања 2Д струјања између две бесконачне равни под утицајем запреминске силе - Poiseuille flow дат на Слици 5.4, потребно је обезбедити “повезивање” излаза из модела са улазом у модел, и то на два начина: 1. Честице које на једном крају изађу из модела, на супротном треба да уђу у модел и то на еквивалентној позицији, при чему се мења само координата у правцу тока (x координата на Слици 5.4). Остали параметри SPH честице, као што су брзина, густина и притисак остају исти након транслације преко периодичног услова. 2. Поред трансфера честица са краја на крај модела треба обезбедити и механизам 75 М. Ивановић Докторска дисертација да честице на левом крају модела интерагују са честицама на десном крају модела и обратно, као да су у питању суседи. Тај захтев се постиже тако што се, после сваког временског корака, информација коју носе унутрашње честице из неколико колона које су најближе излазу цеви мапира на исто толико колона имагинарних честица које се налазе испред самог улаза цеви. Принцип на коме су имплементирани гранични услови у SPH07 коду приказан је на Слици 5.6. На тај начин се, поред одржања укупног броја честица, постижу и услови еквивалентни моделу бесконачно дуге цеви. Ситуација се додатно компликује уколико је циљ моделирање кретања крутог или деформабилног тела у пољу флуида, нпр. у цеви или између две паралелне равни. Тада, као што се може и претпоставити, долази до пертурбовања флуида које настаје услед кретања тела које отежава примену периодичних граничних услова. У оваквом случају, треба обратити пажњу да модел има довољну дужину и да је тело довољно удаљено од улаза и излаза модела, како би се настале пертурбације амортизовале без поремећаја периодичног граничног услова. (а) (б) Слика 5.6. (а) Улога периодичног граничног услова (б) Имплементација периодичног граничног услова 76 М. Ивановић Докторска дисертација 5.4 Претрага методом “најближих суседа” Као што је напоменуто у дефиницији општих тачака SPH методе у оквиру Главе 2, оно што SPH, као Лагранжијанску нумеричку шему, издваја од класичних, углавном Ојлеровских метода, је одеђивање везе између чворова у време извршавања. Код методе коначних елемената се, на пример, детерминисање веза између чворова (одеђивање који чворови чине елементе) извршава мануелно пре почетка симулације, а те везе остају константне током целе симулације. Насупрот томе, у SPH се у сваком временском кораку наново одређују суседи сваке честице, што одузима практично највећи део укупног времена нумеричке анализе. Доказ за ову тврдњу види се из графикона позива метода класа програмског пакета SPH07, добијеног уз помоћ профајлер алата Valgrind (Слика 5.7). Са слике се види да највећу површину, тј. највећи део укупног времена узима метода Solution::LinkedListNeighbours(), која је одговорна за одређивање суседних честица свакој SPH честици, и то у сваком временском кораку динамичке симулације. 77 М. Ивановић Докторска дисертација Слика 5.7. График позива функција SPH07 софтвера. Већа површина значи веће процесорско време проведено унутар методе Да би се време претраге редуковало на најмању могућу меру, ефикасан алгоритам за претрагу је од непроцењивог значаја. Једна од централних тема дисертације је и паралелизација SPH алгоритама, којом се даје допринос решавању проблема унапређења перформанси за које је, као што се са Слике 5.7 види, најодговорнија претрага суседа. Како кернел функција има компактни домен утицаја, само мали број честица се практично налази унутар тог домена радијуса k·h (обично је k≈2 ). Ако се фиксира једна честица као централна, њени најближи суседи су по дефиницији честице које се налазе унутар домена утицаја. Процес налажења најближих суседа свакој честици, који наступа у сваком временском кораку симулације, може се обавити на три широко 78 М. Ивановић Докторска дисертација прихваћена начина: • директна претрага (претрага по свим паровима честица), • претрага употребом повезаних листа, • претрага коришћењем стабла [Liu 2003, Monaghan 1992]. 5.4.1 Директна претрага Директна претрага је најједноставнији могући алгоритам који који за дату честицу i, рачуна дистанце riј до свих осталих честица у моделу ј (ј = 1,2,3,...,N), где је N укупан број честица у домену проблема. Ако је rijk⋅h , честица ј се додаје на листу најближих суседа честице i. Ако се и за честицу ј користи иста вредност дилатационог параметра h, а то је потребан услов за конзервацију момента, онда се и честица i налази унутар домена утицаја честице ј (Слика 5.8). Дакле, директна претрага се одиграва за све комбинације честица i , j∈[1,N ] , тако да је потпуно јасно да је је ред комплексности овог једноставног алгоритма квадратни, тј. O N2 . Ако се узме у обзир да се претрага врши у сваком временском кораку анализе, овакав алгоритам може да буде употребљив само за проблеме са веома малим укупним бројем честица у домену. Директна претрага је имплементирана у SPH07, али искључиво у сврху тестирања перформанси и није од практичног значаја. Слика 5.8. Директна претрага (претрага по свим паровима) 79 М. Ивановић Докторска дисертација 5.4.2 Претрага употребом повезаних листа Алгоритам заснован на претрази преко једноструко повезаних листа се показао као веома добро решење када је расподела честица у домену релативно хомогена (тј. када је број честица у јединици запремине приближно константан). Како је баш то случај код већине проблема динамике нестишљивих флуида, овај алгоритам је од највећег интереса за имплементацију у SPH07 софтверу. Овај алгоритам је иначе често коришћено решење код честичних метода, на пример молекуларној динамици, а још је Монаган [Liu 2003] закључио да се време прорачуна може значајно умањити ако се целокупни домен модела прекрије просторном мрежом, при чему се све честице придружују одговарајућим ћелијама користећи структуру повезане листе и претрага обави само по суседним ћелијама. Шема претраге је дата на Слици 5.9. (а) (б) Слика 5.9. (а) Шема претраге употребом повезаних листа (б) Временска еволуција мреже за претраживање у зависности од померања честица Наравно, поменута просторна мрежа нема никакве везе са мрежним методама, већ је привременог карактера (један временски корак) и постоји само у сврху оптимизације претраге. Величина ћелије у мрежи се бира према димензијама домена утицаја. Како кернели имају радијус дејства k∙h,  тако  и  димензија  ћелије  треба  да  буде  иста   ­  k∙h.  Имајући у виду ову чињеницу, са Слике 5.9 се јасно види да честица може да интерагује  80 М. Ивановић Докторска дисертација искључиво  са  честицама  које  припадају  њеној  ћелиjи  или  суседним  ћелијама  мреже,  што  значи  да  ће  се  претрага  обављати  само  у  тим  ћелијама.  Сводећи  шему  на  број  димензија   проблема,   то   значи   да   се   претрага   обавља   по   3,   9   или   27   ћелија   за  једнодимензиони, дводимензиони и тродимензиони простор, у случају да је (а најчешће  јесте)  k  = 2.  Ако  се  ћелије  мреже  за  претрагу  у  неком  дводимензионом  просторном  домену индексирају и представе у облику матрице cell, овако изгледа претрага описана  помоћу псеудо­кода:      петља по честицама K=1   до N        одеређивање у којој ћелији cell[I][J]       се налази честица К К         интерагује са честицама из cell[I­1][J+1]  К         интерагује са честицама из cell[I+1][J+1]  К         интерагује са честицама из cell[I+1][J­1]  К         интерагује са честицама из cell[I­1][J­1]  К         интерагује са честицама из cell[I­1][J]  К         интерагује са честицама из cell[I][J+1]  К         интерагује са честицама из cell[I+1][J]  К         интерагује са честицама из cell[I][J­1]  К         интерагује са честицама из cell[I][J].  Како  број  ћелија  за  претрагу  суседства   једне  честице  не  зависи  од  укупног  броја  честица  (већ   само  оних  из   суседства),  ред  комплексности  овог   алгоритма   се  може  изразити као O(N).  Програмски се алгоритам претраге преко повезаних листи реализује тако што сваком  члану  матрице  cell,  cell[I][J]  додели  показивач  на  прву  честицу  која  се  налази  у  тој  ћелији, док објекат сваке честице даје показивач на наредну, све док се не прођу све  честице у датој ћелији.  Иако је овај алгоритам најкоришћенији у SPH свету, ни он није савршен. Наиме, ако  је дилатациони параметра h варијабилан, неким честицама ће бити придружено веће, а  некима мање  h, док ће димензија ћелија у гриду морати да одговара максималном  h,  како би се све честице нашле у опсегу претраге. Проблем лежи у чињеници да време  претраживања више није оптимално као када је дилатациони параметар h константан на  целом SPH домену.  У случајевима огромних варијација дилатационог параметра, што је скоро правило приликом моделирања динамике стишљивих флуида у астрофизици, нпр. код 81 М. Ивановић Докторска дисертација формације галаксија, избор оптималног алгоритма претраге пада на претрагу помоћу бинарног, квадратног или окталног стабла, у зависности да ли је домен једнодимензиони, дводимензиони или тродимензиони простор [Springel 2005]. Ова врста проблема, па ни алгоритма претраге, није од пресудног значаја за ову дисертацију, тако да претрага помоћу стабала и није имплементирана у SPH07. Међутим, захваљујући особини капсулације карактеристичне за објектно-оријентисани приступ, нови алгоритам претраге је могуће инкорпорирати у постојећи код, на релативно једноставан начин. 5.5 Моделирање површинског напона на граници између фаза Површински напон је привлачна особина површине течности. Површински напон има димензију силе по јединици дужине или енергије по јединици површине. Неки аутори користе термин површинске енергије, што је општији појам и такође се може применити и на солиде. Ова појава је узрокована привлачењем између молекула течности, као последица различитих интермолекуларних сила. На Слици 5.10 види се упрошћени дијаграм слагања резултанте ових интермолекуларних сила у унутрашњости течности и на површини. Слика 5.10. Упрошћена скица настанка феномена површинског напона у течности Дакле, молекули у унутрашњости имају суседе у свим правцима, па је њихова резултујућа сила једнака нули, док на молекуле који се налазе близу површине делује 82 М. Ивановић Докторска дисертација резултанта различита од нуле, тј. енергетско стање им је више него код молекула у унутрашњости. На тај начин, флуид тежи да смањи слободну површину, тј. да заузме најглађи могући облик (математички доказ да глатке површи минимизују слободну површину базира се на Ојлер-Лагранжевој једначини). Веома слична ситуација настаје и када флуид, уместо са вакуумом, има контакт са другим флуидом или различитом фазом истог флуида. Површински напон игра веома значајну улогу у многим системима, како у природном, тако и вештачком окружењу. На пример, у применама као што су обрада хране, обрада метала ливењем, трансфер горива итд, појављује се ефекат површинског напона на граници течност-течност. Ту су и многе биомедицинске појаве, као што је, на пример, за дисертацију од посебног интереса, трансфер липида и липопротеина у крвотоку. Током последњих деценија многе су нумеричке методе примењиване у циљу моделирања феномена површинског напона, међутим, велики део њих се сусреће са потешкоћама као што су компликована имплементација различитих додатних физичких и хемијских услова, компликовани гранични услови или комплексна екстензија у три димензије. Јасно је да SPH, као лагранжијанска и честична метода у моделирању ове појаве, која као базу има молекулске, тј. интерчестичне силе, веома обећава. Као што је већ напоменуто у Глави 1, у SPH формализам је могуће на релативно једноставан начин додати нову физику (динамику) проблема, а такође је могућ и третман граничних услова веома нерегуларних облика. Међутим, ова флексибилност се не добија потпуно бесплатно, већ по цену значајно повећаног времена прорачуна и већом потражњом за рачунарским ресурсима. Овде ће бити описана техника коју је развио Морис [Morris 2000] за потребе моделирања површинског напона који настаје у контакту два флуида сличних густина и вискозности. За дисертацију су од посебног значаја управо наведени физички услови (низак Рејнолдсов број и два флуида сличних особина), јер одговарају физиолошким условима при трансферу липопротеина кроз крвне капиларе. Липопротеински комплекси се обично састоје од липидног језгра које је окружено полипротеинским молекулима. Ови комплекси се деле на класе по густини: 83 М. Ивановић Докторска дисертација • VLDL - липопротеини веома ниске густине, 1.006g /mL • LDL - липопротеини ниске густине, 1.019g /mL1.063 g /mL • HDL - липопротеини високе густине, 1.063g /mL1.210g /mL . Као што се из приложених вредности густина може видети, а имајући у виду да је густина крви у којој се липопротеини крећу приближно једнака густини воде, може се закључити да приступ моделирању површинског напона чији опис следи може да буде примењен на ову, за предмет дисертације релевантну, класу проблема. 5.5.1 Технике праћења додирне површи Карактеристична особина облика који се појављују у проблемима биомеханике је њихова нерегуларност, а особина биодинамике је честа промена облика објеката који се прате. Циљ је развити технику динамике флуида која је у стању да прати додирне површи произвољног облика између различитих фаза флуида или између два различита флуида приближне густине и вискозности. Преглед техника које се користе у сврху моделирања додирних површина дао је Залески [Scardovelli&Zaleski 1999], али су само неке од њих у стању да подрже произвољне геометрије. У случају немешљивих флуида, при чему сваки од њих кореспондира различитој “боји”, означеној са c, праћење површи може бити постигнуто симулацијом провођења тзв. колор фукције: ∂ c ∂ t v⋅∇ c = 0 (5.23) Метод који је погодан када се говори о Лагранжијанским нумеричким шемама као што је SPH, је управо праћење адвекције “колор” функције. У општем смислу, у било којој нумеричкој методи циљ праћења додирне површи се може постићи постављањем честица само на границу између флуидних домена или у целокупном домену. Тзв. површински маркери се у литератури [Glimm et al. 1986, Tryggvason et al. 1990, Udaykumar et al. 1997] помињу као техника која поседује добру прецизност и може се користити како у потпуно Лагранжијанским нумеричким методама (нпр. SPH), тако и у методама које користе и приступ мреже и приступ честица. Додатна особина метода површинских маркера је и конзервација ширине додирне површи која је 84 М. Ивановић Докторска дисертација пропорционална нумеричкој резолуцији (код SPH, то је карактеристика h). Као што се може закључити, SPH је, ако постоји потреба за праћењем додирне површи, веома погодна у односу на неке друге нумеричке методе. Међутим, и ту се појављују извесне тешкоће. На пример, у неком тренутку је могућа појава формација које су ситније од почетне резолуције честица, рецимо форма која се простире преко свега две или три честице, у којима прорачунати градијенти притиска и површински напон имају сасвим погрешне вредности. Друга потешкоћа је што рачунање форме додирне површи (нормала на површ) одузима и додатно време, које је, због претраге најближих суседа значајно веће у односу на било коју мрежну методу. Упркос томе, SPH формализам се може веома једноставно проширити додатним физичким или хемијским условима, а доказан је и капацитет моделирања веома компликованих и динамичких граница [Monaghan 1994, Morris et al. 1997]. Такође, код SPH ојачане методом површинских маркера не би требало ни да буде проблема при контакту више од два флуидна домена, јер се свака нова фаза моделује једноставним укључивањем нове “боје” честица. 5.5.2 Метода површинске силе континуума Метода површинске силе континуума (Continuum Surface Force method - CSF) [Brackbill et al. 1992] дозвољава нумеричку симулацију површинског напона, и то без икаквих додатних ограничења у смислу геометрије флуидног домена. Са успехом је примењена у решавању многих проблема, као што је проток ниске гравитације [Brackbill et al. 1992, Kothe et. al. 1992]. CSF приступ моделује процесе локализоване на интерфејсу флуида тако што их асоцира за елементе флуида (честице у SPH) у транзиционом региону. Феномени интерфејса, као што су површински напон или фазна промена, се преводе у волуметријске процесе који емулирају жељену физику проблема. У CSF моделу, површински напон се преводи у силу по јединици запремине Fs једначином: Fs = f ss , (5.24) где је s нормирана функција (делта функција површи), која има пик тачно на 85 М. Ивановић Докторска дисертација додирној површи, а fS је сила по једници површине дата као: f s = n∇ s , (5.25) где је  коефицијент површинског напона, n јединична нормала контактне површи,  закривљеност контактне површи, а ∇s површински градијент. Други члан у једначини (5.25) делује тангенцијално у односу на контактну површ, форсирајући трансфер флуида са области ниског површинског напона према области са вишим површинским напоном. За потребе моделирања из области биофлуида, апроксимира се да је површински напон константан у флуиду и члан површинског градијента се занемарује. Први члан у (5.25) је сила чији је правац деловања нормалан у односу на контактну површ и одговара укупном површинском напону који настаје услед локалног закривљења. Ова сила делује тако што тежи да смањи површину контактне површи, тиме смањујући и енергију површи. Нормала на површ из једначине (5.25) може се добити користећи: n=∇ c [c ] , (5.26) где је c колор функција која је, практично, идентификатор сваког појединачног флуида у моделу, а [c] је скок вредности c преко контактне површи. Закривљеност се може израчунати као [Weatherburn 1927]: =−∇⋅n . (5.27) Постоји велики број могућих избора за вредност s из једначине (5.24), међутим, треба поштовати услов да s буде нормиран тако да интеграл кроз границу буде једнак јединици. Функција такође треба да буде ненулта само у оним елементима флуида који одговарају транзиционим регионима. У дисертацији се користи: s=∣n∣ . (5.28) 5.5.3 Рачунање закривљености контактне површи SPH методом Да би се добиле реалне процене површинског напона користећи једначину (5.25), закривљеност  треба да се израчуна што је могуће тачније. Тај корак захтева 86 М. Ивановић Докторска дисертација прецизну процену нормала на површ и њихових дивергенција. Најједноставнија SPH формула за рачунање n је: ni =∑ j m j  j cind j ∇ iW ij , (5.29) где је c ind j колор индекс честице ј. Ова форма је коришћена од стране Монагана [Monaghan 1995] за извођење силе површинског напона коришћењем варијационих принципа. Слика 5.11. Вектори нормала на границу. (а) дводимензионо (б) тродимензионо Поузданија процена нормале не површ добија се када се поље боје пропусти кроз SPH конволуционе изразе и на тај начин “углача”, и то најбоље кернелом вишег реда: ci =∑ j m j  j cind j W ij . (5.30) Додатна побољшања у тачности постижу се следећим изразом за нормалу: ni =∑ j m j  j c j−ci ∇ iW ij , (5.31) јер једначина (5.31) укључује разлику између боја суседних честица. Најједноставнији SPH израз за дивергенцију n је: ∇⋅ni =∑ j m j  j n j⋅∇ iW ij , (5.32) али се у пракси користи нешто тачнији израз: ∇⋅ni =∑ j m j  j  n j−ni ⋅∇ iW ij . (5.33) 87 М. Ивановић Докторска дисертација На жалост, ако се за рачунање закривљености употребе само једначине (5.31) и (5.33), високе грешке ће се појавити на ивицама транзиционе зоне. У ствари, највећи проблем нису само правци нормала, већ захтев да нормале буду нормиране. На некој значајнијој раздаљини од контактне површи, нормале n имају врло мали интензитет и потпуно погрешне правце. Последица је да сваки прорачун закривљености који користи ове нормале даје погрешне резултате. На пример, на Слици 5.12 се може видети процена закривљености кружнице пречника 0.25 израчуната овом методом у околини линије која пролази кроз њен центар. Коректна закривљеност као функција дистанце је на слици назначена пуном линијом. SPH честице су за овај тест пример лоциране на хексагоналној решетки периода 0.01 и коришћен је кернел петог реда дат једначином (3.11), чији је домен утицаја нешто шири од стандардног, тј. h је 1.5 пута веће од периода решетке и износи h=0.015. Процењена крива пролази кроз праве вредности близу контактне површи, али се потпуно расејава у регионима близу ивица контактне површи. У некој динамичкој симулацији би, услед оваквих грубих грешака, врло вероватно дошло до потпуног краха контактне површи. Слика 5.12. Закривљеност круга полупречника 0.25 са центром у О(0.5,0.5). Тачкама су дате SPH процене закривљености уз коришћење свих нормала. Пуном линијом дата је аналитички добијена закривљеност =1/ r Тачнија процена закривљености добија се проценом да ли уопште одређену нормалу укључивати у процес прорачуна закривљености. Као што се види са слике, нормале 88 М. Ивановић Докторска дисертација које се могу користити су оне ближе контактној површи, док се оне даље не користе. Овај критеријум се може изразити као: N i = {1, ако је∣n i∣0, у осталим случајевима} (5.34) и ni = {n i /∣ni∣ , ако је N i=10, у осталим случајевима} . (5.35) Типична вредност константе  за услове наведене у претходном пасусу је 0.01/h. Затим је потребно кориговати једначину за дивергент нормале (5.33) у односу на нове услове када нормале недостају у околини честице i. То се може постићи дефинисањем посредне процене дивергенције, тако што се искористи сума регуларних нормала из најближе околине: ∇⋅n∗ i =∑ j min N i , N j m j  j  n j−ni ⋅∇ iW ij . (5.36) Почетна процена се коригује и фактором i [Morris 2000]: ∇⋅ni = ∇⋅n∗ i /i (5.37) где је: i =∑ j min N i , N j  m j  j W ij (5.38) који практично даје локалну концентрацију честица са “регуларним“ проценама нормала. Сличан приступ употребљен је и да би се побољшала процена вредности првог извода и може се извести из EFG формализма (Element Free Galerkin) [Randles&Libersky 1996, Belytschko et al. 1996]. Резултати овог побољшаног приступа се могу видети на Слици 5.13. Као што се може приметити, више нема расејања по ивицама и тачке су значајно ближе аналитичкој кривој. 89 М. Ивановић Докторска дисертација Слика 5.13. Закривљеност круга полупречника 0.25 са центром у О(0.5,0.5). Тачкама су дате SPH процене закривљености уз коришћење само “регуларних” нормала. Пуном линијом дата је аналитички добијена закривљеност =1/ r Сила површинског напона може да буде укључена у једначину момента (4.41) у облику запреминске силе: Fi =as  i =− j  j ∇⋅nin i . (5.39) Укључивање површинског напона поставља додатно ограничење на брзину звука у SPH квази-нестишљивом флуиду. За облик 2Д статичног цилиндра, скок притиска преко контактне површи задовољава:  p =  , (5.40) па је тако квадрат брзине звука упоредив са: c2~ K 0 , (5.41) где је K типична закривљеност. Да би се одржала нумеричка стабилност у односу на силе површинског напона када се користи експлицитна временска интеграција, уводи се додатни CFL услов [Courant et al. 1928] који одсликава капиларну фазну брзину, сличан ономе који је предложио Брекбил [Brackbill et al. 1992]:  ts ≤ 0.25[  h32 ] 1 2 . (5.42) 90 М. Ивановић Докторска дисертација Поред услова (5.42), и остали услови за величину временског корака наведени у Одељку 5.1 морају бити задовољени. Обично је доминантан услов вискозне дифузије (5.5), док близу границе доминацију преузима услов (5.42). 5.6 Моделирање кретања крутог тела кроз поље флуида Решавање проблема моделирања кретања крутог тела у пољу флуида од велике је користи за широку класу проблема различитих скала. У литератури се углавном могу наћи примери ове врсте моделирања за макро-скалу, углавном из области океанографије, отпорности материјала који се користе у бродоградњи, и у последње време веома популарном моделирању природних појава као што је цунами и сл. Треба напоменути и чињеницу да је, наравно, круто тело идеализован појам, али да у неким реалним ситуацијама, рецимо када је у датим условима модул еластичности изузетно низак, ова идеализација потпуно применљива. Пошто је за дисертацију од највећег интереса моделирање флуида у микроскали, а посебно процеса који се дешавају у људском телу, технике из океанографије пронађене у литератури требало је модификовати како би одговарале кретању крутог тела кроз флуид чија је динамика описана ниским карактеристичним Рејнолдсовим бројем. Полазна тачка за овде описан приступ био је Монаганов модел [Monaghan et al. 2004]. Примери примене нове методологије која се предлаже у оквиру дисертације у биологији и другим областима динамике микрофлуида и нанофлуида су бројни, али је од превасходног интереса проналажење начина да се поуздано симулира кретање сферне или елиптичне крвне ћелије (црвеног крвног зрнца) унутар крвног капилара. Обрађен је дводимензиони модел, са перспективом да се уведе и тродимензиони. Такође, за разлику од Монагана [Monaghan et al. 2004] који је своје резултате могао да пореди само са експерименталним подацима, овде предложен модел ће моћи да се упореди и са симулацијом кретања крутог цилиндра кроз флуид под дејством гравитације [Hu 1995]. 91 М. Ивановић Докторска дисертација Кретање крутог тела је, као што је познато из механике, одређено спецификацијом транслације његовог центра масе и ротацијом око центра масе. Једначина кретања центра масе R = (X,Y) крутог тела масе M дата је једначином: M d V dt = F (5.43) где је V = (U,V) брзина центра масе а F = (Fx,Fy) укупна сила која делује на тело. Једначина угаоне брзине тела при његовом кретању око центра масе је: I d dt =  (5.44) где је I момент инерције, а  укупни момент силе око центра масе. Круто тело је у прорачуну репрезентовано као скуп граничних честица у облику слоја дебиљне k⋅h (k је обично 2), тј. ширине домена утицаја. У примерима од интереса за дисертацију, распоред честица у простору одговара распореду честица флуида, тј. размак између суседних честица износи h. Ове граничне честице интерагују са честицама флуида. На макро-скали ове честице репрезентују површинске атоме крутог тела. Технику замене крутог тела скупом граничних честица први је увео Пескин [Peskin 1977]. Уколико се сила по јединици масе на граничну честицу k означи са fk, претходне једначине постају: M d V dt =∑ k mk f k (5.45) и I d dt =∑ k mk rk−R×f k , (5.46) где је, ако се посматра дводимензиони проблем, правац вектора  нормалан на раван кретања. Закон кретања граничних честица крутог тела подлеже кретању самог крутог тела, тако да је промена положаја граничне честице к дата следећом кинематичком једначином: 92 М. Ивановић Докторска дисертација d r k dt = V×r k−R  . (5.47) Сила по јединици запремине fk која делује на граничну честицу k је последица деловања честица флуида, осим у случају да круто тело удари у непокретну границу, као што су оне дефинисане у Одељку 5.3.1. Ако се занемари могућност контакта са непокретном границом, може се писати: f k =∑ i f ki , (5.48) где fki означава силу по јединици запремине која делује на граничну честицу k од стране честице флуида i, а сумирање се врши по честицама флуида који се налазе унутар домена утицаја граничне честице k. Прецизна форма fki зависи од начина на који се ова интеракција имплементира. Међутим, оно што мора бити задовољено је очување количине кретања и момента количине кретања у одсуству спољних сила, што се постиже условом да сила којом честица флуида делује на граничну честицу мора бити једнака негативној сили којом гранична честица делује на честицу флуида. Монаган је у [Monaghan et al. 2004] предложио форму која се уклапа у опште услове његовог модела флуида чија је карактеристика кретања високи Рејнолдсов број и слободна површина. Ако се нормална дистанца од површине (крутог тела) означи са y, а тангенцијална са x, погодна форма за fki је: f ki =− m i mimk  y  X  x nk , (5.49) где је nk јединична нормала на локацији граничне честице k, са усмерењем од границе према флуиду, док су  y  и X x  дефинисани у Одељку 5.3.1. Због захтева за конзервацијом количине кретања и момента количине кретања, сила по јединици масе која делује на честицу флуида од стране граничне честице, дата је са f ik = m k mimk  y X  x nk , (5.50) тако да су силе mk f ki =−mi f ik једнаке по интензитету и супротне по смеру, што значи 93 М. Ивановић Докторска дисертација да је III Њутнов закон задовољен. Имајући у виду претходно изложено, једначина која описује кретање честице флуида у присуству крутог тела, а на основу једначине (4.41), дата је са: d v i dt =− ∑ j∈NHD m j  p j j2 p i i2 ∇ iW ij ∑j∈NHD m j i j vij i j  1r ij ∂W ij ∂ ri ∑k f ikF i , (5.51) где треба уочити претпоследњи додатни члан који даје интеракцију честице са крутим телом. У одсуству спољашњих сила, а имајући у виду да градијент кернела поседује особину непарне симетрије у односу на свој аргумент, из формуле (5.51) може се закључити да је ∑ i mi d v i dt =∑ i ∑ k mi f ik . (5.52) Десна страна горње једначин се може написати као −∑ k mk f k =−M d V dt , (5.53) из чега се види да је укупна количина кретања конзервирана: ∑ i mi viM V= const. (5.54) Може се показати и да је укупни угаони момент такође очуван. Последњи члан десне стране једначине (5.51) је у овом извођењу занемарен, тако да, као што се и може очекивати, у случају када на тело или флуид делује нека спољашња сила, момент количине кретања се не конзервира. Међутим, облик силе интеракције који се базира на одбојним силама облика  y ⋅X x  се у тест примерима показао потпуно непогодним за феномене чије је моделирање постављено као циљ дисертације. Код микрофлуида и биофлуида, нпр. у динамици кретања крвних ћелија (црвених крвних зрнаца) кроз крвне микрокапиларе, доминантни гранични услов, као што је већ речено, је тзв. неклизећи гранични услов, који треба да је постављен на површини крутог тела. 94 М. Ивановић Докторска дисертација Монаганова формулација је за ову примену недовољна, али даје добар оквир у коме се f ki =− m i mimk  y  X  x nk може заменити неком другом формом, а да конзервација количине кретања и момента количине кретања остане на снази, макар апроксимативно. Уколико се пажљивије размотри једначина (5.51), може се приметити да збир првог и другог члана са десне стране једначине такође поседује особине које омогућавају да се баш он употреби уместо постојеће форме за силу интеракције по јединици масе између граничне честице и честице флуида: f ki =−mi  pii2 p k k2 ∇ kW kim i ki vki k i  1rki ∂W ki ∂ r k  . (5.55) То би значило да честице флуида и честице површине крутог тела интерагују на два начина: 1. Локални градијент притиска из првог члана омогућава, уз одговарајућу једначину стања да се задовољи услов квази-нестишљивости, као и да се онемогући продор честица при струјању нижег Рејнолдсовог броја, 2. Други члан десне стране једначине (5.55) представља деловање вискозних сила. Овде је употребљена апроксимација да флуид на круто тело, као и круто тело на флуид делује вискозним силама. Физички опис би се могао замислити као интеракција између честица танког слоја флуида који прекрива круто тело (и везан је за тело неклизећим граничним условом) и околног флуида. Међутим, и поред физички потпуно оправданог приступа, овај прилаз може задати проблеме у нумеричком делу. Наиме, још у Одељку 4.4.2 је напоменуто да је вискозни члан изведен на основу апроксимације која се користи у методи коначних разлика и да једно од својстава ове апроксимације није потпуно, већ само апроксимативно одржање угаоног момента, док се линеарни момент одржава у потпуности. Пошто је одржање угаоног момента један од важнијих захтева када се говори о 95 М. Ивановић Докторска дисертација кретању крутог тела у пољу флуида, свакако има простора за додатна побољшања предложене методе. Опширнија анализа биће дата у Глави 8. 96 М. Ивановић Докторска дисертација 6 Програмска имплементација SPH 6.1 Мотивација Како би се тестирала употребна вредност SPH теорије и њених додатака везаних за неке специфичне физичке захтеве који су се појавили у току израде дисертације, а који су поменути у Глави 5, било је потребно развити одговарајућу програмску платформу. Захтеви који се пред једну такву платформу постављају су следећи: 1. одговарајућа брзина извршавања (пре свега брз алгоритам за претрагу честица); 2. ефикасно коришћење меморијских ресурса, што није тешко постићи, јер су честичне методе значајно штедљивије у односу на мрежне методе по питању меморије; 3. компонентна структура која омогућава поновну употребу компоненти, у оквиру SPH формализма или чак неке друге честичне методе; 4. могућност за лако и ефикасно уграђивање нових компоненти (нпр. материјалних модела, модификованих једначина кретања и сл.); 5. одговарајућу документованост кода, примера и формата улазне датотеке; 6. омогућити да се развијене софтверске компоненте употребе у софтверским решењима за друге честичне методе (првенствено DPD - Dissipative Particle Dynamics и MD - Molecular Dynamics); 7. улазни/излазни формати компатибилни са референтним пакетима за постпроцесирање и визуелизацију, да би се кориснику дао избор и омогућила једноставна конверзија излаза; 8. све билиотеке које се користе у развоју треба да буду отвореног кода, како се не би дошло у ситуацију да употребљена библиотека у будућности више не буде подржана од стране произвођача. 97 М. Ивановић Докторска дисертација Треба нагласити да је као полазна основа за израду SPH07 пакета послужио програмски пакет MCM (Meshless Continuum Mechanics) који је на Кренфилд Универзитету у Великој Британији развила група коју води проф. Раде Вигњевић. Овај пакет се развија већ скоро целу деценију и веома је ефикасан са становишта перформанси, стабилан и добро документован. Такође, MCM покрива много ширу проблематику од оне којом се ова дисертација бави, а посебно је оријентисан на механику солида и контактне проблеме. За разлику од других програма сличне намене, MCM пакет имплементира тзв. равни симетрије, чија употреба омогућава да се за одговарајућу класу проблема време прорачуна чак преполови. Међутим, динамика нестишљивих флуида, а посебно микрофлуида и биофлуида у овом пакету није третирана, али је пружена одлична основа која се може надоградити било каквим материјалном моделом. Поставља се питање зашто за имплементацију физике одређене у претходним главама (динамика нестишљивог флуида са ниским Рејнолдсовим бројем, неклизећи гранични услови, површински напон, кретање крутог тела) није искоришћен програмски модел који је поставио програмски пакет MCM. Разлог за одлуку да се развије потпуно нова честична програмска платформа лежи, пре свега, у две чињенице: • MCM софтверски пакет је развијен у процедуралном програмском језику Fortran 90, • MCM пакет не поседује тзв. паралелни начин рада (мод). Уколико се имају у виду претходно наведени захтеви постављени пред честичну софтверску платформу, чињеница да је MCM написан у програмском језику Fortran има и добре и лоше стране. Ако се изолује први захтев, историјски посматрано, у операцијама са низовима, меморијским блоковима, векторском и матричном алгебром и прорачунима уопште, Fortran се показао као језик који нуди боље перформансе генерисаног извршног кода од програмских језика C и C++, и то за пар десетина процената. И данас је такав распоред снага у великој мери остао на снази, али се разлика квантитативно значајно смањила захваљујући, пре свега, оптимизованим 98 М. Ивановић Докторска дисертација компајлерима и наменским C/C++ библиотекама. Међутим, оно што смешта језик C++ далеко испред Fortran-а је могућност примене објектно оријентисане парадигме која омогућава неупоредиво лакши и ефикаснији развој, као и касније одржавање кода. У наредном ће одељку на примеру из постојећег SPH07 кода бити објашњена предност објектно оријентисаних принципа програмирања у језику C++ над класичним процедуралним приступом заступљеним код Fortran-а. 6.1.1 Пример објектно-оријентисаног кода у SPH имплементацији Као принцип, објектно оријентисано програмирање и дизајн софтвера датирају још из 60-их година прошлог века, али све до почетка 90-их година овај тип развоја није био доминантан. Међутим, чак и софтвер за примену у нумеричким симулацијама може добити значајне организационе предности применом четири принципа објектно- оријентисаног програмирања: • капсулација • апстракција • наслеђивање • полиморфизам. Примену ових принципа најлакше је објаснити на реалном примеру из SPH терминологије, рецимо на ентитету кернела. Као што је објашњено у Глави 3, кернел је тежинска функција чији је аргумент међусобна удаљеност SPH честица ∣x i−x j∣ . Међутим, вредност кернела такође зависи и од дилатационог параметра h и броја димензија конкретног проблема. Уколико се број димензија и дилатациони параметар прогласе карактеристикама (особинама) кернела, може се, уз употребу принципа капсулације и апстракције формирати класа, под називом, примера ради, KernelBSpline, чије ће методе бити задужене за рачунање вредности кернела и просторних извода кернела. Усвојивши 99 М. Ивановић Докторска дисертација синтаксу језика C++, потпис класе KernelBSpline би био: class KernelBSpline { public: KernelBSpline(int ndim, real havg); ~KernelBSpline(); real W(RealVector &xi, RealVector &xj); void GradW(RealVector &dWdx, real &dWdr, RealVector &xi, RealVector &xj); // Attributes private: int ndim; real havg; }; На тај начин је појам кернел функције у облику полинома трећег реда капсулиран и апстрахован на нивоу класе KernelBSpline. Међутим, у Глави 3 је било речи и о другачијим кернел функцијама, где се уместо полинома трећег реда користи полином петог реда, а поједини аутори су постигли задовољавајуће резултате употребом кернел функција које чак уопште немају полиномијалну природу. Питање је како појам кернела у коду објединити, а опет омогућити имплементацију разнородних кернел функција. Овај циљ је могуће постићи класичним механизмом наслеђивања; дакле, потребно је из основне класе, рецимо Kernel извести класе KernelBSpline и KernelQSpline (која имплементира кернел петог реда) које ће наследити особине класе Kernel (сваки кернел мора да има атрибут дилатационог параметра h и број димензија ndim), али и додати неко ново понашање или изменити подразумевано понашање. Дијаграм наслеђивања дат је на Слици 6.1. Слика 6.1. Класни UML дијаграм наслеђивања класа KernelBSpline и KernelQSpline из класе Kernel На овај начин се избегава поновно имплементирање функционалности које већ постоје у класи родитељу, тако да је резултат јаснији и читљивији код који је лакше 100 М. Ивановић Докторска дисертација одржавати. Остало је демонстрирати још једну особину објектно оријентисане парадигме, а то је особина тзв. полиморфизма. Полиморфизам је, практично, различито понашање објекта у зависности од контекста, тј. могућност да се објекат типа А употреби тамо где се очекује објекат типа Б. Како полиморфизам може да буде искоришћен на примеру класа Kernel/KernelBSpline/ KernelQSpline? У пакету SPH07, класа Kernel је проглашена апстрактном класом, тј. не могу постојати објекти типа Kernel, али зато могу постојати показивачи типа Kernel*. Пошто су класе KernelBSpline и KernelQSpline изведене из класе Kernel, особина полиморфизма омогућава да се на свим местима у коду где се очекује показивач на класу која имплементира кернел, употреби показивач типа Kernel*. Главна и за програмера најкориснија последица је да се долази до таквог новоа апстракције да коду коме треба рачунање вредности кернела уопште није потребно да “зна” да ли ради са B-spline кернелом, Quintic кернелом или неким трећим. Тако, на пример, захваљујући полиморфизму, методу која рачуна градијент деформације или убрзање SPH честице уопште не треба мењати при промени кернела из B-spline у Quintic тип, јер она аутоматски позива одговарајуће облике метода W() и gradW(). Ако се оде и корак даље, апстракцијом појма материјала апстрактном класом, под називом нпр. Material, која ће као интерфејс према остатку кода имати опис везе типа деформација-напон или градијент деформације-напон, додавање нових материјалних модела се своди на извођење класе из апстрактне класе Material и имплементирање атрибута и метода карактеристичних за нови модел. Дакле, употребом објектно оријентисаних концепата у нумеричком коду се постиже јасније раздвајање података и функционалности, као и значајно олакшавање тимског развоја софтвера, какав је данас најзаступљенији. 6.2.2 Поређење перформанси објектне и процедуралне платформе Повећана удобност приликом развоја и одржавања софтвера базираног на објектно- оријентисаној платформи одговарајућег нивоа апстракције, као што је већ напоменуто, 101 М. Ивановић Докторска дисертација не долази потпуно бесплатно. Данак се плаћа у нешто умањеним перформансама тако генерисаног извршног кода. Питање на које треба одговорити је колико је, у ствари, то умањење, и на основу тога направити избор платформе за развој, и то као компромис између лакоће одржавања кода и добијених перформанси извршног програма. Такође треба напоменути да за C++ платформу постоје употребљиве и веома оптимизоване библиотеке отвореног кода за примену у нумерици. Најпознатији пројекти овог типа су Boost::uBLAS и Blitz++. Основни разлог за увођење оваквих библиотека је значајан скок перформанси у односу на стандардне C++ контејнерске класе, рецимо std::vector, што се постиже ефикасном манипулацијом меморијом, као и увођењем технике под називом шаблонско метапрограмирање . Иницијална верзија библиотеке Blitz++ појавила се пре скоро целе деценије, када је на само пар најразвијенијих C++ компајлера било могуће извршити превођење њеног кода. На срећу, данас је ситуација умногоме измењена стандардизацијом језика C++ ISO нормама, тако да Blitz++ преводе сви познатији компајлери, било комерцијални било слободни. Имајући у виду анализу перформанси које ова билиотека пружа [Veldhuizen 1997], избор за SPH07 био је очигледан. Тест који је публикован у [Veldhuizen 1997], изведен је над једноставним кодом који симулира рефлексију зрака (аналогија у SPH би била примена рефлектујућих граничних услова). На Слици 6.2 дати су резултати поређења перформанси следећих ентитета: • Blitz++ TinyVector класе (дужина позната у време компајлирања), • Blitz++ Array класе (дужина није позната у време компајлирања), • Fortran 77 низ, • std::vector стандардног C++ контејнера, 102 М. Ивановић Докторска дисертација Слика 6.2 Перформансе различитих платформи у зависности од дужине низа, пример рефлексије дат у [Veldhuizen 1997] у зависности од дужине датог низа. Дијаграм очигледно показује да су перформансе Blitz++ Array низова (а низови су структуре које се најчешће и користе у честичним симулацијама) и фортранских низова истог реда величине. За статички алоцирани тип низа TinyVector, тј. када се унапред, приликом самог превођења зна његова величина, перформансе расту за скоро ред величине, док перформансе стандардног C++ контејнера типа std::vector, имају исти тренд промене у зависности од величине низа као Array и фортрански низ, али је за скоро ред величине спорији. Други проблем који је постављен пред C++ ојачан Blitz++ библиотеком и Fortran је много реалнији и као такав ближи SPH стандардима, а то је проблем из квантне хромодинамике решетке (Lattice Quantum Chromodynamics, QCD), једног од стандардних модела из честичне физике. Овај проблем је познат по својој захтевности и у пракси обично захтева примену супер-рачунара. Иначе је врло сличан SPH приступу, јер честице у решетки, попут SPH честица поседују особине које се могу изразити апстракцијом уз употребу Blitz++ TinyVector и TinyMatrix класа (код SPH би 103 М. Ивановић Докторска дисертација то били, нпр. вектор положаја, вектор брзине, тензор брзине деформације, тензор напона итд.). Резултати теста су приказани на Слици 6.3. Слика 6.3. Поређење перформанси Blitz++ низова и фортранских низова у проблему честичне физике [Veldhuizen 1997] На дијаграму се сада види још већа предност C++/Blitz++ комбинације у односу на Fortran, и то за проблем који веома личи на проблем који се третира у оквиру дисертације, што је аутору било сасвим довољно да донесе одлуку да SPH07 пакет базира на Blitz++ платформи. Прва верзија SPH07 кода је за величине векторског и тензорског типа које су везане за честице, као што су вектор положаја, брзина или тензор напона користила класу Array библиотеке Blitz++, чија се величина одређује динамички, тј. у току извршавања. Ова класа има веће могућности од поменуте класе TinyVector, али је данак плаћен у нешто лошијим перформансама. Коначна верзија кода за већину квантитета векторског и тензорског типа користи статички алоцирајуће TinyVector и TinyMatrix, чиме је добијено око 30% убрзања у односу на Array. Једини проблем који се појавио у току тестирања је делимична некомпатибилност GNU g++ 4.3 компајлера и Blitz++ библиотеке (није било могуће извршити превођење том верзијом компајлера), али је и тај проблем решен применом одговарајуће “закрпе” аутора библиотеке. Дакле, после скоро целе деценије занемаривања C++-а као неподобног и спорог 104 М. Ивановић Докторска дисертација језика за нумерику, нови компајлери и библиотеке попут Blitz++ учиниле су овај језик веома компетитивним у односу на традиционална решења попут Fortran-а, и то уз неупоредиво виши ниво организације и јасноће кода. 6.2 Употреба SPH07 софтвера Као платформа током развоја софтвера коришћен је Linux/GNU g++ компајлер, а тестирање је такође извршено и на MS Windows платформи, коришћењем MS и Intel C+ + компајлера. Као што је већ речено, од спољних библиотека је коришћен Blitz++ 0.9, а код паралелне верзије MPICH верзије 1.2.7p1. За аутоматско генерисање документације употребљен је Doxygen, док су за потребе генерисања SPH честица за одговарајуће геометрије у примерима употребљене скрипте написане у програмском језику Python. Улогу интегрисаног развојног окружења преузео је Eclipse са CDT екстензијом. Један од циљева који су постављени пред аутора SPH07 је била и што већа портабилност и тај циљ је највећим делом испуњен избегавањем платформски-специфичних функција, што код развоја овог типа софтвера и не представља неки велики проблем, јер нема графичког интерфејса који би произвео било какву врсту везаности за конкретну платформу. Особина портабилности је код ове врсте софтвера нужна из разлога што пројектована употреба сеже од тестирања у едукативне сврхе на обичном PC рачунару, па све до решавања реалних проблема из области динамике микрофлуида/биофлуида на супер-рачунару/кластер-рачунару са дељеном или диструбуираном меморијом. За разлику од неких других комерцијалних и јавно доступних SPH програмских пакета [Dalrymple et al. 2006], који нуде посебне извршне верзије за решавање једнодимензионих, дводимензионих и тродимензионих проблема, SPH07 у једном извршном програму интегрише горе наведено, и то са минималним губитком перформанси. Овакав приступ је изабран пре свега због једноставности. Још једна од особина развијеног кода, која пакет SPH07 разликује од већине програма сличне намене, је да се све опције везане за различите нивое приступа из SPH теорије наводе у улазном фајлу, а не као компајларске опције. Ту су, на пример, избор одговарајућег типа кернела (Гаусијан, полином трећег или петог реда), тип граничних услова, укључен/искључен површински напон итд. Програм се позива на стандардни начин, 105 М. Ивановић Докторска дисертација нпр. под Unix-оликим системима као: ./sph07 [ _ _ _путања до улазног фајла] где је путања_до_улазног_фајла опциони аргумент, тј. ако се не наведе у командној линији, програм по покретању пита корисника за исту. путања_до_улазног_фајла се такође узима као префикс у формирању имена излазних фајлова. Формат улазног фајла је у највећој мери (али не у потпуности) компатибилан са улазним форматом софтверског пакета MCM (Meshless Continuum Mechanics), како би се на најлакши начин искористили већ постојећи улазни фајлови, као и за потребе упоредног тестирања два софтверска пакета. Формат је, као и код већине нумеричких програма, текстуални, како би се омогућиле измене у обичном едитору текста и поједноставила евентуална параметарска или нека друга анализа за коју је потребно генерисати велики број сличних улазних фајлова уз употребу алата који раде са текстом, као што су awk и sed. Што се тиче излаза из SPH анализе, а као што је дефинисано у принципима развоја SPH07 наведеним на почетку ове главе, циљ је био да излаз имплементира у формату који може да чита и неки од јавно доступних програма за визуелизацију. Избор је пао на Ensight CASE формат који је разумљив великом броју софтверских алата за визуелизацију, текстуални је, и што је најважније, разумљив је и алату отвореног кода Paraview, који је послужио за визуелизацију већине примера који су дати у овом материјалу. Пакет Paraview такође поседује и паралелни начин рада употребом MPI парадигме, што може да буде итекако значајно када се визуелизују системи са више десетина или стотина хиљада SPH честица. Класа Output, чији је задатак третман излаза у оквиру SPH07, је тако дизајнирана да омогућава једноставну уградњу нових функционалности, као што је испис у неком другом (текстуалном или бинарном) формату, уз потпуно очување постојеће функционалности. За потребе лакшег и бржег извођења примера код којих је од интереса варијација само неколико параметара, као што су тест примери дати у глави под наливом “резултати и анализа”, развијена је графичка шкољка под називом ParticleMethods, која се, као што сам назив каже, примењује и као кориснички интерфејс и за неке друге софтвере/честичне методе, као што је DPD (Dissipative Particle Dynamics). Ова 106 М. Ивановић Докторска дисертација платформа је такође портабилна на нивоу оперативних система/библиотека, јер је базирана на портабилном Qt4 toolkit-у. Више речи о структури и употреби овог софтвера биће у наставку текста. 6.3 Организација класа пакета SPH07 Пошто су утврђени принципи на којима ће се базирати SPH07 платформа, као и алати који ће се кориситити, може се приступити опису организације самог пакета. Треба напоменути да ће обрада једног од најважнијих питања (и једне од централних тема дисертације уопште), тј. питања паралелизације, због свог обима, бити остављена за посебно поглавље. Основни UML дијаграм класа приказан је на Слици 6.4. Као што се на њему може уочити, целокупна функционалност софтвера подељена је на следеће класе: • SimulationData - Синглтон класа чији је задатак сторирање свих величина релевантних за чин симулације, као што су реалне и виртуелне SPH честице и физичке величине везане за њих, табела суседства честица, разни глобални индикатори, материјали и њихове особине, идр. Што се тиче имплементираних функционалности, ова класа поседује методе чија је намена обрада улаза, укључујући ту обраду командне линије, као и учитавање улазног фајла са обрадом грешака. Метода GetInput() класе SimulationData је јавна (public), а њен је задатак обрада целокупног улазног фајла. Међутим, методе која она позива, а такође су део класе SimulationData, нпр. MaterialInput() и NodeInput() су изведене као приватне. Такође треба нагласити да преостале три класе највишег нивоа, а то су SimulationInit, Solution и Output, поред својих јавних и приватних чланова података, увек садрже референцу на синглтон инстанцу класе SimulationData. Методе класе SimulationInit и Solution имају дозволу да мењају, док методе класе Output, сходно намени, имају дозволу само за читање те синглтон инстанце. • SimulationInit - Синглтон класа чији је задатак иницијализација свих величина које се тичу симулације која треба да наступи. Наиме, иако су се методе класе 107 М. Ивановић Докторска дисертација SimulationData побринуле за учитавање улазног фајла и обраду грешака које том приликом могу настати, сама анализа модела још увек не може да се изведе, јер променљиве и структуре треба припремити, тј. иницијализовати. Један од једноставних примера када је потребна иницијалилзација је асоцијација дилатационог параметра и густине свакој честици у зависности од података наведених у блоку са материјалима у улазном фајлу. Такође, за корисника је удобније да у улазни фајл упише масу целог материјала уместо масе сваке појединачне честице. Метода InitMass() класе SimulationInit се брине о томе свакој SPH честици буде асоцирана коректна маса, тако што ће поделити укупну масу материјала бројем честица тог материјала. Ту је и постављање иницијалних вредности брзине звука, притиска и временског корака. Треба напоменути да класа SimulationInit не обавља целокупан посао иницијалилзације самостално, већ позива и неколико јавних метода класе Solution, и то пре свега када се ради о иницијализацији променљивих и структура које обрађују појам суседства честица. • Solution - Синглтон класа која обавља највећи део посла динамичке анализе SPH модела. Пошто је SimulationData синглтон инстанца “напуњена” подацима из улазног фајла и изведене су иницијализације, може се приступити анализи описаној у претходним главама са теоријским садржајем. Инстанца класе Solution по потреби позива и јавне методе класе Output, како би обезбедила излаз из анализе по правилима дефинисаним у улазном фајлу. Корак SPH анализе биће детаљније објашњен и потркрепљен одговарајућим дијаграмима у даљем тексту. • Output - Синглтон класа која не поседује атрибуте, већ само методе које позива инстанца класе Solution како би се обезбедио одговарајући излаз. Већ је поменуто да је имплементиран само излаз Ensight CASE формата, али не постоји никаква препрека за имплементацију излаза бинарног типа унутар ове исте или неке изведене класе. Бинарни излаз би редуковао величину излазних фајлова (која код текстуалног излаза иде чак и до неколико десетина гигабајта) и убрзао диск улазно/излазне операције, али на рачун читљивости (особина под називом 108 М. Ивановић Докторска дисертација “human-readabilty”). За све ове класе заједнички је интерфејс према дневнику (logger) који им омогућава да важне информације од интереса за корисника/програмера пишу у одговарајучи log фајл и/или на екран. Као што се из приложеног може видети, у оквиру пројекта SPH07 није постигнута апсолутна капсулација на највишем нивоу, тј. ове четири класе нису у потпуности независне, већ међусобно позивају јавне методе, рецимо класа SimulationInit позива методу Neighbours() класе Solution. Можда је потпуну капсулацију и било могуће извести, али са другачије дефинисаним апстракцијама или са извесним дуплирањем кода. Овакве решење је изабрано као добар баланс између објектно- оријентисане филозофије и функционалности. Потпуну капсулацију је много лакше извести при развоју пословног софтвера, него у развоју софтвера за нумеричке симулације, где су везе међу ентитетима много чвршће и непредвидивије ако се има у виду даља пројекција развоја кода. 109 М. Ивановић Докторска дисертација Слика 6.4. Скраћени UML дијаграм класа највишег нивоа агрегације у пакету SPH07 6.4 Кораци при извођењу SPH анализе У претходном одељку објашњена је структура и односи међу класама највишег нивоа, међутим, у области нумеричких симулација, највећи део посла се обавља врло централизовано, у овом случају у методама класе Solution. Као што се види са Слике 6.4, само једна од ових метода, метода Solve(), је јавна и њен је задатак позивање осталих приватних метода ове класе по одређеном редоследу. Редослед позива је следећи (дијаграм 6.5): • Одређивање суседства и имагинарних честица. Дакле, на почетку сваког 110 М. Ивановић Докторска дисертација временског корака одређује се, као што је дефинисано у Одељку 5.4.2, суседство честица, и то методом повезаних листи. Овај корак се састоји из три поткорака. Први поткорак је формирање повезане листе засноване на грид структури чији је пример приказан на Слици 5.9 у претходној глави. Након ове фазе, свака SPH честица показује на неку другу честицу која се налази у истој ћелији грида, или има вредност LINKEDLISTEND. Други поткорак је генерисање имагинарних честица, и то оних које симулирају периодичне граничне услове на начин објашњен у Одељку 5.3.3, што се постиже додавањем још по једног реда грид ћелија на крајеве модела (Слика 5.6б) у које се онда копирају честице са супротног краја модела. Трећи поткорак је формирање листе суседних честица за сваку реалну (али не и имагинарну) честицу, где се, само у ћелији којој посматрана честица припада и њој суседним ћелијама одређују SPH честице (и реалне и имагинарне) које се налазе у радијусу домена утицаја. Наравно, ако периодични гранични услови нису укључени, други поткорак се прескаче. • Брзина деформације. Пошто је одређено суседство реалних SPH честица (у коме се налазе и имагинарне честице), може се приступити прорачуну величина од интереса. Прва физичка величина која се рачуна свакако мора бити тензор брзине деформације (или саме деформације ако би се покривала механика солида). • Нормале на површи. Уколико је у симулацију од интереса укључен површински напон или гранични услови који онемогућавају пенетрацију честица из Одељка 5.3.1, тада се рачунају нормале на границама два различита материјала или на изолованој граници. • Ажурирање h и густине. Након прорачуна нормала се извршава ажурирање дилатационог параметра h, и то само у случају да је укључена његова варијабилност (што се код моделирања нестишљивих флуида обично не чини) и ажурирање густине сваке реалне и имагинарне “неклизеће” SPH честице на основу већ добијеног трага тензора брзине деформације. • Конститутивне релације. Следи најважнија фаза са становишта моделирања 111 М. Ивановић Докторска дисертација конкретног материјала, у овом случају флуида, где се врши повезивање напона и брзине деформације. Примера ради, код неких других нумеричких метода, као што је МКЕ, би у овом кораку повезивање напона и брзине деформације било сасвим довољно, али се код SPH у обзир мора узети и третман реалног нестишљивог флуида као квази-нестишљивог. Због тога се у овој фази такође рачунају и величине попут вештачке вискозности (ако је укључена), притисак преко једначине стања, да би се на крају моделирања материјала сабрали доприноси главног и девијаторског дела напона у укупни тензор напона који ће се користити за прорачун прираштаја брзине. • Временски корак. Следећи је прорачун критичног временског корака по шеми датој у Одељку 5.1. Критични временски корак се множи неким фактором сигурности, који је код SPH07 узет као константан и износи 0.8. • Прорачун убрзања честица. Убрзање сваке честице одређује се на основу закона одржања линеарног момента, чија је форма дата нпр. једначином (4.41). Дакле, да би се израчунало убрзање по јединици масе, сабирају се доприноси тензора напона, тензора вештачке вискозности, као и спољашња сила. • Гранични услови за померање. У улазном фајлу је могуће поставити граничне услове за ограничвавање померања по једној, две или све три осе, и то за сваку честицу понаособ. Овде се ти гранични услови примењују. • Прорачун енергије. Енергија система се рачуна према једначини (4.37). • Ажурирање брзине и померања. На основу прорачунатих вредности за убрзање честица, а након примене датих граничних услова, ажурирају се вредности брзине и убрзања преко шеме временске интеграције дефинисане у Одељку 5.1. • Прелазак на следећи временски корак. Ако задати временски оквир симулације није пробијен, прелази се на следећи временски корак, а ако јесте, SPH анализа је завршена. 112 М. Ивановић Докторска дисертација Слика 6.5. Поједностављена алгоритамска шема извођења SPH анализе Као што се са дијаграма на Слици 6.5 може видети, процес SPH анализе је и даље остао умногоме сличан, ако не и идентичан редоследу корака који би се извршавао и 113 М. Ивановић Докторска дисертација унутар процедуралног кода. Објектно-оријентисана архитектура, дакле, није донела било какав нови приступ самом рачунању динамичких величина од интереса, али је донела бољу организацију и ентитетско разграничење на нивоу података. Треба нагласити да је приликом развоја кода, а посебно касније, у фази унапређивања постојећег кода, основни захтев, наведен на почетку овог поглавља било “извлачење” што бољих перформанси из програма. Ако се у виду има жељена перспектива за употребу SPH07, а то је могућност решавања реалних проблема из динамике микрофлуида и биофлуида, а не само спровођење устаљених примера за верификацију, то је сасвим разумљиво. Технике које су коришћене за оптимизацију, а припадају како нижем, тако и вишем нивоу оптимизације су следеће: 1. Широка употреба тзв. inline функција. Иако су данашњи компајлери у великој мери оптимизовани, па и сами могу да процене када позив функције (методе) треба третирати као уграђени код, због портабилности су све функције које би могле да подлегну овом систему оптимизације означене директивом “inline”. 2. Избегавање трансценденталних математичких функција, нпр. кореновања. 3. Постављање фреквентних CASE лабела на почетак. Код SPH07 садржи велики број SWITCH израза, али је обраћена пажња да се најфреквентније коришћени CASE услови ставе на почетак израза. 4. Минимизовање броја локалних променљивих. Уколико је број локалних променљивих у методи мали, компајлер ће бити у могућности да их све смести у процесорске регистре и тиме у великој мери убрза методу. 5. Минимизација броја параметара метода. Ако метода има много параметара, сваки њен позив ће значајно оптерећивати стек. Зато број параметара треба редуковати и користити референце и показиваче. Објектно-оријентисана архитектура може значајно смањити потребу за великим бројем параметара метода класе. 6. Коришћење референци за прослеђивање или враћање било чега већег од 4 бајта. Параметре метода, а такође и повратне вредности методе чија је дужина 114 М. Ивановић Докторска дисертација већа од 4 бајта, су третиране коришћењем референци. 7. Употреба једоставних конструктора. Код SPH07 се креира велики број објеката одређених класа, рецимо класе Particle или GhostParticle који се смештају у низове. Пошто се констуктори ових класа позивају много пута, треба избегавати непотребно компликовање. 8. Избегавање декларисања непотребних виртуелних функција. Једна од особина која језик C++ разликује од језика као што је Java је та што методе класа нису подразумевано виртуелне. Како би се редуковало непотребно референцирање табеле виртуелних функција, функције којима особина “виртуелности” није потребна нису декларисане као виртуелне, што је честа пракса C++ програмера. 9. Подешавање величина структура на степен двојке. У циљу индексирања низа структура, компајлер изводи множење величином структуре. Та операција се може оптимизовати тако што се величина структуре подеси на степен двојке, како би се компајлеру омогућило да уместо множења изводи једноставно померање (shifting). Међутим, није довољно само пратити наведена упутства, перформансе кода се морају интензивно тестирати током развоја. Такође, напори који за циљ имају унапређење перформанси морају се усмерити на делове кода (методе) у којима се програм приликом извршења најдуже задржава. Са профајлер дијаграма на Слици 5.7, може се стећи веома прецизна слика о релативном односу времена задржавања у свакој од метода појединачно; рецимо, да највећи део времена анализе отпада на претрагу суседства. Врло занимљив податак је да је током тестирања време извршавања типичне SPH07 анализе скраћено чак за 20-ак процената само променом формулације у циљу редуковања употребе функције sqrt() унутар једне од метода. Много суптилније оптимизационе технике, али употребљене на погрешном месту, тј. без консултације профајлера, ни издалека не би постигле овакав утицај на перформансе софтвера. Ради постизања комплетне слике о фреквенцији позивања метода, на дијаграму 6.6 је дат потпуни графички излаз из профајлер алата Valgrind. 115 М. Ивановић Докторска дисертација Слика 6.6. Дијаграм позива и фреквенција позива метода класа апликације SPH07 116 М. Ивановић Докторска дисертација 6.5 Графичка шкољка ParticleMethods ParticleMethods је софтвер чија је сврха да кориснику који је само делимично упознат са честичним методама омогући да изведе све фазе моделирања на лак и разумљив начин. ParticleMethods практично пружа услуге претпроцесирања, визуелизације и пост-процесирања резлутата различитих честичних нумеричких метода, са акцентом на SPH. Овај програм је такође развијен у језику C++, и то такође са захтевом потрабилности између платформи, посебно на релацији MS Windows/GNU Linux. Овај захтев је релативно лако испунити када је реч о конзолном програму, међутим, када се ради о програмима са графичким корисничким интерфејсом (Graphical User Interface - GUI), где разлике међу платформама долазе до изражаја, поставља се питање избора GUI библиотеке која ће све то подржати. За потребе софтвера ParticleMethods, избор је пао на библиотеку Qt верзије 4, која пружа удобно окружење за развој апликација које су предвиђене за рад на различитим платформама. Изворни код се не мења, потребно га је само рекомпајлирати на циљној платформи. Део UML дијаграма класа апликације SPH07 приказан је на Слици 6.7, где је очигледно да је за сваки SPH пример (укључујући и оне примере описане у каснијем тексту) направљена посебна класа изведена из класе SPHExampleWidget. На тај начин је, захваљујући објектно- оријентисаној архитектури једноставно уградити и неки сасвим нови пример из SPH области у овај програм, чиме је постигнута особина модуларности високог новоа. 117 М. Ивановић Докторска дисертација Слика 6.7. Део UML дијаграма класа софтверског пакета ParticleMethods Програм има стандардни кориснички интерфејс са менијима и елементима дијалога, као на Слици 6.8а. Из менија се може изабрати жељени пример, рецимо проток флуида између две паралелне плоче, два коаксијална цилиндра, у стенози, итд. У средњем делу се налази графички приказ, док су у доњем делу контроле везане за тренутно актуелни пример. Пошто се квантитативни и други параметри одреде по жељи, покреће се SPH анализа, која није ништа друго до интерно позивање програма SPH07 са аутоматски генерисаним улазним фајлом. Програм за све време трајања анализе исписује извештај о прогресу у посебном прозору. Када се анализа заврши, резултати се приказују у облику анимације струјања флуида где су честице обојене у складу са припадајућом вредношћу посматране величине, или алтернативно у форми 2Д дијаграма по релевантном попречном пресеку, као што је приказано на Слици 6.8б. Корисник има избор да, ако жели, графички кориснички интерфејс користи само у 118 М. Ивановић Докторска дисертација некој од фаза у процесу моделирања, нпр. за креирање почетног улазног фајла за накнадно кориговање или само за графички приказ резултата. За сврхе постпроцесирања и визуелизације, пакети типа Paraview пружају веће могућности, као и значајно већу флексибилност. Слика 6.8а Изглед графичког корисничког интерфејса програма ParticleMethods 119 М. Ивановић Докторска дисертација Слика 6.8б Приказ дијаграма брзине у попречном пресеку модела у пакету ParticleMethods 120 М. Ивановић Докторска дисертација 7 Паралелизација SPH алгоритама 7.1 Мотивација У претходној глави је са разних аспеката разматрана одлука да се примени једна мало неуобичајена (али у данашње време све чешћа) методологија при развоју нумеричког софтвера, а то је објектно-оријентисани приступ у склопу програмског језика C++. Иако овом одлуком са становишта перформанси ништа није изгубљено у односу на стандардни Fortran, ништа се није ни добило. Иако су у програмски пакет SPH07 уграђени ефикасни алгоритми за претрагу честица засновани на просторној декомпозицији и једноструко повезаним листама, затим ефикасна библиотека Blitz++ за све операције са векторима и тензорима и оптимизационе технике ниског нивоа обрађене у Одељку 6.4, све то је за одређене реалне примене недовољно брзо. Пример са микро-нивоа од највећег интереса за овај рад је свакако кретање крвних ћелија сферног или елипсоидног облика унутар уског канала у коме се налази флуид (крв). Како би се верно репродуковала динамика овог проблема, потребно је, пре свега, верно репродуковати геометрију елипсоидних крвних ћелија, за шта је неопходно обезбедити високу резолуцију честица, тј. мали размак између њих. Најједноставнији примери из овог домена поседују десетине хиљада честица, а ако се има у виду и чињеница да величина временског корака опада пропорционално са смањивањем дилатационог параметра h према формулама (5.3)-(5.6), долази се до врло озбиљне вредности за потребно време анализе, које се врло често мери и данима и недељама на стандардном савременом рачунару. Овакав однос обављеног посла и утрошеног времена веома је неповољан и за неке примене SPH чини чак потпуно неупотребљивим, бацајући у сенку све предности које ова безмрежна нумеричка метода има над стандардним мрежним методама. Неоспорно је да се процесорска снага персоналних рачунара унапређује континуално последње две деценије, али за 121 М. Ивановић Докторска дисертација апликације попут нумеричких симулација у динамици флуида, процесорске снаге никад није довољно. До пре само неколико година, једини начин да се реше проблеми перформанси и габарита проблема од интереса за науку и индустрију, као што су прогноза времена и промене климе, симулација хемијских и нуклеарних процеса, генетика, електроника, планирање процеса производње, биоинжењерски проблеми итд, је била употреба тзв. супер-рачунара. Набавка и одржавање оваквих система је изузетно скупо и они су недоступни широком кругу корисника. Захваљујући одговарајућем технолошком развоју почетком деведесетих година прошлог века, појавио се нови феномен – тзв. Beowulf кластер. То је, практично, скуп одређеног броја “обичних” стоних рачунара повезаних ethernet мрежом и опремљених одговарајућим оперативним системом, дељеним фајл системом, компајлерима и библиотекама. Развој оваквих дистрибуираних система поспешила је и појава GNU Linux-а, бесплатног и отвореног оперативног система, који услед чињенице да је изворни код свих компоненти доступан, даје могућност да се понашање система подеси до најситнијих детаља, што је у случају овако захтевних задатака императив. Скалабилност овако конструисаних рачунарских система је свакако пуно боља од класичних супер-рачунара јер додавање нове компоненте из масовне и јефтине производње у систем, поред тога што је једноставно изводљиво, моментално пружа добитак у перформансама. Последњих година у индустрији полупроводника почели су да се назиру и неки нови трендови, пре свега проузроковани чињеницом да су уочени физичко-технички лимити за даље убрзавање тзв. серијских рачунара, чији су главни механизми деценијама били минијатуризација и повећање радног такта. Наиме, данас су већ у широкој употреби процесори са 2, 4 или више језгара, тј. независних процесорских јединица на једном интегралном колу, са тенденцијом даљег повећања овог броја, док се на серверске плоче већ дуго уграђује више независних једнојезгарних илли вишејезгарних процесора. Дакле, данас је чак и персонални рачунар постао нека врста паралелног рачунара са архитектуром дељене меморије (Слика 7.1). Овакав смер у коме се рачунарска индустрија креће је сасвим логичан избор, ако се размотре следећи параметри: 122 М. Ивановић Докторска дисертација • Брзина трансмисије - брзина серијског рачунара директно зависи од брзине којом се подаци “крећу” кроз хардвер. Апсолутни лимити су брзина светлости која износи око 30 cm/ns и трансмисиона граница бакарног проводника која износи 9 cm/s. • Границе минијатуризације - Тренутна технологија серијске производње CPU јединица (почетак 2009. године) је 32 нанометра. Ситнија технологија дозвољава више транзистора на једном интегралном колу. Међутим, чак и са неком будућом технологијоом код које су компоненте величине молекула или атома, физичка граница ће свакако једном бити досегнута. • Економска ограничења - Све је скупље убрзавати један једини процесор. Коришћењем већег броја стандардних процесора могу се постићи исте или чак боље перформансе, и то по знатно нижој цени. Уз развој осталих рачунарских компоненти као што су меморије, складишни капацитети, а посебно мрежни хардвер и дистрибуирани системи, сасвим је јасно да је паралелизам будућност рачунарства уопште. Слика 7.1. Упрошћена шема извршавања програма на (а) секвенцијалном (б) паралелном рачунару 123 М. Ивановић Докторска дисертација Међутим, како се то кроз рачунарску историју више пута потврдило, развој софтвера увек заостаје неколико година за тренутним стадијумом развитка хардвера. Ствари ни издалека не изгледају тако једноставне када се размотре прилази програмирању таквих паралелних система, били они супер-рачунари, кластер системи или чак обични мултијезгарни десктоп системи данашњице. Испоставља се да је паралелни софтвер чак за ред величине компликованији од секвенцијалног кода исте намене, нарочито ако се развија са подршком за архитектуре тзв. дистрибуиране меморије. 7.2 Врсте паралелних рачунара и различити приступи програмирању Већина модерних паралелних рачунара, према тзв. Флиновој таксономији [Quinn 2004] спада у категорију MIMD (Multiple Instruction Multiple Data), што значи да сваки процесор таквог рачунара извршава свој сопствени ток инструкција, и то на свом сопственом току података. При томе извршавање може да буде синхроно или асинхроно, детерминистичко или недетерминистичко (Слика 7.2). Изузетак од овог правила чине системи засновани на графичким процесорима опште намене (GPGPU), чији је паралелизам заснован искључиво на подацима, тј. извршењу исте инструкције над великим бројем блокова података. Слика 7.2. Шематски приказ MIMD класе паралелних система Међутим, најпознатија подела паралелних рачунара, која са собом носи и многе консеквенце од утицаја на начин програмирања, заснива се на меморијској архитектури. Актуелне су три врсте меморијске архитектуре: 124 М. Ивановић Докторска дисертација • Архитектура дељене меморије - заједничка особина оваквих система је да сви процесори у систему приступају целокупној меморији као глобалном адресном простору (Слика 7.3а). Промене у некој меморијској локацији учињене од стране једног процесора, аутоматски су видљиве другим процесорима у систему. Пример система дељене меморије је највећи број данас широко доступних SMP (Symmetric MultiProcessing) двојезгарних, тројезгарних или четворојезгарних система. Још једна од значајних карактеристика већине оваквих система је UMA (Uniform Memory Access - униформни меморијски приступ), што подразумева идентичне процесоре и идентично време приступа меморији. Насупрот томе, постоји и NUMA (Non-Uniform Memory Access - неуниформни меморијски приступ) када се физички повеже више SMP јединица и када сви процесори немају апсолутно исто време приступа свим меморијама, јер је меморијски приступ преко inter-SMP линка нешто спорији. Предности архитектуре дељене меморије је омогућавање једноставног приступа меморијским ресурсима програмеру, као и брзо и униформно дељење података међу процесима. Највећа мана архитектуре је недостатак скалабилности између меморије и процесора јер додавање процесора систему повећава саобраћај на магистали геометријском прогресијом. Такође се маном може сматрати одговорност програмера да извршава синхронизације како би приступ глобалној меморији остао “коректан”. • Архитектура дистрибуиране меморије - заједничка особина система заснованих на овој архитектури (Слика 7.3б) је захтев за постојањем комуникационе мреже како би се омогућио приступ интер-процесорској меморији. Сваки процесор има своју локалну меморију, тако да појам глобалног адресног простора губи смисао. Ако једном од процесора затреба податак из адресног простора другог, задатак је програмера да изведе комуникацију. Пример система дистрибуиране меморије су Beowulf кластери деведесетих година прошлог века. Предности ове архитектуре су скалабилност меморије у односу на број процесора (пропорционално расту), бржи приступ процесора својој сопственој меморији (нема потребе за одржањем кеш-кохеренције) и исплативост (стандардни процесори и мрежа). Највеће мане су апсолутна 125 М. Ивановић Докторска дисертација одговорност програмера за све детаље међупроцесне комуникације, NUMA време приступа и релативна тежина транзиције програма заснованих на глобалној меморији на дистрибуирану. • Хибридна архитектура - Највећи и најјачи рачунари данашњице изграђени су на овој архитектури која укршта добре (а и неке лоше) особине архитектуре дељене и дистрибуиране меморије (Слика 7.3б). Компонента дељене меморије је SMP машина, док је компонента дистрибуиране меморије мрежа између више таквих SMP-ова. Очекује се да у даљој будућности ова архитектура буде апсолутно доминантна. Слика 7.3. Меморијске архитектуре паралелних система. а) дељена меморија, б) дистрибуирана меморија, в) хибридна архитектура У складу са хардверском меморијском архитектуром система на коме дати софтвер треба да се извршава, бира се и програмски модел за развој. Тако се, аналогно хардверској класификацији може извршити и класификација паралелних програмских модела, и то поделом на: • Модел дељене меморије - Таскови (послови) деле заједнички адресни простор, који читају и пишу асинхроно. Различити механизми попут семафора се могу користити за контролу приступа дељеној меморији. Предност овог модела са 126 М. Ивановић Докторска дисертација програмерске тачке гледишта је заједничко власништво таскова над свим подацима, тако да нема потребе за комплексном разменом података. На платформама дељене меморије, сам компајлер преводи варијабле корисничког програма у реалне меморијске адресе, које су глобалне. Најпознатији модел је широко распрострањени модел нити, где сваки процес може имати вишреструке, конкурентне путеве извршавања (Слика 7.4а). Свака нит (Т1, Т2,...) поседује своје локалне податке, али такође приступа и ресурсима главног процеса a.out. Најпознатије стандардне имплементације су POSIX Threads (базиран на библиотеци pthreads) и OpenMP (Open Multi-Processing, базиран на компајлерским директивама). • Модел порука - Скуп процеса који користе своју сопствену меморију приликом извршавања. Више таскова може бити лоцирано на физички истој машини или више различитих машина (Слика 7.4б). Таскови међусобно комуницирају искључиво размењујући поруке. Трансфер података обично захтева извођење кооперативних операција од процеса учесника. На пример, свака send операција на процесу 1 мора имати одговарајућу receive операцију на процесу 2. Са програмерске тачке гледишта, имплементације модела порука су обичне библиотеке комуникационих рутина које се повезују са изворним кодом. Програмер је, дакле, одговоран за детерминисање целокупног паралелизма проблема. • Паралелизам података - Највећи део паралелног посла извршава се извођењем операција над шитоким скупом података. Подаци су обично организовани у једнодимензоне или вишедимензионе низове, при чему сваки процес оперише над својом порцијом података. Најпознатије имплементације су HPF (High Performance Fortran) и у новије време, разне GPGPU платформе, пупут nVidia CUDA (Compute Unified Device Architecture). 127 М. Ивановић Докторска дисертација Слика 7.4. Паралелни програмски модели. а) модел дељене меморије б) модел порука в) паралелизам података Осим што је сваки од ових програмских модела делимично одређен хардверском меморијском архитектуром, сваки од њих има и своју ширину домена примене. Рецимо, модел дељене меморије заснован на нитима може се користити искључиво на SMP машинама, док компликованији модел порука има далеко већи домен примене, тј. може се употребити како на машинама са дељеном меморијом, тако и на кластерима и супер- рачунарима. 128 М. Ивановић Докторска дисертација 7.3 MPI (Message Passing Interface) стандард Како самим избором програмског модела не би у старту ограничили скалабилност апликације, донета је одлука да SPH07 и поред значајно компликованије имплементације буде заснован на моделу размене порука, и то конкретно на некој од MPI (Message Passing Interface) имплементација. Разлог више за избор MPI је потпуна контрола паралелизма од стране програмера, потребна за постизање највећих перформанси, што се за неке друге методологије, као што је OpenMP не може рећи (код OpenMP типа паралелизације, асистира и сам компајлер). Као што се може видети у Табели 7.1, апсолутно све хардверске меморијске архитектуре се могу програмирати коришћењем модела дистрибуиране меморије и MPI стандарда. Са програмерске тачке гледишта, имплементације модела порука обично представљају неку библиотеку рутина чији се позиви уграђују у изворни код апликације. Са историјске тачке гледишта, велики број различитих варијанти библиотека за размену порука појавио се осамдесетих година прошлог века. Ове имплементације су се међусобно веома разликовале, тако да је било веома тешко развијати портабилне апликације. Међутим, 1992. године, формиран је MPI форум чији је основни задатак било доношење стандардног интерфејса за имплементације размене порука. Први део MPI стандарда издат је 1994. године, док је други део који третира и проблематику улаза и излаза паралелних апликација издат 1996. године [Quinn 2004]. MPI је данас de facto индустријски стандард, и протеклих година је полако заменио све раније имплементације у продукционим системима. Такође, све платформе за паралелно рачунарство поседују бар по једну MPI имплементацију, као и пуне MPI-2 имплементације (треба разликовати MPI као стандард од имплементација MPI интерфејса). Најпознатије MPI имплементације су: MPICH, LAM, OPEN-MPI, HP-MPI, итд, и све подржавају програмске језике Fortran 77/90 и C/C++. Приликом развоја програма SPH07, повезивање је извршено са MPI имплементацијом MPICH верзије 1.2.7p1, пошто није било потребе за употребом MPI-2 стандарда, тј. паралелног улаза/излаза и имплементација које га имплементирају. Повезивање идентичног изворног кода SPH07 се може обавити и са било којом другом MPI имплементацијом. 129 М. Ивановић Докторска дисертација Табела 7.1. Поређење дељене и дистрибуиране меморијске архитектуре Поређење дељене и дистрибуиране меморијске архитектуре Архитектура CC-UMA CC-NUMA Дистрибуирана Примери SMP-ови Sun Vexx DEC/Compaq SGI Challenge IBM POWER3 SGI Origin Sequent HP Exemplar DEC/Compaq IBM POWER4 (MCM) Cray T3E Maspar IBM SP2 Beowulf кластери Комуникација MPI Pthreads OpenMP shmem (MPI преко дељене меморије) MPI Pthreads OpenMP shmem (MPI преко дељене меморије) MPI Скалабилност до неколико десетина процесора до неколико стотина процесора хиљаде процесора Мане Брзина CPU-меморија магистрале Брзина CPU-меморија магистралеНеуниформно време приступа Системска администрација Програмирање компликовано у развоју и одржавању 7.4 Стратегија паралелизације Да би се уопште говорило о паралелизацији проблема, конкретан проблем треба разбити на дискретне делове посла који се могу дистрибуирати вишеструким тасковима (процесорима). Овај процес је познат под именом декомпозиција или партиционисање. Декомпозција се може обавити помоћу две врсте стратегија: • функционална декомпозиција - декомпонује се посао који треба обавити. На пример, код вишеструке примене филтера за обраду неког сигнала, сваки од филтера се додељује посебном процесу. • домен декомпозиција - декомпонује се скуп података који треба обрадити. Сваки паралелни процес ради над сопственом порцијом података. Примери стратегија домен декомпозиције у једној, две и три димензије дате су на Слици 7.5. 130 М. Ивановић Докторска дисертација (a) (б) Слика 7.5. (а) Стратегије домен декомпозиције у једној и две димензије. Различитим бојама означени су различити процеси. (б) Paeno-Hilbert крива која се у домен декомпозицији користи за мапирање 3Д простора на 1Д фракталну криву која испуњава цео домен Иако се оба приступа могу применити у SPH проблематици, број процеса у функционалној декомпозицији би био ограничен бројем операција које треба извршити (рачунање градијента деформације, једначине стања, убрзања честица и сл.). Други и већи проблем функционалне декомпозиције је што се већина операција не може обавити конкурентно, нпр. за рачунање напона у интеграционим тачкама потребно је да градијент деформације претходно буде потпуно одређен. Код домен декомпозиције оваквих ограничења нема и то је разлог што SPH07 функционише баш по овом принципу. Баш као што је то приказано на Слици 7.5а, у сваком временском кораку, а у складу са положајем SPH честица и граничним 131 М. Ивановић Докторска дисертација условима, одређује се домен проблема, који се, након тога, партиционише искључиво по једној од димензија. Ради једноставности у извођењу алгоритама, изабрано је да просторна димензија по којој се паралелизација врши буде X оса. У првој верзији софтвера, направљен је и покушај да се имплементира методологија дата у [Springel 2005], која се ослања на домен декомпозицију уз помоћ мапирања 3Д домена (коцке) на 1Д криву која испуњава цео домен, а позната је као Paeno-Hilbert крива. Једноставним партиционисањем ове криве и повратним мапирањем у три димензије добија се валидна домен декомпозција. Међутим, показало се да за проблеме од интереса за дисертацију, а то је динамика флуида у ограниченим и строго дефинисаним доменима са разноврсним граничним условима, овај приступ показује своје мане. Декомпозциија помоћу Паено-Хилбертове криве се веома успешно примењује код домена који просторно нису ограничени, што се углавном везује за појам моделирања астрофизичких феномена, али губи своје добре стране у случају било каквог компликованијег облика домена, тако да је, након почетних тестова утврђено да је боље применити једноставну и лако подесиву шему домен декомпозције приказану на Слици 7.5а. Дакле, на почетку сваког временског корака у SPH симулацији, одређује се просторни домен који активни/пасивни скуп SPH честица заузима, после чега се домен дели на поддомене као на четвртој шеми по реду на Слици 7.5а. Конкретно, у програмској имплементацији, сваки процес се иницијализује са укупним бројем SPH честица проблема, али се CommonParticle класи из које су изведене класе Particle и GhostParticle додаје Булов параметар активности честице у датом процесу, који одређује да ли је дати процес уопште задужен за рачунање физичких величина за ту честицу. На пример, ако је укупан број честица у проблему N, а број MPI процеса NCPU, сваки MPI процес ће бити задужен за рачунање физичких величина за приближно N/NCPU честица. На жалост, понекад није могуће домен проблема поделити тако да сваки од MPI процеса добије једнак број честица, па се значајно губи на балансу оптерећености процесора, о чему ће бити речи нешто касније. У сврху просторне (домен) декомпозиције по X оси, нису прављене никакве нове 132 М. Ивановић Докторска дисертација структуре разграничења, већ су искоришћене постојеће - грид који се користи за претрагу суседства честица, што се показало као добро решење. Наиме, тестирање сличног система обављено је приликом имплементације периодичних граничних услова (Одељак 5.3.3), где је на крајевима модела (Слика 5.6) додат по један ред ћелија грида за претрагу, при чему се у сваком временском кораку копирају честице са улаза на излаз и обрнуто, тако да се честице понашају као да се налазе унутар бесконачно дуге цеви. Корисна особина оваквог грида за претрагу је, из Поглавља 5.4, особина да честица може да интерагује искључиво са SPH честицама које се налазе унутар сопствене ћелије грида, или унутар суседних ћелија. Ова чињеница чини паралелизацију једноставнијом, а међупроцесну комуникацију мање интензивном, што и јесте циљ сваког подухвата паралелизације. На Слици 7.6, на дводимензионом примеру, шематски је приказан систем комуникације између два суседна MPI процеса. На слици су бројевима обележени региони целокупног домена расподељени различитим процесима, као и део грида за претрагу означен зеленом мрежом. Ако се уочи процес означен редним бројем “2”, унутар грида за претрагу могу се издвојити две врсте ћелија (ћелије су обично ширине 2h). На прорачун физичких величина свих честица у ћелијама означеним плавом бојом утичу само честице које се налазе унутар сопственог процеса, тј. процеса под редним бројем “2”. Насупрот томе, на вредности величина за честице унутар ћелија означених црвеном бојом, утичу како честице из сопственог процеса, тако и честице из суседног процеса, тј. процеса “1” и процеса “3”. 133 М. Ивановић Докторска дисертација Слика 7.6. Шема комуникације између суседних MPI процеса у софтверском пакету SPH07 Дакле, да би се правилно израчунале вредности величина за честице из црвене зоне процеса “2”, потребно је да тај процес “зна” шта се дешава унутар првих суседних колона грида чији су власници процеси “1” и “3”. Како MPI парадигма налаже да процеси могу комуницирати искључиво преко порука, овај циљ се постиже слањем свих честица које се налазе у крајњој левој и десној колони у гриду процеса “2” процесима “1” и “3” респективно. Наравно, процеси “1” и “3” обављају кореспондентну операцију, при чему је процес “2” задужен да на одговарајући начин интерпретира поруке које добија од суседних таскова, и величине које добије од њих правилно распореди по својим структурама. У класи Particle дефинисана су два Булова индикатора под називима active и fromOtherProc, при чему први одређује да ли честица у том процесу учествује на било који начин, а други да ли је дату честицу процес добио од суседног процеса ради допуне суседства. На основу ових индикатора, одређује се какву улогу дата честица има у датом процесу. Оваква размена података обавља се пре свих осталих израчунавања, као што су брзина деформације, напон и других, и то у сваком временском кораку при експлицитној интеграцији. Свака мрежна комуникација, па и оне MPI типа заснивају се на устаљеним или ad- 134 М. Ивановић Докторска дисертација hoc протоколима нижег или вишег нивоа. Сам MPI стандард се у литератури често третира као “асемблер” за интерпроцесне комуникације, што практично значи да се, ослањајући се на њега, у софтверу граде компликованији протоколи засновани на претпоставкама које зависе од конкретне примене. SPH07 по овом питању није изузетак. Позитивна чињеница при имплементацији протокола вишег нивоа је што је у протоколима нижег нивоа имплементирано све оно што мрежно програмирање може учинити заморним, као што је, на пример, контрола комуникационих грешака. Оквир уобичајене поруке коју “разуме” и страна која шаље и страна која прима, приказан је на Слици 7.7а, где један оквир одговара једној SPH честици чији трансфер треба да се изврши, а петља за слање итерише по честицама свих ћелија које припадају домену интерпроцесног интерфејса, означеном црвеном бојом на Слици 7.6. Ово је уједно и најкомпликованији и најскупљи вид комуникације која се обавља међу процесима, јер се ради о замашној количини података у свакој итерацији проблема. Међутим, ту су и још два важна дела комуникације која уместо 1-1 (један пошиљалац - један прималац) форме имају колективну форму. Наиме, само један процес је задужен за комуникацију са корисником, тј. за читање улазног фајла и испис резултата на излаз. У SPH07, као и у већини MPI програма, то је процес нултог ранга. Дакле, након покретања свих MPI процеса и ишчитавања улаза од стране нултог процеса, он све учитане податке релевантне за даљи ток прорачуна емитује свим осталим покренутим процесима, као што је приказано на Слици 7.7б. Насупрот томе, уколико је у току прорачуна испуњен услов за излаз резултата, тј. прошло је прописано време од претходног исписа, сви процеси дужни су да нултом процесу пошаљу податке о SPH честицама које се налазе у њиховом домену. Нулти процес тада врши испис резултата у фајлове по одређеном формату, као на Слици 7.7в. 135 М. Ивановић Докторска дисертација Слика 7.7. (а) Шема протокола интерпроцесне комуникације за размену атрибута честица (б) Операција емисије учитаних података свим процесима (в) Операција здруживања при испису резултата На овом месту у описном смислу треба поменути још једну карактеристичну операцију, која се у MPI програмима често може видети, а у SPH07 има смисла при рачунању физичких или нумеричких величина које се детерминишу на основу карактеристика честица у целокупном домену прорачуна, као што је критични временски корак. По основу једначина (5.3)-(5.5), очигледно је да, у општем случају, свака честица има своју сопствену вредност дилатационог параметра h и/или убрзања, тако да се процедура своди на рачунање критичног временског корака за сваку честицу, а затим врши проглашавање минималне вредности критичног временског корака за следећу вредност  t . Међутим, нулти процес “не зна” израчунате вредности критичног временског корака асоциране честицама које су у нултом процесу неактивне. За овакве циљеве се у MPI програмима најчешће примењује комбинација редукције и емисије (broadcast), при чему се прво изабере минимални од свих критичних временских корака појединачних процеса (тј. честица које се у њима активне), а затим се тако израчуната вредност са нултог процеса дистрибуира свим осталим процесима. Операција редукције на минимум приказана је на Слици 7.8а, а код који SPH07 користи за описану операцију је: real minimum_timestep; MPI_Reduce(&critts,&minimum_timestep,1,MPI_DOUBLE,MPI_MIN,ROOT,MPI_COMM_WORLD); MPI_Bcast(&minimum_timestep,1,MPI_DOUBLE,ROOT,MPI_COMM_WORLD); critts = minimum_timestep; 136 М. Ивановић Докторска дисертација (в) Слика 7.8. Операције редукције на (а) минимум и (б) суму вектора у MPI (в) круто тело на граници између процеса Друга врста редукције која је нашла примену у SPH07 коду је редукција на суму и то у векторском облику, као на Слици 7.8б. Сегмент софтвера који користи ову врсту операције је класа која се бави описом кретања крутог тела у пољу флуида. Из једначина (4.43) и (4.44) које описују линеарно и угаоно убрзање крутог тела могу се извести једначине које се користе у присуству паралелизације дефинисане преко домен декомпозиције: M dV dt =∑ proc Fproc (7.1) и I d dt =∑ proc  proc (7.2) где је V брзина центра масе, M укупна маса, I момент инерције,  угаона брзина, Fproc и  proc сила и момент силе који делују на круто тело у процесу са редним бројем proc. Дакле, у ситуацијама као на Слици 7.8в, које могу бити веома фреквентне у динамичкој 137 М. Ивановић Докторска дисертација анализи, ни процес 2 ни процес 3 немају све потребне податке за израчунавање линеарног и угаоног убрзања. Међутим, на основу једначина (7.1) и (7.2) израчунавају се парцијални доприноси, које после треба само сумирати на нултом процесу и емитовати добијене вредности осталим процесима учесницима, како би и они имали ажурне податке о линеарном и угаоном убрзању крутог тела. То се постиже следећим кодом: RealVector totalA, totalALPHA; MPI_Reduce(A.data(),totalA.data(),3,MPI_DOUBLE,MPI_SUM,ROOT,MPI_COMM_WORLD); MPI_Bcast(totalA.data(),3,MPI_DOUBLE,ROOT,MPI_COMM_WORLD); MPI_Reduce(ALPHA.data(),totalALPHA.data(),3,MPI_DOUBLE,MPI_SUM,ROOT,MPI_COMM_WORLD); MPI_Bcast(totalALPHA.data(),3,MPI_DOUBLE,ROOT,MPI_COMM_WORLD); 7.5 Фактори интерпроцесних комуникација Постоји широка класа проблема који се могу паралелизовати без увођења икаквих интерпроцесних комуникација. На пример, неке једноставне операције са битмапама, као што је инверзија или већина параметраских анализа у било којој области могу се декомпоновати на потпуно независне процесе, тако да је је паралелни програмски модел веома једноставан. На жалост, нумеричке симулације коришћењем SPH и других честичних метода, као што се из претходног одељка види, не могу се подвести под ову групу, и то због значајних и учесталих интерпроцесних комуникација, како емисионог, збирајућег, тако и један-на-један каракера. У тексту који следи биће размотрени фактори везани за комуникације, који имају значајан утицај на перформансе пакета SPH07. 7.5.1 Цена интерпроцесне комуникације Узевши у обзир чињеницу да интерпроцесна комуникација може бити и обично јесте уско грло код архитектура дистрибуиране меморије, јасно је да целокупну комуникацију треба свести на најмању могућу меру, како по количини пренетих података, тако и по фреквенцији позива. Генерално гледано, свака комуникација уводи додатно кашњење, а ресурси који се могу искористити за корисно рачунање, користе се за паковање и трансфер података. 138 М. Ивановић Докторска дисертација Код многих MPI програма, убрајајући ту и SPH07 се, као што је већ речено, врши синхронизација процеса на почетку сваког временског корака и програм не може даље док се она не изврши. Проблем који може настати је да у процесу синхронизације неки од процеса чекају уместо да раде неки користан посао. У SPH07 непожељни ефекти синхронизације на перформансе могу се умањити равномерном домен декомпозицијом, тј. идеално би било да сваки процес буде одговоран за исти број активних SPH честица. Показало се да је то доста лакше учинити у основној класи проблема од интереса за дисертацију, а то је динамика флуида са ниским карактеристичним Рејнолдсовим бројем у микроканалу где је цео домен испуњен SPH честицама. Далеко је теже остварити равномерну оптерећеност процеса код проблема нестишљивих флуида са високим карактеристичним Рејнолдсовим бројем, као и код стишљивих флуида, јер се овде облик домена углавном значајно мења током саме симулације. Такође, при коришћењу треба водити рачуна да се у SPH07 домен декомпозиција подразумевано врши по X координати, тако да, у циљу постизања бољих перформанси, модел треба поставити тако да су интерфејси између процеса што мањих димензија (линија у 2Д, а површ у 3Д). На Слици 7.9 приказан је утицај обртања X и Y оса на перформансе SPH07 у зависности од броја процесора, и то на 2Д проблему у коме је домен облика правоугаоника хомогено испуњен честицама, а однос страница 4:1. 139 М. Ивановић Докторска дисертација (в) 1 2 3 4 6 0 10 20 30 40 50 60 70 80 90 100 Оборена цев Усправна цев Број процеса Вр ем е SP H а на ли зе [s ] Слика 7.9. Домен декомпозиција правоугаоног домена; (а) неефикасно (б) ефикасно (в) утицај на перформансе 140 М. Ивановић Докторска дисертација 7.5.2 Латенција и брзина протока По дефиницији, латенција је време које је потребно да би се послала минимална порука (0 бајтова) са процеса А на процес Б, која се обично изражава у микросекундама. Брзина протока је количина пренетих података у јединици времена и обично се изражава јединицама као што је 1 Gb/s. Логично је да слање више малих порука узрокује да латенција почиње да доминира у домену комуникационог overheаd- a, што свакако неповољно утиче на перформансе. Зато се прибегава паковању мањих порука у веће, наравно, уколико је то могуће, како би се перформансе довеле на виши ниво. Међутим, зависно од конкретне MPI имплементације, порука има ограничење у дужини. Конкретно, код MPICH имплементације коришћене за тестирање SPH07, узевши у обзир да се целокупни саобраћај обавља посредством типа MPI_DOUBLE, као највећа дужина поруке узета је вредност од 8192 * sizeof(MPI_DOUBLE).  Треба напоменути да је, ради једноставније организације кода SPH07, прва паралелна верзија програма сав саобраћај обављала преко појединачних MPI порука. Наиме, уколико је требало ископирати атрибуте било које честице из процеса M у процес N, то се чинило једном MPI Send/Receive комбинацијом. После прелиминарних тестова, утврђено је да било какав озбиљан MPI програм једноставно мора имплементирати рутину за паковање MPI порука, што је и учињено, тако да садашња платформа омогућава да се било који низ података намењен за слање суседном или нултом процесу може декомпоновати на одговарајући број порука произвољне дужине. Колико је ова промена утицала на перформансе програма, очигледно је са дијаграма на Слици 7.10. Тест проблем је садржао око 2000 честица, а укупан број MPI процеса је константан и износи 4. Како би се редуковао фактор брзине мрежног протока (који ће накнадно бити размотрен), тестирање је обављено на једном једином рачунару са четворојезгарним процесором. 141 М. Ивановић Докторска дисертација Слика 7.10. Зависност трајања SPH анализе од дужине MPI поруке Са слике се такође види да од неке тачке даље повећање дужине поруке не умањује значајно време калкулације у значајној мери. Такође је очигледна и чињеница да додатни посао комуникације који не постоји у секвенцијалном програму, може бити веома захтеван, чак иако се целокупна комуникација обавља унутар једне једине рачунарске јединице, без било каквих мрежних интерфејса. Поставља се питање одакле толика временска задршка, када се у пракси преко порука размени иста количина информација, само је број делова већи или мањи. Одговор лежи на Слици 7.11 која функционалним дијаграмом ниског нивоа описује најједноставнији програм типа “Здраво свете” имплементиран преко MPICH имплементације. Већина функција на дијаграму потиче из комуникационих библиотека. 142 М. Ивановић Докторска дисертација Слика 7.11. Пример цене комуникација у паралелизацији. Горе десно је дат изворни код једноставног програма, а доле функционални дијаграм позива ниског нивоа Са друге стране, поред деградације перформанси везаних за појаву латенције услед великог броја порука, као што је већ поменуто, битан фактор који утиче на понашање било ког паралелног програма, па и SPH07, је и пропусна моћ мрежног интерфејса. Први императив је већ наглашено смањивање интерпроцесне комуникације колико је год то могуће, другим речима, процесе треба учинити што независнијим. На Слици 7.12 дате су перформансе четоворопроцесорског извршења SPH07 при различитим комбинацијама бројева процесора по хосту. Услови за тестирање су слични као у претходном тесту, осим што је сада у сврху тестирања додато још три идентична четворојезгарна хоста повезана гигабитном ethernet мрежом, чиме је задовољна једнообразност хостова, што је један од принципа градње кластер система. Прво што се примећује на Слици 7.12 су релативно мале варијације времена за стандардну дужину MPI поруке од 200*sizeof(MPI_DOUBLE), чак доста мање од очекиваних, што указује на задовољавајућу декомпозицију самог проблема и ефикасно паковање MPI порука. Насупрот томе, да би се симулирало понашање прве паралелне верзије програма која није поседовала рутину за паковање, дужина појединачне поруке је сведена на 20*sizeof(MPI_DOUBLE). Показује се да перформансе система у оваквој поставци 143 М. Ивановић Докторска дисертација (црвена боја на дијаграму) значајно зависе од комбинације броја процесора по хосту, тј. укупног хардверско/софтверског окружења, што свакако није пожељно. 4+0 3+1 2+2 2+1+1 1+1+1+1 0 20 40 60 80 100 120 Дужина поруке 200*MPI_DOUBLE Дужина поруке 20*MPI_DOUBLE Комбинација број процесора/хост Вр ем е SP H ан ал из е [s ] Слика 7.12. Зависност времена SPH анализе код проблема фине гранулације од комбинације број процесора/хост. На пример, “3+1” означава да се три процеса извршавају на једном хосту, а један на другом Још једна опсервација са дијаграма на Слици 7.12 је уочљив утицај асиметрије расподеле процесора по хостовима на пад перформанси система. Наиме, комбинација “2+2” је нешто ефикаснија од комбинације “3+1” и тај тренд је присутан код обе тестиране дужине појединачне поруке. Услед техничких ограничења, није било могуће спустити брзине мрежних интерфејса на 100Mbps како би се тестирала и та врста зависности. Перформансе дате на Слици 7.12 односе се на релативно мали пример SPH модела са око 2000 честица које су иницијално постављене у правоугаони грид. Међутим, када се говори о практично применљивијим примерима са више десетина хиљада честица, функционална зависност времена извршења SPH07 анализе од броја процесора по хосту се драстично мења, и то у потпуно супротном смеру. Наиме, у примеру на Слици 7.12, због релативно малог броја SPH честица које у калкулацији учествују, тзв. гранулација паралелног софтвера, која се дефинише као квалитативни временски однос рачунања и комуникације, има ниску вредност, која се у терминологији паралелног програмирања назива и фином гранулацијом. То 144 М. Ивановић Докторска дисертација практично значи да се, између периода рачунања, често одигравају и синхронизујуће интерпроцесне комуникације, што је шематски приказано на Слици 7.13а. Условно речено, комуникациони хардвер је у овом случају оптерећенији него процесор и радна меморија рачунара. Насупрот финој гранулацији, налази се тзв. груба гранулација, која се у SPH07 софтверу једноставно постиже повећањем броја SPH честица које учествују у анализи, тиме повећавајући периоде у којима се врши рачунање, што је дато на Слици 7.13б. У случају грубе гранулације, процесор и меморија рачунара су оптерећенији него комуникациони хардвер, што и јесте циљ, јер је свака комуникација додатни терет који треба минимизирати, како би се унапредиле перформансе. Међутим, и са тиме треба бити опрезан, јер код прегрубе гранулације може доћи до ситуације да неки од процеса чекају без додељеног посла. Слика 7.13. Гранулација паралелног софтвера. (а) фина, (б) груба Одговор како се по питању перформанси понаша проблем за који је карактеристична груба гранулација као последица већег броја SPH честица, биће дат у тексту који следи. Нека је дужина MPI поруке фиксирана на максималну вредност, а то је у конкретној имплементацији 8192*sizeof(MPI_DOUBLE), и нека у проблему учествује приближно десет пута више честица него у претходном случају тј. укупно 20450, такође распоређених по правоугаоном гриду. Тада је зависност времена SPH анализе од броја процесора по хосту приказана на Слици 7.14. 145 М. Ивановић Докторска дисертација 4+0 3+1 2+2 2+1+1 1+1+1+1 0 50 100 150 200 250 Комбинација број процесора/хост Вр ем е SP H ан ал из е [s ] Слика 7.14. Зависност времена SPH анализе код проблема грубе гранулације од комбинације број процесора/хост. На пример, “3+1” означава да се три процеса извршавају на једном хосту, а један на другом Имајући у виду резултате са Слике 7.12, и то оне који се односе на већу дужину MPI поруке, може се приметити да је тренд приказан Сликом 7.14 потпуно супротан. Дакле, проблеми са ова два дијаграма се разликују искључиво у укупном броју SPH честица (за ред величине). Зашто је тренд супротан? Одговор лежи у комбинацији два фактора, а то су тип гранулације и хардверска архитектура хибридног SMP/дистрибуираног система на коме се прорачун извршава. Као што је већ напоменуто, код фине гранулације се комуникација одиграва релативно често, па њен пропусни опсег и латенција имају велики утицај на перформансе, што се потврђује на Слици 7.12. Интерпроцесна комуникацја се свакако одиграва ефикасније и брже ако се процеси налазе на истом хосту (рачунару), него ако комуницирају коришћењем мрежних интерфејса, тј. налазе се на различитим хостовима. Супротан тренд код грубе гранулације настаје услед чињенице да код оваквих проблема паралелни процеси много више рачунају него што међусобно комуницирају, па тиме брзина комуникације постаје мање значајан фактор од процесорске снаге. Зашто се онда анализа извршава значајно спорије када се процеси налазе на истом хосту него када се налазе на различитим хостовима? Одговор је врло једноставан ако се “завири” у хардверску архитектуру на којој је тест извршен, описану на почетку одељка. Наиме, иако се на сваком од хостова налази четворојезгарна процесорска јединица, сви остали делови на датом рачунару су заједнички, укључујући ту 146 М. Ивановић Докторска дисертација магистралу, меморију, мрежни интерфејс, итд. Како је пропусна моћ магистрале и меморије ограничена, логично је да ће се, и поред интелигентних алгоритама за кеширање, појединачни процес извршавати спорије у друштву једног, два или три процеса на датом хосту него када се на том хосту извршава само он. Ова чињеница посебно долази до изражаја у случају интензивних меморијских операција, какве су код софтвера за нумеричко моделирање веома честе. Из изложеног следи да, уколико се желе оптималне перформансе паралелног кода, није довољно само извршавање на што савременијем хардверу и на што већем броју процесора. Да би се у потпуности искористили ресурси који су на располагању, потребно је најпре анализирати SPH проблем који се решава са становишта гранулације, а затим извршити и пробно тестирање перформанси (нпр. са мањим бројем временских итерација) како би се дошло до оптималне комбинације хардверских ресурса који ће бити употребљени за конкретну SPH анализу. 7.5.3 Синхрона и асинхрона комуникација Синхроне комуникације захтевају неку врсту “руковања” између таскова који деле податке. То може бити учињено експлицитно у коду од стране програмера или се може дешавати на нижем нивоу скривеном од програмера. Оно што је значајно са становишта перформанси је да се сихроне комуникације обично реферишу као “блокирајуће”, тј. програм стаје док се комуникација у потпуности не одигра. Асинхроне или “неблокирајуће” комуникације дозвољавају процесима (тасковима) да врше трансфер података независно један од другог. Рецимо, процес М спакује, припреми и пошаље податке процесу N и одмах након тога наставља са радом, без чекања на извештај о пријему. Преимућство асинхроне комуникације је могуће преплитање корисног рачунања и комуникације у дијаграму тока. Иако је могуће спровести асинхрону комуникацију у честичној симулацији SPH типа, проблематика која се третира ипак има строго дефинисане тачке у којима се комуникација одиграва (између временских итерација), а подаци који се у процесима појављују као резултат комуникације (атрибути честица) су потребни за спровођење 147 М. Ивановић Докторска дисертација првог следећег корака после корака комуникације, а то је израчунавање SPH величина у наредној временској итерацији. Укратко, асинхроном комуникацијом се ништа не би добило, а код би се додатно закомпликовао. Зато су све комуникације у SPH07, биле оне процес-процес или колективног типа, синхроне. 7.6 Тестирање перформанси паралелног система У претходним одељцима размотрени су разни аспекти паралелног програмирања који утичу на перформансе добијеног система. Претходно наведени примери су пројектовани тако да нагласе утицај појединих фактора на ефикасност паралелног извршавања симулације, а не постоје у секвенцијалним алгоритмима. За крај ове главе је остављена детаљнија анализа ефикасности овако имплементираног паралелног програма, али на реалним примерима динамике флуида који су од интереса за ову дисертацију и који су се појављивали током њене израде. Оваква анализа је од највећег интереса у смислу демонстрације преимућстава на пољу перформанси које се могу добити употребом паралелног кода у честичном моделирању уопште, али и ограничења која и паралелни систем који се извршава на конкретном хардверу свакако поседује. Дакле, овај одељак би требало да да одговор на питање: “Колико је паралелни мод програма SPH07 бржи од секвенцијалног?”. На почетку одељка неколико речи о хардверско/софтверској платформи на којој је тестирање вршено. Први императив приликом избора платформе за тестирање перформанси био је да се мерење изврши на релативно савременом хардверу (прва половина 2009-те године), али по принципима на којима се гради тзв. Beowulf тип кластера, какви се често могу наћи у научно-образовним институцијама у земљи и у региону. То је, практично, кластер рачунар састављен од компоненти које се могу наћи у широкој потрошњи, почев од процесора, меморије, па све до комуникационог хардвера. Дакле, свака од 10 рачунарских јединица у кластеру заснована је на следећим компонентама: • процесор Intel Core2Quad Q6600, 2.4GHz, 6MB кеша • 8GB DDR2-800 меморије 148 М. Ивановић Докторска дисертација • S-ATA HDD 80GB 7200rpm • мрежни интерфејс брзине 1Gbps, латенција 100μs Сви чворови имају заједнички фајл систем имплементиран преко NFS (Network File System) сервиса који се физички налази на серверу са 6 (шест) SCSI 15000rpm дискова у RAID0 моду, што донекле смањује утицај успорења везног за улазно/излазне операције које су у паралелном софтверу чест фактор деградације перформанси јер се у већини случајева извршавају секвенцијално. О избору софтверске платформе је већ било речи у Глави 6, ради се о Red Hat Enterprise Linux-у верзије 5.4 на x86_64 архитектури, у комбинацији са GNU g++ компајлером верзије 4.2. Вреди напоменути да се овакав систем, са становишта меморијске архитектуре, може сврстати у хибридне системе (Слика 7.3в), какви се данас најчешће и срећу, и то у целом опсегу платформи од мини кластера до супер-рачунара. Други корак у тестирању перформанси је избор репрезентативних категорија проблема са којима се корисник пакета SPH07 сусреће. Први значајан параметар је облик домена у коме се честице налазе, јер ће од домен декомпоновања зависити ефикасност SPH анализе у паралелном моду и искоришћеност појединачних процесора (идеално, али у пракси недостижно би било да су сви процесори заузети 100% током укупног времена динамичке анализе). Други значајан параметар је динамика облика домена, тј. чињеница да ли се облик целокупног домена уопште мења. Неки од примера динамичке промене облика домена су проблеми флуида са слободном површином. Имајући наведене факторе у виду, изабрани су следећи физички проблеми: 1. 2Д струјање флуида између две паралелне плоче, тзв. Poisseuille струјање. Овај пример је близу идеалног за паралелизацију, јер је просторни домен правилан и константан. Број SPH честица износи 10251, а распоређене су по правоугаоном гриду константе h, чији је однос дужине и ширине 4:1 (Слика 7.15а). 2. 3Д струјање флуида у правој цеви кружног попречног пресека. Такође повољан проблем за паралелизацију, али са нешто већим саобраћајем између процеса, јер су међупроцесни интерфејси сада у форми површи, а не линије као 149 М. Ивановић Докторска дисертација у 2Д. Укупан број честица износи 43005, а распоређене су по 3Д кубном гриду константе h (по све три димензије), при чему су честице које не припадају цилиндру одстрањене. Однос висине и пречника је 2.14:1 (Слика 7.15б). 3. 2Д струјање између два коаксијална цилиндра. Облик домена се не мења, али није равномеран, тј. у процесу домен декомпозиције не добијају сви процеси подједнак број SPH честица. Укупан број честица износи 9044, а иницијално су распоређене по квадратном гриду константе h (по обе димензије), при чему су честице које не припадају домену између цилиндара одстрањене. Однос радијуса спољашњег цилиндра према радијусу унутрашњег цилиндра износи 5:1 (Слика 7.15в). 4. 2Д пример рушења бране. За разлику од претходних модела чији су облици домена константни у току времена (само се честице крећу), овај пример укључује и слободну површину, па су, према томе, оба фактора (облик и динамика облика домена) неповољна за паралелизацију. Број честица у овом проблему је 2868, а иницијално су распоређене по квадратном гриду константе h, док су репулзивне границе моделиране по узору на Монаганов приступ [Monaghan&Kos 1999], како је то описано у Одељку 5.3.1 (Слика 7.15г). Што се осталих физичких и нумеричких параметара тиче (нпр. гранични услови, густина, маса, материјални модел, ...), они овде намерно нису наведени јер не утичу значајно (или чак уопште) на вредност величине која је у овој глави од највећег интереса - перформансе изражене у укупном времену SPH анализе. Величине које су варијабилне у овом тесту перформанси су, пре свега, број процесора и број процесора по хосту. Због ограничења које налаже конкретна опрема на којој се тестови изводе, као и из разлога наведених у Одељку 7.5.2, број процесора по хосту се узима из скупа {1,2,4}. Радијус кернел подршке у свим примерима износи 2х, тако да број најближих суседа варира од 20-30 код 2Д примера код којих је цео просторни домен испуњен честицама. На Слици 7.15 дат је шематски приказ иницијалног распореда честица и домен декомпозиције за сваки од наведена четири примера. 150 М. Ивановић Докторска дисертација (а) (б) (в) (г) Слика 7.15. Домен декомпозиција у различитим реалним примерима. (а) 2Д струјање флуида између две паралелне плоче, (б) 3Д струјање флуида у правој цеви кружног попречног пресека, (в) 2Д струјање између два коаксијална цилиндра, (г) 2Д пример колапса бране Имајући у виду приказане просторне распореде, уочљива је нехомогеност, а тиме и варијабилна подложност паралелизацији, као што је то већ напоменуто. Та, условно названа, “подложност паралелизацији” за коју се зна да је директно пропорционална уређености распореда SPH честица у домену, је величина која такође поседује временску еволуцију, што је посебно уочљиво на Слици 7.15г. Узрок томе је што се на почетку сваког временског корака наново врши домен декомпозиција, тј. асоцирање честица процесима у предвиђеном својству. У првом нацрту материјала дисертације, није планирано посебно помињање зависности брзине паралелне SPH анализе од броја процесора по хосту јер се није очекивала тако јака зависност перформаси од овог фактора. Међутим, сви резултати добијени у Одељку 7.5.2 императивно указују да број процесора по хосту мора бити узет као променљива. 151 М. Ивановић Докторска дисертација (а) 1 2 4 8 12 16 0 50 100 150 200 250 300 350 400 4 процесора/хост 2 процесора/хост 1 процесор/хост Укупан број процесора Вр ем е SP H ан ал из е [s ] (б) 1 2 4 8 12 16 0 50 100 150 200 250 300 350 4 процесора/хост 2 процесора/хост 1 процесор/хост Укупан број процесора Вр ем е SP H ан ал из е [s ] (в) 1 2 4 8 12 16 0 20 40 60 80 100 120 140 160 180 200 4 процесора/хост 2 процесора/хост 1 процесор/хост Укупан број процесора Вр ем е SP H ан ал из е [s ] Слика 7.16 а,б,в. Резултати тестова паралелног мода програмског пакета SPH07 на различитим реалним примерима. а) 2Д струјање флуида између две паралелне плоче, б) 3Д струјање флуида у правој цеви кружног попречног пресека, ц) 2Д струјање између два коаксијална цилиндра 152 М. Ивановић Докторска дисертација (г) 1 2 4 8 12 0 50 100 150 200 250 300 350 400 4 процесора/хост 2 процесора/хост 1 процесор/хост Укупан број процесора Вр ем е SP H ан ал из е [s ] Слика 7.16г. Резултати тестова паралелног мода програмског пакета SPH07 на различитим реалним примерима. 2Д пример колапса бране Ево и неколико општих и детаљнијих запажања везаних за добијене резултате, као и могуће консеквенце: 1. Први закључак који се намеће са свих дијаграма на Слици 7.16 је значајан напредак перформанси паралелног система у односу на секвенцијални, што оправдава како напоре уложене у његов развој, тако и за ред величине повећану комплексност кода у односу на секвенцијални SPH07 код. 2. Генерално може да се каже да је постигнуто убрзање вишеструко и да је најочигледније код проблема код којих је изражена хомогеност концентрације SPH честица у просторном домену. 3. Евидентна је зависност времена SPH анализе од броја процесора по хосту, и то управо онако како је то предвиђено у претходној дискусији, тј. проблеми у којима учествује већи број честица (7.16а, 7.16б, 7.16в) се ефикасније извршавају када је број процесора по хосту мањи, док је код проблема са мањим бројем честица (7.16г) обрнуто. 4. Такође се примећује да сваки посматрани проблем извршаван на конкретној хардверско/софтверској паралелној платформи долази до неке тачке засићења када се говори о броју процесора. Наиме, долази се до границе када додавање процесора престаје да утиче на перформансе, или се оне даљим додавањем 153 М. Ивановић Докторска дисертација таскова чак смањују. Такође се примећује да код примера у којима учествује већи број честица ова граница расте, док се код овде наведених проблема та граница креће између 12 и 16 процесора. 5. Ако се упореде графици 7.16а и 7.16б, примећују се приближно исти трендови зависности времена анализе од укупног броја процесора и броја процесора по хосту. Такође је приметна врло блага зависност од димензионалности проблема (7.16а и 7.16б су слични примери у две и три димензије респективно). Дакле, иако су подаци које процеси размењују у великој мери обимнији у 3Д случају јер су међупроцесни интерфејси површи, а не линије као у 2Д, то не утиче значајно на брзину анализе, што даље указује на задовољвајућу декомпозицију проблема, тј. постигнут је циљ да паралелни процеси више рачунају а мање међусобно комуницирају. 6. Тренд посматране зависности на Слици 7.16в у великој мери је сличан претходним трендовима, али са врло благим падом перформанси на свим нивоима услед неједнаке попуњености простора SPH честицама, што резултује неједнаким искоришћењем процесора. Последица је да поједини процеси због мањег додељеног обима посла чекају остале, остајући у том стању до прве синхронизације. Која је мера дисбаланса у проблему коаксијалних цилиндара, може се наслутити са Слике 7.17 где су црвеном бојом означене активне честице у процесима са редним бројевима 0 и 1 у четворопроцесорском извршењу, као и из податка да је у процесу 0 у првом временском кораку активно 2023 честице, док је у процесу са редним бројем 1 број активних честица 2834. Складно томе, док је заузеће процеса 1 током прорачуна око 98%, заузеће процеса 0 се креће у интервалу 85-90%. 7. Што се тиче проблема колапсирајуће бране, дијаграм показује веома различито понашање у односу на све претходне примере. Анализа доводи до два разлога за овакво понашање паралелног система. Први разлог је динамичко понашање граница домена због присуства слободне површине, док је други разлог тривијалнији - далеко мањи број честица које учествују у примеру. Због стално 154 М. Ивановић Докторска дисертација варијабилног броја активних честица у MPI процесима, индикативна је нешто мања “паралелизабилност” у односу на све претходне примере. Такође, услед релативно малог укупног броја честица, анализа се брже извршава када је број процесора по хосту већи. Заузетост појединих процесора у поједином тренуцима током SPH анализе пада и до 50%, што је са становишта искоришћености ресурса убедљиво најлошији резултат. Слика 7.17. Активне честице у MPI процесима код четворопроцесорског извршења (а) rang=0, (б) rang=1. Активне честице у датом процесу су означене црвеном бојом, а пасивне плавом. 155 М. Ивановић Докторска дисертација 7.7 Закључак Све у свему, показује се да је, поредећи убрзања паралелног мода SPH07 са неким другим софтверским пакетима из области нумеричког моделирања флуида који имплементирају неке друге (углавном мрежне) методе, SPH07 релативно добро оптимизован програм, како у секвенцијалном, тако и у паралелном моду. Како је примарна намена овог софтвера моделирање микрофлуида и биофлуида, где се ретко јавља слободна површина због које долази до дисбаланса оптерећења и умањења паралелних перформанси, нормално је закључити да је паралелно окружење природно и да треба искористити све његове предности, наравно, уз претходну анализу проблема и ресурса, како би се време потребно за прорачун уистину минимизовало. 156 М. Ивановић Докторска дисертација 8 Резултати и анализа 8.1 Увод У овој глави биће презентовани резултати добијени коришћењем SPH методе у нумеричком моделирању динамике флуида. Поље које ће се разматрати је релативно широко, а следи из материјала који је разматран у оквиру глава 4 и 5, почевши од једнодимензионог проблема стишљивог флуида у форми шок цеви, преко дводимензионих и тродимензионих тестних проблема динамике нестишљивог флуида, па све до примера са слободном површином и кретањем крутог тела у пољу флуида. Сви резултати који ће бити разматрани у овој глави добијени су коришћењем паралелног мода програмског пакета SPH07. 8.2 Моделирање стишљивог флуида 8.2.1 Шок цев Проблем шок цеви је критични тестни проблем у рачунској динамици флуида уопште и заузима важно место у многим студијама тачности и ефикасности SPH методе и њених деривата [Monaghan&Gingold 1983]. На Слици 8.1 дат је шематски приказ проблема, заједно са параметрима идеалног гаса који се у коморама налази. Шок цев је дугачка права цев која се састоји од две коморе испуњене гасовима са различитим густинама и притисцима, при чему се у иницијалном тренутку оба гаса налазе у стању равнотеже, са константним притиском, густином и температуром. 157 М. Ивановић Докторска дисертација Слика 8.1. Шема примера шок цеви са иницијалним параметрима: густином, укупном масом, адијабатским индексом и унутрашњом енергијом, респективно Када се дијафрагма нагло уклони, уочљива су три феномена: 1. Шок талас који се креће у смеру гаса мање густине, 2. Талас разређења који се креће супротно, према гасу веће густине и 3. Контактни дисконтинуитет који се формира на месту уклоњене дијафрагме и креће се према гасу мање густине. Шок цев поседује изузетан тестни потенцијал за разне нумеричке методе, јер поставља изазов “хватања” контактног дисконтинуитета и продукције коректних профила густине у процесу разређивања. Како моделирање у области динамике стишљивих флуида није у фокусу дисертације, детаљи физике модела неће бити наведени, а могу се пронаћи у [Anderson 2003, Monaghan&Gingold 1983]. На овом месту је довољно рећи да је у функцији једначине стања коришћена једначина идеалног гаса, како за притисак, тако и за брзину звука. У симулацији учествује укупно 2000 честица, при чему је половина еквидистантно распоређена у региону високе густине [0, 0.5], а друга половина у региону ниске густине [0.5, 1]. Маса свих честица је иста и износи 6.25·10-5 kg. Вредности за адијабатски индекс и специфичну моларну гасну константу узете су као за ваздух, тј. = 7/5= 1.4 и Rspec= 287.06 J /kg K  . Слика 8.2. Распоред честица у околини дисконтинуитета шок цеви у тренутку t=0.075s 158 М. Ивановић Докторска дисертација Услед особине стишљивости код овог примера, јавио се још један нумерички проблем, а то је нежељени процес губитка суседа због разређивања честица, или са друге стране, прекомерног броја суседа, наравно, при константној вредности дилатационог параметра h, као на Слици 8.2. Да би се овај проблем превазишао, користи се стандардна техника варијабилног дилатационог параметра, и то по једначини (5.12), која ће овде бити поново дата због комплетности: dhi dt = 1 3 h∇⋅vi . (8.1) Иницијална вредност h једнака је почетној дистанци између честица. Слика 8.3а. Варијација густине координате у шок цеви у тренутку t=0.2s 159 М. Ивановић Докторска дисертација (б) (в) Слика 8.3бв. Варијација притиска и брзине у функцији координате у шок цеви у тренутку t=0.2s; (б) притисак и (в) брзина Као што се са графикона може видети, развијени SPH07 код веома добро симулира шок. Резултати који су приказани, како за густину, тако и за притисак и брзину узети су у тренутку t=0.2s, након 5400 временских корака. Слични резултати добијени су и за 160 М. Ивановић Докторска дисертација неке друге вредности дилатационог параметра, због чега резултати те варијације овде нису презентовани. На Слици 8.3а, приказан је, само због упоређења, и резултат добијен за константни дилатациони параметар h, чија је вредност у том случају једнака иницијалној дистанци између суседних честица. 8.3 Моделирање нестишљивог флуида са ниским Рејнолдсовим бројем 8.3.1 Моделирање струјања вискозног флуида између две паралелне плоче Први случај за тестирање протока флуида ниског Рејнолдсовог броја је тзв. Couette струјање. Ради се о кретању флуида између две паралелне бесконачне равни, што у преводу на језик модела значи да је дужина плоча много већа од раздаљине између њих. Дакле, ове две равни су постављене на координатама y=0 и y=H, као што је приказано на Слици 8.4. Систем се иницијално налази у стању мировања. У тренутку t=0 горња плоча почиње да се креће константном брзином V0 која је паралелна оси x. Слика 8.4. Шематски приказ проблема струјања флуида између две паралелне плоче На левом и десном крају модела постављен је периодични гранични услов, тако да се честица која изађе на десном крају појављује на одговарајућој позицији на левом крају (транслација се врши само по x координати, док y координата остаје иста), како је 161 М. Ивановић Докторска дисертација то објашњено у Одељку 5.3.3. Такође, честице на десном крају модела интерагују са честицама са његовог левог краја (и обратно), као да су у питању суседне честице. У овом примеру, као и у примерима који следе, неклизећи гранични услови моделирани су помоћу методологије која је дефинисана у Одељку 5.3.2 [Takeda et al. 1994]. Број правих SPH честица по ширини канала (y димензији) износи 50, а резултати 1Д поља брзине су узети са половине модела по x правцу. У Табели 8.1 дате су нумеричке вредности параметара који су коришћени у калкулацији. Табела 8.1. Вредности физичких и SPH параметара код проблема струјања флуида између две паралелне равни Параметар Вредност Параметар Вредност Укупан број честица (N) 2856 Кинематска вискозност (ν) 10-6m2s-1 Број имагинарних честица 255 Брзина V0 1.25·10-5ms-1 Ширина канала (H) 10-3m Рејнолдсов број 1.25·10-2ms-1 Дужина канала (L) 10-3m Брзина звука (c) 10-2ms-1 Међучестично растојање (d) 2·10-5м Дилатациони параметар (h) 5.01·10-5m Густина флуида (ρ) 103kgm-3 Временски корак  t 1.608·10-4s Што се тиче методе којом је моделиран флуид, примењен је класични SPH израз за баланс масе (тј. еволуцију густине) дат једначином (4.9), док је линеарни момент апроксимиран методом коначних разлика, као у једначини (4.41), што је оправдано с обзиром на вредност Рејнолдсовог броја Re=1.25·10-2<<1. Исто важи и за једначину стања (4.57), која у оваквим случајевима даје значајно стабилније резултате од (4.54) захваљујући својој линеарности по  . Аналитичко решење за временску зависност поља брзине у x правцу може се добити развојем у ред као у изразу [Morris et al. 1997]: v x  y ,t = V 0 H y∑ n=1 ∞ 2 V 0 n −1 nsin  n H y exp − n 22 H 2 t  . (8.2) На горњем делу модела су постављена четири реда честица са задатим брзинама, како би се омогућило комплетно суседство за сваку од честица у каналу за одговарајући опсег дужина кернел подршке. На Слици 8.4 приказан је распоред вектора брзине у 162 М. Ивановић Докторска дисертација тренутку t=0.1624s, када још увек није достигнута равнотежа, што је и очигледно имајући у виду параболичну законитост интензитета вектора од y координате. На истој Слици нису приказане имагинарне честице чија је сврха наметање неклизећих граничних услова, али треба напоменути да су ове честице постављене у четири реда на доњем делу модела и да су распоређене по истој просторној шеми као и праве честице. Слика 8.4. Векторски приказ поља брзине у тренутку t=0.1624s Слика 8.5. Поређење аналитичког решења и SPH решења за x компоненту брзине у различитим временским инстанцама 163 М. Ивановић Докторска дисертација Слика 8.5 приказује поређење профила брзине добијених помоћу једначине (8.2) и SPH методе у различитим временским тренуцима, укључујући ту и стање приближно равнотежном тј. када је t = 1s . Тачке које се виде на графику су добијене кернел апроксимацијом у којој учествују честице суседи. Како је могуће израчунати вредност SPH величине у било којој тачки простора унутар домена, ширина канала је подељена на М делова са кораком  y = L /M , након чега су вектори брзине апроксимирани кернел апроксимацијом у добијених М+1 тачака. Минималне и максималне густине честица примећене током целокупног трајања анализе износе min= 0.998 0 и max= 1.0040 . Разултати се слажу у оквиру од 2% у току променљивог периода, док у тренутку постизања равнотеже релативна грешка пада на око 1%, што доказује тачност апроксимације другог извода методом коначних разлика, као и изабране једначине стања. Треба приметити да тачке контакта са зидом остају константне у простору и времену, што је особина која је такође репродукована симулацијом. Сви приказани резултати добијени су коришћењем кернела петог реда (Quintic-spline), док се скоро идентични резултати добијају и употребом стандардног кернела трећег реда (B-spline), тако да, бар у овом примеру који подразумева чисто смицање, полином трећег реда изгледа као сасвим довољна апроксимација. 8.3.2 Моделирање струјања вискозног флуида између две статичне паралелне плоче под дејством запреминске силе Други 2Д случај за тестирање протока флуида ниског Рејнолдсовог броја је тзв. Poiseuille струјање, познато као веома осетљива провера тачности свих метода рачунске динамике флуида. И у овом случају постоји аналитичко решење које омогућава директну проверу. Нумеричке SPH калкулације са проверама на Poiseuille струјање и Hagen-Poiseuille струјање успешно су извели Такеда, [Takeda et al. 1994], Морис [Morris et al. 1997] и Ваткинс [Watkins et al. 1996]. 164 М. Ивановић Докторска дисертација Слика 8.6. Шематски приказ примера струјања вискозног флуида између две стационарне паралелне плоче под дејством запреминске силе Дводимензиони случај који се разматра је нестационарно струјање између две бесконачне, паралелне плоче у стању мировања, а у присуству градијента притиска. Протицање се извршава у (x,y) равни, и то у смеру позитивне x осе, при чему су плоче лоциране на координатама y = ±d  од  центра  координатног  система  (y  = 0). Може  се  узети да су компоненте брзине vy и градијент притиска у вертикалном y правцу једнаки  нули, тако да ће брзина vx зависити искључиво од координате y и времена t. Аналитичко  решење  се,  као  и  у претходном  примеру,  може  добити  решавањем  Навије­Стоксових  једначина, и то развојем у ред следећег облика: v x  y ,t = ∣F∣ 2  y 2−d 2∑ n=0 ∞ 16 −1nd 2∣F∣ 3 2n13 cos[ 2n1 y2d ]exp [−2n1 22t 4d2 ] , (8.3) где   је  d  половина   растојања   између   плоча,    = /   коефицијент   кинематске  вискозности, а F сила по јединици масе, дата као: ∣F∣= 1 ∂ p ∂ x =1  pL =−2 v0d 2 , (8.4) при чему је   p  разлика притисака у x правцу између тачака чија је удаљеност L, а v0  константна асимптотска брзина, дефинисана као: v0 =− d 2 2  pL  . (8.5) Како је    p0 ,  v0 има позитивну вредност. С обзиром да је струјање нестишљиво,  густина остаје униформна, тј.  = 0 , а брзина звука узима форму: 165 М. Ивановић Докторска дисертација c2=c0 2− 2v0 d 2 x=c0 2∣F∣x .  (8.6) Поређењем једнакости (8.6) са једначином (4.57), очигледно је да је струјање вођено  запреминском  силом  која   је  овде  еквивалентна  градијенту  хидростатичког  притиска   p /L =−20 v0 /d 2 .  За довољно велика времена  t∞ , други члан једнакости (8.3) тежи нули, тако да  се брзина приближава добро познатом стационарном решењу: v x  y ,t = ∣F∣ 2  y 2−d 2 = v 01− y 2d 2  , (8.7) где је  v0 дато једначином (8.5). Дакле, како  време пролази, фокус параболе функције  брзине дефинисане изразом (8.3) се помера у правцу  v0  све до постизања равнотежног  стања, док је у тачкама y = ±d флуид “залепљен” за зид, тј. vx = 0.  У даљем тексту ће бити дато поређење два могућа приступа у моделирању линеарног момента у случају струјања ниског карактеристичног Рејнолдсовог броја, који су детаљно изведени у Одељку 4.4. Један се ослања на апроксимацију другог извода методом коначних разлика, док други примењује директан приступ диференцирања кернел апроксимацијом. Апроксимација извода другог реда методом коначних разлика Честице су распоређене по правоугаоном гриду, док су SPH једначине су идентичне претходном случају, с обзиром да се ради о струјању врло сличних особина као код Couette струјања. Дакле, примењен је класични SPH израз за баланс масе (тј. еволуцију густине) дат једначином (4.9), док је линеарни момент апроксимиран методом коначних разлика, као у једначини (4.41). Једначина стања (4.57), коју је увео Морис [Morris et al. 1997], показала се подесном за струјања са карактеристичним Re<<1. Такође су примењени идентични гранични услови као у претходном примеру, тј. комбинација периодичних и неклизећих граничних услова, али овога пута на оба зида. Имагинарне 166 М. Ивановић Докторска дисертација честице распоређене се по правоугаоном гриду по истој шеми као праве SPH честице, при чему је омогућена еволуција њихове густине. У Табели 8.2 дате су вредности физичких и нумеричких параметара карактеристичних за овај пример. Табела 8.2. Вредности физичких и нумеричких параметара код проблема струјања флуида између две паралелне равни под дејством запреминске силе Параметар Вредност Параметар Вредност Укупан број честица (N) 1891 Кинематска вискозност (ν) 10-6m2s-1 Број имагинарних честица 242 Брзина v0 1.25·10-5ms-1 Ширина канала (2d) 10-3m Рејнолдсов број 1.25·10-2ms-1 Дужина канала (L) 2.143·10-3m Брзина звука (c) 10-2ms-1 Међучестично растојање 3.57·10-5m Дилатациони параметар (h) 3.58·10-5m Базно убрзање (F) 10-4 ms-2 Временски корак t 1.13·10-4s Густина флуида (ρ) 103kgm-3 Такође треба нагласити да мрежу од 1891 честице чини картезијанска матрица димензија 31x61, тј. 31 честица по y димензији, као на Слици 8.7а. Док је на Слици 8.7а дат иницијални распоред честица, на Слици 8.7б је приказан финални распоред, после tfinal = 1s, док су различитим бојама означене тренутне магнитуде брзина у том тренутку. Сврха упоређења иницијалног и финалног распореда је недвосмислена констатација о релативно малом укупном померању честица, што гарантује унифицирани распоред SPH честица током анализе, а тиме и доказано већу поузданост решења. Посебну пажњу треба обратити на вредност брзине звука c од које директно зависе локалне промене притиска преко једначине стања. Ако се изабере превелика вредност, компонента притиска у Навије-Стоксовим једначинама биће већа од вискозне компоненте и компоненте запреминске силе, што на крају резултује реверзним кретањем приликом иницијализације симулације. У обратном случају, ако је c премало, биће нарушен услов квази-нестишљивости. Такође, на кретање честица у овом и пређашњем примеру не утиче никаква препрека која би угрозила уређеност, тако да се овај проблем може посматрати као прелиминарни тест за проблем струјања флуида око цилиндра, где осим смичуће компоненте напона постоје и значајне локалне промене притиска, на основу једначине стања (4.57). 167 М. Ивановић Докторска дисертација (а) (б) Слика 8.7. Распоред SPH честица у тренуцима а) t=0s, б) t=1s. Честице су обојене према магнитуди брзине, скала на десној страни. Слика 8.8. Векторски приказ поља брзине у тренутку t=1s Дијаграм на Слици 8.9 приказује поређење профила брзине добијених помоћу једначине (8.3) и SPH методе у различитим временским тренуцима, укључујући ту и 168 М. Ивановић Докторска дисертација стање приближно равнотежном тј. када је t=1s. Тачке које се виде на графику су добијене кернел апроксимацијом у којој учествују честице суседи, као и у претходном примеру. Минималне и максималне густине честица примећене током целокупног трајања анализе износе min=0.997 0 и max=1.0050 , што значи да су варијације за нијансу веће него код Couette струјања. Слика 8.9. Поређење аналитичког решења и SPH решења за x компоненту брзине у различитим временским инстанцама Резултати се слажу у оквиру од 0.9% у току променљивог периода, док у тренутку постизања равнотеже релативна грешка пада на око 0.8%. Симулације су поновљене и са нешто нижом резолуцијом SPH честица, (21 уместо 31 честица по ширини канала). Тада су грешке у променљивом кретању у оквиру од 3.5%, док у стационарном стању опадају на 2.1%. Приказани дијаграми добијени су коришћењем кернела петог реда (Quintic-spline), док се скоро идентични резултати добијају и употребом стандардног кернела трећег реда (B-spline), тако да и у овом примеру полином трећег реда изгледа као довољна апроксимација. Апроксимација извода другог реда стандардном кернел апроксимацијом Иако су тестови које су спровели Морис и Сигалоти [Morris et al. 1997, Sigalotti et al. 1996], као и тестови спроведени за потребе дисертације показали да је апроксимација 169 М. Ивановић Докторска дисертација извода другог реда методом коначних разлика веома добро решење када су у питању струјања ниског карактеристичног Рејнолдсовог броја. Поред веће поузданости проузроковане избегавањем двоструког диференцирања које може бити проблематично из разлога објашњених у Глави 4, ова метода нуди и већу брзину анализе избегавањем двоструке примене ресурсно захтевне SPH кернел/честичне апроксимације. Међутим, метода коначних разлика свакако нема валидност у ширем опсегу Рејнолдсових бројева, јер се тада релевантне физичке величине код суседних честица сувише разликују да би се на овај начин могле прихватљиво апроксимирати. Као што је дефинисано у Одељку 4.4.2, линеарни момент који произлази из Навије-Стоксових једначина се може одредити и директном методом, и то следећим SPH једначинама за компоненте деформације и убрзања честице (респективно):  i = ∑ j∈NHD m j  j v ji ∂W ij ∂ x i  ∑ j∈NHD m j  j v ji ∂W ij ∂ x i − 23 ∑j∈NHD m j  j v ji⋅∇ iW ij   (8.8) и dv i dt = ∑ j∈NHD m j  p j j2 p i i2  ∂W ij ∂ x i  ∑ j∈NHD m j  j  j j2i   i i2  ∂W ij ∂ x i , (8.9) где су m j и  j маса и густина честице ј, vij = vi−v j ,  =  динамичка вискозност, а Wiј кернел функција у којој фигуришу честице i и ј. У једначини (8.9) прва сума даје SPH апроксимацију хидростатичког притиска, а друга сума апроксимацију вискозних сила. Међутим, употреба једначина (8.8) и (8.9) није довољна за довођење моделиа у стање приближно реалном систему који се моделира. У случају увођења директне методе моделирања природне вискозности описане једначином (8.8), где фигуришу други и виши изводи величина, може доћи до нумеричких флуктуација које представљају непожељан ефекат. Какво-такво решење проблема нестабилности нуди Монаган [Monaghan 1992] својом XSPH методом за усредњавање брзине, дефинсаном у Одељку 4.4.4. Додатно усредњавање брзине примењује се на све SPH чесице флуида (осим на оне којима је брзина задата), и то по једначини: 170 М. Ивановић Докторска дисертација d xi dt = vi=vi ∑ j∈NHD m j vi−v j ij W ij , (8.10) ∈[0,1] . (8.11) Укључивање XSPH подразумева и један додатни фактор неодређености, а то је управо константа  која се детерминише посебно за сваки тип модела. Визуелно упоређење брзина SPH честица и профила брзина без употребе XSPH и са његовом употребом при =0.05 дато је на Слици 8.10. (а) (б) (в) Слика 8.10аб. Пример Poiseuille струјања применом кернел апроксимације извода другог реда у t=1s; (а) без примене XSPH, (б) са употребом XSPH, (в) Дијаграм профила брзине 171 М. Ивановић Докторска дисертација Ако се упореде слике 8.10а и 8.10б, прва опсервација је неправилна дистрибуција поља брзине на Слици 8.10а, тј. одређена количина нефизичког шума. Присуство шума, као и значајне разлике равнотежног стања брзине у односу на аналитичко решење потврђено је и на дијаграму профила брзине на Слици 8.10в. У релативним мерама, та разлика износи чак 13% за случај када се XSPH методологија не примењује и 1.2% када се брзине усредњавају по XSPH шеми. Из приложених релативних грешака, као и визуелним поређењем дијаграма 8.9 и 8.10в, може се закључити да у домену струјања ниског карактеристичног Рејнолдсовог броја методологија коју је предложио Морис [Morris et al. 1997], а која подразумева апроксимацију извода другог реда у једначини линеарног момента коначним разликама има извесне предности у односу на рачунање другог извода стандардном кернел апроксимацијом. Те предности се могу сажети у три тачке: 1. задовољавајућа поузданост, 2. ефикасност са аспекта брзине анализе (процесорског времена), 3. независност од додатних фактора, као што је императивна употреба XSPH код методе рачунања другог извода стандардном кернел апроксимацијом. Иако је у SPH07 код уграђена подршка за обе анализиране методологије, у даљим примерима обрађеним у оквиру дисертације ће, због своје евидентне једноставности и применљивости, предност имати Морисова метода. Наравно, иако пружа многе предности, треба још једном напоменути да метода апроксимације извода другог реда коначним разликама има ограничен опсег примене, и то на Re<<1. 8.3.3 Моделирање струјања вискозног флуида између два коаксијална цилиндра Трећи 2Д случај за тестирање протока флуида ниског карактеристичног Рејнолдсовог броја је нешто компликованији и такође често презентовани случај у оквиру провере тачности различитих нумеричких метода за моделирање динамике флуида. То је случај струјања флуида између два ротирајућа коаксијална цилиндра са 172 М. Ивановић Докторска дисертација три различита кинематичка услова [Haber et al. 2006, Filipovic et al. 2008, Filipovic et al. 2009]. Још један добар разлог за детаљну анализу овог проблема, као и Poiseuille струјања је евалуација SPH методе у погледу тачности и перформанси у односу на још једну честичну методу познату као DPD (Dissipative Particle Dynamics), која се од SPH разликује по скали на којој се проблем решава (код DPD у питању је тзв. мезо-скала, о којој ће бити речи у Одељку 8.6). Пре него што се приступи поређењу ове две честичне методе, потребно је детаљно анализирати SPH решење код овог тест примера. Слика 8.11. Шема струјања вискозног флуида између два ротирајућа саосна цилиндра Геометрија проблема приказана је на Слици 8.11. Радијус спољашњег цилиндра (R2) је пет пута већи од радијуса унутрашњег цилиндра (R1). Цилиндри ротирају око заједничке осе, постављајући граничне услове брзине на флуиду који се налази између њих на идентичан начин као код претходних примера. Посматрају се три различита кинематичка услова, и то: 1. случај А када оба цилиндра ротирају истим угаоним брзинама у истом смеру, 2. случај Б када унутрашњи цилиндар стоји док спољашњи ротира и 3. случај В када цилиндри ротирају истим угаоним брзинама, али у супротним смеровима. Флуид се иницијално (t=0) налази у стању мировања. Подаци значајни за физичку и 173 М. Ивановић Докторска дисертација нумеричку дефиницију проблема дати су у Табели 8.3, а као што се из ње може закључити, по димензијама су слични претходним примерима, тако да је и даље оправдана примена симулационе методологије која се односи на струјања ниског карактеристичног Рејнолдсовог броја, али овога пута веома близу критичних вредности. Табела 8.3. Вредности физичких и нумеричких параметара код проблема струјања флуида између два ротирајућа коаксијална цилиндра Параметар Вредност Параметар Вредност Укупан број честица (N) 9044 Кинематска вискозност (ν) 10-6m2s-1 Радијус унутрашњег цилиндра (R1) 0.5·10-3m Брзина звука (c) 10-2ms-1 Радијус спољашњег цилиндра (R2) 2.5·10-3m Дилатациони параметар (h) 5.01·10-5m Међучестично растојање 5·10-5m Угаона брзина унутрашњег цилиндра (ω1) -0.2, 0, 0.2 Густина флуида (ρ) 103kgm-3 Угаона брзина спољашњег цилиндра (ω2) 0.2 Стандардни број честичних суседа се током читавог тока симулације креће око 12, док непостојање потребе за периодичним граничним условима даље поједностављује модел. Централна симетрија проблема дозвољава да се профил брзине уочи дуж било ког радијуса система цилиндара, па је за дијаграме брзине који следе изабрана права y=0 . Пошто је нестационарност струјања јако изражена, најбоља провера тачности биће поређење профила брзине добијеног помоћу аналитичког израза и из SPH модела за веома мала времена. При јако ниским вредностима времена очекује се велики градијент брзине у сва три подслучаја. На сликама 8.12а-8.12в приказане су расподеле брзине по радијусу за претходно дефинисане подслучајеве А, Б и В респективно. SPH решење прати тренд аналитичке криве у свим сегментима, али је евидентно да су SPH решења нешто померена ка нижим вредностима брзине у односу на аналитичко решење, и то посебно у делу где је брзина највећа - надомак обода спољашњег цилиндра. 174 М. Ивановић Докторска дисертација Слика 8.12а. Дистрибуција брзине у случају А. Решења су дата за временске тренутке: t=3.91, 9.05, 13.03, 18.20, 23.29 (x 10-2s) Слика 8.12б. Дистрибуција брзине у случају Б. Решења су дата за временске тренутке: t= 4.12, 9.28, 13.12, 18.62, 23.38 (x 10-2s) Слика 8.12в. Дистрибуција брзине у случају В. Решења су дата за временске тренутке: t=4.32, 9.61, 13.35, 19.09, 24.14 (x 10-2s) 175 М. Ивановић Докторска дисертација Варијација густине флуида креће се у границама нормале, као и код претходних примера (994-1002 kg/m3), пре свега због непостојања препрека које би условиле настанак локалних градијената густине. Нешто нижа поузданост ове нумеричке симулације у односу на примере Poiseuille и Couette струјања може се приписати употребљеној методологији апроксимирања другог извода методом коначних разлика. Захваљујући релативно високим вредностима угаоних брзина унутрашњег и спољашњег цилиндра (~ 0.2 rad/s), Рејнолдсов број се у овом примеру креће око вредности 0.2, што је, као што и резултати показују, на граници употребљивости усвојене апроксимације. У случају А, где се оба цилиндра крећу идентичним угаоним брзинама у истом смеру, релативна грешка износи око 2.5%, у случају Б, где унутрашњи цилиндар стоји, док се спољашњи креће на исти начин као у претходном случају грешка је око 2.1%, док се у случају В, где се цилиндри крећу истим угаоним брзинама, али у супротиним смеровима, релативна грешка смањује на око 1.7%. 8.3.4 Моделирање 3Д струјања флуида у правој цеви Као даљи тест тачности и ефикасности истог модела, употребљено је ламинарно струјање вискозног флуида у цеви кружног попречног пресека радијуса R, проблем познат и под именом Hagen-Poiseuille струјање. Ова врста проблема је веома честа, како у инжењерским областима, тако и у биомеханици, нпр. код струјања крви у уским капиларима. Цилиндричне координате r , , z  су уведене у сврху репрезентације струјања које се одвија у смеру позитивне z осе. Са оваквом геометријом, струјање је хомогено по z и  координатама, тако да компоненте брзине vr и v , као и радијални и циркуларни градијенти притиска у потпуности ишчезавају. На тај начин, z компонента брзине зависи искључиво од радијуса r и времена t. У овом случају, Навије-Стоксове једначине се могу решити аналитички, што доводи до следећег временски зависног решења [Sigalotti et al. 2003]: v z r ,t  = ∣F∣ 4 r2−R2∑ m=1 ∞ ∣F∣R2 m 2 J 2 m J 1 2 m J 0  rmR exp[−m 2 t R2 ] , (8.12) 176 М. Ивановић Докторска дисертација где су Jn ( n = 0,1,2 ) Беселове функције прве врсте интеграла реда n, а m = Rk m (за m = 0,1,2, ) корени функције Ј0(kr). Остали параметри имају потпуно исто значење као и у једначини (8.3) која третира 2Д струјање између две паралелне плоче. Запреминска сила F подлеже следећој релацији: ∣F∣=− 4 v0 R2 (8.13) где је v0 константна асимптотска брзина дата релацијом: v0 =− R2 4   pL  , (8.14) при чему је  p /L пад хидростатичког притиска на тоталној дужини цеви L. Како је  p0 , брзина v0 је увек позитивна. Ако t∞ , експанзија у ред унутар једначине (8.12) ишчезава, тако да се брзина приближава асимптотској граници која је дата првим чланом исте једначине. Решење за стационарно стање одговара облику параболоида са фокусом у r = 0 који се креће у смеру струјања брзином v0. Слика 8.13. (а) Цев у којој су приказане имагинарне ламине. (б) Приказ различитих брзина којима се ламине крећу Конкретна комбинација вредности физичких параметара и SPH параметара 177 М. Ивановић Докторска дисертација употребљених у моделу дата је у Табели 8.4. Табела 8.4. Вредности физичких и нумеричких параметара код Hagen-Poiseuille струјања моделираних помоћу SPH методе Параметар Вредност Параметар Вредност Укупан број честица (N) 30085 Кинематска вискозност (ν) 10-6 m2s-1 Број имагинарних честица 12920 Брзина v0 1.25·10-5ms-1 Ширина канала (2R) 10-3m Рејнолдсов број 1.25·10-2ms-1 Дужина канала (L) 2.14·10-3m Брзина звука (c) 10-2 ms-1 Међучестично растојање 3.571·10-5m Дилатациони параметар (h) 3.6·10-5m Базно убрзање (F) 2·10-4 ms-2 Временски корак  t 1.11·10-4s Густина флуида (ρ) 103 kgm-3 Само за сврху формирања тестног модела, иако потпуно неефиксано за реалну примену, формиран је картезијански грид димензија (x,y,z) = (1.035·10-3m, 1.035·10-3m, 2.14·10-4m) на чије је чворове постављено укупно 43005 честица, и то са кораком грида од 3.571·10-5m. Од тога се 30085 честица слободно креће у каналу, док се неке од преосталих 12920 честица користи за форсирање неклизећих граничних услова. Пошто се ради о тродимензионом случају, који уз то укључује и закривљену површ, метода за добијање неклизећих граничних услова коју је предложио Такеда [Takeda et al. 1994] није дала задовољавајуће резултате, па је употребљена напреднија метода из [Morris et al. 1997]. Као и у аналогном 2Д тест-примеру, постављена су по два реда имагинарних честица чије се брзине, које се користе искључиво за рачунање вискозних сила, а не за кретање, одређују по правилима из Одељка 5.3.2. Остале имагинарне честице не учествују у прорачуну на било који начин. Дакле, прво се израчуна нормална удаљеност сваке честице флуида а до граничне површи; обележимо је са d. Ова нормала (Слика 5.5) се користи да би се дефинисала раван тангентна на граничну површ од које се рачуна друга нормална удаљеност d' до најближе спољне имагинарне честице i. Брзина честице а се екстраполира преко тангентне равни претпостављајући да је брзина на самој равни једнака нули, па је тако vi =−d ' va /d . Ваља још напоменути да је линеарни момент апроксимиран методом коначних разлика, тј. једначином (4.41), јер се у примеру струјања између две паралелне плоче ова метода  178 М. Ивановић Докторска дисертација показала  као  робуснија  у  односу  на  апроксимацију  линеарног  момента  стандардном  кернел апроксимацијом.  Судећи по димензијама датим у Табели 8.4, као и према формули (8.12) за t∞ , аналогија са 2Д Poiseuille примером из Одељка 8.3.2 је потпуна, јер су вредности за 0 , v0 и  идентичне као код поменутог примера, што доводи до идентичног Рејнолдсовог броја од 1.25x10-2ms-1. Профили брзина за поједине временске тренутке су приказани на Слици 8.14. Слика 8.14. Пример 3Д струјања флуида (Hagen-Poiseuille) са карактеристичним Re=0.0125 у цеви кружног попречног пресека пречника 2R=1.0·10-3m Пуним линијама означена су аналитичка решења добијена коришћењем једначине (8.12). Резултати приказани тачкама представљају нумеричка решења која су добијена усредњавањем. Усредњавање је извршено тако што је узет део дужине  z=L/30 лоциран на средини цеви, а затим подељен на концентричне цилиндре облика ламина као на Слици 8.13 по којима је вршено усредњаваје брзине, тако да свака тачка на Слици 8.14 репрезентује по један такав цилиндар. Као што се са дијаграма може видети, нумеричко решење се доста добро слаже са аналитичким решењем, али је очигледно да је то слагање нешто мање него у аналогном 2Д случају - струјању флуида између две паралелне плоче, и износи око 2.1% у току 179 М. Ивановић Докторска дисертација променљивог периода и 1.2% у тренутку равнотеже. Равнотежа се постиже за 0.6 секунди, као што је добио и Сигалоти са сарадницима [Sigalotti et al. 2003], док је равнотежна вредност брзине 1.263·10-5 m/s. Нестишљивост флуида је репродукована веома добро и налази се у опсегу од 0.992≤/01.009 током целе симулације и на целом моделираном домену. На Слици 8.14 приказани су резултати добијени коришћењем кернела облика полинома петог реда, док су скоро идентични резултати добијени и коришћењем кернела трећег реда. Код 3Д модела се такође може запазити да се повећањем концентрација честица у домену значајно утиче на тачност. 8.3.5 Моделирање струјања флуида кроз периодичну решетку цилиндара Couette и Poiseuille струјања су повољни тест примери за одређивање интеркације између запреминских и вискозних сила, као и ефеката примењених неклизећих граничних услова. Међутим, ови примери су у суштини једнодимензиони и не омогућавају увид у понашање модела приликом веће варијације динамичког притиска. Наредни пример се односи на струјање флуида у периодичној решетки цилиндара, при чему је у симулацији разматрано струјање око једног јединог уз одговарајуће граничне услове, са доменом који обухвата околни припадајући флуид. Струјање се побуђује запреминском силом, као у претходним случајевима, а такође су присутни и добро познати периодични гранични услови, али су овога пута постављени и по оси X и по оси Y, како би се у потпуности могла опонашати геометрија решетке. У литератури је често обрађиван овај проблем, тако да постоје решења добијена како мрежним нумеричким методама [Epstein&Masliyah 1972, Drummond&Tahir 1984, Jackson&James 1986], тако и помоћу SPH методе [Morris et al. 1997]. 180 М. Ивановић Докторска дисертација Слика 8.15. Модел појединачног цилиндра у периодичној решетки цилиндара По улазним подацима датим у Табели 8.5, тј. узимајући да је периода решетке L=0.1m, F=5·10-5ms-2, а=2·10-2m и =10−4 m 2 s−1 , добија се прилично ниска вредност Рејнолдсовог броја, Re~0.03. Ради повећања тачности, а с обзиром да перформансе нису велики проблем, јер се користи паралелна верзија SPH07 софтвера, направљена је картезијанска мрежа од 10201 честице, за разлику од 3000 хексагонално распоређених честица колико је употребио Морис [Morris et al. 1997]. Више честица у пракси значи и бољу репродукцију криволинијских граница модела. Табела 8.5. Вредности физичких и нумеричких параметара код модела струјања флуида кроз периодичну решетку цилиндара Параметар Вредност Параметар Вредност Укупан број честица (N) 10201 Густина флуида (ρ) 103 kgm-3 Број имагинарних честица 1249 Кинематска вискозност (ν) 10-4 m2s-1 Дужина канала (L) 1.0·10-1m Рејнолдсов број 0.03 ms-1 Радијус цилиндра (а) 2.0·10-2m Брзина звука (c) 2·10-2 ms-1 Међучестично растојање 1.0·10-3m Дилатациони параметар (h) 1.05·10-3m Базно убрзање (F) 5·10-5 ms-2 Временски корак  t 1.04·10-3s Симулација се иницијализује са нултом брзином и чека се постизање равнотежног 181 М. Ивановић Докторска дисертација стања. Међутим, симулација се наставља и након постизања равнотеже, како би конфигурација честица постала потпуно неуређена (Слика 8.16). Овде су приказани резултати после око 30000 временских корака, тј. 30 секунди од почетка симулације. Вредност брзине звука која се појављује у једначини стања, а коју је користио Морис, показала се као недовољна да би се одржала нестишљивост флуида око цилиндра, па је због тога удвостручена. Као што је већ речено, на овом примеру, као и на претходном тродимензионом примеру струјања у цеви, долази до изражаја модификација неклизећих граничних услова коју је увео Морис [Morris et al. 1997] у односу на оне које је поставио Такеда [Takeda et al. 1994]. Слика 8.16. Финални распоред честица у t=30s и апсолутне вредности брзина честица у истом тренутку. На слици се види да је конфигурација честица потпуно различита од иницијалне За упоређење тачности је искоришћено решење добијено помоћу МКЕ, добијен помоћу софтвера ПАК-Ф [Kojić et al. 1999.], при чему број чворова коначних елемената приближно одговара броју SPH честица. Модел који је коришћен у МКЕ приступу формиран је од 2Д елемената са 9 чворова за интерполацију брзине и 4 чвора за интерполацију притиска, уз стандардну Ојлеровску формулацију Навије-Стоксових једначина. Поређење је извршено у односу на поље брзине и поље притиска. На Слици 8.17 приказан је контурни дијаграм интензитета брзине. 182 М. Ивановић Докторска дисертација (а) (б) Слика 8.17. Контурни приказ интензитета брзина у примеру струјања флуида кроз периодичну решетку цилиндара. (а) МКЕ, (б) SPH У поређењу са решењем које је добијено помоћу МКЕ, SPH решење је задовољавајуће, мада је очигледно да постоје одређене флуктуације SPH решења. На левој граници домена присутна је и флуктуација вредности брзине, која потиче од недостатка кернел подршке (недовољног броја честица) у том делу. Бољи увид у тачност решења поља брзина може се постићи конструкцијом дијаграма интензитета брзине по одређеној путањи. На Слици 8.18 приказан је положај изабраних стаза 1 и 2 у домену флуида, као и упоређење МКЕ и SPH решења по тим стазама. Тачке на дијаграму представљају нумеричка решења која су добијена усредњавањем. Усредњавање се врши SPH кернел функцијом трећег реда, по тачкама распоређеним еквидистантно на међусобној удаљености  y=L /100 . Може се приметити да SPH метода веома добро интерпретира постављени тест проблем. Највећа релативна грешка на путањи 1 износи око 2.5%, док је на путањи 1 нешто мања, око 1.8%. 183 М. Ивановић Докторска дисертација (а) (б) Слика 8.18. (а) Положај путања 1 и 2 у моделу, (б) Поређење вредности интензитета брзине по путањама 1 и 2 добијених помоћу МКЕ и SPH методе На сличан начин као у случају приказа брзина на Слици 8.17, добијен је и контурни дијаграм поља притиска на Слици 8.19. Једина разлика је у томе што је за усредњавање коришћен кернел нешто већег дилатационог параметра (h има вредност два међучестична растојања у иницијалној конфигурацији). Ово је учињено да би се отклониле мале флуктуације динамичког притиска. 184 М. Ивановић Докторска дисертација (а) (б) Слика 8.19. Контурни приказ поља притиска у примеру струјања флуида кроз периодичну решетку цилиндара. (а) МКЕ, (б) SPH Релативна грешка у пољу притиска се креће у интервалу до 4%, при чему су највеће грешке присутне у близини неклизећих граничних услова на кривој површи. На тим местима, тј. у непосредној близини цилиндра су примећене и веће флуктуације густине (983 до 1003 kg/m3). Прорачун је поновљен са нешто нижом резолуцијом SPH честица, укупно око 7000 честица са грешком за притисак која се кретала до 5.5%. 8.4 Моделирање нестишљивог флуида са високим Рејнолдсовим бројем Иако је примарно поље проблема на којима је пакет SPH07 код тестиран поље флуида ниских Рејнолдсових бројева, Слична методологија се може применити и на проблеме код којих је карактеристични Рејнолдсов број далеко већи и који укључују и феномене попут слободне површине течности. Наравно, ово је могуће искључиво уз измену начина рачунања вискозних сила, једначине стања и граничних услова, како је то објашњено у главама 4 и 5. Као прво, показало се [Monaghan 1994] да је код проблема високих Рејнолдсових бројева ефектније као модел природне вискозности користити вештачку вискозност, пре свега због стабилизације шокова који настају при брзом кретању честица. Вискозни 185 М. Ивановић Докторска дисертација члан који су увели Џинглод и Монаган [Monaghan&Gingold 1983] поседује члан линеаран по брзини, па стога опонаша класичну смичућу и запреминску вискозност, као и квадратни члан у једначини (4.51) који је одговоран за редукцију шокова при високим Мах бројевима. Друга измена модела у односу на све претходне моделе из ове главе је третман једначине стања. Наиме, како се реални нестишљиви флуид помоћу SPH методе моделира као квази-нестишљив, као што је детаљно објашњено у Одељку 4.5.1, потребна је веза између притиска и густине (која незнатно варира у току симулације), позната као једначина стања. Међутим, уместо једначине (4.57), где притисак прати промену густине линеарно, за струјања великих брзина потребно је ту везу “ојачати”, како не би дошло до нефизичке пенетрације честица. То се постиже коришћењем једначине стања (4.54), која уводи степену зависност притиска од густине. Коначно, модификација је потребна и код граничних услова. Иако неклизећи и периодични гранични услови могу да се употребе и у случају струјања високих брзина, као доминантан се поставља проблем онемогућавања изласка честица из за то предвиђеног домена, тј. онемогућавање пенетрације честица у границу домена. За ову сврху се прави избор од две методе објашњене у Одељку 5.3.1, а у наставку ће бити дато и њихово квантитативно и квалитативно поређење. 8.4.1 Моделирање 2Д колапса бране Модел који ће бити разматран у овом одељку је реални проблем колапса бране. Овај проблем је карактеристичан и по томе што укључује и два феномена који се врло тешко моделирају класичним мрежним методама (нпр. МКЕ), а то су променљива слободна површина и одвајање делова флуида (splashing). Иницијална висина и ширина воденог стуба су по 25m, док је 2868 честица флуида распоређено по квадратној мрежи, и то са међучестичним растојањем од  p = 0.5m . Употребљени коефицијенти вештачке вискозности из једначине (4.51) су α=0.01 и β=0, као и у [Monaghan 1994], док је дилатациони параметар h нешто већи од међучестичног растојања  p , и то h=1.2 p . Дилатациони параметар је константан у простору и 186 М. Ивановић Докторска дисертација времену и исти је за све честице. Због начина на који се третирају гранични услови (који онемогућавају нефизичку пенетрацију честица у зидове), јасно је да симулација неће имати “миран” старт, тј. стање у t = 0 није равнотежно. Зато се допушта да у првих неколико стотина временских корака систем постигне равнотежу, а тренутак постизања равнотеже се узима као почетак симулације (t = 0). Овај ефекат “смиривања” система је важан део ове врсте анализе и не сме се изоставити. Поставља се питање како проценити вредност коефицијента B из једначине стања (4.54). Уколико се дозволи максимална релативна варијација густине од 1% ( ~0.01 ), B може да се процени из једначине (4.55), знајући везу између Мах броја и релативне варијације густине ~M c 2 . За дате вредности, добија се да је B~107 , док γ узима вредност 7. Што се тиче граничних услова који онемогућавају пенетрацију честица преко задате границе, у овом примеру су коришћене обе форме дефинисане у Одељку 5.3.1, и то: • Гранична сила изведена из облика Ленард-Џонсовог потенцијала, позната из молекуларне динамике, дата једначином (5.13): f r =D [ r0r  p1 − r0r  p2] rr2 са вредностима коефицијената п1 = 12 и п2 = 6, док је карактеристична дужина r 0≈h=0.5m . Коефицијент D (димензије квадрата брзине) одређује интензитет одбојне силе и обично се узима неколико пута мултиплицирана вредност квадрата максималне брзине vmax 2 =2 g H , како би се обезбедила снажна баријера према флуиду. За потребе примера колапса бране, узето је да је D=5 g H≈1250 • Новији метод Монагана и Коса [Monaghan&Kos 1999], за разлику од претходног, формира одбојну граничну силу која увек делује нормално на граничну површину, избегавајући нефизичке ефекте централних сила које се у претходном примеру јављају. Резултујућа сила се састоји из компонената датих једначином (5.14), док се компоненте по y и x осама рачунају преко (5.18) и (5.19), респективно. 187 М. Ивановић Докторска дисертација Како аналитичко решење проблема колапса бране не постоји, за поређење су искоришћени експериментални резултати из литературе [Martin&Noyce 1952], у којима је праћена временска еволуција положаја фронта таласа и његова висина. Прво ће бити репрезентовани резултати добијени коришћењем једноставних граничних сила Ленард- Џонсовог облика (Слика 8.21 и Табела 8.6), а затим они добијени употребом унапређене шеме Монагана и Коса (Слика 8.22 и Табела 8.7). Слика 8.20. Поставка проблема колапса бране 188 М. Ивановић Докторска дисертација Слика 8.21. Позиције честица воде у различитим временским тренуцима током симулације, када се употреби гранична централна сила Ленард-Џонсовог облика Табела 8.6. Експерименталне и SPH вредности за водени фронт Z и висину H воденог стуба током колапса услед гравитације. Случај граничне силе Ленард-Џонсовог облика Време H(експ.) H(SPH) Z(експ.) Z(SPH) 0.71 0.90 0.90 1.33 1.50 1.39 0.76 0.74 2.25 2.45 2.10 0.57 0.56 3.22 3.69 3.20 0.32 0.38 4.80 5.5 189 М. Ивановић Докторска дисертација Слика 8.22. Позиције честица воде у различитим временским тренуцима током симулације, када се употреби гранична сила коју су предложили Монаган и Кос [Monaghan&Kos 1999] Табела 8.7. Експерименталне и SPH вредности за водени фронт Z и висину H воденог стуба током колапса услед гравитације. Случај граничне силе облика Монаган-Кос Време H(експ.) H(SPH) Z(експ.) Z(SPH) 0.71 0.90 0.90 1.33 1.49 1.39 0.76 0.73 2.25 2.42 2.10 0.57 0.55 3.22 3.61 3.20 0.32 0.35 4.80 5.35 Ако се упореде Слике 8.21б и 8.22б уочљива је разлика у горњем левом углу у облику делића флуида који је на Слици 8.21б одгурнут од зида услед деловања централне граничне силе Ленард-Џонсовог облика. Овај феномен репрезентује грешку која настаје услед чињенице да резултујућа сила у горњем левом региону није нула као што је случај ниже на y оси, где честице трпе и јачи хидростатички притисак. С друге стране, ова грешка је увек пропорционална х, тако да се може посматрати и као 190 М. Ивановић Докторска дисертација пертурбација. Грешка се не може редуковати ни увођењем граничне силе у облику Гаусијана уместо силе облика (5.13), што је такође проверено нумерички. Очигледно је да, ако се употреби новији формализам за третман граница који предлажу Монаган и Кос, а код кога је сила којом честице границе делују на честицу флуида увек усмерена у правцу нормале на граничну површ, овај ефекат бива скоро у потпуности неутралисан, а и резултати који се односе на еволуцију положаја фронта и висине таласа се нешто боље слажу са експериментом. На Слици 8.23 дат је графички приказ података из Табела 8.6 и 8.7. Слика 8.23а приказује поређење моделиране висине воденог стуба у поређењу са експериментом [Martin&Noyce 1952], док Слика 8.23б одсликава поређење локације фронта воденог стуба као функцију времена, такође у поређењу са експериментом. Слика 8.23а. Временска еволуција висине воденог стуба (H). Поређење са експерименталним вредностима [Martin&Noyce 1952] 191 М. Ивановић Докторска дисертација Слика 8.23б. Временска еволуција положаја таласног фронта (Z). Поређење са експерименталним вредностима [Martin&Noyce 1952] Све дужине су, како у табелама 8.6 и 8.7, тако и на дијаграмима 8.23 скалиране у односу на иницијалну висину воденог стуба H0, док је време скалирано фактором H 0 /g  1/2 . На Слици 8.23а је приметно врло добро слагање резултата SPH модела са експериментом, и то за обе врсте граничних услова. Насупрот томе, на Слици 8.23б постоји добро слагање у раном периоду симулације, док је за већа времена очигледно да симулирани положај фронта воденог таласа “иде испред” експерименално добијеног. Сличне резултате, са сличним вредностима грешака, добили су и аутори Монаган, Доринг и Колагроси [Monaghan 1994, Doring et al. 2003, Colagrossi&Landrini 2003], као и Џонс [Jones&Belton 2006]. Грешка се поново објашњава проблемом неригорозних граничних услова на интерфејсу између воде и зида. Овај ефекат је нарочито видљив на локацији фронта воденог стуба јер је ту слој воде најтањи и најподложнији деловању репулзивних граничних услова. Сви наведени прорачуни су поновљени и са вредношћу =0.0001 , али са скоро занемарљивим ефектом на резултате, тако да ти дијаграми овде нису приказани. Треба нагласити да обе предложене методе граничне силе (и Ленард-Џонс и Монаган-Кос) имају потенцијала и у моделирању покретних граница, биле оне клизеће или неклизеће. При томе је нарочито наглашена предност у односу на класичне мрежне методе попут МКЕ, код којих је ову врсту проблема могуће моделирати искључиво 192 М. Ивановић Докторска дисертација коришћењем одређених специјалних техника, док је код SPH овакав приступ сасвим природан, пре свега захваљујући непостојању мреже и лагранжијанској природи саме методе. Ради комплетности излагања, а за потребе мерења перформанси паралелне MPI верзије SPH07 кода, модел колапса бране је “продужен” по дубини, тако да је добијен аналогни 3Д модел. Поред мерења перформанси, овај модел је послужио и за иницијално тестирање 3Д алгоритма. Поставка проблема и вредности физичких велличина су потпуно исте као у 2Д примеру, док је кретање честица у попречној равни онемогућено. Добијени резултати су идентични онима добијеним за аналогни 2Д пример. Слика 8.24. 3Д случај колапса бране. Временски тренутак t=3.2s 193 М. Ивановић Докторска дисертација 8.5 Моделирање кретања крутог тела кроз нестишљиви флуид 8.5.1 Увод Сви претходно наведени тест проблеми, као и према њима направљени модели, осим проблема струјања флуида са слободном површином, могу се на релативно једноставан начин решавати и неком од мрежних нумеричких метода, на пример методом коначних елемената. Насупрот томе, динамику система флуид-круто тело није тако једноставно моделирати било којом мрежном методом, пре свега због великих варијација просторног домена флуида, насталог услед промене положаја крутог тела при кретању. Са друге стране, судећи по чланцима које потписује Ху са сарадницима [Hu et al. 1992, Hu 1995], моделирање поменутог проблема помоћу МКЕ није немогуће, али је свакако далеко од праволинијског. Најпознатија модификација стандардног МКЕ приступа која третира покретне границе је ALE (Arbitrary Lagrangian Eulerian) формулација [Hughes et al. 1981]. Насупрот томе, Ху предлаже сопствену, прилично компликовану, експлицитно-имплицитну шему, у чијој се примени појављују три некарактеристична проблема за МКЕ, и то: (1) мрежу коначних елемената домена флуида је потребно поново прорачунавати (remeshing) у сваком временском кораку, (2) потребно је пројектовати вредности физичких величина са старе мреже на чворове новодобијене мреже, (3) треба решити проблеме стабилности шеме, што је Ху постигао експлицитно- имплицитним рачуном. На Слици 8.21 приказана је мрежа флуида око крутог тела облика цилиндра у две димензије. Премда се резултати који се презентују у [Hu 1995] врло добро слажу са експериментом, честичне методе, као што је SPH, пружају далеко једноставнији и природнији приступ, као што ће бити показано, уз задовољавајућу прецизност. Наиме, како је SPH метода потпуно Лагранжијанска, проблеми нумерисани са (1) и (2), у случају употребе ове методе, потпуно нестају, док се проблем означен бројем (3) 194 М. Ивановић Докторска дисертација решава као што је објашњено у Одељку 5.6, како за динамику честица флуида, тако и за кретање крутог тела. Слика 8.25. Пример мреже генерисане у симулацијама које је извео Ху са сарадницима [Hu 1992]. nvert, nedge, nelem и nbd означавају редом број тачака, ивица, елемената и граничних чворова Пре него што се пређе на детаље који се тичу SPH модела аналогног горепоменутом моделу коначних елемената, треба дефинисати проблем који се моделира. Експеримент који је извео Џозеф [Joseph et al. 1992], показује да сфере у вискозном флуиду које се налазе близу вертикалног или нешто нагнутог зида, под дејством гравитације, ротирају као да се котрљају низ зид, док се пак сфере под истим условима у вискоеластичном флуиду ротирају као да се котрљају уза зид. У овом и каснијим експериментима је потврђено да сфере не само да ротирају на “аномални“ начин, већ се у свом кретању удаљавају од зида. Интеракције између сфере од крутог материјала и равних зидова у вискозном флуиду ниског Рејнолдсовог броја су биле предмет истраживања Хапела и Бренера [Happel&Brenner 1965]. У присуству једног јединог зида, сфера која се креће паралелно са зидом ротира у смеру као да је у контакту са зидом и котрља се низ њега, а такође је евидентно и значајно клизање сфере у односу на зид. У случају да су присутна два паралелна зида, сфера која се транслаторно креће између њих такође ротира око своје осе, и то у смеру као и у случају једног јединог зида, али само ако се налази веома близу једном од зидова. Међутим, како се сфера помера од ближег зида према центру канала, по Хапелу и Бренеру, као и према експерименту, ротација почиње да тече у 195 М. Ивановић Докторска дисертација супротном смеру. Када дође до средине канала, сфера уопште не ротира око своје осе, што се и очекује, услед симетрије проблема. Овај проблем се може третирати и дводимензионо, када фигуришу две паралелне бесконачне равни и цилиндар уместо сфере. За овај, нешто једноставнији проблем, аналитичка решења су позната већ дуже време [Faxen 1946, Takaisi 1955a,b], са експерименталном потврдом од Вајта [White 1946]. Нешто детаљнију студију урадили су Двински и Попел [Dvinsky&Popel 1987], који поред аналитичког апроксимативног, нуде и нумеричко решење Стоксовог струјања. По њима, цилиндар ротира као да се котрља уза зид (аномално) у свим положајима, осим у веома уском региону где скоро да додирује зид. Управо SPH решење овог 2Д теста са кретањем цилиндра у вискозном флуиду између две бесконачне равни биће предмет овог одељка. Како је у Одељку 8.3 SPH као нумеричка метода већ прошао тест пример 2Д протока нестишљивог флуида око бесконачног цилиндра, генеришући задовољавајуће тачна поља брзина и притиска, овај корак је логичан. Између осталог, ово је и одличан пример за тестирање једне од оригиналних хипотеза дисертације, тј. начина за прорачун интеракције круто тело- флуид, објашњеног у Одељку 5.6, насталог као модификација приступа који је користио Монаган у океанографији [Monaghan et al. 2004]. Као референца за поређење резултата послужиће детаљни чланак Ху-а [Hu 1995]. 8.5.2 Дефиниција проблема Посматра се дводимензионо струјање флуида у бесконачно дугачком каналу ширине W. За флуид у каналу се претпоставља да је Њутнов и нестишљив, са густином  f и динамичком вискозношћу  f . Наравно, код SPH модела важиће услов квази- нестишљивости, тј. да густина флуида било где у домену не сме да се разликује од  f0 више од 3%. Координата x је усмерена у смеру гравитације, а y у смеру ширине канала, као што је то приказано на Слици 8.26. Бесконачно дугачак цилиндар од крутог материјала, пречника d и густине s креће се унутар канала. Центар цилиндра је лоциран на координатама (X, Y), његов угаони померај у односу на почетни угао је  , 196 М. Ивановић Докторска дисертација компоненте брзине цилиндра у правцима x и y су (U, V), а угаона брзина  . На тај начин, стање цилиндра се може описати помоћу два вектора, и то: X ,Y , и U ,V , . Слика 8.26. Конфигурација нестационарног кретања цилиндра у пољу флуида. X и Y дају позицију центра цилиндра, док је  угаона позиција у односу на почетни угао. U и V су транслационе брзине, а  угаона брзина цилиндра Кретање флуида и крутог цилиндра су повезани. Флуид делује силама и моментима на цилиндар, на тај начин утичући на његово кретање, док кретање цилиндра променама граница домена флуида утиче на брзине и притиске у флуиду. Динамика флуида подлеже Навије-Стоксовим једначинама, са укљученим дејством гравитације. Као што је то детаљно објашњено у Одељку 5.6, у SPH терминологији, предложена једначина кретања честице флуида у присуству крутог тела гласи (5.51): d v i dt =− ∑ j∈NHD m j  p j j2 p i i2 ∇ iW ij ∑j∈NHD m j i j vij i j  1r ij ∂W ij ∂ ri ∑k f kiFi , (8.15) где је i честица флуида, k гранична честица крутог тела, fik означава силу по јединици запремине која делује на честицу флуида i од стране граничне честице крутог тела k, vij вектор релативне брзине двеју честица, а Fi запреминска сила. Из једначине (8.15) је 197 М. Ивановић Докторска дисертација очигледно да се ради о Морисовој [Morris et al. 1997] апроксимацији другог извода методом коначних разлика. Овај приступ је потпуно разумљив ако се имају у виду добри резултати постигнути коришћењем Морисове методологије из Одељка 8.3, као и чињеница да се ради о релативно ниском Рејнолдсовом броју. Веза између притиска и густине рачуна се према једначини стања (4.57), док се брзина звука процењује помоћу (4.59). Временска еволуција густине одвија се према добро познатом изразу (4.9). Кретање крутог тела је одређено спецификацијом кретања његовог центра масе и ротацијом око центра масе. Једначине кретања цилиндра масе М дате су једначинама: M d V dt =∑ k mk f k (8.16) и I d dt =∑ k mk rk−R×f k (8.17) где јe М маса цилиндра, а I поларни момент инерције цилиндра по јединичној дужини ( M=sd 2/4 и I=M d 2/8 ), V вектор брзине центра масе, R вектор положаја,  угаона брзина ротације око центра масе. Према изразу (8.16), укупна сила која делује на цилиндар једнака је збиру свих сила које делују на граничне честице цилиндра од стране флуида. Укупна сила по јединици масе на једну граничну честицу k означена је са fk, где се fk добија формулом (5.48), као сума свих интеракција облика “гранична честица крутог тела k - честица флуида у SPH домену утицаја честице k”. Након што је изведена општа форма интеракције цилиндра и околног флуида, поставља се питање коју форму употребити за интеракцију између честице цилиндра и честице флуида, тј. како изгледају fki и fik. Као што је већ напоменуто у Одељку 5.6, основни захтев је поштовање закона акције и реакције, тј. мора бити: fki = - fik. (8.18) Међутим, уместо репулзивне форме за fki коју предлаже Монаган [Monaghan et al. 2004], која даје добре резултате при високим Рејнолдсовим бројевима присутним у океанолошким моделима, за постављени проблем кретања цилиндра у вискозном 198 М. Ивановић Докторска дисертација флуиду, где фигуришу значајно нижи Re (0.01-1), биће примењена интеракција облика (5.55), која се предлаже у овој дисертацији, а заснива се на претпоставци да флуид са крутим телом интерагује вискозним силама преко танког слоја флуида који је везан за тело неклизећим граничним условом. Та интеракција има облик: f ki =−mi  pii2 p k k2 ∇ kW kim i ki vki k i  1rki ∂W ki ∂ r k =−f ik (8.19) Као што ће симулација и показати, први члан средњег израза у (8.19) такође ће онемогућити и нефизичку пенетрацију честица флуида у цилиндар, и то без икакве потребе за увођењем вештачких репулзивних чланова, као у [Monaghan et al. 2004]. Дакле, посматра се цилиндар чија је густина нешто већа од густине флуида s f  који се у почетном тренутку налази у стању мировања у односу на околни флуид. У оригиналном чланку Ху [Hu 1995] користи и Дирихлеове и Нојманове типове граничних услова. Наиме, брзине се прописују на граници између цилиндра и флуида, и то због неклизећег услова, тако да је брзина флуида у тачки (x,y) која се налази на површи цилиндра једнака брзини самог цилиндра у тој тачки. Такође, Дирихлеови гранични услови су прописани и на површима 21 и 22 , јер на њима такође важи неклизећи услов. Са друге стране, теоријски посматрано, канал је бесконачно дугачак, тј. x∈−∞ ,∞ , али нумерички је довољно да се крајеви домена налазе далеко од цилиндра у кретању. Ху претпоставља да је кретање на површи 12 занемарљиво мало (брзина флуида је нула на 12 ), док се на површи 11 , далеко иза цилиндра, узима да у флуиду нема силе у правцу нормале, тј. n=0 на 11 . Што се граничних услова тиче, SPH модел се у неким аспектима разликује од МКЕ модела из [Hu 1995]. Прво, на граници цилиндар-флуид, неклизећи гранични услов ће апроксимативно важити јер се за интеракције тип честица флуида - честица солида користи израз (8.19). За површи 21 и 22 користи се стандардни SPH неклизећи услов дефинисан у Одељку 5.3.2, једначином (5.20), реализован помоћу имагинарних честица. Међутим, са друге стране, испоставило се да је граничне услове на површима 11 и 199 М. Ивановић Докторска дисертација 12 тешко моделирати SPH техником, са истим граничним условима које прописује Ху. Наиме, ако се претпостави да нема кретања SPH честица на 12 , а на флуид делује гравитација, приметно је нагло повећање концентрације честица близу 12 , као и тиме индуковано, смањење концентрације SPH честица на 11 . Овај ефекат је свакако нефизички за нестишљив флуид, а потиче од чињенице да се апсолутно нестишљив флуид моделира једначином стања ограниченом на квази-нестишљивост. Срећом, наведени проблем може једноставно да се реши увођењем периодичног граничног услова на 11 - 12 , који врло добро емулира поставку бесконачно дугог стуба флуида. Како би се спречило протицање флуида под дејством гравитације, услед отворености периодичне границе, постављен је услов да на флуид не делује никаква запреминска (гравитациона) сила, али је зато гравитациона сила која делује на тело умањена за вредност Архимедове силе и на тај начин добијен потпуно еквивалентан модел. Дакле, спољашња сила која делује на цилиндар сада се рачуна као: Fext = Mg− f  d 2 4 g по јединици дужине цилиндра на домену цилиндра, док је Fext = 0 на целокупном домену флуида. (8.20) Применом периодичног граничног услова у комбинацији са екстерним силама које се рачунају по једначинама (8.20) постиже се да густина флуида (репрезентована концентрацијом SPH честица) не варира на границама 11 - 12 , као и апроксимативно задовољавање услова бесконачности структуре. 8.5.3 Параметри SPH модела Посматра се нестационарни проблем кретања цилиндра у вертикалном каналу испуњеном флуидом ширине W, као на Слици 8.26. Цилиндар се креће са компонентама брзине U и V у равни нормалној на своју осу. Претпоставља се да је флуд нестишљив и Њутнов, као и да се проблем своди на дводимензиони. У свим симулацијама се бира да је W=4d, где је d пречник цилиндра. Цилиндар стартује са позиције блиске левом зиду, тако да је зид цилиндра удаљен од зида за d/4. Рејнолдсов број се рачуна у односу на терминалну брзину (коначну брзину по x оси коју постиже 200 М. Ивановић Докторска дисертација цилиндар под датим условима) и пречник цилиндра d. Показује се да цилиндар врло брзо након почетка кретања постиже терминалну брзину. У SPH моделу фигурише 83083 честице, од којих 311 припада цилиндру, 4004 су имагинарне честице потребне за форсирање неклизећих граничних услова на површима 21 и 22 , а остатале су честице флуида. Да би се Рејнолдсов број одржао довољно ниским, узето је да је густина цилиндра само 1% већа од густине флуида. Остали параметри прорачуна дати су у Табели 8.8. Табела 8.8. Вредности физичких и SPH параметара за модел кретања крутог цилиндра кроз нестишљив флуид Параметар Вредност Параметар Вредност Укупан број честица (N) 83083 Базно убрзање (Fext) 5·10-5 ms-2 или 7·10-4 ms-2 Број имагинарних честица 4004 Густина флуида (ρf) 103 kgm-3 Број честица цилиндра 311 Густина цилиндра (ρs) 1.01·103 kgm-3 Број честица флуида 78768 Кинематска вискозност (ν) 10-6 m2s-1 Ширина канала (W) 2.0·10-2 m Рејнолдсов број 0.4 ms-1 или 4 ms-1 Дужина канала (L) 2.5·10-1m Брзина звука (c) 9·10-2 ms-1 Пречник цилиндра (d) 5.0·10-3m Дилатациони параметар (h) 2.6·10-4m Међучестично растојање 2.5·10-4m Временски корак  t 5.7·10-4s 8.5.4 Резултати Иако је Ху [Hu 1995] дао решења за три репрезентативна Рејнолдсова броја, и то 0.438, 4 и 102, SPH методологија која је тежиште дискусије дисертације ограничена је на нешто ниже Рејнолдсове бројеве, тако да су SPH резултати дати само за Re=0.4 и Re=4 . Иако је моделирање са већим Re могуће, довело би до додатних компликација увођењем XSPH методологије (Одељак 4.4.5), што би свакако подразумевало и смањење робусности модела, због потребе да се XSPH параметар  из једначине (4.53) подешава за сваку симулацију посебно. Важно је напоменути да је из резултата које презентује Ху очигледно да цилиндар ротира “аномално” за Рејнолдсове бројеве 0.438 и 4, док за Re=102 осцилује. Судећи по томе, “аномална” ротација цилиндра мора да буде очигледна и код SPH модела, и то од самог почетка кретања под дејством 201 М. Ивановић Докторска дисертација гравитације. На Слици 8.27 приказана је временска историја кретања цилиндра у вертикалном каналу са W/d=4. U, V и  су, редом, брзине транслације и угаона брзина ротације цилиндра око сопственог пола. X, Y и  су координате центра цилиндра и угаоне позиције у односу на иницијални угао. Брзине, дужине и време су бездимензионе величине, а исказане су у односу према следећим јединицама: терминалном брзином Ut, пречником цилиндра d и временом d/Ut, респективно. Графици решења из Ху [Hu 1995] са једне стране, и оригиналних SPH решења са друге стране, намерно нису приказани на истом дијаграму, због очигледно великих одступања SPH решења у односу на референтна МКЕ решења, нарочито у случају где је Re=4 . Разлог за овако велику грешку лежи у чињеници да је честичним методама (чији је SPH типичан представник), користећи исти или приближан број честица (чворова) као у МКЕ много теже на прави начин репродуковати криве површи, нарочито малих димензија. Даљим повећањем резолуције потребно је додатно смањити дилатациони параметар h, а на основу једначина (5.3)-(5.5), то аутоматски значи и смањење временског корака у експлицитној интеграцији, што опет имплицира додатно време рачунања, тако да анализе трају неприхватљиво дуго. Проблем репродукције кривих у SPH очигледан је уколико се упореде слике 8.25 и 8.28, где је евидентна вернија репродукција кривине код модела са мрежом, и то због постојања одговарајућих ивица. Као једно од решења намеће се коришћење варијабилног дилатационог параметра, као код првог примера у овом поглављу, и то тако да честице буду гушће распоређене у околини цилиндра, док далеко од цилиндра њихова концентрација може да буде мања. Међутим, уколико се употребе једначине (5.3)-(5.5) за процену временског корака експлицитне интеграције, и даље се временски корак рачуна према минималном дилатационом параметру, али се перформансе ипак повећавају услед мањег укупног броја честица. Са друге стране, ако би се на почетку анализе SPH честице поставиле тако да у околини почетне позиције цилиндра буду концентрованије (и са нижим карактеристичним h), а даље од цилиндра мање концентроване, у току времена би, 202 М. Ивановић Докторска дисертација услед кретања, дошло до прелаза цилиндра у део цеви где су честице флуида ређе, са чиме би се изгубио почетну предност. За овакве и сличне проблеме, вероватно решење лежи у процесу “remeshing”-а, тј. поновног прорачунавања распореда SPH честица у карактеристичним временским корацима. На жалост, алгоритам предложен у [Chaniotis et al. 2002] још увек није уграђен у софтверски пакет SPH07, а његова имплементација би вероватно захтевала озбиљан рад, с обзиром да софтвер од почетка није био пројектован за ову намену. Упркос свим наведеним недостацима, SPH модел се релативно добро показао уколико се у обзир узме репродукција квалитета кретања цилиндра у флуиду. Наиме, цилиндар ротира у очекиваном (аномалном) смеру, достиже терминалну брзину у X правцу у одговарајућем тренутку и достиже осу цеви по Y оси такође у одговарајућем тренутку. Доказ за врло вероватну тврдњу да се колебања у кретању могу приписати само недостатку методе у опонашању кривине цилиндра се не може извести док се у SPH07 не имплементира тзв. “remeshing” алгоритам. 203 М. Ивановић Докторска дисертација (а) (в) (б) (г) Слика 8.27. Временска историја брзине и положаја цилиндра који се креће у вертикалном каналу са W/d=4. U, V и  су транслаторне брзине по апсциси и ординати и брзина ротације, респективно. X, Y и  су координате центра и угаона позиција цилиндра у односу на почетни угао. Брзина, дужина и време су бездимензионе величине, дате у односу на терминалну брзину Ut, пречник цилиндра d и d/Ut, респективно. Дијаграми (а) и (в) су решења која је дао Ху [Hu 1995] за Re=0.438 и Re=4, респективно, док дијаграми (б) и (г) приказују SPH решења за Re=0.4 и Re=4, респективно. 204 М. Ивановић Докторска дисертација Слика 8.28. Типичан распоред SPH честица у примеру кретања цилиндра кроз нестишљиви флуид под дејством гравитације 8.6 Студија тачности и ефикасности SPH методе у поређењу са DPD (Dissipative Particle Dynamics) методом 8.6.1 Методе микроскале и мезоскале У претходном одељку дато је упоређење једног од класичних тест проблема динамике нестишљивих флуида моделираног SPH методом и класичном мрежном методом - методом коначних елемената. Међутим, како се понаша SPH у поређењу са неким другим честичним методама које су јој директни конкуренти? Наравно, мерење тачности и перформанси биће, као и до сада, спроведено користећи аналитичка решења из класичне литературе [Dryden et al. 1956, Landau&Lifshitz 1959], уз претпоставку хомогености флуида. Ако се сагледа шира димензија примене, комплексни флуиди, као што су колоидне мешавине су од великог интереса за биолошке системе, а врло их је тешко моделирати класичним макроскопским мрежним методома. Наиме, овакви флуиди на макроскопској скали имају хомоген појавни облик, али су веома неуређени услед термалних флуктуација и комплексних реакција између конституената и хетерогени су тачке гледишта ниже скале. Као једно од решења овог проблема намећу се нумеричке 205 М. Ивановић Докторска дисертација методе дискретних честица које раде на тзв. мезоскали, а пројектоване су тако да поштују законе протока флуида и микроскопског и макроскопског нивоа [Kojic et al. 2008a, Kojic et al. 2008b, Wagner 2003]. Насупрот честичним методама мезоскале, SPH метода је, као што је већ познато, чисто макроскопска метода, која се темељи на класичним Навије-Стоксовим једначинама у Лагранжевој формулацији. Историјски гледано, једна од првих честичних метода која се руководи законима микроскопског је молекуларна динамика (MД) [Rapaport 2004], чија популарност и данас расте захваљујући напретку компјутерског хардвера. MД се примењује у многим областима, а првенствено у биологији, где су постигнути значајни резултати у моделирању промена конформације протеина [Gerstein&Levitt 2005]. Међутим, МД модели су и даље веома далеко од задовољавања потреба у молекуларној биологији живих ћелија; ако се помоћу МД моделира протеин малих размера у води, потребно је пратити пола милиона степени слободе у једној јединој наносекунди за позиције 10000 атома! Обрада овако велике количине података и даље је изнад хардверско/софтверских ресурса који су данас расположиви, мада GPGPU технологије (General Purpose Graphics Processing Unit), у време писања овог текста (2009. година) доста обећавају. Да би се превазишла наведена ограничења, формулисан је приступ мезоскале, чији је репрезент DPD (Dissipative Particle Dynamics), који се чини прихватљивим са просторно-временском скалом од 10-1000nm и 1ns до 10ms, респективно. Циљ овог одељка је поређење SPH са DPD методом, са становишта конкретне примене, и то по два параметра: тачност и ефикасност у погледу времена и рачунарских ресурса. Анализа је извршена на два типична, већ обрађена примера: (а) временски зависно 2Д струјање између две паралелне плоче под дејством запреминске силе (Одељак 8.3.2) и (б) временски зависно 2Д струјање између две коаксијална цилиндра при ниском Рејнолдсовом броју (Одељак 8.3.3). 8.6.2 DPD метода У дисипативној честичној динамици (у даљем тексту DPD), систем флуида је дискретизован у скуп интерагујућих честица, слично као код SPH. Међутим, свака DPD 206 М. Ивановић Докторска дисертација честица репрезентује кластер МД честица, тј. атома и молекула. Еволуција позиције честице ri може се добити једноставно из другог Њутновог закона: r˙i = vi v˙i = 1 mi ∑ j≠i N F ij =∑ j≠i N F ij (8.21) где је vi брзина честице, а mi њена маса; Fij је укупна сила дејства честице ј на честицу i, док је Fij иста та сила, али по јединици масе (Слика 8.29). Тачка изнад поједниних величина означава извод по времену, а екстерне силе су занемарене ради једноставности. Слика 8.29. Воронојева тесалација 2Д простора и шематска репрезентација Воронојевих ћелија круговима. Интеракције конзервативних репулзивних сила између честица i и ј су FijC=-FjiC [Kojic et al. 2008a] Силе интеракције међу овако репрезентованим честицама могу се приказати као сума три силе [Espanol&Warren 1995]: конзервативне (репулзивне) FijC, дисипативне FijD и случајне силе FijR, Fij = Fij CFij DF ij R (8.22) Ове силе се могу изразити на следећи начин: Fij C = aij 1−r ij /rc rij0 Fij D =−Mr ij⋅vij =− [ M Rr ijeij eijM T r ij1−eij eij ]⋅vij (8.23) Fij R = Wr ij⋅ij⋅e ij = [W R r ijeij eijW T r ijI−eij eij ]⋅ij⋅eij , 207 М. Ивановић Докторска дисертација где је I јединични тензор, а vij t = I−eij eij ⋅vij тангенцијална брзина. Даље, аij је максимална репулзивна сила по јединици масе, rij је растојање између честица i и ј, rij0=rij/rij је јединични вектор у смеру од ј према i, а  је коефицијент трења. Домен утицаја интеракције је rc, па је због тога Fij=0 за rij>rc, што значи да је и код DPD присутан компактан домен утицаја, као код SPH, што је веома значајно за перформансе анализе. Амплитуда случајне силе је  = 2 k B T  1 2 , (8.24) при чему је kB Болцманова константа. Ортотропни тензор W(rij) зависи од две скаларне функције WR(rij) и WT(rij), а случајни симетрични тензор другог реда ij поседује две компоненте у 2Д простору са нултом средњом вредношћу и једниничном варијансом. Случајне и дисипативне скаларне функције МR(rij), МТ(rij), WR(rij), WТ(rij) задовољавају следеће релације: M T rij = [W T r ij] 2 M R rij = [W R r ij] 2 , (8.25) где су M R =1−r ij/ rc 2 M T = 0.5 1−r ij /rc 2 . (8.26) Треба приметити да у изразима за дисипативну и случајну силу (8.23) фигурише тангенцијална сила [Filipovic et al. 2008]. 8.6.3 DPD гранични услови Имплементација граничих услова у DPD методи, као ни у SPH није тако једноставна као у случају класичних мрежних макроскопских метода, као што је МКЕ. Развијено је неколико приступа за постављање граничних услова, а њихово поређење је дато у [Haber et al. 2006]. Слој честица на зиду се сматра замрзнутим, с тим што је омогућена њихова интеракција са осталим активним честицама, слично као код неклизећих 208 М. Ивановић Докторска дисертација граничних услова у SPH објашњеним у Глави 5. На пример, bounce-back рефлексија се изражава следећом релацијом: vWj  =−vWj − (8.27) где је vWј брзина честице ј релативно у односу на брзину зида; док су vWј+ и vWј- брзине пре и после контакта са зидом, респективно. 8.6.4 Интеграција DPD једначина Приликом интеграције диференцијалних једначина кретања (8.21) са временским кораком  t , резултујућа сила интеракције која делује на честицу i се рачуна као: Fi =∑ i≠ j FijCFijDF ijR  t−1/ 2 (8.28) Коефицијент  t −1/2 који множи случајну силу долази из интеграције стохастичких једначина кретања [Espanol&Warren 1995]. Наиме, утврђено је да ширење случајне силе расте уколико дати физички временски интервал порасте преко неколико временских корака. Да би се овај ефекат избегао, врши се множење случајне силе коефицијентом  t −1/2 . Грут и Ворен [Groot&Warren 1997] дају физичку интерпретацију овог коефицијента. Уобичајени приступ интеграцији DPD једначина подразумева имплементацију једноставног Ојлеровог експлицитног метода. Доказано је, међутим, да тзв. брзински- Верле (Velocity-Verlet) алгоритам [Groot&Warren 1997] даје боље резултате. У ствари, leapfrog из Одељка 5.1 и овај алгоритам су идентични, само различити називи потичу од различитих аутора. Интеграциона шема за временски корак n дата је једначинама (8.29), где горњи леви индекси n и n+1 одговарају, редом, почетку и крају временског корака. Дакле, позиција честице n+1ri на крају корака се рачуна Ојлеровом методом, док се сила n+1Fi и брзина n+1vi израчунавају коришћењем брзине на половини корака n1 v : n1ri = n rit n vi 1 2  t 2 n Fi n1 vi = n vi ' t n F i (8.29) 209 М. Ивановић Докторска дисертација n1Fi = F i  n1r , n1 v n1vi = n vi t n vi 1 2 t   n Fi n1 Fi  . (8.29) 8.6.5 Пример 1. Нестационарни проток између две паралелне плоче За почетак поређења изабран је једноставан пример Poiseuille струјања, познат из Одељка 8.3.2. Да би се извршило поређење познатог SPH модела са DPD моделом, за SPH је узет модел са идентичним вредностима физичких и нумеричких параметара као у Табели 8.2, при чему су изводи другог реда апроксимирани методом коначних разлика, као у [Morris et al. 1997]. Вредности параметара су: кинематска вискозност ν=10-6m2s-1, густина флуида ρ=103kgm-3, ширина канала 2d=10-3m запреминска сила F=10-4ms-2, Δt=10-4s, са 30 честица по ширини канала. Укупан број честица, реалних и виртуелних, је 1891. Референтно аналитичко решење за брзину дато је једначином (8.3). Са друге стране, параметри DPD модела су следећи: параметар конзервативне силе аij=25, параметар дисипативне силе γ=4.5, типична вредност за воду [Groot&Warren 1997]. Укупно 800 простих DPD честица учествује у симулацији (Слика 8.30). Домен флуида у x-y равни је дефинисан са 0