Лекции по теории разностных схем
.pdf
|
|
|
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ |
|
|
11 |
||||
|
|
|
100: 200: 200: 200: 200: 200: 200: 300: |
|||||||
|
|
|
100: 100: 112: 100: 100: 137: |
200: |
300: |
|||||
t = + |
|
: |
100: |
50: |
25: |
0: |
0: |
75: |
150: |
300: |
2 |
100: |
50: |
25: |
0: |
0: |
75: |
150: |
300: |
100: 150: 212: 200: 200: 237: 250: 300: 100: 400: 400: 400: 400: 400: 400: 300:
100: 200: 200: 200: 200: 200: 200: 300: 100: 125: 112: 100: 100: 137: 175: 300:
t = 2 :
100: 75: 68: 50: 50: 106: 175: 300: 100: 100: 118: 100: 100: 156: 200: 300: 100: 225: 212: 200: 200: 237: 275: 300: 100: 400: 400: 400: 400: 400: 400: 300:
Подобным же образом можно решать краевую задачу в прямоугольной области трехмерного пространства (рассматривая 3 вместо 2 ).
Произвольная область на плоскости или в трехмерном пространстве аппроксимируется прямоугольными областями, что позволяет распространить локально одномерную схему практически на все области, встречающиеся в инженерных задачах.
6. Явная разностная схема решения краевой задачи для уравнения теплопроводности на отрезке при условии теплообмена с окружающей средой
Рассмотрим краевую задачу
8u(x; 0) = '(x); |
|
|||||
> |
@u(x;t) |
= a |
2 |
@2u(x;t) |
; |
|
|
|
|
2 |
|||
|
@t |
|
|
@x |
|
|
>
>
>
<
>@u (0; t) = 1 (u(0; t) uсреды);
>@x
>u(l; t) = |
2(t); |
> |
|
: |
|
где '(x) задает начальное распределение температуры в стержне, 1 0 – некоторая константа, характеризующая теплообмен левого конца стержня и окружающей среды, 2(t) – значения температуры на правом конце стержня в момент времени t (например, эти значения могут сниматься с датчика, расположенного в правом конце стержня), uсреды – температура окружающей среды. Наша задача состоит в вычислении температуры в любой момент времени t в любой точке с абсциссой x.
Явная разностная схема имеет вид
8 |
u(x;t+ ) u(x;t) |
|
|
2 |
|
u(x+h;t) 2u(x;t)+u(x h;t) |
; |
|||||
u(x; 0) = '( |
x); |
|
|
|
|
h |
2 |
|||||
|
|
|
= a |
|
|
|
|
|
||||
>u(h;t) |
u(0;t) |
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
= 1 |
(u(0; t) |
|
uсреды); |
|
|||||
> |
h |
|
|
|
|
|
|
|
|
|
|
|
< |
|
|
2(t): |
|
|
|
|
|
|
|
||
>u(l; t) = |
|
|
|
|
|
|
|
|
||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
>
:
Очевидно,
8u(x; t + ) = u(x; t) h1 2ha22 |
||||
>u(x; 0) = '(x); |
|
|
|
|
>u(0; t) = |
|
|
|
; |
> |
1+ 1 h |
|
||
< |
|
|
|
|
> |
u(h;t)+ 1 h uсреды |
|
||
>u(l; t) = |
2(t): |
|
|
|
> |
|
|
|
|
>
>
:
i
+ ha22 [u(x + h; t) + u(x h; t)];
(6:1)
12 |
С.Г.ТАНКЕЕВ |
Если взять = 2ha22 , то формулы явной разностной схемы существенно упрощаются:
u(x; t + ) = |
u(x+h;t)+u(x h;t) |
; |
||||||
8u(x; 0) = '(x); |
|
|
|
2 |
|
|
||
>u(0; t) = |
|
|
|
|
|
; |
|
|
> |
|
1+ 1 |
|
h |
|
|
||
< |
|
|
|
|
|
|
(6:2) |
|
> |
u(h;t)+ 1 h uсреды |
|
||||||
>u(l; t) = 2(t): |
|
|
|
|
|
|
>
>
:
Пример. Рассмотрим краевую задачу
8
>
>
>
@u(x;t) |
= a |
2 @2u(x;t) |
; |
||
@t |
|
@x |
2 |
||
|
|
|
|
>
<u(x; 0) = 100;
>@u (0; t) = u(0; t) uсреды;
>@x
>
>
:u(l; t) = 100;
где 1 = 1, uсреды = 20.
Возьмем = 2ha22 , l = 7h, h = 0:1. В i-й строке следующей матрицы расположены значения температуры в точках 0; h; : : : ; 7h = l в момент времени (i 1) (мы округляем значения температур до 0.001):
100: |
100: |
100: |
100: |
100: |
100: |
100: |
100: |
92:727 100: |
100: |
100: |
100: |
100: |
100: |
100: |
|
89:421 96:363 |
100: |
100: |
100: |
100: |
100: |
100: |
|
87:918 94:710 98:181 |
100: |
100: |
100: |
100: |
100: |
||
86:408 93:049 97:355 |
99:090 |
100: |
100: |
100: |
100: |
||
85:346 |
91:881 96:069 |
98:677 |
99:545 |
100: |
100: |
100: |
|
84:279 |
90:707 95:279 |
97:807 |
99:338 |
99:772 |
100: |
100: |
|
83:435 |
89:779 |
94:257 |
97:308 |
98:789 |
99:669 |
99:886 |
100: |
Если теплообмен с окружающей средой происходит и на правом конце стержня, то краевая задача имеет вид
8u(x; 0) = '(x); |
|
||||||
> |
@u(x;t) |
= a |
2 |
@2u(x;t) |
; |
||
|
|
|
|
2 |
|||
> |
@t |
|
|
@x |
|
|
>
>
<
>@u (0; t) = 1 (u(0; t) uсреды1);
>@x
>
>:@u@x (l; t) = 2 (u(l; t) uсреды2);
где '(x) задает начальное распределение температуры в стержне, 2 0 – некоторая константа, характеризующая теплообмен правого конца стержня и окружающей среды. Явная разностная схема имеет вид
|
u(x;t+ ) u(x;t) |
|
|
2 u(x+h;t) 2u(x;t)+u(x h;t) |
|
|||||
|
|
|
|
= a |
|
|
h2 |
; |
||
8u(x; 0) = '(x); |
|
|
|
|
||||||
>u(h;t) |
u(0;t) |
|
|
|
|
|
|
|
||
> |
|
|
|
= 1 |
(u(0; t) uсреды1); |
|
||||
> |
h |
|
|
|
|
|
|
|
|
|
<u(l;t) u(l |
h;t) |
|
|
|
|
|
||||
> |
h |
|
|
= 2(u(l; t) uсреды2): |
|
|||||
> |
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
:
Очевидно,
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ
8u x; |
|
'(x); |
|
|
|
h |
|
|
h2 |
i |
|
h2 |
|
|
||||
> |
u(x; t + ) = u(x; t) |
|
1 |
|
|
2 a2 |
|
+ |
a2 |
[u(x + h; t) + u(x h; t)]; |
||||||||
|
|
|
|
|
|
|
||||||||||||
( |
0) = u(h;t)+ |
h |
u |
|
|
|
|
|
|
|
|
|
|
|
||||
>u(0; t) = |
|
|
|
|
|
|
|
|
|
; |
|
|
|
|
|
|
||
> |
|
|
1+ 1 |
h |
|
|
|
|
|
|
|
|
|
|
|
|||
< |
|
|
|
)+ |
h u |
|
|
|
|
|
|
|
|
|
|
|||
> |
|
|
|
1 |
|
|
|
среды1 |
|
|
|
|
|
|
|
|||
>u(l; t) = u(l h;t |
1+ 22 h |
среды2 : |
|
|
|
|
|
|||||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если взять = |
h2 |
, то формулы явной разностной схемы упрощаются: |
||||||
2 |
||||||||
2a |
|
|
|
|
|
|
||
|
|
u(x; t + ) = |
u(x+h;t)+u(x h;t) |
|
||||
|
|
8u(x; 0) = '(x); |
2 |
|
; |
|||
|
|
>u(0; t) = |
|
|
|
|
; |
|
|
|
|
|
1+ 1 |
h |
|
||
> |
|
|
|
|
||||
< |
u(l h;t)+ |
h u |
|
|
||||
> |
|
u(h;t)+ 1 h uсреды1 |
|
|
||||
|
|
>u(l; t) = |
|
|
1+ 22 h среды2 : |
|
>
>
:
13
(6:3)
(6:4)
7. Явная разностная схема решения первой краевой задачи для нелинейного уравнения теплопроводности на отрезке
Предположим, что в некоторой части стержня температура u превышает температуру u плавления вещества стержня. Мы будем считать, что плавление происходит в интервале температур (u ; u + ), где > 0 – некоторый вычислительный параметр,
k(u) = |
8k1 |
+2 k2 ; |
|
если u |
|
|
|
u |
|
u |
+ ; |
|||||||||||
|
|
> |
k1 |
; |
|
|
если u < u ; |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
<k2; |
|
|
если u > u + ; |
|
|
|
|
|
||||||||||||
|
c>1 1 |
|
|
|
если u < u |
|
; |
|
|
|
|
|
|
|||||||||
(c )(u) = |
8 |
: |
|
|
|
2 |
|
2 |
|
|
|
|
|
|
u |
|
u + ; |
|||||
1 |
1 2 |
|
+ 2 ; если u |
|
|
|||||||||||||||||
|
> |
|
; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
2 |
; |
|
|
|
|
|
|
u > u |
+ ; |
|
||||||||||
|
<c2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
> |
c +c |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
если |
|
|
|
|
|
|
|
|
|
|
||||
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
где – удельная теплота кристаллизации (количество тепла, которое необходимо для разрушения кристаллической структуры в единице объема), k1; 1; c1 – теплопроводность, плотность и теплоемкость твердого вещества стержня, k2; 2; c2 – теплопроводность, плотность и теплоемкость жидкого вещества стержня.
Обозначим через a2(u) = k(u)=(c )(u) коэффициент температуропроводности и рассмотрим первую краевую задачу
8u(x; 0) = '(x); |
|
@2u(x;t |
|
|
||||
> |
@u(x;t) |
= a2(u(x; t)) |
|
) |
; |
|||
|
|
|
2 |
|
||||
> |
@t |
|
|
|
@x |
|
|
|
>u(0; t) = |
1(t); |
|
|
|
|
|||
> |
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
>u(l; t) = |
2(t); |
|
|
|
|
|||
> |
|
|
|
|
|
|
|
|
>
>
:
где '(x) задает начальное распределение температуры в стержне, 1(t) и значения температуры на концах стержня в момент времени t.
Фиксируем шаг > 0 по оси времени t и шаг h > 0 по оси x. Явная разностная схема имеет вид
14 |
|
|
|
|
С.Г.ТАНКЕЕВ |
|
|
||
8 |
u(x;t+ ) u(x;t) |
|
2 |
|
|
u(x+h;t) 2u(x;t)+u(x h;t) |
; |
||
u(x; 0) = '( |
x); |
|
|
h |
2 |
||||
> |
|
|
= a (u(x; t)) |
|
|
||||
>u(0; t) = |
1(t); |
|
|
|
|
|
|
||
> |
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
>u(l; t) = 2(t): |
|
|
|
|
|
|
>
>
:
Очевидно,
8u(x; t + ) = u(x; t) |
||
>u(x; 0) = '(x); |
||
> |
|
|
>u(0; t) = |
1 |
(t); |
> |
|
|
< |
|
|
>u(l; t) = 2(t): |
>
>
>
:
Если
hi
1 |
2 a2 |
(u(x;t)) |
+ |
a2 |
(u(x;t)) |
[u(x + h; t) + u(x h; t)]; |
|
|
h2 |
|
|
h2 |
|
|
|
|
|
h |
2 |
|
|
h2 |
|
min (c )(u) |
2 |
min fc1 1; c2 2g |
|
|||||||||||
|
|
|
|
|
|
|
= |
|
|
|
u |
|
= |
h |
: |
||||||||||
|
|
u |
|
u |
|
|
|
|
u |
|
|
||||||||||||||
|
2 |
|
|
2 |
|
|
|
2 |
|
max |
f |
1 |
; k |
2g |
|
||||||||||
|
|
max k(u)=min (c )(u) |
|
|
|
max k(u) |
|
|
|
|
k |
|
|
(7:1)
(7:2)
то можно доказать, что эта разностная схема устойчива и дает хорошее приближение к решению краевой задачи.
Параметр не может быть слишком маленьким, если шаг по времени достаточно большой. В обычных инженерных задачах можно брать = 5 .
Пример. Предположим, что температура плавления u = 100, c1 1 = c2 2 = 1, k1 = k2 = 1, = 5, = 80, 1(t) = 0, 2(t) = 100, '(x) = 120.
При этих условиях имеем:
(1=9; если u [95; 105]: |
|
a2(u) = k(u)=(c )(u) = 1; |
если u 2= [95; 105]; |
|
2 |
Возьмем h = 0:1, = h2=2 = 0:005. Тогда во внутренних точках стержня имеем:
u(x; t + ) = |
(u(x; t) |
2 |
8 |
+ |
1 |
|
|
[u(x + h; t) +2u(x h; t)]; |
если u(x; t) [95; 105]: |
|
u(x+h;t)+u(x h;t) |
; |
если u(x; t) = [95; 105]; |
|
|||||
|
|
|
|
|
|
|
|
2 |
|
|
|
9 |
|
18 |
Получим следующие распределения температур в стержне длины 9h:
|
|
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ |
|
15 |
|||
0: |
120: |
120: 120: 120: 120: 120: 120: 120: 100: |
|||||
0: |
60: |
120: |
120: 120: 120: 120: 120: 110: 100: |
||||
0: |
60: |
90: |
120: 120: 120: 120: 115: 110: 100: |
||||
0: |
45: |
90: |
105: 120: 120: 117: 115: 107: 100: |
||||
0: |
45: |
75: |
105: 112: 118: 117: 112: 107: 100: |
||||
0: |
37: |
75: |
104: 111: 114: 115: 112: 106: 100: |
||||
0: |
37: |
70: |
103: 109: 113: 113: 110: 106: 100: |
||||
0: |
35: |
70: |
101: 108: 111: 111: 109: 105: 100: |
||||
0: |
35: |
68: |
100: |
106: 109: 110: 108: 105: 100: |
|||
0: |
34: |
67: |
99: |
104: 108: 108: 107: |
105: |
100: |
|
0: |
33: |
66: |
97: |
104: 106: 107: 106: |
105: |
100: |
|
0: |
33: |
65: |
96: |
104: 105: 106: 106: |
105: |
100: |
|
0: |
32: |
64: |
95: |
104: 105: 106: 106: |
105: |
100: |
|
0: |
32: |
63: |
94: |
104: 105: 106: 106: |
105: |
100: |
|
0: |
31: |
63: |
83: |
103: 105: 106: 106: |
105: |
100: |
|
0: |
31: |
57: |
83: |
102: 105: 106: 106: |
105: |
100: |
|
0: |
28: |
57: |
79: |
101: 105: 106: 106: |
105: |
100: |
|
0: |
28: |
53: |
79: |
100: |
105: 106: 106: |
105: |
100: |
0: |
26: |
53: |
76: |
99: |
105: 106: 106: |
105: |
100: |
0: |
26: |
51: |
76: |
98: |
105: 106: 106: |
105: |
100: |
0: |
25: |
51: |
74: |
97: |
105: 106: 106: |
105: |
100: |
В случае = 0 мы получили бы следующее распределение температур:
0: 120: 120: 120: 120: 120: 120: 120: 120: 100: 0: 60: 120: 120: 120: 120: 120: 120: 110: 100: 0: 60: 90: 120: 120: 120: 120: 115: 110: 100: 0: 45: 90: 105: 120: 120: 117: 115: 107: 100:
0: 45: 75: 105: |
112: 118: 117: 112: 107: 100: |
||||||
0: 37: 75: |
93: |
111: 114: 115: 112: 106: 100: |
|||||
0: 37: 65: |
93: |
103: 113: 113: 110: 106: 100: |
|||||
0: 32: 65: |
84: |
103: |
108: 111: 109: 105: 100: |
||||
0: 32: 58: |
84: |
96: |
107: 108: 108: 104: 100: |
||||
0: 29: 58: |
77: |
95: |
102: 107: 106: 104: 100: |
||||
0: 29: 53: |
76: |
89: |
101: |
104: 105: 103: 100: |
|||
0: 26: 52: |
71: |
88: |
95: |
103: |
103: 102: 100: |
||
0: 26: 48: |
70: |
83: |
95: |
99: |
102: 101: 100: |
||
0: 24: 48: |
65: |
82: |
91: |
98: |
100: |
101: |
100: |
0: 24: 44: |
65: |
78: |
90: |
95: |
99: |
100: |
100: |
0: 22: 44: |
61: |
77: |
86: 94: 97: 99: 100: |
||||
0: 22: 41: |
60: |
73: |
85: 91: 96: 98: 100: |
||||
0: 20: 41: |
57: |
72: |
82: 90: 94: 98: 100: |
||||
0: 20: 38: |
56: |
69: |
81: 88: 94: 97: 100: |
||||
0: 19: 38: |
53: |
68: |
78: 87: 92: 97: 100: |
||||
0: 19: 36: |
53: |
65: |
77: |
85: |
92: |
96: |
100: |
Различия проявляются уже при = 0:025. В этом примере очевидна роль удельной теплоты кристаллизации .
16 |
С.Г.ТАНКЕЕВ |
8. Явная разностная схема решения первой краевой задачи для нелинейного уравнения теплопроводности в прямоугольной плоской области (локально одномерная схема)
Предположим, что температура плавления u = 100, c1 1 = c2 2 = 1, k1 = k2 = 1, = 5, = 80.
При этих условиях имеем:
(1=9; если u [95; 105]: |
|
a2(u) = k(u)=(c )(u) = 1; |
если u 2= [95; 105]; |
|
2 |
Возьмем h = 0:1, = h2=2 = 0:005. В прямоугольнике [0; 7h] [0; 5h] рассмотрим первую краевую задачу:
8
>@u(x;y;t) = a2(u(x; y; t))
>> @t
>
>
>
>u(x; y; 0) = 0;
>
>
<u(0; y; t) = 100;
>>u(7h; y; t) = 300;
>
>
>u(x; 5h; t) = 200;
>
>
>
>
:u(x; 0; t) = 400:
h@ |
|
u@x2 |
+ |
@y2 |
i; |
|
|
|
2 |
(x;y;t) |
|
@2u(x;y;t) |
|
(8:1)
Для решения этой краевой задачи рассмотрим локально одномерную схему. Явная разностная схема имеет следующий вид:
8 |
u(x; y; t + 2 ) = |
8u(x; y; t) |
|
98 |
+ |
181 |
|
|
[u(x + h; y; t) + u(x h; y; t)]; |
|
||||||
|
> |
u(x+h;y;t)+u(x h;y;t) |
|
если |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
> |
|
|
2 |
|
|
|
|
; |
u(x; y; t) 2= [95; 105]; |
|
||||||
> |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
> |
|
: |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
u(x; y; t) |
|
|
|
|||
> |
|
< |
|
|
|
|
|
|
|
если |
|
[95; 105]; |
|
|||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
1 |
|
|
|
|
|
|
|
|
|
|
>u(x; y; t + ) = |
8u(x; y; t) |
|
|
+ |
|
|
[u(x; y + h; t) + u(x; y h; t)]; |
|
||||||||
|
9 |
18 |
|
|
||||||||||||
> |
|
|
|
|
||||||||||||
> |
|
> |
u(x;y+h;t)+u(x;y |
h;t) |
|
|
|
|
|
|
|
|
||||
> |
|
|
|
|
|
|
|
; |
если |
u(x; y; t) = [95; 105]; |
|
|||||
> |
|
2 |
|
|
|
|
|
|||||||||
> |
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
< |
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
< |
|
|
|
|
|
|
|
если |
u(x; y; t) |
|
[95; 105]; |
(8:2) |
||
> |
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
>u(x; y; 0) = 0;
>
>
>
>
>u(0; y; t) = 100;
>
>
>
>
>u(7h; y; t) = 300;
>
>
>
>
>
>u(x; 5h; t) = 200;
>
>
:u(x; 0; t) = 400:
Мы получаем следующие распределения температур:
|
100: 200: 200: 200: 200: 200: 200: 300: |
||||||||
|
100: |
0: |
0: |
0: |
0: |
0: |
0: |
300: |
|
t = 0 : |
100: |
0: |
0: |
0: |
0: |
0: |
0: |
300: |
|
100: |
0: |
0: |
0: |
0: |
0: |
0: |
300: |
||
|
|||||||||
|
100: |
0: |
0: |
0: |
0: |
0: |
0: |
300: |
|
|
100: 400: 400: 400: 400: 400: 400: 300: |
t = 2 :
t = :
t = + 2 :
t = 2 :
t = 2 + 2 :
t = 3 :
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ |
|
|
17 |
||||
100: 200: 200: 200: 200: 200: 200: 300: |
|||||||
100: |
50: |
0: |
0: |
0: |
0: |
150: |
300: |
100: |
50: |
0: |
0: |
0: |
0: |
150: |
300: |
100: |
50: |
0: |
0: |
0: |
0: |
150: |
300: |
100: |
50: |
0: |
0: |
0: |
0: |
150: |
300: |
100: 400: 400: 400: 400: 400: 400: 300: |
100: 200: 200: 200: 200: 200: 200: 300: 100: 125: 100: 100: 100: 100: 175: 300:
100: |
50: |
0: |
0: |
0: |
0: |
150: |
300: |
100: |
50: |
0: |
0: |
0: |
0: |
150: |
300: |
100: 225: 200: 200: 200: 200: 275: 300: 100: 400: 400: 400: 400: 400: 400: 300:
100: 200: 200: 200: 200: 200: 200: 300: 100: 100: 101: 100: 100: 104: 200: 300: 100: 50: 25: 0: 0: 75: 150: 300: 100: 50: 25: 0: 0: 75: 150: 300: 100: 150: 212: 200: 200: 237: 250: 300: 100: 400: 400: 400: 400: 400: 400: 300:
100: 200: 200: 200: 200: 200: 200: 300: 100: 103: 102: 100: 100: 108: 175: 300: 100: 75: 63: 50: 50: 89: 175: 300: 100: 100: 118: 100: 100: 156: 200: 300: 100: 225: 212: 200: 200: 237: 275: 300: 100: 400: 400: 400: 400: 400: 400: 300:
100: 200: 200: 200: 200: 200: 200: 300: 100: 103: 102: 100: 100: 137: 204: 300: 100: 81: 62: 56: 69: 112: 194: 300: 100: 101: 100: 101: 103: 150: 228: 300: 100: 156: 212: 206: 218: 237: 268: 300: 100: 400: 400: 400: 400: 400: 400: 300:
100: 200: 200: 200: 200: 200: 200: 300: 100: 107: 105: 103: 104: 156: 197: 300: 100: 102: 101: 100: 101: 143: 216: 300: 100: 103: 104: 104: 107: 174: 231: 300: 100: 250: 250: 250: 251: 275: 314: 300: 100: 400: 400: 400: 400: 400: 400: 300:
9. Явная разностная схема решения первой краевой задачи для уравнения теплопроводности в плоском кольце
Хорошо известно, что в полярных координатах x = r cos '; y = r sin ', поэтому
hi
уравнение |
@u(x;y;t) |
= a2 |
@2u(x;y;t) |
+ |
@2u(x;y;t) |
принимает вид |
||
@t |
@x |
2 |
@y |
2 |
||||
|
|
|
|
|
|
18 |
|
|
С.Г.ТАНКЕЕВ |
|
||||||||
|
@u |
= a2 |
@2u |
1 @u |
|
1 @2u |
: |
|||||
|
|
|
+ |
|
|
|
+ |
|
|
|
||
|
@t |
@r2 |
r |
@r |
r2 |
@'2 |
Мы рассмотрим первую краевую задачу для уравнения теплопроводности в плоском кольце с внутренним радиусом R1 0 и внешним радиусом R2 > R1 при условии, что температура u(r; '; t) не зависит от ' (другими словами, мы будем предполагать, что u(x; y; t) = u(r; t)). В этом случае краевая задача принимает вид
|
|
|
|
|
|
|
|
|
8@u@t = a2 h@@r2u2 + 1r @u@r i; |
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
>u(r; 0) = '(r); |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>u(R |
; t) = |
|
1 |
(t); |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
> |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>u(R2; t) = |
|
2(t): |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Явная разностная схема имеет вид |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
u(r;t+ ) u(r;t) |
|
|
2 |
u(r+h;t) 2u(r;t)+u(r h;t) |
|
1 u(r+h;t) u(r h;t) |
|
|
|||||||||||||||||||
|
8 |
|
|
|
= a |
|
|
h |
|
|
|
|
|
|
|
|
+ r |
|
|
|
|
|
i; |
|
|
||||
|
|
|
|
|
|
|
|
h2 |
|
если r |
|
2h |
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
[R1 + h; R2 |
|
h]; |
|
|
|||||||||
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(9:1) |
|
>u(r; 0) = '(r); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<u(R1; t) = 1(t); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
>u(R2; t) = |
2(t): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Очевидно, |
h |
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
2 a2 |
a2 |
|
|
|
|
h |
|
|
|
|
|
|
|
h |
|
|
|
|
||||||
u(r; t + ) = u(r; t) 1 |
|
|
2 |
|
+ h2 |
|
1 + |
|
|
u(r + h; t) + 1 |
|
|
u(r |
h; t) ; |
|||||||||||||||
h |
|
|
|
r |
|
2r |
|||||||||||||||||||||||
|
|
|
|
|
|
|
если r |
2 |
[2R1 + h; R2 |
|
h]; |
|
|
|
|
||||||||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
< |
u(r; 0) = '(r); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
u(R1; t) = 1(t); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
>u(R2; t) = |
2(t): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
>
>
:
(9:2)
Можно доказать, что эта разностная схема дает хорошее приближение к решению краевой задачи, если выполнено условие устойчивости:
|
h2 |
|
2a2 : |
(9:3) |
Если взять = 2ha22 , то формулы разностной схемы существенно упрощаются:
>
8 |
u(r; t + ) = |
21 |
1 + |
h |
u(r + h; t) + 1 |
|
|
h |
u(r h; t) ; |
||||
2r |
|
2r |
|||||||||||
|
|
|
|
|
если r |
[R1 |
+ h; R2 |
|
h]; |
||||
> |
|
|
|
|
2 |
|
|
|
|
|
|||
>u(r; 0) = '(r); |
|
|
|
|
|
|
|
|
|
|
(9:4) |
||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
<u(R1; t) = 1(t); |
|
|
|
|
|
|
|
|
|
|
|||
>u(R2; t) = 2(t): |
|
|
|
|
|
|
|
|
|
|
>
>
>
>
:
Пример. Рассмотрим следующую краевую задачу в плоском кольце, внутренний радиус которого равен 3h, а внешний радиус равен 10h:
|
|
|
|
|
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ |
19 |
|||||
|
|
|
|
|
|
8@u@t = a2 h@@r2u2 + 1r @u@r i; |
|
|
|||
|
|
|
|
|
|
>u(r; 0) = 0; |
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
>u(3h; t) = 0; |
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
|
>u(10h; t) = 100: |
|
|
|
||
|
|
|
|
|
|
> |
|
|
|
|
|
|
h |
2 |
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
Возьмем = |
|
|
. Тогда |
|
: |
|
|
|
|
|
|
2a |
2 |
|
|
|
|
|
|
||||
|
|
|
получим следующие распределения температур: |
||||||||
|
|
|
|
r = |
3h 4h 5h 6h 7h 8h 9h 10h |
||||||
|
|
|
|
t = 0 : |
0: 0: 0: |
0: |
0: |
0: |
0: |
100: |
|
|
|
|
|
t = : |
0: 0: 0: |
0: |
0: |
0: |
53: |
100: |
|
|
|
|
|
t = 2 : |
0: 0: 0: |
0: |
0: |
28: |
53: |
100: |
|
|
|
|
|
t = 3 : |
0: 0: 0: |
0: |
15: |
28: |
66: |
100: |
Если кольцо является кругом радиуса R, то рассмотрим краевую задачу
8
hi
|
|
|
|
|
|
|
|
|
@u = a2 @2u2 + 1 @u ; |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
>u(r; 0) = '(r); |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
> |
@t |
|
|
@r r @r |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h2 |
|
|
>u(R; t) = (t): |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
2 |
|
формулы разностной схемы принимают вид |
|
||||||||||||||
Если взять |
|
|
|
|
, то |
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
u(r; t + ) = 21 |
|
1 + |
h |
u(r + h; t) + 1 |
|
h |
|
u(r h; t) ; |
|||||||||||
|
2r |
2r |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
если r |
[h; |
R |
|
h]; |
|
|||||
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
>u(r; 0) = '(r); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>u(R; t) = (t): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
@u |
|
= 0 |
|
|
|
|
|
|
|
|
|
|
||
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
При этом мы имеем: @r jr=0 |
|
|
, поэтому |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
u(h; t + ) u(0; t + ) |
= 0; |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
так что u(0; t + ) = u(h; t + ). В итоге разностная схема принимает вид |
||||||||||||||||||||
|
|
u(r; t + ) = 21 |
|
1 + |
2hr |
u(r + h; t) + 1 |
|
2hr |
u(r h; t) ; |
|||||||||||
|
> |
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
>u(0; t + ) = u(h; t + ); |
|
|
[h; R |
|
|
(9:5) |
|||||||||||||
|
> |
|
|
|
|
|
|
|
|
|
|
если r |
|
h]; |
|
|||||
|
8 |
|
|
|
|
|
|
|
|
|
|
|
|
>
>
>
<
>
>u(r; 0) = '(r);
>
>
>
>
:u(R; t) = (t):
10. Неявная разностная схема решения первой краевой задачи для уравнения теплопроводности на отрезке
Рассмотрим первую краевую задачу
8u(x; 0) = '(x); |
|
|||||
> |
@u(x;t) |
= a |
2 @2u(x;t) |
; |
||
|
|
|
2 |
|||
> |
@t |
|
|
@x |
|
|
>u(0; t) = |
1(t); |
|
||||
> |
|
|
|
|
|
|
< |
|
|
|
|
|
|
>u(l; t) = 2(t): |
|
|
>
>
>
:
Фиксируем шаг > 0 по оси времени t и шаг h > 0 по оси x. Заметим, что
20 |
|
|
|
|
|
С.Г.ТАНКЕЕВ |
|
|
|
@u(x; t) |
|
u(x; t + ) u(x; t) |
; |
||||
|
|
|
|
@t |
|
|
||
|
@2u(x; t) |
|
u(x + h; t) 2u(x; t) + u(x h; t) |
|||||
|
@x2 |
|
|
|
h2 |
|
(вторая формула следует из теоремы Тэйлора). Неявная разностная схема имеет вид
|
|
|
u(x;t+ ) u(x;t) |
|
2 u(x+h;t+ ) 2u(x;t+ )+u(x h;t+ ) |
|
|||
|
|
|
|
|
= a |
|
h2 |
|
; |
|
8u(x; 0) = '(x); |
|
|
|
|||||
|
> |
|
1(t); |
|
|
|
|
||
|
>u(0; t) = |
|
|
|
|
||||
|
> |
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
>u(l; t) = |
2(t): |
|
|
|
|
|||
|
> |
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
Очевидно, |
: |
|
|
|
|
|
|
|
|
8 ha22 u(x h; t + ) 2ha22 + 1 u(x; t + ) + ha22 u(x + h; t + ) = u(x; t); |
|||||||||
>u(x; 0) = '(x); |
|
|
|
|
|
|
|
(10:1) |
|
> |
|
|
|
|
|
|
|
|
|
>u(0; t + ) = |
1 |
(t + ); |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
>u(l; t + ) = |
2(t + ): |
|
|
|
|
|
|
||
> |
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
Положим yi 1 = u((i 1)h; t + ); |
yi = u(ih; t + ); |
yi+1 = u((i + 1)h; t + ) |
(i = 1; : : : ; N 1), y0 = u(0; t + ) = 1(t + ), yN = u(Nh; t + ) = u(l; t + ) =
2(t+ ), Fi = u(ih; t). Тогда задача (10:1) становится частным случаем более общей
задачи вида |
|
|
|
|
|
|
|
|
8y0 |
= 1y1 + 1; |
= Fi; |
(i = 1; : : : ; N |
|
(10:2) |
|||
> |
Aiyi 1 Ciyi + Biyi+1 |
|
1) |
|||||
<yN = 2yN |
|
1 + 2; |
|
|
|
|
||
> |
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
причем Ai 6= 0; Bi 6= 0 для всех |
i = 1:2; : : : ; N 1 |
и |
jCij jAij + jBij. |
Мы будем решать задачу (10:2) методом прогонки. |
|
|
|
Предположим, что имеется рекуррентное соотношение |
|
||
yi |
= i+1yi+1 + i+1 |
|
(10:3) |
с неопределенными коэффициентами i и i. Выражение yi 1 = iyi + i подставим в (10:2). Тогда
(Ai i Ci)yi + Ai i + Biyi+1 = Fi:
Из соотношения (10:3) получим:
[(Ai i Ci) i+1 + Bi]yi+1 + Ai i + (Ai i Ci) i+1 = Fi:
Это уравнение выполнено для любых yi, если
(
(Ai i Ci) i+1 + Bi = 0;
Ai i + (Ai i Ci) i+1 + Fi = 0:
Отсюда получаем рекуррентные формулы для i+1 и i+1: