Метод конечных разностей или метод сеток
ПОСТРОЕНИЕ РАЗНОСТНЫХ СХЕМ
Пусть Yi=Y(i) сеточная функция дискретного аргумента i. Значения
сеточной функции Y(i) в свою очередь образуют дискретное множество. На
этом множестве можно определять сеточную функцию, приравнивая которую к
нулю получаем уравнение относительно сеточной функции Y(i) - сеточное
уравнение. Специальным случаем сеточного уравнения является разностное
уравнение.
Сеточное уравнение получается при аппроксимации на сетке интегральных и
дифференциальных уравнений.
Так дифференциальное уравнение первого порядка :
dU = f(x) , x > 0
dx
можно заменить разностным уравнением первого порядка :
Yi+1 - Yi = f(xi) , xi = ih, i=0,1...
h
или Yi+1=Yi+hf(x), где h - шаг сетки v={xi=ih, i=0,1,2...}. Искомой
функцией является сеточная функция Yi=Y(i).
При разностной аппроксимации уравнения второго поряда
2
d U = f(x)
2
dx
получим разностное уравнение второго порядка :
2
Yi+1 - 2Yi + Yi+1 = yi , где yi=h f i
fi = f(xi)
xi = ih
Для разностной aппроксимации производных U’, U’’, U’’’ можно пользоваться
шаблонами с большим числом узлов. Это приводит к разностным уравнениям
более высокого порядка.
Анологично определяется разностное уравнение относительно сеточной
функции Uij = U(i,j) двух дискретных аргументов . Например пятиточечная
разностная схема “крест” для уравнения Пуассона
Uxx + Uyy = f(x,y)
на сетке W выглядит следующим образом :
Ui-1j - 2Uij+Ui+1j + Uij-1 - 2Uij+Uij+1 = fij
2
2
hx hy
где hx - шаг сетки по X
hy - шаг сетки по Y
Сеточное уравнение общего вида можно записать так:
N
CijUj = fi i=0,1...N
j=0
Оно содержит все значения U0, U1 ... UN сеточной функции. Его можно
трактовать как рзностное уравнение порядка N равного числу узлов сетки
минус единица.
В общем случае под i - можно понимать не только индекс , но и
мультииндекс т.е. вектор i = (i1 ... ip) с целочисленными компонентами и
тогда :
СijUj =fi i О W
jОW
где сумирование происходит по всем узлам сетки W. Если коэффициенты Сij не
зависят от i, тоуравнение называют уравнением с постоянными коэффициентами.
Аппроксимируем нашу задачу т.е. заменим уравнение и краевые условия на
соответствующие им сеточные уравнения.
U=U(x,y)
y
M b
M-1
Uij j
j
1
0 1 2 i
N-1 N=a x
i
Построим на области G сетку W . И зададим на W сеточную функцию
Uij=U(xi,yj) ,
где
xi=x0+ihx
yi=y0+jhy
hx = a/N ,
hy = b/M и т.к.
x0=y0
то
xi=ihx, yi=jhy, i=0...N
j=0...M
Найдём разностные производные входящие в уравнение
2
DU = f
(т.е построим разностный аналог бигармонического уравнения).
Uxij = Ui+1j - Uij , Uxi-1j = Uij - Ui-1j
hx
hx
Uxxij = Ui-1j - 2Uij + Ui+1j
hx
Рассмотрим Uxxxxij как разность третьих производных :
Uxxi-1j - Uxxij - Uxxij - Uxxi+1j
Uxxxxij = hx hx = Ui-2j - 4Ui-1j
+ 6Uij - 4Ui+1j + Ui+2j
4
hx
hx
Анологично вычислим производную по y :
Uyyyyij = Uij-2 - 4Uij-1 + 6Uij - 4Uij+1 +Uij+2
4
hy
Вычислим смешанную разностную производную Uxxyy :
Uxxij-1 - Uxxij - Uxxij - Uxxij+1
(Uxx)yyij = hy hy =
Uxxij-1 - 2Uxxij +Uxxij+1 =
2
hy
hy
= Ui-1j-1 - 2Uij-1 + Ui+1j-1 - 2 Ui-1j - 2Uij + Ui+1j + Ui-1j-1
- 2Uij+1 + Ui+1j+1
2 2
2 2 2 2
hxhy hxhy
hxhy
В силу того что DU = f
имеем:
Ui-2j - 4Ui-1j + 6Uij - 4Ui+1j +Ui+2j +
4
hx
+ 2 Ui-1j-1 - 2Uij-1 + Ui+1j-1 - 4 Ui-1j - 2Uij +Ui+1j + 2 Ui-1j+1
-2Uij+1 + Ui+1j+1 +
2 2 2
2 2 2
hxhy hxhy
hxhy
+ Uij-2 - 4Uij-1 + 6Uij - 4Uij+1 + Uij+2 = fij
(*)
4
hy
Это уравнение имеет место для
i=1,2, ... N-1
j=1,2, ... M-1
Рассмотрим краевые условия задачи. Очевидно следующее :
x=0 ~ i = 0
x=a ~ xN=a
y=0 ~ Yo=0
y=b ~ YM=b
1) х=0 (левая граница области G)
Заменим условия
U = 0
x=o
Uxxx = 0
x=o
на соответствующие им разностные условия
Uoj=0
U-1j=U2j - 3U1j (1`)
2) х=а (правая граница области G)
i=N
Ux = 0
x=a
Uxxx = 0
x=a из того что Ui+1j - Ui-1j
= 0
2hx
UN+1j = UN-1j
UNj = 4 UN-1j - UN-2j (2`)
3
3) у=0 (нижняя граница области G)
j=0
Ui ,-1 = Ui1
Ui0 = 0 (3`)
это есть разностный аналог Uy = 0
y=o
U =0
y=o
4) у=b
i=M
U = 0
y=b т.е. UiM=0
(**)
Распишем через разностные производные Uxx + Uyy =0 и учитывая что j=M и
(**) получим
UiM-1 = UiM+1
Итак краевые условия на у=b имеют вид
UiM+1 = UiM-1
UiM = 0 (4`)
Итого наша задача в разностных производных состоит из уравнения (*)
заданного на сетке W и краевых условий (1`)-(4`) заданных на границе
области G (или на границе сетки W)
ПРИМЕНЕНИЕ МЕТОДА ЗЕЙДЕЛЯ
Рассмотрим применение метода Зейделя для нахождения приближенного решения
нашей разностной задачи (*),(1`) - (4`).
В данном случае неизвестными являются
Uij = U(xi,yj)
где xi = ihx
yj = jhy
при чём hx = a/N ,
hy = b/M
это есть шаг сетки по x и по у соответственно , а N и М соответственно
количество точек разбиения отрезков [0 , а] и [0 , b]
Пользуясь результатами предыдущего раздела запишем уравнение
2
DU = f
как разностное уравнение. И упорядочим неизвестные естественным образом по
строкам сетки W , начиная с нижней строки.
1 Ui-2j - 4 + 4 Ui-1j + 6 - 8 + 6 Uij - 4 + 4 Ui+1j +
1 Ui+2j + 2Ui-1j-1 -
4 4 2 2 4 2 2 4
4 2 2 4
2 2
hx hx hxhy hx hxhy hy hx hxhy
hx hxhy
- 4 + 4 Uij-1 + 2 Ui+1j-1 + 2 Ui-1j+1 - 4 + 4 Uij+1 + 2
Ui+1j+1 + 1 Uij-2 +
2 2 4 2 2 2
2 2 2 4 2
2 4
hxhy hy hxhy hxhy hxhy hy
hxhy hy
+ 1 Uij+2 = f ij для i=1 ... N-1, j=1 ... M-1
4
hy
и U удовлетворяет краевым условиям (1`) - (4`), так как в каждом уравнении
связаны вместе не более 13 неизвестных то в матрице А отличны от нуля не
более 13-элементов в ст
| | скачать работу |
Метод конечных разностей или метод сеток |