IV.3. Oktató feladatok

A telepített programok segítségével, és a szimulációs esetek ismeretében már el tudjuk végezni a légköri szimulációkat, de célszerű előbb jobban megismerkedni az OpenFOAM szoftvercsomag használatával és a számítások menetével. Ezt a szoftver hivatalos oktató feladatainak megoldásával tehetjük meg.

Ezek közül az első, egy ún. hajtott üreg áramlás 2 dimenziós szimulációja, ahol az áramlást a négyzet keresztmetszetű üreg felett mozgó fal alakítja ki. A feladat figyelmes elolvasásával és megoldásával megérthetjük és elsajátíthatjuk az áramlástani analízis lépéseit, az elő- és utó-feldolgozás lényegét, és eszközeinek használatát.

A második oktató feladat megoldása nem kötelező, de figyelmes elolvasása javasolt, hiszen ebben az esetben egy hengeres furattal ellátott lemez 2 dimenziós feszültség-analízise a feladat, amely nem áramlástani, hanem mechanikai probléma.

A harmadik feladat egy hidrológiai szempontból érdekes probléma megoldása, azaz egy egyszerűsített, 2 dimenziós gátszakadás kétfázisú szimulációja. Ezen keresztül megismerhetjük a többfázisú áramlások szimulációjának technikai megvalósítását, és tovább gyakorolhatjuk az elő- és utó-feldolgozást, azaz a térbeli diszkretizálást (hálózást) és a megjelenítést.

A következő alfejezetben részletezett feladatok egyre növekvő komplexitású eseteken keresztül vezetik be az olvasót a légköri szimulációk módszertanába.

Konkrét meteorológiai alkalmazásokról, a Paksi Atomerőmű épületei közötti áramlási mező szimulálásáról a VII. fejezetben olvashatunk.

IV.3.1. Légköri határréteg 2D szimulációja homogén érdességű, sík felszín felett

Az első légköri áramlásra vonatkozó feladat igen egyszerű eset, amely szemlélteti, hogyan fejlődik a határréteg a homogén érdességű sík felszín felett. Az eset egyszerűségéből adódóan 2 dimenziós szimulációkat fogunk végezni különböző peremfeltételek megadásával (IV.3. ábra). Az alapeset könyvtárainak letöltésével, kicsomagolásával és $FOAM_RUN könyvtárba másolásával kezdjük a vizsgálatot:

  • cp .../Case1.tar.gz $FOAM_RUN/Case1.tar.gz

  • cd $FOAM_RUN

  • gunzip Case1.tar.gz

  • tar -xvf Case1.tar

Az eset futtatásra kész, de annak alapos megértése érdekében előbb tekintsük át a feladatot és az alapeset paramétereit, amelyet a kicsomagolt állományok tartalmaznak.

IV.3.1.1. A tartomány és a numerikus háló

Habár a homogén érdességű, sík felszín feletti szimuláció 2 dimenziós, tehát csak az áramlás irányú és a függőleges irányú mozgásegyenletet oldjuk meg, a számítási tartomány mégis 3 dimenziós. Az OpenFOAM szimulációs rendszerben – ha a numerikus hálót 1 cella vastagságúra választjuk és oldalsó peremein „üres” (empty) peremfeltételt adunk meg – a megoldó automatikusan elhanyagolja az oldalirányú mozgásokat és változásokat, azaz nem veszi figyelembe a keresztirányú mennyiségeket és azok deriváltjait. Mivel egyszerű a tartomány és így a numerikus háló topológiája is, a blockMesh eszközzel hozzuk létre azt. Ahogy azt a IV.3. ábrán is láthatjuk, a tartomány egy blokkból épül fel, így a blockMeshDict fájlban mindössze 8 pont megadásával definiálhatjuk azt. A tartomány mérete 5000 m x 20 m x 1600 m.

IV.3. ábra. A homogén érdességű, sík felszín feletti szimuláció tartományának vázlata.

IV.3.1.2. Hálózás, számítás, kiértékelés

