u(0)=0 proste równanie traktowane jawnym schematem Eulera
niech >> 0 szybkozmienna składowa wolnozmienna prosty problem nieco skomplikujemy
rozwiązanie krok dt=0.02 jest bardzo drobny w porównaniu ze skalą zmienności składowej parabolicznej krzyżyki : t 2 kółka : t 2 + exp(-100t)
rozwiązanie dokładne dt=0.019 dt=0.02 dt=0.021 krok dt=0.02 okazuje się zbyt długi gdy włączyć składową szybkozmienną nawet tam, gdy znika ona z rozwiązania
rozwiązanie dokładne dt=0.019 dt=0.02 dt=0.021 część szybkozmienna gaśnie szybko, ale w schemacie jawnym Eulera nakłada ograniczenie na krok czasowy : u’=- u =100 dt<0.02, gdy szybkozmienna składowa zaniknie dt jest bardzo mały w porównaniu do skali zmienności u(t)
t Re( ) t Im ( ) 1 t Re( ) t Im ( ) -2 1 metoda Eulera jawna niejawna metoda Eulera regiony stabilności metod Eulera w metodzie niejawnej problemu ze stabilnością bezwzględna nie ma...
niejawna metoda Eulera: zastosowanie do problemu sztywnego dokładny dt=0.02 dt=0.04 rozwiązania są stabilne i dokładne dla dużych t nawet gdy dt duże dla małych t można wstawić mniejsze dt, potem krok zwiększyć
Problemy sztywne (drętwe) (stiff, stiffness) Problem jest praktyczny i ścisłej definicji, która byłaby użyteczna, nie ma. Jedna z możliwych: problem jest sztywny, gdy stosując schemat jawny musimy przyjąć krok czasowy bardzo mały w porównaniu ze skalą zmienności funkcji. RRZ jest problemem sztywnym gdy: 1.Problem jest charakteryzowany bardzo różnymi skalami czasowymi 2.Stabilność bzwz nakłada silniejsze ograniczenia na krok czasowy niż dokładność. 3.Metody jawne się nie sprawdzają. niech >> 0 szybkozmienna składowa wolnozmienna
Problemy sztywne (drętwe) (stiff) Ogólna postać układu równań pierwszego rzędu wektor R n fcja R R n R Tylko niekiedy można podać rozwiązanie w zamkniętej formie analitycznej. Można, np. dla jednorodnego problemu liniowego problem najczęściej spotykany dla układ równań różniczkowych opisujących sprzężone procesy o bardzo różnych skalach czasowych
gdzie np. problem rozpadu promieniotwórczego Izotop 2 o stałej rozpadu 2 rozpada się promieniotwórczo na inny izotop 1 o stałej rozpadu 1 c j liczone z warunku początkowego y 1 (0)=0 y 2 (0)=1 dla niezdegenerowanych wartości własnych problemy sztywne wartości własne – 1, – 2 rozłożyć warunek początkowy na wektory własne
problemy sztywne gdy duża rozpiętość między minimalną a maksymalną wartością własną | max / min |>>1: wektor własny który odpowiada największej wartości własnej wygaśnie najprędzej, ale (dla metod jawnych) pozostawi najsilniejsze ograniczenie dla kroku czasowego (np. Euler, RK2 dt<2/| max |) jesteśmy zmuszeni przyjąć malutki krok w porównaniu z przebiegiem rozwiązania (w przeciwnym wypadku eksplozja) duże różnice skal czasowych
podobny do poprzedniego problem sztywny z liniowego równania drugiego rzędu o bliskich współczynnikach następny przykład: wartości / wektory własne: -1 / [-1,1] T / [1,-1000] T bardzo różne skale czasowe u’’+1001u’+1000u=0
szczególnie dotkliwy przypadek: równanie niejednorodne (bez rozwiązania analitycznego) Rozwiązanie będzie miało postać: stan przejściowy (wszystkie zgasną) stan ustalony wolnozmienny Na czym polega problem? : Rozwiązując problem numerycznie metodą jawną (Euler, RK2) musimy przyjąć krok czasowy t < 2/| _max| aby uniknąć eksplozji rozwiązań nawet gdy wszystkie wyrazy z powyższej sumy w rozwiązaniu znikają problemy sztywne załóżmy, że wartości własne A są ujemne
y 2 (0)=1 y 1 (0)=0 1 =1/10 2 =1/ bardzo wolno się rozpada [taka i większa rozpiętość lambd typowa również dla reakcji chemicznych spotykana również dla układów elektrycznych] y 2 – izotop matka wolno rozpadająca się na y 1 y 1 – izotop szybko rozpadający się, niejednorodność: dodatkowo pewna ilość jest w stałym tempie doprowadzana z zewnątrz przy zaniedbywalnej wielkości 2 y 1 =0.5 spełnia pierwsze równanie
tol=0.001 t t tt automatyczna kontrola kroku czasowego dla jawnego RK2 z krokiem czasowym ustawianym przez ekstrapolację Richardsona tol= w obydwu przypadkach t tylko chwilowo przekracza krytyczną wartość 2/(1/10)=20 zęby: zaakceptowane błędy y y t 1 =1/10 2 =1/10 000
RK / 1
Wzór trapezów stały krok, bardzo dłuuugi stały t=200 nic złego się nie dzieje ze stabilnością w stanie „ustalonym” Zastosujmy metodę A-stabilną = wzór trapezów (p=2) t y
Wzór trapezów i krok automatycznie dobierany przez ekstrapolację Richardsona tol=0.01 kropki -tam gdzie postawiony krok Krok czasowy – zmienność 4 rzędów wielkości. raptem 10 kroków i załatwione! zamiast 10 4 kroków RK4 t t y y
trapezy (najdokładniejsza metoda A-stabilna spośród wielokrokowych) tt maksymalnie parę tysięcy metoda trapezów: jako A-stabilna radzi sobie nieźle z doborem kroku czasowego w problemach sztywnych – ale jest stosunkowo mało dokładna dokładniejsza A-stabilna pozwoliłaby stawiać jeszcze dłuższe kroki niestety = dokładniejszej A-stabilnej tej w klasie metod (liniowe wielokrokowe) nie ma dlatego : niejawne metody RK (jednokrokowe, nieliniowe) poziom jawnych RK t y t z tolerancją
trapezy z tolerancją (najdokładniejsza metoda A-stabilna spośród wielokrokowych) niejawna dwustopniowa metoda RK (rzędu 4) z tolerancją (A-stabilna) tt tt maksymalnie parę tysięcy maksymalnie kilkadziesiąt tysięcy t t tt y y
Mówimy, że RRZ jest problemem sztywnym gdy: 1.Problem jest charakteryzowany różnymi skalami czasowymi. 2.Stabilność bzwz nakłada silniejsze ograniczenia na krok czasowy niż dokładność. 3.Metody jawne się nie sprawdzają. Następny przykład: sztywny problem w pojedynczym równaniu: dla dużych t – rozwiązanie ustalone u(t)=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
z u(0)=2 rozwiązanie: „stacjonarne” u(t)=cos(t) t < 2/| | rozpoznajemy ograniczenie: Stały krok czasowy: jawny schemat Eulera
niejawny schemat Eulera – krok stały dt=0.1 dt=0.2 dt=0.5 tutaj: startowane od warunku u(0)=1
wyniki do uzyskania na laboratorium start u(0)=2,tolerancja 1e-2 niejawny, jawny, cos (t) niejawny jawny t niejawny Euler tolerancja 1e-3 niejawny, jawny, cos (t) tol1e-2 tol1e-3 tol 1e-6 akceptowane dt gdy wymagana b. duża dokładność niejawny stawia równie krótkie kroki co jawny, obydwie metody tego samego rzędu dokładności akceptowane dt
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) =100 jawny RK4 = zmienny krok czasowy =1 punkt u(t) policzony = krzyż po lewej: krzyże położone rozsądnie w porównaniu ze zmiennością rozwiązania po prawej: problem sztywny gładkie rozwiązanie a krzyże się zlewają u tt u
równanie: czasem sztywne czasem nie przydałoby się narzędzie do wykrywania sztywności np. dla podjęcia decyzji: tam gdzie sztywność = schemat niejawny tam gdzie nie = schemat jawny (tańszy) t u
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 u(t) od u * u(t)= u * (t) + u(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) + u(t) po wyeliminowaniu problem zlinearyzowany w chwili t * : A=J(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 stabilności używanej metody dla wszystkich i. Jeśli duża rozpiętość : problem będzie sztywny. -przybliżone zachowanie rozwiązania w okolicach t,u * (t)
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:
t t niebieskie i czarne: części rzeczywiste wartości własnych =1 =100 dt t t jawny RK +automat dt w w
t t =1 =100 dt t t jawny RK +automat dt w w t u(t)
Metody RK – własności tabel Butchera 1)do regionów stabilności jawnych RK 2) do metod niejawnych RK ogólna dla metod jawnych w wersji ogólnej (niejawnej = sumowanie do s)
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
zażądajmy aby rozwiązania 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: / /61/3 1/6 rozwiązania pośrednie = mniej dokładne niż wynik końcowy, ale:
Zastosowanie do tabeli Butchera RK4: metoda RK rzędu dokładności p jeśli działać będzie dokładnie dla wielomianów stopnia p dla l=1,2,...,p z rozwiązaniem: wstawić / /61/3 1/6 ½= 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= 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. l =1 poznajemy
można podać więcej rozważając inne równania i wykorzystując założony rząd dokładności metody. [zapisujemy dla ogólnej, tj. ewentualnie niejawnej RK] u’= u w notacji wektorowej z oznaczeniami: (1) (2) 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 dla l=2 da wzór po lewej (zał. że pośrednie min rzędu 2) oraz 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 macierz A dla jawnych dolna trójkątna bez diagonali dla m s dlatego: - możemy urwać drugą sumę współczynnik wzmocnienia dla jawnych RK jest wielomianem dla k=1,2,..,p
Liczba kroków a rząd zbieżności jawnych metod RK: rząd p minimalna liczba odsłon s czyli dla p 4 druga suma znika, mamy dokładnie: rozwiązanie dokładne u=exp( t) RK dokładności p dokładnie odtwarza pierwsze p wyrazów rozwinięcia Taylora rozwiązania dokładnego stąd współczynnik wzmocnienia dla RK1,RK2,RK3 i RK4 rząd dokładności liczba stopni (odsłon) metody zamiast
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 jest niezależny od wyboru a,b,c ! w szczególności dwie poznane metody rzędu drugiego: mają ten sam region stabilności
dt Im( ) dt Re( ) rejony bezwzględnej stabilności jawnych metod RK w s-odsłonach dla danego s – rejony identyczne dla wszystkich wariantów Euler RK2 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)