Analiza układu Naviera-Stokesa z warunkami brzegowymi
Transkrypt
Analiza układu Naviera-Stokesa z warunkami brzegowymi
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Seweryn Karłowicz Nr albumu: 169769 Analiza układu Naviera-Stokesa z warunkami brzegowymi typu poślizgu Praca magisterska na kierunku MATEMATYKA Praca wykonana pod kierunkiem dra Piotra Muchy Czerwiec 2001 Pracę przedkładam do oceny Data Podpis autora pracy: Praca jest gotowa do oceny przez recenzenta Data Podpis kierującego pracą: Streszczenie W pracy przedstawiono analizę równań Naviera-Stokesa z warunkami brzegowymi typu poślizgu w obszarze 2-wymiarowym mającym postać rury z przeszkodą. Wykorzystując własności tych równań w interesującym mnie przypadku udaje się przekształcić równania do przypadku prostszego. Wykorzystując metodę Galerkina udowadniam istnienie rozwiązań dla dużych danych. A na podstawie teoretycznych rozważań numerycznie konstruuje rozwiązania. W pracy rozważam również przypadek ogólny przy małych danych. Słowa kluczowe równania różniczkowe cząstkowe, równania Naviera-Stokesa, metoda Galerkina Klasyfikacja tematyczna jeszcze nie wiem Spis treści 3 Spis rysunków 5 Wprowadzenie Równania Naviera-Stokesa są podstawowymi równaniami wykorzystywanymi w celu opisania zachowania się newtonowskiej cieczy nieściśliwej. Większość opracowań opisuje równania z naturalnymi warunkami brzegowymi (zerowymi). W mojej pracy zajmuję się rzadziej opisywanym przypadkiem z założeniem na brak tarcie na brzegu na brzegu. Interesujący mnie obszar ma kształt dwu wymiarowej rury z przeszkodą (kanciastą, albo gładką) na jednej ścianie. 1. Przeszkoda kanciasta Γ1 ΓL 2 vg - vg - ΓP2 vg - ΓP2 @ x2 @ @ 6 x Γ1 1 Γ1 2. Przeszkoda gładka Γ1 ΓL 2 x2 vg 6 x 1 - Γ1 Γ1 Rozważane równania mają postać: v · ∇v − ν∆v + ∇p = 0, div v = 0. I badane będą z następującymi warunkami brzegowymi v · n|Γ1 = 0, v · n|ΓL = −vg , 2 7 v · n|ΓP = vg , 2 n · T(v, p) · τ |∂Ω = 0. Gdzie v = (v 1 , v 2 ) jest wektorem prędkości cieczy, p jest ciśnieniem, ν jest dodatnim stałym współczynnikiem lepkością, vg jest prędkością wpływu i wypływu, n jest wektorem normalnym do brzegu, τ wektorem stycznym, a T - tensor naprężeń jest zdefiniowane przez T(v, p) = 2νvx11 − p ν(vx21 ) + vx12 ν(vx12 + vx21 ) 2νvx22 − p ! . Praca rozważa doddzielne dwa przypadki wyróżnione przez kształt przeszkody (patrz rysunki). 8 Rozdział 1 Podstawowe pojęcia i oznaczenia Rozpatrujemy 2 wymiarową przestrzeń: n=1,2 ∇ = ( ∂x∂ 1 , ∂x∂ 2 ) 2 ∆ = ( (∂x∂ 1 )2 + ∂2 (∂x2 )2 ) vxn - pochodna względem xn v n - n-ta współrzędna v R A : B - ”iloczyn skalarny”macierzy - D(u) = 2u1x1 u12 + u2x1 u1x2 + u2x1 2u2x2 R A:B= P i,j Aij Bij ! T(v, p) = νD(v) − pId ( Id jest macierzą identyczności) v∇v 1 = v 1 vx11 + v 2 vx12 P Γ2 = ΓL 2 ∪ Γ2 H m (Ω) dla m ∈ N jest domknięciem przestrzeni c∞ (Ω) w normie ||f ||2H m (Ω) = X 0¬|α|¬m Z Ω gdzie ∂ α = ∂xα11 ∂xα22 , α = (α1 , α2 ) i |α| = α1 + α2 9 |∂ α f |2 dx Rozdział 2 Pomocnicze twierdzenia Rozpatrujemy poniższe równanie w obszarze dwuwymiarowym, o kształcie rury z przeszkodą. v jest wektorem prędkości, p jest ciśnieniem, ν jest lepkością cieczy, vg jest prędkością wpływu i wypływu , n jest wektorem normalnym do brzegu, τ wektorem stycznym, v · ∇v − ν∆v + ∇p = 0, (1.1) div v = 0. (1.2) v · n|Γ1 = 0, (1.3) v · n|ΓL = −vg , (1.4) v · n|ΓP = vg , (1.5) n · T(v, p) · τ |∂Ω = 0. (1.6) Z warunkami brzegowymi 2 2 Lemat 1.1 Jeśli v spełnia warunki (1.1)-(1.2) naszego równania z warunkami brzegowymi (1.3)-(1.6) to (dla przeszkody kawałkami liniowej - rys. 1) równanie na wirowość wektora prędkości v v · ∇α − ν∆α = 0, (2.1) dookreślone jest przez warunek brzegowy α |∂Ω = 0, (2.2) gdzie α = vx12 − vx21 . Dowód lematu 1.1: Dowód równania (2.1). Rozpatrujemy pierwszą współrzędną równania (1.1) v · ∇v 1 − ν∆v 1 + ∂x1 p = 0. Różniczkujemy ją po x2 : v · ∇vx12 + vx2 · ∇v 1 − ν∆vx12 + ∂x1 px2 = 0. (2.3) Analogicznie rozpatrujemy drugą współrzędną z tym, że różniczkujemy po x1 : v · ∇vx21 + vx1 · ∇v 2 − ν · ∆vx21 + ∂x2 px1 = 0. 11 (2.4) Odejmujemy równanie (2.4) od równania (2.3) v · ∇vx12 + vx2 · ∇v 1 − ν∆vx12 + ∂x1 px2 − (v · ∇vx21 + vx1 · ∇v 2 − ν · ∆vx21 + ∂x2 px1 ) = 0, v(∇vx12 − ∇vx21 ) + (vx2 · ∇v 1 − vx1 · ∇v 2 ) − ν(∆vx12 − ∆vx21 ) + (∂x1 px2 − ∂x2 px1 ) = 0. Zauważmy że: ∂x1 px2 − ∂x2 px1 = px1 x2 − px2 x1 = px1 x2 − px1 x2 = 0. Czyli v · ∇α − ν∆α + (vx2 · ∇v 1 − vx1 · ∇v 2 ) = 0. Rozpiszmy ostatni nawias. Jako, że: vx2 · ∇v 1 = vx12 vx11 + vx22 vx12 i vx1 · ∇v 2 = vx11 vx21 + vx21 vx22 . To: v · ∇α − ν∆α + (vx12 vx11 + vx22 vx12 − vx11 vx21 − vx21 vx22 ) = 0, v · ∇α − ν∆α + (vx11 (vx12 − vx21 ) + vx22 (vx12 − vx21 )) = 0, v · ∇α − ν∆α + (vx12 − vx21 )(vx11 + vx22 ) = 0. Jako, że div v = 0 to (vx12 − vx21 )(vx11 + vx22 ) = 0. Czyli otrzymaliśmy równanie (2.1) Teraz udowodnijmy warunek brzegowy (2.2) czyli, że α |∂Ω = 0. Warunki brzegowe naszego zagadnienia (1.3)-(1.6) v · n|Γ1 = 0, v · n|ΓL = −vg , 2 v · n|ΓP = vg , 2 n · T(v, p) · τ |∂Ω = 0. Przy czym: 2vx11 − p vx21 + vx12 T(v, p) = vx12 + vx21 2vx22 − p ! . Weźmy wektory styczny i normalny takie: n= n1 n2 ! , τ= −n2 n1 ! . I takie, że norma n (i τ ) jest równa 1. Czyli (n1 , n2 ) · 2vx11 − p vx21 + vx12 vx12 + vx21 2vx22 − p 12 ! · −n2 n1 ! = 0. Zatem (n1 , n2 ) · −2vx11 n2 + pn2 + n1 (vx12 + vx21 ) −n2 (vx12 + vx21 ) + 2n1 vx22 − pn1 ! = 0. Więc −2vx11 n1 n2 + pn2 n1 + (n1 )2 (vx12 + vx21 ) − (n2 )2 (vx12 + vx21 ) + 2n1 n2 vx22 − pn1 n2 = 0. (2.5) Przyjrzymy się warunkowi brzegowemu (na Γ1 ) v · n = 0. (2.6) Zróżniczkujmy to wzdłuż wektora stycznego d (v)n = ds −n2 vx11 + n1 vx12 −n2 vx21 + n1 vx22 ! n1 n2 ! = 0. Czyli −n1 n2 vx11 + (n1 )2 vx12 − (n2 )2 vx21 + n1 n2 vx22 = 0. Pomnóżmy to przez -2 i dodajmy do (2.5) −2vx11 n1 n2 + (n1 )2 (vx12 + vx21 ) − (n2 )2 (vx12 + vx21 ) + 2n1 n2 vx22 + 2n1 n2 vx11 − 2(n1 )2 vx12 + 2(n2 )2 vx21 − 2n1 n2 vx22 = 0, Przekształcając (n1 )2 (vx12 + vx21 − 2vx12 ) − (n2 )2 (vx12 + vx21 − 2vx21 ) = 0, (n1 )2 (vx21 − vx12 ) + (n2 )2 (vx21 − vx12 ) = 0, Ostatecznie otrzymujemy −rot α((n1 )2 + (n2 )2 ) = 0, Jako, że założyliśmy, że wektor n jest jednostkowy to rot α = 0. na brzegu Γ1 . Pozostaje jeszcze kłopot w punktach ”kanciastych”, bo jest tam nieciągłość. Rozszerzenie uzyskanego rezultatu na te punkty otrzymujemy z następnego lematu. Oczywiście na Γ2 jest identycznie ponieważ na nim v · n jest stałe, więc różniczkując, również otrzymamy 0. Lemat 1.2 Jeśli przeszkoda nie jest kawałkami liniowa wtedy lemat 1.1 przyjmuje postać Jeśli v spełnia warunki (1.1)-(1.2) naszego równania z warunkami brzegowymi (1.3)-(1.6) to (dla przeszkody gładkiej- rys. 2) v · ∇α − ν∆α = 0 (2.10 ) α |∂Ω = −2χv · τ (2.20 ) Z warunkiem brzegowym: Gdzie α = vx12 − vx21 . 13 Dowód (2.1’) jest identyczny z lematem (1.1) Dowód (2.2’) gdy obliczamy pochodną równania (2.6) dochodzi również pochodna n (jako że n nie jest stałe) d d d (vn) = (v)n + v (n). ds ds ds Wiemy, że Czyli: d ds (n) = τ χ, gdzie χ jest krzywizną. d (vn) = ds −n2 vx11 + n1 vx12 −n2 vx21 + n1 vx22 ! n1 n2 ! + χv · τ = 0. Czyli −n1 n2 vx11 + (n1 )2 vx12 − (n2 )2 vx21 + n1 n2 vx22 = −χv · τ. Pomnóżmy to przez -2 i dodajmy do (2.5) −2vx11 n1 n2 + (n1 )2 (vx12 + vx21 ) − (n2 )2 (vx12 + vx21 ) + 2n1 n2 vx22 + 2n1 n2 vx11 − 2(n1 )2 vx12 + 2(n2 )2 vx21 − 2n1 n2 vx22 = 2χv · τ. (n1 )2 (vx12 + vx21 − 2vx12 ) − (n2 )2 (vx12 + vx21 − 2vx21 ) = 2χv · τ, (n1 )2 (vx21 − vx12 ) + (n2 )2 (vx21 − vx12 ) = 2χv · τ, −rot α((n1 )2 + (n2 )2 ) = 2χv · τ. Jako, że założyliśmy, że wektor n jest jednostkowy to rot α = −2χv · τ. na brzegu Γ1 Na brzegu Γ2 krzywizna jest równa 0 (a rot α z lematu 1.1 jest równe 0) więc też można zapisać że rot α = −2 · 0 · v · τ = −2χv · τ |χ=0 Pozostaje kłopot z kantami... Lemat 1.3 Niech X będzie skończenie wymiarową przestrzenią Hilberta z iloczynem skalarnym [·, ·] i normą [·] i niech P będzie ciągłym odwzorowaniem Z X w siebie takim, że [P (ξ), ξ] > 0 dla [ξ] = k > 0 Wtedy istnieje ξ ∈ X,[ξ] takie, że P (ξ) = 0 Dowód Lematu 1.3 Jest to prosta konsekwencja Twierdzenia Brouwera o punkcie stałym (TEM) Przypuśćmy, że P nie ma zera w kuli D w X o środku w O i z promieniem k. Wtedy następujące przyłożenie P (ξ) ξ → S(ξ) = −k [P (ξ)] 14 przekształca D w siebie i jest ciągłe. Wtedy z twierdzenia Brouwera wynika, że to S ma punkt stały w D: istnieje ξ0 ∈ D takie, że −k P (ξ0 ) = ξ0 [P (ξ0 )] Jeśli weźmiemy pod uwagę normę po obu stronach widzimy, że [ξ] = k i jeśli pomnożymy skalarnie obie strony przez ξ0 , widzimy, że [ξ0 ]2 = k 2 = −k [P (ξ0 ), ξ0 ] . [P (ξ0 )] To przeczy lematowi, (bo ma być większe od zera) więc P (ξ) musi znikać w jakimś punkcie D Lemat 1.4 - nierówność Korna Niech Ω spełnia założenia naszego obszaru. Istnieje wtedy ṽ > 0, że R 2 Ω (D(u)) dx ṽ||u||2H 1 (Ω) dla wszystkich u∈V (2.7) gdzie jest zdefiniowana tak jak u nas, a ṽ jest zależne od obszaru Ω Dowód nierówności Korna (za SOL) Na początku udowodnimy, że jeśli u ∈ V wtedy ||∇u||L2 (Ω) c||u||H 1 (Ω) (2.8) By to pokazać, zauważmy że jako że u · n|∂Ω = 0, u → 0 dla x1 → ±∞ i do tego div u = 0 to R I(x1 ) u 1 dx 2 i u2 |x2 =H = 0 dla wszystkich x1 Z tego wynika możliwość zastosowania nierówności Poincare dla obszaru Q = Ω \ ([−L, L] × (0, H)), ||∇u||L2 (Q) c||u||H 1 (Q) Jako, że Ω \ Q jest spójna i ograniczona, z twierdzenia o śladzie możemy wyprowadzić (2.8) Dowód (2.7) 1 (D(u)) dx = 2 Ω Z 2 Z 2 X Ω i,j=1 (uixj + ujxi )2 dx ||∇u||2L2 (Ω) + Z 2 X Z = Ω i,j=1 2 X Ω i,j=1 ((uixj )2 + uixj ujxi )dx = uixj ujxi dx (2.9) Przyjrzyjmy się ostatniemu wyrazowi Bez straty ogólności możemy założyć, że u ∈ C 2 (Ω) i całkując przez części otrzymujemy Z 2 X Ω i,j=1 uixj ujxi dx =− Z Ω ui ujxij dx 15 Z + 2 X ∂Ω i,j=1 ui ujxi nj dω = Z 2 X Ω i,j=1 i uj dx xij uixi ujxj dx − 2 X Z ∂Ω i,j=1 ui ni ujxj dω Ωu R R ∂Ω i,j=1 i,j=1 u 2 X (u · n)xi = 0 albo inaczej + P2 jest równy (div u)2 dx = 0 a ∂Ω ten warunek również powoduje, że na brzegu R 2 X Z i uj nj dω xi ujxi nj = − j=1 2 X ui ujxi nj dω (2.10) także znika bo u·n|∂Ω = 0, uj njxi j=1 Korzystając z tego w (2.10) otrzymujemy Z 2 X Ω i,j=1 uixj ujxi dx =− 2 X Z ∂Ω i,j=1 ui uj nixj dω (2.11) Oczywiście |nixj | c||∂Ω||c2 , w szczególności, z definicji Ω mamy nixj ≡ 0 dla |x1 | > L które powoduje, że Z Z ui uj nixj dω = ui uj nixj dω (2.12) ∂Ω ∂O gdzie ∂O = ∂Ω∩([−L, L]×[0, H]) i jest oczywiste, że ∂O ma skończoną miarę dającą zwartość tego obszaru. Z (2.9), (2.11), (2.12) wynika następująca nierówność ||u||2H 1 (Ω) Z ¬ A1 ( Ω (D(u))2 dx + ||u||2L2 (∂O) ) By ukończyć dowód musimy pokazać, że: ||u||2L2 (∂O) ¬ 1 ||um ||2H 1 (Ω) + A2 2A1 Z (D(u))2 dx (2.13) Ω Udowodnimy to przez zaprzeczenie. Jeśli nie istnieje taka liczba A2 wtedy istnieje ograniczony ciąg {um }∞ m=0 ⊂ V taki, że: ||u||2L2 (∂O) 1 ||um ||2H 1 (Ω) + A2 2A1 Z (D(u))2 dx (2.14) Ω Jeśli weźmiemy v m = um /||um ||L2 (∂O) wtedy ||v m ||L2 (∂O) = 1 i m Z (D(v m ))2 dx ¬ 1 (2.15) Ω Jako, że (z (2.14) ) ciąg v m jest ograniczona w V, możemy wybrać podciąg {v mk }∞ k=0 i z (2.15) Z 1 (D(v mk ))2 dx ¬ →0 mk Ω To razem z (2.9) i (2.11) implikuje, że ||v mk ||V → ||v∗ ||V , czyli, że v mh → v∗ (silnie) w V , co w szczególności daje, że Z (D(v∗ ))2 dx = 0. Ω Ale funkcje spełniające to mają postać v∗1 = ax2 i v∗2 = ax1 dla a ∈ R. Jako, że v∗ ∈ V wynika, że v∗ = 0 co stoi w sprzeczności z (2.14) 16 Jako, że v∗ ∈ V wynika, że v∗ = 0 co stoi w sprzeczności z (2.14). Czyli dowiedliśmy istnienie liczby A2 . Z (2.13) i definicji normy w naszej przestrzeni wynika dowód nierówności Korna. Lemat 1.5 Niech δ > 0 będzie ustalona. Wtedy istnieje pole wektorowe a : Ω → R2 spełniające założenia div a = 0 w Ω aaaaaa 17 Rozdział 3 Sformułowanie wariacyjne Sformułujmy (2.1)-(2.2) wariacyjnie. By ułatwić zadanie znajdujemy rozwiązanie nie dla naszego pola wektorowego v ale dla pola wektorowego u takiego, że na ma na brzegu warunki jednorodne, w tym celu tworzymy pole wektorowe a takie, że a : Ω → R2 : div a = 0, a · n = 0 na −vg na v na g Γ1 ΓL 2 ΓP2 i rozwiązujemy równanie dla u : v = a + u. Oczywiste jest, że div u = 0, jednocześnie u · n = 0 na całym brzegu Podstawmy v =a+u do naszego zagadnienia (a + u)∇(a + u) − ν∆(u + a) + ∇p = 0, div (a + u) = 0, n · T(u + a, p) · τ = 0, n · u = 0. Przekształcając u∇u + a∇u + u∇a + a∇a − ν∆u + ∇p = 0, div u = 0, n · D(u) · τ = −nD(a)τ, n · u = 0. Czyli (−ν∆u + ∇p = −div T(u, p)) u∇u + a∇u + u∇a + a∇a − div T(u, p) = 0, div u = 0, nD(u)τ = −nD(a)τ, n · u = 0. 19 (?.1) Zdefiniujmy przestrzeń V = {f : H 1 (Ω; R2 ) : div f = 0, f · n|∂Ω = 0} mnożymy (?.1) przez ϕ należącą do przestrzeni V (u∇u + a∇u + u∇a + a∇a, ϕ) + (−div T(u, p), ϕ) = 0 (?.2) Zajmijmy się drugim członem (−div T(u, p), ϕ) − Z div T(u, p) · ϕdx = Z Ω D(u) : ∇ϕdx − Z nT(u, p)ϕdω ∂Ω Ω ϕ można rozpisać w bazie złożonej z wektorów stycznego i normalnego do brzegu. ϕ = (τ ϕ)τ + (nϕ)n Drugi człon jest równy 0 z definicji przestrzeni V Z nT(u, p)τ (τ ϕ)dω = − ∂Ω Z nD(a)τ (τ ϕ) ∂Ω Czyli − Z div T(u, p) · ϕdx = Ω Z D(u) : ∇ϕdx + Z nD(a)τ (τ ϕ)dω ∂Ω Ω Def. Funkcję u ∈ V nazywamy słabym rozwiązaniem jeśli następująca tożsamość Z D(u) : ∇ϕdx + Z Z nD(a)τ (τ ϕ)dω + (u∇u + a∇u + u∇a + a∇a)ϕdx = 0 ∂Ω Ω (?.3) Ω jest spełniona dla każdego ϕ ∈ V Obliczanie normy Pomnóżmy (?.3) przez (·, u) (zastępujemy ϕ przez u) ((u∇u, u) = 0, (a∇u, u) = 0 bo div u = 0) Z D(u) : ∇udx + Z Z ∂Ω Ω (u∇a + a∇a)udx = 0 nD(a)τ (τ u)dω + Ω Przyjrzyjmy się poszczególnym elementom tego równania i spróbujemy je ograniczyć Będziemy korzystali z tzw. nierówności Korna Czyli z tego, że dla każdego u ∈ V Z Ω Oszacujmy R Ω D(u) (D(u))2 dx ṽ||u||2h1 (Ω) : ∇udx , z nierówności Korna mamy Z D(u) : ∇udx = Z Ω (D(u))2 dx ṽ||u||2h1 (Ω) Pozostałe wyrazy (z nierówności Schwarza): | Z Ω (a∇a)udx ¬ A||(a∇a)||L2 (Ω) ||u||H 1 (Ω) (nie wiem czy dobrze) | Z nD(a)τ (τ u)dω| ¬ A2 | ∂Ω Z D(a)udω| ¬ A2 ||D(a)||||u|| ∂Ω R Został jeszcze wyraz Ω u∇au (cholera dowód nie przechodzi bo u Ciebie były 0 na brzegu, musze jeszcze spróbować) 20 Rozdział 4 Metoda Galerkina Mamy przestrzeń V (raczej normalne, ale może V = {v ∈ H1 (Ω), div v = 0}), oczywiście (? czy tu też przechodzi dowód jak dla H01 ) istnieje baza ortogonalna {wi }∞ i=1 : (wk , wl )H 1 (Ω) = δkl V = span {w1 , w2 , ..., wn , ...} Metoda Galerkina polega na znajdowaniu rozwiązań w skończenie wymiarowych przestrzeniach V N gdzie V N = span {w1 , w2 , ..., wN } i przejściu z rozwiązaniami do granicy. Dokładniej Dla każdego N znajdujemy rozwiązanie naszego zagadnienia w V N w postaci uN = PN N k=1 ck wk , cN k ∈R Rozwiązujemy układ na współczynniki cN k Z D(uN ) : ∇wk dx = ν Ω − Z N (u )awk dx − Z Ω (a∇)awk dx − ν Z Ω D(a) : ∇wk dx − Z Ω N (a∇)u wk dx − Ω Z (uN ∇)uN dx Ω (4.1) By pokazać istnienie rozwiązań korzystamy z Lematu (1.3). Zdefiniujmy operator P (·) dla uN ∈ V N : N X N P (u ) = k=1 Z ν Z (ν N D(u ) : ∇wk dx + Ω D(a) : ∇wk dx + Z Z N (u )awk dx + Ω Z Ω N Z (a∇)u wk dx + Ω Ω Oczywiste jest, że P : V N → V N aaaaa 21 (a∇)awk dx+ Ω (uN ∇)uN dx) (4.2) Rozdział 5 Implementacja numeryczna Korzystamy z (?.?) czyli rot v = vx12 − vx21 = α = 0 na całym Ω div v = 0 n·v = 0 vg −v g na prawym końcu obszaru - wypływ na lewym końcu obszaru - wpływ W celu uproszczenia naszych rozważań wykorzystamy własność obszaru Ω, ze względu na jednospójność tego obszaru możemy zastosować lemat Poincarego. Tzn ponieważ vx12 = vx21 to istnieje funkcja ϕ taka że v 1 = ϕ x1 v 2 = ϕ x2 Czyli ∇ϕ = v A więc div ∇ϕ = 0 0 vg n · ∇ϕ = −v g Przekształcając ∆ϕ = 0 0 ∂ϕ vg = ∂n −v g By doprowadzić do jednorodnego zagadnienia brzegowego tworzymy funkcję w(x) taką, że na Γ2 ma vg a na wysokości przeszkody znika. Wykres w wygląda następująco. 23 @ @ @ vg 6 @ @ @ @ @ @ w@ w @ @ 0 @ @ x1 x2 x3 - x4 w jest funkcją zależną od x i mającej wzór 1 vg x−x dla x < x1 x1 0 dla x ∈ (x1 , x4 ) w(x) = v (1 − x−x4 ) dla x > x4 g x4 Stwórzmy funkcję ψ z jednorodnymi na pochodną warunkami brzegowymi ψ : ∇ϕ = ∇ψ + w Czyli 0 = div (∇ϕ) = div (∇ψ + w) div (∇ψ + w) = 0 div ∇ψ = −wx1 Będziemy rozwiązywać następujące równanie ∆ψ = −wx1 ∂ψ = 0 na Γ ∂n Tworzę siatkę prostokątną, ze stałym h względem osi y (oznaczam h1 ) i z h różniącym się za względu na położenie x, tzn. szerokość oczek siatki jest różna. Nad lewym skosem (x ∈ (x1 , x2 )) jest h3 , nad prawym (x ∈ (x3 , x4 )) jest h4 , dla pozostałych x oznaczam to jako h2 . Ten podział ma tą zaletę, że jest w miarę regularny, punkty siatkowe leżą na brzegu, bez kłopotu można zagęszczać siatkę i w większości (wszystkich oprócz punktów leżących na 24 skosie i ich sąsiadów) przypadków oblicza się to tak samo (różnica jest tylko w ilości sąsiadów i poziomej odległości węzłów siatki). Bazę dla ustalonego n tworzą piramidki Θk takie, że Θk w węźle k ma wartość 1, a w pozostałych węzłach 0 i sąsiednie węzły są w podstawie piramidki. Iloczyn piramidek (ani ich pochodnych) nie jest różny od 0 tylko dla tej samej piramidki, dlatego też wynik musze obliczyć jakąś metodą rozwiązywania układu równań. Ten podział powoduje, że macierz iloczynów pochodnych ma w danym rzędzie co najwyżej 5 elementów różnych od zera. Ilość sąsiadów, jak również iloczyn, zależy od położenia punktu. Poza różnicami w odległości punktów siatkowych (h), dochodzi również problem z punktami siatkowymi leżącymi na skosie i sąsiadów tych punktów. Zwykle sąsiedztwo wygląda następująco : aΘ k−s−1 aΘ a b a a Θk−1 Θk+r−1 k−s Θk Θk+r a Θk−s+1 a Θk+1 a Θk+r+1 Czyli są wszyscy sąsiedzi, podział jest prostokątny. W przypadkach brzegowych (punkt Θk leży na brzegu z wyjątkiem skosu) różni się tylko ilość sąsiadów. Duże zmiany są dopiero dla punktów leżących na skosie, jak ich bezpośrednich sąsiadów. Dla punktów leżących na skosie: aΘ k−s−1 a Θk−1 aΘ k−s a Θk−s+1 b Θk a Θk+r−1 Dla ich sąsiadów: aΘ k−s−1 aΘ a b a a Θk−1 Θk+r−1 k−s Θk a Θk−s+1 a Θk+1 Θk+r Ten ostatni przypadek ma również jeszcze jedną odróżniającą cechę. O ile w pozostałych przypadkach w punkcie w podstawie Θk tylko jedna pochodna (względem x, lub względem y) jest różna od zera, to tutaj, w trójkącie ograniczonym punktami Θk ,Θk+1 i Θk+r , obie pochodne są różne od zera. W przypadku punktów nie leżących nad skosami iloczyn skalarny z sąsiadami leżącymi na przekątnych znoszą się: 25 a Θk−s b k−s+1 Θczęść piramidki Θk−s+1 Y H H a a H Θk Θk+1 H H aΘ HH a Θk−s+1 k−s HH H część piramidki Θk bΘ a Θ k Tu pochodna piramidki względem x2 jest równa 0 Tu pochodna piramidki względem x1 jest równa 0 k+1 Korzystam z metody Galerkina w następujący sposób: Dla ustalonego n (ilość węzłów) szukam rozwiązania w postaci współczynników dla bazy złożonej z piramidek Θk . ∆ψ = −wx1 n X (∆ψ, Θk ) = (−wx1 , Θk ) k=1 n X (∇ψ, ∇Θk ) = (wx1 , Θk ) k=1 rozpisuje ψ przy pomocy Θk (ψ = Pn t=1 ct Θt ) n X n X (ct ∇Θt , ∇Θk ) = (wx1 , Θk ) k=1 t=1 n X t=1 ct n X (∇Θt , ∇Θk ) = (wx1 , Θk ) k=1 Korzystam z algorytmu (????) do obliczenia rozwiązania. Przy jego pomocy obliczam współczynniki ct , czyli mogę rozpisać rozwiązanie w bazie Θk . Teraz mogę obliczyć ∇ϕ w punktach siatki. Jako, że v = ∇ϕ = ∇ψ + w to mogę obliczyć v korzystając z iloczynów różnicowych z następnymi (względem x, jak i y) punktami siatki . 26