Zagadnienia

11. Metoda elementu skończonego - wprowadzenie

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.

11.1. Metoda elementu skończonego dla modelowego zadania eliptycznego w jednym wymiarze

11.1.1. Słabe sformułowanie

Rozpatrzmy modelowe zadanie jednowymiarowe (7.1) z zerowymi warunkami brzegowymi i c=0, którego rozwiązanie oznaczymy u*.

Następnie weźmy dowolną funkcję ciągłą ϕ, która jest kawałkami C1 na odcinku, tzn. która ma ciągłą pochodną poza skończoną ilością punktów taką, że ϕa=ϕb=0. Przemnóżmy równanie Lu=f przez tę funkcję. Ze wzoru na całkowanie przez części otrzymujemy:

ab-d2u*dx2ϕdx=abdu*dxdϕdxdx=abfϕdx.

Oczywiście tutaj dϕdx jest zdefiniowana poza skończoną ilością punktów nieciągłości.

Zamiast zadania (7.1) możemy rozpatrzyć zadanie znalezienia funkcji u* w odpowiedniej przestrzeni V funkcji określonych na odcinku a,b zawierających funkcje kawałkami C1 i zerujące się w końcach odcinka (na razie nie ustalajmy precyzyjnie o jaką przestrzeń chodzi) takiej, żeby

abdu*dxdϕdxdx=abfϕdxϕV. (11.1)

Oczywiście rozwiązanie (7.1) spełnia (11.1), a przy odpowiednim doborze V (oraz dostatecznej gładkości f) 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 V. Następnie szukamy rozwiązania w tej przestrzeni dyskretnej, które spełnia zadanie wariacyjne (11.1) z tym, że przestrzeń V 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.

11.1.2. Element liniowy

Wprowadźmy podział (triangulacje) odcinka a,b na pododcinki (elementy) Tha,b=τk, gdzie τk=xk,xk+1 dla a=x0<<xN-1<xN=b. Za parametr tego podziału przyjmijmy h=maxkxk-xk-1, a punkty xk nazwiemy punktami nodalnymi (węzłami) tego podziału.

Oczywiście najprostszym podziałem jest podział równomierny, jeśli bierzemy xk=k*h dla h=b-a/N.

Zakładamy, że rozpatrujemy rodzinę podziałów z h dążącym do zera.

Teraz na bazie danego podziału Tha,b możemy wprowadzić przestrzeń dyskretną:

Vh=uCa,b:u|τP1τTha,b,ua=ub=0,

gdzie P1=span1,x 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 C1, zatem VhV.

Zadanie dyskretne polega na znalezieniu uhVh takiego, że

abduhdxdϕdxdx=abfϕdxϕVh. (11.2)

Pozostawimy jako zadanie wykazanie istnienia jednoznacznego rozwiązania (11.2).

\
Rys. 11.1. Baza daszkowa dla N=5.

Na razie wprowadźmy tzw. funkcję nodalną: niech ϕkVh dla k1,,N-1 będzie taką funkcją, że ϕkxk=1 i ϕkxj=0 dla jk. Możemy podać wzór na taką funkcję:

ϕx=0xxk-1,xk+1,x-xk-1xk-xk-1xxk-1,xk,1-x-xkxk+1-xkxxk,xk+1. (11.3)

Widzimy wykres kilku takich funkcji, por. rysunek 11.1.

Nietrudno pokazać, że ϕk jest elementem Vh, i że ϕ1,,ϕN-1 tworzy bazę Vh taką, że jeśli uVh, to

u=k=1N-1uxkϕk,

gdzie uxk wartość funkcji u w punkcie nodalnym xk. Wstawiając uh=k=1N-1uhxkϕk do (11.2) otrzymujemy następujący układ równań liniowych:

Ahu=f (11.4)

z u=ux1,,uxN-1T,

Ah=aklk,l=1N-1,akl=abdϕkdxdϕldxdx,f=f1,,fN-1T

dla fk=abfϕkdx.

Zauważmy, że macierz Ah 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 c*N dla stałej c niezależnej od N.

11.1.3. Zbieżność

Zastanówmy się nad zbieżnością uh do rozwiązania u*. 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):

uV:=abdudx2dx.

