En adaptiv model til animering af væsker. Jens Egeblad, Michael Gram Haagensen og Marinus Rørbech



Relaterede dokumenter
Resultat af spørgeskema til Friskolens elever

Fedtstoffer. Kemi B - Dansk A. Navne: Ugur Kitir, Devran Kucukyildiz og Mathias Turac. Vejleder: Anja Bochart og Birgitte Madsen. Skole: HTX Roskilde

Fremstilling af pokal

BILAGSRAPPORT. Mou Skole Aalborg Kommune. Termometeret

ABCDEFGHIJKLMNOPQRSTUVXYZÆØÅ. abcdefghijklmnopqrstuvxyzæøå ABCDEFGHIJKLMNOPQRSTUVXYZÆØÅ. abcdefghijklmnopqrstuvxyzæøå ABCDEFGHIJKLMNOPQRSTUVXYZÆØÅ

Energimærkning. Tekniske Bestemmelser for forsatsvinduer. Juni Indholdsfortegnelse

BILAGSRAPPORT. Mou Skole Aalborg Kommune. Termometeret

I lærervejledningen har vi formuleret læringsmål, som i det følgende er omsat til en række tegn på læring:

BILAGSRAPPORT. Mou Skole Aalborg Kommune. Termometeret

Matematisk modellering og numeriske metoder. Lektion 13

Lærerprofession.dk et site om lærerpraksis og professionsudvikling 2014

RUDER OG VINDUERS ENERGIMÆSSIGE EGENSKABER

REACH - for brugere af kemikalier

Planen for i dag. Logiske og fysiske adresser. Systemarkitektur. Binding af programkode til lager. Hardware understøttelse af lageradministration

Psykosocialt arbejdsmiljø

BL Danmarks Almene Boliger. Lønstatistik for ejendomsfunktionærer, september måned 2015

Opgavetyper for mindstekrav i MAT B

SMART Ink. Windows operativsystemer. Brugervejledning

DBU Aldersrelateret træning - for 9-14 årige

Udledning af formel for pyramidestubbens rumfang

SMART Notebook 3Dværktøjer. Brugervejledning

Metode til beregning af varmetransmissionskoefficient (U-værdi) for ovenlys

Uddannelsesplan Praktik 4.årgang

Matematisk modellering og numeriske metoder. Lektion 13

Aalborg Universitet. Hydrometeranalyse. Nielsen, Benjaminn Nordahl; Nielsen, Søren Dam. Publication date: 2019

Freez-It(R) Anti-Stat. : Freez-It(R) Anti-Stat. : Cooling agents - (not for metal processing) - Cooling agents

Baggrundsnotat: Estimation af TFP og sammenhæng til uddannelse

lineær regression er en metode man bruger for at finde den mindste afstand mellem bestemte punkter ved at bruge denne formel: a= n i=1 i=1

Fysiske krav, løft og arbejdsstillinger

SMART Ink. Mac OS X-operativsystemsoftware. Brugervejledning

Matematisk modellering og numeriske metoder. Lektion 16

N O T A T. Behandling af bemærkninger til Tillæg nr. 27 og Lokalplan nr. 444

Klima og miljøredegørelse 2012 for Vej & Park

Er i overensstemmelse med forordning (EF) nr. 1907/2006 (REACH), Bilag II - Danmark. FreeZ-It(R) AntiStat

Størstedelen af unge uden uddannelse har en svag hjemmebaggrund

Bilag 1: Beregningseksempel.

Delmængder af Rummet

SMART Ink. Mac OS X-operativsystemsoftware. Brugervejledning

Matematisk modellering og numeriske metoder. Lektion 5

Er jeg klam, hvis jeg er til slam?

Beregningsprocedure for de energimæssige forhold for forsatsvinduer

Epistel E2 Partiel differentiation

Michael Jokil

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Høreområdet: hørevejledning/rådgivning

KONTORER MED BEDSTE BELIGGENHED I GLOSTRUP

Dato Prioritet Problemstilling Løsning/Begrundelse Ansvarlig Økonomi

KONTORER MED BEDSTE BELIGGENHED I GLOSTRUP

Vektorfunktioner. (Parameterkurver) x-klasserne Gammel Hellerup Gymnasium

Øvelse 4.1 1/3 KemiForlaget

Introduktion til cosinus, sinus og tangens

Appendiks 6: Universet som en matematisk struktur

Bridgit 4.6. Brugervejledning

Studieretningsopgave

SMART Table -software og SMART Table Værktøj. Brugervejledning

Det er historisk ganske nyt, at instanser uden for familien med øget styrke og øget ihærdighed søger at påvirke den retning, denne familielæring

Matematisk modellering og numeriske metoder. Lektion 19

Daginstitutionen Pilehaven

Kolofon Pensée Lasagne etc. Soufflé Kasper Hesselbjerg 2012 Forlaget emancipa(t/ss)ionsfrugten Nørre Farimagsgade 33A, 1.th 1364 København K

π er irrationel Frank Nasser 10. december 2011

Vinkelrette linjer. Frank Villa. 4. november 2014

Afstande, skæringer og vinkler i rummet

Arbejdstid. Hvem har skæve arbejdstider, og hvordan er balancen mellem privatliv og arbejdsliv? Arbejdsmiljø i Danmark 2005

Afstande, skæringer og vinkler i rummet

7 SKARPE TIL TRØJBORG. Fakta og udsagn om de muligheder. over for netop nu. Lav flere fejl

Masterplan for implementering af folkeskolereformen

1. Bevægelse med luftmodstand

Institut for Matematik, DTU: Gymnasieopgave. Det skrå kast. Teori: Erik Øhlenschlæger, Fysik for Diplomingeniører, Gyldendal 1996, side

