Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałDagmara Szczepańska Został zmieniony 9 lat temu
1
region bezwzględnej stabilności dla ogólnej niejawnej metody RK
u’=lu, z=lDt dla metod niejawnych: nie można obciąć rozwinięcia Taylora, bo A pełna współczynnik wzmocnienia nie jest wielomianem, okazuje się, że jest funkcją wymierną |R(z)| 1 może być nieograniczony niejawna 1 stopniowa
2
region bezwzględnej stabilności dla ogólnej niejawnej metody RK
wsp wzmocnienia niejawnego RK metoda rzędu p ma współczynnik wzmocnienia, który do O(zp+1) zgadza się z eksponentą Współczynniki wzmocnienia jawnych RK – wielomany, niejawnych – funkcje wymierne przybliżenie Padé (j,k) funkcji exp(z) [funkcja wymierna będącą przybliżeniem exp(z) maksymalnego rzędu] Pk Qj nie mają wspólnych czynników (nie można uprościć ułamka) Warunek normalizacji: q0=1 Do wyznaczenia k+j+1 wartości. Rząd dokładności do uzyskania: k+j (bo od wykładnika 0 zaczynamy uzgadniać). Rjk(z)=exp(z)+O(zk+j+1)
3
+O(z3) +O(z3) p0=1 q1+1=0 (p0=1, q1=-1, q2=1/2) q1+1/2+q2/2=0
przykład: wyznaczyć przybliżenie Padé (j,k)=(2,0) funkcji exp(z) +O(z3) +O(z3) p0=1 q1+1=0 q1+1/2+q2/2=0 exp (p0=1, q1=-1, q2=1/2) R20 R20 pozostaje skończone dla rzeczywistego z, w przeciwieństwie do obciętego rozw. Taylora
4
dla s odsłon metoda rzędu 2s jest tylko jedna,
przybliżenia Padé Rjkfunkcji exp(z): współczynniki wzmocnienia metod RK jawny RK1 (Euler) RK2 (jawna) niejawny Euler RK Radaua s=1 niejawny jednostopniowy RK RK Radaua rzędu 2 dla s odsłon metoda rzędu 2s jest tylko jedna, a jej błąd wzmocnienia jest przybliżeniem Padé eksponenty Rss niejawny dwustopniowy RK RK Legendre’a 2stopniowy Metody, które prowadzą do diagonali oraz dwóch pierwszych poddiagonali tabeli Padé są A-stabilne (bezwzględnie stabilne dla Re(z)0) na diagonali Rss: |qs | = | ps | więc |R(z)|1 gdy |z| poniżej diagonali - dla (1,0),(1,2)(2,1) : |R(z)|0 gdy |z|
5
metoda jest L-stabilna jeśli jest A-stabilna oraz |R(z)|0 gdy |z|
definicja: metoda jest L-stabilna jeśli jest A-stabilna oraz |R(z)|0 gdy |z| L-stabilne A-stabilne najwyższego rzędu dokładności (czyli nie L-stabilne) przydatne, gdy rozwiązanie szybko oscyluje, czyli Re(l)0, ale |Im(l)|>>1 metody L-stabilne przydatne w problemach sztywnych gdy Re(l)<<0 wtedy okazuje się być opłacalne zrezygnować z wysokiej dokładności na rzecz stabilności
6
Rs=PsPs-1 Punkty kolokacji wybrane wg zer wielomianu Legendre’a
: maksymalny rząd 2s, metody A-stabilne, nie L-stabilne : ze współczynnikami wzmocnienia z diagonali tabeli Pade Osobna klasa to metody RK pochodzące od wielomianów Radaua (2s-1) definiowanych na podstawie wielomianu Legendre’a P jedno z zer wielomianu: na prawym końcu przedziału Rs=PsPs-1 Tabela Butchera dla RK Radaua s=2: RK Radaua: odpowiadają poddiagonali w tabeli Pade : są L-stabilne (lepsze od RK Legendre’a w problemach sztywnych)
7
NJRK 2, sposób rozwiązywania równań
predyktor= układ równań nieliniowych korektor (podstawienie po rozwiązaniu równań predyktora na U1, U2)
8
F(xn+Dx)=F(xn)+Dx F’(xn) -F(xn)=Dx F’(xn)
Niejawne metody RK = sposób rozwiązywania jawne RK = stosuje się kolejne podstawienia = łatwo niejawne RK = metoda Newtona F(x)=0 F(xn+Dx)=F(xn)+Dx F’(xn) -F(xn)=Dx F’(xn) korektor = tylko podstawienie m. Newtona jedno równanie predyktor: układ s równań nieliniowych do rozwiązania M. Newtona dla układu 2 równań macierz Jakobiego
9
Niejawne metody RK – rozwiązywanie równań predyktora
układ s : równań nieliniowych układ równań rozwiązywany w jednej iteracji na przesunięcia DUi było:
10
Niejawne metody RK – rozwiązywanie równań predyktora
układ s : równań nieliniowych układ równań rozwiązywany w jednej iteracji na przesunięcia DUi w każdej iteracji musimy wyliczyć s pochodnych f po u (w s chwilach czasowych)
11
niejawne RK dla układu 2 równań (laboratorium)
predyktor dla pojedynczego równania:
12
niejawne RK dla układu 2 równań (laboratorium)
predyktor dla pojedynczego równania: predyktor dla dwóch równań numer szukanej funkcji nr chwili
13
niejawne RK dla układu 2 równań (laboratorium)
predyktor dla pojedynczego równania: predyktor dla dwóch równań numer szukanej funkcji nr chwili w zapisie wektorowym: wracamy do formy dla pojedynczego równania U1=[U11,U12]T na laboratorium - f liniowe więc układ równań liniowych
14
Układ m równań różniczkowych rozwiązywany niejawną metodą RK
u, f, Ui wektory o m zmiennych niejawny schemat RK: (wzory jak dla pojedynczego równania, ale z arytmetyką wektorową) s równań predyktora to układ nieliniowy do rozwiązania gdy już mamy U korektor ma formę podstawienia [jak w jawnych RK] predyktor zapisany w formie układu s równań nieliniowych: tyle równań nieliniowych ile etapów w RK (s) każde przybliżenie Ui ma m składowych s wektorów o m składowych łącznie ms niewiadomych macierz m na m
15
Układ równań różniczkowych rozwiązywany niejawną metodą RK z iteracją Newtona
macierz m na m z oznaczeniem: macierz Jakobianu policzona w l-tej odsłonie (macierz m na m) to jest przepis na jeden krok iteracyjny, a iteracji może być wiele dla układów wielu (setek-tysięcy) układów równań wyliczenie (oszacowanie) Jakobianu w s odsłonach - nowych w każdej iteracji - może być kosztowne, wtedy rezygnujemy z liczenia J w każdej odsłonie
16
odpadają indeksy przy J i mamy
pomysł: zastosować Jakobiany wyliczone w chwili początkowej un-1 i nie zmieniać ich w czasie iteracji wtedy: przybliżony Jakobian nie zmienia rozwiązania gdy osiągniemy zbieżność może ją spowolnić albo uniemożliwić, ale przy dużych macierzach zazwyczaj się opłaca odpadają indeksy przy J i mamy J policzymy tylko raz, ale wykonamy więcej iteracji często opłaca się raczej dłużej iterować niż w każdej iteracji wyliczać s macierzy Jakobiego
17
Metody RK produkuje się na zamówienie
ze względu na dokładność A/L-stabilność 3) łatwość iterowania równań predyktora SDIRK
18
DIRK: macierz A jest dolnoprzekątniowa (diagonally implicit RK)
SDIRK: wszystkie wyrazy na diagonali są identyczne (singly diagonally implicit ...) metody DIRK: iteracja Newtona (układ równań) rozwiązywany blokowo metody SDIRK: dodatkowo pojedyncza faktoryzacja macierzy m na m (nie sm na sm) [dokładność najwyżej s+1 [zamiast maksymalnej (2s)] ale tania iteracja Newtona] wtedy macierz układu równań pojedynczej iteracji Newtona: wtedy macierz układu równań pojedynczej iteracji Newtona: ma postać
19
DIRK: macierz A jest dolnoprzekątniowa (diagonally implicit RK)
SDIRK: wszystkie wyrazy na diagonali są identyczne (singly diagonally implicit ...) metody DIRK: iteracja Newtona (układ równań) rozwiązywany blokowo metody SDIRK: dodatkowo pojedyncza faktoryzacja macierzy m na m (nie sm na sm) [dokładność najwyżej s+1 [zamiast maksymalnej (2s)] ale tania iteracja Newtona] wtedy macierz układu równań –F = MDU pojedynczej iteracji Newtona: ma postać zamiast faktoryzacji macierzy sm na sm (złożoność [sm]3 ) : faktoryzujemy tylko jedną macierze m na m : blok diagonalny [złożoność [m]3] dla s=4: 64 x szybciej rozwiązujemy równanie m na m na DU1 z pierwszego „wiersza blokowego” i przechodzimy do drugiego gdzie DU1 wykorzystana do złożenia prawej strony równania na DU2 itd..
20
½ ½ skonstruujmy SDIRK dla s=2, max p=s+1 warunki konieczne na wsp RK:
lp dla k p niezależne dla k>2 ½ ½ 1-a 1-2a ta z minusem : A-stabilna ta z plusem - nie
22
Równania różniczkowe zwyczajne: problem brzegowy [1D]
Równania różniczkowe zwyczajne jako szczególny przypadek problemów opisywanych przez eliptyczne równania cząstkowe Problem brzegowy a problem początkowy (case study) Metoda różnic skończonych (idea, rozwinięcie później) Metoda Numerowa Metoda strzałów problem początkowy problem brzegowy:
23
mówiliśmy, o równaniach różniczkowych
zwyczajnych opisujących wielkości dane funkcjami wyłącznie czasu, z warunkiem początkowym. Rozwiązaniem równań różniczkowych cząstkowych są zazwyczaj funkcje zarówno czasu i położenia (pole elektryczne, rozkładu temperatury, prędkości przepływu itp.) modelowe równania przy jednym wymiarze przestrzennym u(x,t): dyfuzji ciepła (paraboliczne) falowe (hiperboliczne) Poissona (eliptyczne)
24
eliptyczne niezależne od czasu: u =u(x) – wyłącznie funkcja położenia
stany ustalone, równowagowe itp. równania elektrostatyki, ustalony transport ciepła, przepływy cieczy w stanie ustalonym, etc. +S(x) Problem brzegowy: równanie różniczkowe (na razie zwyczajne) + warunek na rozwiązanie na brzegu. Brzeg w 1D: 2 punkty warunki brzegowe w 1D: na początku (x=0) i końcu pudła obliczeniowego (x=L) na wartość funkcji (Dirichleta) u(0)=a, u(L)=b na pochodną funkcji (Neumanna) u’(0)=a, u’(L)=b mieszane (Robina) u(0)+cu’(0)=a, u(L)+du’(L)=b
25
równanie Poissona (jednostki atomowe),
opis jednowymiarowy problemów wielowymiarowych Przykład nr 1) równanie Poissona (jednostki atomowe), gęstość ładunku zależna tylko od x albo rozkład temperatury w jednorodnej sztabce ze źródłami ciepła w kąpieli cieplnej układ jednorodny i rozległy w (y,z) + warunki brzegowe niezależne od y i z [płaski kondensator] interesuje nas rozkład potencjału w środku układu z y x warunki brzegowe: Dirichleta: wartość potencjału (temperatury) : Neumana: wartość pola elektrycznego (strumienia ciepła)
26
problem o wysokiej sferycznej symetrii
r-odległość od początku układu wsp. atom wodoru: obiekt sferyczny 3D jądro + elektron gęstość ładunku elektronowego zależy tylko od odległości od jądra: n(r)=- exp(-2r)/p. + gęstość ładunku jądra: p(r)=+d3(r) (jednostki atomowe) - równanie jest liniowe zasada superpozycji:
27
n(r)=- exp(-2r)/p. f+=1/r 1 2 3 4 5 r -n(r) / -f(r)
laplasjan we współrzędnych sferycznych „punktowy ładunek o nieskończonej gęstości w r=0” f+=1/r 1 2 3 4 5 r -n(r) / -f(r) składowa od gęstości elektronowej n(r)=- exp(-2r)/p.
28
n(r)=- exp(-2r)/p. gdy n(r) nieznane w postaci analitycznej – pozostaje rachunek numeryczny numeryczny rachunek f dla rozciągłej gęstości ładunku o symetrii sferycznej n: n(r) r r=0 zdyskretyzować równanie – zamiast wartości dla ciągłych r – wartości dyskretne Zamiast pochodnych ilorazy różnicowe zamiast równania różniczkowego - algebraiczny układ równań
29
(*) 1 2 3 4 5 r -n(r) / -f(r) WB: dla dużego r: f(r)=1/r (Dirichlet)
potrzebne warunki brzegowe na potencjał f (dla r=0 oraz dla „dużego” r) - cała sztuka w rozwiązywaniu problemów brzegowych to dobór odpowiednich w.b. i skuteczne ich wprowadzenie do równania tw. Gaussa 1 2 3 4 5 r -n(r) / -f(r) r. Poissona jakobian (*) duże R – całka potrójna dąży jedynki (z normalizacji n) duże R: E(R)=1/R2, f= - 1/R gdy powierzchnia pudła obliczeniowego obejmuje cały ładunek – potencjał – jak dla punktowego ładunku gdy rozkład gęstości rozciągły: 2) potencjał skończony dla r=0 (zamiast osobliwości 1/r) 3) jego pochodna znika w r=0 [E=zero dla małego r – patrz drugie równanie (*)] WB: dla dużego r: f(r)=1/r (Dirichlet) dla małego r: df(r)/dr=0 (Neumann)
30
f(0)=0 bo f(0) skończone, f (r=duże)= -1 bo f (r=duże) -1/r.
WB Neumanna – trudniejszy w zastosowaniu, chcemy go przekształcić w warunek Dirichleta warunki brzegowe na f f(0)=0 bo f(0) skończone, f (r=duże)= -1 bo f (r=duże) -1/r.
31
do rozwiązania problem algebraiczny:
spróbujmy ten problem rozwiązać numerycznie + f(0)=0, f(R)=-1, gdzie R promień pudła obliczeniowego| obejmujący całe n Iloraz różnicowy drugiej pochodnej (1) (2) (1) plus (2) trójpunktowy iloraz drugiej pochodnej do rozwiązania problem algebraiczny: r Dr f0=0 , fN=-1 f f f2
32
Układ równań liniowych rozwiązać i po sprawie.
f0=0 , fN=-1 Układ równań liniowych rozwiązać i po sprawie. ale: dokładność rachunku ograniczona dokładnością ilorazu różnicowego drugiej pochodnej poznaliśmy świetne metody do rozwiązania problemu początkowego może je spróbować zastosować?
33
ustawmy ten wzór jak dla problemu początkowego
alternatywa: ustawmy ten wzór jak dla problemu początkowego (jak liniową metodę wielokrokową): nasz problem początkowy - drugiego rzędu dla warunku początkowego: potrzebna funkcja+pochodna tzn. f0 i f1 Powiedzmy, że znamy 1) f 0 [bo znamy] 2) f1 [to powiedzmy] możemy wyliczyć f2 i następne. następnie: sprawdzimy, czy fN spełni WB na prawym końcu. Jeśli tak – problem rozwiązany
34
znamy f 0 i f1 wstawiamy analityczne, liczymy f2 i następne.
Dr = 0.1 Krzyżyki = r 1 . analityczne 1-(r+1)exp(-2r) numeryczne -f . 5 Katastrofa! . r 4 8 r 1 2 1 6 2 (WB na prawym końcu nie spełniony: rachunek numeryczny łamie prawo Gaussa potencjał daleko od źródła nie będzie -1/r ) Błąd okazuje się liniowy z r !
35
Błąd f jest linowy z r ! Jak to zrozumieć?
Pod nieobecność ładunku: (równanie Laplace’a) g(r)=ar+b. W naszym problemie n istotnie znika dla dużych r, gdzie rozwiązanie powinno być postaci g(r)=-1 (czyli a=0,b=-1) rozwiązanie równania Laplace’a g (jednorodnego) możemy zawsze dodać do rozwiązania równania Poissona f Z drugiej strony: g+f spełni równanie Poissona, ale warunki brzegowe – niekoniecznie W naszym wyniku: błąd polega na niezerowej wartości a. Skąd się ona bierze? Trójpunktowy schemat różnicowy drugiej pochodnej dokładnie różniczkuje nawet parabolę, więc dla funkcji typu ar+b się nie myli! wniosek: Z obszaru w którym n<>0 iteracja wychodzi z błędem. błąd pochodzi z całkowania n(r)
36
Cóż można poradzić żeby rozwiązanie numeryczne
nie odklejało się od dokładnego dla dużych r ? rozwiązać jednak problem (URL) z narzuconymi warunkami brzegowymi z obydwu stron zagęścić siatkę scałkować równanie wstecz spróbować wykorzystać lepszą (dokładniejszą) metodę f1 – zamiast analitycznego przyjąć taki, aby prawy warunek był spełniony (metoda strzałów) Dr = 0.1
37
w f1 wstawiona wartość analityczna
Zagęścić siatkę (metoda brutalnej siły) Dr = 0.01 Dr = 0.1 w f1 wstawiona wartość analityczna przy drobnym kroku przestrzennym nie generuje widocznego błędu
38
znamy potrzebne 2 wartości! fN = 1, fN-1=1
widzieliśmy, że schemat wychodził poza zakres n(r)<>0 z błędem, pomysł: scałkować równanie wstecz Zamiast do przodu: f0 = 1, f1=analityczne scałkujemy wstecz: znamy potrzebne 2 wartości! fN = 1, fN-1=1 Dr = 0.1 Całkowanie wstecz (od r=20) zoom do 2 kółka analityczne krzyżyki numeryczne Dr = 0.1 r Tam gdzie pojawia się ładunek, tam pojawiają się również błędy, ale nie narastają. dla r=0 : f (numeryczne) =6 10-6 zamiast zera Widzimy, że numeryczne jest nie gorzej liniowe od analitycznego
39
tajemnica naszego sukcesu:
Startowaliśmy w obszarze, gdzie n(r) znika czyli tam obowiązuje r. Laplace’a: Ustawiliśmy jego rozwiązanie na: a=0, b=-1. Dzięki temu: nie pozwoliliśmy domieszać się rozwiązaniu Laplace’a z innymi a i b błąd pojawia się tam gdzie ładunek, ale zbytnio nie rośnie g(r)=ar+b.
40
metoda różnic skończonych dla ustalonych WB
f0=0, fN=-1 układ równań rozwiązany iteracyjnie, (relaksacja) Dr = 0.1 r r rozwiązanie wstecz (gdzie właściwy WB w r=0 został odnaleziony) nie gorsze od relaksacji, gdzie spełnienie obydwu WB jest wymuszone. dlaczego błąd w rozwiązaniu do przodu jest tak wielki?
41
znowu całkowanie do przodu, ale tym razem:
f0 = 0, f1= wyliczone z relaksacji zamiast wzoru analitycznego dla Dr=0.1 „dokładne” rozwiązanie numeryczne jest nieco inne niż analityczne. (dokładne numeryczne: dokładne analityczne: ) r wniosek: błąd pierwszego podejścia polegał na zastosowaniu analitycznego wyniku na f1 ! Uwaga: to samo rozwiązanie uzyskujemy każdą z 3 metod. cały błąd leży teraz w ograniczonej dokładności ilorazu różnicowego.
42
dla całkowania do przodu:
Jeśli f1= analitycznie nie jest to najlepsze = odgadniemy: metoda strzałów f0=0, f1= dobieramy tak aby prawy wb był odtworzony f(r=daleko)=1, lub f’(r=daleko = 0) metoda strzałów: Służy do rozwiązania problemu brzegowego przy pomocy podejścia dedykowanego dla problemu początkowego: wstrzelić należy się w (nieznany) parametr określający przebieg = u nas f1.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.