Wprowadzając oznaczenie eh=u*-uh i odejmując (11.2) od (11.1) otrzymujemy:

abdehdxdϕdxdx=abddxu*-uhdϕdxdx=0ϕVh.

Następnie dla dowolnego vhVh widzimy, że

abdehdx2dx=abdehdxdu*dxdx=abdehdxdu*dxdx-abdehdxdvhdxdx
=abdehdxddxu*-vhdx.

Korzystając z nierówności Schwarza w L2a,b otrzymujemy:

ehV2ehVu*-vhV,

czyli

ehVu*-vhVvhVh.

Przyjmując za vh liniowy interpolator u* w punktach nodalnych, tzn. Ihu*:=ku*xkϕk, można wykazać:

dkdxku*-Ihu*,a,bCkh2-kd2u*dx2,a,bk=0,1 (11.5)

dla pewnych stałych Ck niezależnych od h, u* i a,b. Dowód tego oszacowania pozostawiamy jako zadanie, wynika on wprost z oszacowań błędu interpolacji dla splajnów liniowych.

Wtedy od razu otrzymujemy:

ehVu*-Ihu*VC1hd2u*dx2,a,b,

czyli dla funkcji klasy C2 błąd w normie energetycznej zachowuje się jak Oh.

Można też wykazać, że w normie L2a,b zachodzi:

ehL2a,bCh2d2u*dx2,a,b,

czyli błąd zachowuje się jako Oh2 - 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ą Oh2 w dyskretnej normie Lh2, por. (10.4), która w przybliżeniu odpowiada normie L2, 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 (u*C4a,b).

11.1.4. Inne przestrzenie elementu skończonego

Przestrzeń dyskretną Vh można też zdefiniować inaczej.

Dla danego podziału Tha,b zdefiniujemy następujące przestrzenie elementu skończonego dla dowolnego p=1,2,3,4,:

Vph=uCa,b:u|τPpτTha,b,ua=ub=0

gdzie Pp jest przestrzenią wielomianów stopnia nie przekraczającego p.

Widzimy, że Vh=V1h. Przestrzeń V2h nazywamy przestrzenią elementu skończonego funkcji ciągłych kawałkami kwadratowych, a przestrzeń V3h - 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 uh,pVph takiego, że

abduh,pdxdϕdxdx=abfϕdxϕVph. (11.6)

Zadanie to ma jednoznaczne rozwiązanie. Analogicznie jak dla elementu liniowego możemy wprowadzić tu tzw. bazę nodalną w Vph. Wprowadzamy dodatkowe punkty wewnątrz odcinka xk,xk+1 dla k=0,,N-1:

xk,j=xk+jpxk+1-xk,j=0,,p-1.

Oczywiście xk,0=xk.

Dla każdego punktu xk,j oprócz x0,0=x0=a wprowadzamy funkcję bazową ϕk,jVph taką, że

ϕk,jxl,i=1l=ji=j0wprzeciwnymprzypadku (11.7)

Można pokazać, że ϕk,jk,j jest bazą i to taką, że

suppϕk,j=xk-1,xk+1j=0,k>0xk,xk+1j0.

Powstaje pytanie: po co stosować przestrzenie Vph dla p>1?

Jeśli rozwiązanie u* jest bardziej regularne, tzn. należy do Cp+1a,b, to można wykazać, że dla Ih,p=k,juxk,jϕk,jVph:

dkdxku*-Ih,pu*,a,bCkhp+1-kdp+1u*dxp+1,a,bk=0,1 (11.8)

i stąd, jak poprzednio dla elementu liniowego, otrzymujemy, że

u*-uh,pVCphpdp+1u*dxp+1,a,b, (11.9)

czyli błąd zachowuje się jak Ohp co oznacza, że w tej normie zachodzi zbieżność rzędu p.

11.2. Zadania

Ćwiczenie 11.1

Pokaż, że ϕk zdefiniowana w (11.3) jest w Vh, i że ϕ1,,ϕN-1 tworzy bazę Vh.

Ćwiczenie 11.2

