Problem opisany RRZ jest sztywny gdy: 1.... jest charakteryzowany yróżnymi skalami czasowymi. 2. Stabilność bezwzględna nakłada silniejsze ograniczenia na krok czasowy niż dokładność. 3. Metody jawne się nie sprawdzają. sztywny problem w pojedynczym równaniu: dla dużych ż t rozwiązanie i ustalone u(t)=cos(t) 2 1 0 cos(t) dwie bardzo różne skale czasowe 1) rozwiązania ustalonego okres 2pi 2) skala czasowa tłumienia odchylenia od stanu ustalonego exp( 100 t) czasowa stała zaniku 0.01-1 8 9 10 11 12 t
z u(0)=2 rozwiązanie: ustalone u(t)=cos(t) Euler dt = 0.01 ł k k jawny schemat Eulera 4 Stały krok czasowy: rozpoznajemy ograniczenie: Δt < 2/ 100 0 dt=0.019 dt=0.02-4 dt=0 0.021021 0 1 2 t
niejawny schemat Eulera krok stały 1.2 0.8 0.4 0.0-0.4 dt=0.1 dt=0.2 dt=0.5-0.8 0 1 2 tutaj: startowane od warunku u(0)=1
10 2 1 wyniki do uzyskania na laboratorium start u(0)=2 2,tolerancja 1e-2 niejawny, jawny, cos (t) akc ceptowane dt akceptowane dt 1 0.1 0.01 0.001 niejawny jawny tol1e-2 u 0 0.4 0.0001 0.00 5.00 10.00 15.00 20.00 25.00 t -1 0.00 1.00 2.00 3.00 t 2 niejawny Euler tolerancja 1e-3 niejawny, jawny, cos (t) akceptowan ne dt u 0.3 0.2 0.1 0 tol1e-3 u 1 0-1 0.00 1.00 2.00 3.00 t ak kceptowane dt u 0.016 0.012012 0.008 0.004 0 0.00 5.00 10.00 15.00 20.00 25.00 t tol 1e-6 gdy wymagana b. duża dokładność schemat niejawny stawia równie krótkie kroki co jawny, obydwie metody tego samego rzędu dokładności 0.00 5.00 10.00 15.00 20.00 25.00 t t
następny przykład: równanie swobodnego oscylatora van der Pola [historycznie = odkrycie deterministycznego chaosu w lampach firmy Philips aperiodyczne oscylacje przy periodycznym wymuszeniu ] (λ=0 = zwykły o. harmoniczny) jawny RK4 = zmienny krok czasowy 4.00 4.00 u 2.00 0.00 λ=1 punkt u(t) policzony = krzyż po lewej: krzyże położone rozsądnie w porównaniu ze zmiennością rozwiązania 2.00 u 0.00 λ=100-2.00-4.00 t 0.00 40.00 80.00 120.00 160.00 200.00 po prawej: problem sztywny gładkie rozwiązanie a krzyże się zlewają -2.00-4.00 t 0.00 40.00 80.00 120.00 160.00 200.00
4.00 2.00 Równanie oscylatora van der Pola : czasem sztywne czasem nie 0.00 u przydałoby się narzędzie do wykrywania sztywności -2.00 np. dla podjęcia decyzji: t -4.00 tam gdzie sztywność = schemat niejawny 0.00 40.00 80.00 120.00 160.00 200.00 tam gdzie nie = schemat jawny (tańszy)
Detekcja sztywności dla problemu nieliniowego (dla liniowego = wystarczy rozwiązać jednorodny problem własny) układ N równań (u,f-wektory) w chwili t rozwiązanie u * (t) rozwiązanie chwilę później opisane przez odchylenie du(t) od u * u(t)= u * (t) + du(t) linearyzacja: zakładamy, że odchylenie małe, rozwijamy f(t,u) względem u wokół f(t,u * ): [Taylor dla wektora] macierz Jakobiego [N na N]
u(t)= u * (t) + du(t) po wyeliminowaniu i i problem zlinearyzowany w chwili t * : A=J(t * ) -przybliżone zachowanie rozwiązania w okolicach t,u * (t) rozwiązać problem własny A: dostaniemy wartości własne λ i : Aby rachunek się powiódł: Δt λ i musi leżeć w regionie y ę p i g stabilności używanej metody dla wszystkich i. Jeśli duża rozpiętość λ : problem będzie sztywny.
Przykład: nieliniowy układ równań z warunkowo występującą sztywnością jeśli druga składowa u urośnie macierz prawie diagonalna z szerokim zakresem wartości własnych sztywność
Przykład detekcja sztywności dla: oscylatora van der Pola wartości własne:
niebieskie i czarne: części rzeczywistewartościwłasnychwartości własnych 2.0 1.0 λ=1 200.0 λ=100 100.0 0.0 w w -1.0 0.0-2.0 t -3.0 0.0 40.0 80.0 120.0 160.0 200.0 0.80 0.60 dt0.40 jawny RK +automat dt -100.0 t -200.0 0.0 40.0 80.0 120.0 160.0 200.0 0.25 0.20 dt 0.15 0.10 0.20 0.05 0.00 0.00 40.00 80.00 120.00 160.00 200.00 t 0.00 0.00 40.00 t 80.00 120.00 160.00 200.00
2.0 λ=1 jawny RK +automat dt λ=100 w 1.0 0.0-1.0 w 200.0 100.0 0.0-2.0-100.0-3.0 0.0 40.0 80.0 120.0 160.0 200.0 t 0.80 0.60-200.0 0.25 0.0 40.0 80.0 120.0 160.0 200.0 0.20 0.15 t 0.10 dt 0.40 0.20 0.00 0.00 40.00 80.00 120.00 160.00 200.00 dt 0.05 0.00 4.00 0.00 40.00 80.00 120.00 160.00 200.00 4.00 u(t) 2.00 0.00 t u(t) 2.00 0.00 t -2.00-2.00-4.00 t -4.00 0.00 40.00 80.00 120.00 160.00 200.00 0.00 40.00 80.00 120.00 160.00 200.00
Metody RK cd. 1) bezwzględnastabilność metod RK 2) konstrukcja niejawnych metod RK (metoda kolokacji) 3) metody niejawne: klasyfikacja a tabele Padé współczynników wzmocnienia 4) rozwiązywanie równań predyktora dla metod niejawnych ij
Metody RK własności tabel Butchera 1)do regionów stabilności jawnych RK 2) do metod niejawnych RK ogólna w wersji ogólnej (niejawnej = sumowanie do s) dla metod jawnych
Metoda musi być dokładna dla rozwiązania stałego: w przeciwnym wypadku powstanie błąd lokalny O(Δt) (metoda nie będzie zbieżna zerowy rząd zbieżności ) jeśli f=0 to u n =u n 1 to mamy zawsze podobnie, jeśli rząd zbieżności 1 (jak Euler) lub więcej = wynik dokładny dla funkcji liniowej f=1 np RK4
rozwiązania pośrednie = mniej dokładne niż wynik końcowy, ale: zażądajmy ż dj aby rozwiązania i pośrednie ś U i (dla chwili t n 1 +c i Δt) ) były rzędu zbieżności pierwszego (nie gorsze niż Euler). Mają działać dokładnie dla f=1 i rozwiązania u=d+t, co daje: u(t+dt)=u(t)+dt dla RK4: 0 0 0 0 0 1/2 1/2 0 0 0 1/2 0 1/2 0 0 1 0 0 1 0 1/6 1/3 1/3 1/6
metoda RK rzędu dokładności p jeśli działać będzie dokładnie dla wielomianów stopnia p z rozwiązaniem: wstawić dla l12 l=1,2,...,p 0 0 0 0 0 1/2 1/2 0 0 0 1/2 0 1/2 0 0 1 0 0 1 0 1/6 1/3 1/3 1/6 l=1 poznajemy Zastosowanie do tabeli Butchera RK4: ½= 1/6 *0 +1/3*1/2+1/3*1/2+1/6*1=3/6 1/3= 1/3 * ¼ +1/3 * ¼+1/6=2/6 / ¼=1/3*1/8+1/3*1/8+1/6=1/12+1/6=3/12 dla l=5 prawa strona= 0.20833 warunki tego typu są konieczne, ale nie wystarczają do wyznaczenia całej tabeli B. można podać więcej rozważając inne równania i wykorzystując założony rząd dokładności metody.
można podać więcej warunków rozważając inne równania i wykorzystując założony rząd dokładności metody p. Rozwinięcia w szereg Taylora metody i rozwiązania konkretnego równania mają zgadzać się do wyrazu z Δt p włącznie. u = u (1) w notacji wektorowej (2) z oznaczeniami: z (2) eliminujemy U wstawiamy do (1)
u = u dokładne rozwiązanie u(t)= exp(t) u n = exp(δt)u ) n 1 dokładne: RK: zrównując wyrazy tego samego rzędu w Δt dla metody RK rzędu ę dokładności p czyli dla k=1,2,..,p
dla k=1,2,..,p k=1 k=2 wcześniej dowiedzieliśmy się, że ora z dla l=2 da wzór po lewej (zał. że pośrednie min rzędu 2) nowe niezależne warunki dostaniemy dla k>2
stabilność bezwzględna jawnych metod RK u = λu z oznaczeniem z=λδt dostaniemy wg wcześniejszej analizy metoda RK rzędu p dokładnie odtwarza p pierwszych wyrazów r.t rozwiązania dokładnego dla k=1,2,..,p
stabilność bezwzględna jawnych metod RK u = λu z oznaczeniem z=λδt dostaniemy wg wcześniejszej analizy metoda RK rzędu ę p dokładnie odtwarza p pierwszych wyrazów r.t rozwiązania dokładnego dla k=1,2,..,p
stabilność bezwzględna jawnych metod RK u = λu z oznaczeniem z=λδt dostaniemy wg wcześniejszej analizy metoda RK rzędu ę p dokładnie odtwarza p pierwszych wyrazów r.t rozwiązania dokładnego dla k=1,2,..,p macierz A dla jawnych dolna trójkątna bez diagonali dla m s dl t ż ć d dlatego: możemy urwać drugą sumę współczynnik wzmocnienia dla jawnych RK jest wielomianem
rząd dokładności liczba stopni (odsłon) metody zamiast Liczba kroków a rząd zbieżności jawnych metod RK: rząd p 1 2 3 4 5 6 7 8 minimalna liczba odsłon s 1 2 3 4 6 7 9 11 czyli dla p 4 druga suma znika, mamy dokładnie: stąd współczynnik wzmocnienia dla RK1,RK2,RK3 i RK4 rozwiązanie dokładne u=exp(λt) RK dokładności p dokładnie odtwarza pierwsze p wyrazów rozwinięcia Taylora p p p y ę y rozwiązania dokładnego
Stabilność bezwzględna RK ponadto: dla p 4 mamy dla stabilności bezwzględnej: wniosek: region stabilności bezwzględnej jawnych metod RK o rzędzie dokładności nie większym niż 4 jestniezależny odwyborua a,b,c bc!! w szczególności dwie poznane metody rzędu drugiego: mają ten sam region stabilności
rejony bezwzględnej stabilności jawnych metod RK w s odsłonach dla danego s rejony identyczne dla wszystkich wariantów dt Im(λ) RK2 Euler dt Re(λ) rysunek skopiowany z Quarteroni: Numerical Mathematics zakres stabilności rośnie z rzędem dokładności zobaczymy, że przeciwnie niż dla liniowych formuł wielokrokowych! RK3/RK4 obejmują również fragment Re(λ)>0 dla rzeczywistego λ region stabilności: dtλ RK1 ( 2,0) RK2 ( 2,0) RK3 ( 2.51,0) RK4 ( 2.78,0)
przypomnienie: RK4 2.78 / λ 1 RK3/RK4 obejmują również fragment Re(λ)>0 dla rzeczywistego λ region stabilności: dtλ RK1 ( 2,0) RK2 ( 2,0) RK3 ( 2.51,0) RK4 ( 2.78,0)
Region stabilności jawnych metod RK jest ograniczony funkcja pod modułem jest wielomianem (skończone rozwinięcie w szereg Taylora) każdy wielomian ucieka do nieskończoności gdy z daleko od początku układu wsp. (niezależnie od kierunku na płaszczyźnie Gaussa) dla szerszych regionów bezwzględnej stabilności: niejawne metody RK dla niejawnych RK druga suma może ustablizować rozbieżność pierwszej dla dużego z
niejawna metoda Rungego Kutty w jednej odsłonie [jawny RK w jednej odsłonie= jawny schemat Eulera] aby wyznaczyć współczynniki b 1 =b, c 1 =c, a 11 =a 1 1 11 rozwijamy metodę RK w Taylora względem t n 1 i u(t n 1 ) i porównujemy z rozwiązaniem dokładnym liczone w t n 1, u(t n 1 ) celujemy w błąd lokalny O(Δt 3 ) wstawić wyżej
liczone w t n 1, u(t n 1 ) wstawić wyżej
niejawna metoda Rungego Kutty w jednej odsłonie (będzie stopnia 2) do porównania z rozwinięciem dokładnego rozwiązania (poprzedni wykłady) b=1 c=a=1/2
niejawna metoda Rungego Kutty w jednej odsłonie (będzie stopnia 2) do porównania z rozwinięciem dokładnego rozwiązania (3 wykłady wstecz) b=1 c=a=1/2 zamiast Taylora mogliśmy użyć warunków koniecznych: s
niejawna metoda Rungego Kutty w jednej odsłonie (stopnia 2) b=1 c=a=1/2 2) korektor wykonać krok wg reguły punktu środowego z U 1 policzonym niejawnym Eulerem niejawna metoda punktu środkowego 1) predyktor predyktor = niejawny Euler do połowy kroku czasowego (rozwiązać trzeba jak pokazywaliśmy)
porównanie metod RK drugiego rzędu = jawnej i niejawnej jawna metoda punktu środkowego g RK2 (dwustopniowa znaczy f wzywane w 2 chwilach czasowych): predyktor = jawny Euler korektor = punkt środkowy 0 0 0 ½ 1/2 0 0 1 niejawna metoda punktu środkowego NJRK (jednostopniowa f tylko w jednej chwili) 1/2 1/2 1 2) wykonać krok wg reguły punktu środowego z U 1 1) predyktor = niejawny Euler do połowy kroku czasowego
region bezwzględnej stabilności niejawnej metody punktu środkowego u =λu, z=λδt R() 0 Re(z) 0 (gdy rozwiniemy w Taylora 1+z+z 2 /2+z 3 /4 [zamiast 6] wsp. wmocnienia=funkcja wymierna jest A-stabilna, ale metodę 2 rzędu dokładności już mieliśmy (trapezów)
niejawna metoda Rungego Kutty w jednej odsłonie (metoda rzędu dokładności 2) tabela Butchera 1/2 1/2 1 maksymalny rząd metody RK w s odsłonach wynosi 2s najdokładniejsza niejawna metoda Rungego Kutty w 2 odsłonach rząd dokładności 4 jak jawne RK4 dla najdokładniejszych niejawnych RK nie używamy chwili t n-1, ani chwili t n tylko c danych przez mapowanie zer wielomianów Legendre a do przedziału [0,1] (patrz dalej)
Metody kolokacji dla zwyczajnego równania różniczkowego u =f zajmiemy się pojedynczym krokiem czasowym t n 1 do t n u dofitowany wielomian dokładna u poszukiwany wielomian, który spełnia warunek początkowy i nachylenie (f) w 2 chwilach t poszukujemy wielomianu, który interpoluje a) wartość funkcji w chwili początkowej b) równanie różniczkowe w 2 dyskretnych punktach wartość tego wielomianu w chwili t n wyprodukuje przepis na u n
Metody kolokacji dla zwyczajnego równania różniczkowego u =f najpierwprzykład przykład, potem uogólnienie: zajmiemy się pojedynczym krokiem czasowym t n 1 do t n u wielomian, który interpoluje a) wartość funkcji w chwili początkowej b) równanie różniczkowe w 2 dyskretnych punktach jego wartość w chwili t n produkuje u n 3 warunki potrzebna parabola poszukiwany wielomian, który spełnia warunek początkowy i nachylenie (f) w 2 chwilach t w(t n )=u n
Metody kolokacji dla zwyczajnego równania różniczkowego u =f najpierwprzykład przykład, potem uogólnienie: zajmiemy się pojedynczym krokiem czasowym t n 1 do t n u wielomian, który interpoluje a) wartość funkcji w chwili początkowej b) równanie różniczkowe w 2 dyskretnych punktach jego wartość w chwili t n produkuje u n 3 warunki potrzebna parabola poszukiwany wielomian, który spełnia warunek początkowy i nachylenie (f) w 2 chwilach t w(t n )=u n wzór trapezów (dlatego rzędu 2: dokładny d dla paraboli!)
Niejawne metody Rungego Kutty można uzyskać na drodze kolokacji (zakładamy c szukamy a i b) poszukujemy przybliżonego rozwiązania problemu początkowego w postaci wielomianu stopnia s do wykonania kroku: w(tn) zobaczymy jak generować metody RK: wejście = chwile pośrednie ś [c] wyjście = wagi a i b
Niejawne metody Rungego Kutty można uzyskać na drodze kolokacji (zakładamy c szukamy a i b) u) poszukujemy przybliżonego rozwiązania problemu początkowego w postaci wielomianu stopnia s do wykonania kroku: w(tn) do wyznaczenia (s+1) współczynników wielomianu: ma spełniać warunek początkowy i ó i óż i k i12 s i równanie różniczkowe w i=1,2,...s wybranych punktach w przedziale [t n 1,t n ] wybór definiowany przez c i [0,1]
Interpolujemy pochodną w wielomianem interpolacyjnym Lagrange a w chwilach czasowych t n 1 +c j Δt z gdzie wielomian węzłowy Lagrange a
scałkowana pochodna + warunek początkowy daje na końcu przedziału: jak RK pod warunkiem, że włożyliśmy c dostaliśmy b jeszcze a do wyznaczenia
pochodna scałkowana do τ + warunek początkowy daje wstawić do: jak w RK pod warunkiem że
po przesunięciu t o t n 1 : po podstawieniu τ =t /Δt wyrażenia, na a i b są niezależne od kroku czasowego: podobnie: Mamy przepis na uzyskiwanie a i b z c wybór punktów kolokacji : t n 1 +c i Δt = tak aby uzyskać maksymalny rząd dokładności albo np L stabilność tabela Butchera dla najdokładniejszej niejawnej RK (2 odsłony, rząd 4): A oraz b w tabeli Butchera wynikają z wyboru punktów kolokacji c
c1 c2 b1 b2 b 1 b 2 a 11 itd. współczynniki w tabeli Butchera dla niejawnych RK można uzależnić od punktów kolokacji a 12
z teorii kwadratur Gaussa maksymalny dokładność [do całkowania wielomianów stopnia 2s 1 ] uzyskujemy ywybierając punkty kolokacji (Gaussa) w s zerach wielomianów Legendre a. 2 punkty: Gauss scałkuje dokładnie w (t) gdy ta będzie wielomianem stopnia 3, stąd 4 ty rząd metody RK 2 punkty Gaussa: dokładnie scałkujemy do wielomianu trzeciego stopnia dla 2 punktów wybranych hjk jak popadło dokładnie d tlk tylko do pierwszego stopnia P 2 w przedziale [ 1,1] ma zera w ± sqrt(3) / 3 Przedział [ 1,1] w [0,1] mapowany wg. t := (x+1)/2 co daje punkty kolokacji niejawnej metody RK maksymalnej dokładności mamy przepis na generacje tablic Butchera z zer wielomianów Legendre a