• Nie Znaleziono Wyników

Metody numeryczne

N/A
N/A
Protected

Academic year: 2021

Share "Metody numeryczne"

Copied!
33
0
0

Pełen tekst

(1)

dr hab. Piotr Fronczak

Metody numeryczne

Wykład nr 10

Równania różniczkowe cząstkowe

(2)

Równania różniczkowe cząstkowe (RRC)

• liczba zmiennych 2

 

 

, ,

, ,

0 ,

, , , , , , ,

, ,

2 2

2

y x u u

x u u

y u u

x u u

u u u u u u y x F

y x u u

xy xx

y x

yy xy xx y x

 

 

 

 

• rząd równania: rząd najwyższej pochodnej

0 0

0

3 3

yyy x

y xx

y x

u u

u u

u b u

• charakterystyka: liniowe, quasi-liniowe, nieliniowe

(3)

     

   

   

   

 

           

     

   

   

  

x y xx xy yy

y x

y x

yy xy

xx y x

y x

y x

y x

u u u u u u y x

u u u y x

y x

C B A

F u

E u

D u

C u

B u

A

u u

x u

u u

bu u

u u u y x

u y x

y x

c b a

, , , , , , , :

, , , , :

, :

: : , : , :

0 :

: :

0

0 0

, , , ,

, , , , ,

2

2

Nieliniowe liniowe Quasi

Liniowe ...

...

...

 

u b

 

u c

 

0

a x y

Nieliniowe

liniowe Quasi

Liniowe ...

...

...

     

   

   

   

 

0

0 0

, , , ,

, , , , ,

2

2

y x

y x

y x

y x

u u

x u u u

bu u

u u u y x

u y x

y x

c b a

(4)

• Skupmy się na RRC co najwyżej drugiego rzędu – najpopularniejsze w fizyce

Ogólna postać RRC drugiego rzędu

B2-4AC Kategoria Przykład

< 0 eliptyczne Równanie Laplace’a

= 0 paraboliczne Równanie przewodnictwa ciepła

>0 hiperboliczne Równanie falowe

2 2

2

2 0

T x

T

y

k T x

T t

2 2

2

2 2

2 2

1 y

x c

y

t

) , , , , ( )

, ( )

, ( )

,

( 2

2 2

2 2

y y x

u x u u y G

y u x y C

x y u x x B

y u x

A

 

 

 

) , , , ,

( u u u x y G

Cu Bu

Au

xx

xy

yy

x y

(5)

Motywacja dla takiej klasyfikacji

eliptyczne C

y u ne x

parabolicz C

x u zne

hiperbolic C

y u

x 











2 2 2

2 2

2 2

2 2

2

;

; Najprostsze rozwiązania:

Również dla bardziej skomplikowanych równań lokalne własności rozwiązanie zależą od znaku wyrażenia B2-4AC.

x y

hiperbola u C x parabola u C

x y

elipsa

u C 2 2 2 2 2

; 4

; 2

4    

Zagadka: Skategoryzuj równanie Schrodingera.

 0

y

xx

iCu

u

(6)

Zakładamy hx = hy = h [siatka kwadratowa]

u(xi,yj) = ui,j

u(xi+h, yj+h) = ui+1,j+1,

i j

x

u

i j

u

i j

u

i j

y h x

u 1

2 1,

2

, 1,

,

'' 

 

x

i-1

x

i

x

i+1

y

j

y

j-1

y

j+1

u

i,j hx

hy

Eliptyczne RRC - dwuwymiarowe zagadnienie brzegowe

2

0

2 2

2

 

y u x

Równanie Laplace’a

u

  1

2

, 1

2

, , 1

,

'' 

i j

i j

i j

j y

i

u u u

y h x u

   

   

 

40

1

2 1 2

, '' ,

''

1 , ,

1 ,

1 , ,

2 1

1 , ,

1 , ,

1 ,

, 2 1

j i j

i j

i j

i j

i

j i j

i j

i j

i j

i j

i

j y x i

j i

u u

u u

h u

u u

u u

u h u

y x u y

x

u

(7)

Sumując wyrazy wyznaczamy ui,j: ,

1, , 1 1, , 1

4 1

  

i j i j i j i j

j

i

u u u u

u

1 2 3 4

u = 0

u = 0 u = 0

u = 1

Przykład: siatka 2x2

) 1

