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