- •Тема 6. Метод сеток для решения ДУ в частных производных
- •Задача о нагреве стержня, по которому пропускается ток
- •Задача о растворении соли
- •Получение конечноразностной схемы
- •Явная схема
- •Реализация явной схемы
- •Неявная схема
- •Метод прогонки
- •Реализация метода прогонки
- •Неявная схема второго порядка Кранка-Николсона
- •Неявная схема второго порядка Кранка-Николсона
- •Пример решения
- •Задача Дирихле для двумерного уравнения Пуассона
- •Выбор сетки
- •Конечно-разностная схема
- •Метод простой итерации с релаксацией
- •Реализация метода простой итерации с релаксацией
- •Метод Зейделя
- •Метод продольно-поперечной прогонки
- •Метод продольно-поперечной прогонки (продолжение)
- •Метод продольно-поперечной прогонки (продолжение)
- •Программная реализация
- •Конец темы 6
Неявная схема второго порядка Кранка-Николсона
uik 1 uik |
0.5L u k 1 0.5L u k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
f |
i |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
x |
i |
|
|
|
|
x i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.5 |
|
|
u |
k 1 |
|
|
g |
|
g |
i 1/ 2 |
u |
k 1 |
g |
|
|
u |
k 1 |
|||||||||||||
h2 |
g |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
i 1/ 2 |
|
i 1 |
|
|
|
i 1/ 2 |
|
|
|
|
i |
|
|
|
i 1/ 2 i 1 |
|
||||||||||||||
|
0.5 |
|
|
|
u |
k |
|
|
g |
|
|
g |
|
|
|
u |
k |
g |
|
|
u |
k |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
h2 |
g |
|
|
|
|
|
|
|
|
|
|
|
|
|
f |
|
|
||||||||||||||
|
i |
1/ 2 |
|
i 1 |
|
|
i 1/ 2 |
|
i 1/ 2 |
|
i |
|
|
|
|
i 1/ 2 |
i 1 |
|
|
|
i |
h o( |
2 |
2 |
устойчива |
|
hабсолютно) |
07/02/19 |
11 |
Неявная схема второго порядка Кранка-Николсона
|
aiui 1 |
biui ciui 1 di , |
|
i 2...n. |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
di gi 1 / 2uik 1 gi 1 / 2 gi 1 / 2 |
uik gi 1 / 2 |
uik 1 |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
2h2 / uk 2h2 f |
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
i |
i |
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ai |
gi 1/ 2 |
; |
|
tk+1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ci gi 1/ 2 ; |
|
|
tk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
b a c 2h2 |
/ . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
i |
i |
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
07/02/19 |
|
|
|
|
|
|
|
xi-1 xi xi+1 |
|
|
|
|
|
x |
12 |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример решения |
u |
2u |
|
|||||||
t |
z2 |
1 |
||||||||
u |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
||||
|
1; u |
|
x 1 0; u |
|
t 0 |
0 |
|
|
||
|
|
|
|
|
||||||
x |
|
|
|
|
|
|||||
|
|
|
|
|
|
|||||
|
x 0 |
|
|
|
||||||
|
|
|
|
13
Задача Дирихле для двумерного уравнения Пуассона
|
|
u |
|
|
|
u |
|
|
g( x, y,u) |
|
g( x, y, u) |
f ( x, y, u) |
|||||
|
|
|
|
|||||
|
|
x |
|
y |
|
y |
|
|
x |
|
|
|
|
|
|
|
|
0 x a, 0 y b |
||
Г : u(0, y) 0 ( y); |
u(a, y) 1( y); |
||
u(x,0) 0 (x); |
u(x,b) 1(x). |
07/02/19 |
14 |
Выбор сетки
|
hxhy |
|
|
(i 1)h |
, ( j 1)h , i 1...n1, |
j 1...m1 |
|
|
x |
y |
|
|
|
|
|
|
|
y |
u |
h |
|
u |
; u(x , y ) |
|
|
|
|
ij |
i i |
|
yj+1
yj
yj-1
xi-1 xi xi+1 |
x |
07/02/19 |
15 |
Конечно-разностная схема
gi 1/ 2, jui 1, j gi 1/ 2, j |
gi 1/ 2, j ui, j gi 1/ 2, jui 1, j |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h2 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gi, j 1/ 2ui, j 1 |
|
|
|
|
x |
ui, j gi, j 1/ 2 |
|
|
|
|
|
|
gi, j 1/ 2 gi, j 1/ 2 |
ui, j 1 |
|
|||||||||
|
|
|
|
|
|
hy2 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
L u |
L u |
|
|
|
|
; |
i 2... n 1, j 2... m 1. |
|||||
f |
i |
, j |
||||||||||
|
hx i, j |
hy i, j |
|
|
|
|
|
|
|
|
Граничные значения: |
u |
0 |
; |
u |
1 |
; |
j 2... m, |
1, j |
j |
|
n1, j |
j |
|
|
ui,1 i0 ; ui,m1 i1; i 2..n
07/02/19 |
16 |
Метод простой итерации с релаксацией
k 1 |
|
|
k |
|
|
k |
|
|
k |
|
|
k |
|
|
a u |
b u |
c u |
d u |
e , |
||||||||||
u% |
|
|
|
|
||||||||||
ij |
ij i 1, j |
ij i 1, j |
ij i, j 1 |
ij i, j 1 |
ij |
|
|
k 1 |
k 1 |
(1 |
|
|
k |
|
|
u |
)u |
. |
|||||||
|
u% |
|
|||||||
|
ij |
r ij |
r |
|
ij |
|
i 2..n 1 j 2..m 1
Параметр релаксации
0 r 2
07/02/19
y
yj+1
yj
yj-1
xi-1 xi xi+1 |
x |
|
17 |
Реализация метода простой итерации с релаксацией
•For k=1:Kit
•for i=2:N
•for j=2:M
• a=… b=… c=… d=… e=…
•up= a*u(i-1,j)+b*u(i+1,j)+c*u(i,j-1)+d*u(i,j+1)+e;
•u1(i,j)=wr*up+(1-wr)*u(i.j);
• end;end; //ij
•for i=2:N
•u1(i,1)=be0; u1(i,M1)=be1;
•for j=2:M
•u1(1,j)=al0; u1(N1,j)=al1;
•u=u1;
• End; //k
• surf (x,y,u1);
07/02/19 |
18 |
Метод Зейделя
•For k=1:Kit
•d=0;
•for i=2:N
•for j=2:M
• a=… b=… c=… d=… e=…
•up= a*u(i-1,j)+b*u(i+1,j)+c*u(i,j-1)+d*u(i,j+1)+e;
•If abs(u(i,j)-up)>d then d= abs(u(i,j)-up);
•u(i,j)=wr*up+(1-wr)*u(i.j);
• end;end; //ij
•for i=2:N
•u(i,1)=be0; u(i,M1)=be1;
•for j=2:M
•u(1,j)=al0; u(N1,j)=al1;
•If d<eps then continue;
• End; //k
• surf (x,y,u);
07/02/19 |
19 |
Метод продольно-поперечной прогонки
|
|
|
|
|
|
|
|
|
|
u k 1/ 2 |
u k |
|
||||
|
|
|
|
|
|
|
|
|
|
|||||||
L u k 1/ 2 |
L u k f |
ij |
|
|
|
ij |
|
ij |
, |
|
||||||
|
|
|
|
|
|
|
||||||||||
hx ij |
hy ij |
|
|
|
|
|
|
|
|
r |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
u k 1 |
u k 1/ 2 |
|
||
L u k 1/ 2 |
L u k 1 |
|
|
|
f |
ij |
|
|
|
ij |
ij |
, |
||||
|
|
|
|
|
|
|
||||||||||
hx ij |
hy ij |
|
|
|
|
|
|
|
|
|
|
r |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Преобразуем
|
|
|
|
|
u k 1/ 2 |
|
|
|
|
|
|
|
|
|
u k |
|
|
|||
L u k 1/ 2 |
|
|
ij |
|
L u k |
f |
ij |
|
|
ij |
, |
|
||||||||
|
|
|
|
|
||||||||||||||||
hx ij |
|
|
|
|
|
hy ij |
|
|
|
|
|
|
|
|
||||||
|
|
|
u k 1 |
r |
|
|
|
|
|
|
|
|
|
r |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
u k 1/ 2 |
|||||||
L u k 1 |
|
|
|
ij |
L u k 1/ 2 |
|
f |
ij |
|
ij |
|
, |
||||||||
|
|
|
|
|
|
|
||||||||||||||
hy ij |
|
|
r |
|
hx ij |
|
|
|
|
|
r |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
07/02/19 |
20 |