4 Virtausyhtälöiden numeerinen ratkaisu

Transcription

4 Virtausyhtälöiden numeerinen ratkaisu
96
4 Virtausyhtälöiden numeerinen
ratkaisu
4.1 Numeerinen diskretointi
4.1.1 Diskretointitavat
Numeerinen diskretointi tehdään approksimoimalla virtausyhtälöitä laskenta-alueen
diskretoinnissa syntyvän pistejoukon avulla. Tietokonehan ymmärtää vain lukuja ja
niiden välillä voidaan tehdä yksinkertaisia aritmeettisia operaatioita. Virtausyhtälöiden ratkaisutavat voidaan jakaa monella tavoin, esimerkiksi seuraavasti:
• teknisten ongelmien ratkaisuun soveltuvat menetelmät
• spektraalimenetelmät
• partikkelimenetelmät
Tämäkin jako on mitä suurimmassa määrin epämääräinen. Spektraalimenetelmiä
käytetään etupäässä meteorologiassa ja turbulenssitutkimuksessa. Periaatteessa niillä voitaisiin ratkaista ’teknisiäkin’ ongelmia. Partikkelimenetelmät ovat vanha ajatus mallintaa virtausta ilman Navier-Stokes -yhtälöitä, perustuen yksittäisten nestepartikkelien liikkeeseen. Viime aikoina muotiin tulleet hila-Boltzmann -menetelmät
kuuluvat tähän ryhmään.
Teknisissä sovelluksissa käytetään yleensä ns. Reynolds-keskiarvotettuja yhtälöitä. Niiden yleisin ratkaisukeino on kontrollitilavuusmenetelmä (control-volume
method, finite-volume method), joskus käytetään myös stabiloituja elementtimenetelmiä (finite-element method). FLUENT, ANSYS CFX ja OpenFOAM ohjelmissa
käytetään kontrollitilavuusmenettelyä, FLOTRANissa elementtimenetelmää. Käytännössä eri lähestymistavoilla saattaa olla hyvin pienet erot. Virtausyhtälöt sisältä-
4.1. NUMEERINEN DISKRETOINTI
97
vät kitkattoman osan, johon sisältyy paineen ja konvektion vaikutus, sekä diffuusiotermin. Näistä diffuusiotermin diskretointi on periaatteessa suoraviivaista, menetelmien oleelliset erot liittyvät kitkattomaan osaan, jossa lisäksi konvektiotermit ja
paine ovat käyttäytymiseltään erilaisia. Kun paineen ja konvektion kytkentä vielä
riippuu virtauksen Machin luvusta, on selvää, että erilaisissa virtaustilanteissa saatetaan soveltaa hyvinkin erilaisia numeerisia menetelmiä.
4.1.2 Peruskäsitteitä
Kontrollitilavuusmenetelmässä käytetään yhtälöiden (3.7), (3.8) ja (3.10) integraalimuotoa
Z
Z
∂ Z
WdV + [F − G] · dA =
HdV
∂t V
A
V
(4.1)
missä W = [ρ, ρV~ , E]T on ratkaistavien suureiden vektori, F kitkaton ja G kitkallinen vuo. Yhtälön oikealla puolella voi olla lähdetermi H. Numeerisessa ratkaisussa
käytetään yhtälön (4.1) diskreettiä muotoa
Vi
Nf aces
X
dWi
[F − G]j · ∆Aj = Vi Hi
+
dt
j
(4.2)
missä Vi on laskentakopin tilavuus, ∆Aj kopin seinän j pinta-alavektori ja summaus on kaikkien laskentatilavuuden pintojen yli. Yhtälö (4.2) pätee kaikenmuotoisille laskentatilavuuksille, jotka linkittyvät toisiinsa mielivaltaisten pintojen välityksellä. (Tärkeää on vain, että koko laskenta-alue sulkeutuu eli alueen sisälle ei jää
tyhjiä koloja). Useissa virtausratkaisijoissa käytetään hyväksi tätä kontrollitilavuusperiaatteen yleistä ominaisuutta ja laskentatilavuuksien liittymiselle toisiinsa ei periaatteessa ole asetettu mitään rajoituksia. Yhtälössä tarvitaan geometrisia suureita,
jotka ohjelma laskee annetulle laskentahilalle. Lisäksi on lausuttava vuot laskentakoppien pinnoilla, mikä ei ole triviaali tehtävä. Lopputuloksena saadaan epälineaarinen yhtälöryhmä, jossa on perusyhtälöiden määrä × laskentakoppien määrän verran yhtälöitä. Tuntemattomien määrä saattaa olla tätäkin suurempi, jolloin tarvitaan
lisäyhtälöitä, kuten tilayhtälö. Ratkaistavaksi tulee siis epälineaarinen yhtälöryhmä,
jossa tuntemattomien määrä voi nousta useisiin miljooniin, joskus jopa miljardeihin. Tämän yhtälöryhmän ratkaisu muodostaa toisen huomattavan ongelman, jota
käsitellään luvussa 5. Tässä luvussa tarkastellaan yhtälöryhmän muodostamista.
Differenssimenetelmä perustuu derivaattojen approksimointiin erotusosamääril-
4.1. NUMEERINEN DISKRETOINTI
98
lä. Lähtökohtana on suureiden esittäminen Taylor-sarjakehitelmän avulla
φ(x + ∆x) = φ(x) + ∆x
dφ 1 2 d2 φ 1 3 d3 φ
+ ∆x
+ ∆x
...
dx 2
dx2 6
dx3
(4.3)
Tästä voidaan derivaatta dφ/dx ratkaista
dφ
φ(x + ∆x) − φ(x) 1
d2 φ 1
d3 φ
φ(x + ∆x) − φ(x)
≈
− ∆x 2 − ∆x2 3 ... =
+O(∆x)
dx
∆x
2
dx 6
dx
∆x
(4.4)
missä merkintä O(∆x) tarkoittaa, että approksimoitaessa derivaattaa dφ/dx lausekkeella [φ(x + ∆x) − φ(x)]/∆x tehdään virhe, joka on verrannollinen laskentahilan
väliin ∆x. Tällöin kyseessä on ns. ensimmäisen kertaluvun diskretointi. Symmetrisellä diskretoinnilla saadaan
φ(x + ∆x) − φ(x − ∆x)
dφ
≈
+ O(∆x2 )
dx
2∆x
(4.5)
Tällöin virheen sanotaan olevan toista kertalukua. Koska diskretointi suoritetaan
Taylor-sarjakehitelmän avulla jättämällä korkeamman kertaluvun termit pois, sanotaan virhettä katkaisuvirheeksi. Yleensä diskretointiin liittyvä virhe on pienempi
tai ainakin se pienenee nopeammin korkeamman kertaluvun menetelmillä. Katkaisuvirhe on myös yleensä pienempi symmetrisillä diskretoinneilla kuin epäsymmetrisillä. Nyrkkisääntönä on, että mitä tarkempi diskretointi, sitä enemmän laskentakaavaan on otettava hilapisteitä mukaan. Epäsymmetrisessä toisen kertaluvun diskretoinnissa on käytettävä kolmea pistettä derivaatalle ja katkaisuvirhe on silti muodollisesti kaksi kertaa suurempi kuin kahteen pisteeseen nojaava yhtälön (4.5) ns.
keskeisdifferenssi.
Riippumatta hilatyypistä ja diskretointimenetelmästä, diffuusiotermin approksimoinnissa päädytään aina yhtälön (4.5) kaltaiseen symmetriseen kaavaan, ns. laskentamolekyyliin. Erot eri ratkaisutavoissa koskevat siis enemmän muita kuin diffuusiotermejä. Painegradientti tulee FLUENTin kokoonpuristumattomalla ratkaisijalla lausutuksi symmetrisellä diskretoinnilla. Sen sijaan konvektoituville suureille
käytetään ns. ylävirtapainotettua laskentaa. Tiheyspohjaisella ratkaisijalla painegradientti ja konvektio kietoutuvat monimutkaisella tavalla yhteen. FLUENTissa tästä
on käytetty myös nimeä RAMPANT-ratkaisija, koska menetelmä on alunperin otettu Rampant-nimisestä Wayne Smithin kehittämästä ohjelmasta. Rampant perustuu
suurelta osin Antony Jamesonin esittämiin ratkaisumenetelmiin.
Differenssimenetelmää sovelletaan esimerkiksi rajakerrosyhtälöiden ratkaisuun
(kts. White). Navier-Stokes -yhtälöillä menetelmä soveltuu sellaisenaan soveltuu
4.2. DISKRETOINTI PAIKAN SUHTEEN
99
vain yksinkertaisten suorakulmaisten hilatopologioiden kanssa käytettäväksi. Näissä tapauksissa kontrollitilavuusmenetelmä redusoituu samaksi kuin differenssimenetelmä. Kummassakin diskretointitavassa virhettä voidaan arvioida, kun tiedetään
pohjalla olevan diskretoinnin kertaluku. Kontrollitilavuusmenetelmässä integraalimuodolla on häivytetty differentiaaliyhtälöiden päällimmäinen ’nablaoperaattori’ ja
tilalle on tullut vuon käsite. Vuoarvojen erotusten avulla itse asiassa approksimoidaan derivaattoja. Vuota laskettaessa on hyvä muistaa muutamia perussääntöjä, kuten esimerkiksi se, että keskeisdifferenssityyppistä diskretointia vastaa keskiarvon
avulla lausuttu vuo ja epäsymmetrisissä diskretoinneissa suureita approksimoidaan
laskentakoppien pinnoille toispuolisilla ekstrapoloinneilla.
4.2 Diskretointi paikan suhteen
Varsinainen paikkadiskretointi eli konvektoituvien suureiden ekstrapolointi koppien
seinille ei eroa tiheys- ja painepohjaisilla ratkaisulla toisistaan, joten seuraavassa
tarkastellaan painepohjaisen ratkaisijan menetelmiä. (Menetelmät eroavat kylläkin
vuon laskennan suhteen toisistaan). Tarkastellaan ajasta riippumattomia yhtälöitä,
jotka voidaan kirjoittaa muotoon
Z
A
ρφV~ · dA =
Z
A
Γφ ∇φ · dA +
Z
V
Sφ dV
(4.6)
missä Γφ on diffuusiokerroin, Sφ suureeseen φ liittyvä lähde ja ∇φ suuren φ gradientti
∂φ
∂φ
∂φ
i+
j+
k
(4.7)
∂x
∂y
∂z
tasealueen pinnalla. Painepohjaiselle ratkaisulle on ominaista se, että linkitykset yh∇φ =
tälöiden välillä ovat heikot ja yhtälöt voidaan ratkaista yksitellen. Kaikki yhtälöt
ovat muodoltaan samanlaisia. Jatkuvuusyhtälökin saadaan samasta malliyhtälöstä
asettamalla φ = 1. Lähempi tarkastelu osoittaa, että liikemääräyhtälö ei ole yhtälön
(4.6) kaltainen muuta kuin olettamalla viskositeetti µ vakioksi. (Viskositeetti vastaa
diffuusiokerrointa Γφ ). Oleellista kuitenkin on, että liikemääräyhtälökin on tyypiltään muotoa (4.6) vastaava konvektiodiffuusioyhtälö, jos painegradientti käsitellään
lähdeterminä yhtälön oikealla puolella.
Diskretoinnissa pintaintegraalit korvataan summauksella kopin pintojen yli. Esimerkkinä on kuvan 4.1 kolmion muotoinen kontrollitilavuus, jossa ratkaistavat suureet sijaitsevat tilavuuksien keskipisteissä c0 ja c1. Näiden välillä on pinta-ala A,
joka on vektori.
4.2. DISKRETOINTI PAIKAN SUHTEEN
100
c1
A
c0
Kuva 4.1: Vuon laskenta kolmionmuotoisilla kontrollitilavuuksilla.
Diskretoiduksi yhtälöksi tulee
Nf aces
Nf aces
X
j
ρj φj u¯j Aj =
X
[Γφ (∇φ)n A]j + Sφ V
(4.8)
j
missä Nf aces on tilavuutta rajaavien seinien lukumäärä, φj suureen φ arvo seinällä
j, u¯j seinää vasten kohtisuora nopeus, ns. konvektionopeus (käytetään myös termiä kontravariantti nopeuskomponentti), (∇φ)n on φ:n gradientin arvo kopin seinää vasten kohtisuorassa suunnassa, Aj seinän pinta-ala ja V laskentakopin tilavuus.
Yhtälön (4.8) vasemmalle puolelle muodostuu kopin seinän läpi menevä massavirta
m
˙ = ρ¯
uA.
Yhtälössä (4.8) tilavuusintegraali muutettiin Gaussin lauseella pintaintegraaliksi ja pintaintegraali edelleen summaukseksi kopin pintojen yli. OpenFOAMissa ja
monissa muissa ohjelmissa on gradientin diskretoimiseksi myös toinen vaihtoehto, joka perustuu pienimmän neliösumman menetelmään. Siinä gradientille etsitään
sellainen arvo, että se vastaa mahdollisimman hyvin φ:n arvoja naapurikopeissa.
Tällöin tilavuusintegraali summalausekkeen sijaan muuttuu kertomiseksi kopin tilavuudella.
Riippumatta siitä, miten derivaattojen laskeminen on muutettu vain φ:n arvoja
sisältäviksi laskutoimituksiksi, lopullisia diskreettejä yhtälöitä varten on lausuttava
suureiden φ arvot koppien seinillä ja pinnan normaalin suunnassa oleva gradientti
niinikään seinillä. Koska suureet spesifioidaan laskentatilavuuksien keskipisteissä
(kts. kuva 4.1), on ne jollain tavoin interpoloitava pinnoille. Vaikka kyseessä on
kontrollitilavuuskeino, interpolointitavat jaetaan differenssimenetelmän tavoin ensimmäisen ja toisen kertaluvun interpolointeihin. Interpoloinnit toimivat erilaisilla
4.2. DISKRETOINTI PAIKAN SUHTEEN
101
hilatyypeillä samalla periaatteella. Kolmio- tai tetraedrihiloilla lausekkeista tulee
pitempiä kuin rakenteellisella hilalla, mutta ilmeisesti FLUENTissa asia hoidetaan
aina yleisemmällä (so. pitemmällä) tavalla.
Seuraavassa tarkastellaan konvektoituvien suureiden φj määritystä. Massavirran
ja painegradientin laskentaan palataan myöhemmin. Interpolointimenetelmiä ovat
mm. seuraavat:
• keskiarvoon tai lineaariseen interpolointiin perustuva (’keskeisdifferenssi’)
• ylävirtamenetelmä
• hybridimenetelmä
• ’power-law’ -diskretointi
• toisen kertaluvun ylävirtamenetelmä
• ’QUICK’-menetelmä
• MUSCL-interpolointi
FLUENTissa on tätä kirjoitettaessa valikossa ensimmäisen ja toisen kertaluvun ylävirtamenetelmät, power-law -menetelmä, QUICK ja kolmannen kertaluvun
MUSCL. QUICK ja toisen kertaluvun ylävirtamenetelmät saataisiin myös MUSCLkaavasta. Menetelmien implemetointi ei ole suoraviivaista rakenteettomalle hilalle.
Perinteisesti FLUENTissa ei käytetä kirjallisuudessa esiintyviä termejä diskretoinneille, joten käyttäjän on lähes mahdotonta tietää tarkasti miten koodi suorittaa diskretoinnin. Seuraavassa käsitellään asiaa vanhan manuaalin perusteella, jotta asiasta
saadaan jonkinlainen käsitys.
Yksinkertaisin interpolointikeino pinnalla A on ottaa keskiarvo suureen φ arvoista pisteissä c0 ja c1. Periaatteessa tässäkin voidaan interpoloida pisteiden välillä, mutta rakenteellisella hilalla (ei kuvassa) pelkkä keskiarvokin johtaisi toisen
kertaluvun menetelmään. (Tästä asiasta enemmän CFD-kursseilla). Keskiarvoa vastaavaa menettelyä differenssimenetelmässä sanotaan keskeisdifferenssiksi ja samaa
nimitystä käytetään usein kontrollitilavuusmenetelmän yhteydessäkin. Joskus keskeisdifferenssiä ei voida valita laskentaan ollenkaan, mikä saattaa vaikuttaa oudolta.
Syynä tähän on se, että kaupallisessa ohjelmassa pyritään simuloinnin robustisuuteen. Keskiarvolla yhtälöihin liittyvä ns. numeerinen vaimennus on vähäistä (sitä ei
olisi ollenkaan ilman sen keinotekoista lisäämistä ns. Rhie ja Chow -termin avulla).
4.2. DISKRETOINTI PAIKAN SUHTEEN
102
Tällöin laskennalla on suuri taipumus ’kaatua’. Vaikka keskiarvo on periaatteessa
hyvä toisen kertaluvun interpolointitapa, sitä ei yleensä käytetä, koska laskenta halutaan tehdä mahdollisimman robustilla tavalla vaikkakin jossain määrin tarkkuuden kustannuksella.
Toinen perustapa on ensimmäisen kertaluvun ylävirtamenetelmä. Tällöin käytetään sen laskentakopin arvoja pinnalla, mistä ’tuuli puhaltaa’. Jos oletamme kuvan
4.1 tapauksessa virtauksen (so. nopeuskomponentin u¯) suunnan oleva tilavuudesta
c0 tilavuuteen c1, annetaan pinnalle pisteen c0 arvot. Tällaisella diskretoinnilla on
ns. konvektio-ominaisuus eli virtauksen mukana informaatio leviää vain oikeaan,
alavirran suuntaan. Diskretointi on erittäin robusti. Ns. implisiittinen vaihe yhtälöiden ratkaisussa perustuu aina ensimmäisen kertaluvun ylävirtadiskretointiin. Sitä ei
kuitenkaan pidä käyttää varsinaiseen simulointiin, korkeintaan laskennan aloitusvaiheessa.
Aiemmin tehtiin yrityksiä tarkentaa ensimmäisen kertaluvun ylävirtadiskretointia menemättä kuitenkaan korkeamman kertaluvun menetelmiin. Eräs tällainen yritys on ns. hybridimenetelmä, jossa käytetään ylävirtamenetelmän ja keskeisdifferenssin kombinaatiota riippuen laskentatilavuuteen referoidun Peclet’n luvun ρ¯
u∆x/Γφ
arvoista. FLUENTissa ei ole hybridimenetelmää, mutta sen sijaan ns. power-lawdiskretointi. Power-law-menetelmä perustuu yksidimensioisen konvektiodiffuusioyhtälön tarkkaan ratkaisuun. Power-law -nimitys tulee siitä, että tarkkaa ratkaisua,
joka sisältää e:n potensseja, approksimoidaan rationaalifunktiolla, jossa on viidennen asteen potensseja. Käytännössä tämä menetelmä redusoituu ensimmäisen kertaluvun ylävirtamenettelyä vastaavaksi ja sitä ei pidä missään tapauksessa käyttää.
Käyttökelpoinen diskretointi sen sijaan on toisen kertaluvun ylävirtamenetelmä. Siinä φ:n arvo seinällä saadaan korjaamalla ensimmäisen kertaluvun arvoa φ0
gradientin avulla
φj = φ0 + ∇φ · ∆s
(4.9)
missä φ0 ja ∇φ ovat siis ’tuulen puoleisia’ arvoja ja ∆s on etäisyys tuulen puoleisen kopin keskipisteestä seinälle j. Tätä lauseketta varten on laskettava gradienttien
arvot koppien keskellä. Tämä tapahtuu soveltaen Gaussin lausetta
Nf aces
1 X
∇φ =
φ˜j Aj
V j
(4.10)
missä jälleen V on kopin tilavuus ja Aj seinän j pinta-ala. Yhtälössä (4.10), siis
gradientin laskennassa, käytetään pinnalla olevalle suureelle φ˜j interpoloitua arvoa
4.2. DISKRETOINTI PAIKAN SUHTEEN
103
pinnan kahden puolen olevien koppien arvoista. Tässä φ˜j :n laskenta ei siis mitenkään riipu konvektiotermin diskretoinnista.
Yhtälön (4.9) luonteen selvittämiseksi voidaan kirjoittaa sen yksidimensioinen
vastine. Tällöin osoittautuu, että kyseessä ei olekaan puhdas toisen kertaluvun ylävirtamenetelmä, vaan ylävirtapainotettu, ns. Frommin menetelmä. Kyseessä on joka tapauksessa toisen kertaluvun käyttökelpoinen diskretointi. FLUENTin manuaalin mukaan gradientin arvoja rajoitetaan siten, että vältytään ratkaisuun tulevilta
oskilloinneilta. Kyseessä on ns. vuon rajoittaminen, joka voidaan tehdä monellakin tavalla. Kaikkein tavallisin tapa on ns. TVD-menetelmä, jota on käsitelty CFDperuskurssilla. FLUENTissa on ongelmana, että vuon rajoittaminen tehdään aina.
Tähän palataan luvussa 5.
FLUENTissa on myös ns. QUICK-menetelmä, joka ei kuitenkaan vastaa kirjallisuudessa esitettyä. QUICK-menetelmää usein pidetään kolmannen kertaluvun
diskretointina, mutta todellisuudessa yleisesti käytössä olevissa kaupallisissa virtauslaskentaohjelmissa ei ole olemassa toista kertalukua tarkempia menetelmiä. Tarkempia menetelmiä olisi mahdollista käyttää vain joissain erikoistapauksissa. QUICKmenetelmä on yksi mahdollinen toisen kertaluvun diskretointi, jotka kaikki saadaan
ns. MUSCL-kaavan avulla (yksidimensioinen tilanne)
φLi+1/2 =
φi + 14 (1 − κ)(φi − φi−1 ) + 41 (1 + κ)(φi+1 − φi )
1
1
φR
i+1/2 = φi+1 − 4 (1 + κ)(φi+1 − φi ) + 4 (1 − κ)(φi+2 − φi+1 )
(4.11)
missä arvoa φLi+1/2 käytetään pinnalla i + 1/2, kun nopeus on positiivinen ja arvoa
φR
i+1/2 negatiivisella nopeudella. Yhtälöstä saadaan toisen kertaluvun ylävirtadiskretointi, kun κ = −1 ja keskeisdifferenssi (so. keskiarvo pinnan i + 1/2 kahden
puolen olevista arvoista), kun κ = 1. QUICK-diskretointi vastaa arvoa κ = 1/2 ja
edellä mainittu Frommin menetelmä, jota FLUENTissa nimitetään toisen kertaluvun ylävirtadiskretoinniksi, saadaan, kun κ = 0. ’Kolmannen kertaluvun’ MUSCL
saadaan arvolla κ = 1/3, mutta tämä tarkkuus voidaan realisoida vain yksidimensioisessa tilanteessa. Heikkolaatuisella hilalla katkaisuvirhe ei usein ole edes muodollista toista kertalukua, vaan jonkin verran sen alle.
FLUENTissa ei käytetä QUICK-menetelmää eikä MUSCL-kaavaa sellaisenaan.
Tarkastellaan kuvaa 4.2 ja diskretointia pinnalla e. Oletetaan nopeus positiiviseksi
4.2. DISKRETOINTI PAIKAN SUHTEEN
104
(vasemmalta oikealle). FLUENTissa ’QUICK’-menetelmällä tarkoitetaan kaavaa
φe = θ
∆xE
∆xP
∆xP
∆xW + 2∆xP
φP +
φE +(1−θ)
φP −
φW
∆xP + ∆xE
∆xP + ∆xE
∆xW + ∆xP
∆xW + ∆xP
(4.12)
Olettamalla hilajako tasaväliseksi ∆xW = ∆xP = ∆xE , saadaan
#
"
3
1
φP + φE
+ (1 − θ) φP − φW
φe = θ
2
2
2
(4.13)
Selvästikin kyseessä on parametrilla θ painotettu keskeisdifferenssin ja toisen kertaluvun ylävirtamenetelmän yhdistelmä. Kyseessä on hieman toiseen muotoon kirjoitettu MUSCL-kaava (4.11). Alkuperäinen QUICK-menetelmä, jota FLUENTin
manuaalissa nimitetään ’klassiseksi QUICKiksi’, saadaan, kun θ = 1/8. Olettamalla ’itäisen’ pinnan e vastaavan indeksiä i + 1/2, niin yhtälössä (4.11) φLi+1/2 vastaa
tätä diskretointia, kun κ = 1/2.
∆XW
∆XP
∆XE
W
P
E
w
e
Kuva 4.2: Yksidimensioiset kontrollitilavuudet.
Toisen kertaluvun menetelmillä ratkaisuun voi muodostua oskillointeja, jotka
voidaan välttää käyttäen vuon rajoittamista. FLUENTissa rajoitetaan vuota parametrin θ avulla, mutta ei kuvata lähemmin miten. Kun lähtökohtana on yhtälö, joka
on kirjoitettu muotoon keskeisdifferenssi + ylävirtamenetelmä, on mahdollista, että se redusoituu ns. van Leerin rajoittimella varustetuksi diskretoinniksi (kts. esim.
CFD peruskurssi). Kyseessä ei siis ole alkuperäinen QUICK-menetelmä, vaan limitoitu ylävirtapainotettu diskretointi. Manuaalissa termiä QUICK luultavasti käytetään siksi, että siitä on tavallaan tullut eräänlainen korkeamman kertaluvun diskretointien tavaramerkki. Ongelmana FLUENTissa on siis se, että sekä ns. toisen
kertaluvun ylävirtamenetelmällä ja ns. QUICKillä käytetään aina vuon rajoitinta.
Kaikki diskretoinnit, mukaanluettuna FLUENTin ’QUICK’, ovat tarkempia rakenteellisilla hiloilla, mutta ne voidaan laajentaa rakenteettomille. FLUENTin manuaalissa asiaa ei selosteta yksikäsitteisesti. Diskretoinnin (4.12) yhteydessä tode-
4.2. DISKRETOINTI PAIKAN SUHTEEN
105
taan käytettäväksi rakenteettomalla hilalla normaalia toisen kertaluvun ylävirtamenetelmää. Loogista voisi olla, että lausekkeen jälkimmäinen termi korvataan toisen
kertaluvun diskretoinnilla, mutta manuaalissa esitetyllä tavalla yhtälö (4.9) onkin
Frommin menetelmä. Kertoimen θ määrittelyä olisi siinä tapauksessa muutettava,
jotta kaava (4.12) toimisi samalla tavoin kuin rakenteellisella hilalla. Tämä on tietenkin mahdollista. Manuaalin tekstin voi kuitenkin tulkita myös siten, että muiden
kuin heksaedrien pinnoilla käytetäänkin suoraan yhtälöä (4.9).
Yhteenvetona voidaan todeta, että FLUENTissa on mahdollista käyttää toisen
kertaluvun diskretointeja vuon rajoittimen kanssa. Diskretoinneista käytetään yleisesti käytössä olevia standardinimityksiä harhaanjohtavalla tavalla. Miten lopullinen diskretointi tehdään ei selviä kunnolla, edellä asiaa on yritetty arvailla. Käytännössä voidaan luultavasti käyttää kumpaa tahansa toisen kertaluvun menetelmää
eivätkä tulokset silloin olennaisesti poikkea toisistaan. Jälleen on muistettava, että
riittävällä hilatiheydellä tulokset konvergoituvat samoiksi eikä silloin niiden pidäkään erota toisistaan. Huomattava poikkema eri (toisen kertaluvun) diskretointimenetelmillä antaa aiheen epäillä hilan olevan liian harva tai konvergenssin epätäydellisen. Ensimmäisenä on siis tarkastettava, että laskenta on riittävästi supennut.
OpenFOAMissa käyttäjä voi valita vapaasti eri interpolointimenetelmien välillä. Jokaiselle suureelle ja termille voi (ja täytyy) määritellä erikseen oma menetelmänsä. OpenFOAMin yleisimmät interpolintimenetelmät on lueteltu taulukossa
4.3. Taulukon menetelmistä kaikki paitsi otsikon Centred differencing alla olevat
vaihtoehdot on tarkoitettu käytettäväksi konvektiotermin yhteydessä. Niitä voi kuitenkin halutessaan käyttää myös muiden termien yhteydessä - joskin on vaikea perustella, miksi näin kannattaisi tehdä. TVD ja NVD-menetelmien yhteydessä käyttäjä voi valita jonkun tarjolla olevista vuon rajoittimista.
Konvektiotermin lisäksi on diskretoitava diffuusiotermit, jotka sisältävät derivaattoja laskentatilavuuksien pinnoilla. Diskretoinnista tulee aina toisen kertaluvun
tarkka, mutta sen käytännön suorittaminen ei ole täysin ongelmatonta. Yhtälöllä
(4.10) lasketaan koppien keskipisteisiin nopeusgradientit. Periaatteessa näistä keskipistearvoista voidaan ottaa keskiarvo ja saada siten toisen kertaluvun tarkka menetelmä koppien pintojen derivaatoille. Tämä on kaikkein yksinkertaisin tapa, mutta
se johtaa hyvin laaja-alaisiin laskentamolekyyleihin diffuusiotermin osalta. Toinen
tapa olisi laskea derivaattoja suoraan koppien pinnoille, mutta tämä on ohjelmallisesti hankalammin toteutettavissa. FLUENTin manuaalista ei selviä kumpaa tapaa
ohjelma käyttää.
4.2. DISKRETOINTI PAIKAN SUHTEEN
106
Kuva 4.3: OpenFOAMin yleisimmät interpolintimenetelmät.Lhde:OpenF OAM U serGuide
OpenFOAMissa gradientit lasketaan diffuusiotermin yhteydessä lähtökohtaisesti suoraan kopin pinnalle, mikä kuitenkin aiheuttaa ongelmia, jos hila on epäortogonaalinen. Epäortogonaalisessa hilassa kopin seinän normaali ja ympäröivien koppien keskipisteet yhdistävä jana ovat erisuuntaiset. Vinoudesta aiheutuvaa virhettä
voidaan korjata koppien keskipisteissä laskettujen gradienttien avulla, jotka lasketaan eksplisiittisesti tunnettujen arvojen avulla.
Onneksi käyttäjän ei yleensä tarvitse olla kovin huolissaan diffuusiotermin laskennasta. Tässä yhteydessä voidaan todeta, että useampipisteinen molekyyli on laskennassa huonompi sekä ratkaisun hyvyyden että konvergenssinopeuden suhteen.
Konvektio- ja diffuusiotermien lisäksi OpenFOAMissa määritellään diskretointimenetelmät myös muille laskuoperaatioille. Itse asiassa konvektiotermin diskretointi vastaa tiettyihin suureisiin liittyvän divergenssioperaation diskretointia ja diffuusiotermin Laplacen operaattorin diskretointia. Alla on esitelty mahdolliset operaatiot:
• Gradientin seinää vastaan kohtisuora komponentti, (∇φ)n
• Gradientti, ∇
• Laplace-operaattori, ∆
• Divergenssi, ∇·
4.3. PAINEPOHJAINEN RATKAISIJA (PRESSURE-BASED SOLVER)
107
Alla on esimerkki siitä, miten liikemääräyhtälön diffuusiotermi voitaisiin määritellä. Ensiksi on annettava menetelmä divergenssioperaation diskretoimiseksi (Gauss).
Lisäksi on määritettävä menetelmä, jolla diffuusiokerroin interpoloidaan kopin seinille (linear), sekä menetelmä nopeuden seinää vastaan kohtisuoran gradientin laskemiseksi (corrected).
laplacian(nuEff,U) Gauss linear corrected;
Tarkemmin eri termien diskretoinnista OpenFOAMissa ja niihin liittyvistä mahdollisuuksista löytyy suomenkielisestä muistiosta tai OpenFOAMin nettisivuilta.
4.3 Painepohjainen ratkaisija (pressure-based solver)
4.3.1 Liikemääräyhtälö
Aiemmin painepohjaista ratkaisua nimitettiin peräkkäiseksi (segregated), koska menetelmässä ratkaistiin ensin ns. painekorjaus ja sen jälkeen diskretoidut yhtälöt yksi
kerrallaan (’peräkkäin’). Kaupallisten koodien uutena piirteenä on kytkeä painekorjausyhtälö ja liikemääräyhtälö yhdeksi suureksi yhtälöryhmäksi. Tämän ratkaiseminen on hankalaa ja yksi ratkaisun iteraatiokierros vie moninkertaisesti aikaa perinteiseen painekorjausmenetelmään verrattuna. Iteraatiokierrosten määrä kuitenkin
laskee ja menetelmän varmatoimisuus eli ’robustisuus’ paranevat. Käyttäjän kannattaa kokeilla molempia menetelmiä, useassa tapauksessa niiden laskenta-ajat ovat
kuitenkin todennäköisesti samaa luokkaa. Menetelmät ovat perusteiltaan samoja,
eroksi tulee yhtälöryhmä.
Painekorjauksessa nopeuskomponenttien muutokset eliminoidaan eksplisiittisesti painekorjausyhtälöstä, jolloin saadaan neljä kertaa pienempi ryhmä, mutta
tehtyjen approksimaatioiden vuoksi ratkaisua joudutaan alirelaksoimaan enemmän.
Painekorjaustapojakin on useita. Monissa ohjelmissa voidaan valita SIMPLE, SIMPLEC
ja PISO. Liikemääräyhtälöihin kytketty ratkaisu valitaan nimityksellä ’coupled’,
kytketty. Ratkaisutapa valitaan FLUENTissa Pressure-Velocity coupling valikosta.
Kokonaan toisenlainen ratkaisutapa on tiheyspohjainen (’density-based), josta käytettiin ennen nimitystä ’kytketty’ (coupled). Nykyään siis kytketyllä ratkaisulla tarkoitetaan painepohjaista ratkaisua, jossa painekorjaus on korvattu modernimmalla
jatkuvuus- ja liikemääräyhtälöiden kytkennällä.
4.3. PAINEPOHJAINEN RATKAISIJA (PRESSURE-BASED SOLVER)
108
Tarkastellaan seuraavaksi painepohjaisen ratkaisun ominaispiirteitä. Tätä ratkaisua käytetään kokoonpuristumattomien yhtälöiden yhteydessä. Tässä ja jatkossa
paneudutaan lähinnä SIMPLE-menetelmään. Painepohjaisia ratkaisumenetelmiä on
paljon, mutta niiden perusteet ovat melko samanlaisia.
Tasapainotilassa voidaan kirjoittaa jatkuvuusyhtälöksi
Z
A
ρV~ · dA = 0
(4.14)
ja vektorimuotoiseksi liikemääräyhtälöksi
Z
A
ρV~ V~ · dA = −
Z
A
pI · dA +
Z
A
τ · dA +
Z
FdV
(4.15)
V
missä τ on jännitystensori ja F tilavuusvoimien muodostama vektori. Liikemääräyhtälöiden lukumäärä on yhdestä kolmeen riippuen probleeman dimensioista. Kukin liikemääräyhtälön komponentti diskretoidaan yhtälön (4.8) tapaan. Tällöin kitkatermi ei ole aivan samanmuotoinen kuin yhtälön (4.8) diffuusiotermi ja lisäksi liikemääräyhtälössä on painegradientti. Diskretointi tehdään kuitenkin aivan samaan
tapaan kuin edellä. Lopputuloksena saatava yhtälö on tapana kirjoittaa seuraavasti
nopeuskomponentille u
Nf aces
ap up =
X
nb
anb unb +
X
pj Ax,j + Sp
(4.16)
j
missä Ax,j on laskentatilavuuden pinnan x-komponentti. Kertoimet aP ja anb koostuvat massavirroista koppien pinnoilla ja diffuusiokertoimista ja ne määräytyvät,
kun diskretointi on tehty edellisessä kappaleessa kuvatuilla menettelyillä. Summalauseke voi siis olla hyvin monien laskentakoppien yli. Ensimmäisen kertaluvun
menetelmällä summaus koskisi vain naapurikoppeja. Edellä jo todettiin, että jos
diffuusiotermi diskretoidaan ottamalla keskiarvoja koppien keskipisteille lasketuista arvoista, saadaan hyvin laaja laskentamolekyyli, mikä hidastaa konvergenssia.
Yhtälössä (4.16) on vielä diskretoitava kertoimia ap ja anb varten yhtälön (4.8)
massavirta koppien pinnoilla ja paine. Näiden laskenta tapahtuu eri tavoin paine- ja
tiheyspohjaisella ratkaisijalla. Tiheyspohjaisella käytetään laskentatilavuuksien pinnoilla myös massavirroille ja paineelle samaa interpolointitapaa kuin konvektoituville suureille. Nämä suureet siis käsitellään eri tavoin eri ratkaisutavoilla ja tulokset
eivät siksi ole täysin samoja ennen kuin laskentahila on tarpeeksi tiheä. Tällöinhän
molemmat ratkaisijat antavat saman (tarkan) ratkaisun.
4.3. PAINEPOHJAINEN RATKAISIJA (PRESSURE-BASED SOLVER)
109
FLUENTin oletusarvona painepohjaisella ratkaisijalla on käyttää paineen interpolointiin liikemääräyhtälöön perustuvaa menetelmää. Manuaalin tietojen perusteella on mahdollista arvailla, mitä tällä tarkoitetaan. Paineen interpolointia kuvatessa on viite kuuluisaan Rhien ja Chow’n artikkeliin, jossa esitellään kuitenkin massavirran laskentaa ja sen yhteydessä tehtävää numeerista vaimennusta. Tätä massavirran laskentaa FLUENT käyttää jatkuvuusyhtälössä. Yleensä samaa massavirtaa
käytetään liikemääräyhtälöissäkin, mutta FLUENTin osalta tämä seikka ei selviä
manuaalista. Todennäköisesti FLUENT siis lisää liikemääräyhtälöön standardivaimennustermin, kun paineelle käytetään oletusarvodiskretointia.
FLUENTissa on mahdollista myös interpoloida paine lineaarisesti keskipisteistä
c0 ja c1 kopin pinnalle A (kts. kuva 4.1). Käytännössä riittäisi pelkkä keskiarvo toisen kertaluvun tarkkuuteen, mutta lineaarinen interpolointi on rakenteettoman hilan
yhteydessä tarkempi. Laskennan pitäisi toimia näinkin, koska riittää, että Rhie ja
Chow vaimennus on läsnä jatkuvuusyhtälössä. Tässä vaihtoehdossa on hieman vähemmän numeerista vaimennusta, kuin paineen oletusarvodiskretoinnin yhteydessä,
joten tätä laskentatapaa voisi siinä mielessä jopa suositella. Koska asia ei täydelleen
selviä manuaalin perusteella, molempia diskretointeja kannattaa kokeilla.
Kolmantena vaihtoehtona on käyttää toisen kertaluvun interpolointia, jota käytetään konvektoituville suureille, myös paineelle. Kuten edellä todettiin tiheyspohjaisella ratkaisulla kaikki suureet, siis myös paine, interpoloidaan näin. Tällöin painegradientti tulee lausutuksi useamman kuin kahden pisteen avulla. TKK:ssa aikoinaan saatujen kokemusten mukaan painetta ei kuitenkaan yleensä kannata interpoloida näin. Se saattaa johtaa oskillointeihin lasketussa paineprofiilissa.
Neljäntenä vaihtoehtona on kytkeä paineen interpolointiin tilavuusvoiman vaikutusta. Sitä suositellaan käytettäväksi esimerkiksi nosteen yhteydessä. Luultavasti
sen merkitys lopputuloksiin on vähäinen, mutta menettely parantaa iteraation konvergenssia. Viides interpolointivaihtoehto aktivoi jollakin tavoin limitetyn hilan kaltaisen systeemin. Aktivointi tapahtuu PRESTO-optiolla. Limitetty hila ei ole enää
muodissa ja tämä optio kannattaa jättää rauhaan. Se toimiikin vain rakenteellisella
hilalla.
Liikemääräyhtälöt voidaan siis ratkaista FLUENTissa yksi kerrallaan. Jos massavirrat ja paineet kopin pinnoilla tunnettaisiin, yhtälö (4.16) tuottaisi heti tarkan
ratkaisun. Koska näin ei ole, on iteroitava. Yhtälön (4.16) paineita iteroidaan siten,
että jatkuvuusyhtälö toteutuu. Menetelmää sanotaan painekorjaukseksi ja siinä samalla iteroidaan massavirtoja. Painekorjaukseen ja sen yhteydessä muodostuvien
4.3. PAINEPOHJAINEN RATKAISIJA (PRESSURE-BASED SOLVER)
110
yhtälöryhmien ratkaisuun palataan luvussa 5. Toisena vaihtoehtona on ratkaista jatkuvuusyhtälö ja liikemääräyhtälöt yhtä aikaa (FLUENTin kytketty ratkaisu).
4.3.2 Jatkuvuusyhtälö
Jatkuvuusyhtälö voidaan kirjoittaa muotoon
Nf aces
X
m
˙j =0
(4.17)
j
missä m
˙ j on pinnan j läpi kulkeva massavirta. (Manuaalissa massavirralle käytetään symbolia J, tällä kurssilla pyritään ainakin jossain määrin käyttämään standardimerkintätapoja). Yhtälö (4.17) voidaan kirjoittaa myös muotoon
Nf aces
X
ρ¯
uAj = 0
(4.18)
j
missä u¯ on pintaa vasten kohtisuora nopeus. Painekorjausmenetelmässä jatkuvuusyhtälöä ei oikeastaan ratkaista ollenkaan, vaan sen avulla määritetään painekenttä.
Ohjelmassa lasketaan massataseen virheitä yhtälön (4.18) avulla lähtien liikemääräyhtälöistä saaduista nopeuksista. Näitä käytetään painekorjausyhtälössä, joka saadaan liikemäärä- ja jatkuvuusyhtälöistä. Jatkuvuusyhtälöön on tässä vaiheessa sisällytettävä numeerista vaimennusta, muuten tuloksena on ns. shakkilautakuvio paineille. Tämä johtuu siitä, että rinnakkaisten laskentatilavuuksien paineiden välille ei
tulisi ratkaisussa mitään kytkentää ilman vaimennustermiä. Vallassa oleva dogmi on
lisätä vaimennus massavirtoihin (Rhie ja Chow -menetelmä). Kuten liikemääräyhtälön yhteydessä myös todettiin, vaimennusta ei kuitenkaan tarvitse käyttää muualla
kuin jatkuvuusyhtälössä. Muissa yhtälöissä voidaan periaatteessa käyttää (jos halutaan) nopeuksien keskiarvoista laskettua konvektionopeutta. mutta jatkuvuusyhtälön kohdalla vaimennustermi on oltava mukana painepohjaisen ratkaisijan yhteydessä. Konvektiotermien ylävirtadiskretoinnista tulee ratkaisuun myös numeerista
vaimennusta, mutta se ei riitä poistamaan painepohjaisen ratkaisijan shakkilautailmiötä.
ˆ˙ laskentatilavuuksien keskipisteistä interpoloimalla saatu
Olkoon seuraavassa m
massavirran arvo. Esimerkiksi kuvan 4.1 tilanteessa pinnalla A FLUENT laskee
lopullisen massavirran yhteydestä
2
ˆ˙ + ρA (pc0 − pc1 )
m
˙ =m
aˆP
(4.19)
4.4. TIHEYSPOHJAINEN RATKAISIJA (DENSITY-BASED SOLVER)
111
missä a
ˆP on liikemääräyhtälön kertoimista kopeissa c0 ja c1 saatu keskiarvo. Kerroin on laadultaan sama kuin massavirta ja esimerkiksi CFX:n manuaalin perusteella CFX käyttää jonkinlaista tulovirtauksen massavirtaa kertoimen a
ˆP asemesta.
Painekorjausratkaisussa liikemääräyhtälön kertoimet ovat tärkeässä asemassa. Massavirtaan siis lisätään termi, joka on pinnan kahden puolen olevien paineiden erotus.
Tämä termi on luonteeltaan ns. vaimennustermi ja sen vaikutus menee nollaksi hilaa
tihennettäessä muualla paitsi epäjatkuvuuskohdissa (Rhie ja Chow -menetelmää ei
voi sinällään käyttää tiivistys- eli shokkiaaltojen laskentaan. Vaimennustermistä lähemmin CFD-jatkokurssilla). Valitettavasti yhtälö (4.19) on ensimmäistä kertalukua
lisätyn painegradientin vuoksi. Ohjelmassa ei ehkä käytetäkään yhtälöä (4.19) laskentaan, vaan on mahdollista korvata paine-ero kopin pinnoille MUSCL-tyyppisellä
toisen kertaluvun ekstrapoloinnilla saatujen paineiden erotuksella. Ilmeisesti juuri
tällä tavoin saatujen paineiden keskiarvoa olisi mahdollista käyttää myös liikemääräyhtälön painegradientissa. Aiemmin yhtälössä (4.19) käytettiin huomattavasti monimutkaisempaa paineen lauseketta, joka saattoi satunnaisesti olla jopa vaimennuksen sijasta algoritmia epästabiloiva. Massavirran laskentatavasta kannattaa huomata, että suoraan nopeuksien keskiarvoista laskettu massanvirrantiheys ei ole täsmälleen sama kuin ohjelman sisällä käytetty massavirta, koska myös paine-erot yhtälön
(4.19) mukaisesti vaikuttavat massavirtaan. Tämä voi aiheuttaa päänvaivaa jälkikäsittelyvaiheessa ja ohjelmasta ehkä voidaan tulostaa kahdella tavalla määritellyt
massavirrat.
Tämän jälkeen painepohjaisessa ratkaisussa tarvittavat diskretoinnit on määritelty. Skalaarisuureiden ratkaisu ei tuo tilanteeseen enää mitään uutta. Ne voidaan
ratkoa peräkkäin varsin mielivaltaisessa järjestyksessä. Järjestys määräytyy ohjelmassa sen mukaan, missä vaiheessa lasketaan mahdollisia lähdetermejä, aineominaisuuksia, turbulenssisuureita jne. Jos kaikissa yhtälöissä käytetään jatkuvuusyhtälön määrittelemää massavirtaa, yhtälöistä tulee samanmuotoisia ja ohjelma yksinkertaistuu.
4.4 Tiheyspohjainen ratkaisija (density-based solver)
4.4.1 Yhtälöt ja matriisin pohjustaminen
Tämä ratkaisija perustuu kokoonpuristuviin yhtälöihin ja perusmuodossaan sitä voidaan käyttää, kun Machin luku on yli 0,1. FLUENTissa käytetään ns. matriisin poh-
4.4. TIHEYSPOHJAINEN RATKAISIJA (DENSITY-BASED SOLVER)
112
justamiskeinoa (preconditioning). Tällöin tiheyspohjainenkin ratkaisu toimii kaikilla Machin luvuilla. Menetelmä perustuu aikaintegrointiin, joten yhtälöt kirjoitetaan
aina aikaderivaatan kanssa
Z
Z
∂ Z
WdV + [F − G] · dA =
HdV
∂t V
A
V
(4.20)
Ratkaisussa ei aikaderivaatalla ole välttämättä mitään varsinaista tekemistä ajan
suhteen integroinnin kanssa. Kyseessä on vain tapa saavuttaa tasapainotila. Aukikirjoitettuna vektorit W ja F ovat

