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

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

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

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

С.Г.Танкеев

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: