• Nie Znaleziono Wyników

Kontrola kroku czasowego oraz problemy sztywne

N/A
N/A
Protected

Academic year: 2021

Share "Kontrola kroku czasowego oraz problemy sztywne"

Copied!
50
0
0

Pełen tekst

(1)

Szacowanie błędu lokalnego w metodach jednokrokowych

Po co?

1) W rachunkach numerycznych musimy znać oszacowanie błędu 2) Gdy oszacowanie jest w miarę dokładne: można poprawić wynik 3) Aby ustawić krok czasowy tak, aby błąd był akceptowalny

(2)

Oszacowanie błędu lokalnego w metodach jednokrokowych

wybór b1=0, b2=1, c=1/2, a=1/2 dawał RK2 punktu środkowego W każdym kroku generujemy nowy błąd w rachunkach. Znamy jego rząd.

dla RK: wstawialiśmy rozwiązanie dokładne do schematu i je rozwijaliśmy w szereg T.

Rozwijając do jednego rzędu wyżej z Dt uzyskamy oszacowanie błędu lokalnego

dn= u(tn) - un [przy założeniu, że u(tn-1) = un-1]

(3)

Oszacowanie błędu (lokalnego) w metodach jednokrokowych

1) ekstrapolacja Richardsona (step doubling) 2) osadzanie (embedding)

może zależeć od tn-1 oraz un-1, ale nie zależy od Dt metodą rzędu p z chwili tn-1 wykonujemy krok do tn

folia wcześniej

(4)

tn-1 tn tn+1 tn-1 tn+1 Dt Dt 2Dt ekstrapolacja Richardsona

dwa kroki Dt: dostaniemy lepsze oszacowanie u(tn+1)

jeden krok 2Dt: dostaniemy gorsze oszacowanie u(tn+1)

(5)

błąd lokalny u(tn)-un=dn jest:

wykonujemy krok następny od tn do tn+1

1) zakładamy, że krok jest na tyle mały, że stała błędu się nie zmienia Cn Cn+1

(lub, ze w jednym kroku zmienia się o O(Dt)]

wtedy błąd lokalny popełniony w chwili tn+1 jest dn+1 dn. 2) gdy krok mały: współczynnik wzmocnienia błędu g  1

(błąd popełniony w kroku pierwszym nie jest istotnie wzmacniany)

Przy tym założeniu: błąd po drugim kroku – suma błędów g dn+dn+1  2dn, ekstrapolacja

Richardsona

(6)

to chwili tn+1 dojdziemy z tn-1 w pojedynczym kroku 2Dt

tn-1 tn tn+1

tn-1 tn+1

Dt Dt

2Dt

chcemy poznać Cn (to + znajomość p da nam oszacowanie błędu): odejmujemy niebieskie wzory tak aby wyeliminować rozwiązanie dokładne (nam niedostępne)

dostaniemy gorsze oszacowanie u(tn+1) ekstrapolacja

(7)

ekstrapolacja Richardsona

błąd wykonany po dwóch krokach Dt wynosi więc:

(8)

ekstrapolacja Richardsona

podnosimy rząd dokładności metody „algorytm”

(9)

Przykład:

Euler po poprawce: błąd lokalny O(

D

t

3

)

kreski: RK2 punktu środkowego (p=2), b.lok. O(

D

t

3

)

ekstrapolacja Richardsona

znając rząd dokładności możemy radykalnie poprawić dokładność metody przy natdatku (50 procent) numeryki

r. dokładne:

(10)

Euler

RK2

RK2 z odciętym błędem

(11)

Oszacowanie błędu lokalnego w metodach jednokrokowych 1) ekstrapolacja Richardsona (step doubling)

2) osadzanie (embedding)

cel: szacujemy błąd lokalny metody rzędu p przy pomocy lepszej metody, np. rzędu p+1

obydwie metody szacują rozwiązanie w tych samych chwilach czasowych

co daje oszacowanie błędu gorszej metody

nie nadaje się do poprawiania schematu p po cóż zresztą

(12)

JAKI KROK CZASOWY SYMULACJI USTAWIĆ gdy coś ciekawego zdarza się tylko czasem ?

celem szacowania błędu nie jest poprawa wyniku,

(dla poprawy zawsze można Dt zmienić) lecz adaptacja Dt :

(13)

Automatyczna kontrola kroku czasowego dla metod jednokrokowych

D

t(nowy)=(

S

tol /E)

1/(p+1)

D

t

dla bezpieczeństwa S<1

D

t(nowy)=(tol/E)

1/(p+1)

D

t

Program może sam dobierać krok czasowy w zależności od tego co dzieje się w symulacji.

