Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2343.pdf
Скачиваний:
43
Добавлен:
07.01.2021
Размер:
5.89 Mб
Скачать

Раздел VII. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ УРАВНЕНИЙ С ЧАСТНЫМИ ПРОИЗВОДНЫМИ

1. Метод сеток численного решения дифференциальных уравнений с частными производными

Метод сеток, или метод конечных разностей, является одним из самых распространенных в настоящее время методов численного решения уравнен й с частными производными. В его основе лежит идея

замены про зводных конечно-разностными отношениями.

плоскости

 

 

 

Пусть в

Оxy имеется некоторая область G с границей

СГ. Постро м на

 

два семейства параллельных прямых (рис.

19).

 

 

 

 

 

 

 

 

x x0 ih , i = 0, ±1, ±2, … ;

б

 

 

 

 

 

y y0 kl, k = 0, ±1, ±2, … .

y

 

 

 

 

 

O

 

А

x

 

 

 

 

 

Г

 

 

 

 

 

G

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Д

 

 

 

Рис. 19

И

Точки пересечения этих прямых назовем узлами. ва узла называются соседними, если они удалены друг от друга в направлении оси Ох или Оу на расстояние, равное шагу сетки соответственно. Выделим узлы, принадлежащие области G и границе Г, а также некоторые узлы, не принадлежащие этой области, но расположенные на расстоянии, меньшем, чем шаг от границы Г. Узлы, у которых четыре соседних узла принадлежат выделенному множеству узлов, называются внутренними (например, узел А, см. рис. 19). Оставшиеся из выделен-

ных узлов

называются

граничными. Значения искомой функции

U U (x, y)

в

узлах

сетки

будем

обозначать

Ui, k U (x0 ih, y0 kl) .

171

В каждом внутреннем узле

(x0 ih, y0

kl) заменим частные

производные разностными отношениями на основании формул

 

 

 

U i 1, k U i 1, k

 

 

 

 

 

 

U i, k 1 U i, k 1

.

 

(149)

 

 

 

 

 

 

 

 

 

 

 

 

 

U x ik

 

 

2h

 

 

 

; U y ik

 

 

2l

 

С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При этом в граничных точках будем использовать разностные

производные в да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

U i, k 1 U i, k

 

 

 

 

 

 

U i 1, k U i, k

;

 

ik

 

.

 

U x ik

 

h

 

 

 

 

U y

 

l

 

 

Аналог чно заменяются частные производные второго порядка:

б

 

 

 

 

 

 

 

 

 

 

 

 

1

U i 1, j 2U i, j

U i 1, j ;

 

 

 

 

U xx xi , y j

hx2

 

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

 

1

U i, j 1 2U i, j

U i, j 1 .

 

 

 

 

U yy xi , y j

h

2

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

2. Решение

задачи

Дирихле в

прямоугольнике

 

для уравнения Лапласа методом сеток

Для воспроизведения видео нажмите на кнопку

1. Постановка задачи.

Требуется найти с точностью ε приближенное решение уравне-

ния Лапласа

 

 

 

 

 

И

 

 

U

 

0 ,

U

 

(150)

 

xx

 

 

yyД

 

где U U (x, y) определена внутри прямоугольника G:

 

G (x, y) ,

a x b ,

c x d ,

 

если на границе Г области

 

 

 

 

 

 

 

x a;

 

x b;

c y d;

 

Г

 

 

 

y d;

 

 

y c;

 

a x b

 

172

заданы граничные условия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U (x, y) f (x, y) ,

(x, y) Г .

 

 

(151)

2.

 

Построение сетки.

 

 

 

 

 

 

 

 

 

 

 

 

С

b разделим на М равных частей с шагом hx, отрезок

Отрезок

a,

c d, – на N равных частей с шагом hy.

 

 

 

 

 

 

 

 

 

 

 

 

 

h

b a

;

h

d c

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wТочки(h , h ) (р с. 20).

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

M

 

 

N

 

 

 

 

 

 

 

 

 

делен я

о означим:

xi

 

a ihx ,

i 0,

1, 2,

… , М;

y j c jhy

, j 0, …

, N. Проведем прямые

 

x xi

и y y j , парал-

 

 

б

 

 

 

 

 

 

 

лельные осям коорд нат. Совокупность всех узлов образует сетку

x

y

 

 

 

А

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yN d

 

 

 

 

 

 

 

Д

 

 

 

 

yj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y3

 

 

 

 

 

 

 

 

 

 

 

(i, j)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0 c

 

x1

 

 

x2

x3

 

 

 

xi

 

 

 

b xM x

 

 

 

 

 

x0 a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 20

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Узлы

(i, j) , i 1,

2, . . . , M 1;

j 1, 2, . . . , N 1

являются

внутренними,

а узлы (i,

 

j)

 

при i 0

и i М ,

j 1, . . . , N 1 и при

j 0 и

 

j М ,

i 1, . . . ,

 

M 1 –

граничными. Вершины прямо-

угольника – точки (0, 0), (0, N), (M, 0), (M, N) – угловые узлы.

3.

 

Сеточная задача.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вместо непрерывной функции U (x, y) будем рассматривать ее

определенные

значения

в

узлах

 

сетки

 

сеточную

функцию

Uij U (xi , y j

) , i 0, 1, … ,

М; j 0, 1, … , N. Во внутренних узлах

173

сетки используем сеточные аналоги производных (149).

Тогда уравнение Лапласа (150) будет иметь сеточный аналог в

виде

 

1

U

 

2U

 

U

 

 

1

 

U

 

2U

 

U

 

 

0 (152)

 

hx2

i 1, j

i, j

i 1, j

hy2

 

i, j 1

i, j

i, j 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для внутренн

х узлов i 1, 2, . . . ,

