ВВЕДЕНИЕ
Значительнаое число задач физики и техники приводят к дифференциальным уравнениям в частных прозводных (уравнения математической физики). Установившиеся процессы различной физической природы описываются уравнениями эллиптического типа.
Точные решения краевых задач для эллиптических уравнений удаётся получить лишь в частных случаях. Поэтому эти задачи решают в основном приближённо. Одним из наиболее универсальных и эффективных методов, получивших в настоящее время широкое распространение для приближённого решения уравнений математической физики, является метод конечных разностей или метод сеток.
Суть метода состоит в следующем. Область непрерывного изменения аргументов, заменяется дискретным множеством точек (узлов), которое называется сеткой или решёткой. Вместо функции непрерывного аргумента рассматриваются функции дискретного аргумента, определённые в узлах сетки и называемые сеточными функциями. Производные, входящие в дифференциальное уравнение и граничные условия, заменяются разностными производными, при этом краевая задача для дифференциального уравнения заменяется системой линейных или нелинейных алгебраических уравнений (сеточных или разностных уравнений). Такие системы часто называют разностными схемами. И эти схемы решаются относительно неизвестной сеточной функции.
Далее мы будем рассматривать применение итерационного метода Зейделя для вычисления неизвестной сеточной функции в краевой задаче с неоднородным бигармоническим уравнением.
ПОСТАНОВКА ЗАДАЧИ
Пусть у нас есть бигармоническое уравнение :
U=f
Заданное на области G={(x,y): 0<=x<=a, 0<=y<=b}. Пусть также заданы краевые условия на границе области G .
x=0 b
x=0
G
x=a
x=a
y=0 y=b
y=0 y=b y=b
Надо решить эту задачу численно.
Множество узлов Uij=(x(i),y(j)) имеющих координаты на плоскости х(i),y(j) называется сеткой в прямоугольнике G и обозначается :
|
|
W={Uij=(ihx,jhy),i=0,1...N,j=0,1...M,hxN=a, hyM=b}
|
Сетка W очевидно состоит из точек пересечения прямых x=x(i) и y=y(j).
Простейшим разностным оператором является оператор дифференцирования сеточной функции, который порождает разностные производные. Пусть W - сетка с шагом h введённая на Rт.е.
W={Xi=a+ih, i=0, + 1, + 2...}
Тогда разностные производные первого порядка для сеточной функции Yi=Y(Xi) , Xiиз W, определяется по формулам :
L1Yi = Yi - Yi-1 , L2Yi=L1Yi+1
h
и называются соответственно левой и правой производной. Используется так же центральная производная :
L3Yi=Yi+1 - Yi-1 = (L1+L2)Yi
2h 2
Разностные операторы A1, A2, A3имеют шаблоны состоящие 2х точек и используются при апроксимации первой производной Lu=u’ . Разностные производные n-ого порядка определяются как сеточные функции получаемые путём вычисления первой разностной производной от функции, являющейся разностной производной n-1 порядка, например :
Yxxi=Yxi+1 - Yxi= Yi-1-2Yi+Yi+1
2
h h
Yxxi= Yxi+1-Yxi-1= Yi-2 - 2Yi+Yi+ 2
2
2h 4h
которые используются при апроксимации второй производной. Соответствующие разностные операторы имеют 3х точечный шаблон.
Анологично не представляет труда определить разностные производные от сеточных функций нескольких переменных.
Аппроксомируем нашу задачу с помощью разностных производных. И применим к получившейся сеточной задаче метод Зейделя.
МЕТОД ЗЕЙДЕЛЯ
Одним из способов решения сеточных уравнений является итерационный метод Зейделя.
Пусть нам дана система линейных уравнений :
AU = f
или в развёрнутом виде :
M
i=1
Итерационный метод Зейделя в предположении что диагональные элементы матрицы А=(aij)отличны от нуля (aii<>0)записывается в следующем виде :
aijYj + aijYj = fi , i=1,2...M
j=1 j=i+1
(k)
где Yj - jая компонента итерационного приближения номера k. В качестве начального приближения выбирается произвольный вектор.
Определение (k+1)-ой итерации начинается с i=1
(k+1) M (k)
j=2
(k+1)
Так как a11<>0то отсюда найдём Y1. И для i=2получим :
a22Y2 = - a21Y1 - a2jYj + f2
j=3
(k+1) (k+1) (k+1) (k+1)
Пусть уже найдены Y1 , Y2 ... Yi-1. Тогда Yi находится из уравнения :
aiiYi = - aijYj - aijYj + fi (*)
j=1 j=i+1
Из формулы (*) видно , что алгоритм метода Зейделя черезвычайно прост. Найденное по формуле (*) значение Yiразмещается на месте Yi.
Оценим число арифметических действий, которое требуется для реализации одного итерационного шага. Если все aij не равны нулю, то вычисления по формуле (*) требуютM-1операций умножения и одного деления. Поэтому реализация
2
одного шага осуществляется за 2M - M арифметических действий.
Если отлично от нуля лишь m элементов, а именно эта ситуация имеет место для сеточных эллиптических уравнений, то на реализацию итерационного шага потребуется 2Mm-Mдействий т.е. число действий пропорционально числу неизвестных M.