Ellenőrizzük a blockMeshDict fájlban található pontok listáját, a hálót leíró intervallumok számát és eloszlását! Ehhez használjuk a már telepített segédprogramokat! A határréteget leíró paraméterek segítségével, amelyet az eset főkönyvtárában lévő „0/include/ABLConditions” file-ban találunk, számítsuk ki az első cella szükséges magasságát!

  • cd $HOME/CFDTools

  • ./FirstCellHeight.x

  • A program által kért paramétereket az „Empty/0/include/ABLConditions” és az „Empty/constant/transportProperties” fájlokban találjuk. A dimenziótlan faltávolságra (y+) a standard k–ε modell használata esetén 30–300 közötti értéket szükséges megadni. A kimeneti paraméter az első cella magassága.

Az első cella magasságára kapott érték alapján kiszámítható az utolsó és az első cella méretaránya, továbbá a szükséges cellaszám függőleges irányban, amelyet a blockMeshDict fájlban kell megadnunk a hálózáshoz. A program bemenő paraméterei közül az első intervallum mérete (a1) értelemszerűen az előzőleg kiszámolt magasság az első cellára, a referencia cella növekedési arány (q = ai+1/ai) 1,1 és 1,3 között változó érték, míg a hálózás hossza (L) a tartomány magassága:

  • cd $HOME/CFDTools

  • ./LastFirstCalc2.x

  • A kimenő paraméterek rendre az utolsó és első cella magasságának aránya (an1 = an/a1), a cella-intervallumok száma (n), és a végleges, valódi cella növekedési arány (q).

Ha a háló leírása megfelelő, elkezdhetjük a hálózást, majd a szimulációt, utófeldolgozást (fali csúsztatófeszültség kiszámítását), végül pedig a mintavételezést és a profilok ábrázolását. Ehhez sorban a következő parancsokat kell kiadnunk:

  • cd $FOAM_RUN/Empty

  • blockMesh

  • simpleFoam > runlog

  • wallShearStress

  • sample

  • gnuplot Results.p

A belépő (Inlet), a tartomány közepén = Middle), és a kilépésnél (outlet) mintavételezett profilokat a Results.p makró a Results.eps fájlba menti el. A képen (példaként lásd a IV.4. ábrát) a határréteg fejlődését figyelhetjük meg a tartomány hossza mentén. A tartományt a hálót és az eredményeket a ParaView szoftverrel is ellenőrizhetjük, az azt indító parancs begépelése után:

  • paraFoam

IV.4. ábra. A szélsebesség (U), a turbulens kinetikus energia (k), a turbulens kinetikus energia disszipációs aránya (ε) és a felszíni (az áramlástanban a fal menti) impulzusárram (τ) a homogén érdességű, sík felszín feletti modellezési tartomány belépő oldalán (Inlet), a tartomány közepén (Middle), és a kilépésnél (outlet).

A ParaView program használatáról, és a szimulációs eredmények kiértékeléséről részletes útmutatót találunk az OpenFOAM hivatalos oktató feladatainál. Ha futtatás közben szeretnénk grafikus formában követni az egyenletek maradéktagjainak (a rezidumoknak) az alakulását, akkor egy új terminálablakot nyitva a következő parancsok megadásával ezt egyszerűen megtehetjük (a parancs a „runlog” állomány tartalmát jeleníti meg):

  • cd $FOAM_RUN/Empty

  • gnuplot ResPlot.p

A szimuláció végeztével a rezidumokat ábrázoló ablakot a „ctrl+c” paranccsal zárhatjuk be.

IV.3.1.3. Gyakorló feladatok homogén érdességű, sík felszín felett

1. Feladat: Vizsgáljuk meg a homogén érdességű sík felszín feletti áramlás jellemzőit, különböző érdességi magasságok megadásával! Az egyes felszíntípusokra vonatkozó érdességi magasságokat a IV.2. táblázatban foglaltuk össze.

IV.2. táblázat. A különböző felszínborítottságokra jellemző érdességi magasságok.

Felszín típusa

Érdességi magasság: z0 [m]

Nyílt tengerfelszín

0,0002

Kiszáradt tómeder, vegetáció mentes terület

0,005

Fűvel borított nyílt terület, kevés izolált akadállyal

0,03

Alacsony aljnövényzet, egy-egy nagyobb akadállyal

0,10

Magas aljnövényzet, elszórt akadályokkal

0,25

Fás, bozótos terület, számos akadállyal

0,5

Elővárosi vagy erdős terület

1,0

Városközpont magas épületekkel

2

