valitseminen vaikuttaa laskennan aikana ratkaistaviin yhtälöryhmiin.

Samankaltaiset tiedostot
MUISTIO No CFD/MECHA pvm 22. kesäkuuta 2011

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Numeeriset menetelmät

k=0 saanto jokaisen kolmannen asteen polynomin. Tukipisteet on talloin valittu

12. Derivointioperaattoreista geometrisissa avaruuksissa

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

Ratkaisuehdotukset LH 7 / vko 47

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 8: Divergenssi ja roottori. Gaussin divergenssilause.

Gaussin lause eli divergenssilause 1

Aiheet. Kvadraattinen yhtälöryhmä. Kvadraattinen homogeeninen YR. Vapaa tai sidottu matriisi. Vapauden tutkiminen. Yhteenvetoa.

l 1 2l + 1, c) 100 l=0

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Paraabeli suuntaisia suoria.

MATEMATIIKAN PERUSKURSSI I Harjoitustehtäviä syksy Millä reaaliluvun x arvoilla. 3 4 x 2,

Numeeriset menetelmät TIEA381. Luento 11. Kirsi Valjus. Jyväskylän yliopisto. Luento 11 () Numeeriset menetelmät / 37

ELEC C4140 Kenttäteoria (syksy 2015)

Luento 10: Työ, energia ja teho. Johdanto Työ ja kineettinen energia Teho

l 1 2l + 1, c) 100 l=0 AB 3AC ja AB AC sekä vektoreiden AB ja

(a) Potentiaali ja virtafunktiot saadaan suoraan summaamalla lähteen ja pyörteen funktiot. Potentiaalifunktioksi

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

kaikki ( r, θ )-avaruuden pisteet (0, θ ) - oli θ

Mat Matematiikan peruskurssi K2

MEI Kontinuumimekaniikka

13. Taylorin polynomi; funktioiden approksimoinnista. Muodosta viidennen asteen Taylorin polynomi kehityskeskuksena origo funktiolle

12. Hessen matriisi. Ääriarvoteoriaa

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Differentiaaliyhtälöryhmän numeerinen ratkaiseminen

infoa Viikon aiheet Potenssisarja a n = c n (x x 0 ) n < 1

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

OPETUSSUUNNITELMALOMAKE

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 1: Parametrisoidut käyrät ja kaarenpituus

F dr = F NdS. VEKTORIANALYYSI Luento Stokesin lause

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 3: Vektorikentät

Pienimmän Neliösumman menetelmä (PNS)

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

f x da, kun A on tason origokeskinen yksikköympyrä, jonka kehällä funktion f arvot saadaan lausekkeesta f (x, y) = 2x 3y 2.

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Luku 6. reunaehtoprobleemat. 6.1 Laplacen ja Poissonin yhtälöt Reunaehdot. Kun sähkökentän lauseke E = φ sijoitetaan Gaussin lakiin, saadaan

F x y z. F voidaan ymmärtää kahden vektorin. Divergenssi. Vektorikentän F( x, y, z ) divergenssi määritellään

Tekijä Pitkä matematiikka

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

r > y x z x = z y + y x z y + y x = r y x + y x = r

Numeeriset menetelmät

ELEC C4140 Kenttäteoria (syksy 2015)

Mat Työ 1: Optimaalinen lento riippuliitimellä

Viikon aiheet. Funktion lineaarinen approksimointi

Lukujonot Z-muunnos Z-muunnoksen ominaisuuksia Z-käänteismuunnos Differenssiyhtälöt. Z-muunnos. 5. joulukuuta Z-muunnos

DIFFERENTIAALI- JA INTEGRAALILASKENTA

ELEC C4140 Kenttäteoria (syksy 2016)

Ympyrän yhtälö

Aiheet. Kvadraattinen yhtälöryhmä. Kvadraattinen homogeeninen YR. Vapaa tai sidottu matriisi. Vapauden tutkiminen. Yhteenvetoa.

MS-C1340 Lineaarialgebra ja


MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 9: Greenin lause

