Zgodność, stabilność i zbieżność schematów różnicowych
Transkrypt
Zgodność, stabilność i zbieżność schematów różnicowych
MiNI (MNPT) – Metody Numeryczne w MOC I 8 marca 200 Zgodność, stabilność i zbieżność schematów1 1 Definicja 1.1 (Zbieżność). Schemat różnicowy przybliżający równanie różniczkowe cząstkowe jest zbieżny, jeśli dla każdego rozwiązania u(t, x) równania cząastkowego rozwiązanie ukn schematu różnicowego, dla którego u0n zbiega do u(0, x) dla nh → x, także ukn zbiega do u(t, x) dla (k∆t, nh) → (t, x) przy ∆t, k → 0. Definicja 1.2 (Zgodność). Mówimy, że schemat różnicowy Ph,k u = f jest zgodny rzędu (r, s) z równaniem różniczkowym cząstkowym P u = f , jeśli dla każdej gładkiej funkcji φ P φ − Pk,h φ = O(k r , hs ). (1.1) Uwaga. Aby zbadać zgodność, rozwijamy φ w szereg Taylora i sprawdzamy (1.1). Definicja 1.3 (Stabilność). Schemat różnicowy Ph,k u = 0 dla RRCz P u = 0 pierwszego rzędu względem czasu jest stabilny, jeśli istnieje J ∈ N i liczby h0 , k0 > 0 takie, że dla każdego dodatniego czasu T , istnieje stała CT > 0 taka, że ∞ X h |ukn |2 ≤ CT h n=−∞ J ∞ X X |ujn |2 j=0 n=−∞ dla 0 ≤ k∆t ≤ T , 0 < h ≤ h0 oraz 0 < ∆t ≤ k0 . Definicja 1.4. Problem początkowy dla RRCz pierwszego rzędu względem czasu P u = 0 jest dobrze postawiony, jeśli dla dowolnego czasu T ≥ 0 istnieje stała CT > 0 taka, że każde rozwiązanie u(t, x) spełnia Z Z ∞ ∞ |u(t, x)|2 dx ≤ CT −∞ |u(0, x)|2 dx −∞ dla 0 ≤ t ≤ T . Twierdzenie 1.5 (Lax-Richtmyer). Zgodny schemat różnicowy dla RRCz, dla którego problem początkowy jest dobrze postawiony jest zbieżny wtedy i tylko wtedy gdy jest stabilny. 2 Analiza stabilności von Neumanna Przykład (Równanie ut + aux = 0). Zastosujmy dyskretyzację w przód względem czasu i w tył względem przestrzeni: uk − ukn−1 uk+1 − ukn n +a n = 0. ∆t ∆x Powyższe równanie można przepisać jako uk+1 = (1 − aλ)ukn + aλukn−1 , n 1 Na podstawie notatek z MiT Opencourseware: http://ocw.mit.edu oraz książki Strikwerdy. gdzie λ = ∆t ∆x . Stosując do obu stron transformatę Fouriera otrzymujemy h i ûk+1 (ξ) = (1 − aλ) + aλe−ihξ ûk (ξ). Oznaczmy g(hξ) ≡ (1 − aλ) + aλe−ihξ . Wtedy ûk (ξ) = g(hξ)ûk−1 (ξ) = ... = [g(hξ)]k û0 (ξ). Z tożsamości Parsevala: k 2 Z ku k = π h k 2 Z |û (ξ)| dξ = −π h π h |g(hξ)|2n |û0 (ξ)|2 dξ. −π h Zatem schemat będzie stabilny, tzn. kuk k ≤ ku0 k, jeśli |g(hξ)| ≤ 1. Oznaczmy θ = hξ i obliczmy 2 θ |g(θ)|2 = (1 − aλ) + aλe−ihξ = (1 − aλ + aλ cos θ)2 + a2 λ2 sin2 θ = 1 − 4aλ(1 − aλ) sin2 . 2 Widzimy stąd, że |g(θ)| ≤ 1, jeśli 0 ≤ aλ ≤ 1 i wtedy schemat jest stabilny. Twierdzenie 2.1 (Warunek konieczny i dostateczny stabilności). Jednokrokowy schemat różnicowy (wzgledem czasu) jest stabilny wtedy i tylko wtedy, gdy istnieją stałe dodatnie K, h0 , k0 takie, że |g(θ, ∆t, h)| ≤ 1 + K∆t dla wszystkich θ,0 < ∆t ≤ k0 , 0 < h ≤ h0 . Jeśli g nie zależy od ∆t, to powyższy warunek sprowadza się do |g(θ, h)| ≤ 1. Dowód. „⇐” – ćwiczenie „⇒” Przypuśćmy, że dla każdego C > 0 istnieje odcinek [θ1 , θ2 ] taki, że |g| ≥ 1 + C∆t dla θ ∈ [θ1 , θ2 ], h ∈ (0, h0 ], ∆t ∈ (0, k0 ]. Niech 0 jeśli hξ[θ1 , θ2 ], 0 û (ξ) = p h(θ1 − θ2 )−1 jeśli h ξ ∈ [θ1 , θ2 ]. Mamy kû0 k = 1 oraz k 2 ku k = dla k bliskich T ∆t . Z π h −π h 2k 0 2 |g| |û (ξ)| dξ = Z θ2 h θ1 h |g|2k h 1 dξ ≥ (1 + C∆t)2k ≥ e2T C ku0 k2 θ1 − θ 2 2 Zatem schemat nie jest stabilny, bo C może być dowolnie duże. W praktyce, aby zbadać stabilność schematu nie musimy rozpisywać całek. Wystarczy zamiast ukn wstawić g k einθ i obliczyć g. Przykład. Dla schematu jawnego z centralną różnicą po czasie uk − ukn−1 uk+1 − ukn n + a n+1 =0 ∆t 2h mamy g k ei(k+1)θ − g k ei(k−1)θ g k+1 einθ − g k einθ +a = g k einθ 0= ∆t 2h Stąd g(θ) = 1 − iaλ sin θ, gdzie λ = nie jest stabilny. ∆t h . g−1 eiθ − e−iθ +a ∆t 2h . Jeśli λ jest stała, to |g(θ)|2 = 1 + a2 λ2 sin2 θ > 1 i schemat Zbadać rząd zgodności i stabilność schematów przybliżających RRCz 1. ut + aux = 0 dla dyskretyzacji niejawnej uk+1 − uk+1 uk+1 − ukn n n−1 n +a =0 ∆t ∆x 2. ut + aux = 0 dla dyskretyzacji Cranka-Nicolsona po czasie, z różnicą centralną po przestrzeni 3. ut + aux = 0, schemat Laxa-Wendroffa: uk+1 = ukn − n a2 λ 2 k aλ k (un+1 − ukn−1 ) + (un+1 − 2ukn + ukn−1 ). 2 2 4. ut + aux = f , schemat Laxa-Friedrichsa: 1 aλ uk+1 = (ukn+1 + ukn−1 ) − (uk − ukn−1 ) + ∆tfnk n 2 1 + (aλ)2 n+1 5. ut + aux = f , ze schematem i i a h k+1 1 h k+1 k k k+1 k k ) − (u + u ) + − u ) + (u − u ) = fnk (un + uk+1 (u n n+1 n n+1 n n+1 n+1 2∆t 2h 6. ut + auxxx = f , ze schematem 1 a∆t k uk+1 = (ukn+1 + ukn−1 ) − (u − 2ukn+1 + 2ukn−1 − ukn−2 ) + ∆tfnk n 2 2h3 n+2 7. ut + auxxx = f , ze schematem uk − 3ukn+1 + 3ukn − ukn−1 uk+1 − ukn n + a n+2 = fnk ∆t h3