Tipp: A szimulációk előkészítésénél hozzunk létre külön könyvtárat minden esetnek (pl. EmptyR1, EmptyR2, stb.), majd másoljuk ezekbe az eredeti eset „0”, „system” és „constant” könyvtárát. Számítsuk újra az első cella magasságát z0 függvényében minden esetre, majd ennek ismeretében számítsuk ki a háló jellemzőit. Módosítsuk az ABLCondition fájlban, az érdességi magasságot, majd hálózzuk újra és futtassuk le a szimulációkat. Hasonlítsuk össze a profilokat, a különböző pozíciókban és a különböző érdességek esetén.

2. Feladat: Vizsgáljuk meg a térbeli felbontás eredményekre gyakorolt hatását adott z0 = 0,01 m-es érdesség mellett. Hozzunk létre 3 különböző finomságú hálót (nevezzük ezeket durva, közepes és finom felbontású hálónak). A közepes háló vízszintes irányban legyen ugyanolyan felbontású, mint a referencia esetben, a durva háló cellamérete legyen a közepes kétszerese, a finomé pedig, fele akkora.

Tipp: A szimulációk előkészítésénél ismét hozzunk létre külön könyvtárat minden esetnek (pl. EmptyH1, EmptyH2, stb.), majd másoljuk ezekbe az eredeti eset „0”, „system” és „constant” könyvtárát. A megadott érdességi paramétert használva számítsuk ki a közepes felbontású hálóra vonatkozó cellamagasságot y= 60 dimenziótlan faltávolsággal, így garantálhatjuk azt, hogy mindhárom háló első cellaközéppontja a megfelelő tartományba essen. Ismételten végezzük el a profilok összehasonlítását!

IV.3.2. Légköri határréteg 2D szimulációja egyszerűsített geometriájú domb felett

A második légköri áramlásra vonatkozó feladat egy olyan eset, amely szemlélteti, hogyan befolyásolja a határréteg szerkezetét a domborzat. Ez az eset is még kellően egyszerű ahhoz, hogy a szimulációkat 2 dimenzióban végezzük el. Ismét az alapeset könyvtárainak letöltésével, kicsomagolásával és $FOAM_RUN könyvtárba másolásával kezdjük a vizsgálatot:

  • cp .../Case1.tar.gz $FOAM_RUN/Case2.tar.gz

  • cd $FOAM_RUN

  • gunzip Case2.tar.gz

  • tar -xvf Case2.tar

Az eset futtatásra kész, de annak alapos megértése érdekében előbb tekintsük át a feladatot és az alapeset paramétereit, amelyet a kicsomagolt állományok tartalmaznak.

IV.3.2.1. A tartomány és a numerikus háló

A földfelszín geometriáját ebben az esetben egy egyszerűsített, szimmetrikus szinuszoidális domb és sík felületek határozzák meg (IV.5. ábra). A hálósűrítés megkönnyítésére a felszínt négy részből állítjuk össze.

IV.5. ábra. Az egyszerűsített domb feletti szimuláció tartományának vázlata.

A belépéstől a domb szél felőli talppontjáig tartó, és annak szél alóli talppontjától a kilépésig tartó felületek síkok. A dombot két, a legmagasabb pontjára szimmetrikus, görbült felület alkotja. A domb felületeinek alakját diszkrét pontok megadásával, és a pontokra illesztett szakaszosan paramertikus görbével (ún. spline-nal) írjuk le. A tartományt és a numerikus háló topológiáját ismét a blockMesh eszközzel hozzuk létre. Ahogyan azt a IV.5. ábrán is láthatjuk, a tartomány számos blokkból áll. A blockMeshDict fájl ebben az esetekben már sokkal összetettebb, mivel a hálótopológiát 30 ponttal, 8 görbével és 8 blokkal adjuk meg. A tartomány mérete 2000 m x 20 m x 500 m, a domb magassága 50 m. A domb csúcsa az x = 0 m pozícióban helyezkedik el, így a belépés –500 m-nél a kilépés pedig 1500 m-nél található. Ahogyan a tartomány vázlata is mutatja, a simább cella-átmenetek és a kevésbé torzult cellák érdekében definiáltuk a függőlegesen osztott blokkstruktúrát, amelyet a tartomány félmagasságában végigfutó felület jelöl.

IV.3.2.2. Hálózás, számítás, kiértékelés