Numeerinen integrointi

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Elektrodynamiikka, kevät 2008

ELEC C4140 Kenttäteoria (syksy 2016)

Differentiaali- ja integraalilaskenta 3 Mallit laskuharjoitusviikkoon 5 /

Matematiikka B1 - avoin yliopisto

Kertausosa. 5. Merkitään sädettä kirjaimella r. Kaaren pituus on tällöin r a) sin = 0, , c) tan = 0,

Koska ovat negatiiviset. Keskihajontoja ei pystytä laskemaan mutta pätee ¾.

Y (z) = z-muunnos on lineaarinen kuten Laplace-muunnoskin

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

{ 2v + 2h + m = 8 v + 3h + m = 7,5 2v + 3m = 7, mistä laskemmalla yhtälöt puolittain yhteen saadaan 5v + 5h + 5m = 22,5 v +

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

LUKUTEORIA A. Harjoitustehtäviä, kevät (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

Matematiikka ja teknologia, kevät 2011

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Luento 6: Suhteellinen liike ja koordinaatistomuunnoksia

Yleistä vektoreista GeoGebralla

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

4. Funktion arvioimisesta eli approksimoimisesta

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) =

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Pienimmän neliösumman menetelmä (PNS)

Teknillinen korkeakoulu Mat Epälineaarisen elementtimenetelmän perusteet (Mikkola/Ärölä) 4. harjoituksen ratkaisut

Teknillinen korkeakoulu CFD-ryhmä / Sovelletun termodynamiikan laboratorio. Liukuvan hilan reunaehdon testaus - Krainin impelleri

Pienimmän neliösumman menetelmä

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

13. Ratkaisu. Kirjoitetaan tehtävän DY hieman eri muodossa: = 1 + y x + ( y ) 2 (y )

Differentiaaliyhtälöryhmä

3.2.2 Tikhonovin regularisaatio

Kompleksianalyysi, viikko 6

Luento 8: Epälineaarinen optimointi

Johdatus tekoälyn taustalla olevaan matematiikkaan

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

Tekijä Pitkä matematiikka b) Kuvasta nähdään, että b = i 4 j. c) Käytetään a- ja b-kohtien tuloksia ja muokataan lauseketta.

Pienimmän neliösumman menetelmä (PNS)

Paikannuksen matematiikka MAT

Pienimmän neliösumman menetelmä (PNS)

Luento 4: Suhteellinen liike ja koordinaatistomuunnoksia

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Transkriptio:

Aalto yliopisto Insinööritieteiden korkeakoulu Virtausmekaniikka / Sovelletun mekaniikan laitos MUISTIO No CFD/MECHA-19-2011 pvm 28. heinäkuuta 2011 OTSIKKO Diskretointimenetelmät OpenFOAMissa LAATIJA(T) Tuomas Turunen TIIVISTELMÄ Tarkoituksena on koota OpenFOAMissa käytettävät diskretointimenetelmät ja niiden vaatimukset käyttäjän näkökulmasta. Lisäksi esitellään, miten eri menetelmien valitseminen vaikuttaa laskennan aikana ratkaistaviin yhtälöryhmiin. PÄÄKOHDAT SIVUJA 10 AVAINSANAT diskretointi, OpenFOAM TARKASTANUT Timo Siikonen 28. heinäkuuta 2011

This page intentionally left blank

Sisältö 1 Diskretointimenetelmät OpenFOAMissa 5 1.1 Interpolointimenetelmät...................... 5 1.2 Gradientin seinää vastaan kohtisuora komponentti, ( φ) n.... 6 1.3 Gradientti-operaattorin diskretointi,.............. 8 1.4 Laplace-operaattorin diskretointi,................ 8 1.5 Divergenssi-operaattorin diskretointi,............. 8 1.6 Aikadiskretointi, t t 2....................... 9

This page intentionally left blank

