Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по теории разностных схем

.pdf
Скачиваний:
17
Добавлен:
21.03.2015
Размер:
313.85 Кб
Скачать

 

 

 

ТЕОРИЯ РАЗНОСТНЫХ СХЕМ

 

 

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):

 

>

 

 

 

 

 

 

 

 

 

 

>

 

 

 

 

 

 

 

 

 

 

:

Очевидно,

2(t) –

ТЕОРИЯ РАЗНОСТНЫХ СХЕМ

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: