Naierin-Stokesin htälöt t ja MAC- menetelmä LuK-tutkielmaseminaari 30.. 009 Aleksi Leino
Yhtälöt joita tässä esitksessä käsitellään oat: noeus t f ulkoinen oima iskositeetti Noeusektorikentän aikakehits konektio aine 0 Kokoonuristumattomuus -aatimus
Miksi halutaan ratkaista? Yhtälöt t kuaaat kokoonuristumattoman fluidin liikettä.. Niitä oidaan kättk ttää mm. nesteirtauksien tutkimiseen. Yhtälöiden analttinen käsittel k on erittäin in hankalaa eikä ratkaisuja ole kuin erikoistaauksiin Tareeksi tarkka numeerinenkin ratkaisu on hankalaa turbulenssi. Hienostuneita menetelmiä löt jolla esim. NASA tutkii aaruussukkuloihin kohdistuaa rasitusta ilmakehäss ssä. 3
Esitksessä esitetää ään n taa ratkaista htälöt t joka on melko ksinkertainen soeltuu nesteen liikkeen likimää ääräiseen kuailuun on kehitett lähinnl hinnä tietokonegrafiikan tareisiin: tietokoneanimaatiot elit tarjoaa ensikosketuksen Naier-Stokes htälöihin ja mahdollisuuden nähdn hdä ne "toiminnassa" ja ehkä innostaa tutkimaan malleja joilla on enemmän fsikaalista ainoaroa. ei ole sama kuin alkueräinen ensimmäinen inen MAC-simulaattori simulaattori aan jalostunut tietokonegrafiikan tutkijoiden toimesta 4
Vektorikenttä tietokoneen muistissa Tietokoneen muistia oi errata lokerikkoon jonka lokerot oat numeroitu XXXXXX. Tietokone oi iedä hteen lokeroon numeron jonka se osaa lokerikon numeron erusteella alauttaa kättäjälle. Esimerkki kahdesta ohjelmointikäskstä Vie lokeroon 34 luku 0.345 Mikä luku on lokerossa 34? Ohjelmointikielellä astaaa nättäisi: taulukko[34] = 0.345; kselt_luku = taulukko[34]; 5
Miten toimia kun halutaan tallentaa ektorikenttä tietokoneen muistiin? Matemaattiset ektorikentät alauttaat ektorin aikan ajan tms. funktiona d taaus: u t f t i g t Jos f ja g tunnetaan tunnetaan ektorikenttä mielialtaisen tarkasti. j Numeerisissa menetelmissä funktioita ei leensä haluta käsitellä aan kenttä tallennettaan tietllä ajanhetkenä "alokuana" tietokoneen muistiin. Lähestmistaa: Tätetään tietokonemuistin lokerikko nätteillä ektorikentästä 6
On huomattaa että tietokoneen muistiaikkoihin ei oi tallentaa ektoreita aan lukuja. Ne tallennetaan koordinaatiston ksikköektoreiden suuntaisina istetuloina. Muistissa olea luku siis kertoo kuinka "itkä" ektori on X tai Y suunnassa. X ja Y komonentteja arten on on oltaa omat "lokerikkonsa". Lokeroon osoittamiseen kätetään ksidimensioista lukua. Koordinaattitieto on kuitenkin leensä ähintään kaksiulotteinen X Y. Oikean lokeron lötämiseen oi kättää kaaaa + KENTÄN_LEVEYS * lokero 0500 995 005 05 lokero 99+5*00 = 0499 995 005 05 9950 0050 050 lokero 50+0*00 = 00 7
Nt tietokoneen muistissa on tieto siitä minkälaisia ektoreita alkueräinen kenttä antaa aikan kokonaislukuaroilla. Entä jos kättäjä haluaa tietää mikä kentän aro on kohdassa 00.345 50.9063? 995 005 05 995 005 05 9950 0050 050 8
9 Vastausehdotus: Aroksimoidaan kohtaa 00.345 50.9063 lähellä oleien kokonaislukuarojen aulla Siihen oidaan kättää esimerkiksi bilineaarista interolointia ain d:ssä Kohdan 00.345 50.9063 arioimiseen menetelmä taritsee nätteet kohdista 00 50 050 05 005 Bilineaarisen interolaation kaaa: Q u Q u Q u Q u u
Kaaa ksinkertaistuu edellisen esimerkin kohdalla muotoon u u u u 0 00 0 50 5 5 u 00 00 0 00 50. 345 00. 345 0 00. 345 00 00. 345 5 50 50 50. 9063. 9063 5. 9063 50 50 50. 9063 995 005 05 995 005 05 9950 0050 050 Bilineaarisesta interoloinnista on helo tehdä funktio jolla kättäjä ksellä ektoria mistä tahansa sijainnista tallennetun alueen sisällä Koska kseessä on elkkä aroksimaatio tallennettaa ektorikenttä on kuitenkin skaalattaa niin että kokonaislukukohtiin sisält mahdollisimman aljon informaatiota 0
Tarkastellaan aikakehitshtälöstä t f t t elkkää asenta uolta Matematiikassa deriaatat ja osittaisderiaatat on määritelt rajankännein. Numeerisissa menetelmissä oidaan eräänä aroksimaationa alita joku konkreettinen luku edustamaan ientä ajanmuutosta. Valitaan esimerkiksi t t 0. 0 [aikaksikköä]
t f f t t Nt ikään näköinen htälö Voidaan kirjoittaa sisältää sekä ektorikentän ja suuntaisen komonentin. Ratkaisun lähestmistaana on että lähdemme jostain annetusta alkutilanteesta ektorikenttä annettu ajanhetkellä t=0 ja tallennamme sen tietokoneen muistiin. Yksinkertaisuuden uoksi otetaan nollaektorikenttä eli kaikki nätteet oat nollia
Sitten tutkimme aikakehitstä lisäämällä ektorikenttään ektorikentän nätteisiin ienen muutoksen ja saamme ektorikentän ajanhetkellä t t0 t 0 0. 0 Toimeniteet toistetaan kunnes ollaan halutussa ajanhetkessä Saamme sarjan eräkkäisiä "alokuia" ektorikentästä -> animaatio 3
On huomattaa että laskemme noeusektorikentän kehitstä. Se kertoo millä noeudella aine irtaa missäkin kohtaa aaruutta mutta ei sitä miltä arsinainen irtaus nättää. MAC menetelmä marker and cell hahmottelee irran liikuttelemalla "merkitsijähiukkasia" marker article ektorikentän aulla Ne oat istemäisiä olioita jotka liikkuat aaruudessa kselemällä ektorikentältä mihin suuntaan siinä kohtaa aaruutta jossa ne sijaitseat itäisi liikkua. Sitten ne liikkuat annetun noeuden ja aikainterallin erusteella uuteen aikkaan ja ksät seuraaalla kerralla uudestaan ektorikentältä minne suuntaan itäisi liikkua jne. Laske Liikuta hiukkasia ajanjakso t 4
Alussa merkitsijähiukkaset sijoitetaan esim. aromalla sinne kohtaa aaruutta missä haluamme nesteen olean aluksi: 5
6 6 Siirrtään takaisin Naierin-Stokesin htälöihin: t f t Aletaan urkamaan oikeaa uolta Ensimmäinen asia joka aikuttaa ieneen ektorikentän muutokseen on termi f t * Se kuaa nesteeseen kauttaaltaan aikuttaaa ulkoista oimaa esim. graitaatiota. Yksikkö on [Voima] er [Yksikkötilauus].
Valitaan esim. f 0 j [Voima] er [Tilauusksikkö] Päiitetään sitten tietokoneen muistissa olea ektorikenttä. Aaruus jaetaan neliölliseen hilaan ja muutos aikuttaa ainoastaan nesteen sisällä oleiin nätteisiin ektorikentästä. 3 ilmaa ilmaa ilmaa neste neste ilmaa ilmaa neste ilmaa 3 7
Katsotaan miltä merkitsijäartikkelien liike nättää tässä aiheessa 8
9 9 t f t Sitten lisätään ektorikenttään seuraaa termi htälöstä eli t Tämä on hieman mutkikas matemaattisesti tensoritulo? mutta fsikaalinen merkits on selemi.
Se kuaa liikemäärän säilmistä ja oidaan ratkaista noeusektorien kulkeutumisena: Kaikki ektorikentän ektorit matkustaa niiden osoittamaan suuntaan matkan itsellään s t dt ja koraa matkan äämärässä olean ektorin 3 t möhemmin 3 3 3 0
Teknisesti tämä on kuitenkin haastaaa koska nätteitä on tallennettu ain kokonaislukukohdissa. Entä jos ektori ajautuu jonnekin muualle kuin nätteen kohdalle? 3 t möhemmin 3 3 3 Ratkaisuehdotus: Kädään jokainen nätekohta läi ja tutkitaan minne kenttä kulkeutuu takaisinäin ajassa ja korataan kokonaislukukohta ajassa takaisinäin kulkeutuneella ektorilla Toisin sanoen ennustamme mikä ektori ajautuu juuri nätteen kohdalle ja koraamme nätteen ajautuneella ektorilla
3 unaisten allojen kohdalla oleat ektorit oidaan interoloida 3 t möhemmin 3 3 Ongelmia kuitenkin tulee esialueen reuna-alueilla koska noeusektorikenttää äiitetään ain niillä alueilla jolla on nestettä. Reuna-alueella oleaan nätteeseen saattaa kulkeutua nollaektori. Ratkaisuehdotus: Luodaan eden märille alue jossa nätteisiin tallennetaan keskiaroja eden reunalla oleista nätteistä. buffer one
Kun reuna-alue ja konektiotermi on lisätt merkitsijäartikkeleiden liike nättää tältä: 3
Seuraaa termi htälössä t on f iskositeettitermi t kuaa kuinka suuri iskositeetti nesteellä on. Viskositeetti = nesteen "aksuus" tahmeus jäkks Mitä korkeami iskositeetti sitä huonommin neste "juoksee" Vrt. esi matala iskositeetti iimä korkeami iskositeetti uuro ielä korkeami iskositeetti 4
Termi t on muodoltaan sellainen että se on helomi ratkaista. Siihen oidaan kättää "äärellisten erojen menetelmää" aaa suomennos sanoista finite difference method jonka aulla oeraattori oidaan korata laskemalla jokaiselle nätekohdalle ja noeuskomonentille erikseen kuinka aljon ne oikkeaat lähinaaureistaan. Lähinaaurit oat tässä: nätekohdan lä- ala- oikealla ja asemmalla uolella oleat nätteet. Esim. 4* 5
6 6 4* 3 3 * 4 3 3
Tätä kautta oidaan iskositeettitermi oidaan mmärtää niin että mitä suuremi iskositeetti sitä enemmän neste keskiaroistuu ja sitä ähemmän ienemmät alueet oiat "juosta" itsenäisesti. Seuraaa termi htälössä t on t f t Missä on aineen tihes ja aine saman aaruuden kuin noeuskenttä kattaa skalaarisuure. Painetta arten on arattaa oma muistialue ja sitä tallennetaan samalla taalla nätteinä kuten ektorien komonentteja 7
t Tihes oletetaan akioksi ksinkertaisuuden uoksi aina esim koska kseessä on kokoonuristumaton irtaus. Paine ratkaistaan niin että tämän termin lisäämisen jälkeen kenttä on lähteetön 0 8
Miten aine määrät? Edellisten askelten jälkeen ennen ainetermin lisäämistä ektorikenttä on Painetermin lisäämisen jälkeen se on t Jotta kenttä olisi lähteetön ainetermin lisäämisen jälkeen on oltaa t 0 t 0 t t 9
30 30 t Ratkaistaa htälö aineelle on siis Oeraattorien laskemiseen oidaan jälleen kättää finite difference methodia on iskositeetista tuttu oikkeama lä- ala- oikeasta ja asemmasta naaurista. lasketaan kättämällä ns. forward differenceä jonka aulla se on 4*
Yksinkertainen neste/ilma/kiinteä aine uoroaikutus saadaan kun Jätetään n kiinteää ään aineeseen osoittaat ektorinätteet huomioimatta Paine alueilla jolla ei ole nestettä asetetaan ilmanaineeseen Ainoa mikä on tämän jälkeen eäselää on mikä on aine nestesolujen sisällä 3 atm atm ilmaa ilmaa ilmaa neste kiinteä neste kiinteä neste kiinteä 3 atm??? Merkitsijähiukkasten tärkein t tehtää on hahmotella nesteen reunaa jotta tiedetää ään n millä alueilla allitsee "ilmanaine" 3
3 3 Jokaiselle nestesolulle oidaan htälöistä 4* t rakentaa ksi htälö jossa saattaa olla mukana muuttujina lähimmäisten nestesolujen aineta tai ilmanaine. Saadaan N kaaleita htälöitä missä N on nestesolujen lukumäärä ja toisaalta N kaaletta muuttujia aineet nesteen sisällä Voidaan esittää matriisimuodossa ja ratkaista aineet nesteen sisällä
Saatu matriisi on hara aljon nollaelementtejä johon on olemassa omia noeita ratkaisumenetelmiä. Esim. haran matriisin konjugaattigradientti menetelmä Kun ratkaisu on saatu ja aineet tunnetaan lisätään termi t ektorinätteisiin oeraattori lasketaan taas kättäen finite differenceä tällä kertaa kättäen "taakseäin erotusta" backward difference : ; 33
Tämän jälkeen merkitsijähiukkasten liike nättää tältä 34
Kun nätteiden ja hiukkasten lukumäärä lisätään huomattaasti ja simulaatiota noeutetaan hieman nättää liike jo uskottaammalta: <ideo> 35
<ideo> 36
Yhteeneto MAC-menetelm menetelmä oli ensimmäinen inen toimia kokoonuristumattoman irtauksen simuloija ja sitä kätetään n hä tietokonegrafiikassa Jakaa aaruuden suorakulmaiseen hilaan joiden alkioissa näten ektori- ja ainekentäst stä. Nätteisiin lisätää ään n aluksi Sen jälkeen j lisätää ään n t ratkaistuna niin että. 0 Tästä johtuen aineet saadaan htälöst stä f t t Sitten merkitsijähiukkasia liikutellaan kentän n mukaisesti ajanjakson erran ja lasketaan uusi jne. Merkitsijähiukkasten tärkeint tehtää on hahmotella nesteen reunaa jotta tiedetää ään n millä alueilla allitsee "ilmanaine" t 37
Yhteeneto t f Ulkoinen oima Konektio "Backward article trace" Viskositeetti "Finite difference" Paine joka ratkaistaan niin että kenttä on lähteetön 38