- •Тема 6. Метод сеток для решения ДУ в частных производных
- •Задача о нагреве стержня, по которому пропускается ток
- •Одномерное нестационарное уравнение теплопроводности
- •Получение конечноразностной схемы
- •Явная схема
- •Реализация явной схемы
- •Неявная схема
- •Метод прогонки
- •Реализация метода прогонки
- •Неявная схема второго порядка Кранка-Николсона
- •Неявная схема второго порядка Кранка-Николсона
- •Пример решения
- •Задача Дирихле для двумерного уравнения Пуассона
- •Выбор сетки
- •Конечно-разностная схема
- •Метод простой итерации с релаксацией
- •Реализация метода простой итерации с релаксацией
- •Метод Зейделя
- •Метод продольно-поперечной прогонки
- •Метод продольно-поперечной прогонки (продолжение)
- •Метод продольно-поперечной прогонки (продолжение)
- •Программная реализация
- •Конец темы 6
Тема 6. Метод сеток для решения ДУ в частных производных
Одномерное нестационарное уравнение теплопроводности:
Явная и неявная схемы
Задача Дирихле для двумерного уравнения Пуассона
Метод простой итерации с релаксацией
Метод Зейделя
Метод продольно-поперечной прогонки
06/25/19 |
1 |
Задача о нагреве стержня, по которому пропускается ток
|
0 |
b |
z |
|
|
|
|
|
T=4c |
|
Как получить такое |
|
T=3c |
|
|
T |
|
распределение не |
|
|
|||
|
|||
|
|||
|
T=2c |
|
проводя эксперимент? |
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
|
|
|
|
|
T=1c
T=0
0 |
b |
|
|
06/25/19 |
2 |
Одномерное нестационарное уравнение теплопроводности
u |
|
|
|
u |
|
u(0, t) 0 ; |
u(b, t) 1; |
u( x, 0) u0 ( x). |
|
|
|
g |
|
f ; |
|||
|
|
|
||||||
t |
|
|
|
x |
|
|
|
|
|
x |
|
|
|
|
|
T |
• |
Область интегрирования |
|
|
||
t |
|
|
0 x b, 0 t T |
|
|
||
|
|
• |
Сетка |
|
tk |
|
h, (i 1)h, k , i 1... n1, k 0... K |
|
|
|
•Таблица искомого решения
|
xi |
|
u |
|
|
|
u |
k ; u(x tk ) |
||
Xi-1 |
Xi+1 |
b |
h |
|
i |
i |
|
|||
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
06/25/19 |
|
|
|
|
|
|
|
3 |
Получение конечноразностной схемы
t |
ik xi 1/ 2 x xi 1/ 2 , k t (k 1) |
|||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
u |
|
|
u |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g |
|
f |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ik |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
t |
|
x |
x |
tk
|
|
|
|
|
|
|
u |
; |
u k 1 |
u k |
|
x |
x |
x |
|
|
t |
|
i |
i |
|||
i-1 |
i |
i+1 |
|
x |
|
|
|
||||
|
|
|
|
|
|
||||||
|
|
g |
u |
|
; |
gi 1/ 2uik 11 gi 1/ 2 gi 1/ 2 uik 1 gi 1/ 2uik 11 |
|||||
|
|
|
x |
|
|
|
|
h |
2 |
|
|
|
x |
|
|
|
|
|
|
06/25/19 |
4 |
Явная схема
u k 1 u k |
|
|
|
gi 1/ 2uik 1 |
gi 1/ 2 gi 1/ 2 |
uik gi 1/ 2uik 1 |
|
|
||
i |
i |
|
|
|
|
|
|
fi |
||
|
|
h2 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
u k 1 |
u k |
|
gi 1/ 2uik 1 gi 1/ 2 gi 1/ 2 uik gi 1/ 2uik 1 |
f |
i |
|||||
|
|
|
||||||||
i |
i |
|
|
|
|
h2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Погрешность и Условие устойчивости: |
t |
|
h o( h2 )
1 |
h2 |
tk |
||
h N |
2 |
tk+1 |
||
1 |
||||
|
|
|
06/25/19 |
xi-1 xi xi+1 |
x |
5 |
|
|
Реализация явной схемы
• u(i)=u0; x(i)=(i-1)*h; gi(i)=G(x(i)+h/2); 1≤i≤N+1
•th2= tau/h^2;
•t=0;
•Plot(x,u);
•for k=1:K
•for i=2:N
•u1(i)=u(i)+th2*(gi(i-1)*u(i-1)-(gi(i-1)+gi(i))*u(i)+
• |
gi(i)*u(i))+tau*f(i); |
•end
•u1(1)=be0;
•u1(N1)=be1;
•Plot(x,u1);
•u=u1;
•t=t+tau;
•end;
•…
06/25/19 |
6 |
Неявная схема
u k 1 u k |
|
|
gi 1/ 2uik 11 |
gi 1/ 2 gi 1/ 2 |
uik 1 gi 1/ 2uik 11 |
|
||||||||||||||
|
i |
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
h2 |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
g |
|
|
u k 1 |
|
|
|
g |
|
h |
2 |
|
g |
|
u k 1 |
h |
2 |
u k h2 f |
|
||
i |
1/ 2 |
|
g |
i 1/ 2 |
i 1/ 2 |
|
u k 1 |
i 1/ 2 |
|
i |
||||||||||
|
i 1 |
|
|
|
|
i |
|
i 1 |
|
i |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
aiui 1 biui ciui 1 |
di , |
i 2... n. |
|||||
ai gi 1/ 2 ; |
c g |
i |
1/ 2 |
; |
|||
|
|
|
i |
|
|
||
b a c h2 / . |
|
||||||
i |
i |
i |
|
|
|
|
|
d |
i |
h2 |
/ uk h2 |
f |
; |
i 2...n. |
|
|
|
i |
|
i |
|
|
h o( h2 )
абсолютно устойчива
06/25/19
t
tk+1
t
1k
xi-1 xi xi+1 |
x |
|
7 |
Метод прогонки
Прямой ход:
c / b ; |
d |
1 |
/ b ; |
b 1; c 0; d |
1 |
0 |
|||
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
for i 2...n 1
i ci / bi ai i 1 ; i di ai i 1 / bi ai i 1 ;
Обратный ход:
u |
|
n1 |
; |
|
n1 |
1 |
n1 |
|
|
|
|
for i n...1
ui iui 1 i .
06/25/19 |
8 |
Реализация метода прогонки
• |
u(i)=u0; x(i)=(i-1)*h; gi(i)=G(x(i)+h/2); |
1≤i≤N+1 |
• |
for k=1:K |
|
• |
c(1)=…; b(1)=…; d(1)-…; |
|
• |
for i=2:N |
|
• |
a(i)= |
|
• |
b(i)= |
|
• |
c(i)= |
|
• |
d(i)= … |
|
• |
end |
|
• |
ks(1)=-c(1)/b(1); et(1)=d(1)/b(1); |
|
•for i=2:N1
•z=b(i)+a(i)*ks(i-1);
•ks(i)=-c(i)/z; et(i)=(d(i)-a(i)*et(i-1))/z;
•end;
•u1(N1)=be1;
•For i=N:-1:1
•u1(i)=ks(i)*u1(i+1)+et(i);
•End;
•Plot(x,u1);
•u=u1;
•t=t+tau;
•end;
06/25/19 |
9 |
Неявная схема второго порядка Кранка-Николсона
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абсолютно) |
06/25/19 |
10 |