Warunek brzegowy Dirichleta Warunek brzegowy Neumanna

Transkrypt

Warunek brzegowy Dirichleta Warunek brzegowy Neumanna
Typy równań róŜniczkowych cząstkowych liniowych
a) równania róŜniczkowe eliptyczne (równanie Laplace’a, równanie Poisson’a)
b) równanie róŜniczkowe paraboliczne (równanie dyfuzji)
c) równanie róŜniczkowe hiperboliczne (równanie falowe)
Warunki brzegowe
Warunek brzegowy Dirichleta
u ( x, y ) = g ( x, y ) dla
( x, y ) ∈ S
gdzie: u(x,y) – poszukiwana funkcja w punktach wewnątrz obszaru R, g(x,y) – zadana
funkcja dla punktów (x,y) naleŜących do brzegu S obszaru R.
Warunek brzegowy Neumanna
∂u
( x , y ) = g ( x , y ) dla ( x, y ) ∈ S
∂n
∂u
( x , y ) – pochodna normalna poszukiwanej funkcji w punktach naleŜących do
∂n
brzegu S obszaru R, g(x,y) – zadana funkcja dla punktów (x,y) naleŜących do brzegu S
obszaru R.
gdzie:
Równania eliptyczne - Poissona i Laplace’a
d 2u
d 2u
(
x
,
y
)
+
( x, y ) = f ( x, y ) dla ( x, y ) ∈ R = ( a , b) × ( c, d )
dx 2
dy 2
z warunkami brzegowymi
u ( x, y ) = g ( x, y ) dla ( x, y ) ∈ S
∇ 2 u ( x, y ) =
JeŜeli f(x,y)=0 równanie Poissona nazywamy równaniem Laplace’a.
Metoda róŜnic skończonych (MRS)
Dla danych liczb całkowitych m i n, definiujemy kroki h = (b-a)/n oraz k = (c-d)/m.
Dzielimy: przedział [a,b] na n równych części o szerokości h oraz przedział [c,d] na m
równych części o szerokości k.
Tworzymy siatkę na obszarze R poprzez narysowanie pionowych i poziomych linii
przechodzących przez punkty (xi, yj), takich Ŝe:
xi = a + ih
dla i = 0,1, .. n oraz y j = c + jk
dla j = 0,1, .. m
Proste x = xi, y = yj linie siatki,
punkty przecięcia (xi,yj) punkty węzłowe siatki.
Metoda róŜnic skończonych opiera się na zastąpieniu pochodnych cząstkowych w punktach
(xi,yj) ich przybliŜeniami numerycznymi . Otrzymujemy:
Dla zmiennej x
u ( xi +1 , y j ) − 2u ( xi , y j ) + u ( xi −1 , y j ) h 2 ∂ 4u
∂ 2u
(
x
,
y
)
=
−
(ξ i , y j ) , gdzie: ξ i ∈ ( xi −1 , xi +1 )
i
j
∂x 2
h2
12 ∂x 4
Dla zmiennej y
u ( xi , y j +1 ) − 2u ( xi , y j ) + u ( xi , y j −1 ) k 2 ∂ 4u
∂ 2u
( xi , y j ) =
−
( xi ,η j ) , gdzie: η j ∈ ( y j −1 , y j +1 )
∂y 2
k2
12 ∂y 4
Podstawiając do równania Poissona otrzymujemy:
u ( xi +1 , y j ) − 2u ( xi , y j ) + u ( xi −1 , y j )
h
2
oraz
u ( xi , y j +1 ) − 2u ( xi , y j ) + u ( xi , y j −1 )
k2
h 2 ∂ 4u
k 2 ∂ 4u
(
ξ
,
y
)
+
( xi ,η j ) (4)
i
j
12 ∂x 4
12 ∂y 4
j = 1,2, … m-1
= f ( x, y ) +
dla i = 1,2 … n-1
+
natomiast warunki brzegowe mają postać:
u ( x0 , y j ) = g ( x0 , y j )
oraz u ( xn , y j ) = g ( xn , y j ) dla j = 0,1, .. m
u ( xi , ym ) = g ( xi , ym )
oraz u ( xi , y0 ) = g ( xi , y0 ) dla i = 1,2, .. n
Pomijając reszty otrzymujemy układ (n-1)×(m-1) równań liniowych z niewiadomymi wij ,
które są przybliŜeniem u(xi,yj).
2
 h  2 
h
2   + 1 wij − ( wi +1, j + wi −1, j ) −   ( wi , j +1 + wi , j −1 ) = −h 2 f ( xi , y j )
k
 k 

dla i = 1,2 … n-1 , j = 1,2, … m-1
z warunkami brzegowymi:
w0 j = g ( x0 , y j )
wi 0 = g ( xi , y0 )
oraz
wnj = g ( xn , y j ) dla j = 0,1, .. m
oraz
wim = g ( xi , ym ) dla i = 1,2, .. n
Dla h = k układ przyjmuje (prostszą) postać wymiaru (n-1)×(n-1):
4wij − ( wi +1, j + wi −1, j ) − ( wi , j +1 + wi , j −1 ) = −h 2 f ( xi , y j ) (10)
dla i = 1,2 … n-1 oraz j = 1,2, … m-1
Układ równań moŜemy rozwiązać metodami bezpośrednimi bądź iteracyjnymi.
Obserwacja: w celu wyznaczenia przybliŜenia rozwiązania w punkcie (xi,yj), potrzebne są
wartości przybliŜenia rozwiązania w czterech sąsiednich punktach:
Przykład
Wyznaczyć rozkład temperatury w stanie ustalonym dla cienkiej kwadratowej metalowej
płytki o wymiarach 0,5 m na 0,5 m. Na brzegu płytki znajdują się źródła ciepła utrzymujące
temperaturę na poziomie 0°C dla boku dolnego i prawego, natomiast temperatura boku
górnego i lewego zmienia się liniowo od 0°C do 100°C Problem rozwiązać układając układ
równań liniowych (postać macierzowa) dla wewnętrznych węzłów siatki 5 x 5 – układ
równań rozwiązać metodą Gaussa -Siedla.
Siatka dyskretyzacyjna 5 x 5
Problem ten opisuje równanie Laplace’a
∇ 2T ( x, y ) =
z warunkami brzegowymi:
1) T(0,y) = 0 [°C ]
2)
3) T(0,5,y) = 200y [°C ] 4)
Postać macierzowa układu:
 4 −1