Szacujemy błąd lokalny E (ekstrapolacja Richardsona lub metody embedding) Chcemy utrzymać błąd na poziomie zbliżonym do parametru tol.

nie większy aby zachować wymaganą dokładność,

nie mniejszy aby nie tracić czasu na rachunki zbyt dokładne

E=C[

D

t]

p+1

chcemy zmienić krok odpowiednio do naszych wymagań z Dt do Dt(nowy)

tol=C[

D

t(nowy)]

p+1

wzór zwiększy zbyt mały krok i vice versa uwaga: błąd jest szacowany, zawsze warto dorzucić sztywne ograniczenia na Dt

(14)

Automatyczna kontrola kroku czasowego dla metod jednokrokowych

jeśli E<tol

{ tn:=tn+Dt

n:=n+1 (oznacza akceptację wyniku) }

D

t:=(

S

tol /E)

1/(p+1)

D

t

do {

} while ( t<T)

symulacja ustawiająca krok czasowy może wyglądać np. tak: u0= warunek początkowy

t0=0 n=1

(15)

Przykład: oscylator harmoniczny używane oszacowanie błędu z RK2

Uwaga: tutaj rozwiązania nie poprawiamy przez ekstrapolacje tol=1e-2 tol=1e-3 start

x

2

V

2

D

t

algorytm ustawia minimalny krok czasowy

gdy zmiany prędkości

lub położenia są maksymalne

RK2

tolerancja błędu obcięcia tol=0.1 x (t) V ( t) x (t) V ( t) x (t) V ( t)

(16)

wyniki Konrada Rekiecia

RK2

tol=.1

RK4 E(t)

RK4 – spirala się skręca zamiast rozkręcać

przy założonej tolerancji RK4 wcale nie jest

(17)

dt

(18)
(19)

u(0)=0

0.0 0.4 0.8 1.2 1.6 2.0

0

1

2

3

4

5

dt=0.02 dt=0.2 u=t2

proste równanie

traktowane jawnym

schematem Eulera

(20)

niech a >> 0 szybkozmienna składowa składowa wolnozmienna 0.00 0.20 0.40 0.60 0.80 1.00 0.00 0.20 0.40 0.60 0.80 1.00 a=10

prosty problem

nieco komplikujemy

(21)

rozwiązanie a=0

krok dt=0.02

jest bardzo drobny w porównaniu

ze skalą zmienności składowej parabolicznej

krzyżyki : t2

(22)

0.00 0.10 0.20 0.30 0.40 0.50 -10.00 -5.00 0.00 5.00 10.00 rozwiązanie dokładne dt=0.019 dt=0.02 dt=0.021 a=100 krok dt=0.02

okazuje się zbyt długi

gdy włączyć składową szybkozmienną nawet tam, gdy znika ona z rozwiązania

(23)

0.00 0.10 0.20 0.30 0.40 0.50 -10.00 -5.00 0.00 5.00 10.00 rozwiązanie dokładne dt=0.019 dt=0.02 dt=0.021 a=100

część szybkozmienna gaśnie szybko, ale w schemacie jawnym Eulera nakłada ograniczenie na krok czasowy : u’=-au

a=100  dt<0.02, gdy szybkozmienna składowa zaniknie dt jest bardzo mały w porównaniu do skali zmienności u(t)

(24)

Dt Re(l) Dt Im (l) 1 -1 Dt Re(l) Dt Im (l) -2 -1 1 -1

metoda Eulera jawna niejawna metoda Eulera regiony stabilności metod Eulera

w metodzie niejawnej problemu

(25)

niejawna metoda Eulera:

zastosowanie do problemu sztywnego

0.00 0.10 0.20 0.30 0.40 0.50 0.00 0.20 0.40 0.60 0.80 1.00 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ć

(26)

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 a >> 0 szybkozmienna składowa składowa

wolnozmienna 0.00 0.20 0.40 0.60 0.80 1.00 0.00 0.20 0.40 0.60 0.80 1.00

(27)

Problemy sztywne (drętwe) (stiff)

Ogólna postać układu równań pierwszego rzędu

wektor Rn

fcja RRn 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

(28)

gdzie

np. problem rozpadu promieniotwórczego

Izotop 2 o stałej rozpadu l2 rozpada się promieniotwórczo na inny izotop 1 o stałej rozpadu l1 cj 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 –l1, –l2

rozłożyć warunek początkowy na wektory własne

(29)

problemy sztywne

gdy duża rozpiętość między minimalną

a maksymalną wartością własną |lmax/lmin|>>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/|lmax|)

jesteśmy zmuszeni przyjąć malutki krok w porównaniu z przebiegiem rozwiązania (w przeciwnym wypadku eksplozja)

(30)

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

-1000 / [1,-1000]T bardzo różne