Analytisk Geometri. Frank Nasser. 12. april 2011

Hvordan måler man præcist?

SMART Notebook Math Tools 11

Opgaver hørende til undervisningsmateriale om Herons formel

Projekt 3.7. Pythagoras sætning

Matematikprojekt Belysning

Aalborg Universitet. Sigteanalyse. Nielsen, Benjaminn Nordahl; Nielsen, Søren Dam. Publication date: Document Version Også kaldet Forlagets PDF

Matematisk modellering og numeriske metoder

Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak

REDIGERING AF REGNEARK

Introducerende undervisningsmateriale til Geogebra

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Matematisk modellering og numeriske metoder. Lektion 17

Grundlag for anbefalinger for sund mad i vuggestuer og børnehaver

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT.

MODELSÆT 2; MATEMATIK TIL LÆREREKSAMEN

ANALOG vs DIGITAL. figur 1: fotografi af en blyantsstreg. figur 2: en linje beskrevet som formel er omsat til pixels

Vækst og effektivisering Venstre, Dansk folkeparti og Liberal Alliance viste med konstitueringsaftalen, at der var udstukket en ny retning.

Differentialligninger med TI-Interactive!

Optimale konstruktioner - når naturen former. Opgaver. Opgaver og links, der knytter sig til artiklen om topologioptimering

Projekt 6.7. Beviser for Pythagoras sætning - og konstruktion af animationer

Tilhørende: Robert Nielsen, 8b. Geometribog. Indeholdende de vigtigste og mest basale begreber i den geometriske verden.

OPFØLGNINGSREDEGØRELSE 2011/2012 & MÅL 2012/2013 KVALITETSKONTRAKT - SUNDHEDSFORVALTNINGEN

Kaotisk kuglebevægelse En dynamisk analyse

Medarbejdetrivselsanalyse Delrapport: Funktionærer

Matematik A-niveau STX 1. juni 2010 Øvelse DELPRØVE 1 & DELPRØVE 2

GeoCaching hvordan man finder det... ved hjælp af satelitter

Matematik 1 Semesteruge 5 6 (30. september oktober 2002) side 1. Komplekse tal Arbejdsplan

Vektorer og lineær regression

Delmængder af Rummet

Vektorer og lineær regression. Peter Harremoës Niels Brock

Pointen med Differentiation

Transkript:

En adaptiv model til animerin af væsker Jens Eeblad, Michael Gram Haaensen o Marinus Rørbech Den 4.juni 2002

INDHOLD 2 Indhold Forord 8 2 Indlednin 9 2. Rapportens indhold............................... 0 2.2 Krav til læseren................................. 0 2.3 Den vedlate CD-ROM............................. 3 Notation 2 3. Vektorer o matricer.............................. 2 3.2 Gradientoperatoren............................... 2 3.3 Andre benyttede notationer.......................... 3 3.4 Diskret differentiation............................. 3 3.4. Vætet diskret differentiation..................... 4 4 Navier-Stokes differentiallininer 7 5 Tidliere arbejde 9 5. Foster o Metaxas metode........................... 20 5.. Diskretiserin.............................. 20 5..2 Løsnin af Navier-Stokes....................... 20 5..3 Visualiserin.............................. 22 5.2 Stams metode.................................. 23 5.3 Foster o Fedkiws metode........................... 25 5.3. Overflade-sporin vha. levelset.................... 25 5.3.2 Dynamiske barrierer.......................... 26 5.3.3 Bereninstider............................. 27 5.4 Enriht, Marschner o Fedkiws metode................... 27 6 Motivation 28 6. Afræsnin af rapporten............................ 28

INDHOLD 3 7 Gitterstruktur 30 7. Krav til itterstrukturer............................. 30 7.2 Forskellie Gitterstrukturer.......................... 3 7.2. Hastiheder i centrum eller på kanter................ 3 7.2.2 Strukturerede o ikke-strukturerede itre.............. 32 7.2.3 Ensartet kartesisk struktur....................... 34 7.2.4 Uensartet kartesisk struktur...................... 35 7.2.5 Trekantstruktur............................. 37 7.2.6 Andre strukturer............................ 38 7.2.7 Val af itterstruktur........................... 39 7.3 Datastrukturer.................................. 39 7.3. Naboraf................................. 4 7.4 Indhold i hver celle............................... 42 7.5 Hastihedsinterpolation............................ 42 7.5. Skyeceller............................... 43 7.5.2 Emuleret skyecelleinterpolation.................. 45 7.5.3 Andre former for interpolation.................... 45 8 Væskemodel 46 9 Opdaterin af hastihedsfeltet 47 9. Hastihedsrekonstruktion........................... 48 9.2 Eksterne kræfter................................. 50 9.3 Gnidnin..................................... 50 9.4 Strømnin.................................... 5 9.4. Method of characteristics....................... 5 9.4.2 Upwind-differencin.......................... 5 9.5 Massebevarelse................................. 52 9.5. Helmholtz-Hode-dekomposition.................. 52 9.5.2 Lininer for trykket i den adaptive model............. 54 9.5.3 Løsnin af lininssystemet med konjueret radient....... 56

