Numerikus módszerek 2 (MSc) Horváth Róbert Budapesti Műszaki és Gazdaságtudományi Egyetem Természettudományi Kar Matematika Intézet Anaĺızis Tanszék 2015. tavasz
1. Tantárgyismertető
Hasznos információk Elérhetőségeim: e-mail: rhorvath@math.bme.hu, Iroda: H.24/b Fogadóóra: Hétfő 9-10 óra (az irodámban). Gyakorlat: Beadandó feladatok, programok. A feladatok teljesítése és jelenlét szükséges az aláíráshoz. Előadás: követelmények ismertetése Vizsgák: vizsga módja, vizsgára bocsátás feltétele Jegyzet: órai jegyzet, Horváth, Izsák, Karátson, Parciális differenciálegyenletek numerikus módszerei, elektronikus jegyzet, 2013, az előadás diái, interneten szereplő anyagok: www.math.bme.hu/~rhorvath
Felhasznált irodalom - Arent, Urban, Partielle Differenzialgleichungen, Spektrum, 2010. - Larry J. Segerlind, Applied finite element analysis, John Wiley and sons, 1984. - Morton, Mayers, Numerical solutions of partial differential equations, Cambridge University Press, 2005. - Alfio Borzi, Introduction to multigrid methods, Institut für Mathematik und Wissenschaftliches Rechnen, Graz (http://www.kfunigraz.ac.at/imawww/borzi/mgintro.pdf) - C. Johnson, Numerical solutions of PDEs by the finite element methods, Dover Publications 2009. - Stoyan Gisbert, Matlab, Typotex 2005. - Stoyan Gisbert, Takó Galina, Numerikus módszerek II-III, Typotex. - Faragó, Horváth, Numerikus módszerek BSc, egyetemi jegyzet (honlapomról letölthető).
2. Bevezetés
Mivel foglalkozik a numerikus matematika? A numerikus matematika a folytonos matematika problémáinak megoldásához konstruál algoritmusokat és elemzi azokat (pontosság, hatékonyság, viselkedés a számítógépes megvalósítások során). A folytonos matematikai problémák általában valamilyen más tudományág problémáinak matematikai modelljei (fizika, biológia, közgazdaságtan, stb.).
Modellalkotás A valódi probléma Tudományos modell Matematikai modell PDE Numerikus modell Számítógépes modell
Néhány példa (tud. és mat. modellek) A boldog családok hasonlók egymáshoz; minden boldogtalan család, a maga módján az. (Tolsztoj) Transzportegyenletek: Pl. A keresztmetszetű csőben folyadék áramlik, oldott anyag sűrűsége u(t, x). Egy [x, x + x] csődarabot tekintünk a [t, t + t] időintervallumban. Mérlegegyenlet (megmaradási törvény): Tömegváltozás = Beáramló - Kiáramló + Forrás ψ(t, x): fluxus: egységnyi keresztmetszeten, egységnyi idő alatt átáramló anyag. f(t, x): forrás: időegység alatt egységnyi térfogatban keletkező anyag.
Néhány példa (tud. és mat. modellek) = t+ t x+ x x A(u(t + t, y) u(t, y)) dy = A(ψ(τ, x) ψ(τ, x + x)) dτ + t+ t x+ x t t x u t(t, x) + ψ x(t, x) = f(t, x) Af(τ, y) dydτ Speciális esetek: ψ(t, x) = cu(t, x) lineáris transzportegyenlet u t(t, x) + cu x(t, x) = f(t, x), (advekció-reakció egyenlet) u t(t, x) + cu x(t, x) λu(t, x) = 0
Néhány példa (tud. és mat. modellek) ψ(t, x) = αu(β u) Burgers-egyenlet (közlekedési dugó modell). A v(t, x) = β 2u(t/α, x) változócserével v t(t, x) + v(t, x)v x(t, x) = 0. Diffúzió, hővezetés Fourier-törvény, Fick-törvény: ψ(t, x) = ku x(t, x) Hullámegyenlet Newton 2. törvénye: u t(t, x) = ku xx(t, x) + f(t, x). u tt = c 2 u xx + f(t, x).
Néhány példa (tud. és mat. modellek) Ugyanezek magasabb térdimenzióban: - Transzportegyenlet: u t(t, x) + ψ(t, x) = 0. - ψ(t, x) = c bu(t, x) u t(t, x) + c b u(t, x) = 0. - Diffúzió, hővezetés u t(t, x) = k u + f(t, x). Spec.: ( u = f Poisson-egyenlet, u = 0 Laplace-egyenlet) - Hullámegyenlet u tt(t, x) = c 2 u + f(t, x).
Néhány példa (tud. és mat. modellek) Black Scholes-egyenlet Opcióárazás egyenlete: Navier Stokes-egyenlet V t + 1 2 σ2 S 2 V SS + rsv S rv = 0 Nemösszenyomható folyadék áramlása: ϱ ( v t + v v ) = p + µ v + f.
Néhány példa (tud. és mat. modellek) Maxwell-egyenletek Elektromágneses tér leírása: (εe) = H σe J e, t (µh) = E, t (εe) = 0, (µh) = 0. Schrödinger-egyenlet i Φ t = 2 Ψ + V (t, x)ψ. 2m A PDE-ket kezdeti- és peremfeltételek teszik korrekt kitűzésűvé.
3. Módszertípusok
Módszertípusok áttekintése I. Véges differenciák módszere II. Integrálmódszerek Variációs módszer (Ritz-módszer) Súlyozott reziduum módszerek - Kollokációs módszer - Véges térfogat módszer (vagy résztartomány módszer) - Galjorkin-módszer - Momentumok módszere - Legkisebb négyzetek módszere Megj.: Ha az integrálmódszerekben a tesztfüggvényeket kis tartójú, szakaszonként polinomiális függvényeknek választjuk, akkor végeselem módszerről beszélünk.
Egy egydimenziós peremértékfeladat Lehajló rúd egyenlete: y = M(x) EI M 0, y(0) = y(h) = 0. A pontos megoldás: y(x) = M 0 2 (x2 Hx), a rúd közepén a lehajlás y(h/2) = M 0H 2 = 0.125M 0 H 2. 8
Véges differenciák módszere Az ismeretlen függvényt rácsfüggvénnyel közeĺıtjük, a deriváltakat pedig véges differenciákkal. Az így nyert egyenletrendszert megoldjuk az ismeretlen rácsfüggvényértékekre. Legyenek Q = tridiag [ 1, 2, 1] R n n, h = H/(n + 1), n N, x k = kh (k = 0,..., n + 1). y k közeĺıtse az y(x k ) függvényértéket. Ekkor a 1 h 2 Qy = M 0e egyenletrendszert kell megoldani. n=101 esetén a megoldásvektor középső eleme: y 51 = 0.124999999999999M 0 H 2 M 0 H 2 /8. (lásd: Numerikus módszerek 1.)
Integrálmódszerek Tesztfüggvények V h N dim. vektorteréből választjuk ki valamilyen szempontból a legmegfelelőbbet a tesztfüggvényeket megfelelő integrálokba helyettesítve. Variációs módszer: A differenciálegyenletet egy variációs feladat Euler Lagrange-egyenleteként fogjuk fel, majd a kapott funkcionált minimalizáljuk a tesztfüggvények halmazán.
Integrálmódszerek Súlyozott reziduum módszer: Az Lu = f (u a pontos megoldás) általános alakú feladat esetén a reziduum: r = f Lu. Így az w(x)r(x) dx = 0 Ω egyenlőség minden w(x) ún. súlyfüggvényre fennáll, ha a reziduumot a pontos megoldással számítjuk. A súlyozott reziduum módszerben a fenti egyenlőséget követeljük meg N adott súlyra (w i (x)) a tesztfüggvényekre. Olyan φ(x) tesztfüggvényt keresünk tehát, amire I i (φ(x)) = w i (x)r(φ(x)) dx = 0, i = 1,..., N. Ω
Variációs módszer Walter Ritz (1878-1909) svájci elméleti fizikus. I(φ(x)) = H 0 ( ) 1 2 (φ (x)) 2 + M 0 φ(x)) φ(x) = y(x)-re minimum a V = {φ : C 2 [0, H], φ(0) = φ(h) = 0} halmazon y(x) megoldása a φ = M 0, y(0) = y(h) = 0 peremértékfeladatnak (Euler Lagrange-egyenlet). dx
Variációs módszer Legyen a próbafüggvények halmaza most V h = {φ : [0, H] R φ(x) = A sin(πx/h), A R}. Minimalizáljuk az I funkcionált V h -n. Legyen φ A V h. Ekkor H ( 1 ( π ( πx )) 2 ( πx ) ) I(φ A (x)) = 2 H cos + M0 A sin dx H H Minimális, ha 0 = π2 4H A2 + 2M 0H A. π A = 4M 0H 2 π 3, azaz a φ(x) = 4M 0H 2 ( πx ) π 3 sin H függvényre. Maximális lehajlás 4M 0H 2 π 3 = 0.129006M 0 H 2.
Kollokációs módszer N tetszőleges pontban a tartományon belül legyen a reziduum nulla. Integrálalakban is feĺırható a w i (x) = δ xi (x) Dirac-féle függvény segítségével. (x i -ben 1, máshol nulla az értéke, és egy adott függvénnyel vett szorzatának integrálja a függvény x i -beli értéke.) I i (φ(x)) = δ xi (x)r(x) dx = r(x i ) = 0, i = 1,..., N. Ω
Kollokációs módszer A példabeli reziduum: r(x) = M 0 y (x). A tesztfüggvényeken az alakja ( π ) 2 ( πx ) r(x) = M 0 + A sin. H H Az x = H/2 felezőpontban akkor ad ez nullát, ha Ekkor a közeĺıtő megoldás tehát Maximális lehajlás A = H2 M 0 π 2. φ(x) = H2 M 0 π 2 sin 0.1013M 0 H 2. ( πx ), H
Véges térfogat módszer (vagy résztartomány módszer) A tartományt diszjunkt résztartományokra osztjuk: Ω = Ω 1... Ω N és a w i (x) = χ Ωi (x) (i = 1,..., N) karakterisztikus függvényeket választjuk súlyoknak: I i (φ(x)) = χ Ωi (x)r(x) dx = r(x) dx = 0, i = 1,..., N. Ω Ω i A példában csak egy résztartomány van: H 0 r(x) dx = H 0 ( π M 0 +A H ) 2 ( πx ) sin H dx = M 0 H+ 2Aπ H = 0. A értéke tehát A = M 0 H 2 /(2π) = 0.1592M 0 H 2, ez a max. lehajlás. Közeĺıtő megoldás φ(x) = M 0H 2 2π ( πx ) sin. H
Galjorkin-módszer Borisz Grigorjevics Galjorkin (1871-1945) orosz mérnök / matematikus. V h bázisa legyen φ 1,..., φ N, és a közeĺıtő megoldást keressük φ = k c kφ k (x) alakban. A súlyfüggvényeket válasszuk a bázisfüggvényeknek! I i ( c k φ k (x)) = φ i (x)r(x) dx = 0, i = 1,..., N. k Ω Ez a módszer a végeselem módszer alapja.
Galjorkin-módszer A példában: = H 0 φ 1 (x) = sin I 1 (Aφ 1 (x)) = sin H 0 ( πx ). H ( πx ) ( ( π M 0 + A H H = Aπ2 2H + 2M 0H π φ 1 (x)r(x) dx ) 2 ( πx ) ) sin dx H = 0. A értéke tehát A = 4M 0 H 2 /π 3 (mint a Ritz-módszernél), ez a max. lehajlás. Közeĺıtő megoldás φ(x) = 4M 0H 2 π 3 sin ( πx ). H
Momentumok módszere w i (x) = x i 1, i = 1, 2, 3,... A példában most w i (x) = 1 és egy intervallum van csak, így ugyanazt kapjuk, mint a véges térfogat módszer esetén. A értéke tehát A = M 0 H 2 /(2π) = 0.1592M 0 H 2, ez a max. lehajlás. Közeĺıtő megoldás φ(x) = M 0H 2 2π ( πx ) sin. H
Legkisebb négyzetek módszere Az I(φ(x)) = Ω (r(x)) 2 dx min. feladat megoldását keressük. Ha V h a φ i bázisfüggvények lineáris kombinációja és a megoldást φ(x) = k c kφ k (x) alakban keressük, akkor a minimumhelyen a c k ismeretlenek szerinti deriváltaknak nullának kell lenniük. Innét kapjuk a 2 Ω r(x) r(x) c i dx = 0, (i = 1,..., N) egyenlőségeket. Azaz a reziduum deriváltjai a súlyok ebben a módszerben (w i (x) = r/ c i ).
Legkisebb négyzetek módszere A feladatban: I(φ A (x)) = H 0 ( ( π M 0 + A H ) 2 ( πx ) ) 2 sin H dx = A2 π 4 2H 3 + 4M 0πA H + M 2 0 H min. Minimum A = 4M 0H 2 π 3 esetén. Ez a max. lehajlás (mint a Ritz-módszernél), a közeĺıtő megoldás pedig φ(x) = 4M 0H 2 π 3 sin ( πx ). H
Megjegyzések Önadjunált operátorok esetén a Ritz- és Galjorkin módszerek ugyanazt az eredményt adják. Végeselem módszernek hívunk egy integrálmódszert, ha a tesztfüggvények szakaszonként folytonos függvények (a bázis tesztfüggvények tartója kicsi az egész tartomány méretéhez képest). Általában a Galjorkin-módszert szokták használni ebben az esetben. Természetesen eddig csak közeĺıtő megoldásokat álĺıtottunk elő, de nem foglalkoztunk azzal, hogy mekkora a közeĺıtő megoldás hibája. Ezt a kérdést majd később a konkrét feladatoknál fogjuk vizsgálni.
4. Az advekciós egyenlet megoldása (véges differencia)
Az advekciós egyenlet 1D-ban Advekciós egyenlet u t(t, x) + cu x(t, x) = f(t, x), kiegészítve a megfelelő kezdeti- és peremfeltételekkel; c az áramlás sebessége. Egzakt megoldása a karakterisztikus görbék segítségével történik. A megoldás grafikonja összerakható a t(s) 1 d x(s) = c ds u(t(s), x(s)) f(t(s), x(s)) KDER megoldásgörbéiből ([t(0), x(0), u(t(0), x(0))] T adott vektor).
Karakterisztikák Legyen u(0, x) = u 0 (x) adott kezdeti függvény. Ha c = c(t, x) x-ben Lipschitz-folytonos és t-ben folytonos, akkor a karakterisztikák nem metszik egymást. Ha f 0, akkor u konstans a karakterisztikákon. Ekkor, ha c = c(u), akkor egyenesek a karakterisztikák (u(t, x) = u 0 (x c(u(t, x))t)), c konstans esetén párhuzamosak (u(t, x) = u 0 (x ct)).
Első próbálkozás Numerikus megoldási módszerek lehetnek: Véges térfogat módszer (nem vizsgáljuk), a KDER numerikus megoldása (több változóban komplikált), véges differencia módszer. Vizsgáljuk az alábbi feladatot: Konstans sebességes advekció, periodikus peremmel u t(t, x) + cu x(t, x) = 0, u 0 (x) adott, u(t, 0) = u(t, 1).
Első próbálkozás Rácshálót definiálunk a megoldási tartományon (Uj k u(j t, k t)). FTCS-séma: (k = 0, 1,... ; j = 1,..., n) U k+1 j U k j t + c U k j+1 U k j 1 2 x = 0.
Első próbálkozás A q = c t/ x és U k h = [U k 1,..., U k n] T választással a séma az alábbi vektoriterációs alakot ölti: U k+1 h = 1 q/2 q/2 q/2 1 q/2......... q/2 1 q/2 q/2 q/2 1 Próbáljuk ki u 0 (x) = sin(2πx) kezdeti feltétellel (c = 1)! transeq(n,dt,kmax)=transeq(30,0.05,400) Látható, hogy valami nem stimmel a módszerrel. Mi lehet a rossz viselkedés oka? U k h
Lax ekvivalencia tétele Konvergencia: A rács finomításával a numerikus megoldás tart a pontos megoldáshoz. Stabilitás: Kicsit változtatva a kezdeti feltételen a megoldás nem változhat bármekkorát a rács finomításával. Konzisztencia: A séma képlethibája nullához tart, ha a rácstávolságok nullához tartanak. Lax ekvivalencia tétele: Korrekt kitűzésű feladatokra konstruált konzisztens numerikus sémák pontosan akkor konvergensek, ha stabilak.
CFL-feltétel Richard Courant (1888-1972) német származású (amerikai) matematikus Kurt Otto Friedrichs (1901-1982) német származású (amerikai) matematikus Hans Lewy (1904-1988) német származású (amerikai) Wolf-díjas matematikus Courant, R.; Friedrichs, K.; Lewy, H. (1928), Über die partiellen Differenzengleichungen der mathematischen Physik (in German), Mathematische Annalen 100 (1): 32-74.
CFL-feltétel Piros pontok: A P pontbeli numerikus megoldás függőségi halmaza. Kék vonal: A P pontbeli pontos megoldás függőségi halmaza. CFL-feltétel: A numerikus séma, csak akkor lehet konvergens, ha numerikus függőségi halmaza tartalmazza a pontos megoldás függőségi halmazát (szükséges a konvergenciához).
CFL-feltétel A mintapéldában: A karakterisztika meredeksége: 1/c A numerikus függőségi tartomány oldalainak meredeksége t/ x. A CFL-feltétel teljesül, ha q = c t x 1. (q elnevezése: CFL-szám.) A példában q = 1.5, azaz nem teljesül a feltétel. transeq(n,dt,kmax)=transeq(30,0.01,1200) Most már teljesül, de még mindig valami nem jó. Tudjuk, hogy a CFL-feltétel csak szükséges feltétel a konvergenciához.
Diszkrét Fourier-anaĺızis A numerikus sémát kielégítik az alábbi komplex számok: U k j = g k e ijl x, ha g g(l x) = 1 qi sin(l x) (g: növekedési faktor, amplification factor). Vegyük észre, hogy g 2 = 1 + q 2 sin 2 (l x), amely általában nagyobb lesz, mint 1, azaz általában a Fourier-összetevők amplitúldója növekszik. Azaz rögzített q mellett finomított rácshálón a számításokra rakódó hiba növekszik, így nem lehet a módszer stabil. A FTCS-séma nem használható, mert nem stabil. A CFL-feltételt viszont kielégíti.
Upwind séma Egy egyszerű és konvergens séma (előző időrétegen való lineáris interpolációból): U k+1 j = { U k j q(u k j+1 U k j ) = (1 + q)u k j qu k j+1, c < 0, U k j q(u k j U k j 1 ) = (1 q)u k j + qu k j 1, c 0. CFL-feltétel: teljesül, ha q 1. Diszkrét Fourier: g g(l x) = 1 q (1 e il x ), azaz g 2 = 1 4 q (1 q ) sin 2 (l x/2). Azaz a CFL-feltétel mellett stabil is a séma (most ez elégséges is), azaz konvergens is (konzisztencia miatt).
Az upwind séma konvergenciája (c > 0 esete) Legyen a pontos megoldás jelölése: u k j = u(k t, j x) (hasonlóan a deriváltakra is). Tegyük fel, hogy a megoldás másodrendű deriváltjai folytonosak, azaz ebben az esetben korlátosak is a megoldási tartományon: [0, t max ] [0, 1]. Képlethiba: tehát T k j = [ u ] k t j + 1 2 := uk+1 j t[ u tt }{{} c 2 u xx u k j + c uk j uk j 1 t x ] k j + c ( [u x] k j 1 2 x [ u xx T k j 1 2 c x(1 q)m xx, ) ] k, j ahol M xx felső becslés a megoldás x szerinti második deriváltjára a tartományon.
Az upwind séma konvergenciája (c > 0 esete) Legyen a hiba jelölése: e k j = uk j U j k. Ekkor a numerikus séma és a képlethiba képletének kivonásával kapjuk, hogy e k+1 j e k j t + c ek j ek j 1 x = T k j, azaz az e k h = [ek 1,..., ek n] T és T k h = [T k 1,..., T k n ] T jelölésekkel 1 q q q 1 q e k+1 h =...... e k h ttk h q 1 q
Az upwind séma konvergenciája (c > 0 esete) Az iterációs mátrix maximumnormája 1, így adódik a e k h t( T 0 h +... + T k 1 h ) tk 1 2 c x(1 q)m xx t max 1 2 c x(1 q)m xx becslés, ami mutatja a séma elsőrendű konvergenciáját. transeq upwind(50,0.01,800) Megj.: A bizonyításhoz felhasználtuk a megoldás kellő simaságát. Ha a kezdeti feltétel nem elég sima, akkor ez nem teljesül. Ilyenkor más módszerek kellenek a konvergencia vizsgálatához.
Az upwind séma Fourier-anaĺızise λ: hullámhossz, λ = 2π/l (l: hullámszám) f: frekvencia, ω = 2πf: körfrekvencia Hullám sebessége: v = λf = ω/l Így egy szinuszhullám feĺırható az u(t, x) = A 0 e i(lx ωt) alakban. Ez a hullám kielégíti az advekciós egyenletet, ha c = ω/l (haladási sebessége éppen c). Amplitúdó állandó. t alatt a fázisváltozás ω t = cl t = ql x.
Az upwind séma Fourier-anaĺızise A numerikus séma fáziseltolódása: U k j = g k e ijl x = e ln( g )k e i(jl x+arg(g)k) Látható, hogy g 1 esetén változik az amplitúdó és a fázisváltozás t idő alatt arg(g). Lemma. arctg(c 1 p + c 2 p 2 + c 3 p 3 + c 4 p 4 +...) = c 1 p + c 2 p 2 + (c 3 c 3 1/3)p 3 + (c 4 c 2 1c 2 )p 4 +....
Az upwind séma Fourier-anaĺızise Az upwind séma esetén: g = 1 q (1 e il x ), melyre g = 1 4 q (1 q ) sin 2 (l x/2). A 1 x = 1 x/2 x 2 /8 x 3 /16... sorfejtés miatt ez azt mutatja, hogy az amplitúdó hibája (l x) 2 -tel arányos. Mivel g = (1 q) + q cos(l x) iq sin(l x), emiatt az argumentum q sin(l x) arg(g) = arctg (1 q) + q cos(l x) = ql x(1 (1 q)(1 2q)(l x) 2 /6 +...).
Lax Wendroff-séma Lax Péter (1926, Budapest), magyar származású amerikai matematikus. Burton Wendroff (1930) amerikai matematikus.
Lax Wendroff-séma Kvadratikus interpoláció segítségével származtatható. U k+1 j = 1 2 q(1 + q)u k j 1 + (1 q 2 )U k j 1 2 q(1 q)u k j+1. transeq laxwendroff(50,0.01,1000) Növekedési faktor: g(l x) = 1 iq sin(l x) 2q 2 sin 2 ( 1 2 l x ), ahonnét g 2 = 1 4q 2 (1 q 2 ) sin 4 ( 1 2 l x ) (CFL elégséges is), arg(g) = ql x(1 (1 q 2 )l 2 x 2 /6 +...).
Leap-frog séma U k+1 j U k 1 j 2 t (indítás pl. a Lax-Wendroff sémával). + c U k j+1 U k j 1 2 x = 0 Növekedési faktor: g(l x) = iq sin(l x) ± 1 q 2 sin 2 (l x), ha a CFL-feltétel teljesül, akkor nincs csillapítás. arg(g) = ql x(1 (1 q 2 )l 2 x 2 /6 +...).
5. Elliptikus egyenletek numerikus megoldása (véges differencia)
A Poisson-egyenlet téglalapon Poisson-egyenlet 2D-ban, téglalapon, Dirichlet-peremmel u = 2 u x 2 2 u = f(x, y), (x, y) Ω := (0, a) (0, b) y2 u Γ = g(x, y), Γ := Ω. Véges differencia megoldáshoz rácsot definiálunk: Ω h := {(x, y) }{{} x ij Ω x = ih 1, y = jh 2, i = 0,..., n 1, j = 0,..., n 2 }, Ω h Ω =: Ω h, Ω h Γ =: Γ h.
A véges differencia séma Alkalmazzuk az U j i u(ih 1, jh 2 ), f ij = f(ih 1, jh 2 ), g ij = g(ih 1, jh 2 ) közeĺıtéseket, melyekkel a séma alakja a következő lesz.
A véges differencia séma Véges differencia séma, Poisson-egyenlet, téglalap, Dirichlet-perem U j i 1 2U j i + U j i+1 h 2 1 U j 1 i 2U j i + U j+1 i h 2 = f ij, x ij Ω h 2 U j i = g ij, x ij Γ h. A fenti egyenletek egy (n 1 + 1)(n 2 + 1) méretű lineáris egyenletrendszert eredményeznek ahol (φ h ) ij = A h U h = φ h, { f ij, x ij Ω h, g ij, x ij Γ h,, φ h max{ g C(Γ), f C(Ω) } és a mátrix ill. vektorok alakja attól függ, hogy hogy rendeztük a rácspontokat. A továbbiakban a sorfolytonos sorszámozást alkalmazzuk (lentről felfelé, balról jobbra).
Az A h mátrix szerkezete kék: 1 zöld: 2 h 2 + 2 1 h 2 2 piros: 1 h 2 1 narancs: 1 h 2 2
Az A h mátrix szerkezete Tétel. Az A h mátrix M-mátrix. Biz. Előjelek stimmelnek. Tekintsük a függvényt és definiáljuk a w, w(x, y) = 4 + x(a x) + y(b y) w ij = w(ih 1, jh 2 ) pozitív vektort, amit ugyanúgy rendezünk, mint az U h vektor elemeit. Erre a vektorra { 4, x ij Ω h, (A h w) ij = 4, x ij Γ h, ami pozitív vektor.
Az A h mátrix szerkezete Megj. Ha f 1 f 2 és g 1 g 2, akkor az ezekkel előálĺıtott két numerikus megoldásra érvényes (U h ) 1 (U h ) 2. Speciálisan ebből következik a nemnegativitás-megőrzési tulajdonság.
A numerikus séma konvergenciája Vezessük be az u j i jelölést az u(ih 1, jh 2 ) pontos értékekre, továbbá legyen E = max i=0,...,n1 ; j=0,...,n 2 U j i uj i. Def. A numerikus sémát konvergensnek hívjuk, ha h := max{h 1, h 2 } 0 esetén E 0. Ha E = O(h r ), akkor azt mondjuk, hogy a konvergencia rendje r. Def. A numerikus séma stabil, ha A 1 h felülről korlátos a rács finomságától függetlenül. Def. A numerikus séma konzisztens, ha képlethibája minden pontban nullához tart, ha h 0. A konzisztenciarend r, ha a képlethiba minden pontban O(h r ) nagyságrendű. Tétel. Konzisztencia + stabilitás konvergencia.
A numerikus séma konvergenciája Tétel. A numerikus séma stabil, ugyanis A 1 h 1 + a2 + b 2. 16 Biz. Az M-mátrixok inverzének maximumnormabeli becsléséből következik, hogy A 1 h 4 + a2 /4 + b 2 /4 4 = 1 + a2 + b 2. 16
A numerikus séma konvergenciája Tétel. Amennyiben a vizsgált peremértékfeladat megoldása C 4 (Ω)-beli, akkor a vizsgált numerikus séma másodrendben konzisztens. Biz. azaz T j i := uj i 1 2uj i + uj i+1 h 2 1 uj 1 i = 2 u x 2 4 xu j i h2 1 2 u 12 y 2 4 yu j 12 T j i M 4,0h 2 1 12 + M 0,4h 2 2 12 2u j i + uj+1 i h 2 2 i h2 2 Mh2 6 f ij, f ij a rácsponttól függetlenül. (Az M értékek a szokott módon a deriváltak felső becslései.) Ez mutatja a másodrendű konzisztenciát.
A numerikus séma konvergenciája Tétel. Amennyiben a vizsgált peremértékfeladat megoldása C 4 (Ω)-beli, akkor a vizsgált numerikus séma másodrendben konvergens. Biz. Legyen a képlethibák vektora megfelelően rendezve T h. Ekkor az A h U h φ h = 0 és kivonásából adódik, hogy melyből... A h u h φ h = T h A h (U h u h ) = T h,
A numerikus séma konvergenciája... U h u h A 1 h T h és a korábbi becsléseket használva U h u h (1 + a2 + b 2 ) Mh 2 16 6, amely mutatja a másodrendű konvergenciát.
Maximum-elv A folytonos feladatra: Ha f 0, akkor a megoldás a peremen veszi fel a maximumát. Igaz-e ez a numerikus megoldásra? Rendezzük át az A h U h = φ h egyenletrendszer sorait és oszlopait úgy, hogy előre kerüljenek Ω belső pontjai, és utána következzenek a határpontok. Ekkor a lineáris egyenletrendszer az alábbi alakú lesz: [ A0 A 0 E ] [ U0 U ] = [ f g ] Tétel. A numerikus séma kielégíti a maximum-elv diszkrét változatát, azaz, ha f 0, akkor max(u 0 ) max(g).
Maximum-elv Vegyük észre, hogy A 0 M-mátrix (A 1 0 0) és A elemei nempozitívak, valamint [A 0 A ][1,..., 1] T = 0, [1,..., 1] T =: [e T 0, e T ]T, azaz e 0 = A 1 0 A e. Emiatt U 0 = A 1 0 f A 1 0 A U = A 1 0 f A 1 0 A g A 1 0 f A 1 0 A e max(g) e 0 max(g).
Poisson-egyenlet Robin-peremmel Poisson-egyenlet 2D-ban, téglalapon, Robin-peremmel u = 2 u x 2 2 u = f(x, y), (x, y) Ω := (0, a) (0, b) y2 u n = σ(x, y)(u 0(x, y) u), (x, y) Γ. Tegyük fel, hogy f, σ, u 0 olyan függvények, melyekkel az egyenletnek van C 4 (Ω)-beli megoldása. A véges differenciás megoldás diszkretizációja nyilvánvalóan a belső pontokban ugyanaz, mint a Dirichlet-esetben, azaz csak a tartomány határpontjaiban kellene megadni (lehetőleg másodfokú) approximációkat.
Approximáció az oldaléleknél u j n 1 u j n 1 1 = ( 1 u) j n h 1 h 1 1 2 ( 2 1u) j n 1 + h2 1 6 ( 3 1u) j n, 1 ahol ( 1 u) j n 1 = σ n1,j((u 0 ) j n 1 u j n 1 ) a peremfeltétel miatt, és és ( 2 1u) j n 1 = ( 2 2u) j n 1 f n1,j ( 2u) 2 j n 1 = uj+1 n 1 2u j n 1 + u j 1 n 1 h 2 2 h2 2 12 ( 4 2u) j n 1 a differenciálegyenletből.
Approximáció az oldaléleknél Így a séma Un j 1 U j n 1 1 = σ n1,j((u 0 ) j n h 1 Un j 1 ) 1 ( U n j+1 1 h 1 2 2U j n 1 + U j 1 n 1 h 2 2 f n1,j ). Hasonlóan járunk el a többi oldalán a tartománynak. A képlethiba O(h 2 1 + h2 2 ).
Approximáció a sarkokban u n 2 0 un 2 1 0 = ( 2 u) n 2 0 h h 2 2 2 ( 2 2u) n 2 0 +h2 2 6 ( 3 2u) / 2 n 2 0, h 2 u n 2 1 un 2 0 = ( 1 u) n 2 0 h +h 1 1 2 ( 2 1u) n 2 0 +h2 1 6 ( 3 1u) n 2 0 / 2. h 1 A két egyenletet összeadva és kihasználva a peremfeltételt és a differenciálegyenletet, az alábbi sémát kapjuk (H = h 1 h 2 /2/(h 1 + h 2 )): H( 2 U n 2 0 U n 2 1 0 +2 U n 2 1 U n 2 0 h 2 2 h 2 1 ) = σ 0,n2 ((u 0 ) n 2 0 U n 2 0 ) Hf 0,n 2
Approximáció a sarkokban A többi sarokban is így járunk el. A képlethiba most is O(h 2 1 + h2 2 ) nagyságrendű. Tétel. Ha σ(x, y) σ 0 > 0 és az f, σ, u 0 függvények elég simák ahhoz, hogy a feladat u megoldása C 4 (Ω)-beli legyen, akkor a differenciasémánk másodrendben konvergál a pontos megoldáshoz. Biz. A konzisztencia az approximációs képletekből látható. A stabilitás a korábbi M-mátrixos technikával igazolható az ( a 2 + b 2 U h + 4 + a + b ) φ 16 4σ h 0 alakban.
Nem téglalap alakú tartományok Mit lehet tenni, ha nem téglalap alakú az Ω tartomány? A peremértékeket a rácspontokban közeĺıtjük (elveszik a másodrendű konvergencia).
Nem téglalap alakú tartományok Sűrítjük a rácsot. Hozzávesszük rácspontnak a rács és a perem metszéspontjait (Shortly Weller-approximáció). Téglalapba transzformáljuk a tartományt.
Shortly Weller-approximáció részletesebben A belső pontokban ugyanaz a közeĺıtés, mint korábban, a peremen pedig ( 2 U j i+1 U j i h 1 + h+ 1 h + U j i U j ) i 1 1 h 1 ( ) 2 U j+1 + h i U j i 2 + h+ 2 h + U j i U j 1 i 2 h = f ij. 2 Ezen egyenletek egy egyenletrendszerre vezetnek: A S,h U h = φ h, érvényes a A 1 S,h 1 + 1 4 (diam(ω))3 stabilitási becslés. Ha u C 4 (Ω), akkor a módszer másodrendben konvergens lesz.
6. Többrácsos módszerek
A megoldandó lineáris egyenletrendszer [ A0 A 0 E ] [ U0 U ] = [ f g Olyan egyenletrendszert kell tudnunk megoldani, melynek együtthatómátrixa A 0. Ez egy szimmetrikus M-mátrix. Tétel. A szimmetrikus M-mátrixok pozitív definitek. Biz. Jelölje a mátrixot M. Szimmetrikus mátrix minden sajátértéke valós. Azt kell megmutatni, hogy mindegyik pozitív. A főátlóban álló elemek pozitívak. Legyen ezek maximuma µ, és írjuk fel M-et M = µe H alakban, ahol H nyilvánvalóan nemnegatív mátrix. Így a fenti feĺırás egy nemnegatív inverzű mátrix (az M mátrixok ilyenek) egy reguláris felbontása. Azaz ϱ((1/µ)h) < 1, ami azt jelenti, hogy ϱ(h) < µ. Ha H sajátértékeit λ k jelöli, akkor M µ λ k alakú sajátértékei nyilván pozitívak. ]
Szimmetrikus, pozitív definit mátrixú lineáris egyenletrendszerek megoldása Az egyenletrendszer azon túl, hogy szimmetrikus, pozitív definit mátrixú, még ritka mátrixú is, így jól működnek az iterációs módszerek is rá. Lehetséges megoldási módszerek: Gauss-módszer (2N0 3 /3, nem praktikus) Cholesky-felbontás (N0 3/3) Jacobi- és Gauss-Seidel ill. relaxált változatai (N0 2 ln(1/ε), ε: elérni kívánt pontosság a leállási feltételben) Konjugált gradiens módszer (N 3/2 0 ln(1/ε)) Többrácsos módszer. 1960-as évek, Fedorenko (1962), Bakvalov (1966). Használjuk ki, hogy az egyenletrendszer egy elliptikus feladat diszkretizációjából keletkezett!
Iterációk simító tulajdonsága
Iterációk simító tulajdonsága Egydimenziós peremértékfeladat u (x) = f(x), x (0, 1), u(0) = g 1, u(1) = g 2 A szokásos véges differenciás közeĺıtés során megoldandó lineáris egyenletrendszer: 2 1 1......... 1 1 2 U 1 U 2. U n = h2 f 1 + g 1 /h 2 f 2. f n 1 f n + g 2 /h 2 vagy tömörebben A h U h = φ h.
Iterációk simító tulajdonsága Oldjuk meg az A h U h = φ h egyenletrendszert a relaxált Jacobi-iterációval. Ekkor az U (k+1) h iterációt kapjuk. = ((1 ω)e + ωd 1 (L + R))U (k) h = (E ωd 1 (D } {{ L R } )) A h } {{ } B J (ω) U (k) h + ωd 1 φ h + ωd 1 φ h A konvergenciához a ϱ(b J (ω)) < 1 feltételnek kell teljesülni. A h sajátrendszere: v l = sin(lπhj), j = [1,..., n] T, λ l (A h ) = 2 2 cos(lπh) l = 1,..., n. Így B J (ω) sajátrendszere: v l, λ l (B J (ω)) = 1 ω(1 cos(lπh)), azaz, ha ω (0, 1], akkor a JOR-módszer konvergens lesz.
Iterációk simító tulajdonsága Megj. Vegyük észre, hogy ha pl. ω = 1, akkor ϱ(b J (ω)) = cos(πh) 1, ha h 0, azaz egyre lassabban konvergál a Jacobi-módszer. A többrácsos módszerek esetén nem a határérték előálĺıtása a cél, hanem a közeĺıtő megoldás simítása azért, hogy az jól közeĺıthető legyen egy durvább rácson. tobbracsos(f,n), f=16,1, n=5,10,30,60,160 tobbracsosjor(omega,n,kmax), (omega=0.1,2/3,1, n=10,100, kmax=1500) A magas frekvenciájú sajátvektorokat kellene gyorsan csökkenteni. Alacsony frekvenciás összetevők (LF): 1 l < n/2. Magas frekvenciás összetevők (HF): n/2 l n. Def. µ legyen az a legnagyobb tényező, amennnyivel a HF összetevők csökkennek egy iterációban. µ-t simítási tényezőnek nevezzük.
Iterációk simító tulajdonsága µ = max{ λ k (B J (ω)) n/2 l n} = max{ 1 ω, 1 2ω } Ez akkor lesz minimum, ha ω = 2/3, és a minimum értéke µ = 1/3. Azaz a HF összetevők 2 iteráció alatt a tizedükre csökkennek, annak ellenére, hogy a konvergencia lassú lehet a finom rácson. Ha a HF összetevők kicsik már, akkor a hibavektor jól közeĺıthető egy durvább rácson is.
A kétrácsos módszer
A maradékegyenlet Térjünk vissza a kétváltozós Poisson-egyenletből származtatott A h U h = φ h egyenletrendszer megoldásához! Végezzünk el néhány iterációs lépést valamilyen simító iterációval valamilyen kezdővektorról indulva. Kapjuk ekkor az Ũh vektort. Ekkor az e h = U h Ũh hibavektor egy sima vektor lesz, és érvényes rá az A h e h = A h (U h Ũh) = φ h A h Ũ h =: r h (maradékvektor), egyenlőség (ún. maradékegyenlet), ami megoldható e h -ra. De mivel a jobb oldala és a megoldása is sima az egyenletrendszernek, jó közeĺıtést kapnánk akkor is, ha egy durvább rácson (H = 2h) oldanánk meg egy ugyanilyen egyenletrendszert.
Restrikció Térjünk át a durvább rácsra: r H = Rh Hr h. Ezt egy ún. restrikciós operátorral valósíthatjuk meg: Rh H. Ez általában valamilyen súlyozott vetítés. 1 8 0 1 0 1 4 1 0 1 0 Teljes és részleges súlyozás: 1 2 1 1 2 4 2 16 1 2 1 Megoldjuk az A H e H = r H egyenletet, ahol A H a differenciáloperátor közeĺıtése a durvább rácson.
Prolongáció e H hibavektort visszavetítjük a finomabb rácsra. Ezt egy prolongációs P h H operátorral tesszük meg, amely általában valamilyen interpolációt jelent: e h = P h H e H.
Course Grid Correction (CGC) Adunk egy jobb közeĺıtést U h -ra: u new h = Ũh + P h He H. Megj.: Az interpoláció miatt megjelenhetnek HF összetevő, amiket egy újabb simítási ciklussal lehet eltüntetni. A bemutatott eljárás egy V-alakú sémában foglalható össze (V-ciklus).
V-ciklus Megj.: Természetesen a V-ciklusból többet kell végrehajtani ahhoz, hogy a pontos megoldást kellően megközeĺıtsük. Lemma. A V-ciklus iterációs mátrixa (S h a simítás): S k 2 h (E Ph HA 1 H RH h A h)s k 1 h, ezen mátrix spektrálsugara kisebb 1-nél, azaz konvergens. Lemma. Csak önmagában a CGC nem konvergens. Biz.: Mátrixa E P h HA 1 H RH h A h, ahol P h H A 1 H RH h A h nem invertálható, így egyik sajátértéke nulla. Így a mátrixnak 1 sajátértéke lesz, azaz spektrálsugara legalább 1.
A többrácsos módszer (multigrid)
A többrácsos módszer alapgondolata Ötlet: Az egyenlet durva rácson való megoldásához használjuk egy újabb V-ciklust egy még durvább ráccsal. Több rácsot definiálunk: h 1 > h 2 = h 1 /2 > h 3 = h 2 /2 >... h L > 0 (L szintek száma). Legyne a k-adik szinten n k a feladat mérete. A k-adik szinten az A k U k = φ k egyenletrendszert kell megoldanunk. A restrikciós operátor legyen R k 1 k és a prolongáció P k k 1.
A többrácsos módszer algoritmusa Oldjuk meg az A k U k = φ k egyenletrendszert. 1. Ha k = 1, akkor oldjuk meg közvetlenül az egyenletrendszert. 2. Elősimítás, k 1 darab lépés Ũk. 3. Maradék kiszámítása: φ k A k Ũ k = r k. 4. A maradék restrikciója: r k 1 = R k 1 k r k. 5. Legyen U k 1 = 0. 6. Hívjuk meg γ-szor a többrácsos módszert az A k 1 U k 1 = r k 1 egyenletre. 7. CGC: U k = Ũk + P k k 1 U k 1. 8. Utósimítás k 2 -szer.
A többrácsos módszer algoritmusa Def.: γ a ciklusindex, azt adja meg, hogy a durva rácson hányszor használjuk a többrácsos algoritmust. Általában γ = 1 (V-ciklus) vagy γ = 2 (W-ciklus). Lemma. A többrácsos módszer iterációs mátrixa k = 1 esetén 0, különben k = 2,..., L esetén M k = S k 2 k (E Pk k 1 (E Mγ k 1 )A 1 k 1 Rk 1 k A k )S k 1 k. Kétrácsos módszer: üres kör: pontos megoldás, teli kör: simítás, maradékszámítás, CGC
A többrácsos módszer algoritmusa Három rács esete: Négy rács esete:
Műveletszámok vizsgálata 2D Poisson-egyenlet, max. 5 nemnulla elem soronként, simításhoz lineáris vektoriteráció A k. szint műveletszáma: 1. 10k 1 n k : elősimítás 2. 10n k : maradékszámítás 3. 10n k /4: teljes restrikció 4. 6n k /4: bilineáris interpoláció 5. 10k 2 n k : utósimítás Ez összesen k 1 + k 2 = 2 esetén 34n k = Q k. Q 1 a legdurvább rácson az egyenlet pontos megoldásának műveletszáma.
Műveletszámok vizsgálata Q k legyen a k. rács műveletszáma. Ekkor Q 2 = Q 2 + Q 1, Q 3 = γ( Q 2 + Q 1 ) + Q 3, stb. k 2 Q k = γ l Qk l + γ k 2 Q1 l=0 k 2 = γ l 34n k l + γ k 2 Q1 l=0 k 2 = γ l n k 34 4 l +γ k 2 Q1 l=0 }{{} 2D probléma k 2 ( γ ) l = 34n k + γ k 2 Q1 4 l=0 34n k 1 1 γ/4 = O(n k)
Megjegyzések Megj.: γ = 1 esetén Q k 40n k, γ = 2 esetén Q k 68n k és γ = 3 esetén Q k 136n k Megj.: A 2D Poisson-feladatra csak a γ 3 esetek praktikusak Megj.: Kétrácsos módszer esetén, vagy több rácsra γ = 1, 2 esetén a konvergencia tényező µ k 1+k 2 a h rácstávolságtól függetlenül.
7. Másodrendű, időfüggő, lineáris PDE-ek megoldása a véges differencia módszerrel
A hullámegyenlet Az egydimenziós hullámegyenlet A pontos megoldás 2 u t 2 = c2 2 u x 2, u(0, x) = u 0 (x), u t (0, x) = u 1(x). u(t, x) = 1 2 (u 0(x ct) + u 0 (x + ct)) + 1 2c x+ct x ct u 1 (y) dy. Gyakorlaton szerepelt: Véges differenciás megoldás, a kezdeti feltételek másodrendű approximációja. (CFL feltétel q 1.) A leap-frog séma.
A hővezetési vagy diffúziós egyenlet A hővezetési vagy diffúziós egyenlet 1D-ban u t = u + f + kezdeti- és peremfeltétel u t = 2 u, x (0, 1) x2 u(0, x) = u 0 (x), u(t, 0) = u(t, 1) = 0. Más egyenletek, peremfeltételek gyakorlaton
A hővezetési vagy diffúziós egyenlet A pontos megoldás előálĺıtható Fourier-sor alakban: u(t, x) = a l e l2 π 2t sin(lπx), l=1 ahol a l = 2 1 0 u 0(x) sin(lπx) dx. Problémák: a l meghatározásához általában numerikus integrálás kell. Végtelen sort kell összegezni.
Az egyenesek módszere Rácshálót definiálunk a [0,1] intervallumon: 0 = x 0 < x 1 < < x n+1 = 1, x i+1 x i = x. Vezessük be az alábbi függvényeket u j (t) u(x j, t). Ezen függvényekre közeĺıtsük a helyszerinti deriváltat véges differenciával: du j (t) dt = u j 1(t) 2u j (t) + u j+1 (t) x 2. Ez egy közönséges differenciálegyenlet rendszer, a kezdeti feltétel u j (0) = u 0 (x j ) és u 0 (t) = 0, u n+1 (t) = 0. Bármely korábban tanult közönséges differenciálegyenlet megoldó módszerrel megoldhatjuk.
Explicit Euler-módszer (EE) Oldjuk meg pl. az egyenletrendszert az explicit Euler módszerrel. Jelölje Uj k az u(x j, k t) érték közeĺıtését, ahol t > 0 egy tetszőleges időlépés. U k+1 j U k j t = U k j 1 2U k j + U k j+1 x 2, U0 k = U n+1 k = 0, U j 0 adott u 0 segítségével.
Explicit Euler-módszer (EE) A szokásos és a q = t/ x 2 jelöléssel az alábbi vektoriterációval álĺıtható elő a numerikus megoldás: U k+1 = tridiag [q, 1 2q, q] U k =: A h U k. Az alap elvárásunk az előálĺıtott numerikus eljárástól, hogy tartson a pontos megoldáshoz. Tegyük fel, hogy a feladatot a [0, t max ] időintervallumon kell megoldanunk. Legyen E k j = U k j u(k t, j x) a numerikus módszer hibája egy adott rácspontban és E k = [E k 1,..., Ek n] T.
Konvergencia, konzisztencia, stabilitás Konvergencia: Azt mondjuk, hogy a numerikus módszer konvergens, ha tetszőleges 0 < t < t max értékre, ha x, t 0, k t t, akkor E k 0 (konvergenciarend: E k = O( t r, x s )). Konzisztencia: Azt mondjuk, hogy a numerikus módszer konzisztens, ha a Tj k+1 képlethibája (lokális hiba / t) tart nullához, ha t, x 0 (konzisztenciarend: Tj k+1 = O( t r, x s )). Stabilitás: Azt mondjuk, hogy a numerikus módszer stabil, ha véges idő alatt nem változhat tetszőlegesen nagyot két megoldás eltérése a kezdeti eltéréshez képest a rács finomításától függetlenül. Most elég lesz az A h 1 feltétel. Lax-tétel: Stabilitás + konzisztencia konvergencia (konvergenciarend = konzisztenciarend)
EE-módszer konvergenciája Konzisztencia: Számítsuk ki a képlethibát! Tj k+1 = u(x j, t k+1 ) u(x j, t k ) u(xk j 1 ) 2u(xk j ) + u(xk j+1 ) t x 2 = t 2 u 2 t 2 (x j, ξ) x2 4 u 12 x 4 (η, t k). Ha a megoldás kellően sima függvény (peremfeltétellel konzisztens kezdeti feltétel is kell hozzá), akkor vannak olyan pozitív c 1, c 2 konstansok, hogy T k+1 j c 1 t + c 2 x 2. Stabilitás: Könnyen látható, hogy q 1/2 esetén A h = 1, így ilyenkor a módszer stabil lesz.
EE-módszer konvergenciája Megj.: T k+1 j = t 2 u 2 t 2 (x j, ξ) x2 4 u 12 x 4 (η, t k) + O( t 2, x 4 ) ( 1 1 ) + O( t 2, x 4 ). 6q = t 4 u 2 x 4 (x j, t k ) q = 1/6 választással magasabbrendű módszert kapunk (szuperkonvergencia). Megj.: Mi történik akkor, ha a q > 1/2 választást használjuk, hiszen csak egy elégséges feltételt használtunk a stabilitásra? A kísérletek azt mutatják, hogy a q 1/2 feltétel szükséges is. Megj.: A konvergenciához felhasználtuk, hogy a megoldás kellően sima. Mi van akkor, ha ez nem így van?
EE-módszer konvergenciája Diszkrét Fourier-anaĺızis: Legyen a szokásos módon U k j = gk e imj x. Mikor teljesül erre a differenciaséma? Akkor, ha a növekedési faktor g = 1 4q sin 2 (m x/2). Legyen m = lπ, amivel a numerikus megoldás U k j = a l (g(l)) k e ilπj x l=1 alakot ölti. q > 1/2 esetén a legnagyobb abszolútértékű növekedési faktor g 1 4q < 1. Ez az e iπj (1, 1, 1, 1,...) összetevő növekedési faktora, azaz korlátlanul nő, ha k növekszik. Ilyen összetevő a kerekítési hibák miatt biztosan belekerül az iterációba.
EE-módszer konvergenciája A konvergencia igazolása abban az esetben, ha u 0 Fourier-sora abszolút konvergens és q 1/2 (azaz nem kell, hogy u negyedrendű parciális deriváltjai is folytonosak legyenek a megoldási tartományon). Legyen ε > 0 tetszőleges. Az abszolút konvergencia miatt van olyan l 0, hogy l l 0 a l ε/4. Mivel q 1/2 esetén a növekedési faktorok 1-nél kisebb abszolút értékűek, ezért Ej k = a l e ilπj x ((g(l)) k e l2 π 2k t ) l=1 l<l 0 a l (g(l)) k e l2 π 2 k t + l l 0 a l (g(l)) k e l2 π 2 k t l<l 0 a l (g(l)) k e l2 π 2 k t + 2 l l 0 a l...
EE-módszer konvergenciája... l<l 0 a l (g(l)) k e l2 π 2 k t + ε 2 l<l 0 a l C(q)l 4 π 4 t 2 k + ε 2 = C(q)π 4 t max a l l 4 t + ε 2. l<l0 Mivel ε tetszőleges volt, így t 0 esetén a hiba valóban nullához tart. Kihasználtuk, hogy a, b 1 esetén a k b k k a b. g(l) e l2 π 2 t C(q)l 4 π 4 t 2, ahol C(q) q-tól függő konstans.
Implicit Euler-módszer (IE) Mátrixos alak: U k+1 j U k j t = U k+1 j 1 k+1 2Uj + Uj+1 k+1 x 2, tridiag [ q, 1 + 2q, q] U k+1 = U k. Egyenletrendszert kell megoldani, de tridiagonális a mátrix, azaz az inga módszerrel megoldható 8n flop művelettel (explicit múveletigénye 5n flop). Növekedési faktor: g = 1 1 + 4q sin 2 (m x/2), ami minden q-ra egynél kisebb abszolút értékű lesz. Ilyenkor nincs tehát feltétel q megválasztására. Ez egy ún. feltétel nélkül stabil séma.
θ-módszer Súlyozzuk egy θ [0, 1] súllyal az EE és IE sémákat az alábbi módon: Mátrixos alak: U k+1 j U k j t = (1 θ) U j 1 k 2U j k + U j+1 k x 2 + θ U j 1 k+1 k+1 2Uj + Uj+1 k+1 x 2. tridiag [ θq, 1 + 2θq, θq] U k+1 = tridiag [(1 θ)q, 1 2(1 θ)q, (1 θ)q] U k. θ = 0 : EE-módszer, θ = 1 : IE-módszer, θ = 1/2 : Crank-Nicolson-módszer. Műveletszáma általában 13n flop.
θ-módszer Növekedési faktor: g = 1 4(1 θ)q sin2 (m x/2) 1 + 4θq sin 2 (m x/2) g 1 mindig igaz. g 1 teljesüléséhez 1 2q sin 2 (m x/2)(1 2θ) 0 kell. Ez θ 1/2 esetén mindig teljesül (feltétel nélkül stabil), θ < 1/2 esetén meg elég hozzá (feltételesen stabil) q 1 2(1 2θ). Konzisztencia (képlethiba vizsgálata). (1/2 θ) tu xxt (1/12) x 2 u xxxx+(1/24) t 2 u ttt (1/8) t 2 u xxtt+... θ = 1/2 magasabbrendű lesz, mint a többi.
Nemnegativitás megőrzés Mikor biztosított az, hogy nemnegatív kezdőfüggvény esetén nemnegatív lesz a numerikus megoldás? tridiag [ θq, 1 + 2θq, θq] U k+1 = tridiag [(1 θ)q, 1 2(1 θ)q, (1 θ)q] U k. A bal oldalon egy M-mátrix áll, aminek inverze nemnegatív, a jobb oldali mátrix pedig nemnegatív, ha q 1 2(1 θ). Igazolható, hogy ez a feltétel kell is, és hogy a maximum elv is pontosan ekkor érvényes csak (a térbeli felosztásszámtól függetlenül). θ = 1/2 esetén q 1 a feltétel!
A hővezetési egyenlet két dimenzióban u = u + kezdeti- és peremfeltétel t A Laplace-operátor approximációjához a Poisson-egyenletnél tanultakat használjuk (A h mátrix). Alkalmazzuk az egyenesek módszerét: u(t) t = A hu(t), ahol u(t) a rácspontokbeli pontos megoldást közeĺıtő függvények vektora. EE-módszer: U k+1 = (E ta h )U k.
ADI módszer a kétdimenziós hővezetési egyenletre CN-módszer: (E + (1/2) ta h )U k+1 = (E (1/2) ta h )U k. A megoldás műveletigényes, mert nem lehet kis sávszélességű mátrixként feĺırni A h t. Egy lehetséges megoldás lehet az ADI (alternating directions implicit) módszer. Írjuk fel ta h -t alakban. Ezzel a CN-módszer: ta h = q x X h + q y Y h (E (q x /2)X h (q y /2)Y h )U k+1 = (E + (q x /2)X h + (q y /2)Y h )U k alakú lesz, ami közeĺıthető az (E (q x /2)X h )(E (q y /2)Y h )U k+1 = (E+(q x /2)X h )(E+(q y /2)Y h )U k formulával (a képlethiba első öt tagja azonos).
ADI módszer a kétdimenziós hővezetési egyenletre Ez az iteráció pedig elvégezhető az alábbi módon: (E (q x /2)X h )U k+1/2 = (E + (q y /2)Y h )U k (E (q y /2)Y h )U k+1 = (E + (q x /2)X h )U k+1/2. A módszer feltétel nélkül stabil és a maximumelv teljesülésének feltétele q x, q y 1.
8. A végeselem módszer elmélete (elliptikus feladatok megoldása)
Bevezető feladatok Bevezető feladatokként megoldottuk az y = M 0, és u = f peremértékfeladatokat homogén peremfeltétellel. Mindegyik esetben egy általánosított megoldás közeĺıtését álĺıtottuk elő. A közeĺıtéseket a folytonos, szakaszonként folytonosan deriválható függvények terében kerestük. Megadtuk a közeĺıtések hibáit is. A végeselem módszer menete már ezekből a példákból jól látszik.
Bevezető feladatok A végeselem módszer megvalósításának menete. Az egyenletből megkonstruáljuk a variációs egyenleteket (gyenge alak) vagy a minimalizálandó funkcionált. A megoldási tartományt szakaszokra, háromszögekre, stb. bontjuk. Választunk egy végeselem teret a közeĺıtésre (kis tartójú, szakaszonként sima függvények). Hibabecslést adunk. Meghatározzuk az elemi merevségi mátrixot. Összeálĺıtjuk a merevségi mátrixot és a terhelési vektort. Megoldjuk az egyenletrendszert. Szemléltetjük a megoldást.
A megoldási halmaz kiterjesztése Tekintsük az alábbi peremérték-feladatot: Reakció-diffúziós egyenlet homogén Dirichlet peremmel u + u = f, (x, y) Ω, u Ω = 0 Keressük az u C 2 (Ω) C( Ω) megoldásfüggvényt. Tegyük fel, hogy u C 1 (Ω) is igaz. Vegyünk egy tetszőleges v C0 1 (Ω) függvényt (peremen nulla), szorozzunk vele, és integráljuk a két oldalt Ω-n. uv + uv = fv, Ω alkalmazva a Green-formulát az alábbi variációs egyenletet nyerjük: u v + uv = fv, v C0(Ω). 1 Ω Ω Ennek teljesüléséhez elég a függvényektől gyengébb simasági feltételeket megkövetelni. Ω Ω Ω
Szoboljev-terek Def.: Tekintsük a C k (Ω) halmazt, és lássuk el az g, h H k (Ω) = ( α g)( α h) α k skaláris szorzattal (ez valóban skaláris szorzat). Ez normát is definiál: g H k (Ω) = ( α g) 2. α k A fenti teret a fenti normában teljessé téve Hilbert-teret kapunk. Jelölése H k (Ω) (Szoboljev-tér). Ω Ω
Szoboljev-terek Tétel. H k (Ω) izomorf azon L 2 (Ω)-beli (mérhető, négyzetesen integrálható függvények, f 2 < ) g függvények terével, melyek minden legfeljebb k-adrendű parciális deriváltja is négyzetesen integrálható, a skaláris szorzat a fenti módon van értelmezve, és van olyan C k (Ω)-beli függvénysorozat, ami a fenti normában a g függvényhez tart. Hasonlóan értelmezhető a H0 k(ω) tér is a Ck 0 (Ω) teret teljessé téve a korábbi normában. Tétel. H0 k(ω) izomorf azon L2 (Ω)-beli g függvények terével, melyek minden legfeljebb k-adrendű parciális deriváltja is négyzetesen integrálható, a skaláris szorzat a fenti módon van értelmezve, és van olyan C0 k (Ω)-beli függvénysorozat, ami a korábbi normában a g függvényhez tart.
Szoboljev-terek Térjünk vissza a korábbi variációs feladathoz! u v + uv = fv, v C0(Ω). 1 Ω Ω A korábbiak alapján ez a feladat bővebb függvénytéren is értelmezhető: Keressük azt az u H0 1 (Ω)-beli függvényt, amelyre a fenti egyenlőség igaz tetszőleges v H0 1 (Ω) függvény esetén (f-ről is elég, hogy f L 2 (Ω)). A minimalizációs feladat megfogalmazása: Keressük azt az u H0 1 (Ω)-beli függvényt, ami minimalizálja az ( ) 1 I(u) = 2 (( u)2 + u 2 ) uf funkcionált. Ω Ω
Neumann-feladat esete Reakció-diffúziós egyenlet Neumann peremmel u + u = f, (x, y) Ω, u = g, (x, y) Ω n Tegyük fel, hogy u C 1 (Ω). Vegyünk egy tetszőleges v C 1 (Ω) függvényt, szorozzunk vele, és integráljuk a két oldalt Ω-n. uv + uv = fv, Ω alkalmazva a Green-formulát az alábbi variációs egyenletet nyerjük: uvn ds + u v + uv = fv, v C 1 (Ω), azaz Ω Ω Ω Ω u v + uv = fv + gv ds, v C 1 (Ω). Ω Ω Ω Ω Ω Ω
Neumann-feladat esete Gyenge alak tehát: Keressük azt az u H 1 (Ω) függvényt, mellyel u v + uv = fv + gv ds, v H 1 (Ω). Ω Ω Ω A variációs feladat: Keressük azt az u H 1 (Ω) függvényt, ami minimalizálja az ( ) 1 I(u) = 2 (( u)2 + u 2 ) uf gu Ω funkcionált. Ω Ω
Lényeges és természetes peremfeltételek Def.: Egy peremfeltétel lényeges, ha azt a tesztfüggvényeknek is ki kell elégíteniük, különben természetes peremfeltételről beszélünk. Vegyük észre, hogy a Neumann-feltétel nem ad megkötést u megválasztására H 1 (Ω)-ból, a peremfeltételt csak implicit módon tartalmazza a variációs egyenlet. A korábbi Dirichlet-peremfeltétel lényeges peremfeltétel volt.
A Neumann-feladat végeselemes megoldása Háromszögrácsot generálunk (τ h ), most a peremen is definiálunk csúcsokat. Legyen V h a szokásos sátorfüggvények tere. Keressük azt az u h V h függvényt, mellyel u v + uv = fv + gv ds, v V h. Ω Ω Ω Kiszámoljuk a merevségi mátrixot és a terhelési vektort. Megoldjuk az egyenletrendszert. Így megkapjuk u h -t. Tétel. Ω u u h H 1 (Ω) u v H 1 (Ω), v V h. Tétel. u u h H 1 (Ω) Ch.
A minimalizációs és variációs feladatok Legyen V valós vektortér és a : V V R szimmetrikus (a(u, v) = a(v, u), u, v V ), pozitív (a(u, u) > 0, ha u 0) és bilineáris (mindkét változóban lineáris) forma, továbbá legyen l : V R lineáris funkcionál. Tekintsük az alábbi ún. minimalizációs feladatot: Keressük meg azt az u V elemet, ami minimalizálja a függvényt V -n! (M) J(v) = 1 a(v, v) l(v) 2 Tekintsük az alábbi ún. variációs feladatot: Keressük meg azt az u V elemet, mellyel (V ) a(u, v) = l(v), v V!
(M) és (V) ekvivalenciája Tétel. u pontosan akkor megoldása (V)-nek, ha (M)-nek. Az (M) feladatnak maximum egy megoldása lehet csak. Biz.: (V) (M) Legyen u a variációs feladat megoldása, továbbá 0 v V tetszőleges elem és t tetszőleges valós szám. Ekkor I(u + tv) = 1 a(u + tv, u + tv) l(u + tv) 2 = 1 2 (a(u, u) + 2ta(u, v) + t2 a(v, v)) l(u) tl(v) = I(u) + t (a(u, v) l(v)) + t2 a(v, v). }{{} 2 }{{} (V ) 0 >0 Azaz u az egyetlen elem, ami minimalizálja J-t.
(M) és (V) ekvivalenciája Biz. (folyt.): (M) (V) Legyen u a minimalizációs feladat megoldása. Az előzőek alapján a I(u + tv) = I(u) + t(a(u, v) l(v)) + t2 a(v, v) 2 t-től függő egyváltozós függvénynek minimuma van t = 0-ban, azaz a derivált itt nulla: (a(u, v) l(v)) + 0 a(v, v) = a(u, v) l(v) = 0. Ezt akartuk igazolni. Megj.: A bizonyításból kiderült, hogy I(u + v) = I(u) + 1 a(v, v) > I(u), 0 v V. 2 Megj.: Hasonló tételt igazoltunk LER-re NM1-ből.
A megoldás létezése Mi biztosítja, hogy van megoldása (M)-nek vagy (V)-nek? Több feltétel kell V -ről, a-ról és l-ről. Legyen V Hilbert-tér a.,. skaláris szorzattal és a vele indukált. normával. a legyen koercív (V -elliptikus) (szimmetrikus, folytonos ( a(u, v) γ u v, u, v V ) és α > 0, a(v, v) α v 2, v V ). l legyen korlátos lineáris funkcionál ( Λ > 0, l(v) Λ v ). Megj.: A fenti feltételek mellett u, v a = a(u, v) skaláris szorzat V -n, és a v a = a(v, v) kifejezés a. normával ekvivalens normát definiál V -n (energianorma).
Lax-Milgram-tétel Tétel. Legyen V Hilbert-tér, legyen továbbá a : V V R koercív bilineáris forma, és l : V R korlátos lineáris funkcionál. Ekkor az (M) minimalizációs feladatnak (és a korábbiak szerint (V)-nek is) egyetlen megoldása van H-ban. Biz.: Az I(v) értékek alulról korlátosak V -ben, ugyanis I(v) = 1 2 a(v, v) l(v) α 2 v 2 Λ v = 1 2α (α v Λ)2 Λ2 2α Λ2 2α. Legyen c 1 = inf{i(v) v V }, és legyen {v k } V olyan sorozat, melyre I(v k ) c 1. Megmutatjuk, hogy {v k } Cauchy-sorozat.
Lax-Milgram-tétel α v n v m 2 a(v n v m, v n v m ) = 2a(v n, v n ) + 2a(v m, v m ) a(v n + v m, v n + v m ) 4l(v n ) 4l(v m ) + 8l((v n + v m )/2) = 4I(v n ) + 4I(v m ) 8I((v n + v m )/2) 4I(v n ) + 4I(v m ) 8c 1. Mivel v k c 1, ezért minden ε > 0 számhoz van olyan n 0, hogy minden n, m n 0 esetén α v n v m 2 4I(v n ) + 4I(v m ) 8c 1 < ε. Így a sorozat valóban Cauchy. Mivel V Hilbert-tér, így van u V, hogy v k u. A folytonosság miatt pedig I(u) = c 1. u tehát megoldása az (M) feladatnak (a korábbiak szerint (V)-nek is).
Lax-Milgram-tétel Az egyértelműség igazolása: Tegyük fel, hogy az u 1 u 2 elemek is megoldásai (M)-nek. Ekkor I(u 1 ) = I(u 2 ) = c 1, és az u 1, u 2, u 1, u 2, stb. sorozatra nyilván I(u k ) c 1, azaz a sorozat a korábbiak szerint Cauchy, de ez csak úgy lehet, ha u 1 u 2 = 0, ami ellentmondást ad. Megj.: A tétel általánosabban kimondható úgy, hogy V helyett V egy zárt és konvex részhalmazát tekintjük. Köv.: Legyen a V Hilbert-téren a(u, v) = u, v. Ez valóban szimmetrikus, bilineáris, folytonos (C-B-Sch) és koercív. Tehát minden l korlátos lineáris funkcionálhoz egyértelműen létezik olyan u V elem, mellyel Riesz reprezentációs tétele. u, v = l(v), v V.
Lax-Milgram-tétel Köv.: Igaz az u Λ α stabilitási becslés, hiszen v = u választással α u 2 a(u, u) = l(u) Λ u, melyből u -val és α-val való osztás után adódik az álĺıtás.
A Galjorkin-módszer Legyen V N a V Hilbert-tér egy N dimenziós altere, legyen ennek egy bázisa φ 1,..., φ N. A Lax Milgram-tétel szerint egyértelműen létezik olyan u N V N elem, melyre ill. minimalizálja az funkcionált. (V ) a(u N, v) = l(v), v V N, (M) I(v) = 1 a(v, v) l(v) 2 Azt a módszert, amikor a (V) feladat megoldásával adunk közeĺıtést u-ra Galjorkin-módszernek nevezzük. (Nemszimmetrikus bilineáris formák esetén is használható.)
A Galjorkin-módszer Keressük u N -t u N = N k=1 c iφ i alakban, a tetszőleges V N -beli elemet pedig írjuk v = N k=1 d iφ i alakban. Ekkor a variációs feladat alakja ( N ) ( N N ) a c i φ i, d i φ i = l d i φ i, d N R N, amely az k=1 k=1 k=1 d T NA N c N = d T Nb N egyenletre vezet, ahol (A N ) ij = a(φ j, φ i ) és (b N ) i = l(φ i ). Mivel ennek minden d N R N vektorra teljesülni kell, ezért az ismeretlen együtthatók az A N c N = b N egyenletrendszer megoldásával nyerhetők. (A N elnevezése merevségi (stiffness) mátrix, b N elnevezése terhelési (load) vektor.)
A Galjorkin-módszer Az ( N ) d T N N NA N d N = a d i φ i, d i φ i α d i φ i 2 k=1 k=1 k=1 egyenlőség miatt A N pozitív definit, a szimmetrikusság a szimmetriájából következik. Így a korábbi egyenletrendszer egyértelműen megoldható. Megj.: A korábbiakhoz hasonlóan igazolható, hogy az u N megoldásra ugyanolyan stabilitási becslés igaz, mint az u-ra, azaz u N Λ α.
Ritz-módszer Azt a módszert, ahol az (M) feladat megoldásával adunk becslést u-ra, Ritz-módszernek nevezzük. ( N ) ( I c i φ i = 1 N ) ( 2 a N N ) c i φ i, c i φ i l c i φ i k=1 k=1 k=1 = 1 2 ct NA N c N c T Nb N, k=1 melynek minimuma szintén az A N c N = b N egyenletrendszer megoldásánál van. Megj.: Szimmetrikus formák esetén a Galjorkin és Ritz-módszerek ugyanarra az egyenletrendszer megoldására vezetnek. Emiatt a módszert ebben az esetben Ritz Galjorkin-módszernek nevezzük.