skale czasowe

(31)

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 Dt < 2/|l_max| aby uniknąć eksplozji rozwiązań

nawet gdy wszystkie wyrazy z powyższej sumy w rozwiązaniu znikają

problemy sztywne

(32)

y

2

(0)=1

y

1

(0)=0

l

1

=1/10

l

2

=1/10 000

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]

1 10 100 1000 10000 100000 t 0.0 0.5 1.0 y2 y1 0 10000 20000 30000 t 0.0 0.5 1.0 y2 y1

y2 – izotop matka wolno rozpadająca się na y1

y1 – izotop szybko rozpadający się, niejednorodność: dodatkowo pewna ilość jest w stałym tempie doprowadzana z zewnątrz

przy zaniedbywalnej wielkości l2

y1=0.5 spełnia pierwsze

(33)

0 40000 80000 120000 160000 0 0.2 0.4 0.6 0.8 1 y2 y1 tol=0.001 0 4000 8000 12000 16000 0 10 20 30 40 50 y1 t t Dt 0 40000 80000 120000 160000 0 0.2 0.4 0.6 0.8 1 y2 y1

automatyczna kontrola kroku czasowego dla jawnego RK2

z krokiem czasowym ustawianym przez ekstrapolację Richardsona

tol=0.00001 0 4000 8000 12000 16000 0 10 20 30 40 50 y1 w obydwu przypadkach Dt tylko chwilowo przekracza krytyczną wartość 2/(1/10)=20 zęby: zaakceptowane błędy

y

y

t

l

1

=1/10

(34)

RK4

(35)

0 10000 20000 30000 40000 50000 0.00 0.20 0.40 0.60 0.80 1.00

Wzór trapezów

stały krok, bardzo dłuuugi

stały

D

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

(36)

Wzór trapezów i krok automatycznie dobierany

przez ekstrapolację Richardsona

0 10000 20000 30000 40000 50000 0.00 0.20 0.40 0.60 0.80 1.00 10 100 1000 10000 0.00 0.20 0.40 0.60 0.80 1.00

tol=0.01 kropki

-tam gdzie

postawiony krok

10 100 1000 10000100000 t 1 10 100 1000 10000 100000 D t

Krok czasowy – zmienność 4 rzędów

wielkości.

raptem 10 kroków i załatwione!

zamiast 10

4

kroków RK4

t

t

(37)

trapezy (najdokładniejsza metoda A-stabilna spośród wielokrokowych) 10.00 100.00 1000.00 10000.00 100000.00 0.00 0.20 0.40 0.60 0.80 1.00 10.00 100.00 1000.00 10000.00 100000.00 0.10 1.00 10.00 100.00 1000.00 10000.00

Dt 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ą 0.00001

(38)

trapezy z tolerancją 0.00001 (najdokładniejsza metoda A-stabilna spośród wielokrokowych) 10.00 100.00 1000.00 10000.00 100000.00 0.00 0.20 0.40 0.60 0.80 1.00 10.00 100.00 1000.00 10000.00 100000.00 0.10 1.00 10.00 100.00 1000.00 10000.00 niejawna dwustopniowa metoda RK (rzędu 4) z tolerancją 0.00001 (A-stabilna) 1.00 10.00 100.00 1000.00 10000.00 100000.00 1000000.00 0.00 0.20 0.40 0.60 0.80 1.00 1.00 10.00 100.00 1000.00 10000.00 100000.00 1000000.00 0.10 1.00 10.00 100.00 1000.00 10000.00 100000.00 Dt Dt

maksymalnie parę tysięcy

maksymalnie kilkadziesiąt tysięcy

t

t

t

t

y

y

(39)

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)

8 9 10 11 12 t -1 0 1 2 cos(t)

dwie bardzo różne skale czasowe 1) rozwiązania ustalonego okres 2pi 2) skala czasowa tłumienia

„odchylenia od stanu ustalonego”

(40)

z u(0)=2

rozwiązanie: „stacjonarne”

u(t)=cos(t)

0

1

2

t

-4

0

4

Euler

dt = 0.01

dt=0.019

dt=0.021

dt=0.02

Dt < 2/|100|

rozpoznajemy

ograniczenie:

Stały krok

czasowy:

(41)

niejawny schemat Eulera – krok stały

0

1

2

-0.8

-0.4

0.0

0.4

0.8

1.2

dt=0.1

dt=0.2

dt=0.5