0 (

) 0 1 (

) 0

0 (

) 0 0

(

3 2

41 1 4

4 4 1

1 1 3

1 4 4

1 1 2

3 4 2

1 1 1

m m

m

m m

m

m m

m

m m

m

u u

u

u u

u

u u

u

u u

u

Przyjmujemy początkowe przybliżenie u11u12u31u140

Korzystamy z metody iteracyjnej Jacobiego (lub Gaussa-Seidla – szybsza zbieżność)

(8)

Korzystając z metod dokładnych (np. dekompozycja LU) musimy ułożyć macierz o rozmiarze liniowym n x n.

Wniosek: Musimy wprowadzić indeksowanie równań odpowiadających punktom dwuwymiarowej siatki n x n:

) ,

2

(

2 2

2

y x y f

u x

u  

 

Przykład: równanie Poissona

u

i j

u

i j

u

i j

u

i j

u

i j

f

i j

h 1

2

1,

, 1

 4

,

1,

, 1

,

...,

2

, 2 ,

1 n

P P 

j

i , )  (

(na przykład wierszami)

i n j

P  (  1 )  

u

P

u

P n

u

P

u

P

u

P n

f

P

h 1

2

1

 4 

1

0

  

potencjał

gęstość ładunku

(9)

Przykład:

Powierzchnia potencjału przy losowo rozmieszczonej gęstości ładunku

u

P

u

P n

u

P

u

P

u

P n

f

P

h 1

2

1

 4 

1

(10)

Paraboliczne i hiperboliczne RRC

Bezwymiarowe równanie przewodnictwa ciepła

t

xx

u

u

t t x t u

x u

 

 ( , )

) ,

2

(

z warunkiem początkowym (dla t = 0)

L x

x g x

u ( , 0 )  ( ) 0  

gdzie L = 1 – szerokość dziedziny rozwiązań.

0 )

( )

, (

0 )

( )

, 0 (

t t

b t

L u

t t

a t

u

gdzie a(t) i b(t) są funkcjami jedynie czasu, a g(x) zależy jedynie od położenia x.

Warunki brzegowe:

(11)

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10

Dyskretyzacja przestrzeni rozwiązań

czas (indeks j)

przestrzeń

(indeks i) x

t

t

x

 

1 0

0 n i

x i x

j t

j t

i

Położenie w węźle i w chwili j: j

(12)

Zamieniając pochodne na różnice otrzymujemy

t

t x u t

x u t

t x u t

t x

u

t

u

i j i j

 

 ( ,  ) ( , ) ( ,

1

) ( , )

z błędem O(t),

2

1

1

, ) 2 ( , ) ( , )

(

x

t x u t

x u t

x

u

xx

u

i j i j i j

z błędem O(x2).

2

1 1

1

2 x

u u

u u

t u u u

j i j

i j

xx i

j i j

t i

 

 

Dalej upraszczając

(13)

Zatem zdyskretyzowane równanie ma postać

2

1 1

1

2

x

u u

u t

u

u

ij ij ij ij ij

 

Definiując r = t / x2, otrzymujemy schemat jawny Eulera:

j i j

i j

i j

i

ru r u ru

u

1

1

 ( 1  2 ) 

1

- punkt uwzględniany przy obliczaniu różnicy czasowej

- punkt uwzględniany przy obliczaniu różnicy przestrzennej

(14)

// mamy n+1 węzłów przestrzennych siatki // warunek brzegowy

u[0] = u[n] = 0.0;

// warunek początkowy for (int i=1; i<n; i++) {

x = i*dx;

u[i] = func(x);

};

// pętla czasowa

for (int t=1; t<=tsteps; t++) for (int i=1; i<n; i++)

unew[i] = r*u[i-1] + (1-2*r)*u[i] + r*u[i+1];

u  unew;

Algorytm schematu jawnego

Problem: warunek stabilności schematu

2 1

2

x

t

Czyli jeśli podzielimy domenę [0,1] na sto podprzedziałów (x = 0.01), to t ≤ 5·10-5.

j i j

i j

i j

i

ru r u ru

u

1

1

 ( 1  2 ) 

1

(15)

Analiza stabilności

Rozważmy schemat jawny dla równania ciepła:

  1

2

1

2

1

( 1 )

1 2

2

n j n

j n

j n

j n

j

u u u

t x u u

x u t