Wykaż (11.4). Policz wszystkie różne od zera elementy macierzy Ah układu (11.4). Pokaż, że dla c=0 i równomiernego podziału odcinka tzn. xk=a+k*h macierz ta jest równa macierzy dyskretyzacji metodą różnic skończonych dla tego samego zadania, pomnożonej przez parametr h, tzn. jest macierzą układu równań liniowych (7.7). Czy oba układy równań liniowych po przeskalowaniu przez h (7.7) są wtedy identyczne?

Rozwiązanie: 

Układy nie są identyczne, ponieważ prawe strony mogą być różne, jakkolwiek wtedy prawą stronę (7.7) możemy uznać za prostą aproksymację całek z prawej strony (11.4).

Ćwiczenie 11.3

Pokaż, że macierz Ah w (11.4) jest zawsze trójdiagonalna, symetryczna i dodatnio określona.

Wskazówka: 

Pokaż, że dla dowolnych funkcji u=kukϕk,v=kvkϕkVh zachodzi uTAhv=abdudxdvdxdx, dla u=u1,,uN-1T,v=v1,,vN-1T.

Ćwiczenie 11.4

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 ON.

Ćwiczenie 11.5 (laboratoryjne)

Dla podziału równomiernego na odcinku -1,1 rozwiąż w octavie (11.4) dla znanego rozwiązania ux=sinπ*x, czyli dla f=-π2*sinx. Prawą stronę możemy policzyć odpowiednią funkcją octave'a. Policz rozwiązania dyskretne dla 2h i h. Następnie policz normy dyskretne maksimum dla błędów u*-uh i u*-u2h (czyli maksima błędów w punktach nodalnych) i ich stosunek. (Zakładając, że błąd dla h wynosi Ohp , stosunek ten powinien w przybliżeniu wynosić 2p).

Ćwiczenie 11.6 (częściowo laboratoryjne)

Udowodnij, że ϕk,j z (11.7) są w Vph, i że stanowią bazę tej przestrzeni. Wyprowadź bezpośrednie wzory na ϕk,j. Narysuj w octave wykresy wszystkich ϕk,j na odcinku xk,xk+1 dla a,b=0,2, h=1 i p=2,3 przy użyciu funkcji octave'a plot().

Ćwiczenie 11.7

Korzystając z (11.8) wykaż (11.9) tzn., że

u*-uh,pV=Ohp

o ile u* jest dostatecznie gładka.

Wskazówka: 

Dowód przebiega identycznie jak w przypadku p=1, tzn. liniowego elementu skończonego.

Ćwiczenie 11.8

Udowodnij jednowymiarową nierówność Friedrichsa, a mianowicie, że jeśli f jest funkcją ciągłą kawałkami klasy C1 na a,b i ua=0, to

abf2dxb-a2abdfdx2dx.
Ćwiczenie 11.9

Pokaż, że u,vV=abdudxdvdxdx jest iloczynem skalarnym na Vph i - ogólniej na dowolnej przestrzeni funkcyjnej zawartej w przestrzeni funkcji ciągłych kawałkami C1 zerujących się w końcach odcinka a,b. W szczególności uV jest normą na Vph.

Ćwiczenie 11.10

Wyprowadź układ równań liniowych

Ah,pu=f,

którego rozwiązaniem jest wektor współczynników w bazie ϕk,j, por. (11.7), rozwiązania uh,p 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 On, dla n wymiaru Vph.

Ćwiczenie 11.11

Udowodnij (11.5).

Wskazówka: 

Oszacowanie dla k=0 wprost wynika z oszacowania błędu interpolacji Lagrange'a, por. np. [14], [18] lub w języku angielskim [17] lub [25]. Natomiast w przypadku k=1 wystarczy zauważyć, że w każdym przedziale xk,xk+1 dla 0k<N istnieje punkt ξk taki, że u*ξk=Ihu*ξk, a następnie skorzystać z twierdzenia o wartości średniej.

Ćwiczenie 11.12

Udowodnij (11.8).

Wskazówka: 

Ponownie jak w poprzednim zadaniu oszacowanie dla k=0 wprost wynika z oszacowania błędu interpolacji Lagrange'a, por. np. [14], [18] lub w języku angielskim [17] lub [25].

Treść automatycznie generowana z plików źródłowych LaTeXa za pomocą oprogramowania wykorzystującego LaTeXML.

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.