W=
ρ



 ρu 




 ρv 




 ρw 


(4.21)
ρE

F=









ρV~
ρV~ u + p~i
ρV~ v + p~j
ρV~ w + p~k
ρV~ E + pV~










(4.22)
Matriisi G sisältää kitka- ja lämmönsiirto termit (diffuusiotermit) ja H on lähdetermi. Kahden viimeksi mainitun käsittely ei poikkea peräkkäisestä ratkaisusta,
oleellinen ero tulee kitkattoman vuon osan, ns. Eulerin yhtälöiden ratkaisusta, jossa
käytetään painepohjaisesta ratkaisutavasta poikkeavaa menettelyä sekä vuolle että
sille perustuvalle numeeriselle ratkaisulle.
Ratkaisu siis perustuu yhtälön (4.20) aikaintegrointiin. Kokemus on osoittanut,
että ratkaisusta tulee hyvin kankea, jos virtauksen Machin luku lähestyy nollaa. Tämän vuoksi FLUENTissa käytetään matriisin pohjustamiseksi nimitettyä menetelmää, jolla periaatteessa voidaan ratkaista virtausta kaikilla nopeusalueilla. Menetelmä ei kuitenkaan välttämättä ole kaikissa tilanteissa kovin tehokas. Sen vuoksi
tiheyspohjainen ratkaisija kannattaa valita silloin, kun tilanne muistuttaa aerodynaamista simulointia. Tällainen tilanne on esimerkiksi laivoilla. (Laivoilla tosin on
mallinnettava myös nesteen pinta, täysin analoginen tilanne olisi sukellusveneillä).
Yleensäkin tiheyspohjaista ratkaisua kannattaa käyttää tilanteissa, joissa on pelkkää
virtausta, ei virtaukseen linkitettyä monimutkaista fysiikkaa.
Matriisin pohjustaminen kohdistuu aikaderivaattaan. Tasapainotilassa aikaderivaatta on nolla, joten temppu ei siis periaatteessa vaikuta ratkaisun lopputulokseen.
4.4. TIHEYSPOHJAINEN RATKAISIJA (DENSITY-BASED SOLVER)
113
Aluksi yhtälöillä tehdään aikaderivaatassa muuttujien vaihdos
∂W ∂
∂Q ∂t
Z
V
QdV +
Z
A
[F − G] · dA =
Z
(4.23)
HdV
V
missä Q = [p, u, v, w, T ] on uusi ratkaistavien muuttujien vektori ja ∂W/∂Q on
ns. Jacobin matriisi, joka näillä muuttujavalinnoilla on
∂W
=Γ=
∂Q