A háló paramétereinek ellenőrzése a „blockMeshDict” fájlban valamivel összetettebb, mint korábban, de a mellékelt programok segítségével, és a IV.3. táblázatban foglalt adatok ismeretében könnyen kiszámolható a cellaszám, illetve az utolsó és az első cella méretének az aránya. A hálósűrítést vízszintes irányban most az a1 és an méretek alapján végezzük el, így a LastFirstCalc1.x programot használjuk, mivel ez az első és az utolsó cella mérete, illetve a hálózandó szakasz hossza (L) alapján számítja ki a cellaszámot (n), és a cellanövekedés mértékét (an/a1). A felső blokkok hálózásához továbbra is a LastFirstCalc2.x programot használjuk.

A határréteget leíró paraméterek segítségével, amelyet az eset főkönyvtárában lévő „0/include/ABLConditions” file-ban találunk, számítsuk ki az első cella szükséges magasságát (V02-V07 szakasz), a FirstCellHeight.x programot használva!

IV.3. táblázat. A különböző szakaszok hálózásához szükséges paraméterek.

V00–V01

V01–V02

V02–V03

V03–V04

V02–V07

V07–V12

L (hossz, vagy ívhossz)

400

114

114

1400

225

225

a1 (első cella mérete)

20

6

3

3

0,2

20

an (utolsó cella mérete)

6

3

3

21

20

30

Ha a háló leírása megfelelő, elkezdhetjük a hálózást, majd a szimulációt, végül pedig a mintavételezést és a profilok ábrázolását. Ehhez az előző esetnél felsorolt parancsokat kell kiadnunk a „$FOAM_RUN/Hill2D” könyvtárban.

A ParaView szoftverrel megjelenítve a hálót, az IV.6. ábrához hasonlót kell látnunk. A tartomány tetszőleges pozíciójában mintavételezett profilokat a „sampleDict” és „Results.p” állományok módosításával ábrázolhatjuk.

IV.6. ábra. Az egyszerűsített domb numerikus hálója.

IV.3.2.3. Gyakorló feladatok egyszerűsített geometriájú heggyel

1. Feladat: Vizsgáljuk meg a szélsebesség leválási buborékra gyakorolt hatását! Futtassuk az esetet három különböző szélsebesség mellett (uref  = 5, 10 és 20 m s–1), használjunk z0 = 0,01 m-es érdességet! Ehhez módosítsuk a háló függőleges paramétereit a sebességnek megfelelően.

Tipp: A leválási buborék (más néven visszaáramlási zóna) méretének meghatározásához a fali csúsztatófeszültség elemzésével jutunk. Mivel a fali csúsztatófeszültség definíció szerint,

,

(IV.5.)

azaz τw a sebesség gradiens falra merőleges komponensével arányos, így a fal feletti sebesség előjelének megváltozásával az is előjelet vált. A visszaáramlási zónában tehát a fali csúsztatófeszültség előjele ellentétes a tartomány többi részén tapasztalttal. Összefoglalva, a visszaáramlási zóna vízszintes méretét kijelölő leválási pont és visszafekvési pont koordinátáit a fali csúsztatófeszültség görbe és a constans 0 egyenes metszéspontja adja.

2. feladat: Vizsgáljuk meg a domb vízszintes méretének leválási buborékra gyakorolt hatását! Futtassuk az esetet három különböző méret mellett (= 100, 200 és 400 m), az érdességre z= 0,01 m-es, a sebességre uref = 10 m s–1-os értéket megadva! Ne felejtsük, hogy az = 200 m-es esetet már korábban vizsgáltuk, tehát ennek hálópontjait nem szükséges módosítanunk.

Tipp: A domb vízszintes méretének megváltoztatásához a domb talppontjainak koordinátáit, és az alakját leíró parametrikus görbék kontrolpontjait kell megváltoztatni. A domb geometriája szinuszoidális, azaz magassága x függvényében a következő általános függvénnyel adható meg:

.

(IV.6.)

A fenti egyenletben h a domb magassága, l annak teljes hossza, zg a talaj alapszintje, ami a talajfelszín esetében zérus. A tartomány félmagasságában húzódó, háló-ortogonalitást javító felszínek pontjainak, valamint parametrikus görbéinek módosítására is szükség van. A görbék kontrollpontjainak kiszámításához is használható a fenti összefüggés (IV.6.), ha a tartomány teljes magasságát H-val jelölve a képletbe a következő értékeket helyettesítjük: hf  = 0,5h, lf  = 1,3l, zgf  = 0,5H.

