Hidrológiai Közlöny 1994 (74. évfolyam)

3. szám - Gáspár Csaba–Józsa János–Simbierowicz, Pawel: Új szemléletmód a numerikus hidraulikában. I. Egyenlőtlen hálók: generálásuk, első alkalmazások

GÁSPÁR CS. el al.: Új szemléletmód, I. 165 kező dolgozatban részletezzük a differenciasémáknak a fenti hálókon való előállításának kérdéseit, valamint az így nyert diszkrét egyenletek többhálós (multigrid) módszerrel való megoldásának technikáját. A harmadik dolgozatban a módszert sekély tavakban fellépő, szél keltette áramlások számítására alkalmazzuk. A sorozat befejező, negyedik részében pedig megmutatjuk, hogy a módszer jól alkalmazható mozgó koordináta-rend­szerekben is (Langrange-féle szemlélet): e témakörben örvényfejlődés (konkrétabban: nyíróréteg felcsavaro­dás), valamint konzervatív szennyező anyag transzport­jának modellezését végezzük el. Valamennyi alkalma­zási példa kétdimenziós, de megjegyezzük, hogy a be­mutatt módszer elvileg könnyedén általánosítható há­romdimenziós feladatokra is: ennek lehetőségét az al­kalmazott számítógép memórianagysága korlátozza csupán. Hálógenerálás quadtree (QT) algoritmussal Legyen Q a sík egy korlátos tartománya. Legyen s : = {(Xi.yi). (xN,yw)} egy véges (N pontból álló) részhalmaza í2-nak. Az általánosság csorbítása nélkül feltehető, hogy Q egy egységnyi oldalhosszúságú négy­zet. Nevezzük ezt a kiinduló állapotot 0. felbontási szintnek A quadtree (QT) algoritmust a következő, re­kurzív módon megadott felbontási algoritmus definiál­ja. /. lépés. Ha S pontjainak száma meghalad egy előre adott N ma x értéket, akkor bontsuk fel Q-t négy egybe­vágó Qi, Q 2, rész-négyzetre, melyek oldal­hosszúságai feleakkorák, mint Q-é. Bontsuk fel továb­bá S-et is négy részre aszerint, hogy S pontjai melyik rész-négyzetben vannak: így nyerjük az S 1 ; S 2, S 3, S 4 ponthalmazokat (ezek némelyike üres is lehet). Nevez­zük az így kapott felbontást (k+l)-edik szintűnek, ha £2 maga egy k-adik szintű felbontáshoz tartozott. 2. lépés. Ha a felbontási szint alatta marad egy előre adott L^ értéknek, akkor ismételjük az eljárást az 1. lépéstől kezdve rendre egymás után az (Qj, Sj), (Q 2, S 2), (Q 3, S 3), (£2 4, S 4) párokkal. Az eljárás a 2. lépésben önmagára hivatkozik, azaz rekurzív. Számítógépes megvalósítása igen könnyen el­végezhető olyan programnyelven, mely megengedi a rekurzív szubrutinhívást (pl. PASCAL): más nyelveken (FORTRAN) bonyolultabb ugyan, de lényeges nehéz­ségbe nem ütközik. A k-adik szintű felbontás nyilvánvalóan 2~ k oldal­hoszúságú négyzeteket eredményez. Világos továbbá, hogy az algoritmus "egymásba skatulyázott", azaz egymást tartalmazó, fokozatosan Finomodó cellarend­szert szolgáltat. Ezek közül a további felbontásra már nem kerülő cellák fogják alkotni a számítási hálót. Ez a háló nem uniform, azaz általában különböző méretű cellákból áll. Könnyen látható, hogy a felbontás finom­sága - a cellák mérete - a kiindulási S ponthalmaz síkbeli eloszlását fogja követni: Q azon részein, ahol S pontjai sűrűbben helyezkednek el, a felbontás is fi­nomabb lesz, tehát kisebb méretű cellák keletkeznek, mint ott, ahol S pontjai ritkán vannak elosztva. Ilyen értelemben az S ponthalmaz vezérli a háló struktúráját. Az 1. ábrán két tipikus QT-cellarendszert mutatunk be. Az elsőt 10 pont generálja, N ma x:=l előírás mellett. A másodikban azt szemléltetjük, hogy N ma x :=0 válasz­tással egyetlen pont is generál egy QT-cellarendszert, mely mintegy „ráhúzódik" az adott pontra. Hidraulikai (illetve egyéb parciális differenciál­egyenlettel leírható) alkalmazásokban £2 célszerűen egy olyan négyzet, mely a vizsgált áramlási tartományt tar­talmazza: S állhat pl. e tartomány peremének kellően sűrűen elhelyezkedő pontjaiból. Ekkor a nyert QT-cel­larendszer olyan, amely a tartomány pereme közelében automatikusan besűrűsödik. Sokszor célszerű további, belső pontokat is hozzávenni S-hez, ott, ahol lokálisan finomabb felbontást kívánunk elérni. m (a) (b) 1. ábra. Tipikus QT-cellarendszerek

Next

/
Oldalképek
Tartalom