ρp
0
0
0
ρT
ρp u
ρ
0
0
ρT u
ρp v
0
ρ
0
ρT v
ρp w
0
0
ρ
ρT w
ρp H
ρu ρv
ρw
ρT H + ρcp










(4.24)
missä ρp ja ρT ovat tiheyden derivaattoja paineen ja lämpötilan suhteen. Tässä vaiheessa ei ole tehty vielä mitään approksimaatioita. Aikaderivaatan muuttujat on
vaihdettu ns. primitiivisuureisiin, joita käytetään myös peräkkäisessä ratkaisijassa.
Alhaisella Machin luvulla esiintyvää konvergenssiongelmaa ei ole vielä muuttujavaihdolla ratkaistu. Tämä tehdään siten, että Jacobin matriisin Γ ominaisarvoja
manipuloidaan. Perusideana on korvata virtauksen äänennopeus pseudoäänennopeudella, jolloin Machin luvulle saadaan selkeästi nollasta poikkeava arvo. Tämä
menettely on aktiivinen ainoastaan alhaisella Machin luvulla ja modifioidussakin
tilanteessa pseudoMachin luku jätetään arvon 0,2 tienoille. Menettely takaa vain
sen, että yhtälön luonne ei matemaattisesti muutu, kun lähestytään Machin lukua
nolla. Modifiointi tehdään lisäämällä tiheyden derivaattaan ρp termi 1/Ur2 , missä
referenssinopeuden Ur ohjelma valitsee paikallisesti ratkaistusta nopeuskentästä.
Matriisin pohjustamisella rikotaan tarkkuus ajan suhteen. Yhtälöitä ei sinällään
voida käyttää ajasta riippuviin tapauksiin, mutta käyttämällä ns. kaksinkertaista aikaintegrointia (dual time-stepping) voidaan pohjustuskeinolla ratkoa myös ajasta
riippuvia tilanteita. Sinällään pohjustus on vain keino ratkoa tasapainotilan virtausta alhaisella Machin luvulla.
4.4.2 Vuon laskenta
Tiheyspohjaisen ratkaisun yhteydessä käytetään vuon laskennassa Roen menetelmää (Roe method, myös flux-difference splitting) tai AUSM-menetelmää. Tätä menetelmätyyppiä nimitetään myös approksimatiiviseksi Riemann-ratkaisijaksi tai
Godunov-tyyppiseksi ratkaisuksi. Se soveltuu parhaiten kokoonpuristuvien yhtälöiden yhteydessä käytettäväksi. Vuon laskenta on sellainen, että virtauksessa esiinty-
4.4. TIHEYSPOHJAINEN RATKAISIJA (DENSITY-BASED SOLVER)
114
vät tiivistysaallot voidaan saada jopa kahden laskentakopin väliin, siis niin epäjatkuvina kuin hilan resoluutio antaa myöden. Menetelmä edellyttää vuon Jacobin matriisilta nollasta poikkeavia ominaisarvoja, joten perusmuodossaan vuonkin laskenta
sopii vain tilanteeseen, jossa Ma > 0,2. Roen menetelmässä kitkaton vuovektori
kopin pinnalla lasketaan seuraavasti
1
1
F = (FR + FL ) − |A|δW
2
2
(4.25)
missä vuot FR ja FL lasketaan kopin pinnan kummankin puolen arvoilla. Nämä arvot saadaan interpoloimalla kummastakin suunnasta kaavoilla (4.11) tai vastaavilla
yhteyksillä. Kuten jo todettiin, tiheyspohjaisessa ratkaisutavassa ei ole eroa paineen,
massavirran ja konvektoituvien suureiden interpoloinneilla. Kaikki lasketaan samalla tavalla. Suure δW = WR − WL on ratkaistavien suureiden erotus ’oikealla’ ja
’vasemmalla’ puolen pintaa. Yhtälö (4.25) voidaan tavallaan tulkita toisen kertaluvun keskeisdifferenssiksi ja vaimennustermiksi. Tämä vaimennustermi hoitaa kuitenkin ylävirtapainotuksen oikealla, karakteristisiin suuntiin pohjautuvalla tavalla,
joten kyseessä on myös eräänlainen ylävirtadiskretointi. Esimerkiksi ylisoonisella
virtauksella vuon lauseke automaattisesti kytkee pois alavirran vaikutuksen. Lauseke myös poistaa mahdollisuuden shakkilautamaisiin ratkaisuihin eikä ylimääräisiä
vaimennustermejä tarvita.
AUSM-menetelmä on yksinkertaistettu versio kaavasta (4.25). Yleensä menetelmät tuottavat samanlaisen ratkaisun. Hilakonvergoitunut tulos on täsmälleen sama,
mutta äärellisen kokoisella hilalla voi pieniä eroja näkyä. Joskus Roen menetelmä
tuottaa epäfysikaalisen ratkaisun, mutta on epäselvää voidaanko tämä aina välttää
AUSM-diskretoinnilla. Tilanne on hyvin harvinainen ja liittyy kitkattoman virtauksen simulointiin.
FLUENTissa käytetään matriisin pohjustusta, jolloin ominaisarvojen manipulointi vaikuttaa myös vuon laskentaan matriisin A kautta. Tämä siis tapahtuu vain
alhaisella Machin luvulla. Shakkilautamainen ratkaisu poistuu, mutta tilanteessa
ei ole enää ’fysiikkaa’ mukana, vaan käyttäjä (tässä tapauksessa FLUENTiin valmiiksi ohjelmoitu algoritmi) manipuloi vaimennusta eräänlaisen ’Lindströmin vakion’ muodossa. Vakion valintatapa estää näennäistä Machin lukua nousemasta likimain yli arvon 0,2. Kyseessä oleva vaimennus on siis keinotekoista alhaisella
Machin luvulla ja tehdään eri tavoin kuin painepohjaisen ratkaisun Rhie ja Chowmenetelmässä. Suuremmalla fysikaalisella Machin luvulla (Ma > 0,2) tämäntyyppistä vaimennusta ei tarvita. Paineen kytkentä tapahtuu fysikaalisella pohjalla. Nu-
4.4. TIHEYSPOHJAINEN RATKAISIJA (DENSITY-BASED SOLVER)
115
meerisessa ratkaisussa on kuitenkin sisäistä vaimennusta ylävirtapainotetun diskretoinnin katkaisuvirheestä johtuen.
4.4.3 Tiheyspohjaisen menetelmän ratkaisutavat
Tiheyspohjaisella ratkaisijalla käytetään aikaintegrointiin perustuvaa iterointitapaa,
jota ei tule sekoittaa todelliseen ajan suhteen tarkkaan laskentaan. Ratkaisutapoja
on kaksi, eksplisiittinen ja implisiittinen. Niiden erot ovat luultavasti melko pieniä,
mikä aiheutuu siitä, että eksplisiittisessä ratkaisussa käytetään aika-askeleen pidentämisessä eräänlaista yksinkertaista implisiittistä operaattoria, residuaalin tasoittamista.
Eksplisiittinen menetelmä perustuu m-askeliseen Runge-Kutta -menetelmään.
Algoritmi on seuraava
Q0 =
Q0
∆Qi = −αi Γ−1 ∆tRi−1
Qi =
Qn+1 =
Qi−1 + ∆Qi
Qm
(4.26)
missä uuden iteraatiokierroksen n+1 arvo ratkaisuvektorille ∆Q saadaan tekemällä
i = 1, 2, ..., m Runge-Kutta askelta. Yleensä tehdään 3-4 askelta ja näille viritetään
sopivat kertoimien αi arvot, jotta aikaintegrointi olisi mahdollisimman vaimentava.
Tarkoituksenahan ei ole laskea ajan suhteen tarkasti, vaan aikaintegroida yhtälöitä,
kunnes tasapainotila löytyy. Runge-Kutta -menetelmässä joudutaan laskemaan ns.
residuaali m kertaa, mikä on aikaa vievää, mutta menetelmässä ei tarvita monimutkaista yhtälöryhmän ratkaisua. Residuaali askeleella i lasketaan olemassa olevista
arvoista
Nf aces
Ri =
X h
i
Fj (Qi ) − Gj (Qi ) − V H
j
(4.27)
Yhtälöissä käytetään paikallista näennäisaika-askelta, joka lasketaan yhteydestä
∆t =
CF L∆x
λmax
(4.28)
missä CF L on ns. Courantin luku (lyhennys tulee nimistä Courant-Friedrichs-Lewy)
ja λmax on pohjustetun yhtälön matriisin Γ−1 A paikallisesti maksimiominaisarvo.
Paikallisuus merkitsee tässä, että ’aika-askel’ ei ole laskenta-alueessa vakio, vaan
muuttuu laskentatilavuuden dimensioiden ∆xi ja virtausolosuhteiden mukaan. Koska ominaisarvoihin vaikuttaa matriisin pohjustaminen, ovat aika-askeleetkin aivan
4.4. TIHEYSPOHJAINEN RATKAISIJA (DENSITY-BASED SOLVER)
116
erikokoisia eri nopeusalueilla. Paikallisen aika-askeleen merkitys on siinä, että eksplisiittiseen aika-integrointiin liittyy aika-askeleen pituutta säätelevä stabiilisuuskriteeri. Käyttämällä paikallista aika-askelta, saadaan se aina maksimoitua. Tässä
katoaa ajan suhteen tarkkuus, mutta tarkoituksena onkin minimoida tasapainotilaan
tarvittavien laskentakierrosten määrä.
Aika-askelta voidaan vielä kasvattaa (Courantin lukua kasvattaa) ottamalla käyttöön residuaalien tasoittaminen. Kyseessä on eräänlainen yksinkertaistettu implisiittinen vaihe, jonka on havaittu stabiloivan yhtälöitä, jolloin voidaan käyttää hieman
suurempaa Courantin luvun arvoa, mikä jälleen nopeuttaa tasapainotilan saavuttamista. Residuaalin tasoittaminenkin sotkee tarkkuuden ajan suhteen. Vaikka menetelmä siis pohjautuu aikaintegrointiin, se on oikeastaan vain eräs iterointitapa.
FLUENTissa voidaan konvergenssia vielä kiihdyttää monihila-algoritmilla (FAS,
full-approximation storage).
Käyttäjä voi valita FLUENTissa myös implisiittisen ratkaisutavan tiheyspohjaisille menetelmälle. Myös implisiittinen ratkaisu pohjautuu aikaintegrointiin, mutta
vuoarvot lausutaan uudella ajanhetkellä, mikä lisää stabiilisuutta. Tällöin voidaan
käyttää pitempää paikallista aika-askelta ∆t, mutta aikaa kuluu yhtälöryhmän ratkaisuun. On vaikea sanoa kumpi on tehokkaampi, eksplisiittinen vai implisiittinen
ratkaisu.
Implisiittisissä menetelmissä linearisoidaan uuden aikatason vuot, jolloin saadaan seuraava yhtälöryhmä

D
Nf aces
−
X
j
!
∂Fj
∂Gj 
−
∆Qn+1 = −Rn
∂Qk ∂Qk
(4.29)
Kerroinmatriisi on ns. lohkotyyppiä, jossa kuhunkin noodiin liittyy ratkaistavien
suureiden määrän kokoisia osamatriiseja. Kolmidimensioisessa tapauksessa ratkaistavia suureita on viisi, joten yhtälön (4.29) kerroinmatriisin koko on laskentatilavuuksien määrä ×5. Koska matriisin dimensio voi olla useita miljoonia, sen ratkaiseminen on aikaa vievää. Onneksi matriisi on harva ja lävistäjävaltainen. Diagonaalilla olevien osamatriisien
Nf aces
X
V
∂Fj
∂Gj
D=
Γ+
−
∆t
∂Qk ∂Qk
j
!
(4.30)
kokoa voidaan säädellä aika-askeleen koolla. Äärettömän pitkällä aika-askeleella
diagonaalilla on painoa saman verran kuin diagonaalin ulkopuolella olevien termien
4.5. AJAN SUHTEEN TARKKA RATKAISU
117
summa. Tämä ominaisuus on suora seuraus kontrollitilavuusmenetelmän pääperiaatteesta, jossa sisääntulevien vuoarvojen summa tulee olla tasapainotilassa sama
kuin kuin ulosvirtaavien voiden summa. Tällaisena matriisi käyttäytyisi huonosti
iteratiivisten yhtälöryhmien ratkaisussa. Mitä lyhyempi aika-askel, sitä nopeammin
yhtälöryhmän (4.30) ratkaisu konvergoi. Mutta lyhyellä aika-askeleella joudutaan
taas ottamaan enemmän aika-askelia ennen kuin päästään tasapainotilaan. Jossain
välissä on selvästikin jonkinlainen optimi.
4.5 Ajan suhteen tarkka ratkaisu
FLUENTissa voidaan suorittaa ajan suhteen tarkka ratkaisu joko eksplisiittisesti tai
implisiittisesti. Kuten jo edellä todettiin, näitä ei pidä sekoittaa tiheyspohjaisen menetelmän ratkaisutapoihin. Tarkka aikaintegrointi voidaan suorittaa painepohjaisessa ratkaisussa vain implisiittisesti, mutta tiheyspohjaisessa myös eksplisiittisesti.
Eksplisiittisessä laskennassa käytetään siis tiheyspohjaista ratkaisutapaa ja periaatteessa samaa Runge-Kutta -algoritmia kuin tasapainotilan laskennassa. Nyt on
kuitenkin käytettävä koko laskenta-alueessa samaa aika-askelta, mikä määräytyy
sen laskentakopin mukaan, missä yhtälöstä (4.28) laskettu askel saa pienimmän arvonsa. Eksplisiittisessä aikaintegroinnissa ei voi myöskään käyttää matriisin pohjustamista eikä monihila-algoritmia. Matriisin pohjustamattomuuden vuoksi eksplisiittinen laskenta ei toimi kokoonpuristumattomalle virtaukselle. Kyseessä on siis
puhdas eksplisiittinen laskenta, joka on hyvin aikaa vievää. Eksplisiittistä menettelyä kannattaa harvoin soveltaa, ajasta riippuvien ongelmien sovelluskohteena voi
olla lähinnä tiivistysaaltojen etenemisprobleemat, mutta luultavasti niidenkin yhteydessä implisiittinen ratkaisu on parempi.
Sekä paine- että tiheyspohjaisen ratkaisun kanssa implisiittisessä ajan suhteen
tarkassa laskennassa aikaderivaatta käsitellään ikään kuin lähdeterminä ja siirretään yhtälön residuaaliin. Painekorjausmenetelmässä aikaderivaatan approksimaatio sisällytetään sinällään yhtälön (4.16) oikealle puolelle lähdetermiin S. Asia on
merkillisempi tiheyspohjaisen menetelmän yhteydessä, koska siinähän ratkaisu jo
perustui näennäisaikaintegrointiin. Todellinen aikaderivaatta lisätään yhtälöihin ja
toteamalla, että aiemmin ei oikeastaan edetty reaaliajassa ollenkaan, vaan pseudoajassa τ , voidaan kirjoittaa
∂
Γ
∂τ
Z
V
∂
QdV +
∂t
Z
V
WdV +
Z
A
[F − G] · dA =
Z
V
HdV
(4.31)
4.5. AJAN SUHTEEN TARKKA RATKAISU
118
Aikaderivaatan approksimaatio siis sisällytetään tässäkin lähdetermiin, mutta yhtälöryhmän ratkaisussa sovelletaan kuitenkin aiemmin esitettyä aikaintegrointipohjaista iterointia todellisen aika-askeleen sisällä. Fysikaalisen aika-askeleen, joka on
simuloinnin suorittajan annettava, sisällä tehdään näennäisaikaintegrointia ∆τ :n kokoisilla näennäisaika-askelilla. Tästä menettelystä käytetään nimitystä ’dual time
stepping’, koska siinä tehdään numeerisen aikaintegroinnin yhden aika-askeleen
sisällä toinen, näennäinen aikaintegrointi. Tyypillisesti joudutaan ottamaan 10-50
pseudoaskelta yhden aika-askeleen sisällä. Myös painekorjausmenetelmällä joudutaan iteroimaan aika-askeleen sisällä ja iteraatiokierrosten määrä on samaa luokkaa,
ehkä vähän pienempi.
Eksplisiittisessä integroinnissa käytetään Runge-Kutta -algoritmia ja se on joko
toista tai kolmatta kertalukua tarkkuudeltaan ajan suhteen (ei sanota manuaalissa).
Implisiittinen aikaintegrointi voi olla ensimmäistä tai toista kertalukua ajan suhteen.
Merkitään hieman epäjohdonmukaisesti, mutta manuaalin tapaan, vuolausekkeen ja
lähdetermien osuutta diskretoituna termillä F (φ). Implisiittinen ensimmäisen kertaluvun diskretointi, ns. Eulerin menetelmä, voidaan kirjoittaa muotoon
φt+∆t − φt
= F (φt+∆t )
∆t
(4.32)
missä vuon ja lähdetermien laskenta tapahtuu uuden ajanhetken t + ∆t arvoilla.
Eulerin menetelmä on epätarkka ja lisää ratkaisuun numeerista diffuusiota. Tämän vuoksi sitä ei pitäisi käyttää kuin erikoistilanteissa. Tarkempi on toisen kertaluvun implisiittinen menetelmä, jossa käytetään kolmen aikatason arvoja
3φt+∆t − 4φt + φt−∆t
= F (φt+∆t )
2∆t
(4.33)
Yleensä vain tätä kannattaa käyttää ajan suhteen tarkkaan laskentaan riippumatta
siitä onko kyseessä paine- vai tiheyspohjainen ratkaisu. Integrointi on tällöin ehdoitta stabiilia, mikä tarkoittaa, ettei aika-askeleen pituudelle ole olemassa rajoituksia
numeriikan kannalta. Aika-askel on kuitenkin valittava sellaiseksi, että haluttu ilmiö
saadaan esille. Myös implisiittisellä menetelmällä voidaan laskea tiivistysaaltojen
etenemistä, tällöin aika-askel on millisekunnin luokkaa. Jossain hitaassa tilanteessa
aika-askel voi olla useita minuutteja. Eksplisiittisellä menetelmällä aika-askel olisi
aina millisekuntien luokkaa pelkästään stabiilisuuden vuoksi (tämä tietysti riippuu
myös laskenta-alueen koosta, joka määrää hilavälin ∆x).
4.6. DISKRETOINTIMENETELMIEN ARVIOINTIA
119
4.6 Diskretointimenetelmien arviointia
FLUENT-ohjelmalla on useita juuria, minkä vuoksi ratkaisumenetelmiäkin on tarjolla useampia. Käyttäjälle saattaa aluksi tulla eri vaihtoehtojen välillä runsauden
pulaa, vaikka itse asiassa vuon diskretoinnissa on todella vähän vaihtoehtoja. Monessa suhteessa FLUENT näyttäisi pohjautuvan RAMPANT-ohjelmaan, joka oli ensimmäinen kaupallinen rakenteettomaan hilaan perustuva ohjelma. FLUENT mitä
ilmeisimmin käyttää RAMPANTiin pohjautuvaa tiedonhallintajärjestelmää ja hilatyyppejä (joiden valikoimaa on laajennettu). Tässä luvussa kuvattu Runge-Kutta tyyppinen ratkaisumenetelmä erilaisine lisukkeineen on myös Jamesonin kehittämä
1980-luvun aikana. Tiheyspohjainen implisiittinen menetelmä on hieman erilaisessa
muodossa käytössä lukemattomissa aerodynaamisiin sovelluksiin kehitetyssä ohjelmassa. Matriisin pohjustamiskeinoja ryhdyttiin kehittämään 90-luvulla, mutta kovin
yleisiä ne eivät ole. Matriisin pohjustamiskeino on läheistä sukua ns. näennäispuristuvuuskeinolle, jota on käytetty Antony Jamesonin ohjelmissa laivavirtausten laskennassa. FLUENTissa tämän ratkaisumenetelmän laajentaminen ’matriisin pohjustamiskeinoksi’ on siten ollut varsin suoraviivaista.
FLUENTissa yleensä sovelletaan painekorjausmenetelmää ja ohjelman varhaisempien version yhteydessä muita vaihtoehtoja ei ollutkaan. Vanhan FLUENTin
juuret olivat lähinnä PHOENICS-ohjelmassa, ratkaisumenetelmä oli sama. Nykyisessä versiossa painekorjausmenetelmä on kehittynyt huomattavasti pidemmälle.
Ohjelmassa sovelletaan ilmeisen rationaalisesti samoja osia eri ratkaisutavoille. Vaikka esimerkiksi suureiden ekstrapolointi pinnoille ja fysikaaliset mallit ovat samoja
eri ratkaisutavoille, niiden liittäminen kahteen erilaiseen ratkaisijaan ei ole kuitenkaan triviaalia. Ratkaisijoiden soveltuvuuteen onkin jäänyt eroja, mikä käyttäjän on
syytä ottaa huomioon.
Eri ratkaisijoiden valintaa voidaan hahmotella seuraavasti: Yleensä valitaan aina painepohjainen menetelmä. Mikäli kyseessä on ajan suhteen tarkka laskenta,
käytetään toisen kertaluvun diskretointia aikaderivaatalle. Tiheyspohjaista ratkaisijaa voidaan käyttää tietyissä erikoistilanteissa. Eräs tällainen on kokoonpuristuva
virtaus. Jos laskentatehtävässä esiintyvän jonkinlaisen päävirtauksen Machin luku
on yli 0,2, on syytä valita tiheyspohjainen ratkaisija. (Jos Machin luku nousee yli
yhden painekorjausratkaisija toimii hyvin huonosti, jos ollenkaan). Tiheyspohjaisellakin ratkaisijalla käytetään ajan suhteen tarkassa laskennassa toisen kertaluvun
implisiittistä menetelmää.
4.7. KERTAUS
120
Koska tiheyspohjainen ratkaisu perustuu matriisin pohjustukseen, se toimii periaatteessa Machin lukuun nolla asti. Sitä voidaan ja kannattaa käyttää eräissä virtaustapauksissa, mutta simuloinnin suorittajan on arvioitava ja sen jälkeen kokeiltava ratkaisun toimivuus. On myös huomattava, ettei tiheyspohjaisen ratkaisun yhteydessä voida käyttää yhtä paljon fysikaalisia malleja kuin painekorjausratkaisijan. Se ei ole myöskään yhtä robusti, mutta se saattaa olla tarkempi ja nopeampi.
Todennäköisesti tiheyspohjaista ratkaisijaa kannattaa käyttää tilanteissa, joissa on
pelkkää virtausta ja tarkkuusvaatimus suuri (tiheä hila, pienen Reynoldsin luvun
turbulenssimalli). Tällaisia sovelluskohteita ovat esimerkiksi puhaltimet ja pumput
ja mahdollisesti jotkin lämmönsiirtotehtävät.
4.7 Kertaus
• teknisten sovellusten yhteydessä kontrollitilavuuskeino on yleisin yhtälöiden
diskretointitapa
• yhtälöiden diskretoinnissa aiheutuu virhettä, jota nimitetään katkaisuvirheeksi. Yleensä virhe on luonteeltaan vaimentavaa (’numeerinen diffuusio’).
• suorakulmaisilla rakenteellisilla hiloilla kontrollitilavuuskeino redusoituu differenssimenetelmäksi
• FLUENTissa on kaksi erilaista ratkaisijaa, ’painepohjainen’ ja aikaintegrointipohjaisella menetelmällä toimiva ’tiheyspohjainen’ ratkaisija
• painepohjainen ratkaisu voidaan tehdä painekorjausyhtälön avulla (useita vaihtoehtoja) tai kytkemällä painekorjaus suoraan liikemääräyhtälöiden ratkaisuun
• FLUENTissa konvektiotermien diskretointi ei eroa eri ratkaisijoilla toisistaan
• konvektiotermien diskretointitavat
• ylävirtadiskretoinnit, joita FLUENTissa käytetään, sisältävät numeerista vaimennusta. Keskeisdifferenssi sen sijaan ei, joten sitä ei käytetä FLUENTissa
robustisuusvaatimuksen vuoksi.
• FLUENTin ’toisen kertaluvun ylävirtadiskretointia’ vastaa ylävirtapainotettu
Frommin menetelmä
4.7. KERTAUS
121
• Poikkeama kahdella toisen kertaluvun menetelmällä saadulla tuloksella aiheutuu joko liian harvasta hilasta tai keskeneräisestä konvergenssista
• diffuusiotermin ja konvektioterminkin diskretointimolekyylin laajuudella on
merkitystä konvergenssin ja myös tuloksen tasaisuuden kannalta. Tähän käyttäjä ei voi FLUENTissa vaikuttaa.
• painekorjausratkaisijan yhteydessä paineen interpoloinnissa oletusarvona on
liikemääräyhtälöön perustuva kytkentä. Kyseessä lienee vaimennuksen lisääminen.
• paine voidaan interpoloida myös lineaarisesti. Järkevältä vaikuttava tapa, jota
kannattaa kokeilla.
• jatkuvuusyhtälöön lisätään painepohjaisessa ratkaisussa aina Rhie ja Chow
-vaimennustermi
• FLUENTissa painekorjausratkaisijan vaimennus on yksinkertaistettu ja toimii
paremmin kuin kirjallisuudessa yleensä esiintyvä standarditapa
• tiheyspohjainen ratkaisija ei tarvitse Rhie ja Chow -tyyppistä vaimennusta,
mutta alhaisella Machin luvulla matriisin pohjustus toimii keinotekoisena vaimennuksena.
• matriisin pohjustus pitää tiheyspohjaisen ratkaisijan ’näkemän’ Machin luvun tasolla 0,2. Suuremmilla reaalisen Machin luvun arvoilla pohjustusta ei
käytetä.
• tiheyspohjaisella menetelmällä ratkaisut perustuvat aikaintegrointiin. On mahdollista käyttää joko eksplisiittistä tai implisiittistä menettelyä.
• ajan suhteen tarkka ratkaisu tulee tehdä toisen kertaluvun menetelmällä
• eksplisiittisellä aikaintegroinnilla ei juuri kannata laskea ajan suhteen tarkasti. Eksplisiittinen laskenta toimii vain kokoonpuristuvalla virtauksella, koska
matriisin pohjustusta tai painekorjausmenetelmää ei voida käyttää.
• tiheyspohjaisella ratkaisutavalla ajan suhteen tarkassa implisiittisessä menetelmässä suoritetaan pseudoaikaintegrointi aika-askeleen sisällä
4.7. KERTAUS
122
• myös painekorjausmenetelmällä suoritetaan iterointi aika-askeleen sisällä, koska menetelmä on aina implisiittinen.
• varsinaista aikaintegrointia ei pidä sekoittaa tiheyspohjaisessa ratkaisutavassa
käytettyyn pseudoaikaintegrointiin
• ratkaisutavan valinta on tärkeä osa simulointitehtävän suorittamista
Päivitetty 27.1.2014