3. feladat: Számoljuk ki egy passzív skalár terjedését a kialakult áramlás sebességterének felhasználásával! Ehhez hajtsuk végre a következő lépéseket:

  • Másoljuk le az eredeti esetkönyvtárat más néven („Hill2D” → „Hill2DST”)!

  • Töröljük a „0” könyvtár tartamát!

  • Másoljuk át a „6000” könyvtárból a sebességmezőt („U”-t) a „0” könyvtárba!

  • Szövegszerkesztővel megnyitva írjuk át az „0/U” fájl fejlécében a location-t „6000”-ről „0”-ra!

  • Töröljük az egész „6000” könyvtárat.

  • Ezzel adjuk meg a passzív skalár diffuzivitását. Nyissuk meg a „constant/transportProperties” fájlt, és a fejléc (FoamFile{...}) kivételével töröljünk ki mindent, majd írjuk bele a következő „DT DT [ 0 2 -1 0 0 0 0 ] 0.01;” sort!

  • Töltsük le, tömörítsük ki és másoljuk a megfelelő könyvtárakba a kiegészítéseket!

    • A passzív skalár kezdeti és peremfeltételeit: „Extensions/T” → „0/T”

    • A forrás-zóna topológiáját: „Extensions/topoSetDict” → „system/topoSetDict”

    • A forrás jellemzőit: „Extensions/sourceProperties” → „constant/sourceProperties”

  • Írjuk át a system/controlDict fájlban a következőket!

    • „application simpleFoam;” → „application scalarTransportFoamSRC;”

    • „endTime 6000;” → „endTime 1000;”

    • „writeInterval 6000;” →  „writeInterval 10;”

  • Válasszuk le a forrás-zónát a „topoSet” paranccsal!

  • Végül futtassuk a szimulációt a „scalarTransportFoamSRC > runlog” paranccsal!

Tipp: A ParaView szoftverrel készíthetünk egy y-normálisú középsík-metszetet, majd ábrázoljuk a passzív skalár koncentrációját. Állítsuk be a színskála alsó határát 0-ra, felső határát pedig 0,01-re! A view menüben pipáljuk ki az „animation view” jelölődobozát! Majd a fájl menüben a „save animation” menüpontban mentsük el az animáció készítéséhez használható képeket. Ezekből később videót készíthetünk az ffmpeg eszközzel, például ilyet:

IV.3.3. Légköri határréteg 3D szimulációja komplex domborzat felett

A feladatsorban tárgyalt légköri szimulációk közül ez a legösszetettebb eset, amely a mérnöki gyakorlatban is előforduló atmoszférikus esetek komplexitásával bír. A feladat lényege, hogy egy 3D, valós geometriájú domb feletti stacioner áramlást szimuláljunk, és megvizsgáljuk az áramlás, illetve a dombra telepített szélturbinák kölcsönhatását. A szélturbinák hatását nem azok valós geometriájával, hanem az ún. aktuátor tárcsaként, a légcsavarelmélet (actuator disc theory) segítségével modellezzük. A légcsavarelméletről bővebben itt olvashatunk. A módszer lényege, hogy egy leválasztott zónában, a rotorsíkban, a mozgásegyenletekben alkalmazott additív forrástagok megadásával írjuk le a rotor áramlásra gyakorolt hatását. Ha a turbina geometriáját és forgását pontosan vennénk figyelembe, az számos hálózási és futtatási problémát vetne fel: a rotorlapátok körüli áramlás pontos leírása igen finom, strukturált hálót igényel, amely a cellaszámot kezelhetetlenül nagymértékben növelné, így a realisztikus, időfüggő szimuláció megnövekedett numerikus költségei ellehetetlenítenék a számításokat. Ha megfelelően nagy számítási kapacitás áll rendelkezésünkre, akkor megvalósíthatók az ilyen szimulációk a megfelelő célszoftverek segítségével, de erre egyenlőre igen kevés példa van. A jelenlegi feladat egy átlagos teljesítményű asztali vagy noteszgépen is megvalósítható relatív rövid idő alatt (kb. 1 óra).

IV.3.3.1. A tartomány és a numerikus háló

A tartományt és a numerikus hálót, a domborzat felszínének geometriája, illetve a szélturbinák helyzete határozza meg. A domborzatot ún. STL (STereoLithography) formátumban adhatjuk meg, amely a 3D felületeket triangularizált formában tárolja. Ez egy natív CAD fájl formátum, amelyet az OpenFOAM szoftver „snappyHexMesh” alkalmazásával tudjuk felhasználni és behálózni. A geometria létrehozása és a felület hálózása két lépésben valósítható meg: létrehozunk egy alaptartományt és egy alaphálót a „blockMesh” eszközzel, majd ezt kombináljuk a domborzatot leíró felülettel miközben sűrítjük az alaphálót a „snappyHexMesh” eszköz segítségével.

Általános esetben a munka a domborzati adatbázis letöltésével kezdődik. Ezt követi az adatbázis módosítása (a vizsgálni kívánt terület kivágása, koordináta-transzformációja, és ha szükséges akkor a felbontás interpolációval történő finomítása). A domborzat előkészítésének utolsó két lépése a konvertálás (STL formátumba) és a belépő peremfeltételek megadásának megkönnyítésére a domborzat szintezése a belépés vonalában. A folyamatot a következő lépésekben hajthatjuk végre:

  • Letöltés: a vizsgálati tartományt lefedő kivágatot letöltjük innen, ArcInfo ASCII formátumban.

  • Módosítás (pl. a Quantum GIS ingyenes szoftverrel):

    • Kivágjuk a vizsgálati tartomány szűkebb környezetét a letöltött állományból úgy, hogy az minden irányban túllógjon a vizsgálati tartományon.

    • A földrajzi (φ, λ) (földrajzi szélesség és hosszúság) koordináta-rendszerből a Descartes-féle koordináta-rendszerbe (x, y, z) transzformáljuk az adatokat, egy alkalmas térképészeti leképezés segítségével (pl. UTM: Universal Transverse Mercator).

    • Interpolációval egyenközű felbontású adatmezőt hozunk létre és finomítjuk a felbontását a kívánt horizontális hálóméretnek megfelelően. Ha például 10 m-es vízszintes felbontású hálót szeretnénk készíteni, akkor legalább ilyen, de inkább finomabb felbontásban kell elmentenünk az adatbázist ArcInfo ASCII formátumban.

  • Konvertálás: A mellékelt „ASC2STL” szoftver segítségével bináris STL fájlt hozunk létre a módosított ArcInfo ASCII fájlból.

    • cd $HOME/CFDTools/ASC2STL

    • ./ASC2STL.x input.asc output.stl

  • Szintezés: A szintén mellékelt „RelaxSTL” szoftverrel relaxáljuk a domborzatot a belépés környezetében. A relaxáció paramétereit egy ASCII fájlban tároljuk (lásd. a mellékelt $HOME/CFDTools/RelaxSTL/Setup/ComplexSetup.txt-t), ahol megadjuk a tartomány belépő és a kilépő éleinek koordinátáit (azokat amiket majd az alaphálót létrehozó „blockMeshDict” fájlban is meg fogunk adni), a relaxáció mélységét a belépéstől mérve, illetve azt, hogy a belépésnél a domborzat magasságát a z = 0 pontba toljuk-e (T – igen, F – nem).

    • cd $HOME/CFDTools/RelaxSTL

    • ./RelaxSTL.x input.stl output.stl setup.txt

Jelen esetben rendelkezésre áll a szükséges STL fájl, így azt nem kell létrehoznunk. A számítási tartomány befoglaló mérete 969 m x 870 m x 600 m, ez fogja adni az alaptartomány méretét. A tartomány kezdőpontjának koordinátái x = 581321 m, y = 4785370 m, z =-10 m, ami biztosítja azt, hogy a domborzatot leíró felület x és y irányban túllógjon a tartományon, míg z irányban a tartomány lógjon túl a felületen. A tartományban elhelyezett két szélturbina lapátkoszorújának középponti koordinátái rendre x1 = 581850.5 m, y1 = 4785810 m, z1 = 120 m és x2 = 581750,5 m, y2 = 4785660 m, z2 = 120 m. Ismét az alapeset könyvtárainak letöltésével, kicsomagolásával és „$FOAM_RUN” könyvtárba másolásával kezdhetjük meg a vizsgálatot.