INDHOLD 4 9.5.4 Opdaterin af det diverensfrie hastihedsfelt........... 59 9.6 Væskerænser.................................. 62 9.6. Overfladeceller............................. 62 9.6.2 Barrierer................................. 63 9.6.3 Luftceller................................ 66 9.7 CFL-betinelse.................................. 67 9.8 Ekstra datastrukturer.............................. 67 9.9 CFD-metoder.................................. 67 9.9. Multirid................................. 68 9.9.2 A Quadtree-Based Adaptively Refined Cartesian Grid Alorithm for Solution of the Euler Equations.................. 68 0 Opdaterin af væskemodel 69 0. Markørpartikler................................. 69 0.. Problemer ved markørpartikler.................... 69 0.2 Levelset...................................... 7 0.2. Levelset i den adaptive struktur................... 7 0.2.2 Initialiserin............................... 73 0.2.3 Opdaterin af levelset......................... 73 0.2.4 Opdaterin af celletyper fra levelset................. 74 0.2.5 Problemer med levelsetmetoden................... 75 0.2.6 Præcision................................ 75 0.3 Levelset eller partikler............................. 75 Tilpasnin af træstruktur 77. Objekter..................................... 77.. Repræsentation............................. 77..2 Barrierehierarki............................. 78.2 Neddelin af octree med hensyn til objekter................. 78.2. Polyonklipnin............................ 78.2.2 Initiel tilpasnin............................ 79.2.3 Definition af objekters indre...................... 79

INDHOLD 5.2.4 Bestemmelse af celletyper....................... 83.3 Vedlieholdelse af cellestrukturerne..................... 84.3. Delin.................................. 84.3.2 Samlin................................. 85.3.3 Udvidelse af celleitteret....................... 86.4 Samlins- o delinskriterier......................... 86.4. CFD-metoder.............................. 86.4.2 Andre strateier............................. 87.5 Dynamiske barrierer.............................. 88.5. Overordnet............................... 88.5.2 Tomrum efter passae......................... 89.5.3 Aførelse af barrieretype....................... 90.5.4 Bevæelseshastihed.......................... 90.5.5 Tilpasnin til træstrukturen...................... 9.5.6 Dynamiske barrierer o levelset................... 92.6 Kilder....................................... 92 2 Visualiserin 95 2. Visualiserin af barrierer............................ 95 2.2 Visualiserin af væske............................. 95 2.2. Visualiserin med partikler...................... 96 2.2.2 Visualiserin med levelset o marchin cubes........... 00 2.2.3 Visualiserin ud fra levelset et.................... 0 2.2.4 Visualiserin ud fra celletyper.................... 02 3 Implementation 03 3. Implementationsdetaljer............................ 03 3.2 Visualiserin................................... 03 3.3 Tidskontrol.................................... 03 3.4 Inddata o Bruervejlednin......................... 04 3.5 Uddata...................................... 04

INDHOLD 6 4 Resultater 05 4. Afprøvniner.................................. 06 4.2 Animationer................................... 07 4.2. PoolDrop................................ 08 4.2.2 Separated................................ 9 4.2.3 Splash.................................. 2 4.2.4 Glass................................... 25 4.2.5 ThinninOut.............................. 28 4.2.6 Boatin.................................. 30 4.2.7 WaterCup................................ 32 4.2.8 PoolRotor................................ 34 4.3 Generel vurderin................................ 36 5 Konklusion 37 5. Fremtidit arbejde................................ 37 5.. Numerisk stabilitet........................... 37 5..2 Forbedret visualiserin af overfladen................ 37 5..3 Volumentab............................... 38 5..4 En trekantsmodel............................ 38 5..5 Todimensionelt adaptivt højdefelt.................. 38 5..6 Forbedret interpolation........................ 38 5..7 Flere animationsmuliheder..................... 38 Litteratur 40 A Positive definite matricer 43 B Binary-space-partionin træer 45 B. Konstruktion af BSP-træet........................... 45 B.2 Punktbestemmelse............................... 46 C Kort om marchin-cubes 48 C. Adaptiv marchin cubes............................ 49

INDHOLD 7 D Bruervejlednin 50 D. Afviklin af prorammet............................ 50 D.2 Scenebeskrivelsesformat............................ 5 D.2. Nøleord................................. 5 D.2.2 Generelt................................. 52 D.2.3 Notation................................. 52 D.2.4 Scene.................................. 52 D.2.5 Solver................................. 54 D.2.6 Material................................ 54 D.2.7 Mesh................................... 55 D.2.8 TimeCop................................. 55 D.2.9 MeshInstance............................. 59 D.2.0 Compound................................ 60 D.2. CompoundInstance......................... 60 D.2.2 Obstacle................................ 60 D.2.3 Liquid................................. 6 D.2.4 Camera................................. 62 D.2.5 Liht.................................. 62 D.2.6 SourceEffect............................. 63

FORORD 8 Forord Denne rapport omhandler emnet animation af væske. Vi vil i det følende beskrive de metoder der tidliere har været anvendt til at løse problemet, o med udanspunkt i artiklerne af Joseph Stam, Dimitri Metaxas, Nick Foster o Ronald Fedkiw ([0, 28, 9]) vil vi beskrive en model der kan anvendes til simulerin af væske i forbindelse med animation. Modellen udmærker si ved at være adaptiv, o er, så vidt vi ved, den første adaptive model til animation af væske. Modellen har vist si at funere odt i praksis o er væsentlit hurtiere end de tilsvarende ikke-adaptive modeller vi har fundet i litteraturen. Der står do endnu nole uløste problemer tilbae. Generelt er et af hovedproblemerne numerisk ustabilitet. Vi er do overbeviste om at disse problemer kan løses.

