Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Szymon Jaranowski Nr albumu: 236042 Nieciągła metoda Galerkina dla eliptycznych równań różniczkowych o nieciągłych współczynnikach Praca magisterska na kierunku MATEMATYKA w zakresie MATEMATYKI STOSOWANEJ Praca wykonana pod kierunkiem prof. dra hab. Maksymiliana Dryji Instytut Informatyki Październik 2011
Oświadczenie kierującego pracą Potwierdzam, że niniejsza praca została przygotowana pod moim kierunkiem i kwalifikuje się do przedstawienia jej w postępowaniu o nadanie tytułu zawodowego. Data Podpis kierującego pracą Oświadczenie autora (autorów) pracy Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowa została napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposób niezgodny z obowiązującymi przepisami. Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem procedur związanych z uzyskaniem tytułu zawodowego w wyższej uczelni. Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załączoną wersją elektroniczną. Data Podpis autora (autorów) pracy
Streszczenie Nieciągłe metody Galerkina są w ostatnich latach intensywnie wykorzystywane do numerycznego rozwiązywania równań różniczkowych cząstkowych. Metody te są szczególnie ważne w zagadnieniach eliptycznych o nieciągłych współczynnikach. Celem tej pracy jest wykazanie przydatności tych metod do rozwiązywania wyżej wymienionych równań w przypadku nieciągłości współczynników o dużym skoku. Praca, na przykładzie równania różniczkowego zwyczajnego drugiego rzędu z warunkami brzegowymi Dirichleta, analizuje zbieżność tej metody i przedstawia wyniki symulacji numerycznych pokazujące wpływ nieciągłości współczynników na jakość rezultatów. Słowa kluczowe metody numeryczne, nieciągła metoda Galerkina, zagadnienie Dirichleta, numeryczne równania różniczkowe cząstkowe, eliptyczne równania różniczkowe cząstkowe, eliptyczne równania różniczkowe cząstkowe o nieciągłych współczynnikach z dużym skokiem 11.1 Matematyka Dziedzina pracy (kody wg programu Socrates-Erasmus) 65 Numerical Analysis Analiza numeryczna Klasyfikacja tematyczna 65N Partial differential equations, boundary value problems Równania różniczkowe cząstkowe, zagadnienia brzegowe 65N30 Finite elements, Rayleigh-Ritz and Galerkin methods, finite methods Metody: elementu skończonego, Rayleigh a-ritza, Galerkina Tytuł pracy w języku angielskim Discontinuous Galerkin Method for Solving Elliptic Differential Equations with Discontinuous Coefficients
Spis treści Wprowadzenie....................................... 5 1. Zagadnienie różniczkowe............................... 7 1.1. Rozwiązanie uogólnione.............................. 7 1.2. Analiza sformułowania uogólnionego....................... 8 2. Dyskretyzacja nieciągłą metodą Galerkina................... 9 2.1. Przestrzeń dyskretna................................ 9 2.2. Sformułowanie dyskretne.............................. 10 2.2.1. Wyprowadzenie............................... 10 2.2.2. Analiza sformułowania dyskretnego.................... 13 2.3. Oszacowanie błędu................................. 15 3. Implementacja..................................... 19 3.1. Postać algebraiczna................................. 19 3.2. Eksperymenty numeryczne............................. 21 3.2.1. Numeryczne rzędy zbieżności....................... 22 3.2.2. Wrażliwość metody na dobór zbyt małej stałej kary.......... 22 3.2.3. Wrażliwość metody na duży skok współczynnika............ 24 3.2.4. Numeryczne uciąglenie współczynnika................. 25 Podsumowanie....................................... 29 Bibliografia......................................... 31 3
Wprowadzenie Niniejsza praca poświęcona jest numerycznemu rozwiązaniu równania różniczkowego zwyczajnego drugiego rzędu o nieciągłych współczynnikach z warunkami brzegowymi Dirichleta. Zagadnienie to zdyskretyzowane zostało za pomocą nieciągłych metod Galerkina, których zasadniczą ideą jest dopuszczenie funkcji nieciągłych jako rozwiązań przybliżonych. Nieciągłości rozwiązań występują w ustalonych punktach, a skoki w tych punktach są kontrolowane przez odpowiednie parametry (tak zwane stałe kary). Nieciągłe metody Galerkina są intensywnie wykorzystywane do numerycznego rozwiązywania równań różniczkowych cząstkowych. Spełniają one lokalnie prawa zachowania masy, w związku z czym mają wiele zastosowań w rozwiązywaniu równań pojawiających się w fizyce, zwłaszcza w elektrodynamice i mechanice płynów, zob. np. [7]. Celem pracy jest, po pierwsze, przeprowadzenie teoretycznej analizy zbieżności nieciągłej metody Galerkina oraz, po drugie, implementacja algorytmu i przeprowadzenie eksperymentów numerycznych. Praca składa się z niniejszego Wprowadzenia, trzech rozdziałów oraz Podsumowania. Rozdział 1 zawiera przedstawienie modelowego zagadnienia różniczkowego, definicję uogólnionego rozwiązania tego zagadnienia oraz stwierdzenie (na bazie literatury) istnienia i jednoznaczności jego rozwiązania. Rozdział 2 stanowi opis dyskretyzacji uogólnionego sformułowania rozpatrywanego zagadnienia za pomocą nieciągłej metody Galerkina. Rozdział ten zawiera także dowód istnienia rozwiązania zagadnienia dyskretnego i jego jednoznaczności, a także analizę zbieżności metody, wraz z twierdzeniem o oszacowaniu błędu. Rozdział 3 stanowi opis implementacji, a także zawiera wyniki przeprowadzonych eksperymentów numerycznych mających potwierdzić (między innymi) oszacowania teoretyczne błędu metody w różnych normach i przy różnych skokach współczynnika. Implementacja algorytmu w pakiecie GNU Octave jest moim oryginalnym wkładem. Przy założeniu ciągłości strumienia eksperymenty potwierdziły teoretyczne oszacowania (niezależnie od skoku współczynnika). Praca oparta jest na książce [7] (wyprowadzenie metody, większość definicji i oznaczeń), oraz artykule [2] (opracowanie teoretyczne, twierdzenia o oszacowaniu błędu). Implementacja nieciągłej metody Galerkina wykorzystana do przeprowadzenia dyskutowanych w rozdziale 3 eksperymentów numerycznych, jest napisana przeze mnie. Początkowo projekt pracy przewidywał wykorzystanie nieciągłej metody Galerkina do numerycznego rozwiązania dwuwymiarowego zagadnienia różniczkowego. W związku z czasochłonnym i żmudnym procesem implementacji poprzestałem na zagadnieniu jednowymiarowym. 5
Rozdział 1 Zagadnienie różniczkowe Rozważmy następujące zagadnienie różniczkowe: ( ϱ(x) u (x) ) = f(x), x Ω (0, 1), (1.1a) u(0) = 0, u(1) = 0. (1.1b) (1.1c) Będzie ono rozważane w sensie uogólnionym, zob. (1.4). Dlatego zakładamy, że f L 2 (Ω). Załóżmy ponadto, że ϱ L (Ω) i istnieją dwie dodatnie stałe ϱ 1 oraz ϱ 2 takie, że współczynnik ϱ spełnia podwójną nierówność x Ω ϱ 1 ϱ(x) ϱ 2. (1.2) W niniejszej pracy współczynnik ϱ będzie kawałkami stały. Będzie mógł mieć punkty nieciągłości w skończenie wielu punktach w Ω, w tak zwanych punktach siatki, szczegóły w rozdziale 2. 1.1. Rozwiązanie uogólnione Zakładamy, że wszystkie pochodne we wzorach (1.1a) (1.1c) rozumiemy w sensie uogólnionym (jako słabe pochodne, oznaczamy je Du w odróżnieniu od klasycznych u ). Przyjmijmy następujące oznaczenia: B[u, v] ϱ(x) Du Dv dx, (1.3a) f(v) Ω Ω fv dx. (1.3b) Stosujemy tu, w (1.3b), wygodną (i nie prowadzącą do nieporozumień) kolizję oznaczeń, mianowicie funkcjonał zadany przez funkcję w L 2 (Ω) oznaczamy tym samym symbolem f. Jak wiadomo przestrzeń ciągłych, liniowych funkcjonałów L 2 (Ω) jest izometrycznie izomorficzna z L 2 (Ω), więc oznaczenie jest w pełni uzasadnione, zob. [3]. Definicja 1.1.1 (słabe rozwiązanie). Funkcję u H0 1 (Ω) nazwiemy słabym rozwiązaniem zagadnienia (1.1), jeśli dla każdej funkcji v H0 1 (Ω) zachodzi równość B[u, v] = f(v). 7
Dla porządku podamy także uogólnione sformułowanie zagadnienia (1.1) wykorzystujące oznaczenia (1.3). Sformułowanie uogólnione (zagadnienia (1.1)). Znaleźć funkcję u H0 1 (Ω) taką, że 1.2. Analiza sformułowania uogólnionego v H 1 0 (Ω) B[u, v] = f(v). (1.4) Pomimo nieciągłości współczynnika ϱ, zagadnienie (1.4) jest dobrze postawione, czyli jego rozwiązanie istnieje, jest jednoznaczne i stabilne. Istnienie i jednoznaczność rozwiązania uogólnionego dla dowolnej funkcji f L 2 (Ω) i współczynnika ϱ L (Ω) gwarantuje nam lemat Laxa-Milgrama. Można go znaleźć na przykład w książce [3]. Nietrudno pokazać też stabilność rozwiązania uogólnionego, czyli oszacowanie u H 1 0 (Ω) 2 ϱ 1 f L2 (Ω). Sformułowanie uogólnione zagadnienia (1.1) jest więc dobrze postawione. Spróbujemy rozwiązać je numerycznie. 8
Rozdział 2 Dyskretyzacja nieciągłą metodą Galerkina Rozwiążemy teraz numerycznie słabe sformułowanie zadania (1.1), czyli zadanie (1.4). Najpopularniejszą dyskretyzacją słabego zadania jest ciągła metoda elementu skończonego, która jest szczególnym przypadkiem metody Galerkina. Jej opis, również w jednym wymiarze, można znaleźć na przykład w książce [4]. W tej pracy zajmę się ogólniejszą metodą, mianowicie nieciągłą metodą Galerkina. Zanim sformułujemy zadanie dyskretne, potrzebujemy przestrzeni (skończenie wymiarowej), w której będziemy szukali jego rozwiązań. 2.1. Przestrzeń dyskretna Zanim wprowadzimy przestrzeń rozwiązań przybliżonych, potrzebujemy kilku ważnych definicji. Przypomnijmy, że Ω (0, 1). Definicja 2.1.1 (Siatka). Siatką nazywamy dowolny, skończony zbiór punktów w Ω powiększony o punkty 0 i 1 (końce otwartego odcinka Ω). Dla ustalenia uwagi przyjmujemy, że siatka ma N + 1 elementów dla pewnego N 1. Punkty siatki oznaczamy przez x i, 0 i N, przy czym x 0 0, x N 1 i zawsze zakładamy, że punkty x i są w porządku rosnącym, to jest x i < x i+1 dla wszystkich 0 i < N. Możemy w skrócie powiedzieć, że siatkę stanowi zbiór {x i } N. Oznaczmy też h i x i x i 1. Parametrem siatki nazywamy liczbę h max 1 i N h i. 0 = x 0 x 1 x 2 x 3 x N 2 x N 1 x N = 1 Rysunek 2.1: Przykładowa siatka na obszarze Ω. W pracy będziemy rozpatrywali przeliczalne rodziny siatek, których parametry tworzą ciąg zbieżny do zera. Siatka zawsze definiuje rozbicie odcinka Ω na pododcinki, co prowadzi nas do kolejnych, ważnych definicji. Definicja 2.1.2 (Triangulacja, rozbicie obszaru Ω). Triangulacją T h obszaru Ω nazwiemy zbiór otwartych pododcinków E i+1 (x i, x i+1 ), gdzie 0 i < N, na które siatka {x i } N rozbija odcinek Ω. Pododcinki E T h nazywamy elementami. Triangulację często nazywamy rozbiciem, zwłaszcza, gdy Ω jest obszarem w przestrzeni jednowymiarowej (jak w naszym przypadku). Indeks h nazywamy parametrem triangulacji. Definiujemy go w następujący sposób h max {diam E i}. Możemy w skrócie powiedzieć, że T h {E i } N. Mamy też N Ē i = Ω. 1 i N 9
Parametr triangulacji i parametr siatki to ta sama liczba (stąd to samo oznaczenie). Podobnie, jak w przypadku siatek, rozpatrujemy przeliczalne rodziny triangulacji, których parametry są ciągami zbieżnymi do zera. Zazwyczaj rozpatrujemy triangulacje pochodzące od siatek równomiernych (wszystkie sąsiadujące punkty są tak samo oddalone od siebie). Siatka taka definiuje rozbicie obszaru Ω na pododcinki równej długości. Wówczas h = 1 N (przypomnijmy, że siatka ma co najmniej dwa elementy końce odcinka Ω, czyli N 1). Punkty siatki wyrażają się wtedy wzorami x i ih dla 0 i N. Wszystkie eksperymenty numeryczne w podrozdziale 3.2 są przeprowadzane na triangulacjach pochodzących od siatek równomiernych. Rysunek 2.1 przedstawia siatkę równomierną. Definicja 2.1.3 (Przestrzeń dyskretna). Przestrzeń dyskretną (zależną od triangulacji T h ) definiujemy w następujący sposób: D 1 (T h ) { v L 2 (Ω): E Th v E P 1 (E) }, gdzie P 1 (E) jest przestrzenią wielomianów stopnia mniejszego lub równego 1 na zbiorze E. Zauważmy, że D 1 (T h ) H0 1 (Ω). Mimo to, jak pokażemy później, w podrozdziale 2.3, przy odpowiednich założeniach rozwiązanie zadania dyskretnego jest zbieżne w pewnej normie (tak zwanej łamanej ) do jedynego rozwiązania zadania (1.4). Można również dodać, że zbieżność zachodzi także w normie L 2 (Ω). Obie zbieżności, wraz z odpowiednimi rzędami, potwierdzone są przez eksperymenty numeryczne w podrozdziale 3.2. 2.2. Sformułowanie dyskretne 2.2.1. Wyprowadzenie Dodatkowe założenia o rozwiązaniu zadania różniczkowego Przyjmijmy kilka nowych założeń. Załóżmy, że na obszarze Ω dana jest triangulacja T h (dla ustalenia uwagi załóżmy, że ma N elementów). Większość nowych założeń będzie w pewien sposób wiązało się z triangulacją. Po pierwsze dodajmy założenie, pamiętając o (1.2), że współczynnik ϱ = ϱ(x) jest stały na elementach, 1 i N ϱ Ei ϱ i ϱ i (x). (2.1) W celu uproszczenia rozważań, zakładamy, że siatka jest dopasowana do punktów nieciągłości współczynnika ϱ. Przypomnijmy, że rozwiązanie (jednoznaczne) zadania (1.4) oznaczamy u. Załóżmy, że to słabe rozwiązanie u H 1 0 (Ω) ma lokalnie (w sensie triangulacji T h, czyli na każdym elemencie z osobna), większą regularność, E T h u E H 2 (E). (2.2) Definicja 2.2.1 (strumień). Funkcję ς(x) ϱ(x)du (x) nazwiemy strumieniem. Przyjmujemy jeszcze jedno ważne założenie założenie o ciągłości strumienia: ς C(Ω). (2.3) 10
Dodatkowe definicje i oznaczenia Na początek oznaczenia dotyczące większej lokalnej regularności (2.2). Ustaliliśmy, że triangulacja T h ma N elementów. Większość własności będzie miała charakter lokalny, zatem zdefiniujmy obcięcie funkcji u: Ω R do i-tego elementu triangulacji T h, u i u Ei. (2.4) Można teraz w dużo wygodniejszy (jak się później okaże) sposób zapisać założenie (2.2): 1 i N u i H 2 (E i ). (2.5) Niech w : Ω R będzie daną funkcją jednej zmiennej. Ustalmy punkt skupienia dziedziny y Ω. Powiedzmy, że w ma granicę lewostronną, w przypadku (2.6b), i prawostronną, w przypadku (2.6a), w punkcie y. Przyjmujemy, za książką [7], następujące oznaczenia: w(y + ) lim x y+ w(x), w(y ) lim x y w(x). (2.6a) (2.6b) Przyjmujemy także oznaczenia na skok i średnią arytmetyczną, (2.7a) i (2.7b) odpowiednio, w ustalonym punkcie (wewnętrznym) y Ω (oczywiście, żeby poniższe definicje miały sens, obie granice muszą w tym punkcie istnieć), [w(y)] w(y + ) w(y ), (2.7a) {w(y)} 1 ( 2 w(y + ) + w(y ) ). (2.7b) Definicje (2.7) rozszerzamy na brzegi odcinka (obszaru) Ω, czyli punkty x 0 = 0 i x N = 1, [w(x 0 )] w(x + 0 ), [w(x N)] w(x N ), {w(x 0 )} w(x + 0 ), {w(x N)} w(x N ). (2.8) Zauważmy, że wszystkie funkcje spełniające warunek (2.5), na mocy twierdzenia Sobolewa o włożeniu (można je znaleźć np. w książce [7], str. 22), spełniają u i C1 (Ēi) dla 1 i N. Słaba pochodna funkcji spełniających warunek (2.5) wyraża się więc wzorem: ( u ) (x), 1 jeśli x E1, ( u ) (x), Du 2 jeśli x E2, (x) =. ( u ) (x), N jeśli x EN. (2.9) Funkcja jest określona w Ω \ {x i } N i wszystkie granice występujące w definicjach (2.7) i (2.8) istnieją, zarówno dla funkcji u jak i jej słabej pochodnej (2.9). Możemy teraz krótko zapisać skoki i średnie arytmetyczne słabej pochodnej funkcji u spełniającej warunek (2.5) w punktach siatki {x i } N : [Du (xi)] = Du i+1(x + i ) Du i (x i ), (2.10a) {Du (x i )} = 1 ( 2 Du i+1 (x + i ) + Du i (x i ) ). (2.10b) Oczywiście, analogicznie do (2.8), rozszerzamy powyższe definicje na końce odcinka Ω, [Du (x 0 )] = Du 1(x + 0 ), [Du (x N )] = Du N(x N ), (2.11) {Du (x 0 )} = Du 1(x + 0 ), {Du (x N )} = Du N(x N ). 11
Wyprowadzenie pomocniczego sformułowania różniczkowego Weźmy funkcję v D 1 (T h ), niech u H0 1 (Ω) będzie rozwiązaniem uogólnionym zadania (1.1). Przemnóżmy obie strony równania (1.1a) w sformułowaniu zadania różniczkowego (1.1) przez funkcję v. Na każdym elemencie E i = (x i 1, x i ), 1 i N stosujemy twierdzenie o całkowaniu przez części. Otrzymamy N poniższych równań (i = 1,..., N): ϱ(x i )Du (x i )v(x i ) + ϱ(x i 1 )Du (x i 1 )v(x i 1 ) + = f(x)v(x) dx. E i Sumujemy powyższe równania, korzystając z oznaczenia (2.7a), x i x i 1 ϱ(x)du (x)dv(x) dx N x i N ϱ(x)du [ (x)dv(x) dx ϱ(xi )Du (x i )v(x i ) ] = f(x)v(x) dx. (2.12) x i 1 Ω Dalej korzystamy z następującej tożsamości dla punktów wewnętrznych siatki (którą łatwo sprawdzić), 1 i N 1: [ ϱ(xi )Du (x i )v(x i ) ] = { ϱ(x i )Du (x i ) }[ v(x i ) ] + { v(x i ) }[ ϱ(x i )Du (x i ) ]. (2.13) Przypomnijmy, że ϱ(x)du (x) = ς(x) i skorzystajmy z założenia (2.3) o ciągłości strumienia, z którego wynika, że [ ϱ(x i )Du (x i ) ] = 0 dla 1 i N 1. Następnie korzystamy z (2.13) i dostajemy N x i N ϱ(x)du { (x)dv(x) dx ϱ(xi )Du (x i ) }[ v(x i ) ] = f(x)v(x) dx. (2.14) x i 1 Ω Zauważmy również, że zgodnie z lematem Sobolewa o włożeniu (zob. np. [6], str. 209), u C( Ω), z czego wynika, że [u (x i )] = 0 dla 1 i N 1. Możemy więc odjąć wyraz N { ϱ(xi )Dv(x i ) }[ u (x i ) ] od lewej strony równania (2.14), jako że jest on tożsamościowo równy zeru. Zauważmy, że po dodaniu tego wyrazu lewa strona jest symetryczna (dla sformułowania różniczkowego jest to jedynie techniczny zabieg). Możemy także dodać (z tego samego powodu) wyraz N δ h {ϱ(x i)} [u (x i )] [v(x i )] (wytłumaczenie tego zabiegu znajduje się poniżej). Zatem, dla dowolnej funkcji v D 1 (T h ), przy założeniu, że u H0 1 (Ω) ma ciągły strumień i spełnia u i H2 (E i ) dla 1 i N, zob. (2.5), prawdziwa jest poniższa tożsamość, N x i N ϱ(x)du { (x)dv(x) dx ϱ(xi )Du (x i ) }[ v(x i ) ] N { ϱ(xi )Dv(x i ) }[ u (x i ) ] x i 1 N δ + h {ϱ(x i)} [u (x i )] [v(x i )] = f(x)v(x) dx. Ω Przyjmijmy jeszcze oznaczenia, które skrócą zapis równania (2.15), (2.15) N N S a [u, v] {ϱ(x i )Du(x i )} [v(x i )] {ϱ(x i )Dv(x i )} [u(x i )], N δ S p [u, v] h {ϱ(x i)} [u(x i )] [v(x i )]. (2.16a) (2.16b) 12
Formę S a nazywamy formą strumienia. Formę S p nazywamy formą kary, natomiast stałą δ nazywamy stałą kary. Wyraz S p ma kluczowe znaczenie ze względu na istnienie i jednoznaczność (a także stabilność) zadania dyskretnego. Ma to miejsce jedynie dla odpowiednio dużych stałych kary δ > δ 0 dla pewnej liczby δ 0 > 0 (zob. lemat 2.2.1). Średnia arytmetyczna w formie kary pojawia się po to, by w tezie lematu wspomniany próg δ 0 stałej kary nie zależał od współczynnika ϱ. Zdefiniujmy jeszcze (to już ostatnia definicja pomocnicza) lokalną formę B, analogiczną do formy B zadanej wzorem (1.3a). B i [u, v] ϱ i Du Dv dx, dla 1 i N. (2.17) E i Powyższy wzór zadaje rodzinę N lokalnych form dwuliniowych na poszczególnych elementach triangulacji. W przyjętych oznaczeniach, równanie (2.15) ma następującą postać: N B i [u, v] + S a [u, v] + S p [u, v] = f(v). Wyprowadzone w tym podrozdziale pomocnicze zagadnienie różniczkowe uzasadnia przyjęte poniżej sformułowanie dyskretne zadania (1.4) (będzie ono spełnione przez rozwiązanie u H 1 0 (Ω) rozpatrywanego zadania różniczkowego, należące kawałkami do H2 oraz mające ciągły strumień). Sformułowanie zadania dyskretnego Przyjmijmy oznaczenia analogiczne do (1.3), N B h [u, v] B i [u, v] + S a [u, v] + S p [u, v]. (2.18) Indeks górny h powinien właściwie być zastąpiony przez T h, jako że wzór (2.18) zależy nie tylko od parametru triangulacji h, ale również od jej elementów. To nadużycie w notacji jest jednak na tyle wygodne, że będzie używane wielokrotnie w całym tekście. Sformułowanie dyskretne (zadania (1.4) dyskretyzowanego nieciągłą metodą Galerkina). Znaleźć funkcję u h D 1(T h ) taką, że v h D 1 (T h ) B h [u h, v h ] = f(v h ). (2.19) Zauważmy, że wśród możliwych rozwiązań zadania dyskretnego (2.19) dopuszczamy funkcje nieciągłe. Zobaczymy teraz, czy zadanie dyskretne jest dobrze postawione, tzn. czy rozwiązanie zadania (2.19) istnieje, jest jednoznaczne i stabilne (podobnie jak rozwiązanie zadania różniczkowego (1.4)). 2.2.2. Analiza sformułowania dyskretnego Zanim przejdziemy do dowodu, wprowadzimy na przestrzeni dyskretnej D 1 (T h ) następującą normę. Korzystamy z oznaczenia (2.4). Definicja 2.2.2 (Norma łamana). Funkcjonał E na przestrzeni D 1 (T h ), określony poniższym wzorem, nazywamy normą łamaną, ( N u E ϱ i Du i 2 L 2 (E i ) + N ) 1 1 h {ϱ(x i)} [u(x i )] 2 2. 13
Nietrudno dowieść, że powyższy wzór faktycznie spełnia aksjomaty normy. Przejdźmy do dowodu istnienia i jednoznaczności sformułowania dyskretnego, który opiera się na następującym lemacie. Lemat 2.2.1. Istnieje taka stała δ 0 > 0, że forma B h : D 1 (T h ) D 1 (T h ) R, określona wzorem (2.18), z dowolną stałą kary δ > δ 0 jest odwzorowaniem D 1 (T h )-eliptycznym względem normy łamanej E na przestrzeni D 1 (T h ), to znaczy istnieje stała γ > 0 taka, że dla dowolnej funkcji 0 u D 1 (T h ) zachodzi nierówność przy czym stała γ nie zależy od h, N i współczynnika ϱ. B h [u, u] > γ u 2 E, (2.20) Dowód (oparty o [2]). Najpierw oszacujemy S a, dwuliniową formę strumienia. Na początku rozbijamy sumę na wyrazy, które zależą od brzegowych i wewnętrznych punktów siatki: S a [u, u] N 1 ( 1 2 ϱ i Du i (x i ) + ϱ i+1 Du i+1 (x i ) ) [u(x i )] + ϱ 1 Du 1 (x 0 ) [u(x 0 )] + ϱ N Du N (x N ) [u(x N )]. (2.21) Zauważmy, że dla funkcji Dv kawałkami stałej zachodzi: h Dv(x i 1 ) 2 Dv 2 L 2 (E i ), h Dv(x i ) 2 Dv 2 L 2 (E i ). (2.22a) (2.22b) Wykorzystujemy (2.22) w oszacowaniu (2.21), otrzymując: S a [u, u] N 1 ( 1 2 ϱ i 1 h Du L2 (E i ) [u(x i )] + 1 2 ϱ i+1 1 h Du L2 (E i+1 ) [u(x i )] ) 1 + ϱ 1 h Du L2 (E 1 ) [u(x 0 )] 1 + ϱ N h Du L2 (E N ) [u(x N )]. Do każdego wyrazu z osobna stosujemy nierówność Young a z ε (stałą ε dobierzemy później), następnie porządkujemy wyrazy sumy, otrzymując: S a [u, u] N 1 ( ε ϱ i 2 Du 2 L 2 (E i ) + ε ϱ i+1 2 Du 2 L 2 (E i+1 ) ) + εϱ 1 Du L2 (E 1 ) + εϱ N Du L2 (E N ) ( N 1 ( + 1 ϱi+1 1 4ε 2 h [u(x i+1)] 2 + ϱ i 1 2 h [u(x i)] 2) ) + ϱ 1 h [u(x 0 )] 2 + ϱ N h [u(x N )] 2 } {{ } Otrzymaliśmy więc oszacowanie: = 1 δ Sp[u,u] S a [u, u] N 3 2 ε B i [u, u] + 1 4εδ S p[u, u].. Dobieramy teraz ε np. równy 1 3 i otrzymujemy szacowanie: S a [u, u] 1 2 N B i [u, u] + 3 4δ S p[u, u]. (2.23) 14
Oszacujemy teraz B h [u, u] z dołu. Bezpośrednio z definicji formy B h mamy równość B h [u, u] = u 2 E + S a [u, u] + (δ 1) 1 δ S p[u, u] Zauważmy, że: B h [u, u] u 2 E S a [u, u] + (δ 1) 1 δ S p[u, u] Dalej stosujemy nierówność (2.23), otrzymując B h [u, u] u 2 E 1 2 N B i[u, u] 3 4δ S p[u, u] + (δ 1) 1 δ S p[u, u] = 1 2 N B i[u, u] + (δ 3 4 ) 1 δ S p[u, u]. (2.24) Wyrażenie (δ 3 4 ) jest dodatnie dla δ > 3 4, możemy więc przyjąć δ 0 3 4 Z oszacowania (2.24) wyniknie wówczas nierówność B h [u, u] min { 1 2, δ 3 } 4 u 2 E. } {{ } const>0 w tezie twierdzenia. Lemat 2.2.1 stanowi w rzeczywistości dowód, że zadanie (2.19) jest dobrze określone, tzn. jego rozwiązanie istnieje, jest jednoznaczne i stabilne. Zauważmy, że forma B h jest iloczynem skalarnym na D 1 (T h ). Faktycznie forma jest dwuliniowa, symetryczna i dla stałych kary δ > δ 0 = 3 4 dodatnio określona (ostatnie pokazuje lemat 2.2.1). Skorzystamy z faktu, że zadanie (2.19) jest równoważne układowi równań liniowych (szczegóły w rozdziale 3). Macierz tego układu jest wtedy macierzą Grama pewnego liniowo niezależnego układu wektorów (pewnej bazy przestrzeni dyskretnej), zatem jej wyznacznik jest różny od zera. Wtedy dla dowolnego wektora prawej strony rozwiązanie istnieje, jest jednoznaczne i stabilne. Szczegóły powyższego rozumowania można znaleźć w [5]. 2.3. Oszacowanie błędu W tym podrozdziale udowodnimy twierdzenie o oszacowaniu błędu. Lemat 2.3.1. Forma B h : D 1 (T h ) D 1 (T h ) R określona wzorem (2.18) jest odwzorowaniem ciągłym względem normy łamanej E na przestrzeni D 1 (T h ), to znaczy, że istnieje stała M > 0 taka, że dla dowolnych funkcji u, v D 1 (T h ) zachodzi nierówność B h [u, v] M u E v E, (2.25) przy czym stała M nie zależy od h, N i współczynnika ϱ. Dowód (oparty o [2]). Bezpośrednio z definicji mamy nierówność B h [u, v] N B i [u, v] + S a [u, v] + S p [u, v]. Szacujemy po kolei wszystkie wyrazy. W poniższym szacowaniu drugą nierówność otrzymujemy z nierówności Schwarza (użytej N razy), trzecią zaś z nierówności Cauchy ego-schwarza: N B i [u, v] N ϱ i Du i Dv i dx E i ( N E i ) 1 ϱ i Du i 2 2 ( N dx E i N ( E i ) 1 ϱ i Du i 2 2 ( dx Ei ) 1 ϱ i Dv i 2 2 dx u E v E. 15 ϱ i Dv i 2 dx ) 1 2 (2.26)
Teraz oszacujemy wyraz z formą kary. Używamy do tego celu tylko nierówności Cauchy ego- Schwarza: S p [u, v] N 1 δ h {ϱ(x i)} [u(x i )] [v(x i )] ( N δ ) 1 1 h {ϱ(x i)} [u(x i )] 2 2 ( N ) 1 1 h {ϱ(x i)} [v(x i )] 2 2 δ u E v E. Pozostał wyraz z formą S a. Bezpośrednio z definicji wynika szacowanie (2.27) S a [u, v] N {ϱ(x i )Du(x i )} [v(x i )] N + {ϱ(x i )Dv(x i )} [u(x i )] I 1 + I 2. (2.28) Najpierw oszacujemy pierwszą sumę I 1. Oszacowanie drugiej przebiega analogicznie. Rozbijamy sumę na wyrazy, które zależą od wewnętrznych i brzegowych punktów siatki. Dalej stosujemy (2.22) do każdego wyrazu otrzymanej sumy: I 1 N 1 ( 1 2 ϱ i 1 h Du L2 (E i ) [v(x i )] + 1 2 ϱ i+1 1 h Du L2 (E i+1 ) [v(x i )] ) 1 + ϱ 1 h Du L2 (E 1 ) [v(x 0 )] 1 + ϱ N h Du L2 (E N ) [v(x N )] Następnie korzystamy z nierówności Cauchy ego-schwarza (podwójnie, pierwszy raz do oszacowania każdego wyrazu, to jest pojedynczego iloczynu wewnątrz sumy, drugi do oszacowania sumy wszystkich N + 1 iloczynów, łącznie z brzegowymi): ( N 1 ( I 1 ϱi 2 Du 2 L 2 (E i ) + ϱ ) ) 1 2 i+1 2 Du 2 L 2 (E i+1 ) + ϱ 1 Du L2 (E 1 ) + ϱ N Du L2 (E N ) ( N 1 ( 1 ϱ i h 2 [v(x i)] 2 + 1 ϱ i+1 h 2 [v(x i)] 2) ) 1 + 1 h ϱ 1[v(x 0 )] 2 + 1 h ϱ N[v(x N )] 2 2 } {{ } N 1 = h {ϱ(x i)}[v(x i )] 2 Dalej otrzymamy I 1 3 2 ( N ) 1 ϱ i Du 2 2 ( N L 2 (E i ) ) 1 1 h {ϱ(x i)}[v(x i )] 2 2 3 2 u E v E. (2.29) Powtarzając szacowanie dla drugiej sumy I 2 w rozbiciu formy S a, otrzymamy I 2 3 2 ( N ) 1 ϱ i Dv 2 2 ( N L 2 (E i ) ) 1 1 h {ϱ(x i)}[u(x i )] 2 2 3 2 u E v E. (2.30) Wstawiamy (2.29) oraz (2.30) do (2.28), otrzymując oszacowanie: S a [u, v] 6 u E v E. (2.31) Wykorzystujemy oszacowania (2.26), (2.27) oraz ostatnie, (2.31), by otrzymać B h [u, v] max{ 6, δ} u E v E. (2.32) } {{ } const>0 16
Przejdźmy do głównego twierdzenia. Twierdzenie 2.3.1 (Oszacowanie błędu w normie łamanej). Niech u H0 1 (Ω) będzie rozwiązaniem zadania różniczkowego (1.4), spełniającym 1 i N u i H 2 (E i ). Niech u h D 1(T h ) będzie rozwiązaniem zadania dyskretnego (2.19). Wówczas N u u h 2 E Ch 2 ϱ i u 2 H 2 (E i ), (2.33) gdzie stała C nie zależy od parametru triangulacji h, liczby elementów N w triangulacji T h ani współczynnika ϱ, w szczególności jego skoków. Dowód (oparty o [2]). Niech u H 1 (E i ), 1 i N. Oznaczmy przez I i u lokalny, liniowy interpolant (na E i ) funkcji u. Określamy go jako funkcję liniową taką, że (I i u)(x i 1 ) = u(x i 1 ), (2.34a) (I i u)(x i ) = u(x i ). (2.34b) Przypomnijmy, że na mocy lematu Sobolewa o włożeniu (zob. np. [6], str. 209) każdą funkcję u H 1 (E i ) możemy utożsamić z jej jednostajnie ciągłym reprezentantem, zatem wzory (2.34) mają sens i funkcja I i u, jako wielomian liniowy, jest wyznaczona jednoznacznie. Wprowadźmy teraz, korzystając z definicji (2.4), globalny interpolant I h taki, że 1 i N (I h u) i = I i u, w którego oznaczeniu w dalszej części dowodu opuszczamy indeks h. Zauważmy, że tak zdefiniowany interpolant dla dowolnej funkcji u H0 1 (Ω) jest, na mocy (2.34), globalnie (na całym zbiorze Ω) ciągły (i kawałkami liniowy), Na mocy nierówności trójkąta mamy Iu C(Ω). (2.35) u u h E u Iu E + Iu u h E. (2.36) Na początku oszacujemy pierwszy wyraz. Łatwo wykazać oszacowanie N u Iu 2 E ϱ i (u Iu ) i 2 H 1 (E i ) + N 1 h {ϱ(x i)} [(u Iu )(x i )] 2. Funkcja u Iu jest ciągła na mocy (2.35) i zeruje się na Ω, z czego wynika, że wszystkie składniki drugiej sumy są równe zeru. Korzystając teraz z twierdzenia interpolacyjnego (zob. np. [2], str. 80), (u Iu ) i 2 H 1 (E i ) Ch2 u 2 i H 2 (E i ), (2.37) otrzymujemy oszacowanie pierwszego wyrazu w sumie (2.36): u Iu 2 E Ch 2 N 17 ϱ i u 2 i H 2 (E i ). (2.38)
Stała C jest stałą uniwersalną (przyjmuje różne wartości w różnych miejscach dowodu, ale nie zależy od h i u ). Oszacujmy teraz drugi wyraz w sumie (2.36). Na mocy lematu 2.2.1 możemy napisać Iu u h 2 E 1 γ Bh [Iu u h, Iu u h]. (2.39) Szacujemy dalej wyraz po prawej stronie, używając dwuliniowości formy B h oraz definicji zadania dyskretnego (2.19): B h [Iu u h, Iu u h] = B h [Iu, Iu u h] f(iu u h). (2.40) Zauważmy, że Iu u h D 1(T h ). Podstawiając v Iu u h do tożsamości (2.15), otrzymujemy: B h [u, Iu u h] = f(iu u h). (2.41) Wstawiamy (2.41) do (2.40), a następnie wykorzystujemy w (2.39), otrzymując Iu u h 2 E 1 γ Bh [Iu u, Iu u h]. (2.42) Oznaczmy przez M stałą z lematu 2.3.1. Wykorzystujemy ten lemat w (2.42) dostając Stąd Iu u h E M γ Iu u E. Iu u h 2 E M 2 γ 2 u Iu 2 E. (2.43) Wyrażenie po prawej stronie nierówności (2.43) zostało już oszacowane. Wstawiamy (2.38) do (2.43), a następnie wynik do (2.36), otrzymując tezę, czyli równanie (2.33). Na koniec warto dodać, że metoda jest zbieżna także w normie L 2, zob. [7]. Uwaga 2.3.1 (Oszacowanie błędu w normie L 2 ). Dowodzi się, że przy założeniach twierdzenia 2.3.1 zachodzi również u u h 2 L 2 (Ω) N Ch4 ϱ i u 2 H 2 (E i ). (2.44) Stała C nie zależy od parametru triangulacji h, liczby elementów N w triangulacji T h ani współczynnika ϱ, w szczególności jego skoków. 18
Rozdział 3 Implementacja W poprzednim rozdziale, sformułowaliśmy zadanie dyskretne (2.19). Sformułowanie to jest w postaci równania wariacyjnego, na przestrzeni wektorowej (skończonego wymiaru) D 1 (T h ). W tym rozdziale wybierając bazę tej przestrzeni, sformułujemy zadanie (2.19) w postaci macierzowej i przeprowadzimy serię eksperymentów numerycznych mających na celu między innymi potwierdzenie udowodnionych w poprzednim rozdziale twierdzeń. Ponadto spróbujemy także odpowiedzieć na pytanie jak wielkość skoku współczynnika ϱ wpływa na jakość rozwiązań. 3.1. Postać algebraiczna Przedstawmy teraz zadanie dyskretne (2.19) w postaci macierzowej poprzez wybranie bazy przestrzeni dyskretnej i przepisanie sformułowania zadania dyskretnego wykorzystując fakt, że każdy wektor v h D 1 (T h ) (łącznie z rozwiązaniem zadania dyskretnego u h ) rozkłada się na wektory bazowe. Konstrukcja bazy przestrzeni dyskretnej Ustalmy triangulację T h, złożoną z N elementów, N 1, pochodzącą od siatki równomiernej złożonej z N + 1 punktów. Wtedy triangulacja złożona jest z odcinków jednakowej długości. Wybierzmy i-ty element triangulacji, 1 i N. Rozważmy następującą rodzinę funkcji ψ i j : E i R (wielomianów rzędu co najwyżej pierwszego), podwójnie indeksowaną (j = 0, 1, zwróćmy uwagę, że górny indeks nie jest potęgą): ψ i j(x) { 1, jeśli j = 0, 2N ( x h(i 1 2 )), jeśli j = 1. (3.1) Jest to baza potęgowa {x j } j=0,1 przeniesiona z odcinka ( 1, 1) na każdy element z osobna za pomocą odwzorowania (dyfeomorfizmu) ϕ: ( 1, 1) E i (x i 1, x i ) zdefiniowanego wzorem ϕ(x) h 2 (x+1)+x i 1. Pamiętając, że na siatkach równomiernych x i ih (zobacz stronę 10), faktycznie otrzymamy wzór (3.1). Rozszerzamy każdą z tych funkcji na cały odcinek Ω (0, 1) w następujący sposób: { 0, jeśli x / Ei Ψ i, j(x) ψj(x), i (3.2) jeśli x E i. Zwróćmy uwagę, że dla dowolnego 1 i N, j = 0, 1 mamy Ψ i j D 1(T h ). Nietrudno wykazać, że układ wektorów jest liniowo niezależny i stanowi bazę przestrzeni dyskretnej D 1 (T h ). 19
1 0.5 0-0.5-1 0 0.2 0.4 0.6 0.8 1 Rysunek 3.1: Wykres nieciągłej funkcji bazowej Ψ 3 1 : Ω R. Wymiar przestrzeni wynosi 2N. Dla przykładu ustalmy N = 4. Wykres funkcji Ψ 3 1, której nośnikiem jest trzeci element (domknięty), to jest Ē3 = [ 1 2, 3 4 ], przedstawia rysunek 3.1. Wybrana przeze mnie baza ułatwia implementację. Postać algebraiczna zadania dyskretnego Wyprowadzimy teraz układ równań algebraicznych odpowiadający zadaniu (2.19) w wybranej bazie. Każdą funkcję (jako wektor skończenie wymiarowej przestrzeni liniowej) daje się jednoznacznie przedstawić jako kombinację liniową funkcji bazowych. W szczególności dotyczy to jedynego rozwiązania zadania (2.19), N 1 u h = α j i Ψi j. (3.3) j=0 Po wyborze bazy, zadanie dyskretne (2.19) polega na znalezieniu współczynników rozkładu u h w bazie, czyli wektora liczb x (α0 1, α1 1, α0 2, α1 2,..., α0 N, α1 N ) R2N (wektory oznaczamy pogrubioną czcionką). Wstawmy teraz rozłożone rozwiązanie (3.3) do równania (2.19) definiującego zadanie dyskretne. Otrzymamy (korzystając z dwuliniowości formy B h ) następujące równanie: N 1 α j i Bh [Ψ i j, v h ] = f(v h ). (3.4) j=0 Zauważmy, że każdy wektor v h D 1 (T h ) też jednoznacznie przedstawia się jako kombinacja liniowa funkcji bazy. Wystarczy zatem, by równanie (3.4) było spełnione dla v h należących do bazy. Daje nam to 2N równań liniowych, N 1 j=0 αj i Bh [Ψ i j, Ψ 0 1] = f(ψ 0 1), N 1 j=0 αj i Bh [Ψ i j, Ψ 1 1] = f(ψ 1 1),. (3.5) N 1 j=0 αj i Bh [Ψ i j, Ψ 0 N] = f(ψ 0 N), N 1 j=0 αj i Bh [Ψ i j, Ψ 1 N] = f(ψ 1 N). Układ (3.5) stanowi układ 2N liniowych równań z 2N niewiadomymi (współrzędnymi wektora x). Dla wygody przenumerujmy wektory bazowe tak, by były pojedynczo indeksowane, na przykład w poniższy sposób (1 k 2N, bazę numerujemy po kolei ), Φ k { Ψ i 0 jeśli k nieparzyste Ψ i 1 jeśli k parzyste 20 dla i k+1 2. (3.6)
Zmiana numeracji pozwoli wygodniej zapisać układ równań (3.5). Oczywiście {Φ k } 2N k=1 jest tą samą bazą, co baza złożona z funkcji Ψ i j dla 1 i N, j = 0, 1. Zdefiniujmy macierz układu A i wektor prawej strony b: A [ B h [Φ j, Φ i ] ] N i,j=1, (3.7a) b [ f(φ j ) ] N j=1. (3.7b) Wyrazy macierzy A obliczamy analitycznie (dokładnie). Macierz A ma wymiar 2N 2N (zwróćmy uwagę, że zależy od triangulacji czego nie widać w oznaczeniach). Wyrazy macierzy można też obliczyć numerycznie (trzeba używać kwadratur, wystarczą niskiego rzędu całkujemy wielomiany niskiego stopnia). Dowodzi się kilku własności macierzy (3.7a). Lemat 3.1.1. Macierz A zdefiniowana wzorem (3.7a) jest (a) symetryczna, (b) dodatnio określona, (c) źle uwarunkowana: istnieje stała C > 0 taka, że cond 2 (A) C h 2, (d) ma strukturę blokowo trójdiagonalną (bloki mają wymiar 2 2), jest macierzą rozrzedzoną. Szkic dowodu. Punkt (a) wynika z symetryczności formy B h, punkt (b) wynika z lematu 2.2.1. Punkt (c), wynika z podwójnego oszacowania, C 1 u 2 L 2 (Ω) u 2 E C 2 h 2 u 2 L 2 (Ω), gdzie u D 1 (T h ), C 1, C 2 są dodatnimi stałymi niezależnymi od h. Lewa nierówność wynika z nierówności Friedrichsa dla funkcji kawałkami w H 1 (zob. [1]), prawa z nierówności odwrotnej (zob. [4]). Punkt (d) wynika z tego, że nośnik funkcji bazowych jest mały (jeden element), a także z przyjętej numeracji funkcji bazowych. Dla porządku zdefiniuję jeszcze postać algebraiczną zadania (2.19). Sformułowanie dyskretne (zadania (1.4) w postaci algebraicznej). Znaleźć taki wektor R 2N x (α1 0, α1 1, α0 2, α1 2,..., α0 N, α1 N ), że A x = b. (3.8) Zauważmy, że zadanie dyskretne w postaci algebraicznej jest także dobrze postawione, co wynika z uwagi w podrozdziale 2.2.2. Zadanie poszukiwania rozwiązania przybliżonego zadania (1.4) sprowadziliśmy do zadania rozwiązywania układu równań algebraicznych liniowych z macierzą układu o własnościach podanych w lemacie 3.1.1. 3.2. Eksperymenty numeryczne W tym podrozdziale układ (3.8) będziemy rozwiązywać metodą Cholesky ego (opis metody można znaleźć na przykład w książce [4]), zaimplementowaną w pakiecie GNU Octave. Wybrałem metodę bezpośrednią, ponieważ macierz ma prostą strukturę (jest wstęgowa, ze wstęgą o szerokości 6, zob. lemat 3.1.1), co przekłada się na liniową złożoność czasową (ze 21
względu na liczbę wierszy lub kolumn macierzy) algorytmu. Do obliczania wektora prawej strony b będziemy używać kwadratur. Stała kary będzie zawsze (jeśli nie zaznaczono, że jest inaczej) wynosiła 2. Powiększamy ją sztucznie (z lematu 2.2.1 wystarczy, by była większa niż δ 0 = 0.75), by uniknąć wpływu kumulacji błędów zaokrągleń na stabilność metody. Eksperymenty w większości mają potwierdzić przewidywane przez twierdzenie 2.3.1 i uwagę 2.3.1 rzędy zbieżności nieciągłej metody Galerkina. Rząd zbieżności można oszacować numerycznie, wystarczy przeprowadzić dwa eksperymenty na siatkach zagęszczonych dla pewnego h i h 2. Wtedy, korzystając z oszacowań w tezach twierdzeń o oszacowaniu błędu z podrozdziału 2.3 możemy obliczyć przybliżone rzędy zbieżności. Będziemy korzystali z poniższych wzorów (błąd oznaczamy przez e h u u h ): β 1 log 2 β 2 log 2 e h E e h/2 E, e h L2 (Ω) e h/2 L2 (Ω). (3.9a) (3.9b) Wzory pochodzą z książki [7]. Liczba β 1 określa przybliżony rząd zbieżności w normie łamanej i analogicznie β 2 stanowi przybliżony rząd zbieżności w normie L 2 (Ω). Wszystkie sformułowania różniczkowe w poniższych eksperymentach są sformułowane w ten sposób, by spełniały założenie (2.3), czyli strumień był ciągły. 3.2.1. Numeryczne rzędy zbieżności Celem pierwszego eksperymentu będzie potwierdzenie (lub nie) przewidywanych przez twierdzenie 2.3.1 i uwagę 2.3.1 rzędów zbieżności nieciągłej metody Galerkina. Korzystamy z dyskretyzacji zadania (1.4) nieciągłą metodą Galerkina przedstawioną w niniejszej pracy, z wybranymi funkcjami bazowymi (3.6). Współczynnik ϱ jest nieciągły (w jednym punkcie y = 1 2 ), kawałkami stały, { 9 2 ϱ(x), jeśli x (0, 1 2 ), 1, jeśli x ( 1 2, 1). Będziemy przybliżać następujące słabe rozwiązanie: u (x) { 1 (x 1) 2, jeśli x (0, 1 2 ), 6x 3, jeśli x ( 1 2, 1). Wstawiamy je, wraz ze współczynnikiem ϱ, do równań (1.1), obliczamy lewą stronę, następnie wynik przyjmujemy za funkcję prawej strony f. Zadanie jest sformułowane tak, by strumień był ciągły. Zgodnie z twierdzeniem 2.3.1 spodziewamy się zbieżności liniowej (czyli rzędu 1 ze względu na h) w normie łamanej oraz kwadratowej w L 2 (Ω). Wyniki eksperymentu znajdują się w tabeli 3.1. Eksperyment potwierdza teoretyczne rzędy zbieżności. 3.2.2. Wrażliwość metody na dobór zbyt małej stałej kary Celem eksperymentu będzie zbadanie, co się dzieje, gdy stała kary jest zbyt mała. Rzędy zbieżności (a nawet jednoznaczność rozwiązania zadania dyskretnego) jest zapewnione dla odpowiednio dużej stałej kary, dokładniej δ > δ 0 3 4 (zob. lemat 2.2.1). W tym eksperymencie 22
h e h E β 1 e h L2 (Ω) β 2 1/4 4.661 1.0881 0.26641 2.2047 1/8 1.8611 1.3245 0.052932 2.3314 1/16 0.72431 1.3615 0.010716 2.3044 1/32 0.28831 1.329 0.0022691 2.2396 1/64 0.12017 1.2626 0.00050603 2.1648 1/128 0.05288 1.1842 0.00011795 2.101 1/256 0.024414 1.115 2.8348 10 5 2.0569 1/512 0.011664 1.0657 6.9395 10 6 2.0304 1/1024 0.0056908 1.0353 1.7161 10 6 2.0157 1/2048 0.0028094 1.0184 4.2666 10 7 2.008 1/4096 0.0013956 1.0094 1.0636 10 7 2.0041 1/8192 0.00069552 1.0047 2.6564 10 8 2.0015 Tabela 3.1: Numeryczne rzędy zbieżności dla nieciągłego współczynnika, [ϱ( 1 2 )] = 3.5. zmniejszymy tą stałą i przyjmiemy δ 1 4 < δ 0. Zdefiniujmy współczynnik ϱ w zadaniu, które będziemy rozwiązywać, { 1, jeśli x (0, 1 2 ϱ(x) ), 1000, jeśli x ( 1 2, 1). Skok współczynnika ϱ w punkcie 1 2 wynosi 999, więc jest duży. Będziemy przybliżać następujące słabe rozwiązanie: { (2x) 500 u, jeśli x (0, 1 2 (x) ), x 2 + 3 4, jeśli x ( 1 2, 1). Wyniki przedstawia tabela 3.2. Jak widzimy w żaden sposób nie uzyskaliśmy potwierdzenia teoretycznych rzędów zbieżności, błąd miejscami zdaje się powiększać (mimo, że parametr triangulacji h maleje). Widzimy, że metoda jest wrażliwa na zbyt małą stałą kary. Przy niższych skokach współczynnika ϱ (tutaj wynosi 3 rzędy wielkości) także obserwujemy niestabilne zachowanie rzędów zbieżności, jednak efekt nie jest tak wyraźny. h e h E β 1 e h L2 (Ω) β 2 1/4 26.793 0.0073704 1.8812 1.0419 1/8 30.044 0.16526 0.61834 1.6052 1/16 53.105 0.82175 1.925 1.6384 1/32 44.72 0.24793 0.62382 1.6256 1/64 188.63 2.0766 1.9066 1.6118 1/128 128.11 0.5582 0.62557 1.6078 1/256 621.78 2.279 1.5716 1.329 1/512 185.09 1.7482 0.23133 2.7642 1/1024 242.69 0.39093 0.15304 0.59608 1/2048 25.071 3.275 0.00756 4.3394 1/4096 19.294 0.37789 0.0030193 1.3241 1/8192 2.3753 3.022 0.00012497 4.5945 Tabela 3.2: Wyniki drugiego eksperymentu, stała kary δ = 0.25 < δ 0. 23
3.2.3. Wrażliwość metody na duży skok współczynnika Celem eksperymentu jest zbadanie jak wielkość skoku współczynnika ϱ wpływa na jakość otrzymanych rozwiązań. Powracamy do stałej kary δ = 2 > δ 0, która, na mocy lematu 2.2.1, gwarantuje nam, że zadanie dyskretne jest dobrze postawione. Rozważmy rodzinę współczynników indeksowaną liczbą naturalną n 0, ϱ(x) { 1, jeśli x (0, 1 2 ), 10 n, jeśli x ( 1 2, 1). (3.10) Skok współczynnika ϱ w punkcie 1 2 wynosi 10n 1 = 10 n. Dla n = 0 współczynnik jest ciągły. Będziemy przybliżać następujące słabe rozwiązanie (zadanie jest dobrane do współczynnika tak, aby strumień był ciągły): u (2x) 1 2 10n, jeśli x (0, (x) 1 2 ), (3.11) x 2 + 3 4, jeśli x ( 1 2, 1). Uruchamiamy zestaw eksperymentów dla n = 1, 2 i 3. Wyniki przedstawione są w tabelach 3.3, 3.4 oraz 3.5 (odpowiednio). h e h E β 1 e h L2 (Ω) β 2 1/4 1.8089 0.96303 0.087495 1.7104 1/8 0.84859 1.0919 0.02601 1.7502 1/16 0.41239 1.0411 0.0071271 1.8677 1/32 0.20142 1.0338 0.0018541 1.9426 1/64 0.099507 1.0174 0.00047127 1.9761 1/128 0.049487 1.0077 0.00011866 1.9897 1/256 0.024684 1.0035 2.976 10 5 1.9954 1/512 0.012329 1.0016 7.4511 10 6 1.9978 1/1024 0.006161 1.0008 1.8641 10 6 1.999 1/2048 0.0030797 1.0004 4.662 10 7 1.9995 1/4096 0.0015397 1.0002 1.1657 10 7 1.9998 1/8192 0.00076979 1.0001 2.9145 10 8 1.9999 Tabela 3.3: Numeryczne rzędy zbieżności, n = 1, to jest [ϱ( 1 2 )] = 10. Wyniki wyraźnie potwierdzają przypuszczenie, że przy odpowiednio dobranej stałej kary możemy liczyć na potwierdzenie teoretycznych rzędów zbieżności, nawet dla skoków współczynnika ϱ o kilka rzędów wielkości. Jednak, z wyników wypływa też wniosek, że jakość rozwiązania przybliżonego spada wraz ze wzrostem skoku współczynnika ϱ. Im większy skok, tym wolniej metoda zbiega. Rozumiem przez to fakt, że dla większych skoków potrzebujemy mniejszego parametru h by numeryczny rząd zbieżności zrównał się z teoretycznym (wyraźnie widać, że asymptotycznie oba rzędy są równe, niezależnie od wielkości skoku, przynajmniej w rozpatrywanych przypadkach). Jedną z możliwych przyczyn takiego zachowania się metody może być duża wartość stałej w twierdzeniu 2.3.1 o oszacowaniu błędu. We wspomnianej stałej występuje wyraz N ϱ i u 2 H 2 (E i ), który może być duży, jeśli współczynnik ϱ jest duży na wielu elementach (w tym konkretnym przypadku ma to miejsce aż na połowie elementów). 24
h e h E β 1 e h L2 (Ω) β 2 1/4 7.5884 0.73945 0.22848 0.55712 1/8 6.7769 0.16317 0.14878 0.61887 1/16 6.1709 0.13515 0.08358 0.83196 1/32 4.9531 0.31716 0.036508 1.195 1/64 3.1075 0.67255 0.01237 1.5613 1/128 1.6295 0.93136 0.0035683 1.7935 1/256 0.80788 1.0122 0.00094747 1.9131 1/512 0.39967 1.0153 0.00024223 1.9677 1/1024 0.19888 1.0069 6.1016 10 5 1.9891 1/2048 0.099274 1.0024 1.5292 10 5 1.9964 1/4096 0.049611 1.0008 3.8263 10 6 1.9988 1/8192 0.024801 1.0002 9.5687 10 7 1.9995 Tabela 3.4: Numeryczne rzędy zbieżności, n = 2, to jest [ϱ( 1 2 )] = 100. h e h E β 1 e h L2 (Ω) β 2 1/4 24.498 0.73402 0.25063 0.4669 1/8 22.748 0.10694 0.18094 0.47005 1/16 22.312 0.027884 0.12753 0.50466 1/32 21.896 0.027163 0.087279 0.54714 1/64 21.235 0.04425 0.05674 0.62127 1/128 19.943 0.090565 0.033134 0.77605 1/256 17.041 0.22683 0.015664 1.0808 1/512 11.674 0.54577 0.0057076 1.4565 1/1024 6.4219 0.86219 0.0017173 1.7328 1/2048 3.2182 0.99674 0.00046527 1.884 1/4096 1.5904 1.0169 0.00011991 1.9562 1/8192 0.79011 1.0092 3.0277 10 5 1.9856 Tabela 3.5: Numeryczne rzędy zbieżności, n = 3, to jest [ϱ( 1 2 )] = 1000. 3.2.4. Numeryczne uciąglenie współczynnika Zwróćmy uwagę, że we wzorze na macierz A występują zarówno granice prawostronne, jak i lewostronne współczynnika ϱ w punktach siatki (gdzie są nieciągłości). Możemy jednak zamienić obie granice jednostronne pojedynczą wartością, na przykład średnią arytmetyczną obu granic. Taką operację nazwiemy uciągleniem współczynnika ϱ w danym punkcie siatki. Zwróćmy uwagę, że średnia arytmetyczna jest użyta przy uciągleniu współczynnika ϱ w formie kary, tego nie zmieniamy. W tym podrozdziale będziemy uciąglać współczynnik ϱ występujący w formie strumienia za pomocą różnych średnich. Takie podejście ma wiele zalet. Między innymi ułatwia złożenie macierzy A (implementacja jest prostsza), w prostszy sposób można konstruować algorytmy równoległe, zob. [2]. Słowo uciąglenie jest objęte cudzysłowem, ponieważ współczynnik ϱ nadal pozostaje nieciągły, jednak postać formy strumienia po uciągleniu przypomina postać wyprowadzoną 25
przy założeniu jego ciągłości. Uciąglenie współczynnika średnią arytmetyczną Rozważamy tę samą rodzinę funkcji zdefiniowaną przez wzory (3.10) (3.11). Uciąglamy współczynnik ϱ średnią arytmetyczną (w jedynym punkcie nieciągłości y = 1 2 ). Wyniki dla n = 1, 2 i 3 przedstawiają tabele 3.6, 3.7 i 3.8 (odpowiednio). Wyraźnie widzimy, że straciliśmy rząd zbieżności (o połowę), zarówno w normie łamanej, jak i w normie L 2 (Ω). Przyczyna takiego zachowania metody jest dla mnie niejasna. Jednym z możliwych powodów może być brak regularności rozwiązania zagadnienia różniczkowego, zob. postać (3.11). Dodatkowo można zauważyć, że dla dużych skoków jakość rozwiązania jest dużo gorsza, niż w przypadku zwykłej, nieciągłej dyskretyzacji. Teoretyczny rząd zbieżności jest osiągany dużo wolniej (żeby osiągnąć 0.34 z przewidywanego 0.5 musimy mieć triangulację złożoną z ponad 4000 elementów). Eksperyment sugeruje, że metoda może być niestabilna dla bardzo dużych skoków współczynnika ϱ. h e h E β 1 e h L2 (Ω) β 2 1/4 3.7707 0.60933 0.23894 1.6133 1/8 5.7971 0.62049 0.3136 0.39229 1/16 7.4623 0.3643 0.3356 0.097807 1/32 7.3585 0.020208 0.25033 0.42294 1/64 6.2087 0.24512 0.15396 0.70122 1/128 4.81 0.36826 0.085574 0.84736 1/256 3.5629 0.43296 0.04514 0.92276 1/512 2.5791 0.46618 0.023186 0.96113 1/1024 1.8453 0.48301 0.011751 0.9805 1/2048 1.3126 0.49149 0.0059153 0.99024 1/4096 0.93087 0.49574 0.0029677 0.99511 1/8192 0.6592 0.49787 0.0014864 0.99756 Tabela 3.6: Uciąglenie współczynnika średnią arytmetyczną, n = 1, to jest [ϱ( 1 2 )] = 10. h e h E β 1 e h L2 (Ω) β 2 1/4 7.2354 0.17398 0.35232 0.068576 1/8 7.0429 0.038895 0.3832 0.12121 1/16 7.2018 0.032175 0.40329 0.073722 1/32 7.5263 0.063591 0.38824 0.054875 1/64 7.7582 0.043779 0.30904 0.32915 1/128 7.2991 0.088006 0.20539 0.58947 1/256 6.1243 0.25317 0.12081 0.76559 1/512 4.745 0.36815 0.06599 0.87242 1/1024 3.5157 0.4326 0.034564 0.93297 1/2048 2.5451 0.46606 0.017699 0.96557 1/4096 1.821 0.48299 0.0089575 0.98254 1/8192 1.2953 0.49149 0.0045061 0.99121 Tabela 3.7: Uciąglenie współczynnika średnią arytmetyczną, n = 2, to jest [ϱ( 1 2 )] = 10 2. 26
h e h E β 1 e h L2 (Ω) β 2 1/4 23.228 0.15275 0.3577 0.0075484 1/8 22.445 0.049468 0.37627 0.07301 1/16 22.323 0.0078496 0.39037 0.053077 1/32 22.311 0.00079031 0.39944 0.033162 1/64 22.328 0.0011168 0.40454 0.018281 1/128 22.372 0.0028115 0.40674 0.0078443 1/256 22.459 0.0056376 0.39259 0.051079 1/512 22.582 0.0078443 0.32639 0.26644 1/1024 21.692 0.057989 0.22618 0.52911 1/2048 18.777 0.2082 0.13697 0.72366 1/4096 14.855 0.33802 0.076173 0.84648 1/8192 11.132 0.4162 0.040309 0.91819 Tabela 3.8: Uciąglenie współczynnika średnią arytmetyczną, n = 3, to jest [ϱ( 1 2 )] = 10 3. Uciąglenie współczynnika średnią harmoniczną Po raz kolejny rozważmy tę samą rodzinę funkcji zdefiniowaną wzorami (3.10) (3.11). Tym razem współczynnik ϱ uciąglamy średnią harmoniczną (w jedynym punkcie nieciągłości y = 1 2ab 2 ). Średnią harmoniczną dwóch dodatnich liczb a, b nazywamy liczbę a+b. Wyniki dla n = 1, 2 i 3 przedstawiają tabele 3.9, 3.10 i 3.11 (odpowiednio). h e h E β 1 e h L2 (Ω) β 2 1/4 1.7276 0.67792 0.071753 1.7068 1/8 0.83843 1.043 0.022654 1.6633 1/16 0.41109 1.0282 0.006564 1.7871 1/32 0.20154 1.0284 0.0017711 1.8899 1/64 0.099624 1.0165 0.00045995 1.9451 1/128 0.04953 1.0082 0.00011718 1.9728 1/256 0.024697 1.004 2.957 10 5 1.9865 1/512 0.012332 1.0019 7.4271 10 6 1.9933 1/1024 0.0061619 1.0009 1.8611 10 6 1.9966 1/2048 0.00308 1.0005 4.6582 10 7 1.9983 1/4096 0.0015397 1.0002 1.1652 10 7 1.9992 1/8192 0.0007698 1.0001 2.9139 10 8 1.9996 Tabela 3.9: Uciąglenie współczynnika średnią harmoniczną, n = 1, czyli [ϱ( 1 2 )] = 10. Widzimy, że rzędy zbieżności nie różnią się zasadniczo od tych, uzyskanych w eksperymentach, które nie korzystają z uciąglenia współczynnika ϱ. Eksperyment potwierdza przypuszczenie, że ma znaczenie, jaką średnią wybierzemy przy numerycznym uciąglaniu współczynnika ϱ. Powstaje pytanie, czy dla tak zmodyfikowanej formy dyskretnej można dowieść analogicznego rzędu zbieżności. Odpowiedź jest pozytywna, szczegóły można znaleźć w pracy [2] (dowód przebiega podobnie do dowodu twierdzenia 2.3.1). 27
h e h E β 1 e h L2 (Ω) β 2 1/4 7.2033 0.18746 0.18443 0.2395 1/8 6.6574 0.11371 0.13492 0.451 1/16 6.0963 0.12702 0.079533 0.76248 1/32 4.9112 0.31187 0.035449 1.1658 1/64 3.0888 0.66902 0.012129 1.5472 1/128 1.6231 0.92831 0.0035214 1.7843 1/256 0.80615 1.0096 0.00093958 1.9061 1/512 0.39926 1.0137 0.00024105 1.9627 1/1024 0.19878 1.0061 6.0853 10 5 1.9859 1/2048 0.099252 1.002 1.5271 10 5 1.9946 1/4096 0.049606 1.0006 3.8235 10 6 1.9978 1/8192 0.0248 1.0002 9.5652 10 7 1.999 Tabela 3.10: Uciąglenie współczynnika średnią harmoniczną, n = 2, czyli [ϱ( 1 2 )] = 10 2. h e h E β 1 e h L2 (Ω) β 2 1/4 23.225 0.15349 0.20182 0.11629 1/8 22.367 0.054319 0.16451 0.29484 1/16 22.095 0.017652 0.12202 0.43104 1/32 21.777 0.020862 0.08543 0.51435 1/64 21.171 0.040725 0.056133 0.6059 1/128 19.908 0.088726 0.032946 0.76875 1/256 17.023 0.22591 0.015612 1.0775 1/512 11.665 0.54529 0.0056949 1.4549 1/1024 6.4187 0.86184 0.0017146 1.7318 1/2048 3.2173 0.99644 0.0004648 1.8832 1/4096 1.5901 1.0167 0.00011983 1.9556 1/8192 0.79005 1.0091 3.0267 10 5 1.9852 Tabela 3.11: Uciąglenie współczynnika średnią harmoniczną, n = 3, czyli [ϱ( 1 2 )] = 10 3. 28
Podsumowanie Praca składa się z dwóch części. Pierwsza (obejmująca rozdziały 1 i 2) stanowi opracowanie teoretyczne nieciągłej metody Galerkina. Ta część oparta jest w znacznej mierze na artykule [2], gdzie szczegółowo opisany jest przypadek dwuwymiarowy, oraz częściowo na książce [7], w której autorka rozpatruje przypadki dwu- i trójwymiarowe. Przedstawione w pracy [2] dowody zostały dostosowane do zagadnienia jednowymiarowego. Teoretyczna część pracy pokazuje istotną zaletę metody, mianowicie wysokie rzędy zbieżności w normie łamanej i w normie L 2 (zob. twierdzenie 2.3.1 i uwagę 2.3.1), oraz nieznaczną słabość polegającą na tym, że ważne własności rozwiązania zadania dyskretnego (np. jego jednoznaczność) zależą od nieznanego parametru δ (teoria daje nam jednak przedział, w którym ten parametr jest dobry ). Druga, eksperymentalna część pracy (obejmująca rozdział 3), przedstawia opis implementacji opracowanej teoretycznie metody oraz symulacje numeryczne zarówno metody wyjściowej, jak i metod będących pewnymi modyfikacjami metody wyjściowej polegającymi na uciągleniu nieciągłego współczynnika ϱ różnymi średnimi (szczegółowe opracowanie w przypadku uciąglenia współczynnika średnią harmoniczną można znaleźć w pracy [2]). W książce [7] zawarty jest opis implementacji nieciągłej metody Galerkina w przypadku jednowymiarowym przy założeniu, że ϱ(x) 1 na całym obszarze Ω. Moim oryginalnym wkładem jest uogólnienie implementacji na przypadek, w którym współczynnik ϱ jest kawałkami stały (może być nieciągły w punktach siatki). Przeprowadzone w oparciu o tę implementację symulacje numeryczne miały na celu sprawdzenie jak wielkość nieciągłości współczynnika ϱ wpływa na jakość otrzymanych rozwiązań przybliżonych. Wykazały one, że w przypadku metody wyjściowej oraz w przypadku uciąglenia współczynnika ϱ średnią harmoniczną numeryczny rząd zbieżności jest asymptotycznie równy teoretycznemu, jednak dla dużych skoków osiągany jest wolniej (wraz ze wzrostem liczby elementów). W przypadku uciąglenia współczynnika średnią arytmetyczną symulacje wskazują, że straciliśmy rząd zbieżności (o połowę). Dodatkowo symulacje wskazują, że przy bardzo dużym skoku współczynnika metoda może okazać się niestabilna. Przeprowadzone symulacje numeryczne metody wyjściowej oraz metody ze współczynnikiem ϱ uciąglonym średnią harmoniczną pokazują przydatność nieciągłej metody Galerkina do dyskretyzacji eliptycznych równań różniczkowych zwyczajnych drugiego rzędu o nieciągłych współczynnikach z dużym skokiem (o wartości co najmniej 10 3 ). 29