Лекции по теории разностных схем
.pdfТЕОРИЯ РАЗНОСТНЫХ СХЕМ
С.Г.Танкеев
1. Разностные методы решения задачи Коши
Рассмотрим задачу Коши
(
dxdt = f(t; x(t)); x(t0) = x0:
Если f(t; x) и @f@x непрерывны в некотором открытом круге с центром (t0; x0), то из курса теории обыкновенных дифференциальных уравнений известно, что в некотором открытом интервале с центром t0 существует единственное решение x(t) задачи Коши. Будем предполагать в дальнейшем, что условия теоремы существования и единственности выполнены.
Очевидно, что
dx |
= lim |
x(t + ) x(t) |
|
x(t + ) x(t) |
; |
|
dt |
|
|
||||
!0 |
|
где > 0 - шаг по времени t.
Метод Эйлера приближенного решения задачи Коши основан на том, что задачу Коши мы заменим на разностную задачу
(
x(t+ ) x(t) = f(t; x(t));
x(t0) = x0:
Тогда
(
x(t + ) = x(t) + f(t; x(t)); x(t0) = x0:
Эта разностная схема позволяет последовательно вычислить x(t0 + ); x(t0 + 2 ); : : : ; x(t0 + N ). Ошибка оценивается как
jxзадача Коши(t0 + N ) xразностная задача(t0 + N )j CN ;
где C – некоторая константа, зависящая от f; t0; x0.
Если N достаточно большое, то ошибка также может быть большой. Коши предложил модифицировать разностную задачу, рассматривая вместо формулы Эйлера формулу Эйлера - Коши:
(
x(t + ) = x(t) + 12 [f(t; x(t)) + f(t + ; x(t) + f(t; x(t)))];
x(t0) = x0:
В этом случае ошибка оценивается как
2 С.Г.ТАНКЕЕВ
jxзадача Коши(t0 + N ) xразностная задача Эйлера - Коши(t0 + N )j CN 3;
где C – некоторая константа, зависящая от f; t0; x0. При больших значениях N ошибка остается малой при малых значениях параметра .
Метод Эйлера - Коши позволяет решать задачу Коши на компьютере со сколь угодно высокой точностью.
Аналогично решается задача Коши для системы обыкновенных дифференциальных уравнений
|
|
|
|
|
8dydt = f2 |
(t; x(t); y(t)); |
|
|
||
|
|
|
|
|
> |
dx = f1 |
(t; x(t); y(t)); |
|
|
|
|
|
|
|
|
dt |
|
|
|
|
|
|
|
|
|
|
>x(t0) = x0; |
|
|
|||
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
>y(t0) = y0: |
|
|
|||
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
Формулы разностной задачи имеют: |
в этом случае вид |
|
|
|||||||
8 |
f1(t + ; x(t) + f1(t; x(t); y(t)); y(t) + |
|
f2(t; x(t); y(t)))]; |
|||||||
> |
x(t + ) = x(t) + 1 |
|
|
[f1(t; x(t); y(t))+ |
|
|
||||
|
2 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
>y(t + ) = y(t) + |
2 |
|
[f2(t; x(t); y(t))+ |
|
|
|||||
> |
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
> |
f2(t + ; x(t) + f1(t; x(t); y(t)); y(t) + |
|
f2(t; x(t); y(t)))]; |
|||||||
> |
|
|||||||||
> |
|
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
>x(t0) = x0; |
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
>
>
>
>
>
>
:y(t0) = y0:
Рассмотрим, наконец, задачу Коши
8
>x00 = f(t; x(t); x0(t));
<
x(t0) = x0;
>
:x0(t0) = x00:
Положим x0(t) = y(t). Тогда исходная задача Коши сводится к задаче Коши для системы обыкновенных дифференциальных уравнений
8dx = y(t);
>>dt
<
>dy = f(t; x(t); y(t));
dt
>>x(t0) = x0;
>
:y(t0) = x00:
Формулы разностной задачи имеют в этом случае вид
>
|
x(t + ) = x(t) + 21 [y(t) + y(t) + f(t; x(t); y(t))]; |
||||
8y(t + ) = y(t) + 21 |
|
[f(t; x(t); y(t))+ |
|
||
> |
|
|
|
f(t; x(t); y(t)))]; |
|
> |
|
f(t + ; x(t) + y(t); y(t) + |
|||
> |
|
|
|
|
|
> |
|
|
|
|
|
> |
|
|
|
||
> |
|
|
|
|
|
<x(t0) = x0; |
|
|
|
|
|
>y(t0) = x00 : |
|
|
|
|
>
>
>
>
:
Окончательно получаем следующие формулы разностной задачи:
>
|
|
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ |
3 |
|||
|
x(t + ) = x(t) + y(t) + 21 2 f(t; x(t); y(t)); |
|
||||
8y(t + ) = y(t) + 21 |
|
[f(t; x(t); y(t))+ |
|
|
||
> |
|
|
|
f(t; x(t); y(t)))]; |
|
|
> |
|
f(t + ; x(t) + y(t); y(t) + |
|
|||
> |
|
|
|
|
|
|
> |
|
|
|
|
|
|
> |
|
|
|
|
||
> |
|
|
|
|
|
|
<x(t0) = x0; |
|
|
|
|
|
|
>y(t0) = x00 : |
|
|
|
|
|
>
>
>
>
:
Ошибка метода по-прежнему оценивается как
jxзадача Коши(t0 + N ) xразностная задача Эйлера - Коши(t0 + N )j CN 3:
Известно, что многие задачи классической механики сводятся к системам обыкновенных дифференциальных уравнений, что позволяет применять разностный метод для их решения.
Решение задач
i) Функция et является решением задачи Коши
(
dxdt = x;
x(0) = 1:
Мы хотим вычислить число e = x(1) различными методами. Напомним прежде всего, что
e = 2:718281828459045 = lim 1 + 1 n :
n!1 n
Воспользуемся сначала методом Эйлера. Разностная схема имеет вид
(
x(t + ) = x(t) + x(t) = x(t)(1 + ); x(0) = 1:
Поэтому x(n ) = (1 + )n.
Полагая = 0:1 и n = 10, получим равенство x(1) = 2:59374246...
Полагая = 0:01 и n = 100, получим равенство x(1) = 2:704813829...
Полагая = 0:001 и n = 1000, получим равенство x(1) = 2:716923932...
Рассмотрим теперь разностную схему Эйлера - Коши
(
x(t + ) = x(t) + 12 [x(t) + x(t) + x(t)] = x(t) 1 + + 22 ; x(0) = 1:
Очевидно, что
2 n x(n ) = 1 + + 2 :
Полагая = 0:1 и n = 10, получим равенства x(1) = (1:105)10 = 2:714080847...
Полагая = 0:01 и n = 100, получим равенства x(1) = (1:01005)100 = 2:718236863...
Полагая = 0:001 и n = 1000, получим равенства x(1) = (1:0010005)1000
=2:718281376...
ii)Функция sin t является решением задачи Коши
4 |
С.Г.ТАНКЕЕВ |
8d2x = x; >dt2
<
x(0) = 0;
>
:dxdt (0) = 1:
Положим dxdt = y. Тогда исходная задача Коши сводится к задаче Коши для системы обыкновенных дифференциальных уравнений
8dx = y(t);
>>dt
<
>dy = x(t);
dt
>x(0) = 0;
>
>
:y(0) = 1:
Формулы разностной схемы Эйлера - Коши имеют в этом случае вид
8x(t + ) = x(t) + 1 |
|
( ) |
2 |
|
|
|
( |
) = |
|
( |
) 1 |
2 |
+ |
|
|
( ); |
|
|
2 |
|||||
>y(t + ) = y(t) + |
|
|
y t |
1 |
2 |
|
x t |
|
|
x t |
|
|
2 |
|
|
|
|
y t |
|
|
|
|||
2 |
[ x(t) |
|
(x(t) + |
|
y(t))] = |
|
|
|
x(t) + y(t) |
1 |
|
2 |
||||||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>x(0) = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>y(0) = 1: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Эта же схема позволяет вычислить y(t) = cos t. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
iii) Рассмотрим следующую задачу о затухающих колебаниях: |
|
|
|
|||||||||||||||||||||
|
|
|
|
|
8x(0) = 1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
d22x |
= x |
|
|
dx ; |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
dt |
|
|
|
|
|
dt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>dx |
= 2: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
>dt |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;
Положим x0(t) = y(t). Тогда разностная схема Эйлера - Коши принимает вид
8y(t + ) = y(t) + |
21 [ x(t) y(t)+ |
|
|
|||
> |
x(t + ) = x(t) + y(t) + 21 |
2 [ x(t) y(t)]; |
|
|||
|
|
|
|
|
y(t))]]; |
|
> |
[x(t) + y(t) + y(t) + ( x(t) |
|||||
> |
|
|
|
|
|
|
> |
|
|
|
|
|
|
> |
|
|
||||
> |
|
|
|
|
|
|
<
>
>x(0) = 1;
>
>
>
>
:y(0) = 2:
Окончательно получаем: |
|
|
|
|
8x(t + ) = x(t) 1 22 |
2 |
|||
>y(t + ) = |
|
|
|
|
x(t) |
2 |
|||
> |
|
|
||
> |
|
|
|
|
> |
|
|
|
>
<
>x(0) = 1;
>
>
>
>
:y(0) = 2:
+y(t) 22 ;
+ y(t) (1 ) ;
Составим таблицу вычислений с шагом = 0:1:
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ |
5 |
||
t |
x(t) |
y(t) |
|
0: |
1: |
2: |
|
0:1 |
1:185 |
1:705 |
|
0:2 |
1:341 |
1:422 |
|
0:3 |
1:469 |
1:152 |
|
0:4 |
1:571 |
0:897 |
|
0:5 |
1:648 |
0:658 |
|
0:6 |
1:702 |
0:436 |
|
0:7 |
1:735 |
0:231 |
|
0:8 |
1:748 |
0:043 |
|
0:9 |
1:743 |
0:127 |
|
1:0 |
1:722 |
0:280 |
|
1:1 |
1:687 |
0:416 |
|
1:2 |
1:639 |
0:535 |
|
1:3 |
1:580 |
0:637 |
|
1:4 |
1:512 |
0:723 |
|
1:5 |
1:435 |
0:794 |
|
1:6 |
1:352 |
0:851 |
|
1:7 |
1:264 |
0:894 |
|
1:8 |
1:173 |
0:925 |
|
1:9 |
1:079 |
0:944 |
|
2:0 |
0:984 |
0:952 |
|
2:1 |
0:889 |
0:950 |
|
2:2 |
0:794 |
0:939 |
|
2:3 |
0:701 |
0:921 |
|
2:4 |
0:610 |
0:895 |
|
2:5 |
0:522 |
0:863 |
|
2:6 |
0:437 |
0:826 |
|
2:7 |
0:356 |
0:785 |
|
2:8 |
0:280 |
0:740 |
|
2:9 |
0:208 |
0:693 |
|
3:0 |
0:141 |
0:643 |
|
3:1 |
0:079 |
0:592 |
|
3:2 |
0:022 |
0:540 |
|
3:3 0:029 0:488
2. Вычисление определенных интегралов по отрезку
Пусть f(t) – непрерывная функция на отрезке [a; b]. Согласно формуле Ньютона - Лейбница имеем:
Z b
f(t)dt = (b) (a);
a
где (t) = Rat f(t)dt – первообразная функции f(t). Эта первообразная является решением задачи Коши
(
dxdt = f(t); x(a) = 0:
Формула Эйлера - Коши имеет вид
6 |
С.Г.ТАНКЕЕВ |
(
x(t + ) = x(t) + 12 [f(t) + f(t + )]; x(a) = 0:
Она позволяет вычислить x(a+N ) с достаточно высокой точностью. Если параметрвыбран так, что a + N = b, то имеем с точностью до CN 3:
Z b
f(t)dt x(a + N ):
a
Таким образом сложный вопрос о вычислении определенных интегралов легко решается методом разностных схем.
3. Уравнение распространения тепла в однородном стержне
Рассмотрим однородный стержень длины l. Будем предполагать, что боковая поверхность стержня теплонепроницаема и что во всех точках поперечного сечения стержня температура одинакова. Расположим ось x так, что левый конец стержня совпадает с точкой 0, а правый конец совпадает с точкой l. Пусть u(x; t) – температура в точках с абсциссой x в момент времени t. Из опыта следует, что количество тепла, протекающего через сечение с абсциссой x в единицу времени, определяется
формулой
q = k @u@xS;
где S – площадь поперечного сечения, k – коэффициент теплопроводности. Рассмотрим элемент стержня, заключенный между сечениями с абсциссами x и
x + x. Количество тепла, прошедшего через сечение с абсциссой x за время t,
равно
Qx = k @u(x; t)S t; @x
а для сечения с абсциссой x + x имеем:
Qx+ x = k @u(x + x; t)S t: @x
Приток тепла Qx Qx+ x в элемент стержня за время t равен
Qx Qx+ x = k |
@u(x; t) |
S t + k |
@u(x + x; t) |
S t k |
@2u(x; t) |
xS t: |
|||
@x |
|
@x |
|
@x2 |
|
Этот приток тепла за время t затратился на повышение температуры элемента стержня на величину u:
@uQx Qx+ x = c xS u c xS @t t;
где c – теплоемкость вещества стержня, – плотность вещества стержня (так что c xS – масса элемента стержня). В результате мы имеем равенство
k |
@2u(x; t) |
xS t = c xS |
@u |
t: |
|
@x2 |
|
@t |
Поэтому
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ |
7 |
||||
c |
@u |
= k |
@2u(x; t) |
: |
(3:1) |
@t |
@x2 |
Обозначим через a2 = k=(c ) коэффициент температуропроводности. Тогда уравнение (3:1) принимает вид
@u(x; t) |
@2u(x; t) |
|
|
|
= a2 |
|
(3:2) |
|
@x2 |
||
@t |
|
и называется уравнением теплопроводности.
Аналогично доказывается, что уравнение распространения тепла в однородном
трехмерном теле имеет вид |
|
|
|
|
) + |
|
(@y2 |
) + |
(@z2 |
) : |
|
||||||
|
( @t |
) = a2 |
@ |
|
u( |
@x2 |
|
(3:3) |
|||||||||
|
@u x; y; z; t |
|
|
|
2 |
|
x; y; z; t |
|
|
@2u x; y; z; t |
|
|
@2u x; y; z; t |
|
|
|
4. Явная разностная схема решения первой краевой задачи для уравнения теплопроводности на отрезке
Рассмотрим первую краевую задачу
|
@u(x;t) |
= a |
2 @2u(x;t) |
; |
||
|
@t |
|
@x |
2 |
||
8u(x; 0) = '(x); |
|
|||||
> |
|
|
|
|
|
|
> |
|
|
1(t); |
|
||
>u(0; t) = |
|
|||||
> |
|
|
|
|
|
|
< |
|
|
|
|
|
|
>u(l; t) = |
2(t); |
|
|
|||
> |
|
|
|
|
|
|
>
>
:
где '(x) задает начальное распределение температуры в стержне, 1(t) и 2(t) – это значения температуры на концах стержня в момент времени t (например, эти значения могут сниматься с датчиков, расположенных в концах стержня). Наша задача состоит в вычислении температуры в любой момент времени t в любой точке с абсциссой x.
Фиксируем шаг > 0 по оси времени t и шаг h > 0 по оси x. Заметим, что
|
|
@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 |
|
|
|
||
(вторая формула следует из теоремы Тэйлора). |
|
|
|
||||||||||||
Явная разностная схема имеет вид |
|
|
|
|
|
|
|||||||||
|
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(0; t) = 1(t); |
|
|
|
|
|
|
|
|||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>u(l; t) = 2(t): |
|
|
|
|
|
|
|
>
>
:
Очевидно,
hi
8u(x; t + ) = u(x; t) 1 2ha2 |
2 |
+ ha22 [u(x + h; t) + u(x h; t)]; |
||
>u(x; 0) = '(x); |
|
(4:1) |
||
> |
|
|
|
|
>u(0; t) = |
1 |
(t); |
|
|
> |
|
|
|
|
< |
|
|
|
|
>u(l; t) = 2(t): |
|
|
>
>
>
:
Можно доказать, что эта разностная схема дает хорошее приближение к решению краевой задачи, если выполнено условие устойчивости:
8 |
С.Г.ТАНКЕЕВ |
|
||
|
|
h2 |
|
|
|
|
: |
(4:2) |
|
|
2a2 |
Ошибка оценивается как
juкраевая задача(x; t) uразностная задача(x; t)j Ch2;
где C – некоторая константа, зависящая от данных краевой задачи.
Если взять = |
h2 |
, то формулы явной разностной схемы существенно упроща- |
||||
2 |
||||||
ются: |
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
u(x; t + ) = |
u(x+h;t)+u(x h;t) |
; |
||
|
|
8u(x; 0) = '(x); |
2 |
(4:3) |
||
|
> |
1(t); |
|
|||
|
|
>u(0; t) = |
|
|
||
|
> |
|
|
|
|
|
|
< |
|
|
|
|
|
|
|
>u(l; t) = |
2(t): |
|
|
|
|
> |
|
|
|
|
>
:
Недостатком явной разностной схемы является то, что при малых значениях h шаг по времени должен удовлетворять условию устойчивости, поэтому – малая величина 2-го порядка по отношению к h. При исследовании переноса тепла в коротких стержнях используют более сложные неявные разностные схемы.
Пример. Рассмотрим первую краевую задачу
8u(x; 0) = 0; |
|
|
||||
> |
@u(x;t) |
= a |
2 |
@2u(x;t) |
; |
|
|
|
|
2 |
|||
> |
@t |
|
|
@x |
|
|
>
>
<
>u(0; t) = 0;
>
>
>
:u(l; t) = 100:
Мы хотим найти распределение температур в стержне длины l = 9h в момент времени 7 , где = 2ha22 .
В i-й строке следующей матрицы расположены значения температуры в точках
0; h; : : : ; 9h = l в момент времени (i 1) |
(мы округляем значения температур до |
||||||||
0.001): |
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
100 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
50 |
100 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
25 |
50 |
100 |
0 |
0 |
0 |
0 |
0 |
0 |
12:5 |
25 |
62:5 |
100 |
0 |
0 |
0 |
0 |
0 |
6:25 |
12:5 |
37:5 |
62:5 |
100 |
0 |
0 |
0 |
0 |
3:125 6:25 |
21:875 |
37:5 |
68:75 |
100 |
|
0 |
0 |
0 |
1:562 |
3:125 12:5 |
21:875 |
45:312 |
68:75 |
100 |
|
0 |
0 |
0:781 |
1:562 |
7:031 |
12:5 |
28:906 |
45:312 |
72:656 |
100 |
В итоге мы получили в момент времени 7 следующее распределение температур:
0 0 0:781 1:562 7:031 12:5 28:906 45:312 72:656 100:
5. Явная разностная схема решения первой краевой задачи для уравнения теплопроводности в прямоугольной плоской области (локально одномерная схема)
В прямоугольнике [0; 7h] [0; 5h] рассмотрим первую краевую задачу:
ТЕОРИЯ РАЗНОСТНЫХ СХЕМ
8 |
|
|
@t |
|
|
|
= a2 h |
@ |
u@x2 |
+ |
|
|
|
@y2 |
i; |
|
|
|
||||||||||||||||||
> |
@u(x;y;t) |
|
|
|
|
|
|
2 |
(x;y;t) |
|
|
|
@2u(x;y;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: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Следуя ([1], гл. IX, § 3, п. 5, с. 522), формально заменим уравнение |
||||||||||||||||||||||||||||||||||||
|
|
|
|
@u x; y; t |
) |
|
|
|
|
|
@2u(x; y; t) |
|
|
|
|
@2u(x; y; t) |
|
|||||||||||||||||||
|
|
|
|
( |
|
|
|
= a2 |
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
@t |
|
|
|
|
|
|
@x2 |
|
|
|
@y2 |
|
|
|||||||||||||||
цепочкой одномерных уравнений теплопроводности |
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
|
1 @v1 |
= a2 |
@2v1 |
|
|
|
|
для |
n < t n + |
|
; |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
2 @t |
@x2 |
|
|
|
|
2 |
|||||||||||||||||||||||||
|
1 @v2 |
|
@2v2 |
для |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
= a2 |
|
|
|
n + |
|
|
|
< t (n + 1) |
||||||||||||||||||||||||
|
2 |
@t |
|
@y2 |
2 |
|
||||||||||||||||||||||||||||||
с условиями |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1(x; y; 0) = u(x; y; 0); |
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
v2 x; y; n + |
|
|
= v1 x; y; n + |
|
|
; |
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
2 |
2 |
|
|
|
v1 (x; y; (n + 1) ) = v2 (x; y; (n + 1) ) ; vij@D = u(x; y; t)j@D;
9
(5:1)
где через @D обозначается граница области (в данном случае это прямоугольник). Уравнение
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 @v1 |
= a |
2 @2v1 |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 @t |
|
@x2 |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
аппроксимируется разностным уравнением |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
1 v1 |
|
x; y; t + 2 |
v1(x; y; t) |
= a2 |
v1(x + h; y; t) 2v1(x; y; t) + v1(x h; y; t) |
: |
|||||||||||||||||||||||||||
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
h2 |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Оно имеет вид |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
v |
1 |
|
x; y; t + |
|
v |
(x; y; t) |
|
|
|
|
|
|
|
|
x; y; t |
) + |
v |
1 |
( |
x |
|
h; y; t |
|
|
|
||||||||
|
|
|
|
|
|
|
|
2 |
|
1 |
|
|
|
= a2 |
v1(x + h; y; t) 2v1( |
|
|
|
|
) |
: |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
h2 |
|
|
|
|
|
|
|
|
|
|||||||||||||||
Положим = |
h2 |
. Тогда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
2a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
v1(x; y; t + |
|
) = |
v1(x + h; y; t) + v1(x h; y; t) |
|
; |
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
и поэтому цепочка 1-мерных явных разностных схем принимает следующий вид:
10 |
|
С.Г.ТАНКЕЕВ |
|
|
|
|
8v2(x; y; t + ) = v2(x;y+h;t+ 2 )+v2 |
(x;y h;t+ 2 ) |
; |
||||
> |
|
|
v1(x+h;y;t)+v1(x h;y;t) |
|
|
|
v1(x; y; t + |
2 ) = |
2 |
|
; |
|
|
|
|
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:
Допуская некоторую вольность в обозначениях, мы будем записывать эту цепочку в виде
8u(x; y; t + ) = u(x;y+h;t+ 2 )+u(x;y h;t+ 2 ) |
; |
|||
> |
u(x; y; t + ) = |
u(x+h;y;t)+u(x h;y;t) |
; |
|
2 |
2 |
|
|
|
> |
|
|
|
|
>u(x; y; 0) = 0; |
|
|
|
|
> |
|
|
|
|
> |
|
|
|
|
> |
|
|
|
(5:2) |
> |
|
|
|
>
>
>
>
<
u(0; y; t) = 100;
>
>
>u(7h; y; t) = 300;
>
>
>
>u(x; 5h; t) = 200;
>
>
>
>
:u(x; 0; t) = 400:
При этом надо помнить, что "настоящее"значение температуры в момент времени t + – это u(x; y; t + ), в то время как u(x; y; t + 2 ) играют лишь вспомогательную роль.
Мы получаем следующие распределения температур:
t = 0 :
t = 2 :
t = :
100: 200: 200: 200: 200: 200: 200: 300:
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: |
0: |
0: |
0: |
0: |
0: |
0: |
300: |
100: 400: 400: 400: 400: 400: 400: 300:
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: