Download - Równania różniczkowe cząstkowe
Równania różniczkowe cząstkowe
• liczba zmiennych > 2
,,,,
0,,,,,,,,
,,
2
2
2
yx
uu
x
uu
y
uu
x
uu
uuuuuuyxF
yxuu
xyxxyx
yyxyxxyx
• rząd równania: rząd najwyższej pochodnej
0
0
03
3
yyyx
yxx
yx
uu
uu
ubu
• charakterystyka: liniowe, quasi-liniowe, nieliniowe
yyxyxxyx
yx
yxyyxyxx
yx
yx
yx
yx
uuuuuuyx
uuuyx
yx
CBA
FuEuDuCuBuA
uu
xuuu
buu
uuuyx
uyx
yx
yxccyxbbyxaa
cba
,,,,,,,:
,,,,:
,:
::,:,:
0:::
0
0
0
,,,,
,,
,
,,,,,
,,
2
2
Nieliniowe
linioweQuasi
Liniowe
...
...
...
0 cubua yx
Nieliniowe
linioweQuasi
Liniowe
...
...
...
• klasyfikacja równań liniowych rzędu drugiego
eliptyczneACB 042
Laplace0
Poissona,
yyxx
yyxx
uu
yxfuu
neparaboliczACB 042
Burgera równanie
dyfuzyjne równanie
yyyx
yyx
uKuuu
uu
falowe równanieyyxx uu
znehiperbolicACB 042
),,,,(),(),(),(2
22
2
2
yxy
u
x
uuG
y
uyxC
yx
uyxB
x
uyxA
),,,,( yxuuuGCuBuAu yxyyxyxx
Motywacja dla takiej klasyfikacji
Najprostsze rozwiązania:
Również dla bardziej skomplikowanych równań lokalne własności rozwiązanie zależą od
znaku wyrażenia B2-4AC.
eliptyczneCuyx
neparaboliczCux
znehiperbolicCuyx
2
2
2
2
2
2
2
2
2
2
;;
elipsaCyxC
uparabolaxC
uhiperbolayxC
u 22222
4;
2;
4
Xk
W metodach różnicowych poszukuje się tablicy wartości
przybliżonych uh rozwiązania dokładnego u na zbiorze
izolowanych punktów Xk (k=1,2,...,Nh ) zwanym siatką.
Punkty Xk są nazywane węzłami siatki.
węzeł pomocniczy
węzeł podstawowy
x
y
hx
hyh=(hx,hy)
Parametr hcharakteryzujesiatkę h
Zastępowanie pochodnych ilorazami różnicowymi
na siatce prostokątnej
i-1 i i+1
k-1
k
k+1
24h
x
u6
h
x
u2
h
x
uh
xu
uu4i
ik4
43i
ik3
32i
ik2
2
iik
ikk,1i
24h
x
u6
h
x
u2
h
x
uh
xu
uu4i
ik4
43i
ik3
32i
ik2
2
iik
ikk,1i
hihk
21,1,
2,1,1
2
2
kk
kiki
ii
kiki
hOh
uu
y
u
hOh
uu
x
u
i-1 i i+1
k-1
k
k+1
hihk
24h
x
u6
h
x
u2
h
x
uh
xu
uu4i
ik4
43i
ik3
32i
ik2
2
iik
ikk,1i
24h
x
u6
h
x
u2
h
x
uh
xu
uu4i
ik4
43i
ik3
32i
ik2
2
iik
ikk,1i
2k2
k
1k,iik1k,i2
2
2i2
i
k,1iikk,1i2
2
hOh
uu2u
y
u
hOh
uu2u
x
u
i-1 i i+1
k-1
k
k+1
hihk
i
3k
k
3i
ki
1k,1i1k,1i1k,1i1k,1i2
hh
,hh
maxO
hh4
uuuu
yxu
Interpolacja liniowa dla warunku brzegowego Dirichleta
i,k i-1,k i+1,k
h
Zakładając liniowy rozkład rozwiązania między sąsiednimi węzłami mamy:
)x(uh
xxu
hxx
u 1iik
ik,1i
iikk,1i h1u
hu
i
Interpolacja liniowa dla warunku brzegowego Neumanna.
n
i,k i-1,k
i,k-1
hk
hi
k,isinh
uucos
h
uu
k
1k,iik
i
k,1iik
y,x
y,xuy,xdnu
y,xc
Równania eliptyczne
w przypadku dwuwymiarowym x=(x,y)
y,xfuy,xgyu
y,xbyx
uy,xa
x
Warunki brzegowe:
Przykład: równanie Poissona dla cząsteczki makromolekuły w rozpuszczalniku
rrr 04
Równanie Poissona przechodzi w równanie Poissona-Boltzmanna (nieliniowe) jeżeli w środowisku znajdują się jony
rrrrr
rrvRTqvRTq enqenq
//
04
=80
=4
V
n
iiisolv dVqE rrr
1
Na podstawie obliczonego potencjału elektrostatycznego można obliczyć wkład elektrostatyczny do energii swobodnej solwatacji makromolekuły
Przykład: mapy potencjału elektrostatycznego kinazy zależnej od cAMP (1YDR); po lewej powierzchnie izopotencjalne, po prawej mapa potencjału na powierzchni molekularnej.
1 2 3 4 5 6 7 8 9 x(i)
1
2
3
4
5
6
7
8
9
10 y(k)
hy
hx(0,0)
j j+1j-1
l
p
y,xfuy,xgyu
y,xbyx
uy,xa
x
Dla węzłów wewnętrznych:
j j+1j-1
l
p
jjj
y
lp
y
lp2y
pjlj
x
1j1j
x
1j1j2x
1jj1jj
fug
h2
uu
h2
bb
h
uu2ub
h2
uu
h2
aa
h
uu2ua
styczna
normalna
y,x
y,xuy,xdnu
y,xcp
(xkp,ykp)
ppp
ppp
ppp
yk,xkdd
yk,xkcc
yk,xk
p-1
m
p
ppppy
pmp
x
1ppp udsin
h
uucos
h
uuc
Metoda Jacobiego w 2D
• Równanie Poissona
-4* u(i,j) + u(i-1,j) + u(i+1,j) + u(i,j-1) + u(i,j+1) = h2 b(i,j)
• Dla wyprowadzenie metody Jacobiego przegrupujemy:
u(i,j) = (u(i-1,j) + u(i+1,j) + u(i,j-1) + u(i,j+1) - h2 b(i,j))/4
• Niech u(i,j,m) aproksymuje u(i,j) w m krokach
u(i,j,m+1) = (u(i-1,j,m) + u(i+1,j,m) + u(i,j-1,m) +
u(i,j+1,m) + b(i,j)) / 4
– u(i,j,m+1) jest średnią ważoną sąsiadów
– u(i,j,m+1) spełnia równanie w punkcie (i,j)
• Zbieżność zależy od N i jest bardzo wolna
4
-1
-1
-1
-1
• b równe 0, z wyjątkiem środka
gdzie wynosi b= -1/ h2
parameter(n=9) double precision a(n,n),b(n,n),f(n,n),h do i=1,n do j=1,n f(i, j)=0 a(i, j)=0 b(i, j)=a(i, j) enddo enddo h=1.0/n f(5,5)=-1.0/h**2
diff=1 k=0 DO WHILE(diff.gt.0.0001) call pisz(a,n,k) DO j=2, n-1 DO i=2, n-1 B(i, j)=0.25*(A(i-1, j)+A(i+1, j)+A(i, j-1)+A(i, j+1)-H*H*F(I,J)) END DO END DO diff=0 DO j=1, n DO i=1, n diff=diff+(B(i, j)-A(i, j))**2 A(i, j) = B(i, j) END DO END DO k=k+1 write(*,*) k,diff END DO end
Jak przyspieszyć zbieżność ?
• Jacobi : nowe wartości wykorzystane dopiero w następnej iteracji
*ij = (i+1,j + i-1,j + i,j+1 + i,j-1)/4
• Gauss-Seidel : nowe wartości wpisywane bezpośrednio do macierzy A
• Red Block : podział siatki jak na szachownicy
• Successive Over Relaxation (SOR)
*ij = (1-)ij + (i+1,j + i-1,j + i,j+1 + i,j-1)/4
dla =1.2 do 1.4
• Multigrid – siatka hierarchiczna