W tym rozdziale przedstawimy główne idee metody elementu skończonego na przykładzie modelowego zadania eliptycznego rzędu dwa na obszarze jednowymiarowym. Metoda elementu skończonego jest bardziej ogólna od metody różnic skończonych nawet dla zadań różniczkowych zadanych na obszarze w jednym wymiarze. Np. konstrukcje zadań przybliżonych dla warunków brzegowych różnego typu są dużo prostsze niż w przypadku metody różnic skończonych.
Rozpatrzmy modelowe zadanie jednowymiarowe (7.1) z zerowymi warunkami brzegowymi i , którego rozwiązanie oznaczymy
.
Następnie weźmy dowolną funkcję ciągłą , która jest kawałkami
na odcinku, tzn. która ma ciągłą pochodną poza skończoną ilością punktów taką, że
. Przemnóżmy równanie
przez tę funkcję. Ze wzoru na całkowanie przez części otrzymujemy:
![]() |
Oczywiście tutaj jest zdefiniowana poza skończoną ilością punktów nieciągłości.
Zamiast zadania (7.1) możemy rozpatrzyć zadanie znalezienia
funkcji w odpowiedniej przestrzeni
funkcji określonych na odcinku
zawierających funkcje kawałkami
i zerujące się w końcach odcinka (na razie nie ustalajmy precyzyjnie o jaką przestrzeń chodzi) takiej, żeby
![]() |
(11.1) |
Oczywiście rozwiązanie (7.1) spełnia (11.1), a przy odpowiednim doborze (oraz dostatecznej gładkości
) można pokazać, że rozwiązanie (11.1) również spełnia (7.1). Zadanie (11.1) nazywamy sformułowaniem uogólnionym (słabym, wariacyjnym) zadania (7.1). Zaś (7.1) nazywamy sformułowaniem klasycznym.
Metoda elementu skończonego, która jest szczególnym przypadkiem metody Galerkina polega na tym, że wprowadzamy w specjalny sposób skończenie wymiarową podprzestrzeń przestrzeni
.
Następnie szukamy rozwiązania w tej przestrzeni dyskretnej, które spełnia
zadanie wariacyjne (11.1) z tym, że przestrzeń
jest zastąpiona przez naszą dyskretną podprzestrzeń.
Proszę zauważyć, że podejście wariacyjne jest inne od metody różnic skończonych, w której konstrukcja rozwiązania określonego na zbiorze dyskretnym (siatce) polega na zastąpieniu odpowiednich pochodnych w równaniu różniczkowym odpowiednimi ilorazami różnicowymi na tej siatce.
Wprowadźmy podział (triangulacje) odcinka na pododcinki (elementy)
, gdzie
dla
.
Za parametr tego podziału przyjmijmy
, a punkty
nazwiemy punktami nodalnymi (węzłami) tego podziału.
Oczywiście najprostszym podziałem jest podział równomierny, jeśli bierzemy dla
.
Zakładamy, że rozpatrujemy rodzinę podziałów z dążącym do zera.
Teraz na bazie danego podziału możemy wprowadzić
przestrzeń dyskretną:
![]() |
gdzie jest przestrzenią wielomianów liniowych, tzn. stopnia nie większego niż jeden.
Funkcje z tej przestrzeni to funkcje kawałkami liniowe (czyli klasyczne splajny liniowe) z zerowymi warunkami brzegowymi na brzegu, czyli w szczególności są to funkcje ciągłe kawałkami klasy
, zatem
.
Zadanie dyskretne polega na znalezieniu takiego, że
![]() |
(11.2) |
Pozostawimy jako zadanie wykazanie istnienia jednoznacznego rozwiązania (11.2).
Na razie wprowadźmy tzw. funkcję nodalną: niech dla
będzie taką funkcją, że
i
dla
. Możemy podać wzór na taką funkcję:
![]() |
(11.3) |
Widzimy wykres kilku takich funkcji, por. rysunek 11.1.
Nietrudno pokazać, że jest elementem
, i że
tworzy bazę
taką, że jeśli
, to
![]() |
gdzie wartość funkcji
w punkcie nodalnym
.
Wstawiając
do
(11.2) otrzymujemy następujący układ równań liniowych:
![]() |
(11.4) |
z
,
![]() |
dla .
Zauważmy, że macierz jest symetryczna i trójdiagonalna. Można wykazać, że jest dodatnio określona, więc można powyższy układ rozwiązać metodą przeganiania lub odpowiednim wariantem metody Choleskiego kosztem rzędu
dla stałej
niezależnej od
.
Zastanówmy się nad zbieżnością do rozwiązania
.
Najpierw trzeba ustalić w jakiej normie chcemy wykazać zbieżność.
Naturalną normą jest norma energetyczna związana z formą dwuliniową w słabym sformułowaniu (11.1):
![]() |
Wprowadzając oznaczenie
i odejmując (11.2) od (11.1) otrzymujemy:
![]() |
Następnie dla dowolnego widzimy, że
![]() |
![]() |
![]() |
||
![]() |
![]() |
Korzystając z nierówności Schwarza w otrzymujemy:
![]() |
czyli
![]() |
Przyjmując za liniowy interpolator
w punktach
nodalnych, tzn.
, można wykazać:
![]() |
(11.5) |
dla pewnych stałych niezależnych od
,
i
.
Dowód tego oszacowania pozostawiamy jako zadanie, wynika on wprost z oszacowań błędu interpolacji dla splajnów
liniowych.
Wtedy od razu otrzymujemy:
![]() |
czyli dla funkcji klasy błąd w normie energetycznej zachowuje się jak
.
Można też wykazać, że w normie zachodzi:
![]() |
czyli błąd zachowuje się jako
- co nie jest oczywiste.
Porównajmy to oszacowanie z oszacowaniem błędu z metody różnic skończonych (MRS)
na siatce równomiernej dla tego samego zadania różniczkowego.
Można pokazać wtedy zbieżność dyskretną
w dyskretnej normie
, por. (10.4), która w przybliżeniu odpowiada normie
,
czyli możemy powiedzieć, że szybkość zbieżności w tym przypadku metody elementu skończonego i metody różnic skończonych jest tego samego rzędu. Ale w MRS musieliśmy założyć równomierność siatki i wyższą gładkość rozwiązania (
).
Przestrzeń dyskretną można też zdefiniować inaczej.
Dla danego podziału zdefiniujemy następujące przestrzenie elementu skończonego
dla dowolnego
:
![]() |
gdzie jest przestrzenią wielomianów stopnia nie przekraczającego
.
Widzimy, że . Przestrzeń
nazywamy przestrzenią elementu skończonego funkcji ciągłych kawałkami kwadratowych,
a przestrzeń
- przestrzenią elementu skończonego funkcji ciągłych kawałkami kubicznych, czy inaczej - metodą elementu skończonego typu Lagrange'a kwadratową lub kubiczną.
Możemy teraz postawić zadanie dyskretne, jak poprzednio, tzn. szukamy
takiego, że
![]() |
(11.6) |
Zadanie to ma jednoznaczne rozwiązanie. Analogicznie jak dla elementu liniowego
możemy wprowadzić tu tzw. bazę nodalną w .
Wprowadzamy dodatkowe punkty wewnątrz odcinka
dla
:
![]() |
Oczywiście .
Dla każdego punktu
oprócz
wprowadzamy funkcję bazową
taką, że
![]() |
(11.7) |
Można pokazać, że jest bazą i to taką, że
![]() |
Powstaje pytanie: po co stosować przestrzenie dla
?
Jeśli rozwiązanie jest bardziej regularne, tzn. należy do
to można wykazać, że dla
:
![]() |
(11.8) |
i stąd, jak poprzednio dla elementu liniowego, otrzymujemy, że
![]() |
(11.9) |
czyli błąd zachowuje się jak co oznacza, że w tej normie zachodzi zbieżność
rzędu
.
Pokaż, że zdefiniowana w (11.3) jest
w
, i że
tworzy bazę
.
Wykaż (11.4).
Policz wszystkie różne od zera elementy macierzy układu (11.4).
Pokaż, że dla
i równomiernego podziału odcinka tzn.
macierz ta jest równa macierzy dyskretyzacji metodą różnic skończonych dla tego samego zadania, pomnożonej przez parametr
, tzn. jest macierzą układu równań liniowych (7.7). Czy oba układy równań liniowych po przeskalowaniu przez
(7.7) są wtedy identyczne?
Pokaż, że macierz w (11.4) jest zawsze trójdiagonalna, symetryczna i dodatnio określona.
Pokaż, że dla dowolnych funkcji
zachodzi
, dla
.
Zaproponuj metodę rozwiązywania układu równań (11.4) będącą odpowiednią wersją metody eliminacji Gaussa dla macierzy symetrycznej trójdiagonalnej
dodatnio określonej, której koszt wynosi .
Dla podziału równomiernego na odcinku rozwiąż w octavie (11.4)
dla znanego rozwiązania
, czyli dla
. Prawą stronę możemy policzyć odpowiednią funkcją octave'a.
Policz rozwiązania dyskretne dla
i
. Następnie
policz normy dyskretne maksimum dla błędów
i
(czyli maksima błędów w punktach nodalnych) i ich stosunek. (Zakładając, że błąd dla
wynosi
, stosunek ten powinien w przybliżeniu wynosić
).
Udowodnij, że z (11.7) są w
, i że stanowią bazę tej przestrzeni. Wyprowadź bezpośrednie wzory na
.
Narysuj w octave wykresy wszystkich
na odcinku
dla
,
i
przy użyciu funkcji octave'a
plot()
.
Dowód przebiega identycznie jak w przypadku , tzn. liniowego elementu skończonego.
Udowodnij jednowymiarową nierówność Friedrichsa, a mianowicie, że
jeśli jest funkcją ciągłą kawałkami klasy
na
i
,
to
![]() |
Pokaż, że jest iloczynem skalarnym na
i - ogólniej na dowolnej przestrzeni funkcyjnej zawartej
w przestrzeni funkcji ciągłych kawałkami
zerujących się w końcach odcinka
.
W szczególności
jest normą na
.
Wyprowadź układ równań liniowych
![]() |
którego rozwiązaniem jest wektor współczynników w bazie
, por. (11.7), rozwiązania
zadania (11.6). Określ ilość elementów różnych od zera w macierzy, czy
przy odpowiednim porządku indeksów funkcji bazy ta macierz może być jest pasmowa?
Jeśli tak, to znajdź wielkość pasma.
Czy jest symetryczna i dodatnio określona? Zaproponuj algorytm bezpośredni rozwiązywania tego układu kosztem
, dla
wymiaru
.
Udowodnij (11.5).
Udowodnij (11.8).
Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.
strona główna | webmaster | o portalu | pomoc
© Wydział Matematyki, Informatyki i
Mechaniki UW, 2009-2010. Niniejsze materiały są udostępnione bezpłatnie na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 3.0 Polska.
Projekt współfinansowany przez Unię Europejską w ramach
Europejskiego Funduszu Społecznego.
Projekt współfinansowany przez Ministerstwo Nauki i Szkolnictwa Wyższego i przez Uniwersytet Warszawski.