5 1 Diskretointimenetelmät OpenFOAMissa OpenFOAMissa perusajatuksena on antaa käyttäjälle mahdollisuus valita mahdollisimman vapaasti laskennassa käytettävät numeeriset menetelmät. Käyttäjän on kunkin operaattorin (,, ) kohdalla ensin valittava menetelmä, jolla operaattori diskretoidaan eli määritellä, miten päästään muotoon, jossa derivaatta lausutaan suureen itsensä arvojen avulla. Jos saadussa lausekkeessa esiintyy muita kuin suureiden arvoja koppien keskipisteissä, on suureille vielä erikseen määritettävä interpolointimenetelmät. Useimmiten tulee tarve interpoloida suuren arvoja koppien keskipisteistä seinille. Kerrataan vielä konvektiodiffuusioyhtälössä esiintyvät termit ja niiden aiheuttamat vaatimukset diskretoinnin kannalta. Konvektiotermiä varten täytyy määrittää suureiden φ j ρ j ja u j arvot koppien seinillä. Koska kyseiset suureet lasketaan aina koppien keskipisteissä, tarvitaan menetelmät, joilla niiden arvot interpoloidaan koppien keskipisteistä koppien seinille. Diffuusiotermiä varten tarvitaan diffuusiokertoimen Γ φ ja nopeusgradientin seinää vastaan kohtisuoran komponentin ( φ) n arvot niinikään koppien seinillä. Näin ollen termin ( φ) n diskretoimiseksi tarvitaan oma menetelmä ja Γ φ :lle interpolointimenetelmä. Interpolointimenetelmät voivat vielä synnyttää tarpeen laskea eri suureiden gradientteja. (ks. kaavat (4.9) ja (4.10)), joten myös jokaisen suureen gradientille tarvitaan oma diskretointimenetelmä. Seuraavaksi käsitellään edellä mainittujen termien muodostamista erikseen. 1.1 Interpolointimenetelmät OpenFOAMissa jokaisen kopin seinälle laskettavan suureen interpolointimenetelmä määritellään erikseen. On olemassa yleisiä interpolointimenetelmiä, ja lisäksi menetelmiä, jotka on tarkoitettu käytettäväksi konvektiotermin yhteydessä. Kaikkia menetelmiä voidaan kuitenkin käyttää ristiin missä yhteydessä tahansa, mutta konvektiotermiin liittyvien menetelmien käyttöön esimerkiksi painetta interpoloitaessa ei vain yleensä ole perusteita. Tavallisimmat menetelmät on listattu taulukoissa 1 ja 2. Konvektiotermin kanssa käytettävät menetelmät jaetaan kolmeen ryhmään: perus konvektio-, TVD- (Total Variation Diminishing) ja NV- (Normalized Variable) menetelmiin. [1] Taulukko. 1: Perus interpolointimenetelmät linear keskeisdifferenssi cubiccorrection midpoint symmetrisesti painotettu keskeisdifferenssi Taulukossa 2 mainittujen TVD- ja NV-menetelmien kanssa voidaan käyttää

6 Taulukko. 2: Pääasiassa konvektiotermin yhteydessä käytettävät interpolointimenetelmät perus konvektiomenetelmät upwind linearupwind skewlinear QUICK TVD limitedlinear vanleer MUSCL limitedcubic NV SFCD Gamma ylävirtapainotettu menetelmä keskeisdifferenssi, jossa epäortogonaalisuuskorjaus 2. kertaluvun ylävirtapainotettu menetelmä rajoitettu keskeisdifferenssi van Leer rajoitin MUSCL rajoitin Self-filtered central differencing vuon rajoittimia, ja toisin kuin Fluentissa, OpenFOAM:ssa käyttäjä voi vaikuttaa rajoittimeen. Rajoittamiseen on olemassa erilaisia tapoja. Määrittämällä kerroin voidaan sekoittaa kahta menetelmää, joista toinen ei aiheuta arvojen epäfysikaalista heilahtelua mutta on kenties epätarkempi ja toinen on tarkempi mutta voi aiheuttaa oskillointia. Riippuen menetelmästä kerroin voidaan antaa käsin tai se voidaan määrittää koodin sisällä, jolloin voidaan huomioida virtaustilanne. Toinen tapa on määrätä tarkasteltavan suureen arvolle ylä- ja alaraja ja sillä tavoin estää arvon liiallinen heilahtelu. Vektorisuureiden konvektiotermejä varten on olemassa vielä omia versioita aiemmin mainituista interpolointimenetelmistä, jotka ilmeisesti huomioivat vektorikentän suunnan vuon rajoittamisessa.[1] 1.2 Gradientin seinää vastaan kohtisuora komponentti, ( φ) n Gradientin komponentille seinän normaalin suunnassa määritetään arvot aina koppien seinillä. Yksinkertaisimmillaan tämä voidaan tehdä erottamalla toisistaan suureen arvot molemmin puolin seinää ja huomioimalla koppien etäisyys. Kuvan 4.1 merkinnöin tämä on [1] ( φ) n = φ c1 φ c0 d, (1) missä d on pisteestä c0 pisteeseen c1 kulkeva vektori. Näin voidaan kuitenkin tehdä vain, jos koppien keskipisteet yhdistävä jana on seinää vastaan kohtisuorassa suunnassa.