2 INDLEDNING 9 (a) (b) Fiur 2.: (a) Mælk hældes op i et las. (b) En computerenereret trold taer et bad i mudder der hældes ud af en spand. Billederne stammer fra spillefilmen Shrek (copyriht DreamWorks SKG). 2 Indlednin Gennem de sidste 0-5 år er computerrafik o computeranimation blevet mere o mere anvendt som en del af spillefilmsproduktion endda i så høj rad at der de seneste år er fremstillet indtil flere film udelukkende ved bru af computere. I takt med at computere er blevet kraftiere, er rafik o animation i computerspil lieledes blevet mere avanceret o kravet om realisme er steet. Indenfor animation er realisme ikke blot et spørsmål om kvaliteten af de enkelte billeder, men oså et spørsmål om realistisk bevæelse. I denne forbindelse er man i højere rad beyndt at anvende fysikkens love til at opnå naturlie bevæelser. Kendte eksempler på dette er animerin af stof o elastiske fiurer, fx ummi o elé, men i de seneste år har udviklin af computerkraft såvel som udarbejdelsen af nye modeller jort det mulit oså at animere ild, rø o væske realistisk. Realistisk animation af væsker er en af de sværeste discipliner indenfor computeranimation. På spørsmålet om hvilken scene fra den computeranimerede spillefilm Shrek der var sværest at lave, har Jeffrey Katzenber svaret It s the pourin of milk into a lass. [4] Et klip fra den scene han refererer til, kan ses på fiur 2. (a). Jeffrey Katzenber leder hos DreamWorks SKG o producer på Shrek

2. Rapportens indhold 0 Forskerparret Nick Foster o Ronald Fedkiw har imidlertid opnået ode resultater med deres model [9] der lier til rund for DreamWorks SKG s prisbelønnede væskeanimationssystem som bl.a. er blevet brut til animation af væske i Shrek, se fiur 2.. Denne metode lider do af at berenin af et enkelt billede i en animation taer meet lan tid, hvilket fx ør metoden fuldstændi ubrueli i sandtids-simuleriner selv et odt stykke ud i fremtiden. En hurtiere model vil derfor være kærkommen. 2. Rapportens indhold I denne rapport vil vi beskrive en metode til simulation o animation af væske. Vi vil tae udanspunkt i tidliere udviklede modeller (bl.a. Foster o Fedkiws) o beskrive en hurti model der udnytter at mænden af bereniner kan reduceres i de områder af den simulerede væske hvor der ikke er behov for høj detaljerad. Eksisterende modeller I afsnit 5 vil vi først beskrive de modeller vi har fundet i litteraturen. Dette håber vi vil ive et overblik over de områder o metoder der findes indenfor væskeanimerin. Vores een model I afsnit 6 vil vi ud fra de tidliere anvendte modeller diskutere hvad vi ønsker at opnå med vores een væskemodel. I afsnit 7 til 2 vil vi herefter præcisere vores model o uddybe nole af de problemstilliner der er forbundet med modellen o måden hvorpå vi løser dem. Resultater Vi har implementeret vores model i et animationssystem, som vi har kaldt for. I afsnit 4 beskriver vi en række testanimationer enereret med som illustrerer nole af modellens styrker o svaheder. 2.2 Krav til læseren Da der i arbejdet med simulation o animerin af vand indår matematik i et omfan vi umulit kan dække i denne rapport, vil vi antae at læseren har en vis matematisk forståelse, svarende til første års universitetsniveau. I afsnit 3 vil vi kort ennemå de notationer o de diskrete differentiationsmetoder vi vil benytte i resten af rapporten. Dette sammen med ovennævnte kendskab til matematik skulle være nok til at kunne sætte si ind i de problemstilliner der ennemås senere i rapporten. Vi vil således ikke forudsætte kendskab til de fysiske love som lier til rund for projektet. Den nødvendie kendskab til disse vil blive ennemået i afsnit 4. Yderliere emner der kan være en hjælp for læseren, har vi valt at beskrive i appendikser. Der vil blive refereret til disse emner hvor de har relevans.

2.3 Den vedlate CD-ROM 2.3 Den vedlate CD-ROM Da det er svært at videreive indholdet af de animationer der er resultatet af denne rapport på papir, har vi følt det nødvendit at supplere rapporten med en CD-ROM som vi har vedlat. CD-ROM en indeholder bl.a. følende: Animationssystemet incl. kildetekst o proramdokumentation i HTML-format. Denne rapport i Adobes PDF-format. I denne udave af rapporten kan fiurerne ses i farver. Testscenerne o de tilhørende animationer, som beskrevet i afsnit 4. Vi opfordrer læseren til at se de animationer der er vedlat på CD-ROM en, men med kompleksiteten af modellen i bahovedet.

G G Q ` Q ` ` ] 3 NOTATION 2 3 Notation For at lette læsnin af denne rapport vil vi i dette afsnit indføre nole forskellie notationsstandarder som vi vil forsøe at overholde i så vid udstræknin som mulit. 3. Vektorer o matricer Vektorer vil vi betene med små bostaver skrevet med fed skrift, fx. Lieledes vil vi oså skrive vektorfunktioner med fed, fx. Hvis intet andet er anivet, er vektorer tredimensionelle o vektorfunktioner af typen. Vektorer o vektorfunktioner skrives oså komponentvis på følende måde "!$#%&'#% )(+*# "!$#%&'#% )(-,. (3.) /0 2! 3#%4& 3#%4( 5%+*/# 6,7 #869) ;: (3.2) Matricer vil vi betene med store bostaver skrevet med fed skrift, fx <. Elementer i matricer betener vi med små bostaver, liesom indices oså betenes med små bostaver. For en =?>A@ -matrix < te søjle for H-IJFKIL@, HMI PO P P <N vil B$CED således betene elementet i den F te række o IJ=. Der ælder altså B R%STR B2R%S U VVV B R%S W B UXSTR B UXS U VVV B UXS W...... B'Y STR B Y S U VVVZB'Y S W [\ \ \ (3.3) 3.2 Gradientoperatoren I Navier-Stokes differentiallininer indår radientoperatoren ^. Der ælder hvilker fx medfører ^fv/5 ^ _a` ` b 2! `2b #c` ` d 4& ` d #c` `4e * # (3.4) h(i `2e # 6,. ;: (3.5) I litteraturen o derfor oså i denne rapport bliver radientoperatoren brut kreativt på tre følende måder. For en vektorfunktion / lader vi ælde ^jv ^k%/ PO P lnmponqrtsiu l! m l m onvnrtsiu l! m lnmponwxrys)u l! m lnmponqnrtsiu l & m l m onvnrtsiu l & m lnmzonwrtsiu l & m lnmponqrtsiu l ( m l m onvnrtsiu l ( m lnmponwxrtsiu l ( m [\ \ ] # 6,7 (3.6)

