Смекни!
smekni.com

Метод конечных разностей или метод сеток (стр. 2 из 3)

Запишем теперь метод Зейделя в матричной форме. Для этого представим матрицу A в виде суммы диагональной, нижней треугольной и верхней треугольной матриц :

A = D + L + U

где


0 0 . . . 0 0 a12a13 . . . a1M

a21 0 0 0 a23 . . . a2M

a31a32 0 0 .

L = . U= .

. .

. aM-1M

aM1aM2 . . . aMM-1 0 0 0

И матрица D- диагональная.

(k) (k) (k)

Обозначим через Yk = ( Y1 ,Y2 ... YM )вектор k-ого итерационного шага. Пользуясь этими обозначениями запишем метод Зейделя иначе :

( D + L )Yk+1 + UYk = f , k=0,1...

Приведём эту итерационную схему к каноническому виду двухслойных схем :

( D + L )(Yk+1 - Yk) +AYk = f , k=0,1...

Мы рассмотрели так называемый точечный или скалярный метод Зейделя, анологично строится блочный или векторный метод Зейделя для случая когда aii - есть квадратные матрицы, вообще говоря, различной размерности, а aijдля i<>j - прямоугольные матрицы. В этом случае Yi и fiесть векторы, размерность которых соответствует размерности матрицы aii.

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

Пусть 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=hfi

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 jj10 1 2 i N-1 N=a xi

Построим на области 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 - 2Ui-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

+ 2Ui-1j-1 - 2Uij-1 + Ui+1j-1 - 4Ui-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и (**) получим