u

 

 

 

 

 

Zatem nasz schemat ma postać:

 

2

1

2

1

( 2 )

1 n

j n

j n

j n

j n

j

u u u

x u t

u

 

 

Niech

D

będzie dokładnym rozwiązaniem równania (1).

Niech

N

będzie numerycznym rozwiązaniem równania (1).

Zatem błąd schematu

D

N 

Napiszmy równanie stabilności metody numerycznej, które opisze ewolucję błędu w trakcie obliczania kolejnych kroków czasowych.

stabilność nierośnie

ość niestabiln

rośnie

 

(16)

Równanie stabilności będziemy badać za pomocą analizy Fouriera (metoda von Neumanna).

Rozwiązanie numeryczne możemy zapisać jako

N = D + ε

(3)

Podstawiając (3) do (1), otrzymujemy

 

2 1 1

1 1

1

1

2 2

x

D D

D t

D

D

nj nj nj nj jn nj jn nj jn nj

 

    

   

 

 

 

 

 

 

2

1 1

2

1 1

1

1

2 2

x x

D D

D t

t D

D

nj nj

nj

nj nj nj nj

nj

nj

nj

Ponieważ z równania (1)

 

 

 

2

1 1

1

2

x

D D

D t

D

D

nj nj nj nj nj

(17)

  ( 4 )

2

2

1 1

1

 

 

 

t x

n j n

j n

j n

j n

j

   

Zatem

ε (x,t)

x

Rozważmy rozkład błędu w pewnym kroku czasowym.

Błąd

ε(x,t)

można zapisać w postaci szeregu Fouriera:

 

) :

( , sin

cos

) 5 ( )

( ,

falowa liczba

m m

m x

ik

m

x ik m

k x

k i

x k e

e t b t

x

m

m

 

Czyli równanie na błąd jest takie same jak równanie na funkcję

u

.

(18)

  x , t b

m

( t ) e

ikmx

( 6 )

Ponieważ równanie różnicowe na błąd

jest liniowe, zachowanie każdego wyrazu szeregu jest podobne do zachowania całego szeregu. Zatem wystarczy rozważyć wzrost błędu typowego wyrazu

Czasową zależność błędu uwzględnimy, przyjmując, że amplituda błędu

b

m jest funkcją czasu. Ponieważ błąd rośnie lub maleje zwykle wykładniczo z czasem, możemy zapisać

  x  , t e

at

e

ikmx

( 7 )

gdzie

k

m jest rzeczywiste, ale

a

może być zespolone.

t t

ik x at ik x

at ik

x x

2

at ik x at ik

x x

  ( 8 )

a

e

m

e e

m

r e e

m

e e

m

e e

m

e

 

 

 

x 2 r t

gdzie

 

Podstawiając (7) do (4), otrzymujemy

(19)

Dzieląc (8) obustronnie przez

e

at

e

ikmx

t t

ik x at ik x

at ik

x x

2

at ik x at ik

x x

  ( 8 )

a

e

m

e e

m

r e e

m

e e

m

e e

m

e

 

 

2( 9 )

1

ik x ik x

t

a

r e

m

e

m

e

 

 

cos 2

  e

i

e

i

Korzystając z zależności

) 1 (cos

2

1  

r

e

a t

otrzymujemy

gdzie

x k

m

 

2 cos 1

sin

2

 2   

Korzystając z zależności

sin 2 4

1

2

r e

at

 

otrzymujemy

(20)

n j n

G

j

1

Definiujemy współczynnik wzmocnienia błędu

Oczekujemy, by błąd nie narastał z kroku na krok

1

|

| G

Zatem

, 1

1

n j n j

2 1 sin 4

1 

2

 

r

  x  , t e

at

e

ikmx

t a n

j n

j

e

 

1

(21)

2 1 sin 4

1 

2

 

r

2 1 sin 4 1

1  

2

r

2 0 1

) 2 ( ) 1

(   

r

0 2 0

sin 4 2 1

sin 4 1 ),

1

( 

r 2

  

r 2

  

r

2 1 2

1 sin 2

sin 2 4 1 1 ),

2

