2. luento
Transcription
2. luento
35 2 Laskentahilan laatiminen 2.1 Tarve Kaikessa numeerisessa simuloinnissa lähtökohtana on pukea tehtävä tietokoneen ymmärtämään muotoon. Tietokone ymmärtää vain lukuja ja ratkottaessa NavierStokes -yhtälöiden kaltaisia ’kenttäyhtälöitä’, joudutaan ratkaistava alue jakamaan tavalla tai toisella diskreetteihin pisteisiin. Virtausyhtälöt ratkaistaan teknisissä sovelluksissa yleensä kontrollitilavuus- ja joskus elementtimenetelmällä. Tällöin yhtälöiden sisältämät derivaatat approksimoidaan käyttäen luotua diskreettien pisteiden joukkoa, laskentahilaa eli -verkkoa. (Englannin kielessä käytetään sekä termejä computational mesh että - grid. Yleensä käytetään jompaa kumpaa, mutta FLUENTin manuaalissa mesh ja grid ovat synonyymejä). Spektraalimenetelmässä approksimointi perustuu sarjakehitelmiin, mutta näissäkin menetelmissä käytetään ns. apuhilaa. Viime aikoina on kehitetty myös ilman varsinaista laskentahilaa olevia menetelmiä (mesh-free methods), joissa laskenta-avaruuteen lisätään sopivasti valittu pisteikkö. Voidaan siis todeta virtauslaskennassa aina käytännössä olevan vaatimuksena jakaa tarkasteltava avaruus diskreetiksi pisteiköksi. Tästä toimenpiteestä käytetään joskus termiä ’laskenta-alueen diskretointi’ ja sitä ei pidä sotkea itse yhtälöiden diskretointiin, siis derivaattojen lausumiseen hilapisteikössä lausuttujen ratkaistavien suureiden avulla. Laskentahilan laadinta on monessa suhteessa tärkein osa simulointitehtävässä. Ensinnäkin hilan laatimiseen kuluu vieläkin suurin osa tehtävään kuluvasta työajasta. Hilan generointi on oma tieteenlajinsa, joka voidaan jakaa rakenteellisten ja rakenteettomien hilojen generointiin. Vaihe on osa esikäsittelyä, johon kuuluu myös geometrian mallinnus. Vaikka tälle alueelle on satsattu suuria kehityspanoksia viime vuosina, on syytä tiedostaa, että monimutkaisille geometrioille laadukkaan laskentahilan luominen on kehitysponnisteluista huolimatta vieläkin erittäin työlästä ja vaatii onnistuakseen ammattitaitoa: sekä tietoa erilaisten virtaustapausten aset- 2.1. TARVE 36 tamista vaatimuksista että ohjelman käyttökokemusta. Tämä johtuu siitä, että hilan laatu ratkaisee myös ratkaisun hyvyyden. Virtauslaskennassa pyritään kohti ratkaisun adaptiivisuutta, jolloin käyttäjän ei periaatteessa tarvitsisi tietää mitään tarkkuuden aiheuttamista vaatimuksista, mutta tästä tavoitteesta ollaan vielä kaukana ja on mahdollista, ettei sitä koskaan saavuteta. Virtauslaskennan eri vaiheita tarkastellaan uudelleen luvussa 9. Tässä yhteydessä voidaan todeta, että esikäsittelyn tärkeimmät vaiheet ovat rakenteen mallinnus ja laskentahilan luominen. FLUENTin perinteinen esikäsittelijä on ollut GAMBIT, jonka pääpaino on rakenteen mallinnuksessa. Ohjelmaan voidaan lukea sisään vaihtoehtoisesti myös joko koko laskentahila tai vain pinnat ja jatkaa mallinnusta GAMBITilla (kts. kuva 1.1). Riippuu siis laskentahilan laadusta, miten hyvälaatuinen ratkaisu saadaan. Termi ’hyvälaatuinen’ tarkoittaa tässä yhteydessä, että yhtälöihin liittyvä numeerinen virhe, ns. katkaisuvirhe (kts. sivu 97), on mahdollisimman pieni. Kuten jo aiemmin korostettiin, ohjelma ratkaisee annetut yhtälöt tarkasti vasta sitten, kun tulos ei enää muutu hilaa tihennettäessä. Käytännössä tähän päästään harvoin, joten joudumme soveltamaan periaatetta ’ei muutu enää oleellisesti ratkaistavien ilmiöiden kannalta’. Katkaisuvirheeseen vaikuttaa generoidun hilan laatu ratkaisevalla tavalla. Tässä luvussa asiaa tarkastellaan kvalitatiivisesti ja asiaan palataan vielä myöhemmin ratkaisumenetelmien yhteydessä. U Harvan hilan pisteet Tiheän hilan pisteet Tarkka ratkaisu 0 1 2 3 4 5 6 x Kuva 2.1: Hilatiheyden vaikutuksen demonstrointi approksimoitaessa käyrää. Tarkkuuden merkitystä voidaan havainnollistaa kuvan 2.1 avulla, jossa analyyttistä käyrää on approksimoitu kahdella eri tiheydellä olevalla diskretoinnilla. Kohdassa x = 1 voidaan havaita nopeudessa u parin kymmenen prosentin virhe harvalla hilalla. Samoin nopeuden derivaatassa virhe kohdassa x = 0, joka voisi olla kiin- 2.2. HILATYYPIT 37 teä pinta, on kymmeniä prosentteja. Nopeuden derivaatta du/dx on mukana leikkausjännityksen ja sitä kautta kitkan laskennassa, joihin esimerkissämme tulisi siis kymmenien prosenttien virhe. Laskennassa katkaisuvirhe vaikuttaa sikäli toisin, ettei edes joka toinen piste osu kohdalleen, kuten kuvassa 2.1, vaan käyrä saisi riittämättömällä hilatiheydellä aivan toisen muodon. Kuva 2.1 ei niinkään selvitä numeerista virhettä, vaan hilan erotuskykyä eli resoluutiota erilaisten ilmiöiden kannalta. Käytännön laskentatuloksessa ovat aina mukana molemmat ilmiöt, erotuskyky ja katkaisuvirhe. Hilan valinta vaikuttaa tulokseen myös fysikaalisten mallien kautta. Esimerkiksi erilaiset turbulenssimallit vaativat kiinteiden pintojen lähellä erilaisen hilajaon. Kolmantena laskentaan vaikuttavana tekijänä on konvergenssi. Ratkaisumenetelmät ovat sellaisia, että käytetyn verkon tiheys ja muoto sekä erityisesti vääristyneet laskentatilavuudet vaikuttavat laskennan konvergenssinopeuteen. Yhteenvetona voidaan todeta laskentahilan laadinnan olevan simuloinnin aikaa vievin osa ja sen laadun vaikuttavan suuresti lopputulokseen. Laskentahila voi osoittautua sopimattomaksi lopulta vasta sen jälkeen, kun simulointi on suoritettu, mikä saattaa olla liian myöhäistä. Monimutkaisen geometrian yhteydessä esikäsittelyvaihe kokonaisuudessaan voi viedä useita kuukausia. Esimerkkinä monimutkaisesta geometriasta, jolle on laadittu tarkka laskentamalli on kuvassa 2.2. 2.2 Hilatyypit 2.2.1 Yleistä Laskentahiloja on kahta perustyyppiä, joita molempia voidaan käyttää FLUENTissa, rakenteellisia (structured) ja rakenteettomia (unstructured). Virtausten laskentamenetelmät kehitettiin aluksi rakenteellisille hiloille ja jo sitä ennen karteesisille. Rakenteellinen hila on kuvassa 2.3. Koordinaatistomuunnoksella rakenteellinen hila voidaan aina saattaa tiiliskiven muotoiseksi karteesiseksi hilaksi. Tällöin voidaan käyttää samantyyppisiä ratkaisumenetelmiä kuin karteesisella. Periaatteessa myös differenssimenetelmän käyttö onnistuu kyseisen koordinaatistomuunnoksen avulla, mutta muunnos on tehtävä sellaisella tavalla, että diskretointi pysyy säilymismuotoisena. Tällainen menetelmä on sama kuin kontrollitilavuusmenetelmä. Perinteinen CFD-ratkaisija hyödyntää hilatopologian yksinkertaisuutta myös muistin hallinnassa: hila voidaan indeksoida yksikäsitteisesti kolmea indeksiä ijk käyttäen, mikä 2.2. HILATYYPIT 38 Kuva 2.2: Hornet-hävittäjän pintahila. K J I Hilan IJK−indeksit z K J I Hilan IJK−indeksit x Globaali xyz−koordinaatisto y Kuva 2.3: Rakenteellinen käyräviivainen laskentahila on topologialtaan karteesisen hilan kaltainen. 2.2. HILATYYPIT 39 Noodi Kolmio elementti 3 noodia Suurennus Elementti numero 1 d Elementti numero 2 c a b Kuva 2.4: Perinteellinen rakenteeton laskentahila koostuu kolmioista (2D) tai tetraedreistä (3D), joita joskus nimitetään elementeiksi vaikka ratkaisu tapahtuisi kontrollitilavuusmenetelmällä. helpottaa ohjelmointia. Perinteinen rakenteeton hila koostuu kolmioista tai tetraedreistä (kuva 2.4). Tämäntyyppisiä laskentaverkkoja on pitkään käytetty elementtimenetelmässä, mistä johtuen kolmioita joskus nimitetään elementeiksi. Monet nimitykset virtauslaskennassa eivät ole vieläkään kunnolla vakiintuneet, jotkut nimeävät ratkaisutavankin käytetyn laskentahilan mukaan. FLUENTin ratkaisujärjestelmää nimitetään englannin kielessä myös termillä ’control volume-finite element’, korostamaan rakenteettoman hilan käyttöä. Yleensä laskentahilan solmukohteita nimitetään noodeiksi (node) tai pisteiksi (point) riippumatta hilatyypistä. Koska ratkaisu esimerkiksi FLUENTilla tehdään kontrollitilavuusmenetelmällä (control-volume method tai myös finitevolume method), ratkaisun perusosasia nimitetään laskentatilavuuksiksi (volume tai cell) ja suomeksi joskus myös ’laskentakopeiksi’. Kuten laskennallisen virtausmekaniikan kursseilla on ollut puhetta, laskennan tasetilavuudet voidaan muodostaa luontevimmin hilaviivojen rajaamalle alueelle, jolloin ratkaistava suure periaatteessa määritetään kopin keskipisteessä. Toinen mahdollisuus on muodostaa kontrollitilavuus noodin ympärille, jolloin tilavuuksien pinnat ovat noodien puolivälissä. Viimeksi mainittu tapa on ollut yleisempi rakenteettomilla hiloilla, mutta FLUENTissa ja monissa muissakin koodeissa käytetään keskipisteformalismia. 2.2. HILATYYPIT 40 Rakenteeton hila eroaa rakenteellisesta mm. siinä, että hilatopologia ei määrää noodien tai laskentatilavuuksien naapureita yksinkertaisten ijk-indeksien avulla, vaan ohjelmassa on pidettävä kirjaa jokaisen laskentakopin naapureista. Myös yhtälöiden diskretointi ja ratkaiseminen tulevat hankalammiksi. Rakenteettoman hilan käyttö on sen sijaan kätevämpää monimutkaisten geometrioiden yhteydessä ja siihen voidaan yhdistää ratkaisun adaptiivisuus käyttäen automaattisia hilangenerointimenetelmiä. 2.2.2 FLUENTin hilatyypit Kuva 2.5: Hybridihila, jossa on sekä rakenteellisia että rakenteettomia osia. Rakenteettomien hilojen käyttö on virtausyhtälöiden numeerisessa ratkaisussa tehottomampaa kuin rakenteellisten. Tämä aiheutuu useasta osatekijästä. Virtauksen luonne on sellainen, että katkaisuvirhe on suurempi rakenteettomalla kuin rakenteellisella (tähän palataan jatkossa). Rajakerroksen laskennassa kiinteän seinän lähellä virtaus on lähes seinän suuntainen. Kaksidimensioisessa tapauksessa tarvittaisiin kolmioita kaksinkertainen määrä neliöihin verrattuna ja tetraedrejä vielä enemmän (3D), jotta saataisiin sama resoluutio kuin heksaedreillä. Tällöinkään tarkkuus ei olisi vielä sama kuin heksoilla suuremman katkaisuvirheen vuoksi. Ratkaisuksi tähän on kehitetty ns. hybridihila, jossa kiinteiden pintojen lähellä käytetään rakenteellista hilaa ja pintojen ulkopuolella rakenteetonta. Periaatteessa voimme kutsua mitä hilaa tahansa, jossa on yhdistettynä tetra- ja heksaedrejä, hybridihilaksi, vaikka täsmällisempi nimitys voisi olla vapaa- tai mielivaltainen hila (kuva 2.5). FLUENTissa käytetään tiedonhallintajärjestelmää, jossa voidaan mielivaltai- 2.2. HILATYYPIT 41 Taulukko 2.1: FLUENTin laskentatilavuustyypit Tyyppi kuvaus noodeja/koppi seiniä/koppi 0 seka 1 kolmio 3 3 2 tetraedri 4 4 3 nelikulmio 4 4 4 heksaedri 8 6 5 pyramidi 5 5 6 kiila 6 5 sella käyttäjän spesifioimalla tavalla yhdistää erilaisia laskentatilavuuksia toisiinsa kuten kuvassa 2.5 on tehty. Kuvan tilanne on tietenkin esimerkinomainen, hilan topologiassa ei ole sinänsä mitään järkeä. Käyttäjän on opittava virtaustilanteen mukaan yhdistämään erityyppisiä laskentatilavuuksia. Jatkossa annetaan valinnasta yleisiä ohjeita. 2D Koppityypit Kolmio Nelikulmio 3D Koppityypit Tetraedri Prisma Heksaedri Pyramidi Kuva 2.6: FLUENTissa käytettäviä laskentatilavuustyyppejä. FLUENTin laskentatilavuustyyppejä nähdään kuvassa 2.6 ja niiden ominaisuudet sekä numerointi valikossa taulukossa 2.1. Käyttämällä eri tyyppejä sekaisin saadaan huomattava fleksibiliteetti hilan generoinnissa. Jotta erilaisia koppityyppejä voitaisiin yhdistää mielivaltaisesti ja erityisesti tehdä joustavasti hilan tihentämi- 2.2. HILATYYPIT 42 nen, FLUENTissa on mahdollista määritellä ns. kelluva noodi (hanging node, kts. kuva 2.7) . Kelluva noodi Kuva 2.7: Laskenta-alue, jossa on ns. kelluva noodi. 2.2.3 Esimerkkejä laskennassa sovellettavista hiloista FLUENTissa on siis (mikäli asia on oikein ymmärretty manuaalista) mielivaltainen hilatopologia mahdollinen. Virtauslaskennassa on lähinnä rakenteellisten hilojen yhteydessä yleistynyt erilaisten standardihilatopologioiden käyttö. Mikäli rakenteellista hilaa käytetään, monimutkaisten geometrioiden yhteydessä joudutaan lähes aina soveltamaan ns. monilohkoista hilaa (kts. kuva 2.8). Vasemmanpuoleisen kuvan tapauksessa kolme ympyräsylinteriä on kuvattu omissa lohkoissaan, jotka liittyvät tässä tapauksessa jatkuvasti taustalohkoon. Rakenteellista hilaa soveltavassa ratkaisijassa koppien liittyminen toisiinsa eri lohkoista kuvataan tarkoitukseen sopivalla indeksointijärjestelmällä. FLUENTissa ei erillistä indeksointisysteemiä käytetä, koska aina sovelletaan mielivaltaista laskentatilavuuksien liittymistä toisiinsa. FLUENTille kaikki hilatopologiat ovat siinä mielessä rakenteettomia. Kuva 2.8: Esimerkkejä monilohkoisista rakenteellisista hiloista. Rajakerrosten kohdalla on hilassa tehtävä tihennys. Rakenteellinen hila soveltuu kohtalaisen hyvin erilaisten virtaviivaisten kappaleiden kuvaamiseen. Hilaviivat 2.2. HILATYYPIT 43 asetetaan tällöin kiertämään kappaletta, jolloin muodostuu eräitä perustopologioita. Puhutaan O-, C- ja H-tyyppisistä hiloista. C-tyyppinen rakenteellinen hila on kuvassa 2.9, kuvassa 2.8 on sylinterin ympärillä O-tyyppiset lohkot ja taustalla Htyyppinen lohko. C-hila sopii hyvin tarkoituksiin, joissa syntyy vanavesi kappaleen perään. Tämä ja rajakerros saadaan hyvin kuvatuiksi tihentämällä diskretointia pinnan lähellä. Rakenteellisessa virtausratkaisijassa C-tyypin hilassa on leikkaus vanaveden keskellä. Koska FLUENT pohjautuu rakenteettomaan topologiaan, vanavedessä ei ole sen kummallisempaa leikkausta kuin muidenkaan laskentatilavuuksien välissä. Leikkausviiva Kuva 2.9: C-tyyppinen hila siipiprofiilin ympärillä. 2.2.4 Epäjatkuvat pinnat Vaikka FLUENTissa ei ole varsinaista lohkokäsitettä, kuten rakenteellisissa virtausratkaisijoissa, käytetään siinä kuitenkin ns. ’vyöhykkeitä’ (zone). Vyöhykkeiden rajalla saa olla pintoja, jotka voivat olla epäjatkuvia, ts. hilapisteet eri vyöhykkeissä eivät kohtaa toisiaan rajapinnalla (interface). FLUENTissa hilasta, joka sisältää epäjatkuvan pinnan, käytetään nimitystä ’nonconformal grid’. Rakenteellisen hilan koodeissa epäjatkuvan reunaehdon nimityksenä on ’nonmatching boundary’. Epäjatkuva pinta eroaa kelluvasta noodista siten, että pinta approksimoidaan kahdella eri tavalla riippuen vyöhykkeestä. Laskentakoppien pinnat koostuvat aina tasoista, jos koppien pinnat eivät ole kolmioita, ne voidaan kuitenkin jakaa osakolmioiksi. Epäjatkuvaa pintaa sovelletaan usein esimerkiksi virtauskoneiden osalta roottorin ja staattorin välissä sylinterimäisellä pinnalla. Koska koppien pinnat eivät ole kaarevia, approksimoidaan sylinteripintaa kahdella erityyppisellä murtoviivalla, kuten kuvassa 2.10 esitetään. Virtausratkaisussa lasketaan kummallakin puolella rajapintaa ratkaistavien suureiden vuot, joissa käytetään pinta-aloja. Koska pinta-alat kahden puolen rajapintaa eivät ole diskreetissä esityksessä täysin samoja, voi vuoarvoi- 2.2. HILATYYPIT 44 hin tulla eroa. Esimerkiksi vyöhykkeen läpi menevä virtaus voi olla hieman epäjatkuva. Tämän estämiseksi täytyy epäjatkuvalla pinnalla aina olla riittävä hilatiheys, jotta geometria olisi tarpeeksi tarkasti kuvattu. Kuva 2.10: Epäjatkuva lohkojen välinen pinta rakenteellisella hilalla. Epäjatkuva pinta voi FLUENTissa olla kahden tyyppinen (kts. kuvat 2.11 ja 2.12). Täydellisesti toisensa peittävissä tapauksissa geometriset pinnat ovat yhtä suuret, mutta diskreetissä maailmassa ne ovat siis täsmällisesti sitä vain jos rajapinta on taso. Toisessa tapauksessa (kuva 2.12) pinnat eivät ole samankokoisia. Tällöin FLUENT olettaa ylitse jäävän pinnan oleva kiinteä seinä. Tilanne tulee vastaan esimerkiksi turbokoneilla, joissa siipisolaa seuraa staattoriosa, jonka poikkipinta-ala on hieman suurempi kuin kuin siipisolan pinta-ala. rajapinta vyöhyke 1 rajapinta vyöhyke rajapinta vyöhyke 2 Kuva 2.11: Epäjatkuva pinta samankokoisten vyöhykkeiden välillä. rajapinta vyöhyke 1 rajapinta vyöhyke rajapinta vyöhyke 2 seinä vyöhyke 1 seinä vyöhyke 2 Kuva 2.12: Epäjatkuva pinta erikokoisten vyöhykkeiden välillä. 2.3. LASKENTAHILAN VALINTA 45 koppi vyöhyke 1 II I III A a rajapinta vyöhyke 2 B b rajapinta vyöhyke 1 C c d D e E F VI IV V koppi vyöhyke 2 Kuva 2.13: Kaksidimensioinen epäjatkuva pinta jaetaan vuon laskentaa varten osiin. Epäjatkuvalla pinnalla vuon laskenta tehdään osissa, joka määräytyy kahden puolen pintaa olevien laskentatilavuuksien pinnoista. Esimerkkinä voidaan tarkastella kuvan 2.13 kaksidimensioista tilannetta, jossa kaksi rakenteetonta vyöhykettä liittyy toisiinsa. Vyöhykkeessä 1 kaksi laskentatilavuutta I ja III rajautuvat pintaan. Vyöhykkeessä 2 on myös kaksi tilavuutta IV ja VI. Kokonaisuudessaan yhteinen pinta koostuu kolmesta osasta b-c, c-d ja d-e. Laskettaessa esimerkiksi massavuota koppiin IV, se lasketaan kahden pinnan b-c ja c-d avulla. Koppiin I massavirtaus tulee pinnan b-c läpi ja FLUENTissa tehdyn oletuksen mukaan pinta a-b on seinä (wall). Kuten edellä todettiin, epäjatkuvan pinnan käsittelyssä on ongelmia suureiden säilymisen suhteen. 2.3 Laskentahilan valinta 2.3.1 Vaadittava hilan resoluutio Tarkastellaan seuraavaksi laskentahilan laadintaan vaikuttavia tekijöitä. Edellä on jo todettu, että näitä tekijöitä on runsaasti ja vasta kokemuksen karttuessa virtauslaskijalle tulee tuntumaa siihen, mitä laskentaverkolta vaaditaan kussakin tilanteessa. Aiemmin todettiin myös, että hilan laadinta on virtauslaskennan kaikkein aikaa vievin vaihe. Hyvä tulos saadaan vain työläästi, huono vähemmällä työllä. Simulointitehtävissä on siten olemassa jonkinlainen optimi siinä, kuinka paljon vaivaa kannattaa nähdä esikäsittelyssä. Tämä riippuu varatusta työajasta eli rahoituksesta ja vaaditusta tarkkuudesta. Kuvan 2.2 tapauksessa aikaa oli pakko käyttää riittävästi, koska laskentahilan on oltava hyvin korkeatasoinen aerodynaamisissa simuloinneissa. Näin ei välttämättä ole kaupallisen ohjelman manuaalin demotapauksissa, 2.3. LASKENTAHILAN VALINTA 46 joista ei pidä hilan resoluution suhteen ottaa mallia! Kuva 2.14: Vino ’cavity flow’ esimerkki FLUENTin manuaalista (vasemmmalla) ja tihennetty hila (oikealla). 6.20e-04 Kuva 2.15: FLUENTilla lasketut virtafunktion tasa-arvokäyrät kuvan 2.14 laskentahiloilla. Laskentaverkon tärkein ominaisuus on, että sillä on riittävä resoluutio tarkasteltavan ilmiön kannalta. Vaikka numeerinen menetelmä olisi periaatteessa äärettömän tarkka, sillä ei voi kuvata ilmiöitä, jotka ovat hilatiheyttä pienempiä. Tarkastellaan esimerkkinä kuvan 2.14 tilannetta, joka löytyy FLUENTin manuaalista. Kyseessä on onkalovirtaus, ns. ’cavity flow’, jossa neste laitetaan liikkeeseen liikkuvalla yläpinnalla. Tässä tapauksessa yläpinnan nopeus on uwall = 0,1 m/s ja seinän leveys D = 0,1 m. Tiheys ja viskositeetti vastaavat likimain ilman arvoja ja Reynoldsin luvuksi (laskettava aina!) saadaan Re = 500. Kyseessä on siis laminaari virtaus. Esimerkkimme on hyvin yksinkertainen geometrialtaan ja reunaehdoiltaan, mutta sillä saadaan kuitenkin useita mielenkiintoisia asioita esille. Manuaalissa tälle harjoitustapaukselle generoidaan yksinkertainen 10 × 10 rakenteellinen hila, joka on kuvassa 2.14 ja tätä vastaava ratkaisu kuvassa 2.15. Tässä yksinkertaisessa esimerkissä nähdään sekä hilan resoluution että numeerisen virheen vaikutus. Alkuperäinen 10×10 hila on niin harva, ettei nurkkien pyörteitä voida mitenkään kuvata kyseisellä hilatiheydellä. (Kuvassa 2.15 on tilan sääs- 2.3. LASKENTAHILAN VALINTA 47 tämisen vuoksi piirretty virtafunktion tasa-arvokäyrät, joissa nurkkapyörteet eivät näy tarkemmallakaan hilajaolla). Tämän tyyppiset seikat on siis otettava huomioon hilaa tehtäessä. Toisaalta ratkaisukin on virheellinen numeerisen virheen vuoksi. Harvalla hilalla pikkupyörteet häviävät numeerisen vaimennuksen vuoksi ja pääpyörre ennustetaan aivan liian suureksi. Hilaa on siis tihennettävä kohdissa, joissa tapahtuu tärkeitä virtausilmiöitä. Tihentäminen oli mahdollista tehdä koko alueessa edellisessä yksinkertaisessa esimerkissä, mutta käytännön tehtävissä näin tuhlautuisi aivan liikaa laskentatilavuuksia. Laskennan kannalta tärkeitä ovat alueet, joissa ratkaistavien suureiden gradientit ovat isoja. Näin on asianlaita nopeuden osalta rajakerroksessa ja vanavedessä. Paine muuttuu nopeasti, kun kiinteä pinta on kaareva ja kokoonpuristuvan virtauksen osalta tiivistysaallossa. Vastaavasti hila voi olla harva alueilla, jotka ovat kaukana tarkasteltavasta kohteesta tai alueella, jossa gradientit ovat pieniä. Esimerkkinä tästä on lentokoneen ympärillä oleva laskentahila (kuva 2.16). Kuva 2.16: Lentävän kappaleen ympärillä laskentahila voi olla harva kauempana kappaleesta. 2.3.2 Rajakerroksen mallintaminen Kiinteiden pintojen lähellä on aina kiinnitettävä huomiota laskentahilan laatuun, jopa kitkattoman virtauksen oletuksella, jos pinta on kaareva. Pinnan läheisyydessä on tehtävä hilan tihennys, joka tietenkin voi olla varsin lievä kitkattomalla virtauksella. Kitkaton laskenta on hyvin tehokasta, koska hila voi olla harva. 2.3. LASKENTAHILAN VALINTA 48 Normaalissa kitkallisessa virtaustapauksessa tihentämisen suhteen on oltava tarkempi. Jos virtaus on laminaari, rajakerroksen nopeusprofiili on muodoltaan juohea, joskus paraabeli tai lähellä sitä. Tasolevyllä toteutuu Blasius-ratkaisu, monimutkaisilla geometrioilla ratkaisu on laadullisesti saman kaltainen. Ulkopuolisessa virtauksessa nopeusgradientti muuttuu rajakerroksessa hitaasti ja laskentahilan tulee tällöin olla rajakerroksen osalta lähellä tasavälistä. Laskijan on siten arvioitava laminaarin rajakerroksen paksuus ja sijoitettava sille alueelle riittävä (noin 30) laskentatilavuutta. Koska rajakerros paksunee patopisteen jälkeen, on tarkasteltava kiinnostavaa aluetta. Mikäli patopisteen lähellä halutaan parantaa tarkkuutta, on hila tehtävä tiukemmaksi sen läheisyydessä. Tehty virhe nähdään helposti vertaamalla laskentatulosta Blasius-ratkaisuun. Rajakerroksen ulkoreunan jälkeen sitä voidaan harventaa numeerisen virheen sallimissa rajoissa. Sisäpuolisella virtauksella laminaari ratkaisu on lähellä paraabelia. Rajakerros vaikuttaa koko virtauskanavan alueella. Nopeusjakauma on jyrkempi seinän lähellä kuin kanavan keskiosissa. Sopiva laskentatilavuusmäärä on noin kolmekymmentä kanavan puolikkaalle. Paras tulos saadaan, jos hilaa jonkin verran tihennetään seinien läheisyydessä, jossa nopeusgradientti on jyrkin. Seinämäkäsittely saattaa aiheuttaa ylimääräistä numeerista virhettä epätasavälisellä hilalla, jolloin kannattaa jättää tihennyksessäkin muutama laskentatilavuus saman korkuisiksi seinän vieressä. Edellä kuvatuilla tavoilla saadaan laminaarille virtaukselle varsin tarkka ratkaisu. Turbulentilla virtauksella rajakerroksen nopeusprofiili muuttuu. Ilman painegradienttia rajakerroksen nopeusjakauma voidaan esittää kitkanopeudella uτ = q τwall /ρ dimensiottomaksi tehtynä kuvan 2.17 tavalla jaettuna kolmeen vyöhyk- keeseen. Näistä keskimmäistä kuvaa hyvin ns. logaritminen nopeusjakauma. Turbulentti rajakerros esitetään usein suureen y + = ρuτ y/µ, dimensiottoman seinämäetäisyyden (’y-plussan’) avulla logaritmisella skaalalla kuten kuvassa. Todellisuudessa nopeusprofiili on hyvin jyrkkä. Jos rajakerros halutaan mallintaa tarkasti, on hilaa tihennettävä voimakkaasti seinää lähestyttäessä. Tähän kuluu suuri laskentakoppimäärä. Käytännön laskentatehtävissä käytetään yleensä noin kolmeakymmentä tilavuutta, mutta tällä ei saavuteta samaa tarkkuutta kuin laminaarilla virtauksella. Ulkopuolisen rajakerrostyyppisen virtaustehtävän laskentahila saattaa ulottua hyvin kauaksi rajakerroksen ulkopuolelle, mutta resoluutiota on mahdollista harventaa niin paljon, että rajakerrokseen kuluu noin puolet hilan laskentatilavuuksista. Rajakerrosalueen laskentatilavuuksista tulee hyvin pieniä, mikä voi heikentää 2.3. LASKENTAHILAN VALINTA 49 U/Uτ = 2,5 ln(Uτ y/υ) + 5,45 Sisäkerros U/Uτ U/Uτ = Uτ y/υ ulkokerros alakerros ulkoraja riippuu Reynoldsin luvusta logaritmisen nopeusjakauman kerros välikerros ~ 5 y+ = ~ 60 y+ = ln Uτ y/υ Kuva 2.17: Turbulentin rajakerroksen muoto. joidenkin ratkaisijoiden osalta menetelmän konvergenssia. Perinteinen keino välttää rajakerroksen mallinnus on käyttää seinämäfunktiota, joka perustuu logaritmiseen nopeusjakaumaan. Tällöin laskentahilan koko voi pienentyä alle puoleen ja rajaker- turbulentti ydin ros voidaan mallintaa jopa alle kymmenellä tilavuudella. """""""""""""""" """""""""""""""" 3333 logaritminen & """""""""""""""" 3333 kitkallinen ? alakerros """""""""""""""" 3333 3333333333333333 3333333 33333333333333333 """""""""""""""" 3333 3333333333333333 3333333 33333333333333333 3333333333333333 3333333 33333333333333333 Seinämä funktion käyttö Laskenta pinnalle asti Kitkan dominoivaa aluetta ei ratkaista ja sen vaikutus otetaan huomioon seinämäfunktion avulla. Seinämän läheinen alue on mallinnettu aina pinnalle asti. Korkean Reynoldsin luvun turbulenssi− malleja voidaan käyttää. Turbulenssimallin pitää olla voimassa myös pinnan läheisyydessä. Kuva 2.18: Seinämäkäsittely FLUENTissa voidaan tehdä joko ison Reynoldsin luvun tai pienen Reynoldsin luvun mallilla. Seinämäfunktion käyttöön liittyy ongelmia, jotka virtauslaskijan on syytä tiedostaa. Nopeusjakaumaa ei tällöin lasketa pinnan lähellä, sitä ei yksinkertaisesti ole ratkaisussa mukana (?-alue kuvassa 2.18). Turbulenssi mallinnetaan seinämäfunktion yhteydessä ns. suuren Reynoldsin luvun mallilla, joista eniten käytetty on k −ǫ-malli. Seinämälaki pätee sinällään, kun painegradientti on nolla. Tämän vuok- 2.3. LASKENTAHILAN VALINTA 50 si useimmissa virtaustilanteissa käytetään reunaehtoa, joka ei itse asiassa edes päde ja on oikeastaan ihme, että seinämäfunktion avulla on laskettu hyviä tuloksia melko monimutkaisissakin virtaustilanteissa. Jos virtauksessa tapahtuu irtoamista suurella alueella, ei seinämäfunktiolta voi odottaa simuloinnissa tarkkuutta. Seinämäfunktiota ja ison Reynoldsin luvun mallia käytettäessä on kiinnitettävä huomiota laskentahilan seinää lähinnä olevan kopin kokoon, koska logaritminen nopeuslaki pätee vain tietyssä alueessa, joka annetaan dimensiottoman etäisyyden y + avulla 30 < y + < 300 (2.1) Nykyiset virtausratkaisijat osaavat yleensä käsitellä tilanteen, jossa ensimmäisen kopin korkeus on y + < 30, joten tällöin hukataan lähinnä vain laskentaresursseja. Sen sijaan jos y + > 300 tai ehkä hieman suurempi, seinämäfunktion merkitys reunaehtona katoaa. Useimmiten seinän käsittely on tällöin käytännössä sama kuin kitkattomassa tapauksessa. Seinä ei siis vaikuta virtaukseen muulla tavoin kuin estämällä läpivirtauksen. Jos virtaus pysyy todellisuudessa kiinni, tällä ei välttämättä ole suurta merkitystä kaikissa tilanteissa. Sen sijaan jos virtaus todellisuudessa irtoaa, pitäisi irtoamisen vaikutus saada laskennassa esille. Kun rajakerrosilmiöt halutaan laskea tarkasti, esimerkiksi halutaan kappaleeseen vaikuttavat voimat, on laskenta ulotettava pinnalle asti ja käytettävä ns. pienen Reynoldsin luvun turbulenssimallia. Suuren Reynoldsin luvun mallinnusta käytetään kyllä yleisesti esimerkiksi pumppujen laskennassa, mutta jos ollaan toimintapisteen ulkopuolella virtaus irtoaa ja laskenta on epäluotettavaa. Hilan laatu saadaan tässäkin tapauksessa selville vasta, kun laskenta on tehty eli dimensiottoman etäisyyden avulla. Nyt tulee olla y + ≈ 1, jotta ratkaisu olisi tarkka. Kitkakertoimeen tulee noin prosentin virhe, kun y + ≈ 2 ja sen jälkeen virhe kasvaa niin nopeasti, että laskentatulos on kelvoton, kun y + ≈ 10. TKK:ssa tehtyjen tutkimusten mukaan pienen Reynoldsin luvun mallin yhteydessä reunaehtoa voidaan modifioida siten, että virhe on alle prosentin vielä, kun y + ≈ 10, mutta näitä piirteitä ei ole kaupallisissa ohjelmissa. Kun laskenta halutaan tarkaksi on aina pyrittävä siihen, että dimensioton etäisyys on suuruusluokkaa 1 tai vähän suurempi. (Sama raja pätee laminaarille virtaukselle). Usein rajaa ei pystytä koko laskenta-alueessa saavuttamaan. Esimerkkinä tilanteesta, jossa y + on alle 2 käytännössä koko alueessa on kuvan 2.19 sekoitinsäiliö. Rajakerroksen laskentaan liittyy myös turbulenssin kuvaus muun kuin seinämä- 2.3. LASKENTAHILAN VALINTA 51 Kuva 2.19: Dimensioton etäisyys sekoitinsäiliön pinnalla. funktion soveltamisen osalta. Varsinkin pienen Reynoldsin luvun mallit käyttävät seinämäetäisyyttä hyväkseen ja saattavat eräiltä muiltakin osin olla implementoitu siten, että hilan olisi syytä olla ortogonaalinen pintojen lähellä. Tässä yhteydessä ei tarkoiteta varsinaista laskentatarkkuutta, vaan tapaa, jolla mallit on totuttu implementoimaan. Ortogonaalisuusoletus koskee etupäässä rakenteellisen hilan koodeja, mutta varmuuden vuoksi asia kannattaa pitää mielessä myös FLUENTin yhteydessä. Useimmiten hilan generointiohjelmissa on mahdollisuuksia, joilla hilaa voidaan yrittää saada mahdollisimman kohtisuoraksi pintoja vastaan. 2.3.3 Numeerisen tarkkuuden vaatimukset On tärkeää tiedostaa, että numeerinen tarkkuus on eri asia kuin ilmiöiden erotuskyky, vaikka nämä ratkaisussa esiintyvät yhtä aikaa. Viimeksi mainittua demonstroitiin kuvan 2.1 yhteydessä, jolloin myös todettiin, että numeerinen epätarkkuus, jota 2.3. LASKENTAHILAN VALINTA 52 voidaan tarkastella ns. katkaisuvirheen avulla, muuttaa lasketun käyrän muotoa tai tasoa huomattavasti. Jotta numeerinen tarkkuus olisi riittävä, on pienen Reynoldsin luvun turbulenssimallin yhteydessä käytettävä rajakerroksessa 20-30 laskentatilavuutta. Suuren Reynoldsin luvun mallilla selvitään huomattavasti vähemmällä. Ääriesimerkkinä FLUENTin manuaalissa todetaan, ettei virtauskanavaa kannata yrittää mallintaa alle viidellä tilavuudella. Tällä tarkoitetaan enemmänkin resoluutiota, koska minkäänlaista jakaumaa ei pystytä kuvaamaan vähemmällä. Tarkkuudesta viidellä tilavuudella voidaan todeta, että seinämäkitka ja painehäviö tulisivat täysin väärin lasketuksi. Viiden kopin putkea voidaan ehkä käyttää tilanteissa, joissa itse putki ei ole kiinnostava, mutta se toimii reunaehtona varsinaiseen laskentaalueeseen. Esimerkiksi turbokoneen siiven kärkivälys saattaisi joissain tapauksessa antaa itse kanavan osalta riittävän hyvän vuotovirtauksen, vaikka välyksen osalta lasketussa virtausjakaumassa ei olekaan mitään tarkkuutta. Kun virtausyhtälöt diskretoidaan, aiheutuu numeerista virhettä, joka voidaan jakaa numeeriseen vaimennukseen ja dispersioon (kts. esim. Laskennallisen virtausmekaniikan perusteet). FLUENTin manuaalissa kiinnitetään huomiota ainoastaan vaimennukseen, jota manuaalissa nimitetään numeeriseksi diffuusioksi. Peruskurssilla todettiin, että varsinainen numeerinen diffuusio, joka muodostaa ns. toisen kertaluvun virhetermin, liittyy aina ensimmäisen kertaluvun paikkadiskretointiin. Toisen kertaluvun paikkadiskretoinnilla aiheutuu neljännen kertaluvun vaimennusta, joka on huomattavasti varsinaista numeerista diffuusiota vaimeampaa. FLUENTissa termin ’numeerinen diffuusio’ alla on siis koko numeerinen vaimennus ja implisiittisesti oikeastaan diskretoinnista aiheutuva virhe kokonaan, koska mistään muusta diskretointivirheestä ei puhuta. Kerrataan vielä, että virtausyhtälöissä konvektiotermin diskretointi aiheuttaa numeerista vaimennusta ja dispersiota. Diffuusiotermin diskretointi aiheuttaa lähinnä vaimennusta. Käytännössä diskretointivirhe tulee siis esille monin eri tavoin, ei pelkästään numeerisena vaimennuksena. Seuraavaksi tuodaan esille eräitä numeerisesta virheestä aiheutuvia vaatimuksia laskentahilalle. Jälleen on syytä muistaa, että simuloinnissa halutaan päästä eroon numeerisesta virheestä niin, ettei se ole näkyvissä. Tämä on varsin tapauskohtainen ja epämääräinen käsite. Virheen perusolemuksen vuoksi (paikkadiskretoinnista aiheutuva), se pienenee kun hilaa tihennetään. Tämä on numeerisen laskennan eräitä perussääntöjä. Hilan laadun parantamisella pyrimme siihen, että virhe on merkityksetön mahdollisimman pienellä laskentakoppimäärällä. Virtauslaskennassa on käytännössä perusedellytyksenä käyttää toisen kertalu- 2.3. LASKENTAHILAN VALINTA 53 vun diskretointia konvektiotermille (diskretointiin ja muihin termeihin palataan jatkossa). FLUENTissa on mahdollista valita myös ensimmäisen kertaluvun diskretointeja, mutta näitä ei pidä missään tapauksessa käyttää lopputuloksessa. Ensimmäisen kertaluvun diskretointia voidaan käyttää, kun laskenta aloitetaan, ja Fluentissa se onkin itse asiassa oletusarvona. Useissa tapauksissa konvergenssi voi olla aluksi hyvin heikkoa ja tietokoneajot suorastaan ’kaatuvat’. Laskemalla ensimmäisen kertaluvun diskretoinnilla jonkinlainen ratkaisu, voidaan laskentaa ehkä hankalassakin tapauksessa jatkaa tarkemmalla menetelmällä. Jatkossa siis edellytämme, että diskretointi on tehty toisen kertaluvun menetelmällä. Numeerisesta vaimennuksesta putoaa tällöin suurin osa, katkaisuvirheen ns. diffuusiotermi, kokonaan pois. Manuaalin kielellä ’diffuusio pienenee’. Jäljellä on kuitenkin numeerista virhettä, joka voi esiintyä oskillointina tai korkeamman kertaluvun vaimennuksena. Virtausyhtälöillä on sellainen tunnettu piirre, että virhe pienenee, kun virtaus on hilaviivojen suuntaista. Näin numeerinen virhe rakenteellisella hilalla on käytännössä aina pienempi kuin rakenteettomalla, jolla virtaus ei voi koskaan tulla täydellisesti hilaviivojen suunnasta, koska hilassa ei mitään järjestäytyneitä suuntia ole olemassa. Tärkein alue, jossa tätä ominaisuutta voidaan käyttää on rajakerros. Rajakerrosta ei saa diskretoida kolmioita tai tetraedrejä käyttäen, vaan on sovellettava rakenteellista hilaa tai prismoja. Tällöin rajakerroksen alueella hila on rakenteellinen pintaa vasten kohtisuorassa suunnassa. Jos rajakerroksen ulkopuolella käytetään rakenteetonta hilaa, luonnollinen ratkaisu rajakerrokselle on yleensä prismat. Rajakerroksessa koppityyppi vaikuttaa paitsi tarkkuuteen, myös laskentatilavuuksien määrään. Koska edes samalla resoluutiolla ei päästä tässä tapauksessa samaan tarkkuuteen kuin rakenteellisella hilalla, voidaan todeta rakenteeton hila tehottomaksi rajakerroksessa. Rajakerroksen ulkopuolella tilanne saattaa olla päinvastainen ja perustavoitteena rakenteettomassa hilassahan on hankalien geometrioiden mallinnus. Numeeriseen virheeseen palataan vielä jatkossa ratkaisumenetelmien yhteydessä, tarkempi käsittely löytyy alan kirjoista tai laskennallisen virtausdynamiikan kursseilta. Yhteenvetona voidaan kuitenkin todeta, että ratkaisun tehokkuuden ja tarkkuuden vuoksi kannattaa aina generoida rakenteellinen hila, jos se onnistuu käytettävissä olevien resurssien puitteissa. FLUENTin kaltaisella ratkaisijalla kannattaa käyttää myös hybridilähestymistapaa, jossa hankaliin kohtiin käytetään tetredrejä ja muualle rakenteellista verkkoa. Edellä oleva tarkastelu koskee lähinnä konvektiotermin diskretointia, mutta numeerista virhettä aiheutuu myös liikemääräyhtälön kitka- ja energiayhtälön läm- 2.3. LASKENTAHILAN VALINTA 54 mönjohtavuustermeistä, jotka ovat muodoltaan diffuusion kaltaisia. Aina ei erilaisia virheitä tietenkään voida erottaa ratkaisussa toisistaan. Esimerkkinä mitä todennäköisimmin kitkatermin diskretoinnin aiheuttamasta virheestä on hilantihentymän kohdalla tapahtuva virtaviivojen luonnoton nykäys kuvassa 2.20. Kuvan esimerkissä tapahtuu peräkkäisten laskentatilavuuksien dimensiossa liian suuri muutos. Tilannetta voidaan ehkä korjata tarkemmalla diskretointitavalla, mutta toistaiseksi siinä ei ole onnistuttu. Rakenteettoman hilan yhteydessä kitkatermin diskretointi tehdään rakenteellisesta hilasta poikkeavalla tavalla. Miten koppikoon äkillinen muutos silloin vaikuttaa, ei ole tätä kirjoitettaessa tiedossa. Kuva 2.20: Virtaviivat saattavat taipua mutkalle hilassa olevan tihentymän kohdalla. Numeeriset seikat vaikuttavat virheeseen monin eri tavoin. Eräs usein esille tuleva ilmiö sylinterimäisillä kappaleilla on keskipisteen singulaarisen viivan vaikutus. Jotkut ohjelmat eivät pysty käsittelemään singulariteettia, mutta siihen ei ole ratkaisumenetelmästä johtuvia periaatteellisia syitä. Hilassa voi laskentatilavuuden seinä olla aivan hyvin degeneroitunut viivaksi, koska kyseisen seinän läpi ei tällöin virtaa mitään eikä ratkaisujärjestelmä välttämättä koe tilannetta singulaarisena. Periaatteessa seinä voisi olla jopa kutistunut pisteeksi, kuten pallolla vastaavan topologian omaavalla hilalla kävisi. Hyvin usein ratkaisussa näkyy kuitenkin putken tai suihkun akselilla ratkaisussa jonkinlaista anomaliaa, esimerkiksi nopeusprofiilissa voi olla epäfysikaalinen kuoppa. Ilmiö on lähinnä konvergenssista aiheutuva. Luultavasti kyseessä on jonkinlainen iteroinnissa tapahtuva lukittumisilmiö. Kuoppa ehkä häviäisi jos laskentaa olisi mahdollista jatkaa lähes loputtomiin. Parempi keino on 2.3. LASKENTAHILAN VALINTA 55 mallintaa putkimaiset geometriat siten, että keskelle tulee kuvan 2.21 mukainen nelikulmainen lohko, jonka ulkopuolella kiertää O-tyyppinen lohko. (Optimaalisinta olisi käyttää keskellä ympyrän ja neliön eräänlaista keskiarvoa). Kuva 2.21: Rakenteellisen hilan singulariteetti kannattaa poistaa kuvassa näkyvällä lohkorakenteella. 2.3.4 Hilan laadun arvioiminen Koska virtaustilanteet ovat hyvin erilaisia, on käytännössä mahdotonta antaa ohjeita hilan laadun arviointiin, ennen kuin ratkaisu on tehty. Hyvin tärkeää on mallintaa rajakerros oikealla tavalla silloinkin, kun rajakerrosilmiöt eivät varsinaisesti ole kiinnostuksen kohteena, koska pinta kuitenkin vaikuttaa virtaukseen. Jos käytetään pienen Reynoldsin luvun mallia, on dimensiottoman etäisyyden oltava ensimmäisen kopin keskipisteessä noin y + = 1. y + -arvojen laskemiseen tarvitaan leikkausjännitys, jota ei tunneta ennen laskentaa. Sen määrittämiseksi riiittää tuntea rajakerroksen nopeusprofiili, joten jos laskettavalle tapaukselle tunnetaan analyyttinen ratkaisu, on ensimmäisen kopin korkeutta helppo arvioida. Mitä useampi tekijä (turbulenssi, painegradientti) vaikuttaa nopeusprofiiliin, sitä monimutkaisempaa kitkakertoimen ja y + :n määrittäminen on. Monimutkaisissa tapauksissa voidaan käyttää hyväksi esimerkiksi tasolevyvirtaukselle määritettyjä kitkakerroinkorrelaatioita. Alla on muutama esimerkki yhteyksistä, joita y:n ja y + :n välille voidaan johtaa (kaavat 2.2 - 2.4). Tarkemmat johdot ja lisätietoa löytyy täältä. Blasius-ratkaisun 2.3. LASKENTAHILAN VALINTA 56 mukaista kitkakerrointa käyttämällä voidaan laminaarille tasolevyvirtaukselle johtaa ensimmäisen kopin korkeuden ja y + :n välille lauseke y(x, Rex , y + ) = 1,7355Rex−0,75 xy + (2.2) Turbulentin rajakerroksen sisäsuureiden avulla voidaan määrittää turbulentille tapaukselle kaava y(x, Rex , y + ) = 2,0966 ln(0,06Rex ) xy + . Rex (2.3) Lisäksi laminaarille kanavavirtaukselle voidaan johtaa analyttisen ratkaisun perusteella seuraava yhteys y(h, ν, uaverage ) = y + ( hν 3uaverage 1 )2 , (2.4) missä h on puolet kanavan korkeudesta, uaverage keskimääräinen nopeus kanavassa ja ν virtaavan aineen kinemaattinen viskositeetti. Turbulentilla virtauksella on ensimmäinen tehtävä ratkaisun hyvyyttä arvioitaessa tarkistaa ensimmäisen tilavuuden y + -arvot, koska niitä ei tiedetä täsmällisesti etukäteen. Laminaarilla virtauksella ensimmäisen tilavuuden korkeuden arviointi perustuu suoraan rajakerroksen tai virtauskanavan paksuuteen kohdassa 2.3.2 selostetulla tavalla. Hilan generoinnin jälkeen voidaan sen laatua tarkastella erilaisten dimensiottomien suhdelukujen avulla. Edellä jo esitettiin esimerkki, jossa virtaviivat tekivät epäfysikaalisen mutkan, jos peräkkäisten koppien koon suhde on liian suuri. Nyrkkisäännön mukaan suhde saisi olla korkeintaan luokkaa 1,1...1,2. Hila ei saisi olla myöskään liian vääristynyt. Kolmiointiin on kehitetty algoritmeja, jotka tuottavat melko tasaisia laskentatilavuuksia, joten vääristymät ovat erityisesti rakenteellisen hilan ongelma. GAMBIT tulostaa sekä rakenteellisen että rakenteettoman hilan tapauksessa hilan laatua kuvaavia suureita, jotka ovat seuraavat: • Area • Aspect ratio • Diagonal ratio • Edge ratio • EquiAngle Skew 2.3. LASKENTAHILAN VALINTA 57 • Equivolume Skew • MidAngle Skew • Stretch • Taper • Volume • Warpage Näiden termien määrittely ja sopivat alueet selviävät GAMBITin manuaalista. Rakenteellisella hilalla on mahdollista, että tilavuus (tai pinta-ala 2D tapauksessa) on negatiivinen. Hilan sanotaan tällöin invertoituneen jostain kohdasta. Kontrollitilavuusmenetelmän ratkaisumenetelmä kaatuu, jos tilavuus on negatiivinen. Negatiivista tilavuutta ei tietenkään muutenkaan voitaisi sallia. Joskus hila saattaa olla invertoitunut vaikka tilavuuden laskentakaava antaa positiivisen arvon. (Laskentakaava on mm. Laskennallisen virtausdynamiikan jatkokurssin monisteessa). Tämän vuoksi on olemassa erilaisia hilan vinouden (skewness) mittareita. FLUENTissa, samoin kuin eräissä muissa virtausratkaisijoissa kannetaan myös huolta sivusuhteen (aspect ratio) vaikutuksesta ja sen maksimiarvoksi suositella QAR = 5. Arvo saattaa olla sopiva rajakerroksen ulkopuolella. Sen sijaan pienen Reynoldsin luvun mallilla sivusuhteelle rajakerroksessa käytetään hyvin yleisesti arvoja, jotka ovat välillä 100...1000. Muuten hilan koko kasvaisi liikaa ja tilanne on onneksi sellainen, että toisessa (pitkän sivun) suunnassa virtaussuureet muuttuvat huomattavasti hitaammin kuin pintaa vastaan kohtisuorassa suunnassa, jolloin sivusuhde ei tuota virhettä ratkaisuun. GAMBIT laskee hilan laatua kuvaavia suureita myös kolmioille ja tetraedreille. Kun valmis laskentahila tuodaan itse ratkaisijaan, suoritetaan vielä hilaominaisuuksien tarkastus (’grid check’) ja tulostetaan hilaa koskevaa statistiikkaa. FLUENTissa, kuten useimmissa ratkaisijoissa, laskentaverkko voidaan tuoda ratkaisijaan myös suoraan jostain sopivasta hilangenerointiohjelmasta (esim. Gridgen, Pointwise tai IGG). 2.4. HILANGENEROINTIMENETELMÄT 58 2.4 Hilangenerointimenetelmät 2.4.1 Rakenteelliset hilat GAMBITin manuaalista ei saa selville millä menetelmillä varsinainen avaruushila laaditaan. Menettelytavat ovat erilaisia rakenteellisessa ja rakenteettomassa tapauksessa. GAMBITissa on lisäksi erillinen rajakerroksille tarkoitettu menetelmä. Seuraavassa tarkastellaan lyhyesti rakenteellisen verkon generointia ja pääpiirteet kahdesta rakenteettomalle hilalle soveltuvasta keinosta. Ennen avaruushilan tekoa, riippumatta hilatyypistä, suoritetaan hilajako alueen seinillä, mikä on kaksidimensioinen tehtävä. Rakenteellisessa tapauksessa ennen seinien generointia on annettava pistejako seinien syrjillä. Hilan laadinta tapahtuu siis tavallaan kahdessa vaiheessa, joita voi vielä seurata kolmas, saadun verkon tasoittaminen. Yleensä käytetään aina topologialtaan monilohkoisia hiloja. Onnistuneella lohkojen valinnalla vaikutetaan hilan generoinnin helppouteen ja myös itse laskentaan. Hilan laadinta aloitetaan siis jakamalla laskenta-alue lohkoihin (Fluentissa vyöhykkeisiin). Nopein ja paras tapa rakenteellisen hilan generoinnissa on interpolointi. Tätä tapaa nimitetään myös algebralliseksi. Useimmiten käytetään transfiniittia interpolointia. Tämän menetelmän heikkous on siinä, että jos generoitava lohko on huomattavasti vääristynyt, hilaviivat menevät ristiin. Toinen menetelmätyyppi perustuu differentiaaliyhtälöiden ratkaisuun. Yleisin on elliptinen menetelmä, mutta joissain erikoistilanteissa käytetään myös parabolista tai hyperbolista menetelmää. Differentiaaliyhtälöihin perustuvissa keinoissa hilaviivat muodostavat yhtälön ratkaisun tasa-arvopintoja. Usein itse virtausratkaisu saattaa muistuttaa hieman hilangeneroinnissa käytetyn yhtälön ratkaisua. Tällöin virtausratkaisun tarkkuus periaatteessa voi parantua numeerisen vaimennuksen ollessa vähäisempää, kun virtaus on hilaviivojen suuntaista. Käytännössä näin ei aina käy, mutta sen sijaan differentiaaliyhtälöihin perustuvat menetelmät voivat olla hyvin laskentaintensiivisiä: hilan generointiin saattaa mennä itse virtausratkaisuakin pitempi laskenta-aika. Elliptisellä menettelyllä saadaan periaatteessa aina positiivisia laskentatilavuuksia, mutta hilasta voi tulla omituisen näköinen, mikä yleensä merkitsee myös heikkoa laatua. Yleensä tehdään niin, että hila laaditaan ensin interpoloimalla, jonka jälkeen sitä tasoitetaan elliptisellä keinolla. Tasoittaminen tarkoittaa sitä, että elliptistä menetelmää ei ratkota loppuun vaan tehdään sopiva määrä, joskus vain muu- 2.4. HILANGENEROINTIMENETELMÄT 59 tama, iteraatiokierros. Jos tasoittamista jatketaan, hilan laatu helposti huononee ainakin monimutkaisissa kolmidimensioisissa tapauksissa. Hyvin tyypillistä on, että hila ’löystyy’ joistakin kohden, esimerkiksi pintojen läheisyydessä, mikä jää helposti huomaamatta. Tämän vuoksi tasoittamisessa on oltava varovainen. FLUENTissa tasoittamista voidaan ja suositellaan käytettäväksi myös rakenteettoman hilan yhteydessä. 2.4.2 Rakenteettomat hilat Aikaisemmin on jo tuotu esille rakenteettoman hilan edut: automaattinen, vain positiivisia koppeja tuottava hilangenerointi ja mahdollisuus kytkeä ratkaisuun hilan adaptiivisuus. Hilan generointiin on käytettävissä kaksi päämenetelmää: etenevän rintaman menetelmä ja Delaunayn kolmiointi . Kuva 2.22: Etenevän rintaman menetelmän vaiheet. Etenevän rintaman tekniikassa lähdetään alueen reunan pistejakaumasta ja generoidaan hilaa sisäänpäin kunnes koko alue on kolmioitu. Tekniikka soveltuu sekä kolmio- että tetraedrihilojen generointiin, kuten myös Delaunayn kolmiointi. Aluksi rintamaksi valitaan alueen reunaviiva/pinta. Aina kun uusi kolmio lisätään rintaman 2.4. HILANGENEROINTIMENETELMÄT 60 sisäpuolelle muuttuu rintamaviiva vastaavasti. Algoritmia jatketaan kunnes rintama on tyhjä (kts. kuva 2.22). Uusi piste sijoitetaan alueeseen jonkin kriteerin mukaan. Voidaan esim. haluta mahdollisimman tasasivuinen kolmio (tai sopivasti litistynyt). Rintaman generoinnissa on lukuisia teknisiä kysymyksiä, joista on huolehdittava. Tulee esim. tarkistaa, että uusi piste todellakin on virtausalueen sisällä. Uusi piste ei myöskään saa olla minkään jo generoidun kolmion alueella. Tietyissä tapauksissa on ratkaistava generoidaanko uutta pistettä lainkaan vai yhdistetäänkö vain viereiset pisteet jne. Kuva 2.23: Delaunayn kolmiointi. Toinen tapa, Delaunayn kolmiointi, on menetelmä jo olemassa olevien hilapisteiden kolmioimiseksi. Delaunayn kolmioinnin geometrinen duaali Dirichlet’n monikulmiointi (käytetään myös nimitystä Voronoin monikulmiointi) saadaan siten, että jokaiseen hilapisteeseen liitetään se alue, joka on lähempänä tätä hilapistettä kuin mitään muista hilapisteistä. Näin muodostuvat alueet ovat muodoltaan konvekseja monikulmioita, jotka eivät leikkaa toisiaan (ns. Voronoin alueet). Delaunayn kolmiot saadaan yhdistämällä suorilla viivoilla toisiinsa ne hilapisteet, joilla on keskenään yhteinen tahko. Delaunayn kolmioinnilla on kahdessa ulottuvuudessa ns. kulmien tasaamis -ominaisuus. Tarkastellaan kolmiopareja, joilla on yhteinen sivu. Delaunayn kolmiointi on se kolmiointi, joka kaikille tällaisille kolmiopareille maksimoi kuuden sisäkulman minimin. Delaynayn kolmioinnilla on myös ns. sivuajaympyräominaisuus, jolloin mielivaltaisen kolmion kulmien kautta piirretyn ympyrän sisään ei jää muita hilapisteitä. Kuvassa 2.23 on vasemmalla Voronoin diagrammi ja Delaunayn kolmiointi sekä yksi sivuajaympyrä. Oikeanpuoleisessa kuvassa Delaunayn kolmiointi maksimoi kolmioparin kuuden sisäkulman minimin. Oikeanpuolisen kuvan nelikulmio on siis kolmioitu siten, että pienin kuudesta sisäkulmasta on suurempi (tai yhtä suuri) kuin pienin niistä kuudesta sisäkulmasta 2.4. HILANGENEROINTIMENETELMÄT 61 jotka muodostuisivat, jos nelikulmio kolmioitaisiin toisen lävistäjänsä avulla (katkoviiva). Edellä mainittuun sivuajaympyräominaisuuteen perustuu Bowyerin algoritmi (käytetään myös nimitystä Watsonin algoritmi). Bowyerin algoritmissa lähdetään jo olemassa olevasta Delaunayn kolmioinnista, joka peittää kaikki kolmioitavat pisteet (esim. yksi valtaisa kolmio). Olemassa olevaan kolmiointiin tuodaan hilapisteitä lisää yksi kerrallaan (kts. kuva 2.24). Kohdassa a) meillä on Delaunayn kolmiointi. Tähän tuodaan yksi piste lisää ja merkitään ne kolmiot joiden sivuajaympyrän sisään tämä piste jää (kohta b). Merkityt kolmiot tuhotaan (kohta c). Näiden kolmioiden paikalle syntyy tällöin konveksi monikulmio, johon muodostetaan uusi kolmiointi yhdistämällä uusi piste monikulmion kaikkiin kärkiin (kohta d)). Bowyerin algoritmin laskennallinen vaativuus on kahdessa ulottuvuudessa suurin piirtein lineaarinen hilapisteiden lukumäärän suhteen. a) b) c) d) Kuva 2.24: Bowyerin algoritmi. Delaunayn kolmiointi ei alunperin ollut varsinaisesti hilangenerointimenetelmä. Näin ei olekaan mitään syytä, että menetelmä tuottaisi hilan joka yhtyy alueen reunaan. Reunan hilapisteet ovat kyllä reunalla, mutta ne on kolmioitu siten, että kolmioiden reunat eivät yhdy alueen reunaan. Tämän vuoksi menetelmää onkin modifioitava. Kaksi tunnetuinta menetelmää tähän on vaihtaa kolmiointia lokaalisti reunan lähellä (swap edges). Toinen tapa on lisätä pisteitä (add points) siten, että uutta pistejoukkoa vastaava kolmiointi sovittuu reunaan. Reunan sovitus on tehtävä joka tapauksessa, koska kolmiointihan aloitettiin koko alueen peittävästä teennäisestä 2.5. PINTOJEN GENEROINTI 62 aloituskolmiosta, josta tietenkin syntyy alueen ulkopuolisia kolmioita, jotka on tuhottava. Periaatteessa Delaunayn kolmiointi on siis menetelmä jo olemassa olevan pisteistön kolmioimiseksi. Menetelmää on kuitenkin kehitetty siten, että pisteet voidaan generoida hilangeneroinnin yhteydessä. Delaunayn kolmiointi pyrkii aina antamaan mahdollisimman säännöllisiä kolmioita. Joissain tapauksissa kuitenkin ehkä halutaan tiettyyn suuntaan venyneitä koppeja. Tähänkin on kehitetty toimiva menettely. 2.5 Pintojen generointi Edellä on keskitytty itse laskentahilan ominaisuuksiin ja sen laadinnassa esille tuleviin seikkoihin. Ennen kuin tähän päästään, on esikäsittelijälle määriteltävä laskentaalueen geometria. GAMBIT on oikeastaan enemmän geometrian määrittelyssä käytettävä työkalu kuin varsinainen hilan generointiohjelmisto. (Ainakin manuaalin sivumäärän perusteella). Virtauslaskijalle helpoin tapa määritellä geometria on saada se CAD-ohjelmistosta sopivassa, esimerkiksi IGES-formaatissa. IGES (Initial Graphics Exchange Specification) lienee edelleen yleisin geometriansiirtoformaatti, vaikka sen korvaamisesta uudemmalla STEP-standardilla (Standard for Exchange of Product Definition Data) on puhuttu jo pitkään. STEP-standardiin on ollut tarkoitus sisällyttää määrittelyt myös simulointitulosten siirtämiseksi eri ohjelmien välillä. Lähes kaikki hilangenerointiohjelmat lukevat IGES-tiedostoja, mutta tavallisesti ne tunnistavat vain osan IGESin lukuisista elementtityypeistä. Kun pinnat saadaan IGES-formaatissa, mitään geometrian määrittelyvaihetta ei enää varsinaisessa simulointitehtävässä tarvita. Laskenta-alueen rajaaminen ja yksinkertaistus saattavat kuitenkin tämän jälkeen olla vielä varsin työläitä operaatioita. Jos CAD-mallia ei ole olemassa, on turvauduttava GAMBITin määrittelyominaisuuksiin, mikä on työlästä. Geometria kuvataan pisteillä, käyrillä ja pintatilkuilla. Yksinkertaisessa kaksidimensioisessa tilanteessa suora voidaan määritellä yhtälöllä y = ax + b (2.5) missä a on suoran kulmakerroin. Jos tunnetaan kaksi pistettä, joiden kautta suora 2.5. PINTOJEN GENEROINTI 63 kulkee, saadaan suoran yhtälöksi y= y2 − y1 (x − x1 ) + y1 x2 − x1 (2.6) Ympyrä, jonka keskipiste on (a, b) ja säde r (x − a)2 + (y − b)2 = r 2 (2.7) saadaan määritetyksi kolmen pisteen avulla. Jos ympyrän kaari tai jana halutaan kuvata tietokoneen ymmärtämällä tavalla, voidaan valita aina kaksi pistettä siten, että ne ovat samalla käyrän päätepisteet. Splinit ovat monimutkaisempia käyriä, jotka myös voidaan määritellä avaruudessa olevien pisteiden avulla. Yleensä pisteitä on neljä tai enemmän, mutta niiden ei tarvitse olla itse käyrän pisteitä. Kolmidimensioisissa tapauksissa voidaan käyttää erillisistä pinnan osista koostuvaa ’rautalankamallia’. Tällöin pintoja rajaavat käyrät tunnetaan ja pinta määräytyy jollain tavoin rajakäyristä. Kaikkein yksinkertaisimmissa tilanteissa pinta voi olla esimerkiksi taso tai sylinteripinta. Monimutkaisempia keinoja ovat: • Lukuisten yksinkertaisten pintatilkkujen käyttö. Esimerkiksi laskentahila kuvaa pinnat joko kolmion tai neliön muotoisilla yksittäisten laskentatilavuuksien pinnoilla. (Laskennassa pinnat koostuvat aina murtoviivoista, mikä on syytä aina muistaa geometrian kuvauksen tarkkuutta arvioitaessa). • Sellaista määrittelyä, jossa pelkkä rajakäyrien informaatio määrittää yksikäsitteisesti pinnan, sanotaan Coons-pinnaksi. Rajakäyrien välille voi periaatteessa sijoittaa äärettömän monta pintaa, mutta vain yhden Coons-pinnan. Coons-pinta ei siis käytä tietoa pinnan sisäosista. • Bézier-polynomeilla voidaan kuvata monimutkaisempia (käyrempiä) pintoja. Muodon määrittelyssä käytetään tietoa myös pinnan sisäosista, ei pelkästään rajoilta. Bézier-pinnat kehitettiin aikoinaan Renaultille uusien autojen suunnittelun apuvälineiksi. • NURBS (non-uniform rational B-spline surfaces) ovat samantapaisia kuin Bézier pinnat, mutta käyrät, joita käytetään pintojen määrittelemiseen, perustuvat eri pisteisiin kuin Bézier-käyrät. Käyrien päätepisteet vain approksimoidaan, mutta pisteet, joiden avulla polynomit määritetään, varmistavat, että päätepisteissä käyrien ensimmäiset ja toiset derivaatat ovat jatkuvia. 2.6. LASKENTAHILAN VALINTA 64 Pintojen ja käyrien määrittely voi siis tapahtua monella tavoin. Yllä olevan kaltaisia tapoja sisältyy CAD-standardeihin. CFD-laskijan ei onneksi tarvitse tuntea pinnan määrittelytapoja kovin tarkasti, riittää tietää ymmärtääkö ohjelma käytössä olevaa standardia. Aina näin ei ole ja joudutaan käyttämään apuohjelmaa, joka muuttaa geometrian kuvauksen haluttuun muotoon. Hyvin keskeinen hilangenerointiohjelmien ominaisuus on niiden kyky projisoida hila suunnittelijan määrittelemälle pinnalle. Tavallisimmin projisointi tehdään laskemalla generoidun hilan solmupisteisiin normaalit ja siirtämällä solmuja normaalien suuntaan kunnes ne osuvat halutulle pinnalle. Vaihtoehtoisesti käyttäjä voi määritellä suunnan, johon kaikkia solmuja siirretään. Jälkimmäinen tapa toimii yleensä paremmin silloin, kun hilan solmut sijaitsevat kaukana pinnasta, jolle ne halutaan. Myös pintahilaa tasoitettaessa solmut tavallisesti erkanevat mallitettavan geometrian pinnalta. Tasoittamisen jälkeen onkin aina tehtävä solmujen projisointi. Poikkeuksen muodostavat tasomaiset pinnat, joilla solmut yleensä pysyvät tasoittamisesta huolimatta kohtuullisen hyvin. Erityisen tarkkana kannattaa kuitenkin olla symmetriatasojen kanssa. Pienetkin solmujen poikkeamat symmetriatasosta voivat johtaa virtausratkaisuun, jossa tapahtuu virtausta symmetriatason läpi. Sylinterimäiset pinnat ovat myös erikoistapaus. Joillekin tasoittajille voidaan määritellä säde, jolla solmujen on tasoituksen aikana pysyttävä. GAMBITiin pinnat voidaan antaa ACIS- tai IGES-standardin mukaisina. On myös mahdollista antaa pintahila tai jo valmiit avaruushilat, jotka on generoitu jollain muulla ohjelmalla. Eräiden rakenneanalyysissä käytettyjen ohjelmistojen, kuten I-DEAS tai PATRAN, osalta voidaan todeta niiden soveltuvan paremmin pintojen määrittelyyn tai pintahilojen tekoon. Rakenteellisten avaruushilojen laadinnassa niiden käyttöä virtaustehtäviin ei voi suositella ja todennäköisesti ne eivät tuota myöskään laadukkaita rakenteettomia verkkoja. Tämä johtuu siitä, ettei ohjelmia alun perin ole suunniteltu siten, että virtausratkaisun erityispiirteet otettaisiin huomioon. 2.6 Laskentahilan valinta Tässä luvussa ja johdannossa on tuotu esille joitain hilatyypin valintaan liittyviä tekijöitä ja erityisesti korostettu virtaustilanteen tuntemuksen tärkeyttä koko esikäsittelyvaiheessa. Kerrataan seuraavassa lyhyesti joitain pääperiaatteita: 2.7. KERTAUS 65 • valinta rakenteellisen ja rakenteettoman hilan välillä on tehtävä harkiten. On muistettava, että rakenteellinen on yleensä tarkempi ja tehokkaampi laskennassa, mutta hankalampi esikäsittelyssä. FLUENTissa on mahdollista käyttää eri hilatyyppejä sekaisin, mikä on hyvä käytännön kompromissi. • laskenta-alueen reuna on vietävä sellaiselle etäisyydelle, ettei reunaehtojen valinta tuota ongelmia. Reunoilla olevien häiriöiden ei pidä enää vaikuttaa tärkeällä osuudella laskenta-aluetta. Symmetria- ja periodisia reunoja kannattaa suosia. • käytännössä hilat ovat aina liian harvoja. On pyrittävä siihen, että jonkinlainen konvergenssitarkastelu hilatiheyden suhteen on mahdollista ja muistettava, että annetut yhtälöt ratkeavat tarkasti vasta kun tulos ei enää hilaa tihentäessä muutu. 2.7 Kertaus HILAN LAADINNASSA MUISTETTAVAA: • tärkein ja työläin vaihe simuloinnissa • hyvälaatuinen hila vaikuttaa paitsi ratkaisun virheeseen myös konvergenssinopeuteen • hilassa on otettava huomioon sekä resoluutio ja että numeerinen tarkkuus • numeerinen virhe koostuu vaimennuksesta ja dispersiosta, joista vaimennusta nimitetään FLUENTissa numeeriseksi diffuusioksi. Numeerinen virhe lähenee nollaa, kun hilatiheyttä kasvatetaan. Hilan laatu vaikuttaa siihen, miten nopeasti virhe pienenee hilaa tihennettäessä • hilatiheyden on oltava sellainen, että haluttu ilmiö voidaan sillä saada esille • kaarevilla pinnoilla on hilaa tihennettävä virtauksen suunnassa • laminaarilla virtauksella käytetään tasaista tai lievästi tihennettyä hilaa, jossa ensimmäisen tilavuuden korkeus arvioidaan rajakerroksen paksuuden avulla • turbulentilla rajakerroksissa pintaa vastaan kohtisuorassa suunnassa koppikoko määräytyy sopivista y + -arvoista, jotka riippuvat turbulenssimallista 2.7. KERTAUS 66 • tihentäminen on tehtävä vähitellen, koppikoon äkillinen muutos saattaa tuottaa jopa epäuskottavan näköisen tuloksen • pienen Reynoldsin luvun mallilla on hyvä käyttää pintaa vastaan kohtisuorassa suunnassa muutama tasakokoinen koppikerros ja sen jälkeen aloittaa varovainen tihentäminen. Rajakerrokseen kuluu 20-30 kerrosta. • suuren Reynoldsin luvun mallilla voidaan säästää hilatiheydessä, mutta tulos saattaa olla epäluotettava pinnan lähellä • rakenteettomalla hilalla on käytettävä kiinteiden pintojen läheisyydessä prismoja • käytä rakenteellista hilaa, jos se on mahdollista työajan puitteissa ja geometria antaa myöden • sylinterimäisissä tapauksissa on vältettävä singulaarista akselia • katkaisuvirheen häiritsevin osuus koostuu numeerisesta vaimennuksesta. Hilaviivojen suunnalla on tällöin merkitystä. • esikäsittelijä (GAMBIT) tuottaa hilan laatua kuvaavia parametreja, joita kannattaa seurata ja opetella niiden merkitystä käytännön kokemusten avulla • laatimisen jälkeen kannattaa usein suorittaa muutama tasoituskierros • ratkaisija (FLUENT) suorittaa hilan lopullisen arvioinnin ja tulostaa hilaa kuvaavaa statistiikkaa • osana tulosten analysointia tarkistettava aina y + -arvot kiinteiden pintojen lähellä • rakenteellisten hilojen generoinnin perusalgoritmi on interpolointi • differentiaaliyhtälöihin pohjautuvia menetelmiä käytetään yleensä tasoittajina • rakenteettomia hiloja generoidaan etenevän rintaman menetelmällä ja Delaunayn kolmioinnilla • Delaunayn kolmiointi maksimoi kolmioparille kuuden sisäkulman minimin ja kolmioinnilla on sivuajaympyräominaisuus 2.7. KERTAUS 67 • Bowyerin algoritmi • pintojen kuvaustavat • esikäsittely voidaan jakaa moniin vaiheisiin. Ensin luodaan pinnat, sen jälkeen pintahilat ja lopuksi avaruushilat. Päivitetty 14.1.2014