(42)

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 0.00 5.00 10.00 15.00 20.00 25.00 t 0.0001 0.001 0.01 0.1 1 10 a k c e p to w a n e d t 0.00 1.00 2.00 3.00 t -1 0 1 2 u 0.00 1.00 2.00 3.00 t -1 0 1 2 u 0.00 5.00 10.00 15.00 20.00 25.00 t 0 0.1 0.2 0.3 0.4 u ak cep towa ne dt 0.00 5.00 10.00 15.00 20.00 25.00 t 0 0.004 0.008 0.012 0.016 u ak cep towa ne 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 ak cep tow an e dt

(43)

następny przykład: równanie swobodnego oscylatora van der Pola

[historycznie = odkrycie deterministycznego chaosu w lampach firmy Philips aperiodyczne oscylacje przy periodycznym wymuszeniu ]

(l=0 = zwykły o. harmoniczny) 0.00 40.00 80.00 120.00 160.00 200.00 -4.00 -2.00 0.00 2.00 4.00 l=100 jawny RK4 = zmienny krok czasowy

0.00 40.00 80.00 120.00 160.00 200.00 -4.00 -2.00 0.00 2.00 4.00 l=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

t

t

(44)

0.00 40.00 80.00 120.00 160.00 200.00 -4.00 -2.00 0.00 2.00 4.00

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

(45)

Detekcja sztywności

dla problemu nieliniowego

(dla liniowego = wystarczy rozwiązać problem własny macierzy układu równań)

układ N równań (u,f-wektory)

w chwili t rozwiązanie u

*

(t)

rozwiązanie chwilę później opisane przez odchylenie

d

u(t) od u

*

u(t)= u

*

(t) +

d

u(t)

linearyzacja: zakładamy, że odchylenie małe, rozwijamy

f(t,u) względem u wokół f(t,u

*

): [Taylor dla wektora]

(46)

problem zlinearyzowany

B bez znaczenia dla stabilności

rozwiązać problem własny A: dostaniemy wartości własne

l

i:

Aby rachunek się powiódł:

D

t

l

i

musi leżeć w regionie

stabilności używanej metody dla wszystkich i.

Jeśli duża rozpiętość

l

: problem będzie sztywny.

(47)

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ść

(48)

Przykład detekcja sztywności dla: oscylatora van der Pola

(49)

0.0 40.0 80.0 120.0 160.0 200.0 -200.0 -100.0 0.0 100.0 200.0 0.0 40.0 80.0 120.0 160.0 200.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 t t

niebieskie i czarne: części rzeczywiste wartości własnych

l=1 l=100 0.00 40.00 80.00 120.00 160.00 200.00 0.00 0.05 0.10 0.15 0.20 0.25 dt 0.00 40.00 80.00 120.00 160.00 200.00 0.00 0.20 0.40 0.60 0.80 dt t t jawny RK +automat dt

w

w

(50)

0.0 40.0 80.0 120.0 160.0 200.0 -200.0 -100.0 0.0 100.0 200.0 0.0 40.0 80.0 120.0 160.0 200.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 t t l=1 l=100 0.00 40.00 80.00 120.00 160.00 200.00 0.00 0.05 0.10 0.15 0.20 0.25 dt 0.00 40.00 80.00 120.00 160.00 200.00 0.00 0.20 0.40 0.60 0.80 dt t t jawny RK +automat dt 0.00 40.00 80.00 120.00 160.00 200.00 -4.00 -2.00 0.00 2.00 4.00

w

w

0.00 40.00 80.00 120.00 160.00 200.00 -4.00 -2.00 0.00 2.00 4.00 t u(t) u(t)

Cytaty

Powiązane dokumenty

pracownika stadniny, przejechać.. Karta pracy do e-Doświadczenia Młodego Naukowca opracowana przez: KINGdom Magdalena Król. Klasa I Tydzień 24 Scenariusz 1 Film

Rozwijające się życie polityczne w wolnym kraju prowokuje do czerpania z jego twórczości jako księgi cytatów.. Rodzi to pewne nadzieje, ale także

Głównym wynikiem pracy jest udowodnienie prawdziwości hipotezy, ale przy dodatkowym założeniu, że miara Gaussa rozważanych zbiorów jest nie większa od pewnej stałej c &gt;

Czy można dobrać parametr a tak, aby podane funkcje były gęstościami pewnego rozkładu zmiennej losowej?.

Czy można dobrać parametr a tak, aby podane funkcje były gęstościami pewnego rozkładu zmiennej losowej?.

Śląsko-Małopolskie Centrum Kompetencji Zarządzania Energią..

Zawsze trwa on i jest wszędzie obec- ny, i poprzez swoje istnienie, które jest istnieniem zawsze i wszędzie, konstytuuje trwanie i przestrzeń.. Ponieważ każda cząstka

nowicie stało się poniekąd okazją, aby dostatecznie głośno i wyraźnie wskazać na bardzo ważny „punkt” w „rachunku sumienia”, do którego Piotr naszych czasów