IV.3.3.2. Hálózás, számítás, kiértékelés

A hálózást két lépésben hajtjuk végre, létrehozva az alaphálót, majd abból a véglegeset. Mivel a végleges hálót az alapháló metszésével, és sűrítésével hozzuk létre, ez utóbbi szerkezete meglehetősen egyszerű. A tartomány mindössze 1 blokkből áll, és a háló horizontálisan egyenközű (lásd „Complex/constant/polymesh/blockMeshDict”). A végleges háló szerkezetét a földfelszín geometriája és a felületen, illetve a szélturbinák környezetében alkalmazott hálósűrítés határozza meg. Az STL fájl neve, és a hálósűrítés paraméterei a  „Complex/system/snappyHexMeshDict” fájlban adhatók meg. Az STL fájl alapértelmezett helye az eset könyvtár „constans/triSurface/” alkönyvtára. A „snappyHexMesh” használatával kapott háló celláinak sorrendje nem optimális, ezért szükség van a cellák rendezésére, azaz újraszámozására, amit a „renumberMesh” eszközzel hajtunk végre. A szélturbinák hatását modellező forrástagok megadásához módosítanunk kell a hálótopológiát, le kell választanunk a forrás-zónákat, amit a „topoSetDict” eszközzel teszünk meg. A futtatás előkészítésének előbb felsorolt összes lépése végrehajtható a „PrepareRun” parancs végrehajtásával. Ezek után már csak a futtatás van hátra, amit ismét a „simpleFoam > runlog” paranccsal indíthatunk el. Ha mindent jól csináltunk, akkor a ParaView szoftver segítségével megjeleníthetjük a domborzatot, a hálót és az 500 lépés áramképének metszeteit. Ezek a IV.7., IV.8. és a IV.9. ábrán láthatók.

IV.7. ábra. A domborzat a számítási tartományban.

Feladat 1: Változtassuk meg a szélturbinák helyzetét a kialakult áramkép alapján úgy, hogy a lehető legnagyobb teljesítménynövekedést érjük el!

Tipp: A szélturbinák optimális helye a legnagyobb sebesség által meghatározott zónában jelölhető ki. Készítsük elő és futtassuk le az esetet egy új esetkönyvtár létrehozásával úgy, hogy a „snappyHexMeshDict” fájlból kitöröljük a turbinák környezetének sűrítését megadó részeket. Töröljük a „sourceProperties” fájlt, és a „topoSet” parancsot a „PrepareRun” parancsfájból. Az így kapott áramkép analízisével meghatározható a turbinák optimális helye. Az analízis alapjául szolgáló áramképet a kisméretű turbinák rotor-tengelyének magasságában, a talajfelszín felett 123 méteren ábrázoljuk! Ezt úgy tehetjük meg, ha a ParaView szoftver „contour” eszközével a „wallDistanceField” változót megadva, 123 m-ert beállítva felületet hozunk létre, és ezen ábrázoljuk a sebességet. A legnagyobb sebességű zónákban a ParaView szoftver „ruler” eszközének segítségével határozzuk meg a turbinák optimális helyét. Készítsünk másolatot más néven az eredeti esetkönyvtárról, majd módosítsuk a „snappyHexMeshDict” és a „toposetDict” fájlokban a turbinák pozícióit. Az esetet lefuttatva határozzuk meg a teljesítménynövekedés mértékét, amely a rotortengely és a rotorsík metszéspontjában mért sebesség harmadik hatványával arányos! Ezt a sebességet a „sample” eszközzel határozhatjuk meg.

IV.8. ábra. A számítási tartomány és a numerikus háló.

IV.9. ábra. A sebesség nagyságának megoszlása függőleges és vízszintes síkokban. A függőleges y-z metszet (fent) az x = 581 851 m-es, az x-z metszet (középen) az y = 4785 810 m-es, míg a vízszintes x-y metszet (jobbra) a z = 123 m-es síkban kialakult sebességet szemlélteti. A metszeteken jól látszik a szélturbinák áramlásra gyakorolt hatása.

A fejezet végén az Open Foam programmal végzett számításainkat „kedvcsinálóként” egy videón is szemléltetjük (IV.1. videó)

IV.1. videó. Az Open Foam programcsomaggal végzett számítás animációja.