M 1;

j 1, 2, . . . , N 1.

 

Гран чные услов я (151) на сетке примут вид

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

СUi, j

fi,

j

 

 

 

 

 

 

(153)

 

 

 

б

 

 

j 1, 2,

. . . , N 1;

для гран чных узлов

(i, j) ,

i 0

 

и

i М при

j 0

 

j N , i 1, 2, . . . , M

1, где

fi, j

f (xi ,

y j ) .

 

 

Для угловых точек пересчитаем значения сеточной функции,

взяв среднее ар фмет ческое двух значений, полученных при движе-

 

 

А

 

нии к вершине по вертикальной и горизонтальной границам.

 

4. Метод итераций.

 

 

 

Из сеточного аналога уравнения Лапласа (4) выразим U i, j :

 

1

 

Д

 

 

 

2

 

2

 

U i, j

2 h2 h2 hy U i 1, j U i 1, j

hx U i, j 1 U i, j 1 ,

(154)

 

x

y

 

 

 

i 1, 2, . . . , M 1;

j 1, 2, . . . , N 1.

 

 

Для вычисления по формуле (6) применяется так называемая

схема «крест»: срединное значение U i, j

рассчитывается по четырем

соседним узлам (рис. 21).

 

Иj+1

 

 

 

 

 

 

 

j

 

 

 

i–1

i

i+1

 

Рис. 21

174

Заменим в системе (154), состоящей из (М 1) (N 1) – сеточ-

ных уравнений,

значения U 0, j ,

U M , j ,

U i, 0 , Ui, N

их значениями на

границе из условия (153).

Тогда

в

системе

(154) останется

(М 1) (N 1)

неизвестных

значений

U i, j ,

i 1, 2, . . . , M 1;

j 1, 2, . . . , N 1.

 

 

 

 

Пусть известны на некоторой итерации k 0 все значения U i, j .

Тогда значен я

скомой функции на (k 1) итерации рассчитываются

по следующему

терац онному алгоритму

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(k 1)

U

(k )

U

(k )

U

(k )

U

(k )

 

,

 

 

 

(155)

СU

i 1, j

i 1, j

i, j 1

i, j

1

 

 

 

 

 

i, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hy2

 

 

 

 

 

 

 

hx2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где

2 h2 h2

,

 

 

2 h

2

h2 , k 0, 1, 2, … , K.

 

 

 

 

 

 

 

 

x

y

 

 

 

 

 

x

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

Итерац онный процесс (155) продолжается до такого номера К,

 

 

 

 

 

А

 

 

 

 

 

 

пока не будет достигнута заданная точность , то есть. будет выпол-

няться следующийбкритерий:

 

 

 

 

 

 

 

 

 

 

 

 

 

max

U (k 1) U (k )

U (k )

.

 

 

 

 

 

 

 

(156)

 

 

 

 

 

 

i, j

 

 

i, j

 

i, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i, j

 

 

 

 

 

 

 

Д

 

 

Тогда

полагаем

 

 

U

i, j

U (k 1)

,

 

i 1, 2, . . . ,

 

M 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

i, j

 

 

 

 

 

 

 

 

 

 

j 1,

2, . . . , N 1. Решение задачи получается в виде таблицы значе-

ний функции.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

5. Выбор начального приближения.

 

 

 

 

 

 

 

 

 

 

 

Для начала расчета по формуле (155) необходимо задать на-

чальное приближение U

(0) , i 1,

2, . . . , M 1;

j 1,

2, . . . , N 1. На

 

 

 

 

 

 

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

границе значения функции заданы по условию (153): U (0)

f

ij

, i 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

и i М при j 1, . . . , N 1;

 

 

j 0 и j N при i 1, . . . ,

M 1.

Для внутренних узлов проинтегрируем значения в граничных узлах следующим образом (метод прямых). Зафиксируем горизонтальную прямую j 1 (горизонтальный профиль). Предположим, что

значения Uij(0) на этом горизонтальном профиле (i 0, 1, … , М) равно-

175

мерно меняются от значения U (0)

f

0 j

до значения U (0) f

Мj

при

 

 

 

 

 

 

 

 

 

 

ij

 

 

 

 

Мj

 

 

j 1. Линейный закон изменения записывается формулой

 

 

 

 

 

U (0)

f

 

 

f М 1 f01

 

i ,

i 0, 1, … , М.

 

 

(157)

 

 

 

 

 

 

С

 

01

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i1

 

 

 

 

М

 

 

 

 

 

 

 

 

 

Таким образом, вычислим значения во всех узлах горизонталь-

ного проф ля j 1 (на рис. 22

эти узлы отмечены ).

 

 

 

и

 

 

 

 

 

 

 

 

 

 

Аналог чно заполняем первый вертикальный профиль, то есть

узлы на верт кальной прямой i 1. Будем считать, что U1 j

линейно

меняется от U11(0) , полученного из расчетов на горизонтальном профи-

ле, до U (0)

 

f

 

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1N

б

 

 

 

 

 

 

 

1N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0)

 

 

 

 

 

 

 

 

 

U (0)

U (0)

 

f1N U11

( j 1) ,

j 1, 2, … , N.

 

 

 

 

 

1 j

 

11

 

 

N

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=N

 

 

 

 

 

 

 

 

 

 

 

 

 

Д

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=0 i=1

 

 

 

 

 

 

j=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=М

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 22

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На рис. 22

 

значения

первого вертикального профиля отмече-

ны кружками.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее

рассчитываем

следующий

 

горизонтальный

профиль

j 2, а затем вертикальный

i 2 и так далее, двигаясь из нижнего

левого угла сетки направо и вверх то по горизонтальному, то по вертикальному профилю. Для j-го горизонтального профиля расчетные формулы примут вид

176

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]