− 1 4

 0 −1

− 1 0
 0 −1

 0 0
 0 0

 0 0
 0 0

d 2T
d 2T
(
x
,
y
)
+
( x, y ) = 0
dx 2
dy 2
T(x,0) = 0 [°C ]
T(x,0,5) = 200x [°C ]
0 −1 0
−1 0 −1
0
0
0
0
0
0
4 0 0 −1 0 0
0 4 −1 0 −1 0
0 −1 4 −1 0 −1
−1 0 −1 4 0 0
0 −1 0 0 4 −1
0 0 −1 0 −1 4
0 0 0 −1 0 −1
0
0
0

0
0

− 1
0

− 1
4
T3,1   25
T   
 3, 2   50
T3,3  100
   
T2,1   0
T2, 2  =  0
   
T2,3   50
 T   0
 1,1   
T1, 2   0
T   25
 1,3   
Rozwiązanie układu równań metodą Gaussa-Siedla, daje wyniki
T3,1
T3, 2
T3,3
T2,1
T2 , 2
T2,3
T1,1
T1, 2
T1,3
18,75 38,50 56,25 12,50 25,00 37,50 6,25 12,50 18,75
Ostatecznie wyniki dla załoŜonej siatki mają postać:
x = 0 x = 0,125 x = 0,25 x = 0,375 x = 0,5
y = 0,5
0,00
25,00
50,00
75,00 100,00
y = 0,375
y = 0,25
0,00
0,00
18,75
12,50
37,50
25,00
56,25
37,50
75,00
50,00
y = 0,125
0,00
6,25
12,50
18,75
25,00
y=0
0,00
0,00
0,00
0,00
0,00
Równania paraboliczne
2
du
2 d u
( x, t ) − α
( x, t ) = 0
dt
dx 2
dla 0 < x < l oraz t > 0
z warunkami brzegowymi u (0, t ) = u (l , t ) = 0
dla t > 0
u ( x, 0) = dla
f ( x)
i początkowymi
0< x<l
(przewodnictwo cieplne w pręcie, 1-wymiarowa dyfuzja, itd.)
Metoda róŜnic skończonych
Dla danego m definiujemy krok h = (b-a)/m. Ustalamy wartość kroku czasowego k.
Stąd węzły siatki (xi , tj ):
xi = ih
dla i = 0,1, .. m
oraz
t j = jk
dla j = 0,1, ..
u ( xi +1 , t j ) − 2u ( xi , t j ) + u ( xi −1 , t j ) h 2 ∂ 4u
∂ 2u
(
x
,
y
)
=
− (14)4 (ξ i , t j )
i
j
∂x 2
h2
12 ∂x
gdzie: ξ i ∈ ( xi −1 , xi +1 )
u ( xi , t j +1 ) − u ( xi , t j ) k ∂ 2u
∂u
( xi , t j ) =
−
( xi , µ j )
∂t
k
2 ∂t 2
gdzie: µ j ∈ (t j , t j +1 )
u ( xi , t j +1 ) − u ( xi , t j )
k
k
−α2
u ( xi +1 , t j ) − 2u ( xi , t j ) + u ( xi −1 , t j )
h2
u (0, t j ) = u (l , t j ) = 0
warunek brzegowy :
Stąd
wi , j +1 − wi , j
−α 2
wi +1, j − 2 wi , j + wi −1, j
h2
=0
⇒
dla i = 1,2 … m-1
j = 1,2, …
Schemat jawny
MoŜna wykazać warunek zbieŜności schematu jawnego:
α2
k 1
≤
h2 2
Równania paraboliczne – Schemat niejawny
Inne określenie pochodnej cząstkowej po czasie:
gdzie:
co prowadzi do układu
u ( xi , t j ) − u ( xi , t j −1 ) k ∂ 2u
∂u
( xi , t j ) =
−
( xi , µ j )
∂t
k
2 ∂t 2
µ j ∈ (t j −1 , t j )
wi , j − wi , j −1
k
lub:
−α 2
oraz
j = 1,2, …
wi , j +1 = (1 − 2λ ) wi , j + λ ( wi +1, j + wi −1, j )
2
α 
gdzie λ = k   , i = 1,2 … m-1 ,
h
=0
wi +1, j − 2 wi , j + wi −1, j
h2
=0
gdzie:
(1 + 2λ ) wi , j − λ ( wi +1, j + wi −1, j ) = wi , j −1
dla i = 1,2 … m-1
α 
λ = k 
oraz
2
h
j = 1,2, …
Wyliczanie kolejnej warstwy w zapisie macierzowym
(1 + 2λ )

 −λ
 0




 0
−λ
0

  w1, j   w1, j −1 

 w   w
2
,
j
2
,
j
−
1
 


 ⋮ = ⋮ 
 

0 
⋮
⋮

 

−λ  
  wm −1, j   wm −1, j −1 
0 − λ (1 + 2λ ) 
0
MoŜna pokazać,Ŝe schemat niejawny jest zawsze zbieŜny, niezaleŜnie od wielkości
kroków całkowania.