Wartosci funkcji u(x,t) dla t = 1.000000E+00:
j x[j] u[j] blad
0 0.000000E+00 -9.141354E-01 4.837983E-03
1 8.726646E-02 -9.706462E-01 2.899876E-03
2 1.745329E-01 -9.976643E-01 8.736585E-04
3 2.617994E-01 -9.943690E-01 -1.179105E-03
4 3.490659E-01 -9.608602E-01 -3.196042E-03
5 4.363323E-01 -8.981562E-01 -5.115869E-03
6 5.235988E-01 -8.081622E-01 -6.880253E-03
7 6.108652E-01 -6.936126E-01 -8.435583E-03
8 6.981317E-01 -5.579879E-01 -9.734603E-03
9 7.853982E-01 -4.054090E-01 -1.073784E-02
10 8.726646E-01 -2.405120E-01 -1.141482E-02
11 9.599311E-01 -6.830712E-02 -1.174496E-02
12 1.047198E+00 1.059732E-01 -1.171824E-02
13 1.134464E+00 2.770336E-01 -1.133546E-02
14 1.221730E+00 4.396765E-01 -1.060826E-02
15 1.308997E+00 5.889600E-01 -9.558737E-03
16 1.396263E+00 7.203483E-01 -8.218775E-03
17 1.483530E+00 8.298491E-01 -6.629090E-03
18 1.570796E+00 9.141354E-01 -4.837983E-03
19 1.658063E+00 9.706462E-01 -2.899876E-03
20 1.745329E+00 9.976643E-01 -8.736585E-04
21 1.832596E+00 9.943690E-01 1.179105E-03
22 1.919862E+00 9.608602E-01 3.196042E-03
23 2.007129E+00 8.981562E-01 5.115869E-03
24 2.094395E+00 8.081622E-01 6.880253E-03
25 2.181662E+00 6.936126E-01 8.435583E-03
26 2.268928E+00 5.579879E-01 9.734603E-03
27 2.356194E+00 4.054090E-01 1.073784E-02
28 2.443461E+00 2.405120E-01 1.141482E-02
29 2.530727E+00 6.830712E-02 1.174496E-02
30 2.617994E+00 -1.059732E-01 1.171824E-02
31 2.705260E+00 -2.770336E-01 1.133546E-02
32 2.792527E+00 -4.396765E-01 1.060826E-02
33 2.879793E+00 -5.889600E-01 9.558737E-03
34 2.967060E+00 -7.203483E-01 8.218775E-03
35 3.054326E+00 -8.298491E-01 6.629090E-03
36 3.141593E+00 -9.141354E-01 4.837983E-03
7.5. Równania eliptyczne
W niniejszym rozdziale rozpatrzymy schematy różnicowe i metody rozwiązywania otrzymanych równań różnicowych dla równania Poissona (7.9) z warunkami brzegowymi Dirichleta, określonego na płaszczyźnie O x y
(7.91)
w obszarze kwadratu jednostkowego
(7.92)
Kwadrat (7.92) pokrywamy kwadratową siatką utworzoną przez proste równo-ległe do osi x oraz proste równoległe do osi y, o stałej odległości
(7.93)
między sąsiednimi prostymi. Punkty przecięcia się tych prostych wyznaczają węzły siatki o współrzędnych (rys. 7.3)
(7.94)
Aby uzyskać równanie różnicowe odpowiadające równaniu różniczkowemu (7.91a) należy w miejsce pochodnych i wstawić odpowiednie ilorazy różnicowe. Dokładność takiej zamiany można ocenić stosując wzór Taylora dla funkcji dwóch zmiennych
(7.95)
gdzie
Wyrazimy wartości funkcji
w węzłach:
oraz
za pomocą wartości tej funkcji i jej pochodnych w węźle
Zgodnie ze wzorem (7.95) mamy:
Po dodaniu tych rozwinięć stronami otrzymamy pierwszy schemat różnicowy dla operatora Laplace'a
(7.96)
Ten szeroko stosowany schemat różnicowy, wykorzystany między innymi we wzorach (7.47) i (7.52), jest symbolicznie przedstawiony na rysunku 7.6.
Rys. 7.6
Biorąc z kolei pod uwagę węzły:
i postępując podobnie jak w pierwszym schemacie różnicowym ze wzoru Taylora (7.95) otrzymujemy:
Dodając te zależności stronami uzyskujemy drugi schemat różnicowy dla operatora Laplace'a
(7.97)
Ten schemat różnicowy (rys. 7.7a) nie jest jednak zalecany do rozwiązywania zagadnienia (7.91), ponieważ obliczone przy jego wykorzystaniu wartości funkcji
w węzłach o numerach nieparzystych nie są sprzężone z wartościami funkcji
w węzłach o numerach parzystych (rys.7.7b). W rezultacie zostaną wyznaczone dwa niezależne rozwiązania zagadnienia (7.91), nie spełniające równania różnicowego (7.96).
Rys. 7.7
Rys. 7.8
Schematy różnicowe (7.96) i (7.97) pozwalają definiować rozmaite schematy dziewięciopunktowe dla operatora Laplace'a [11]
(7.98)
Najbardziej znane są dwa z takich schematów:
1) schemat uzyskany dla
(rys. 7.8a)
(7.99a)
2) schemat uzyskany dla
(rys. 7.8b)
(7.99b)
*
Aby rozwiązać zagadnienie (7.91) za pomocą metody różnicowej zastąpimy operator różniczkowy operatorem różnicowym (7.96). Po pominięciu wielkości rzędu
otrzymamy następujący układ równań liniowych:
(7.100)
gdzie:
Jeśli z szukanych niewiadomych oraz z prawych stron układu równań (7.100) utworzymy wektory:
to układ równań (7.100) można zapisać w postaci macierzowej, analogicznej do postaci (7.56)
(7.101)
w której macierz A jest trójdiagonalną macierzą blokową
gdzie bloki są podmacierzami stopnia
o stałych elementach każdego wiersza, przy czym dla
oraz
dla
.
Metody bezpośrednie rozwiązywania układów równań (7.100) lub (7.101) wymagają użycia komputerów o dużych pojemnościach pamięci operacyjnych przy typowych rzędach liczby linii siatki Z tego też względu pierwszeństwo przyznaje się metodom iteracyjnym - biorąc pod uwagę fakt, że macierz jest macierzą symetryczną i dodatnio określoną.
Jedną z oczywistych metod otrzymywania rozwiązania równania Poissona jest wykorzystanie równania dyfuzji (7.46) z w granicznym przypadku stacjonarnym
(7.102)
gdzie
jest znaną funkcją rozkładu źródeł. W tym przypadku musi być dołączony warunek początkowy dla funkcji
(7.103)
Po osiągnięciu stanu stacjonarnego
funkcja u spełniać będzie równanie Poissona (7.91a).
Stosując metodę jawną pierwszego rzędu (7.47) i wybierając maksymalny krok czasowy otrzymujemy metodę iteracyjną
(7.104)
równoważną metodzie Jacobiego (2.115). W przypadku szczególnym dla równania Laplace'a metoda ta sprowadza się do obliczania następnego przybliżenia funkcji u jako średniej arytmetycznej z wartości funkcji u w czterech punktach sąsiednich.
Przy wykonywaniu obliczeń metodą Jacobiego musimy zapamiętywać wartości funkcji u na dwu warstwach czasowych. Jeśli wybór punktów obliczeniowych jest zgodny z narastaniem wartości indeksów j oraz i, to można wykorzystać otrzymane już nowe wartości funkcji i zastosować metodę iteracyjną Gaussa-Seidela (2.116)
(7.105)
W tym przypadku wystarczy pamiętać wartości funkcji u tylko na jednej warstwie czasowej.
Wprowadzając do wzoru (7.105) parametr relaksacji ω otrzymamy schemat iteracyjny metody relaksacji (2.118)
(7.106)
w którym optymalny parametr relaksacyjny (2.130) jest określony zależnością [26]
(7.107)
*
Opisane metody iteracyjne rozwiązywania zagadnienia różnicowego (7.100) przetestujemy na przykładzie szczególnego zagadnienia modelowego:
(7.108)
którego rozwiązaniem dokładnym jest funkcja
(7.109)
Jako przybliżenie początkowe iteracji przyjmiemy Miarę błędu określimy za pomocą wielkości
(7.110)
{Program 7.3}
uses Crt;
var
i,iter,j,licz,N,N1,nr: Integer;
bl,eps,h,h2,om,p,un1,x,y: Real;
u,un: array[0..50,0..50] of Real;
plik: Text;
function f(x,y: Real): Real;
begin
f:=-2*Pi*Pi*Sin(Pi*x)*Sin(Pi*y);
end;
function g(x,y: Real): Real;
begin
g:=0;
end;
function ud(x,y: Real): Real;
begin
ud:=Sin(Pi*x)*Sin(Pi*y);
end;
begin
Assign(plik,'Pr_7_3.wyn');
Rewrite(plik);
Writeln(plik,'PROGRAM 7.3');
Write(plik,'Zagadnienie Dirichleta');
Writeln(plik,' dla rownania Poissona.');
ClrScr;
Writeln('PROGRAM 7.3. Dane do obliczen:');
Write(' - liczba podprzedzialow: N = '); Readln(N);
Write(' - liczba iteracji: iter = '); Readln(iter);
Write(' - dokladnosc obliczen: eps = '); Readln(eps);
Write(' - rodzaj metody: nr(1..4) = '); Readln(nr);
if nr=3 then begin
Write(' - parametr relaksacji: om = ');
Readln(om);
end;
if nr=4 then om:=2/(1+Sin(Pi/N));
case nr of
1: Writeln(plik,'Metoda Jacobiego.');
2: Writeln(plik,'Metoda Gaussa-Seidela.');
3: Writeln(plik,'Metoda relaksacji.');
4: Writeln(plik,'Optymalna metoda relaksacji.');
end;
Writeln(plik);
Writeln(plik,'Liczba podprzedzialow: N = ',N:4);
Writeln(plik,'Zadana liczba iteracji: iter = ',iter:4);
Writeln(plik,'Dokladnosc obliczen: eps = ',eps:8);
if nr>2 then
Writeln(plik,'Parametr relaksacji: om = ',om:10);
h:=1/N; h2:=h*h; N1:=N-1;
for i:=0 to N do begin
un[i,0]:=0; u[i,0]:=0;
un[i,N]:=0; u[i,N]:=0;
end;
for j:=1 to N1 do begin
un[0,j]:=0; u[0,j]:=0;
un[N,j]:=0; u[N,j]:=0;
end;
for i:=1 to N1 do
for j:=1 to N1 do
un[i,j]:=g(i*h,j*h);
licz:=0;
repeat
bl:=0;
licz:=licz+1;
case nr of
1: for i:=1 to N1 do
for j:=1 to N1 do begin
p:=un[i-1,j]+un[i+1,j];
p:=p+un[i,j-1]+un[i,j+1];
un1:=(p-h2*f(i*h,j*h))/4;
if Abs(un1-un[i,j])>bl then
bl:=Abs(un1-un[i,j]);
u[i,j]:=un1;
end;
2: for i:=1 to N1 do
for j:=1 to N1 do begin
p:=un[i-1,j]+un[i+1,j];
p:=p+un[i,j-1]+un[i,j+1];
un1:=(p-h2*f(i*h,j*h))/4;
if Abs(un1-un[i,j])>bl then
bl:=Abs(un1-un[i,j]);
un[i,j]:=un1;
u[i,j]:=un1;
end;
3,4: for i:=1 to N1 do
for j:=1 to N1 do begin
p:=un[i-1,j]+un[i+1,j];
p:=p+un[i,j-1]+un[i,j+1];
un1:=(1-om)*un[i,j];
un1:=un1+om*(p-h2*f(i*h,j*h))/4;
if Abs(un1-un[i,j])>bl then
bl:=Abs(un1-un[i,j]);
un[i,j]:=un1;
u[i,j]:=un1;
end;
end; {case}
for i:=1 to N1 do
for j:=1 to N1 do
un[i,j]:=u[i,j];
until (licz>=iter) or (bl<eps);
Writeln(plik);
Writeln(plik,'Liczba wykonanych iteracji: ',licz:3);
Writeln(plik);
Write(plik,'Wartosci funkcji u(x[i],y[j])');
Writeln(plik,' dla i,j=0,1,...,N:');
Write(plik,' i j x[i] y[j] u[i,j]');
Writeln(plik,' blad');
for i:=0 to N do begin
x:=i*h;
for j:=0 to N do begin
y:=j*h;
bl:=ud(x,y)-u[i,j];
Writeln(plik,i:3,' ',j:3,' ',x:5:2,' ',y:5:2,' ',
u[i,j]:13,' ',bl:9);
end;
end;
Writeln(plik);
Close(plik);
end.
W programie 7.3 wykorzystane zostały trzy procedury funkcyjne: f(x,y), g(x,y) i ud(x,y), przeznaczone do obliczania funkcji występującej po prawej stronie równania Poissona, funkcji (7.103) oraz rozwiązania dokładnego (7.109). Znaczenie wczytywanych przez program danych jest objaśnione odpowiednimi napisami. Metoda o numerze nr = 4 jest metodą relaksacji z obliczanym w programie parametrem relaksacyjnym (7.107).
Wyniki przykładowych obliczeń numerycznych dla: N = 10, zawierają załączone tabulogramy komputerowe:
PROGRAM 7.3
Zagadnienie Dirichleta dla rownania Poissona.
Metoda Jacobiego.
Liczba podprzedzialow: N = 10
Zadana liczba iteracji: iter = 300
Dokladnosc obliczen: eps = 1.0E-06
Liczba wykonanych iteracji: 217
Wartosci funkcji u(x[i],y[j]) dla i,j=0,1,...,N:
i j x[i] y[j] u[i,j] blad
0 0 0.00 0.00 0.000000E+00 0.00E+00
0 1 0.00 0.10 0.000000E+00 0.00E+00
0 2 0.00 0.20 0.000000E+00 0.00E+00
0 3 0.00 0.30 0.000000E+00 0.00E+00
0 4 0.00 0.40 0.000000E+00 0.00E+00
0 5 0.00 0.50 0.000000E+00 0.00E+00
0 6 0.00 0.60 0.000000E+00 0.00E+00
0 7 0.00 0.70 0.000000E+00 0.00E+00
0 8 0.00 0.80 0.000000E+00 0.00E+00
0 9 0.00 0.90 0.000000E+00 0.00E+00
0 10 0.00 1.00 0.000000E+00 0.00E+00
1 0 0.10 0.00 0.000000E+00 0.00E+00
1 1 0.10 0.10 9.627898E-02 -7.87E-04
1 2 0.10 0.20 1.831335E-01 -1.50E-03
1 3 0.10 0.30 2.520617E-01 -2.06E-03
1 4 0.10 0.40 2.963162E-01 -2.42E-03
1 5 0.10 0.50 3.115653E-01 -2.55E-03
1 6 0.10 0.60 2.963162E-01 -2.42E-03
1 7 0.10 0.70 2.520617E-01 -2.06E-03
1 8 0.10 0.80 1.831335E-01 -1.50E-03
1 9 0.10 0.90 9.627898E-02 -7.87E-04
1 10 0.10 1.00 0.000000E+00 0.00E+00
2 0 0.20 0.00 0.000000E+00 0.00E+00
2 1 0.20 0.10 1.831335E-01 -1.50E-03
2 2 0.20 0.20 3.483406E-01 -2.85E-03
2 3 0.20 0.30 4.794498E-01 -3.92E-03
2 4 0.20 0.40 5.636270E-01 -4.61E-03
2 5 0.20 0.50 5.926325E-01 -4.85E-03
2 6 0.20 0.60 5.636270E-01 -4.61E-03
2 7 0.20 0.70 4.794498E-01 -3.92E-03
2 8 0.20 0.80 3.483406E-01 -2.85E-03
2 9 0.20 0.90 1.831335E-01 -1.50E-03
2 10 0.20 1.00 0.000000E+00 0.00E+00
3 0 0.30 0.00 0.000000E+00 0.00E+00
3 1 0.30 0.10 2.520617E-01 -2.06E-03
3 2 0.30 0.20 4.794498E-01 -3.92E-03
3 3 0.30 0.30 6.599060E-01 -5.40E-03
3 4 0.30 0.40 7.757660E-01 -6.35E-03
3 5 0.30 0.50 8.156886E-01 -6.67E-03
3 6 0.30 0.60 7.757660E-01 -6.35E-03
3 7 0.30 0.70 6.599060E-01 -5.40E-03
3 8 0.30 0.80 4.794498E-01 -3.92E-03
3 9 0.30 0.90 2.520617E-01 -2.06E-03
3 10 0.30 1.00 0.000000E+00 0.00E+00
4 0 0.40 0.00 0.000000E+00 0.00E+00
4 1 0.40 0.10 2.963162E-01 -2.42E-03
4 2 0.40 0.20 5.636270E-01 -4.61E-03
4 3 0.40 0.30 7.757660E-01 -6.35E-03
4 4 0.40 0.40 9.119676E-01 -7.46E-03
4 5 0.40 0.50 9.588995E-01 -7.84E-03
4 6 0.40 0.60 9.119676E-01 -7.46E-03
4 7 0.40 0.70 7.757660E-01 -6.35E-03
4 8 0.40 0.80 5.636270E-01 -4.61E-03
4 9 0.40 0.90 2.963162E-01 -2.42E-03
4 10 0.40 1.00 0.000000E+00 0.00E+00
5 0 0.50 0.00 0.000000E+00 0.00E+00
5 1 0.50 0.10 3.115653E-01 -2.55E-03
5 2 0.50 0.20 5.926325E-01 -4.85E-03
5 3 0.50 0.30 8.156886E-01 -6.67E-03
5 4 0.50 0.40 9.588995E-01 -7.84E-03
5 5 0.50 0.50 1.008247E+00 -8.25E-03
................................................
PROGRAM 7.3
Zagadnienie Dirichleta dla rownania Poissona.
Metoda Gaussa-Seidela.
Liczba podprzedzialow: N = 10
Zadana liczba iteracji: iter = 200
Dokladnosc obliczen: eps = 1.0E-06
Liczba wykonanych iteracji: 116
Wartosci funkcji u(x[i],y[j]) dla i,j=0,1,...,N:
i j x[i] y[j] u[i,j] blad
0 0 0.00 0.00 0.000000E+00 0.00E+00
0 1 0.00 0.10 0.000000E+00 0.00E+00
0 2 0.00 0.20 0.000000E+00 0.00E+00
0 3 0.00 0.30 0.000000E+00 0.00E+00
0 4 0.00 0.40 0.000000E+00 0.00E+00
0 5 0.00 0.50 0.000000E+00 0.00E+00
0 6 0.00 0.60 0.000000E+00 0.00E+00
0 7 0.00 0.70 0.000000E+00 0.00E+00
0 8 0.00 0.80 0.000000E+00 0.00E+00
0 9 0.00 0.90 0.000000E+00 0.00E+00
0 10 0.00 1.00 0.000000E+00 0.00E+00
1 0 0.10 0.00 0.000000E+00 0.00E+00
1 1 0.10 0.10 9.627947E-02 -7.88E-04
1 2 0.10 0.20 1.831346E-01 -1.50E-03
1 3 0.10 0.30 2.520633E-01 -2.06E-03
1 4 0.10 0.40 2.963183E-01 -2.43E-03
1 5 0.10 0.50 3.115677E-01 -2.55E-03
1 6 0.10 0.60 2.963186E-01 -2.43E-03
1 7 0.10 0.70 2.520638E-01 -2.06E-03
1 8 0.10 0.80 1.831352E-01 -1.50E-03
1 9 0.10 0.90 9.627991E-02 -7.88E-04
1 10 0.10 1.00 0.000000E+00 0.00E+00
2 0 0.20 0.00 0.000000E+00 0.00E+00
2 1 0.20 0.10 1.831346E-01 -1.50E-03
2 2 0.20 0.20 3.483429E-01 -2.85E-03
2 3 0.20 0.30 4.794531E-01 -3.92E-03
2 4 0.20 0.40 5.636312E-01 -4.61E-03
2 5 0.20 0.50 5.926373E-01 -4.85E-03
2 6 0.20 0.60 5.636318E-01 -4.61E-03
2 7 0.20 0.70 4.794541E-01 -3.93E-03
2 8 0.20 0.80 3.483440E-01 -2.85E-03
2 9 0.20 0.90 1.831353E-01 -1.50E-03
2 10 0.20 1.00 0.000000E+00 0.00E+00
3 0 0.30 0.00 0.000000E+00 0.00E+00
3 1 0.30 0.10 2.520633E-01 -2.06E-03
3 2 0.30 0.20 4.794531E-01 -3.92E-03
3 3 0.30 0.30 6.599110E-01 -5.40E-03
3 4 0.30 0.40 7.757723E-01 -6.35E-03
3 5 0.30 0.50 8.156957E-01 -6.68E-03
3 6 0.30 0.60 7.757731E-01 -6.35E-03
3 7 0.30 0.70 6.599123E-01 -5.40E-03
3 8 0.30 0.80 4.794546E-01 -3.93E-03
3 9 0.30 0.90 2.520643E-01 -2.06E-03
3 10 0.30 1.00 0.000000E+00 0.00E+00
4 0 0.40 0.00 0.000000E+00 0.00E+00
4 1 0.40 0.10 2.963183E-01 -2.43E-03
4 2 0.40 0.20 5.636312E-01 -4.61E-03
4 3 0.40 0.30 7.757723E-01 -6.35E-03
4 4 0.40 0.40 9.119755E-01 -7.47E-03
4 5 0.40 0.50 9.589082E-01 -7.85E-03
4 6 0.40 0.60 9.119764E-01 -7.47E-03
4 7 0.40 0.70 7.757738E-01 -6.35E-03
4 8 0.40 0.80 5.636329E-01 -4.62E-03
4 9 0.40 0.90 2.963195E-01 -2.43E-03
4 10 0.40 1.00 0.000000E+00 0.00E+00
5 0 0.50 0.00 0.000000E+00 0.00E+00
5 1 0.50 0.10 3.115677E-01 -2.55E-03
5 2 0.50 0.20 5.926373E-01 -4.85E-03
5 3 0.50 0.30 8.156957E-01 -6.68E-03
5 4 0.50 0.40 9.589082E-01 -7.85E-03
5 5 0.50 0.50 1.008256E+00 -8.26E-03
................................................
PROGRAM 7.3
Zagadnienie Dirichleta dla rownania Poissona.
Metoda relaksacji.
Liczba podprzedzialow: N = 10
Zadana liczba iteracji: iter = 200
Dokladnosc obliczen: eps = 1.0E-06
Parametr relaksacji: om = 1.800E+00
Liczba wykonanych iteracji: 62
Wartosci funkcji u(x[i],y[j]) dla i,j=0,1,...,N:
i j x[i] y[j] u[i,j] blad
0 0 0.00 0.00 0.000000E+00 0.00E+00
0 1 0.00 0.10 0.000000E+00 0.00E+00
0 2 0.00 0.20 0.000000E+00 0.00E+00
0 3 0.00 0.30 0.000000E+00 0.00E+00
0 4 0.00 0.40 0.000000E+00 0.00E+00
0 5 0.00 0.50 0.000000E+00 0.00E+00
0 6 0.00 0.60 0.000000E+00 0.00E+00
0 7 0.00 0.70 0.000000E+00 0.00E+00
0 8 0.00 0.80 0.000000E+00 0.00E+00
0 9 0.00 0.90 0.000000E+00 0.00E+00
0 10 0.00 1.00 0.000000E+00 0.00E+00
1 0 0.10 0.00 0.000000E+00 0.00E+00
1 1 0.10 0.10 9.628049E-02 -7.89E-04
1 2 0.10 0.20 1.831370E-01 -1.50E-03
1 3 0.10 0.30 2.520668E-01 -2.07E-03
1 4 0.10 0.40 2.963224E-01 -2.43E-03
1 5 0.10 0.50 3.115719E-01 -2.55E-03
1 6 0.10 0.60 2.963223E-01 -2.43E-03
1 7 0.10 0.70 2.520665E-01 -2.07E-03
1 8 0.10 0.80 1.831370E-01 -1.50E-03
1 9 0.10 0.90 9.628084E-02 -7.89E-04
1 10 0.10 1.00 0.000000E+00 0.00E+00
2 0 0.20 0.00 0.000000E+00 0.00E+00
2 1 0.20 0.10 1.831370E-01 -1.50E-03
2 2 0.20 0.20 3.483478E-01 -2.86E-03
2 3 0.20 0.30 4.794597E-01 -3.93E-03
2 4 0.20 0.40 5.636386E-01 -4.62E-03
2 5 0.20 0.50 5.926446E-01 -4.86E-03
2 6 0.20 0.60 5.636380E-01 -4.62E-03
2 7 0.20 0.70 4.794587E-01 -3.93E-03
2 8 0.20 0.80 3.483472E-01 -2.86E-03
2 9 0.20 0.90 1.831369E-01 -1.50E-03
2 10 0.20 1.00 0.000000E+00 0.00E+00
3 0 0.30 0.00 0.000000E+00 0.00E+00
3 1 0.30 0.10 2.520668E-01 -2.07E-03
3 2 0.30 0.20 4.794597E-01 -3.93E-03
3 3 0.30 0.30 6.599195E-01 -5.41E-03
3 4 0.30 0.40 7.757817E-01 -6.36E-03
3 5 0.30 0.50 8.157048E-01 -6.69E-03
3 6 0.30 0.60 7.757807E-01 -6.36E-03
3 7 0.30 0.70 6.599183E-01 -5.41E-03
3 8 0.30 0.80 4.794587E-01 -3.93E-03
3 9 0.30 0.90 2.520663E-01 -2.07E-03
3 10 0.30 1.00 0.000000E+00 0.00E+00
4 0 0.40 0.00 0.000000E+00 0.00E+00
4 1 0.40 0.10 2.963224E-01 -2.43E-03
4 2 0.40 0.20 5.636386E-01 -4.62E-03
4 3 0.40 0.30 7.757817E-01 -6.36E-03
4 4 0.40 0.40 9.119857E-01 -7.48E-03
4 5 0.40 0.50 9.589179E-01 -7.86E-03
4 6 0.40 0.60 9.119848E-01 -7.48E-03
4 7 0.40 0.70 7.757805E-01 -6.36E-03
4 8 0.40 0.80 5.636375E-01 -4.62E-03
4 9 0.40 0.90 2.963218E-01 -2.43E-03
4 10 0.40 1.00 0.000000E+00 0.00E+00
5 0 0.50 0.00 0.000000E+00 0.00E+00
5 1 0.50 0.10 3.115719E-01 -2.55E-03
5 2 0.50 0.20 5.926446E-01 -4.86E-03
5 3 0.50 0.30 8.157048E-01 -6.69E-03
5 4 0.50 0.40 9.589179E-01 -7.86E-03
5 5 0.50 0.50 1.008266E+00 -8.27E-03
................................................
PROGRAM 7.3
Zagadnienie Dirichleta dla rownania Poissona.
Optymalna metoda relaksacji.
Liczba podprzedzialow: N = 10
Zadana liczba iteracji: iter = 100
Dokladnosc obliczen: eps = 1.0E-06
Parametr relaksacji: om = 1.528E+00
Liczba wykonanych iteracji: 28
Wartosci funkcji u(x[i],y[j]) dla i,j=0,1,...,N:
i j x[i] y[j] u[i,j] blad
0 0 0.00 0.00 0.000000E+00 0.00E+00
0 1 0.00 0.10 0.000000E+00 0.00E+00
0 2 0.00 0.20 0.000000E+00 0.00E+00
0 3 0.00 0.30 0.000000E+00 0.00E+00
0 4 0.00 0.40 0.000000E+00 0.00E+00
0 5 0.00 0.50 0.000000E+00 0.00E+00
0 6 0.00 0.60 0.000000E+00 0.00E+00
0 7 0.00 0.70 0.000000E+00 0.00E+00
0 8 0.00 0.80 0.000000E+00 0.00E+00
0 9 0.00 0.90 0.000000E+00 0.00E+00
0 10 0.00 1.00 0.000000E+00 0.00E+00
1 0 0.10 0.00 0.000000E+00 0.00E+00
1 1 0.10 0.10 9.628031E-02 -7.89E-04
1 2 0.10 0.20 1.831363E-01 -1.50E-03
1 3 0.10 0.30 2.520657E-01 -2.07E-03
1 4 0.10 0.40 2.963212E-01 -2.43E-03
1 5 0.10 0.50 3.115707E-01 -2.55E-03
1 6 0.10 0.60 2.963215E-01 -2.43E-03
1 7 0.10 0.70 2.520662E-01 -2.07E-03
1 8 0.10 0.80 1.831368E-01 -1.50E-03
1 9 0.10 0.90 9.628073E-02 -7.89E-04
1 10 0.10 1.00 0.000000E+00 0.00E+00
2 0 0.20 0.00 0.000000E+00 0.00E+00
2 1 0.20 0.10 1.831363E-01 -1.50E-03
2 2 0.20 0.20 3.483462E-01 -2.85E-03
2 3 0.20 0.30 4.794578E-01 -3.93E-03
2 4 0.20 0.40 5.636367E-01 -4.62E-03
2 5 0.20 0.50 5.926429E-01 -4.86E-03
2 6 0.20 0.60 5.636371E-01 -4.62E-03
2 7 0.20 0.70 4.794584E-01 -3.93E-03
2 8 0.20 0.80 3.483470E-01 -2.86E-03
2 9 0.20 0.90 1.831369E-01 -1.50E-03
2 10 0.20 1.00 0.000000E+00 0.00E+00
3 0 0.30 0.00 0.000000E+00 0.00E+00
3 1 0.30 0.10 2.520657E-01 -2.07E-03
3 2 0.30 0.20 4.794578E-01 -3.93E-03
3 3 0.30 0.30 6.599173E-01 -5.41E-03
3 4 0.30 0.40 7.757797E-01 -6.36E-03
3 5 0.30 0.50 8.157032E-01 -6.69E-03
3 6 0.30 0.60 7.757800E-01 -6.36E-03
3 7 0.30 0.70 6.599180E-01 -5.41E-03
3 8 0.30 0.80 4.794585E-01 -3.93E-03
3 9 0.30 0.90 2.520663E-01 -2.07E-03
3 10 0.30 1.00 0.000000E+00 0.00E+00
4 0 0.40 0.00 0.000000E+00 0.00E+00
4 1 0.40 0.10 2.963212E-01 -2.43E-03
4 2 0.40 0.20 5.636367E-01 -4.62E-03
4 3 0.40 0.30 7.757797E-01 -6.36E-03
4 4 0.40 0.40 9.119839E-01 -7.48E-03
4 5 0.40 0.50 9.589169E-01 -7.86E-03
4 6 0.40 0.60 9.119842E-01 -7.48E-03
4 7 0.40 0.70 7.757802E-01 -6.36E-03
4 8 0.40 0.80 5.636374E-01 -4.62E-03
4 9 0.40 0.90 2.963217E-01 -2.43E-03
4 10 0.40 1.00 0.000000E+00 0.00E+00
5 0 0.50 0.00 0.000000E+00 0.00E+00
478 7. Równania różniczkowe cząstkowe
7.5. Równania eliptyczne 483