ˆ Š Œ Ž PO Q Ž Ž Ž # # 3.3 Andre benyttede notationer 3 o for to vektorfunktioner /5 o { ælder l2qnrtsiu l 2q rysiu 4! l! 2& l l v rtsiu l v & rysiu /}Vn^~z{ 5K 2! l! 2& l l 2wxrtsiu l2wxrys)u & 4! l! 2& l & Endeli vil vi benytte notationen ^V^ ^ U. h( h( h( l2qrtsiu l l v ( rtsiu l l2wxrtsiu ( l ( [\ ] # 6,7 : (3.7) 3.3 Andre benyttede notationer Da mane af de benyttede formler er basserede på fysiske relationer, vil vi desuden benytte følende notationer for de indvolverede fysiske parametre ƒ Punkt i rummet, ƒ _t! # & # ( *. 4 Trykfelt til tiden. Hastihedsfelt til tiden. 8 ƒ Hastihed til tiden i punktet ƒ. Væskens densitet. Væskens viskositet. Det atmosfærisk tryk. Tyndeaccelerationen. ^.V Diverens. ƒ Eksterne kræfter i punktet ƒ. Dertil kommer en række operatorer som vil være nyttie i forbindelse med udlednin af vores datastrukturer k En enkelt celle. En mænde af celler. Cellebredde ved uniform celleinddelin. A k A Dimensionerne af en celle!# &i# (n *. A Ved uniform celleinddelin specielt f Midtpunktet af en celle,. Neddelinsniveau for en celle,. Størrelse af en celle,. k A *. 3.4 Diskret differentiation Vi vil i mane sammenhæne benytte diskret førsteordensdifferentiation o nedenstående er en kort enneman af diskret differentiation (se evt. [3]).

œ œ U œ œ # œ # H œ œ œ œ H H U H œ œ R œ œ œ œ # œ œ œ # œ œ œ œ œ U œ R œ œ œ # r u œ œ œ 3.4 Diskret differentiation 4 Ved at udnytte taylorrække-fremstillinen af en funktion 9 N kan s afledte skrives på følende tre forskellie måder œ U h b4 š )œ } b4 6 } bh % ž Ÿ R 3# (3.8) h b4 š b4 š œ hvor,, Ÿ R, bh b4 œ } b4 6 } bh % h zÿ U o (3.9) œ H } b4 } b4 % h zÿ 3# (3.0) œ;, Ÿ U, o b4 b4 Ÿ, œ;. b4 bh Endvidere ælder følende formel for s andenafledte b4 š œ U } b4 œ hvor, o ŸA, y œ; approksimationer for b o b. 3.4. Vætet diskret differentiation } bh } b4 % œ U H ry 8u Ÿ 3# (3.). Ses der bort fra højereordensafledede i de fire formler fås Vi vil i det følende skulle differentiere funktioner hvor funktionsværdien kun er eksplicit anivet i bestemte punkter. Disse punkter lier ikke nødvendivis i samme afstand fra differentiationspunktet, o derfor kan formlerne (3.8) o (3.) ikke brues direkte. I stedet kan man brue en alternativ udave hvor der taes højde for afstandene. Formlerne (3.8) o (3.) er baseret på taylor-udledninen for i } b o } bh (se evt. [3] kapitel 4). Betrater vi i stedet taylor-udledninen for i } b RX o } b Un får vi: œ U } b R30 } b 5 RVn h b h Ÿ"R3zª)«(3.2) œ U } b4 U 0 } bh U Vn U b4 Ÿ U 3# (3.3) œ hvor U # R,, Ÿ R, bh R # o b4 Ÿ U,L. Da kan b4 bh b4 bestemmes ved at trække (3.2) fra (3.3), hvorved der fås R V h b4 } b4 U } b4 R 5 œ U R h Ÿ R œ U U h Ÿ U : (3.4) Ses der bort fra ledene hvor den andenafledte indår, fås approksimationen b4 K } b4 U 6 } b4 R % : (3.5)

