Zagadnienia

10. Metoda różnic skończonych - stabilność schematów dla zadań eliptycznych w normach energetycznych

Materiał w poniższym rozdziale jest materiałem dodatkowym, tzn. nie wchodzi w zakres materiału przedstawianego na wykładzie.

10.1. Wprowadzenie - stabilność dla modelowego zadania

W tym rozdziale przedstawimy krótki zarys innej metody badania stabilności zadań przybliżonych otrzymanych za pomocą metody różnic skończonych, tym razem, w dyskretnej normie Lh2. Jest to metoda analogiczna do metody badania stabilności zadań różniczkowych w równaniach fizyki matematycznej, por. [11].

Przedstawimy tę metodę teraz dla naszej modelowej dyskretyzacji (7.5) z jednorodnymi warunkami brzegowymi:

-∂⁡∂¯⁢uh⁢x+c⁢uh⁢x=f⁢x⁢⁢x∈Ωh, (10.1)
u⁢x=0⁢⁢x∈∂⁡Ωh.

W przypadku niejednorodnych warunków brzegowych dla c=0, zamiana zmiennych: v⁢t=u⁢t+g⁢a+g⁢b-g⁢ab-a⁢t-a dla u rozwiązania zadania z zerowymi warunkami brzegowymi daje v - rozwiązanie (7.5).

Proszę zauważyć, że dla tego zadania dyskretnego zachodzi też stabilność w dyskretnej normie maksimum, por. rozdział 9.

Przyjmujemy oznaczenie Ω¯h=xk=a+k*h:k=0,…,N. Wprowadzamy do przestrzeni Lh2⁢Ω¯h wszystkich funkcji określonych na siatce Ω¯h następujący iloczyn skalarny:

u,vh=h⁢∑x∈Ω¯hu⁢x⁢v⁢x=h⁢∑k=0Nuk⁢vk

będący dyskretnym odpowiednikiem iloczynu skalarnego typu L2⁢Ω. Tutaj uk=u⁢xk. Wprowadzamy dodatkowo oznaczenia:

u,vh=h⁢∑k=0N-1uk⁢vk,⁢u,vh=h⁢∑k=1Nuk⁢vk,⁢u,vh=h⁢∑k=1N-1uk⁢vk.

Potrzebujemy następujących odpowiedników różnicowych wzorów na całkowanie przez części nazywanych: różnicowymi wzorami na sumowanie przez części (ang. finite difference summing by parts formulas):

h*∑k=1N-1∂⁡uk⁢vh=-h*∑k=1Nuk⁢∂¯⁢vk+uN+1⁢vN+1-u1⁢v0
h*∑k=1N-1∂¯⁢uk⁢vk=-h*∑k=0N-1uk⁢∂⁡vh+uN⁢vN+1-u0⁢v0.

Tutaj ∂¯⁢uk=∂¯⁢u⁢xk=h-1⁢uk-uk-1 i ∂⁡uk=∂⁡u⁢xk=h-1⁢uk+1-uk. Dowód tych wzorów pozostawiamy jako proste zadanie, por. ćwiczenie 10.1. Możemy je przedstawić z wykorzystaniem naszej notacji:

∂⁡u,vh=-u,∂¯⁢vh+uN+1⁢vN+1-u1⁢v0,∂¯⁢u,vh=-∂¯⁢u,vh+uN⁢vN+1-u0⁢v0. (10.2)

Zauważmy, że ∂⁡∂¯⁢uk=∂¯⁢∂⁡uk dla k=1,…,N-1 zatem z powyższych wzorów dla u widzimy, że dla u0=uN=0:

-∂⁡∂¯⁢u,uh=-∂¯⁢∂⁡u,uh=∂⁡u,∂⁡uh=∂¯⁢u,∂¯⁢uh. (10.3)

Prawdziwy jest również dyskretny odpowiednik nierówności Friedrichsa:

Twierdzenie 10.1 (różnicowa nierówność Friedrichsa)

Dla u∈Lh2⁢Ω¯h takiej, że u0=uN=0 prawdziwa jest nierówność

u0,h2≤b-a2⁢∂⁡u,∂⁡uh=b-a2⁢∂¯⁢u,∂¯⁢uh.

Dowód pozostawiamy jako zadanie, por. ćwiczenie 10.1.

Weźmy -∂⁡∂¯⁢uk dla uh rozwiązania (10.1), przemnóżmy przez h*uk i zsumujmy po k=1,…,N-1. Wtedy, korzystając z wzorów na sumowanie przez części (10.2), otrzymujemy

-∂⁡∂¯⁢uh,uhh+c⁢uh,uhh=∂¯⁢uh,∂¯⁢uhh+c⁢uh,uhh=fh,uhh.

Możemy skorzystać z różnicowej nierówności Friedrichsa, por. twierdzenie 10.1:

uh0,h2≤b-a2⁢∂¯⁢uh,∂¯⁢uhh≤b-a2⁢fh,uhh≤b-a2⁢fh0,h,Ωh⁢uh0,h,

a stąd otrzymujemy oszacowanie:

uh0,h≤b-a⁢fh0,h,Ωh.

W przypadku c>0 otrzymujemy oszacowanie bez użycia nierówności Friedrichsa:

uh0,h≤c-1⁢fh0,h,Ωh.

Uzyskaliśmy stabilność w dyskretnej normie Lh2, z której wynika też istnienie jednoznacznego rozwiązania równego zero dla fh=0. Stąd wynika istnienie jednoznacznego rozwiązania.

Weźmy rh⁢u∈Lh2⁢Ω¯h zdefiniowane jako rh⁢u⁢x=u⁢x dla x∈Ω¯h. Takie obcięcie jest zdefiniowane poprawnie dla dowolnej funkcji ciągłej. Zauważmy, że zbiór funkcji ciągłych na Ω¯ jest gęsty w L2⁢a,b. Dodatkowo

rh⁢u0,h→uL2⁢a,b⁢⁢h→0

dla dowolnej funkcji ciągłej na a,b oraz jeśli rozwiązanie (7.5) jest w C4⁢a,b, to

Lh⁢rh⁢u-L⁢u0,h=O⁢h2.

Korzystając z twierdzenia 8.1 otrzymujemy:

rh⁢u-uh0,h=O⁢h2. (10.4)

Ten przykład jest prosty, ale w ten sam sposób można badać bardziej skomplikowane schematy różnicowe dla zadań postawionych w obszarach w dwóch czy więcej wymiarach.

10.2. Stabilności w normach energetycznych

Przedstawimy teraz ogólną teorię stabilności w dyskretnych normach energetycznych. Dyskretne normy energetyczne są analogiczne do tzw. norm energetycznych, w których bada się stabilność rozwiązań wyjściowych zadań różniczkowych z wykorzystaniem teorii równań fizyki matematycznej.

Zakładamy, że rozpatrujemy rodzinę skończenie wymiarowych przestrzeni Hilberta Hh z iloczynem skalarnym (⋅,⋅)h oraz operator Ah:Hh→Hh. Interesuje nas zadanie dyskretne:

Ah⁢uh=fh. (10.5)

Powiemy, że operator liniowy A:Hh→Hh jest samosprzężony w Hh, jeśli A=A* dla A*:Hh→Hh zdefiniowanego jako

A*⁢u,vh=u,A⁢vh⁢⁢∀u,v∈Hh.

Powiemy, że A jest dodatnio określony (nieujemnie określony), jeśli

(Au,u)h>0((Au,v)h≥0)∀u∈Hh,u≠0.

Nierówność operatorową A>B (A≥B) definiujemy jako A-B>0 (A-B≥0). Zauważmy, że jeśli A=A*>0 to u,vA=A⁢u,vh jest poprawnie zdefiniowanym iloczynem skalarnym, który nazywamy iloczynem skalarnym energetycznym dla operatora A. Oznaczmy uA=u,uA1/2 jako normę energetyczną dla A. Zauważmy, że A-1 też jest samosprzężony dodatnio określonym operatorem. Stabilność w odpowiednich normach dyskretnych typu L2, czy normach energetycznych pozwala nam badać następujące twierdzenie:

Twierdzenie 10.2

Niech A:Hh→Hh będzie liniowym operatorem w przestrzeni Hilberta skończenie wymiarowej Hh. Wtedy, dla uh rozwiązania (10.5) zachodzi:

  • jeśli A≥α1⁢I, to

    uh≤α1-1⁢fh,
  • jeśli A=A*≥α2⁢I, to

    uA≤α2-1/2⁢fh,
  • jeśli A≥α3⁢B dla B=B*>0, to

    uB≤α3-1⁢fB-1,

gdzie αk dla k=1,2,3 są stałymi dodatnimi.

Dowód pozostawiamy jako zadanie, por. twierdzenia 10.10 w [10].

Przykład 10.1

Zastosujmy powyższe twierdzenia do badania stabilności w przestrzeni Hilberta Lh2⁢Ωh funkcji określonych na Ωh=xkk=1,…,N-1 dla xk=a+k*h z iloczynem skalarnym u,vh=∑k=1N-1uk⁢vk dyskretyzacji (10.1). Bierzemy, jak powyżej, uk=u⁢xk dla u∈Lh2⁢Ωh przy czym przyjmujemy, że u0=uN=0.

Pokażemy, że nasz powyższy dowód stabilności bazował na tym, że odpowiedni operator różnicowy jest dodatnio określony w tej przestrzeni.

Definiujemy Ah,Bh:Lh2⁢Ωh→Lh2⁢Ωh jako

Bh⁢u⁢x=-∂⁡∂¯⁢u⁢x⁢⁢x∈Ωh,
Ah⁢u⁢x=-∂⁡∂¯⁢u⁢x+c⁢u⁢x⁢⁢x∈Ωh.