Jos jana ja seinän normaali ovat eri suuntaiset, täytyy lisäksi käyttää koppien keskipisteissä määritettyjä gradientin arvoja ja interpoloida ne seinälle. Gradientin määrittämiseen naapurikoppien keskipisteissä puolestaan joudutaan käyttämään suureen φ arvoja naapurikoppien naapurikopeissa, mikä johtaa huomattavasti suurempaan laskentamolekyyliin kuin kaava 1 ja siten myös suurempaan virheeseen. Jotta virhettä saataisiin pienennettyä, määritetään epäortogonaalisen hilan tapauksessa seinän normaalin suuntainen (ortogonaalinen) osa gradientista kaavan 1 mukaisesti ja epäortogonaalinen osa koppien keskipisteissä määritettyjen gradienttien perusteella. Korjaustermi muodostetaan aina eksplisiittisesti eli käyttäen jo tunnettuja φ:n arvoja. [2] OpenFOAMissa käyttäjä voi valita normaalin suuntaiselle gradientille diskretointimenetelmän, jossa korjaustermi on mukana, ei ole mukana tai joustavan vaihtoehdon näiden väliltä. Lisäksi on mahdollista valita neljännen asteen tarkka menetelmä tai menetelmä, jossa gradientin arvoa rajoitetaan. Viimeisin on käytössä vain positiivisille skalaarisuureille. [1] 7

8 1.3 Gradientti-operaattorin diskretointi, V φdv = A φda φ f (2) N faces Gradientti voidaan diskretoida yhtälön (4.10) tapaan Gaussin lauseen avulla mutta myös pienimmän neliösumman menetelmään perustuen. Pienimmän neliösumman menetelmään perustuvien diskretointien tarkkuus voi olla toista tai neljättä kertalukua. [1] Niissä määritetään ensin φ:n arvolle naapurikopissa lauseke gradientin φ avulla (3) ja määritetään lausekkeen virhe vertaamalla sitä tunnettuun φ:n arvoon (4). φ c1 ( φ) = φ c0 + φ d (3) e = φ known φ c1 ( φ) (4) Minimoimalla virheen e neliön summa kaikkien naapurikoppien yli saadaan approksimaatio φ:lle [2]. Jos gradientti diskretoidaan Gaussin lauseen avulla, täytyy määrittää menetelmä, jolla suure φ interpoloidaan koppien keskipisteistä koppien seinille. Käytettävissä ovat kaikki kohdassa 1.1 kuvaillut interpolointimenetelmät. [1] Jokaisesta diskretointimenetelmästä on versio, jossa vuota rajoitetaan [1]. Gradientti muodostetaan ekplisiittisesti eli tunnettuja arvoja käyttäen [2]. 1.4 Laplace-operaattorin diskretointi, V (Γ φ φ) dv = A (Γ φ ) j φ da N faces Γ φ ( φ) j (5) Laplace-operaattori esiintyy diffuusiotermissä, jolloin sen yhteydessä on kaksi muuttujaa: diffuusiokerroin Γ φ ja suureen gradientin seinää vastaan kohtisuora komponentti ( φ) n. Laplace-operaattori diskretoidaan aina Gaussin lauseen avulla ja operaation suorittamiseen riittää valita Γ φ :lle jokin kohdassa 1.1 kuvatuista interpolointimenetelmistä ja φ:lle jokin kohdassa 1.2 kuvatuista menetelmistä. 1.5 Divergenssi-operaattorin diskretointi, V (ρuφ) dv = A ρuφ da ρ j U j φ j S j (6) N faces Divergenssioperaattori voi esiintyä sellaisenaan tai konvektiotermissä, jossa skalaarivuo kuljettaa jotakin muuttujaa (yhtälössä (4.8) massavuo ρ j u j A j kuljettaa muuttujaa φ). Konvektiotermin tapauksessa OpenFOAMissa divergenssioperaattori määritetään vuo-suure-parille. Koska vuotermi on valmiiksi määritelty koppien seinillä, operaation suorittamiseksi riittää valita suureelle φ jokin kohdassa 1.1

