Смекни!
smekni.com

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

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 -

44 2 24 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-элементов в строке. В соответствии со вторым разделом перепишем уравнение:

(k+1) (k+1) (k+1) (k+1)

6 - 8 + 6 Uij = - 1 Uij-2 - 2 Ui-1j-1 + 4 + 4 Uij-1 -

4 2 2 4 4 2 2 2 2 4

hx hxhy hy hy hxhy hxhy hy

(k+1) (k+1) (k+1) (k)

- 2 Ui+1j-1 - 1 Ui-1j +

4 + 4 Ui-1j + 4 + 4 Ui+1j -

2 244 2 2 4 2 2

hxhy hx hx hxhy hx hxhy

(k) (k) (k) (k) (k)

- 1 Ui+2j - 2 Ui-1j+1 + 4 + 4 Uij+1 - 2 Ui+1j+1 - 1 Uij+2 + fij

4 2 2 2 2 4 2 2 4

hx hxhy hxhy hy hxhy hy

(k)

При чем U удовлетворяет краевым условиям (1`) - (4`). Вычисления начинаются с i=1, j=1и продолжаются либо по строкам либо по столбцам сетки W. Число неизвестных в задаче n = (N-1)(M-1).

Как видно из вышеизложенных рассуждений шаблон в этой задаче тринадцатиточечный т.е. на каждом шаге в разностном уравнении участвуют 13 точек (узлов сетки) Рассмотрим вид матрицы А-для данной задачи.

j+2
j+1
j
j-1

Матрица метода получается следующим образом : все узлы сетки перенумеровываются и размещаются в матрице Так что все узлы попадают на одну строку и поэтому матрица метода для нашей задачи будет тринадцатидиагональной .

j-2
i-1
i
i+1
i+2
i-2
Шаблон задачи

ОПИСАНИЕ ПРОГРАММЫ.

Константы используемые в программе :

aq = 1- правая граница области G

b = 1 - левая граница области G

N = 8 - колличество точек разбиения отрезка[0,a]

M = 8 - колличество точек разбиения отрезка [0,b]

h1 = aq/N - шаг сетки по X

h2 = b/M - шаг сетки по Y

Переменные :

u0 - значения сеточной функции U на k-ом шаге

u1 - значения сеточной функции Uна (k+1)-ом шаге

a - массив коэффициентов шаблона

Описание процедур :

procedure Prt(u:masa) - печать результата

function ff(x1,x2: real):real - возвращает значение функцииf в узле (x1,x2)

procedure Koef - задаёт значения коэффициентов

Действие :

Берётся начальое приближение u0 и с учётом краевых условий ведётся вычисление с i=2 ... N , j=2 ... M. На каждом итерационном шаге получаем u1 по u0. По достижении заданной точности eps>0вычисления прекращаются. И все элементы матрицы A, которые лежат ниже главной диагонали получают итерационный шаг (k+1) , а те элементы которые лежат выше главной диагонали (исключая главную диагональ) получают итерационный шаг k.

Примечание : программа реализована на языке Borland Pascal 7.0

Министерство общего и профессионального образования РФ

Воронежский государственный университет

факультет ПММ

кафедра Дифференциальных уравнении

Курсовой проект

“Решение бигармонического уравнения методом Зейделя”

Исполнитель : студент 4 курса 5 группы

Никулин Л.А.

Руководитель : старший преподаватель

Рыжков А.В.

Воронеж 1997г.