R œ b # d # e # œ R œ œ œ ` R U œ œ œ H œ R # # œ H œ R œ œ œ r u œ œ H œ R R œ H œ R H œ U H œ R r u H œ U H œ R H œ U # R œ H œ U œ U # # H œ U œ # œ œ r u r u H œ U # œ œ 3.4 Diskret differentiation 5 En taylor-udlednin af højere orden iver b U U # R Ÿ R ± R m } RX } b4 hvor,n,, b4 ±"² o. Dette iver } b } b4 R # bh œ U RV b b œ U U V U bh b4 o Ÿ U, b4 bh ž R ž U Ÿ"RXzª)«(3.6) Ÿ U 3# (3.7). Adderes (3.6) o (3.7) forsvinder førsteordensleddet ikke. Derfor vætes de to lininer med henholdsvis H œ U ³ b4 š } b4 œ U ž R R 5 œ U Ÿ R ž U ³ } b4 Ses ien bort fra tredieordensleddet får man approksimationen h b4 K U7µ } bh R L } b4 Ÿ U (3.8) ³ } bh } bh U U p : (3.9) Approksimationerne kan oså anvendes til funktioner af flere variable ved at rene komponentvis. Fx bliver for 4!# R # ` b U! b U,7. d e š U µ 4!$ bh! b V! b U # di d e R # d e e p # (3.20) I mane af de sammenhæne hvor vi anvender diskret differentiation kunne man væle at brue ovenstående formler. Vi har imidlertid valt en lidt anden fremansmåde. I stedet for at brue de udvidede approksimationsformler har valt at rekonstruere funktionsværdien, så afstanden til bee punkter bliver ens. For en stykvis lineær funktion får vi altid den ritie funktionsværdi når vi rekonstruerer. Differentierer man i intervalendepunkter for stykvis linære funktioner, iver rekonstrution intuitivt et bedre resultat. Benyttes approksimation af (3.8) bruer man punkter lie lant fra differentiationspunktet. I praksis svarer dette til at man taer ennemsnittet af taenterne i funktionspunktet. Bruer man i stedet (3.5), vætes den ene tanent mere end den anden, hvilket svarer til at formel (3.8) er blevet brut i et punkt ved siden af det eentlie differentiationspunkt. Dette er illustretet på fiur 3..

œ 3.4 Diskret differentiation 6 y h h x Fiur 3.: En diskret funktion hvor funktionsværdierne kun er anivet i cirklerne. Der er to oplate måder at differentiere en diskret funktion i et punkt hvor afstanden til nabopunkterne er forskelli. Enten bruer man udvidede approksimationsformler, eller oså konstruerer man værdien ud fra naboerne, så de to punkter har samme afstand. Fiuren viser en stykvis linær funktion. To approksimationer til den afledte af funktionen i det hvide punkt er afbilledet. Den ene hældninen af en stiplede linje er berenet ved at brue den udvidede approksimationsformel. Den anden hældninen af den prikkede linje ved at rekonstruere funktionens værdi i det kasseformede punkt. Teoretisk set kan enerel rekonstruktion oså underbyes ved at kie på fejlen i de to funktioner. For formlerne (3.8) o (3.) er fejlen i størrelsesorden ķ œ U, mens den for formlerne (3.5) o (3.9) kun er i størrelsesorden ~. Denne fejlbetratnin ælder do ikke for de stykvis linære funktioner vi betrater her. Uanset hvilken metode man benytter, er resultatet ikke helt korrekt i de tilfælde hvor man differentierer en stykvis linær funktion i intervalendepunkter. Det skyldes at funktionen anske enkelt ikke er differentiabel i de punkter. I stedet er det at foretrække at differentiere diskret i midten af intervallerne hvor tanenten er helt veldefineret. Differentiation af stykvis linære funktioner i intervalendpunkterne approksimerer i det todimensionale tilfælde tanenterne for højre o venstre interval. Denne overvejelse er viti i forbindelse med de former for diskret differentiation vi udfører i de følende afsnit o for forståelsen af den numeriske ustabilitet vi vil beskrive i afsnit 9. Formlerne (3.8) o (3.) hører ind under berebet midtpunktsdifferentiation (en. central differencin), mens formlerne (3.9) o (3.0) tilhører henholdsvis venstre- o højredifferentiation. I resten af rapporten vil midtpunktsdifferentiation henvise til approksimationerne for (3.8) o (3.).

` ` ` ` ` ` 4 NAVIER-STOKES DIFFERENTIALLIGNINGER 7 4 Navier-Stokes differentiallininer Bevæelser i en ikke-turbulent væske kan beskrives ved Navier-Stokes differentiallininer der beskriver ændrinen af et hastihedsfelt som en sum af bidra fra de forskellie kræfter der påvirker væsken. Navier-Stokes differentiallininer beskriver viskøse, ikke-komprimerbare væsker, hvilket dækker over de mest almindelie væsker, fx. vand. Som føle heraf beskrives en væskes eenskaber ud fra lininerne udelukkende ved væskens viskositet o densitet. Lininerne er udledt ud fra den antaelse at man kan dele væsker ind i små kasseformede celler, små nok til at man kan antae at al væske i en celle opfører si ens. Lininerne består af flere dele der hver beskriver de bidra der bestemmer væskens bevæelse. I dette afsnit vil vi ennemå de forskellie led i lininerne for at ive en forståelse af det fysiske rundla for denne opave. Tyndekraft Først o fremmest kan en væske være påvirket af en tyndekraft (en. ravity). Denne bidraer til væskens acceleration med tyndeaccelerationen, dvs. hvor er tyndeaccelerationen. º¹ # (4.) Strømnin Ved strømnin (en. convection) forstås den kraft som vandmolekylerne påvirker hinanden med. Dvs. hvis ét molekyle har en iven hastihed, så skubber dette molekyle til de omkrinliende molekyler o iver dem hermed en hastihed. Bidraet fra strømnin er ivet ved hvor ^» j7v^~³# er radientoperatoren o f¼!;#%2&i#%h( * er en hastihedsvetor. Gnidnin Gnidnin (en. dra) opstår når en del af en væske passerer et objekt eller en anden del af væsken med forskelli hastihed. Væsken vil blive bremset, o der vil opstå strømhvirvler. Bidraet for nidnin er ivet ved hvor er væskens viscositet. ½ ^jv ^k53# (4.2)