9 kuvailluista interpolointimenetelmistä. Tässä yhteydessä käytettäväksi on kehitetty lukuisia menetelmiä, joissa pyrkimyksenä on ottaa huomioon tiedon tulosuunta. Yksinkertaisimmillaan tämä toteutuu upwind-menetelmällä, jossa suureen arvoksi seinällä otetaan kopin keskipisteen arvo siltä puolelta seinää, mistä vuo tulee. upwind-menetelmän heikkoutena on ensimmäisen kertaluvun tarkkuus. Implisiittinen osa divergenssistä muodostetaan upwind-menetelmällä, ja jos laskentaan valitaan jokin muu diskretointimenetelmä, menetelmien erotus muodostetaan eksplisiittisesti käyttäen tunnettuja arvoja. Mikäli kyseessä on pelkkä divergenssi ilman kovektiivistä roolia, ei tarvita muuta kuin kaikkien termiin sisältyvien suureiden arvot kopin seinillä. Näin ollen jokaiselle koppien keskipisteessä määriteltävälle suureelle määritetään interpolointimenetelmä. Esimerkkinä tällaisista operaatioista ovat jatkuvuusyhtälöt puristuvassa ja puristumattomassa tapauksessa, (ρu) ja U. Seinillä määriteltävistä suureista divergenssi voidaan ottaa ilman mitään määrittelyjä. Divergenssi muodostetaan aina eksplisiittisesti. 1.6 Aikadiskretointi, t, 2 t 2 OpenFOAMissa on kolme menetelmää ensimmäisen aikaderivaatan määrittämiseen. Menetelmät on listattu taulukossa 3 Taulukko. 3: Ensimmäisen aikaderivaatan diskretointimenetelmät Euler CrankNicholson backward 1. kertaluku, rajoitettu, implisiittinen 2. kertaluku, rajoitettu, implisiittinen 2. kertaluku, implisiittinen Aikaderivaatta diskretoidaan yhtälön (4.32) mukaisesti Eulerin menetelmässä ja backward-menetelmässä yhtälön (4.33) mukaisesti. Erot ovat siinä, millä aikatasolla muut yhtälössä esiintyvät termit määritellään. Gradientit ja divergenssit(huom! ei konvektio) lasketaan OpenFOAMissa aina eksplisiittisesti. Lisäksi diffuusio- ja kovektiotermeissä on osia, jotka lasketaan eksplisiittisesti. Kuitenkin siinä, määritetäänkö tietyt osat implisiittisesti vai ei, on eroja menetelmien välillä. Toisen aikaderivaatan diskretointi Eulerin menetelmällä voidaan kirjoittaa [2]: 2 φ t 2 = φt+ t 2φ t + φ t t t 2 (7) Viitteet [1] http://www.openfoam.com/docs/user/, May 2011

10 [2] foam.sourceforge.net/doc/guides-a4/programmersguide.pdf, May 2011