Wtedy, przyjmując że u0=uN=v0=vN=0, otrzymujemy jak powyżej (por. wzory na sumowanie przez części (10.2)):

Bh⁢u,vh=∂⁡u,∂⁡vh=u,Bh⁢vh,

a następnie, z różnicowej nierówności Friedrichsa, por. twierdzenie 10.1, dla u≠0 widzimy, że

Bh⁢u,uh=∂⁡u,∂⁡uh≥1b-a2⁢u,uh>0,

czyli Bh≥1b-a2⁢I. A z kolei Ah=Bh+c*I≥c+1b-a2*I, czyli jest to operator dodatnio określony i samosprzężony i zachodzi Ah≥Bh. Zatem, z pierwszego podpunktu twierdzenia 10.2 otrzymujemy:

uhh≤c+1b-a2-1⁢fhh,

a z drugiego i trzeciego - odpowiednio:

uhAh≤c+1b-a2-1/2⁢fhh,
uhBh≤fhBh-1.
Przykład 10.2

Rozpatrzmy następujący problem różniczkowy, powstały z naszego modelowego problemu poprzez dodanie członu z pierwszą pochodną:

-u′′⁢x+b⁢u′⁢x+c*u=f,⁢u⁢0=u⁢L=0

dla b,c stałych, przy czym c≥0. Dyskretyzujemy ten problem na siatce Ω¯h=xkk=0,…,N dla xk=k*h dla h=L/N w następujący sposób:

Lh⁢uh⁢x=-∂⁡∂¯⁢uh⁢x+b⁢∂~⁢u+c⁢uh⁢x=f⁢x⁢⁢x∈Ωh, (10.6)
uh⁢0=uh⁢L=0⁢⁢x∈∂⁡Ωh.

Tutaj

∂~⁢u⁢x=u⁢x+h-u⁢x-h2*h

jest ilorazem różnicowym centralnym. Zauważmy, że ∂~=0.5⁢∂+∂¯. Można pokazać, że jeśli rozwiązanie u∈C4⁢0,L, to:

Lh⁢u⁢x-f⁢x=O⁢h2⁢⁢x∈Ω¯h,

co pozostawiamy jako zadanie. Z tego możemy wywnioskować, że rząd aproksymacji wynosi dwa, zarówno w normie dyskretnej maksimum, jak i w Lh2.

Weźmy przestrzeń Hh z tym samym iloczynem skalarnym i operator Bh z przykładu 10.1.

Wtedy, z wzorów na różnicowe sumowanie przez części (10.2), otrzymujemy:

∂~⁢u,uh=0.5*∂⁡u+∂¯⁢u,uh=-0.5*u,∂⁡u+∂¯⁢uh.

Stąd ∂~⁢u,uh=0. Zatem, choć Lh nie jest symetryczny (o ile b≠0), to jest operatorem dodatnio określonym i zachodzi:

Lh⁢u,uh=Bh+c*I⁢u,uh≥c+1L2*u,uh.

czyli Lh≥Bh+c*I≥c+1L2*I.

Z powyższego oszacowania możemy pokazać stabilność w normie ∥⋅∥0,h jak w przykładzie 10.1, a w konsekwencji zbieżność dyskretną z rzędem dwa, co pozostawiamy jako zadanie.

10.3. Zadania

Ćwiczenie 10.1

Udowodnij wzory na sumowanie przez części, tzn. (10.2) oraz różnicową nierówność Friedrichsa, tzn. twierdzenie 10.1.

Ćwiczenie 10.2

Zbadaj rząd i stabilność schematu z przykładu 10.2 dyskretyzacji modelowego problemu jednowymiarowego w ∥⋅∥0,h dla c>0 i c=0. Wykaż zbieżności z rzędem dwa w normie ∥⋅∥0,h, o ile rozwiązanie wyjściowego problemu jest klasy C4.

Ćwiczenie 10.3

Zbadaj stabilność schematu (8.10) dyskretyzacji modelowego problemu dwuwymiarowego w dyskretnej normie L2 dla c≥0.

Ćwiczenie 10.4

Rozpatrzmy równanie różniczkowe na kwadracie Ω=0,12: chcemy znaleźć u∈C2⁢Ω∩C⁢Ω¯:

-△⁢u+b1⁢ux+b2⁢uy+c*u=f⁢⁢w⁢⁢0,12

z zerowym warunkiem brzegowym. Tu c,b1,b2 są stałymi, a c jest dodatkowo nieujemna.

Analogicznie do przykładu 10.2 i dyskretyzacji (8.10), skonstruuj schemat różnicowy wykorzystując odpowiednie pochodne centralne do aproksymacji pochodnych ux,uy.

Zbadaj rząd schematu i stabilność w w dyskretnej normie L2.

Wskazówka: 

Postępuj analogicznie jak w przykładzie 10.2.

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.