Опубликован: 25.10.2007 | Доступ: свободный | Студентов: 1275 / 290 | Оценка: 4.40 / 4.36 | Длительность: 21:57:00
Специальности: Математик
Лекция 6:

Численное решение уравнений в частных производных эллиптического типа на примере уравнений Лапласа и Пуассона

6.2.5. Методы Якоби, Зейделя, верхней релаксации

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

\frac{{u_{m - 1, l} - 2u_{ml} + u_{m + 1, l}}}{{h^2}} + \frac{{u_{m, l - 1} - 2u_{ml} + u_{m, l + 1}}}{{h^2}} = f_{ml}

запишем итерационный метод Якоби. Расчетные формулы (верхний индекс, как обычно, показывает номер итерации) для этого метода будут

\frac{{u_{m - 1, l}^{i} - 2u_{ml}^{i + 1} + u_{m + 1, l}^{i}}}{{h^2}} + \frac{{u_{m, l - 1}^{i} - 2u_{ml}^{i + 1} + u_{m, l + 1}^{i}}}{{h^2}} = 
f_{ml},

m, l = 1, ... , M - 1, hM = 1, с условиями на сеточной границе u_{ml}^{i + 1} /_\Gamma = U_{ml}.

Если в явном виде выразить u_{ml}^{i + 1}, получим каноническую форму записи сеточного метода, правую часть берем на предыдущей итерации, левую — на текущей:

$  u^{i + 1}_{ml} = \frac{1}{4}(u^{i}_{m - 1, l} + u^{i}_{m + 1, l} + u^{i}_{m, l - 1} + u^{i}_{m, l + 1}) + \frac{h^2}{4}f_{ml}.  $

Количество итераций, требуемое для вычисления решения с точностью \varepsilon, оценивается по формуле

$  i = \frac{{2N^2}}{{{\pi}^2}} \ln {\varepsilon}^{- 1}.  $

Метод Зейделя, учитывающий результаты вычислений на i + 1 итерации, записывается для рассматриваемого уравнения Пуассона

\frac{u^{i + 1}_{m - 1, l} - 2u^{i + 1}_{ml} + u^{i}_{m + 1, l}}{h^2} +  \frac{u^{i + 1}_{m, l - 1} - 2u^{i + 1}_{ml} + u^{i}_{m, l + 1}}{h^2} = 
f_{ml},

m, l = 1, ... , M - 1, hM = 1, с условиями на сеточной границе u_{ml}^{i + 1} /_\Gamma = U_{ml}.

Напомним, что хотя метод Зейделя неявный, но его реализация оказывается простой, если правильно установить последовательность вычислений. В каноническом виде формулы для метода Зейделя есть

$  u_{ml}^{i + 1} = \frac{1}{4}(u_{m - 1, l}^{i + 1} + u_{m + 1, l}^{i} + u_{m, l - 1}^{i + 1} + u_{m, l + 1}^{i}) + \frac{{h^2}}{4}f_{ml}.  $

Сначала из последнего уравнения, используя граничные условия u_{01}^{i + 1} = U_{01} и u_{10}^{i + 1} = U_{10}, находим u_{11}^{i + 1}. Затем, зная u_{11}^{i + 1}, можно аналогично найти u_{12}^{i + 1} и так далее. Значения сеточной функции вычисляются в следующем порядке изменения индексов: (1, 1), (1, 2), ... , (1, M - 1), (2, 1), (2, 2), ... , (2, M - 1), (M - 1, 1), (M - 1, 2), ... , (M - 1, M - 1) . Оценка количества итераций, необходимых для достижения точности \varepsilon, есть

$  i  \approx  \frac{{N^2}}{{{\pi}^2}} \ln {\varepsilon}^{- 1}.  $

Метод Зейделя сходится быстрее метода Якоби, однако число итераций также оценивается как O(N2) = O(L/l) . В случае метода верхней релаксации система представляется в виде

({\mathbf{L}} + {\mathbf{u}} + {\mathbf{D}}){\mathbf{u}} = {\mathbf{f}},

где \mathbf{L} и \mathbf{u} — нижняя и верхняя треугольные матрицы с нулевыми диагоналями, \mathbf{D} - диагональная матрица. Вводится параметр 1 < \tau  < 2 и итерационные формулы записываются в виде

$  {\mathbf{Lu}}^{i + 1} + {\mathbf{Uu}}^{i} + {\mathbf{D}} \left[\frac{{{\mathbf{u}}^{i + 1}}}{\tau}\right. + + \left. (1 - \frac{1}{\tau}){
\mathbf{u}}^{i}\right] = {\mathbf{f}} $
. При \tau  = 1 получаем метод Зейделя.

Рассмотрим реализацию метода верхней релаксации для разностной аппроксимации уравнения Пуассона. Переписав разностную схему в виде

\frac{u_{m - 1, l} + u_{m, l - 1}}{h^2} + \frac{u_{m + 1, l} + u_{m, l + 1}}{h^2} - \frac{4u_{ml}}{h^2} = f_{ml}u_{ml} = U_{ml},

выпишем расчетные формулы для метода релаксаций:

\begin{multline*}
 \frac{u_{m - 1, l}^{i + 1} + u_{m, l - 1}^{i + 1}}{h^2} + \frac{u_{m + 1, l}^{i} + u_{m, l + 1}^{i}}{h^2} - \\ 
 - \frac{4}{h^2} \left[\frac{u_{ml}^{i + 1}}{\tau} + (1 - \frac{1}{\tau})u^{i}_{ml}\right] = 
f_{ml}, u_{ml}^{i + 1} = U_{ml}.
 \end{multline*}

Последовательность вычислений в методе релаксаций такая же, как и в методе Зейделя. Уравнения представляются в виде

$  u_{m - 1, l}^{i + 1} + u_{m, l - 1}^{i + 1} -  \frac{4}{\tau} u^{i + 1}_{ml} = - (u_{m + 1, l}^{i} + u_{m, l + 1}^{i}) + 4(1 - \frac{1}{\tau})u^{i}_{ml} - 
h^2 f_{ml},   $

решение u_{ml}^{i + 1} вычисляется так же с левого нижнего угла области интегрирования. Основное преимущество метода верхней релаксации перед методом Зейделя состоит в существенном ускорении скорости сходимости при соответствующем выборе параметра \tau. Не проводя исследований на сходимость, приведем их окончательный результат. Необходимое количество итераций для достижения точности \varepsilon равно

$  i  \approx  \frac{2M}{\pi} \ln{\varepsilon^{- 1}}, h = 1/M.  $
Отметим также, что для реализации этих трех методов не требуется знания спектра задачи. При оптимальном выборе итерационного параметра в методе верхней релаксации знание границ спектра позволяет ускорить сходимость метода.