` ` ` ` ` ` Ã! ˆ à & ˆ à ( ˆ ` ` ` ` ` ` ` ` ` ` H ` ` U U U ` ` ` U U U ` ` ` ` : # 4 NAVIER-STOKES DIFFERENTIALLIGNINGER 8 Tryk Ændrin i tryk (en. pressure) opstår når væsken bevæer si fra en celle til en anden. Bidraet herfra er ivet ved 4¾ hvor ˆ er væskens massefylde o er trykket. Samlet ser lininerne således ud ¹» Á7V^³7 eller hvis man vil undå radientoperatoren 2! 2& h( 2!º` 2! `2b 4! ` 4& ` b! ` 4( `2b 4&4` 4! ` d 4& ` 4& `2d & ` 4( ` d 4( ` 2! `4e h( ` 4& `4e ( ` h( `4e H ˆ ^À # (4.3) ½ ˆ ^À 2¾ U ` 4! `2b U ` 4& ` b U ` 4( `2b ^V'^k53# (4.4) U 2! `2d U 2& ` d U 4( ` d U 2! U _` `4e U `2b 2& U ` ª)«`4e U `2d 4( U 5 `4e `2e For at sikre at voluminet af væsken er konstant, dvs. at væsken ikke kan komprimeres, tilføjes diverensbetinelsen ^fv ļ# (4.5) der sier at netto-strømninen i en celle er 0, dvs. der flyder lie så meet ud af cellen som der flyder ind. For at løse et lininsystem som Navier-Stokes lininer kan benyttes en række forskellie numeriske metoder der alle kræver at lininerne diskretiseres. I næste afsnit vil vi beskrive nole af de metoder der tidliere er blevet anvendt til løsnin af lininerne med henblik på computeranimation.

5 TIDLIGERE ARBEJDE 9 5 Tidliere arbejde Der er i litteraturen foreslået mane forskellie metoder til at simulere væske ved hjælp af computere. Da vi senere vil benytte metoderne beskrevet af Foster, Metaxas, Stam o Fedkiw [0,, 9, 28] som udanspunkt for vores een metode, vil vi ennemå deres metoder i detaljer, mens de andre modeller kun vil blive kort beskrevet. En af de tidliste metoder til visualiserin af vandoverflader benytter texture-mappin o bump-mappin for at få plane overflader til at se bølede ud [2, 32]. Denne simple metode har den klare ulempe at selvom texture-mappin o bump-mappin kan få overfladen til at virke bølet fra nole vinkler, vil overfladen stadi virke flad fra andre vinkler. En anden ulempe ved metoden er naturlivis at der ikke er tale om simulation af vandet. Metoden er do med ode resultater blevet benyttet til at visualisere havoverflader set fra luften. En fordel ved metoden er at den er meet hurti så hurti at den kan benyttes i computerspil (fx Sierras Half Life) til at visualisere vand i real-time. Animation af vandet fremkommer her ved at overfladebilledet ændres over tid, så overfladen forekommer at bevæe si. I 98 forsøte Nelson Max i [6] at animere havoverflader ved at brue overlejrede sinusoider til at forskyde højden af overfladen. På denne måde opnår man at overfladen ikke bare er flad men rent faktisk bøler. Med de rette amplituder, bølelænder o faser kan man opnå ode resultater, stadi primært indenfor visualiserin af større vandoverflader som åbent hav, søer eller floder. Da bølerne fremkommer ved bru af sinusfunktioner, kan de ikke krumme over. Bølerne kommer derfor nemt til at virke for bløde. I 986 beskrev Darwyn Peachey en videreudviklin af en sådan metode hvor bøler simuleres ved hjælp af et la af bølefunktioner [20]. I Peachey s metode læes berænsniner på bølers hældnin, o hvis en bøle bliver for stejl benyttes et partikelsystem til at få bølen til at rulle. Den tilladte hældnin på en bøle udledes til at være afhæni af vandets dybde. Med denne udlednin bliver brændin lans en strand automatisk håndteret, sådan at bøler ruller parallelt med stranden. I modellen antaes bøler at være cirkulære bevæelser, så der er stadi inen form for væsketransport i Peacheys model. I løbet af den første halvdel af 990 erne blev computere så hurtie at man beyndte at betrate deciderede simulationsteknikker fra forskninsfeltet computational fluid dynamics (CFD). CFD brues normalt i sammenhæne hvor man er interesseret i en præcis berenin af væskebevæelse. Kass o Millers udviklede i 990 en metode [4] hvor der læes væt på væsketransport samt det at væskens omivelser kan ændres fx kan væske i en stor bøle skylle over en kant o ende i en pyt på den anden side af kanten. Kass o Miller benytter en forsimplet udave af Navier-Stokes lininer de såkaldte shallow water equations. Disse diskretiseres o benyttes i et højdefelt. Da differentiallininerne beskriver en

5. Foster o Metaxas metode 20 simpel form for væsketransport, kan modellen beskrive bøler mere korrekt; fx bliver en bøle reflekteret når den rammer en kant. I 995 udviklede Chen o Lobo en metode hvor de benyttede en mindre forsimplet udave af Navier-Stokes lininer til at simulere væske som et todimensionelt højdefelt [2]. De benytter trykket i højdefeltscellerne til at bestemme højden af væsken, men bereninsmodellen opfatter væsken som helt flad. Chen o Lobos metode blev af Hodins o O Brien udvidet med et partikelsystem til at simulere sprøjt der fremkommer når objekter kastes ned i vand [9]. Denne udvidelse er bl.a. blevet benyttet af Hodins o Wooten til at simulere vandoverfladen ved tårnsprinssimulationer [33]. 5. Foster o Metaxas metode I 996 udviklede Foster o Metaxas en metode til løsnin af Navier-Stokes lininer til bru i væskesimulerin der både håndterer væsketransport o objekter der kan flyde med strømmen [0]. 5.. Diskretiserin I modsætnin til tidliere metoder simuleres væsken i et tredimensionelt itter, så objekter der enten er helt eller delvist dækkede af væske, oså tillades. For hver celle i dette itter repræsenteres hastiheder i henholdsvis b -, - d o -retnin på fladerne af e cellen (se fiur 5.) samt trykket i centrum af cellen. Cellerne inddeles i fire forskellie klasser, nemli luft-, overflade-, væske- o barriereceller. Hvorvidt celler er er luft-, væske eller overfladeceller aføres ved hjælp af markørpartikler som er vætløse partikler der flyttes rundt i væsken for at kunne aføre hvor væsken befinder si. En celle der ikke indeholder partikler, er en luftcelle. En celle der indeholder mindst én partikel o har mindst en nabocelle der er luftcelle, er en overfladecelle. O endeli hvis cellen indeholder mindst én partikel o ikke er en overfladecelle, er den en væskecelle. Barriereceller defineres eksplicit ud fra en scene anivelse o ændres ikke under simulationen. 5..2 Løsnin af Navier-Stokes Hastihedsfeltet o trykfeltet opdateres ved at opdatere de enkelte celler hver for si, idet der taes højde for celletyperne. Luftceller Her er der inen væske, så hastihederne sættes til Å o trykket til det atmosfæriske tryk.

5. Foster o Metaxas metode 2 w i,j,k /2 u i /2,j,k dz vi,j /2,k dx dy k j i Fiur 5.: Repræsentation af hastiheder for en celle i Foster o Metaxas model. Væske w ÆÇÆÇÆÇÆÇÆ ÈÇÈÇÈÇÈÇÈ ÆÇÆÇÆÇÆÇÆ ÈÇÈÇÈÇÈÇÈ ÆÇÆÇÆÇÆÇÆ ÈÇÈÇÈÇÈÇÈ ÆÇÆÇÆÇÆÇÆ ÈÇÈÇÈÇÈÇÈ w 0 ÆÇÆÇÆÇÆÇÆ ÆÇÆÇÆÇÆÇÆ ÆÇÆÇÆÇÆÇÆ ÈÇÈÇÈÇÈÇÈ ÈÇÈÇÈÇÈÇÈ ÈÇÈÇÈÇÈÇÈ u 0 ÆÇÆÇÆÇÆÇÆ ÆÇÆÇÆÇÆÇÆ ÆÇÆÇÆÇÆÇÆ ÈÇÈÇÈÇÈÇÈ ÈÇÈÇÈÇÈÇÈ ÈÇÈÇÈÇÈÇÈ Barriere Fiur 5.2: Hastiheder på siderne af barrierer.

` ` ` É 5. Foster o Metaxas metode 22 Barriereceller Her er man ikke er intereseret i at væsken kan træne ind, derfor sættes hastiheden normalt på barrieren til Å (svarende til Å på fiur 5.2). Lieledes sættes trykket til trykket i nabocellen, så der inen trykforskel er mellem barrieren o dens omivelser. Den tanentielle hastihed sættes i forhold til nabocellens hastihed, alt efter om man ønsker nidninsmodstand mellem væsken o barrieren eller ej. Ønskes nidnin (Foster o Metaxas: non-slip) sættes den tanentielle hastihed til den modsatrettede af nabocellens tanentielle hastihed (svarende til É ÇÊÉMR på fiur 5.2). Ønskes derimod inen nidnin (Foster o Metaxas: free-slip) sættes den tanentielle hastihed li den tanetielle hastihed i nabocellen (svarende til É ÁÉ R på fiur 5.2). Overfladeceller Her vil nole af siderne støde op mod luftceller o nole vil støde op mod væskeceller eller andre overfladeceller. Hastihederne på de sider der støder op mod luftceller ændres, svarende til at væsken udbreder si i den påældende retnin. Da væsken er massebevarende o ikke-komprimerbar ælder diverensbetinelsen af Navier-Stokes lininer (se afsnit 4) `2b `2d `4e ÁÅ$# (5.) svarende til at strømninen ind i en celle er lie så stor som strømninen ud af cellen, således at mænden af væske i cellen er uændret. For at dette skal være overholdt i overfladeceller fordeles overskydende hastihed (renet med forten) på de sider der støder op mod luftceller (da væsken kan flytte si uhindret i disse retniner). Trykket sættes til det atmosfæriske tryk. Væskeceller Når disse tre celletyper er opdaterede, opdateres hastihederne for væskecellerne. På kanten af en væskecelle berenes den nye hastihed ved at løse Navier- Stokes lininer eksplicit ved bru af finite difference. Da væskecellerne efter denne opdaterin ikke opfylder (5.), berenes afvielsen o denne benyttes til at justere trykket. Herefter justeres hastihederne ud fra trykforskellene i det nylit opdaterede trykfelt. Denne opdaterin af hastihedsfeltet fortsættes indtil afvielsen fra (5.) er mindre end en iven rænseværdi for alle celler. Metoden kaldes Successive Over-Relaxation (SOR) da man ved entane justeriner pejler si ind på den endelie løsnin. Når iterationerne er ennemført har hastihederne på nole af siderne af overfladecellerne ændret si, derfor entaes opdaterinen af disse, som beskrevet ovenfor. 5..3 Visualiserin Der ives i [0] ikke noen enerel metode til at visualisere væsken. I stedet iver Foster o Metaxas nole eksempler hvor de benytter ad-hoc-metoder tilpasset de en-