(   

r 2

 

r 2

  

r

2 1

2

x

t

Warunek zbieżności schematu jawnego (1)

(22)

n j n

G

j

1

krok czasowy

wykładnik potęgi Przypomnijmy sobie, że współczynnik wzmocnienia błędu

n j n

j

G

1

0 1 1

j n n

j

G

Czyli:

Zwróćmy uwagę, że nasz schemat jawny (4)

  

nj

n j n

j n

j n

j n

j n

j n

j n

j r

t 1 x 2 1 1 1

1

2 2

    

 

 

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n N n n

n N n n

n N n n

G r

r r r r

r r

r

r r

2 1

1 1 2

1 1 2

1

2 1 2

1 2

1 2

1

możemy przedstawić w postaci równania macierzowego

Równanie własne z wartościami własnymi

G

(23)

Kolejne przybliżenia x(0), x(1) , x(2) utworzą ciąg wektorów. Jeżeli istnieje granica tego ciągu, wtedy jest ona rozwiązaniem układu równań liniowych.

Ciąg wektorów musi być zatem ciągiem zbieżnym.

Tw. Ciąg określony wzorem (

*

) przy dowolnym wektorze x(0) jest zbieżny wtedy i tylko wtedy, gdy ()<1.

() – promień spektralny macierzy  = max |i|, i – wartości własne macierzy . Jako rozwiązanie początkowe, obiera się dowolny wektor (np. wektor

zerowy) i oblicza się kolejne iteracje:

Metoda Jacobiego

Przypomnienie z wykładu nr 3

Zatem mamy układ równań iterowanych

n j n

j

G

1

(24)

Twierdzenie powyższe mówi nam, że aby nasz schemat nie był rozbieżny, to wszystkie wartości własne

G

muszą leżeć na płaszczyźnie zespolonej (bo

G

mogą być zespolone) wewnątrz okręgu o promieniu

1

.

W naszym przypadku wartości

G

były rzeczywiste, więc weźmy ciekawszy przypadek:

 0

 

x u t

u

) , ( t x x f

u t

u

 

Uwaga: stabilność każdego problemu niehomogenicznego

badamy upraszczając równanie do postaci homogenicznej.

Zastosujmy schemat:

1

0

1

 

 

x u u

t u

u

jp jp pj pj

różnica zwykła różnica wsteczna

 

jp

p j p

j p

j

r   

1

 

1

Zastępując

u

0 1 1

j n n

j

G

Pamiętając, że

oraz, że

0j

e

ikmx

(25)

otrzymujemy

p ik x p ik x x

p ik x

x

p

e

ikm

r G e

m

G e

m

G e

m

G

1

 

( )

Dzieląc obustronnie przez

G

p

e

ikmx

e

ik x

r re

ik x

r re

i

r

G  1 

m

 1  1  

m

 1  

Wniosek: schemat jest niestabilny dla każdego

r.

 

jp p

j p j p

j r   

1   1

0 1 1

j n n

j G

x ik

j

e

m

0

(26)

Życiowy przykład…

n=1000;

dh=1.0/n;

dt=1.0*dh;

for(x=0;x<=n;x++) { X=(double)x/n;

u[x][0]=0.2*exp(-200*(X-0.5)*(X-0.5));

u[x][1]=0.2*exp(-200*(X-0.5-dt)*(X-0.5-dt));

};

Warunki początkowe

for(x=0;x<=n;x++) { L=x-1;

P=x+1;

if(x==0) L=n;

if(x==n) P=0;

u[x][2]=(u[P][1]-2*u[x][1]+u[L][1])*dt*dt/dh/dh+2*u[x][1]-u[x][0];

};

for(x=0;x<=n;x++) { u[x][0]=u[x][1];

u[x][1]=u[x][2];

};

Warunki brzegowe (periodyczne) Jeden krok czasowy:

𝜕2𝑢

𝜕𝑡2 = 𝜕2𝑢

𝜕𝑥2 2

1 1

2

1

1

2 2

x

u u

u t

u u

u

it it it it it it

 

0.2 0.4 0.6 0.8 1.0 0.05

0.10 0.15 0.20

(27)

Można obliczyć warunek stabilności dla podanego schematu, ale nie jest prosto…

1 2 sin ( )1 0

2

2 2 2

2

  r G  

G

Czyli mamy równanie kwadratowe.

(28)

Schemat niejawny Eulera

- punkt uwzględniany przy obliczaniu różnicy czasowej

- punkt uwzględniany przy obliczaniu różnicy przestrzennej

Schemat jawny Schemat niejawny

Wróćmy do równania ciepła

2

1 1

1

2

x

u u

u t

u

u

ij ij ij ij ij

 

Było:

2

1 1 1

1 1

1

2

x

u u

u t

u

u

ij ij ij ij ij

 

Teraz:

(29)

j i j

i j

i j

i

r u ru u

ru    

11

( 1 2 )

1 11

 



 



 



 



 

 

 

 

 

 

1 1

3 2

1 0 1

1 1 1 3

1 2

1 1

2 1 2

1 2

1 2

1

j n j

n

j j

j j

j n j j j

ru u

u u

ru u

u u u u

r r

r r

r r

r r

r

r r

 

2

1 1 1

1 1

1

2

x

u u

u t

u

u

ij ij ij ij ij

 

Zatem mamy układ równań z macierzą trójdiagonalną.

który musimy rozwiązać w każdym kroku czasowym.

(30)

Stabilność schematu niejawnego

Postępując analogicznie do poprzednich przypadków przyjmujemy po paru przekształceniach

) (

sin 4

1

1

2 2 km x

G r

 

co daje ograniczenie na

G

:

4 1 1

1  

G

r

co jest spełnione dla dowolnego

r

(oczywiście większego od zera).

Zatem schemat niejawny jest zawsze stabilny.

(31)

Schemat Cranka-Nicholsona

2

1 1 1

1 1 2

1 1

1

2

) 1

2 (

x

u u

u x

u u

u t

u

u

ij ij ij ij ij ij ij ij

 

 

 

 

Możemy wyobrazić sobie bardziej ogólny schemat:

gdzie 0 ≤ ≤ 1.

Przyjmijmy  = ½.

Pierwsza pochodna czasowa jako różnica centralna w tl+1/2

t u u

t

u

il il

 

1

Druga pochodna przestrzenna jako różnica centralna ważona

 

 

 

 

2

1 1 1

1 1

2 1

1 2

2

) (

2 )

( 2 2

1

x

u u

u x

u u

u x

u

il il il il il il

(32)

l i l

i l

i l

i l

i l

i

r u ru ru r u ru

ru

11

 2 ( 1  )

1

11

1

 2 ( 1  ) 

1

Po paru przekształceniach

A zatem znowu mamy układ równań z macierzą trójdiagonalną.

Porównanie schematów:

Można pokazać, że układ jest zawsze stabilny.

) 2 / ( sin 2 1

) 2 / ( sin 2 1

2 2

 

G 2

3

2 2

1 0.5 0.5 1

Przewaga nad schematem niejawnym – błąd O(t2) zamiast O(t).

(33)

𝑥 𝑡 = 𝑥0 + 𝜀(𝑡)

𝜕2𝑥

𝜕𝑡2 = 𝐹 𝑥 = −𝜕𝑉

𝜕𝑥

𝑉 𝑥 = 𝑉 𝑥0 + 𝜕𝑉

𝜕𝑥 𝑥0𝜀 + 1 2

𝜕2𝑉

𝜕𝑥2 𝑥0𝜀2

𝜕2𝜀

𝜕𝑡2 = −𝐶𝜀 𝜀~𝑒𝐶𝑡

x0 x V

Cytaty

Powiązane dokumenty

Dzieje się tak dlatego, że pacjent staje się częścią systemu, jest szufladkowany i traktowany przedmiotowo.. Przyczyną jest także brak świadomości polityków, którzy

Rozwijające się życie polityczne w wolnym kraju prowokuje do czerpania z jego twórczości jako księgi cytatów.. Rodzi to pewne nadzieje, ale także

Udowodnić, że złożenie homomorfizmów jest homomorfizmem i że funkcja odwrotna do izomorfizmu jest

Udowodnić, że (Q, +) nie jest skończenie

Znaleźć przykład podgrupy indeksu 3, która nie jest dzielnikiem

Wypisać (z dokładnością do izomorfizmu) wszystkie grupy rzędu mniejszego od

(…) Nie mamy stenogramu jego płomiennej mowy, tylko kronikarskie relacje z drugiej ręki. Historyk krucjat Steve Runciman streszcza ją tak:”Zaczął od zwrócenia uwagi

Bo cechy łagodności są tak zwane ustępujące, czyli jeśli w zespole genów pszczoły geny na łagodność znajdą się w towarzystwie genów na agresywność (a to u mieszańców