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. 169 szecskék összességét választjuk (Gáspár és Szél [1991]). Ilyenkor célszerű közepesen nagy (legalább tí­zes nagyságrendű N ma x paramétert használni (ellenkező' esetben a pontosság romlik). Szórt alappontú interpoláció Legyenek (x„ y t) ,(x N,y N) rendszertelenül elhelyezke­dő (szórt) pontok a síkon, és mindegyik ponthoz tar­tozzék egy-egy számérték, f 1,...,f N- A probléma a kö­vetkező: definiáljunk egy - általában minél simább ­f(x,y) függvényt úgy, hogy az teljesítse az fCxtcyk) = fk k=l,2,...N (3) interpolációs egyenlőségeket. Más szóval, definiáljunk ésszerű interpolációs értékeket a fenti pontokon mint interpolációs alappontokon kívül. A probléma általában szórt alappontokon vett mérési adatok (terepitiagasság, vízmélység, szivárgási tényező, vezetőképesség, szélse­besség stb.) kiértékelésekor lép fel. A fenti probléma egy szokásos megoldása az ún. inverz távolság módszer (vagy Shepard-módszer, ld. Franké [1982]). Eszerint legyen az f(x,y) interpolációs függvény a következő alakú: MxjY- = (R k-^ k(x,y)) + fk • wiÁx,y) Ax,y): = ahol k-1 2 w k{x,y) k-l *> k(x,y): = [(x-x k) 2 + (y-y k) 2r (*= 1,-^0 (4) (5) valamilyen a>0 paraméter mellett: általában a=l. A w k súlyfüggvény végtelenné válik az (x^y^ alappont­ban, és csak ott: éppen ez biztosítja azt, hogy a (3) interpolációs egyenletek kielégítettek legyenek. Megje­gyezzük, hogy ha a>l/2, akkor a (4) interpolációs függvény nemcsak folytonos, de folytonosan differen­ciálható is. A fenti interpolációs technika rendkívül egyszerűen megvalósítható, ám igen munkaigényes, ha az alappon­tok száma nagy (pl. több ezer vagy több tízezer). Nyil­vánvaló ui., hogy az eljárás műveletigénye 0(N • M), ahol M azon pontok száma, ahol az interpolációs függ­vényt ki kell értékelni. A jellemző az, hogy M és N ugyanabban a nagyságrendben vannak, ekkor az inter­poláció 0(N 2) műveletszámot követel, ami megenged­hetetlenül naggyá nő, ha N nagy. A (4) kifejezésben olyan w k súlyfüggvények szere­pelnek, melyek értéke gyorsan csökken az (x^y^) alap­ponttól távolodva, de sehol sem válik zérussá. így (4) jobb oldalán szereplő összegekben minden tagot ki kell számítani, jóllehet, ezek közül csak néhány az, amely lényegesen befolyásolja az interpolált értéket (ti. az (x, y) ponthoz „elég közeli" pontok). Az eljárás művelet­igénye tehát lényegesen csökkenthető, ha a (4)-ben olyan w k súlyfüggvényeket szerepeltetünk, melyek ér­téke azonosan 0 egy bizonyos, R k sugarú, (x^yt) kö­zéppontú körön kívül. Ilyen súlyfüggvények könnyen találhatók, pl. legyen R k . d k{x,y) ahol d k(x,y) legyen a d k(x,y): = [(x-xO 2 + (y-y k) 2r távolság, z + pedig jelentse a z szám pozitív részét, azaz ,z, ha z > 0 : = \0, ha z < 0 Ekkor w k(x,y) eltűnik, ha az (x,y) pont a k-adik alapponttól legalább távolságra van, mindazonáltal w k folytonosan differenciálható (az alappont kivételé­vel, ahol is végtelenné válik). Ilyen súlyfüggvényeket használva (4)-ben, a szüksé­ges műveletszám tetemesen csökkenthető. A probléma most már az, hogy minden egyes (x,y) pont esetében el kell dönteni - méghozzá gyors algoritmusai —, hogy mely alappontok esnek „elég közel" ehhez a ponthoz. Ennek eldöntése maga sem triviális feladat. A kézen­fekvő megoldás, ti. az összes | (x,y) - (x k,y k) | távolság összehasonlítása nem kielégítő, mert ez maga is O(N) műveletigényű, ami összességében O(N M) műveletel jelent az összes kiértékelendő pontot tekintve. A probléma egy lehetséges megoldását a QT-algo­ritmus adja. Generáljunk egy QT-hálót az interpolációs alappontokat mint vezérlő ponthalmazt használva. Min­den (x k,yij alappont esetén legyen R k az a legkisebb sugár, hogy az (x^yíj középontú, R k sugarú kör még lefedi az alappontot tartalmazó cellát és annak összes szomszédját (beleértve a sarok-szomszédokat is). Köny­nyen látható, hogy ily módon a (4)-beli összegekben a nem zérus tagok kiválasztását egy szomszédkeresési algoritmusra vezettük vissza. Ennek műveletigénye az előzőek szerint pedig csak kb. O(logN), ami, nagy N esetén, a számítási munka lényeges csökkentését ered­ményezheti. Végeselem-háló generálása Utolsó példaként röviden vázoljuk, hogy a QT algorit­must hogyan lehet a hagyományos végeselem techni­kában mint hálógeneráló módszert használni. Bilineáris bázisfüggvényeket használva, a QT-hálók változtatás nélkül alkalmasak a végeselem megközelí­tésére. Ekkor az adott feladat megoldását olyan függ­vények formájában keressük, melyek egy-egy cella fe­lett bilineárisak, a cellaoldalak felett pedig lineárisak. Az ismeretlen csomóponti értékek a cellák csúcspont­jaihoz vannak rendelve. A QT-háló regularitását nem kell feltenni, mindazonáltal a nagyobb pontosság és a strukturális egyszerűség kedvéért célszerű reguláris há­lókat alkalmazni. Az 5. ábra egy reguláris QT-háló­részletet ábrázol, melyen a megfelelő bázisfüggvényt fogjuk definiálni. Az egyszerűség kedvéért csak a cella keleti oldalán tételeztünk fel más méretű, éspedig ki­sebb oldalszomszédot. Válasszuk az SW csomópontot egy lokális koordinátarendszer origójának, a koordiná­tarendszer egységét pedig válasszuk meg úgy, hogy a C cella oldalhossza egységnyi legyen. Ebben a lokális koordinátarendszerben keressük a közelítő megoldást az alábbi alakban:

Next

/
Oldalképek
Tartalom