Журнал вычислительной математики и математической физики, 2021, T. 61, № 9, стр. 1403-1415

Численное решение краевых задач на многоблочных сетках

С. И. Мартыненко 1234***

1 ИПХФ РАН
142432 Черноголовка, М.о., пр-т акад. Семенова, 1, Россия

2 ОИВТ РАН
125412 Москва, ул. Ижорская, 13, стр. 2, Россия

3 МГТУ им. Н.Э. Баумана
105005 Москва, 2-я Бауманская ул., 5, стр. 1, Россия

4 ЦИАМ им. П.И. Баранова
111116 Москва, ул. Авиамоторная, 2, Россия

* E-mail: Martynenko@ciam.ru
** E-mail: Martynenko@icp.ac.ru

Поступила в редакцию 24.11.2019
После доработки 24.11.2019
Принята к публикации 12.05.2020

Полный текст (PDF)

Аннотация

В статье представлены результаты теоретического анализа сходимости геометрических многосеточных алгоритмов при решении линейных краевых задач на двухблочной сетке. Доказаны свойство сглаживания для несимметричного итерационного метода с параметром и сходимость универсальной многосеточной технологии. Показано, что количество многосеточных итераций не зависит ни от величины шага, ни от количества блоков сетки. Приведены результаты вычислительных экспериментов по решению трехмерной краевой задачи Дирихле для уравнения Пуассона, иллюстрирующие теоретический анализ. Статья представляет интерес для разработчиков высокоэффективных алгоритмов решения краевых задач в областях со сложной геометрией. Библ. 13. Фиг. 6.

Ключевые слова: краевые задачи, многосеточные методы, многоблочные сетки.

ВВЕДЕНИЕ

Современное математическое моделирование физико-химических процессов в механике сплошных сред отличается применением сложных математических моделей, многообразных численных методов и различных суперкомпьютерных технологий. Сейчас уже вряд ли можно встретить специалиста, знакомого со всеми деталями современного вычислительного эксперимента. Поэтому основным направлением развития математического моделирования стало создание комплексов программ, устроенных по принципу “черного ящика”. Невозможность контроля пользователем построения сетки, аппроксимации уравнений математической модели и итерационного решения результирующей системы (не)линейных алгебраических уравнений на параллельном компьютере накладывает жесткие ограничения на численные методы для перспективных программных средств.

Как правило, математические модели стационарных физико-химических процессов в механике сплошных сред являются краевыми задачами для систем нелинейных дифференциальных уравнений в частных производных. Аппроксимация нелинейной краевой задачи на вычислительной сетке приводит к системе нелинейных алгебраических уравнений высокого порядка, численное решение которой требует огромных вычислительных усилий. Поэтому разработка эффективных методов численных решения подобных краевых задач имеет важное теоретическое и прикладное значение. Проблемы численного моделирования, связанные с разработкой и теоретическим обоснованием универсальных, эффективных и параллельных алгоритмов, не снимаются сами собой по мере появления все более мощных и дешевых компьютеров. Это связано, по меньшей мере, с двумя причинами: усложнением выдвигаемых как практикой, так и теорией, задач и необходимостью проведения большого числа серий вычислительных экспериментов для достаточно полного изучения объекта [1].

В середине 80-х годов прошлого века многосеточные методы, история которых начинается с пионерских работ выдающихся отечественных математиков Р.П. Федоренко, Н.С. Бахвалова и Г.П. Астраханцева, получили широкое распространение для решения прикладных задач. Кроме того, появились персональные компьютеры, достаточно мощные для проведения научно-технических расчетов. К вычислительной технике получили широкий доступ инженеры, физики, химики и специалисты из других проблемных областей, которые не обладали достаточной подготовкой в области вычислительной математики, но сталкивались с необходимостью решения прикладных задач, требующих большого объема вычислений. Поэтому с середины 80-х годов предпринимаются многочисленные попытки разработать вычислительные алгоритмы для программ, устроенных по принципу “черного ящика” (black box software).

К настоящему времени предложено труднообозримое количество различных алгоритмов для численного решения краевых задач, но наиболее значимыми являются только два из них.

1. Алгебраические многосеточные методы (АММ). В АММ вспомогательные системы линейных алгебраических уравнений (СЛАУ), необходимых для отыскания поправки, строят без привлечения геометрической информации о вычислительной сетке [2], [3]. АММ являются эффективными и высокоформализованными алгоритмами решения СЛАУ, полученных в результате аппроксимации линейных краевых задач на неструктурированных сетках. В нелинейном случае АММ применяют к решению СЛАУ, полученной в результате глобальной линеаризации дискретной краевой задачи. Помимо необходимости глобальной линеаризации исходной системы нелинейных алгебраических уравнений, остались проблемы, связанные с построением параллельных АММ.

2. Метод вспомогательного пространства (МВП или Auxiliary Space Method). Основная идея данного метода состоит в использовании вспомогательной задачи, решение которой проще, чем исходной [4]. Эффективность и параллелизм МВП определяется способом решения вспомогательной задачи.

Вычислительная сетка во многом определяет погрешность аппроксимации (начально-)краевых задач и трудоемкость итерационного алгоритма для решения результирующей системы (не)линейных алгебраических уравнений. Как правило, в области со сложной геометрией глобально-структурированную сетку построить гораздо сложнее, чем неструктурированную. Однако высокоэффективный и параллельный итерационный алгоритм для численного решения дискретных краевых задач проще разработать именно в случае использования глобально-структурированных сеток для аппроксимации (начально-)краевых задач. Очевидно, что вычислительная технология для перспективного программного обеспечения должна сочетать преимущества структурированных и неструктурированных сеток.

Целью данной работы является теоретическое исследование сходимости геометрических многосеточных методов на локально-структурированных (многоблочных) сетках в рамках классического многосеточного анализа, предложенного В. Хакбушем [5].

1. ЗАМЕЧАНИЯ О МЕТОДЕ ВСПОМОГАТЕЛЬНОГО ПРОСТРАНСТВА

Пусть $\Omega \in {{\mathbb{R}}^{3}}$ есть произвольная ограниченная область с границей $\partial \Omega $. Необходимо найти решение ${\mathbf{u}}({\mathbf{x}}) = {{({{u}^{{(1)}}}({\mathbf{x}}),{{u}^{{(2)}}}({\mathbf{x}}), \ldots ,{{u}^{{({{N}_{M}})}}}({\mathbf{x}}))}^{{\text{T}}}}$ 3D краевой задачи для системы линейных эллиптических дифференциальных уравнений в частных производных

(1a)
$\sum\limits_{j = 1}^{{{N}_{M}}} \,\mathcal{L}_{\Omega }^{{(ij)}}{{u}^{{(j)}}}({\mathbf{x}}) = f_{\Omega }^{{(i)}}({\mathbf{x}}),\quad {\mathbf{x}} \in \Omega ,\quad i = 1,2, \ldots ,{{N}_{M}},$
(1б)
$\sum\limits_{j = 1}^{{{N}_{M}}} \,\mathcal{L}_{{\partial \Omega }}^{{(ij)}}{{u}^{{(j)}}}({\mathbf{x}}) = f_{{\partial \Omega }}^{{(i)}}({\mathbf{x}}),\quad {\mathbf{x}} \in \partial \Omega ,\quad i = 1,2, \ldots ,{{N}_{B}}.$
Здесь ${\mathbf{x}} = {{({{x}_{1}},{{x}_{2}},{{x}_{3}})}^{{\text{T}}}}$, $\mathcal{L}_{\Omega }^{{(ij)}}$ и $\mathcal{L}_{{\partial \Omega }}^{{(ij)}}$ есть линейные эллиптические дифференциальные операторы, а $f_{\Omega }^{{(i)}}$ и $f_{{\partial \Omega }}^{{(i)}}$ – заданные функции в $\Omega $ и ее границе $\partial \Omega $ (${{N}_{M}} \leqslant {{N}_{B}}$). Для краткости будем обозначать данную краевую задачу как $\mathcal{L}{\mathbf{u}} = {\mathbf{f}}$ и полагать, что она имеет единственное решение ${\mathbf{u}} = {{\mathcal{L}}^{{ - 1}}}{\mathbf{f}}$.

Сначала сформулируем базовый односеточный алгоритм на основе метода Зейделя с блочным упорядочением неизвестных (Vanka-type smoother [6]) для численного решения краевой задачи (1). Использование метода Ванки означает совместное решение системы (1). Построим сетку ${{G}_{0}}$ с ${{N}_{{{{G}_{0}}}}}$ узлами, аппроксимируем некоторым образом краевую задачу (1) на сетке ${{G}_{0}}$ и запишем дискретный аналог (1) в матричной форме

${{A}_{0}}{{\varphi }_{0}} = {{{\mathbf{b}}}_{0}},$
где вектор неизвестных ${{\varphi }_{0}}$ аппроксимирует вектор ${\mathbf{u}}({\mathbf{x}})$. Базовый односеточный алгоритм представим в виде
(2)
${{W}_{V}}(\varphi _{0}^{{(\nu + 1)}} - \varphi _{0}^{{(\nu )}}) = {{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(\nu )}},\quad \nu = 0,1,2, \ldots ,$
где ${{W}_{V}}$ есть матрица расщепления метода Ванки. Итерации (2) можно записать как

$\varphi _{0}^{{(\nu + 1)}} = (I - W_{V}^{{ - 1}}{{A}_{0}})\varphi _{0}^{{(\nu )}} + W_{V}^{{ - 1}}{{{\mathbf{b}}}_{0}},$

Базовый односеточный алгоритм 3 содержит следующие проблемно-зависимые компоненты:

а) матрица коэффициентов ${{A}_{0}}$ и вектор правых частей ${{{\mathbf{b}}}_{0}}$. В общем случае, матрица коэффициентов ${{A}_{0}}$ и вектор правых частей ${{{\mathbf{b}}}_{0}}$ зависят от способа и порядка аппроксимации исходной краевой задачи и упорядочения неизвестных;

б) упорядочение неизвестных;

в) критерий останова итераций.

Далее всегда будем полагать, что итерационный метод является вполне согласованным, т.е. решение СЛАУ $(I - {{S}_{V}}){{\varphi }_{0}} = W_{V}^{{ - 1}}{{{\mathbf{b}}}_{0}}$ совпадает с решением исходной СЛАУ ${{A}_{0}}{{\varphi }_{0}} = {{{\mathbf{b}}}_{0}}$, где ${{S}_{V}} = I - W_{V}^{{ - 1}}{{A}_{0}}$ есть матрица итераций [7]. Отсюда следует, что

${{\varphi }_{0}} - \varphi _{0}^{{(\nu )}} = S_{V}^{\nu }({{\varphi }_{0}} - \varphi _{0}^{{(0)}}).$

Построим вычислительную сетку ${{G}_{A}}$ с ${{N}_{{{{G}_{A}}}}}$ узлами (${{N}_{{{{G}_{A}}}}} \approx {{N}_{{{{G}_{0}}}}}$), далее нижний индекс “A” (auxiliary) будет означать принадлежность к вспомогательной сетке. Итерации метода вспомогательного пространства, показанные на фиг. 1, могут быть записаны в виде

(3)
$({{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(q + 1)}}) = M({{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(q)}}),$
где матрица итераций линейного двухсеточного алгоритма имеет вид
(4)
$M = {{A}_{0}}S_{0}^{\nu }(A_{0}^{{ - 1}} - {{\mathcal{P}}_{{A \to 0}}}A_{A}^{{ - 1}}{{\mathcal{R}}_{{0 \to A}}}).$
Здесь ${{\mathcal{R}}_{{0 \to A}}}$ есть оператор, проецирующий невязку ${{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(q)}}$ с исходной сетки ${{G}_{0}}$ на вспомогательную сетку ${{G}_{A}}$, ${{\mathcal{P}}_{{A \to 0}}}$ есть оператор, проецирующий поправку с исходной сетки ${{G}_{0}}$ на вспомогательную сетку ${{G}_{A}}$, $S_{0}^{\nu }$ – матрица итераций Ванки, $\nu $ – количество сглаживающих итераций, выполняемых на исходной сетке ${{G}_{0}}$. Матрица ${{A}_{A}}$ получена в результате аппроксимации линейного дифференциального оператора $\mathcal{L}$ на вспомогательной сетке методом контрольного объема, причем порядок аппроксимации не превышает 2.

Фиг. 1.

Межсеточная итерация метода вспомогательного пространства.

Классический анализ сходимости линейного двухсеточного алгоритма основан на следующих утверждениях [5].

1. Свойство сглаживания: существует функция $\eta (\nu ):{{\mathbb{R}}_{ + }} \to {{\mathbb{R}}_{ + }}$ такая, что $\eta (\nu ) \to 0$ при $\nu \to \infty $ и

(5)
$\left\| {{{A}_{0}}{{S}^{\nu }}} \right\| \leqslant \eta (\nu )\left\| {{{A}_{0}}} \right\|.$

2. Свойство аппроксимации: для некоторой константы ${{C}_{A}} > 0$

(6)
$\left\| {A_{0}^{{ - 1}} - {{\mathcal{P}}_{{A \to 0}}}A_{A}^{{ - 1}}{{\mathcal{R}}_{{0 \to A}}}} \right\| \leqslant {{C}_{A}}{{\left\| {{{A}_{0}}} \right\|}^{{ - 1}}}.$
Доказательство данных свойств является отдельной и очень трудной теоретической проблемой [8]. Наиболее значимые результаты были получены для симметричных положительно определенных матриц и точечного упорядочения неизвестных. В дальнейшем будем полагать, что свойства сглаживания и аппроксимации всегда выполнены. Тогда справедлива следующая оценка:
(7)
${\text{|}}{\kern 1pt} {\text{|}}M{\text{|}}{\kern 1pt} {\text{|}} \leqslant \left\| {{{A}_{0}}{{S}^{\nu }}} \right\| \cdot \left\| {A_{0}^{{ - 1}} - {{\mathcal{P}}_{{A \to 0}}}A_{A}^{{ - 1}}{{\mathcal{R}}_{{0 \to A}}}} \right\| \leqslant {{C}_{A}}\eta (\nu ).$
Выполняя достаточное количество сглаживающих итераций $\nu $, можно добиться сходимости линейного двухсеточного алгоритма, т.е. ${\text{|}}{\kern 1pt} {\text{|}}M{\text{|}}{\kern 1pt} {\text{|}} \leqslant {{C}_{A}}\eta (\nu ) < 1$, причем из (3) следует оценка
(8)
${{\rho }_{q}} \leqslant {{C}_{A}}\eta (\nu ) < 1,$
где ${{\rho }_{q}}$ есть коэффициент осредненного уменьшения нормы вектора невязки
${{\rho }_{q}} = \mathop {\left( {\frac{{\left\| {{{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(q)}}} \right\|}}{{\left\| {{{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(0)}}} \right\|}}} \right)}\nolimits^{1/q} ,$
который показывает среднее за $q$ итераций уменьшение нормы вектора невязки $\left\| {{{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(q)}}} \right\|$ (см. [9]). Поскольку правая часть неравенства (8) не зависит от шага сетки, то количество межсеточных итераций также не зависит от шага сетки.

Фактически, линейный двухсеточный алгоритм можно рассматривать как способ построения предобуславливающей матрицы ${{P}^{{ - 1}}} = A_{0}^{{ - 1}}(I - M)$, т.е.

${{P}^{{ - 1}}}{{A}_{0}}{{\varphi }_{0}} = {{P}^{{ - 1}}}{{{\mathbf{b}}}_{0}},$
где матрица $M$ определена согласно (4).

Наиболее трудоемкой частью итерации двухсеточного алгоритма (3) является обращение матрицы ${{A}_{A}}$, т.е. решение соответствующей СЛАУ. Вычислительная стоимость сглаживающей итерации на исходной сетке ${{G}_{0}}$ составит арифметических операций (ао), где ${{N}_{{{{G}_{0}}}}}$ есть количество узлов исходной сетки ${{G}_{0}}$, ${{N}_{M}}$ есть количество уравнений в системе (1), а ${{n}_{b}}$ – количество блоков неизвестных $1 \ll {{n}_{b}} \leqslant {{N}_{G}}{{N}_{M}}$. Трудоемкость обращения матрицы ${{A}_{A}}$ не должна превышать ао, $1 \ll {{n}_{b}} \leqslant {{N}_{G}}{{N}_{M}}$. Поскольку ${{N}_{{{{G}_{0}}}}} \approx {{N}_{{{{G}_{A}}}}}$, то вычислительная стоимость одной итерации двухсеточного алгоритма составит

Рассмотренный линейный двухсеточный алгоритм можно рассматривать как разновидность известного вычислительного приема, называемого коррекцией дефекта [2]. Если выполнены свойства сглаживания (5) и аппроксимации (6), то основной объем вычислительной работы приходится на обращение матрицы ${{A}_{A}}$, а итерации (3) сходятся к ${{\varphi }_{0}} = A_{0}^{{ - 1}}{{{\mathbf{b}}}_{0}}$. Это позволяет гибко изменять способ и порядок аппроксимации системы (1).

Трудоемкость метода вспомогательного пространства определяется выбором итерационного метода для решения вспомогательной СЛАУ

${{A}_{A}}{{{\mathbf{c}}}_{A}} = {{\mathcal{R}}_{{0 \to A}}}({{{\mathbf{b}}}_{0}} - {{A}_{0}}\varphi _{0}^{{(q)}}),$
где ${{{\mathbf{c}}}_{A}}$ есть поправка.

Численные методы решения краевых задач можно разделить на оптимизированные и робастные [5]. В оптимизированных алгоритмах необходимо адаптировать проблемно-зависимые компоненты к рассматриваемой проблеме, чтобы получить минимально возможную трудоемкость. Робастные алгоритмы пытаются построить так, чтобы компоненты не зависели от данной проблемы для единообразного решения большего класса задач. Основной областью применения робастных алгоритмов являются комплексы программ, устроенные по принципу “черного ящика” (black box software).

В конце 80-х годов прошлого века в теоретическом отделе лаборатории в Лос-Аламосе был описан многосеточный алгоритм (superconvergent multigrid), в котором несколько сеток использовано для отыскания поправки [10], [11]. Основная идея состояла в построении на грубых сетках более точной поправки для ускорения сходимости. В 90-м году аналогичный алгоритм (Robust Multigrid Technique) был предложен в Москве [12], но основная идея состояла в минимизации количества проблемно-зависимых компонентов для расширения класса задач, решаемых унифицированным образом [13]. Забавно, но дополнительные сетки были использованы для построения как оптимизированного, так и робастного алгоритмов.

Новизна предлагаемого подхода состоит в: 1) использовании вспомогательной структурированной сетки ${{G}_{A}}$ в методе вспомогательного пространства;

2) использовании универсальной многосеточной технологии (УМТ) для отыскания поправки на вспомогательной структурированной сетке ${{G}_{A}}$.

2. СГЛАЖИВАНИЕ НА ДВУХБЛОЧНЫХ СЕТКАХ

Пусть некоторая сетка ${{G}_{0}}$ образована ${{N}_{{{{G}_{0}}}}}$ узлами. Положим, что из сетки ${{G}_{0}}$ можно выделить подсетки ${{G}_{i}} \in {{G}_{0}}$, состоящие из ${{N}_{{{{G}_{i}}}}}$ узлов, такие, что

${{G}_{0}} = \bigcup\limits_{i = 1}^I \,{{G}_{i}}\quad {\text{и}}\quad {{G}_{n}} \cap {{G}_{m}} = \emptyset ,\quad n \ne m.$
Будем говорить, что совокупность всех подсеток ${{G}_{i}}$, $i = 1,2, \ldots ,I$, образует сеточный уровень, причем
$\sum\limits_{i = 1}^I \,{{N}_{{{{G}_{i}}}}} = {{N}_{{{{G}_{0}}}}},$
а исходная сетка ${{G}_{0}}$ образует нулевой сеточный уровень. Возможны различные варианты построения подсеток ${{G}_{i}}$, однако нас будут интересовать только те из них, которые позволят аппроксимировать исходную краевую задачу на сетках ${{G}_{i}}$ с наименьшей погрешностью.

Определение 1. Вычислительная сетка $G_{1}^{0}$ называется глобально-структурированной, если ее подсетки $G_{k}^{l}$, $l = 1,2, \ldots ,{{L}^{ + }}$, $k = 1,2, \ldots ,K$, обладают следующими свойствами.

Свойство 1. Каждая сетка $G_{k}^{l}$ ($l \ne {{L}^{ + }}$, где ${{L}^{ + }}$ – уровень с самыми грубыми подсетками) представима в виде объединения $K$ соответствующих ей грубых подсеток уровня $l + 1$. Как следствие, исходная сетка $G_{1}^{0}$ представима в виде объединения всех подсеток одного уровня $l$:

$G_{1}^{0} = \bigcup\limits_{k = 1}^K \,G_{k}^{l},\quad l = 0, \ldots ,{{L}^{ + }}.$

Свойство 2. Подсетки одного уровня $l$ не имеют общих точек, т.е.

$G_{n}^{l} \cap G_{m}^{l} = \emptyset ,\quad n \ne m,\quad l = 1, \ldots ,{{L}^{ + }}.$

Свойство 3. Каждый конечный объем на подсетках $G_{k}^{l}$ представим в виде объединения $K$ конечных объемов на исходной сетке $G_{1}^{0}$.

Совокупность всех вычислительных сеток будем называть многосеточной структурой.

Построение глобально-структурированной сетки требует трудоемких действий, связанных либо с отображением области, либо с численным решением (начально-)краевых задач для дифференциальных уравнений в частных производных различных типов. Менее трудоемкими являются разделение области на подобласти более простой формы и построение структурированных сеток в каждой из подобластей. Такие сетки будем называть локально-структурированными или многоблочными. Блоки могут иметь общую границу (фиг. 2) или пересекаться (фиг. 3). В общем случае необходимо интерполировать приближение к решению исходной краевой задачи между блоками сеток, что приводит к снижению скорости сходимости итерационного алгоритма и затрудняет распараллеливание итераций. Способ интерполяции зависит от гладкости коэффициентов и решения. В дальнейшем интерполяцию между блоками сетки будем называть локальной.

Фиг. 2.

Двумерная двухблочная сетка с общей границей.

Фиг. 3.

Двумерная двухблочная сетка с пересечением.

Положим, что область $\Omega $ представима в виде объединения подобластей ${{\Omega }_{k}}$, в каждой из которых возможно построение структурированной сетки $G_{k}^{h}$, однако их объединение ${{G}^{h}} = \bigcup\nolimits_{k = 1}^K {G_{k}^{h}} $ не является глобально структурированной сеткой. Сетки данного типа будут называться локально-структурированными или многоблочными.

Далее будет рассмотрен простейший случай $K = 2$, характерный пример показан на фиг. 2: область $\Omega $ состоит из двух подобластей ${{\Omega }_{1}}$ и ${{\Omega }_{2}}$, в каждой из которых построена равномерная структурированная сетка.

Рассмотрим линейную краевую задачу

(9a)
${{L}_{{{{\Omega }_{1}}}}}g({\mathbf{x}}) = {{f}_{{{{\Omega }_{1}}}}}({\mathbf{x}}),\quad {\mathbf{x}} \in {{\Omega }_{1}},$
(9б)
${{L}_{{{{\Omega }_{2}}}}}g({\mathbf{x}}) = {{f}_{{{{\Omega }_{2}}}}}({\mathbf{x}}),\quad {\mathbf{x}} \in {{\Omega }_{2}},$
Здесь ${\mathbf{x}} = {{({{x}_{1}}, \ldots ,{{x}_{d}})}^{{\text{T}}}}$ и $\Omega \in {{\mathbb{R}}^{d}}$ – заданная открытая область с границей $\partial \Omega $, ${{L}_{{{{\Omega }_{1}}}}}$ и ${{L}_{{{{\Omega }_{2}}}}}$ – эллиптические дифференциальные операторы, определенные в подобластях ${{\Omega }_{1}}$ и ${{\Omega }_{2}}$ соответственно, ${{f}_{{{{\Omega }_{1}}}}}$ и ${{f}_{{{{\Omega }_{2}}}}}$ обозначают данные функции на ${{\Omega }_{1}}$ и ${{\Omega }_{2}}$. На внешней границе $\partial \Omega $ области $\Omega $ заданы граничные условия
(9в)
${{L}_{{\partial \Omega }}}g({\mathbf{x}}) = {{f}_{{\partial \Omega }}}({\mathbf{x}}),\quad {\mathbf{x}} \in \partial \Omega ,$
а на внутренней границе $\partial {{\Omega }_{2}}$ заданы условия сопряжения

(9г)
${{L}_{{\partial {{\Omega }_{2}}}}}g({\mathbf{x}}) = {{f}_{{\partial {{\Omega }_{2}}}}}({\mathbf{x}}),\quad {\mathbf{x}} \in \partial {{\Omega }_{2}}.$

Построим в каждой из областей ${{\Omega }_{1}}$ и ${{\Omega }_{2}}$ вычислительные сетки ${{G}_{1}}$ и ${{G}_{2}}$ с шагами ${{h}_{1}}$ и ${{h}_{2}}$. Аппроксимация исходной дифференциальной задачи на двухблочной сетке, образованной сетками ${{G}_{1}}$ и ${{G}_{2}}$, приводит к СЛАУ следующего вида:

(10)
$\left( {\begin{array}{*{20}{c}} B&C \\ D&F \end{array}} \right)\left( {\begin{array}{*{20}{c}} {\mathbf{u}} \\ {\mathbf{v}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{{{\mathbf{b}}}_{{\mathbf{u}}}}} \\ {{{{\mathbf{b}}}_{{\mathbf{v}}}}} \end{array}} \right),$
где ${\mathbf{u}}$ и ${\mathbf{v}}$ суть дискретные аналоги функции $g$ на сетках ${{G}_{1}}$ и ${{G}_{2}}$ соответственно. Матрицы $C$ и $D$ в общем случае являются прямоугольными и ${{C}^{{\text{T}}}} \ne D$. Вид матриц $C$ и $D$ зависит от типа сеток ${{G}_{1}}$ и ${{G}_{2}}$, которые могут иметь общую границу или пересекаться.

Рассмотрим простейший итерационный метод для решения СЛАУ (10)

(11a)
(11б)
где ${{W}_{B}}$ и ${{W}_{F}}$ есть матрицы расщепления матриц $B$ и $F$.

Подставляя ${{{\mathbf{u}}}^{{(\nu + 1)}}}$ из (11а) в (11б), получаем

(12)
$\left( {\begin{array}{*{20}{c}} {{{{\mathbf{u}}}^{{(\nu + 1)}}}} \\ {{{{\mathbf{v}}}^{{(\nu + 1)}}}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{{S}_{B}}}&{ - W_{B}^{{ - 1}}C} \\ { - W_{F}^{{ - 1}}D{{S}_{B}}}&{\mathop {\tilde {S}}\nolimits_F } \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{{{\mathbf{u}}}^{{(\nu )}}}} \\ {{{{\mathbf{v}}}^{{(\nu )}}}} \end{array}} \right) + \left( \begin{gathered} W_{B}^{{ - 1}}{{{\mathbf{b}}}_{{\mathbf{u}}}} \\ W_{F}^{{ - 1}}{{{\mathbf{b}}}_{{\mathbf{v}}}} - W_{F}^{{ - 1}}DW_{B}^{{ - 1}}{{{\mathbf{b}}}_{u}} \\ \end{gathered} \right),$
где
$\begin{gathered} \mathop {\tilde {S}}\nolimits_F = I - W_{F}^{{ - 1}}(F - DW_{B}^{{ - 1}}C), \\ {{S}_{B}} = I - W_{B}^{{ - 1}}B. \\ \end{gathered} $
Уравнение (12) можно записать в каноническом виде:
(13)
${{\psi }^{{(\nu + 1)}}} = (I - {{\tilde {W}}^{{ - 1}}}A){{\psi }^{{(\nu )}}} + {{W}^{{ - 1}}}\tilde {A}{{A}^{{ - 1}}}{\mathbf{\tilde {b}}},$
где

$\psi = \left( {\begin{array}{*{20}{c}} \nu \\ {\mathbf{v}} \end{array}} \right),\quad \tilde {A} = \left( {\begin{array}{*{20}{c}} B&C \\ D&F \end{array}} \right) - \left( {\begin{array}{*{20}{c}} 0&0 \\ 0&{DW_{B}^{{ - 1}}} \end{array}} \right)\left( {\begin{array}{*{20}{c}} 0&0 \\ B&C \end{array}} \right),$
$W = \left( {\begin{array}{*{20}{c}} {{{W}_{B}}}&0 \\ 0&{{{W}_{F}}} \end{array}} \right),\quad {\mathbf{\tilde {b}}} = \left( {\begin{array}{*{20}{c}} I&0 \\ { - DW_{B}^{{ - 1}}}&I \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{{{\mathbf{b}}}_{{\mathbf{u}}}}} \\ {{{{\mathbf{b}}}_{{\mathbf{v}}}}} \end{array}} \right),\quad \tilde {W} = A{{\tilde {A}}^{{ - 1}}}W.$

Классический анализ сходимости многосеточных методов основан на свойствах сглаживания и аппроксимации [5]. К сожалению, наиболее изучен симметричный случай [8]. В несимметричном случае результаты получены лишь для сглаживателя с параметром [13]. Запишем (13) в виде

(14)
${{\psi }^{{(\nu + 1)}}} = S(\omega ){{\psi }^{{(\nu )}}} + {{W}^{{ - 1}}}\tilde {A}{{A}^{{ - 1}}}{\mathbf{\tilde {b}}},$
где $S(\omega )$ есть матрица сглаживающих итераций
$S(\omega ) = I - \frac{1}{{1 + \omega }}\mathop {\tilde {W}}\nolimits^{ - 1} A,$
а $\omega \geqslant 0$ есть некоторый параметр.

В несимметричном случае доказательство сглаживающих свойств основано на следующей лемме.

Лемма 1. Пусть для матрицы $Q \in {{\mathbb{R}}^{{n \times n}}}$ выполнено ${\text{|}}{\kern 1pt} {\text{|}}Q{\kern 1pt} {\text{|}}{\kern 1pt} {\text{|}} \leqslant 1$ в некоторой операторной норме и $3 - 2\sqrt 2 \leqslant \omega \leqslant 3 + 2\sqrt 2 $. Тогда в той же норме справедливо

(15)
$\frac{1}{{{{{(1 + \omega )}}^{{\nu + 1}}}}}\left\| {(I - Q){{{(\omega I + Q)}}^{\nu }}} \right\| \leqslant \frac{1}{{\sqrt {e\omega \nu } }},\quad \nu = 1,2, \ldots \;.$
Доказательство леммы приведено в [13].

Тогда справедлива следующая лемма о сглаживающих свойствах.

Лемма 2. Пусть для матрицы сглаживающих итераций $S(0) \in {{\mathbb{R}}^{{n \times n}}}$ выполнено ${\text{|}}{\kern 1pt} {\text{|}}S(0){\kern 1pt} {\text{|}}{\kern 1pt} {\text{|}} < 1$ и ${\text{|}}{\kern 1pt} {\text{|}}\tilde {W}{\kern 1pt} {\text{|}}{\kern 1pt} {\text{|}} \leqslant C{\kern 1pt} {\text{|}}{\kern 1pt} {\text{|}}A{\kern 1pt} {\text{|}}{\kern 1pt} {\text{|}}$ в некоторой операторной норме и $C$ есть некоторая константа. Тогда в той же норме при $3 - 2\sqrt 2 \leqslant \omega \leqslant 3 + 2\sqrt 2 $ справедливо:

а)

(16)
$\left\| {A{{S}^{\nu }}(\omega )} \right\| \leqslant C\frac{{1 + \omega }}{{\sqrt {e\omega \nu } }}\left\| A \right\|.$

б)

(17)
$\left\| {{{r}^{{(\nu )}}}} \right\| \leqslant C\frac{{1 + \omega }}{{\sqrt {e\omega \nu } }}\left\| A \right\| \cdot \left\| {{\text{|}}{{\psi }^{{(0)}}} - \psi } \right\| \leqslant C\frac{{1 + \omega }}{{\sqrt {e\omega \nu } }}\operatorname{cond} (A)\left\| {{{r}^{{(0)}}}} \right\|,$
где ${{r}^{{(\nu )}}} = {\mathbf{\tilde {b}}} - \tilde {A}{{\psi }^{{(\nu )}}}$ есть невязка $\nu $-го приближения ${{\psi }^{{(\nu )}}}$ к решению $\psi = {{\tilde {A}}^{{ - 1}}}{\mathbf{\tilde {b}}}$.

Доказательство. 1) с учетом (15) нетрудно получить

$\left\| {A{{S}^{\nu }}(\omega )} \right\| \leqslant \frac{1}{{{{{(1 + \omega )}}^{{\nu + 1}}}}}\left\| {(I - S(0)){{{(\omega I + S(0))}}^{\nu }}} \right\| \cdot (1 + \omega )\left\| {\tilde {W}} \right\| \leqslant \frac{{1 + \omega }}{{\sqrt {e\omega \nu } }}\left\| {\tilde {W}} \right\|,$
откуда следует (16);

2) для точного решения (14) справедливо

${{\psi }^{{(\nu )}}} - \psi = {{S}^{\nu }}(\omega )({{\psi }^{{(0)}}} - \psi ).$
Откуда, домножая на матрицу $A$, следует, что
$ - {{r}^{{(\nu )}}} = A{{S}^{\nu }}(\omega )({{\psi }^{{(0)}}} - \psi ).$
Далее, учитывая (16), нетрудно получить (17).

Тем не менее традиционный подход к доказательству свойства сглаживания в несимметричном случае, основанный на оценках типа (15), является достаточно грубым: например, не симметризованный метод Зейделя обладает свойством сглаживания, что не следует из (16) при $\omega = 0$. Поэтому нужны дополнительные исследования случая $\omega \to 0$.

Данный подход легко обобщить на случай $K > 2$, т.е. если количество блоков сетки больше двух.

3. МНОГОСЕТОЧНЫЕ ИТЕРАЦИИ НА ДВУХБЛОЧНЫХ СЕТКАХ

Сходимость односеточной УМТ проще анализировать в предположении, что сглаживание осуществляют на многосеточной структуре – особой последовательности подсеток самой мелкой сетки [13]. На самом деле, многосеточная структура используется лишь для аппроксимации $\Sigma $-модифицированной краевой задачи (9) интегроинтерполяционным методом. Тогда разностная краевая задача может быть записана в матричной форме:

(18)
${{A}_{l}}{{{\mathbf{c}}}_{{\mathbf{l}}}} = {{\mathbb{R}}_{{0 \to l}}}{{{\mathbf{r}}}_{0}},\quad l = 0,1, \ldots ,L_{3}^{ + },$
где матрица коэффициентов ${{A}_{l}}$ имеет вид
${{A}_{l}} = \left( {\begin{array}{*{20}{c}} {{{B}_{l}}}&{{{C}_{l}}} \\ {{{D}_{l}}}&{{{F}_{l}}} \end{array}} \right).$
Матрицы ${{B}_{l}}$, ${{C}_{l}}$, ${{D}_{l}}$ и ${{F}_{l}}$ имеют блочно диагональную форму, причем количество блоков на главной диагонали равно количеству сеток, образующих данный сеточный уровень – ${{3}^{{dl}}}$, d = 2, 3, l = = 0, 1, …, $L_{3}^{ + }$, где $L_{3}^{ + }$ есть номер сеточного уровня, состоящий из самых грубых сеток, построенных утроением шага. Векторы неизвестных ${{{\mathbf{c}}}_{{\mathbf{l}}}}$ и ${{{\mathbf{r}}}_{0}}$ имеют вид
${{{\mathbf{c}}}_{{\mathbf{l}}}} = \left( {\begin{array}{*{20}{c}} {{\mathbf{c}}_{{\mathbf{l}}}^{{\mathbf{u}}}} \\ {{\mathbf{c}}_{{\mathbf{l}}}^{{\mathbf{v}}}} \end{array}} \right),\quad {{{\mathbf{r}}}_{0}} = \left( {\begin{array}{*{20}{c}} {{\mathbf{r}}_{0}^{{\mathbf{u}}}} \\ {{\mathbf{r}}_{0}^{{\mathbf{v}}}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{{{\mathbf{b}}}_{{\mathbf{u}}}} - {{B}_{0}}{{{{\mathbf{\hat {u}}}}}^{{(q)}}} - {{C}_{0}}{{{{\mathbf{\hat {v}}}}}^{{(q)}}}} \\ {{{{\mathbf{b}}}_{{\mathbf{v}}}} - {{D}_{0}}{{{{\mathbf{\hat {u}}}}}^{{(q)}}} - {{F}_{0}}{{{{\mathbf{\hat {v}}}}}^{{(q)}}}} \end{array}} \right).$
Здесь $q$ есть номер многосеточной итерации, ${\mathbf{c}}_{0}^{{\mathbf{u}}}$ и ${\mathbf{c}}_{0}^{{\mathbf{v}}}$ есть поправки к приближению к решению ${\mathbf{\hat {u}}}$ и ${\mathbf{\hat {v}}}$ на  сетках ${{G}_{1}}$  и ${{G}_{2}}$   соответственно.  Нижний индекс $l$ указывает на принадлежность к сеточному  уровню  $l$,  причем $l = 0$ есть самая мелкая сетка. Оператор сужения (restriction operator) проецирует вектор невязок ${{{\mathbf{r}}}_{0}}$ с самых мелких сеток ${{G}_{1}}$ и ${{G}_{2}}$ ($l = 0$) на сетки уровня $l = 0,1, \ldots ,L_{3}^{ + }$. Очевидно, что . Оператор сужения УМТ не зависит от решаемой задачи, а его конструкция однозначно определяется свойством аддитивности определенного интеграла относительно подобластей [13].

Сглаживающие итерации (13) на многосеточной структуре, порожденной двухблочной сеткой, могут быть записаны в виде

(19)
${\mathbf{c}}_{l}^{{({{\nu }_{l}} + 1)}} = {{S}_{l}}({{\omega }_{l}}){\mathbf{c}}_{l}^{{({{\nu }_{l}})}} + W_{l}^{{ - 1}}\mathcal{R}_{{0 \to l}}^{*}{{{\mathbf{r}}}_{0}},$
где

${{S}_{l}}({{\omega }_{l}}) = I - \frac{1}{{1 + {{\omega }_{l}}}}W_{l}^{{ - 1}}{{\tilde {A}}_{l}},$
${{\tilde {A}}_{l}} = \left( {\begin{array}{*{20}{c}} {{{B}_{l}}}&{{{C}_{l}}} \\ {{{D}_{l}}}&{{{F}_{l}}} \end{array}} \right) - \left( {\begin{array}{*{20}{c}} 0&0 \\ 0&{{{D}_{l}}W_{{{{B}_{l}}}}^{{ - 1}}} \end{array}} \right)\left( {\begin{array}{*{20}{c}} 0&0 \\ {{{B}_{l}}}&{{{C}_{l}}} \end{array}} \right),$

В УМТ используют пилообразный цикл (т.е. V-цикл без предварительного сглаживания [9]). После выполнения сглаживания на всех сетках уровня $l + 1$ осуществляют переход к более мелким сеткам уровня $l$

где есть проблемно-независимый оператор пролонгации УМТ (перестановочная матрица), т.е. пролонгированное значение поправки с соседнего уровня с более грубыми сетками $l + 1$ принимают в качестве начального приближения для сглаживающих итераций на сетках уровня $l$ [13]. На уровне с самыми грубыми сетками $L_{3}^{ + }$ СЛАУ (18) решают точно.

Тогда из (19) нетрудно получить

${{{\mathbf{c}}}_{{\mathbf{l}}}} - \mathop {{{{\mathbf{c}}}_{{\mathbf{l}}}}}\nolimits^{(0)} = {{\mathcal{P}}_{{l + 1 \to l}}}({{{\mathbf{c}}}_{{\mathbf{l}}}} - {\mathbf{c}}_{l}^{{({{\nu }_{l}} + 1)}}) + {{d}_{l}}\mathcal{R}_{{0 \to l}}^{*}{{{\mathbf{r}}}_{0}},$
где ${{{\mathbf{c}}}_{{\mathbf{l}}}} = A_{l}^{{ - 1}}{{\mathcal{R}}_{{0 \to l}}}{{{\mathbf{r}}}_{0}}$ есть точное значение поправки, а ${{d}_{l}}$ есть матрица вида
(20)
${{d}_{l}} = A_{l}^{{ - 1}} - {{\mathcal{P}}_{{l + 1 \to l}}}A_{{l + 1}}^{{ - 1}}\mathcal{R}_{{l \to l + 1}}^{*}.$
Исследуя разность между точным и приближенным значением поправки на уровнях $l = L_{3}^{ + }, \ldots ,1,0$, получаем
${{{\mathbf{c}}}_{l}} - {\mathbf{c}}_{l}^{{({{\nu }_{l}})}} = {{Q}_{l}}(\mathcal{R}_{{0 \to l}}^{*}{{{\mathbf{r}}}_{0}} - {{A}_{l}}{{{\mathbf{c}}}_{{\mathbf{l}}}}),$
где матрица ${{Q}_{l}}$ определена реккурентным образом:

(21)
${{Q}_{l}} = \left\{ \begin{gathered} S_{l}^{{{{\nu }_{l}}}}({{\omega }_{l}})({{d}_{l}}\mathcal{R}_{{0 \to l}}^{*} + {{\mathcal{P}}_{{l + 1 \to l}}}{{Q}_{{l + 1}}}),\quad l = 0,1,2, \ldots ,L_{3}^{ + } - 2, \hfill \\ S_{l}^{{{{\nu }_{l}}}}({{\omega }_{l}}){{d}_{l}}\mathcal{R}_{{0 \to l}}^{*},\quad l = L_{3}^{ + } - 1. \hfill \\ \end{gathered} \right.$

Значение поправки после выполнения многосеточной итерации УМТ составит

${\mathbf{c}}_{0}^{{({{\nu }_{0}})}} = {{{\mathbf{c}}}_{0}} - {{Q}_{0}}{{{\mathbf{r}}}_{0}} = (A_{0}^{{ - 1}} - {{Q}_{0}})(\mathcal{R}_{{0 \to l}}^{*}{{{\mathbf{r}}}_{0}} - {{A}_{l}}{{{\mathbf{c}}}_{{\mathbf{l}}}}).$
Тогда нетрудно получить новое приближение к решению
(22)
${{\psi }^{{(q + 1)}}} = {{\psi }^{{(q)}}} + {\mathbf{c}}_{0}^{{({{\nu }_{0}})}} = {{Q}_{0}}{{A}_{0}}{{\psi }^{{(q)}}} + (A_{0}^{{ - 1}} - {{Q}_{0}})\mathcal{R}_{{0 \to l}}^{*}{{{\mathbf{r}}}_{0}},$
т.е. матрица многосеточной итерации на многосеточной структуре, порожденной двухблочной сеткой, есть ${{Q}_{0}}{{\tilde {A}}_{0}}$.

Классический анализ сходимости многосеточных методов основан на следующих утверждениях [8].

1. Свойство сглаживания: существует функция $\eta ({{\nu }_{l}}):{{\mathbb{R}}_{ + }} \to {{\mathbb{R}}_{ + }}$ такая, что $\eta ({{\nu }_{l}}) \to 0$ при ${{\nu }_{l}} \to \infty $ и

(23)
$\left\| {{{A}_{l}}S_{l}^{{{{\nu }_{l}}}}} \right\| \leqslant \eta ({{\nu }_{l}})\left\| {{{A}_{l}}} \right\|,\quad l = 0,1, \ldots ,{{L}^{ + }}.$

2. Свойство аппроксимации: для некоторой константы ${{C}_{A}} > 0$

(24)
$\left\| {{{d}_{l}}} \right\|{\text{|}} = \left\| {A_{l}^{{ - 1}} - {{\mathcal{P}}_{{l + 1 \to l}}}A_{{l + 1}}^{{ - 1}}\mathcal{R}_{{l \to l + 1}}^{*}} \right\| \leqslant {{C}_{A}}{{\left\| {{{A}_{l}}} \right\|}^{{ - 1}}},\quad l = 0,1, \ldots ,{{L}^{ + }} - 1.$

Заметим, что из (16) следует

(25)
$\eta ({{\nu }_{l}}) = C\frac{{1 + {{\omega }_{l}}}}{{\sqrt {e{{\omega }_{l}}{{\nu }_{l}}} }}\left\| {{{A}_{l}}} \right\|.$

Перепишем (22) в виде

${\mathbf{r}}_{0}^{{(q + 1)}} = {{A}_{0}}{{Q}_{0}}{\mathbf{r}}_{0}^{{(q)}}.$

Тогда справедлива следующая теорема о сходимости УМТ.

Теорема. Предположим, что выполнены свойства сглаживания (23) и аппроксимации (24), а так же $\left\| {I - \tilde {W}_{l}^{{ - 1}}{{A}_{l}}} \right\| < 1$, $\left\| {\mathcal{R}_{{0 \to l}}^{*}} \right\| \leqslant {{C}_{\mathcal{R}}}$ и $3 - 2\sqrt 2 \leqslant {{\omega }_{l}} \leqslant 3 + 2\sqrt 2 $. Тогда многосеточные итерации УМТ сходятся, причем

(26)
$\left\| {{{A}_{0}}{{Q}_{0}}} \right\| \leqslant {{C}_{A}}C{{C}_{\mathcal{R}}}\sum\limits_{l = 0}^{L_{3}^{ + } - 1} \,C_{*}^{l}\frac{{1 + {{\omega }_{l}}}}{{\sqrt {e{{\omega }_{l}}{{\nu }_{l}}} }}.$

Доказательство. Из (21) следует оценка

(27)
$\left\| {{{A}_{0}}{{Q}_{0}}} \right\| \leqslant \left\| {{{A}_{0}}S_{0}^{{{{\nu }_{0}}}}({{\omega }_{0}}){{d}_{0}}} \right\| + \sum\limits_{l = 1}^{L_{3}^{ + } - 1} \,\prod\limits_{k = 0}^{l - 1} \,\left\| {{{A}_{k}}S_{k}^{{{{\nu }_{k}}}}({{\omega }_{k}}){{\mathcal{P}}_{{k + 1 \to k}}}A_{{k + 1}}^{{ - 1}}} \right\| \cdot \left\| {{{A}_{l}}S_{l}^{{{{\nu }_{l}}}}({{\omega }_{l}}){{d}_{l}}} \right\| \cdot \left\| {\mathcal{R}_{{0 \to l}}^{*}} \right\|.$
Используя свойства сглаживания (23), (25) и аппроксимации (24), получаем
(28)
$\left\| {{{A}_{l}}S_{l}^{{{{\nu }_{l}}}}({{\omega }_{l}}){{d}_{l}}} \right\| \leqslant \left\| {{{A}_{l}}S_{l}^{{{{\nu }_{l}}}}({{\omega }_{l}})} \right\| \cdot \left\| {{{d}_{l}}} \right\| \leqslant {{C}_{A}}C\frac{{1 + {{\omega }_{l}}}}{{\sqrt {e{{\omega }_{l}}{{\nu }_{l}}} }},\quad l = 0,1,2, \ldots ,L_{3}^{ + } - 1.$
Далее очевидно следующее неравенство:
(29)
$\left\| {{{A}_{k}}S_{k}^{{{{\nu }_{k}}}}({{\omega }_{k}}){{\mathcal{P}}_{{k + 1 \to k}}}A_{{k + 1}}^{{ - 1}}} \right\| \leqslant {{C}_{*}}\left\| {{{A}_{k}}S_{k}^{{{{\nu }_{k}}}}({{\omega }_{k}})A_{k}^{{ - 1}}} \right\| \leqslant {{C}_{*}},$
где ${{C}_{*}}$ есть некоторая константа. Тогда оценка (27), с учетом (28) и (29), принимает вид (26).

Доказанная теорема показывает, что сходимость УМТ не зависит ни от шага двухблочной сетки, а определяется только количеством сглаживающих итераций ${{\nu }_{l}}$, выполняемых на сетках уровней $l$. Выполняя достаточное количество сглаживающих итераций, можно добиться, что $\left\| {{{A}_{0}}{{Q}_{0}}} \right\| < 1$ (достаточное условие сходимости).

Полученные результаты легко обобщить на многоблочные сетки с количеством блоков больше двух.

4. ВЫЧИСЛИТЕЛЬНЫЕ ЭКСПЕРИМЕНТЫ

В качестве модельной выбрана трехмерная задача Дирихле для уравнения Пуассона

$\Delta w = - f$
в единичном кубе $\Omega $. Точное решение выбрано в виде
${{w}_{e}}(x,y,z) = exp(x + y + z).$
Данное точное решение определяет правую часть $f$ и граничные условия.

Построим в области $\Omega $ равномерную сетку $G$. Разностный аналог исходной краевой задачи, полученный посредством аппроксимации на семиточечном шаблоне, запишем в матричной форме:

$A{{{\mathbf{w}}}^{h}} = {{{\mathbf{b}}}^{h}}.$

Первый тест предназначен для численного решения модельной краевой задачи в единичном кубе $\Omega $ (т.е. без разделения области на подобласти). После каждой многосеточной итерации $q$ вычислены норма вектора невязки $R = {{\left\| {{{{\mathbf{b}}}^{h}} - A{{{\mathbf{w}}}^{h}}} \right\|}_{\infty }}$ и ошибка численного решения $E = \mathop {max}\limits_{ijk} \left| {{{w}_{e}}({{x}_{i}},{{y}_{j}},{{z}_{k}}) - w_{{ijk}}^{h}} \right|$. Критерием останова многосеточных итераций выбрано условие $R < {{10}^{{ - 6}}}$. Результаты первого теста использованы для иллюстрации возможного уменьшения скорости сходимости многосеточных итераций УМТ, вызванного разбиением области $\Omega $ на две подобласти.

Второй тест предназначен для численного решения модельной краевой задачи на двухблочной сетке, построенной в единичном кубе $\Omega $. Равномерная сетка $G$ разделена на два блока ${{G}_{1}}$ и ${{G}_{2}}$ по плоскости $x = 0.5$. Пример разделения в 2D случае показан на фиг. 4. После каждой многосеточной итерации $q$ вычислены норма вектора невязки ${{R}_{{21}}} = {{\left\| {{{{\mathbf{b}}}^{h}} - \tilde {A}{{{\mathbf{w}}}^{h}}} \right\|}_{\infty }}$ и ошибка численного решения ${{E}_{{21}}} = \mathop {max}\limits_{ijk} \left| {{{w}_{e}}({{x}_{i}},{{y}_{j}},{{z}_{k}}) - w_{{ijk}}^{h}} \right|$ на сетке ${{G}_{1}}$, и ${{R}_{{22}}} = {{\left\| {{{{\mathbf{b}}}^{h}} - \tilde {A}{{{\mathbf{w}}}^{h}}} \right\|}_{\infty }}$ и ${{E}_{{22}}} = \mathop {max}\limits_{ijk} \left| {{{w}_{e}}({{x}_{i}},{{y}_{j}},{{z}_{k}}) - w_{{ijk}}^{h}} \right|$ на сетке ${{G}_{2}}$. Критерием останова многосеточных итераций выбрано условие ${\text{max}}({{R}_{{21}}};{{R}_{{22}}}) < {{10}^{{ - 6}}}$. Сглаживание осуществляется попеременно на подсетках сеток ${{G}_{1}}$ и ${{G}_{2}}$.

Фиг. 4.

2D двухблочная сетка: блок ${{G}_{1}}$ ($\bigcirc $) и блок ${{G}_{2}}$ ($ \bullet $).

Третий тест отличается от второго только сглаживанием: сначала сглаживающие итерации выполняют на подсетках сетки ${{G}_{1}}$, потом на подсетках сетки ${{G}_{2}}$. После каждой многосеточной итерации $q$ вычислены норма вектора невязки ${{R}_{{31}}} = {{\left\| {{{{\mathbf{b}}}^{h}} - \tilde {A}{{{\mathbf{w}}}^{h}}} \right\|}_{\infty }}$ и ошибка численного решения ${{E}_{{31}}} = \mathop {max}\limits_{ijk} \left| {{{w}_{e}}({{x}_{i}},{{y}_{j}},{{z}_{k}}) - w_{{ijk}}^{h}} \right|$ на сетке ${{G}_{1}}$, и ${{R}_{{32}}} = {{\left\| {{{{\mathbf{b}}}^{h}} - \tilde {A}{{{\mathbf{w}}}^{h}}} \right\|}_{\infty }}$ и ${{E}_{{32}}} = \mathop {max}\limits_{ijk} \left| {{{w}_{e}}({{x}_{i}},{{y}_{j}},{{z}_{k}}) - w_{{ijk}}^{h}} \right|$ на сетке ${{G}_{2}}$. Критерием останова многосеточных итераций выбрано условие ${\text{max}}({{R}_{{31}}};{{R}_{{32}}}) < {{10}^{{ - 6}}}$.

В качестве сглаживателя выбран метод Зейделя с упорядочением неизвестных в блоки $3 \times 3 \times 3$. Вычисления проведены на сетках $101 \times 101 \times 101$ (${{h}_{x}} = {{h}_{y}} = {{h}_{z}} = 1{\text{/}}100$) и $301 \times 301 \times 301$ (${{h}_{x}} = {{h}_{y}} = {{h}_{z}} = 1{\text{/}}300$).

Результаты вычислительного эксперимента показаны на фиг. 5 и 6. При надлежащей организации сглаживания (второй тест) сходимость УМТ на двухблочной сетке практически не отличается от сходимости на моноблочной сетке (первый тест). Выполнение сглаживания последовательно на каждом блоке приводит к замедлению сходимости УМТ.

Фиг. 5.

Сходимость УМТ на сетке $101 \times 101 \times 101$.

Фиг. 6.

Сходимость УМТ на сетке $301 \times 301 \times 301$.

ЗАКЛЮЧЕНИЕ

Результаты выполненного теоретического анализа и проведенных вычислительных экспериментов показывают, что при надлежащей организации сглаживания количество многосеточных итераций не зависит ни от величины шага, ни от количества блоков сетки. Однако в теоретическом анализе сходимости многосеточных методов еще остаются пробелы, связанные, в частности, с доказательством свойства сглаживания для несимметричных итерационных методов, использующих блочное упорядочение неизвестных.

Список литературы

  1. Ильин В.П. Математическое моделирование. Ч. 1. Непрерывные и дискретные модели. Новосибирск: Изд-во СО РАН. 2017.

  2. Trottenberg U., Oosterlee C.W., Schüller A. Multigrid. London: Academic Press, 2001.

  3. Brandt A., McCormick S.F., Ruge J. Algebraic multigrid (AMG) for automatic multigrid solution with application to geodetic computations. Institute for Computational Studies, Fort Collins, Colorado, 1982.

  4. Xu J. The auxiliary space method and optimal multigrid preconditioning techniques for unstructured meshes // Computing. 1996. V. 56. P. 215–235.

  5. Hackbusch W. Multi-grid methods and applications. Berlin: Springer, 1985.

  6. Vanka S.P. Block-Implicit Multigrid Solution of Navier–Stokes Equations in Primitive Variables // J. Comput. Phys. 1986. V. 65. № 1. P. 138–158.

  7. Hageman L.A., Young D.M. Applied Iterative Methods. International Series of Numerical Mathematics. New York: Academic Press, 1981.

  8. Ольшанский М.А. Лекции и упражнения по многосеточным методам. М.: Физматлит, 2005.

  9. Wesseling P. An introduction to multigrid methods. Chichester: Wiley, 1992.

  10. Frederickson P.O., McBryan O.A. Parallel superconvergent multigrid. Multigrid Methods: Theory, Applications and Supercomputing (ed. S. McCormick). 195–210. Marcel Dekker, New York, 1988.

  11. Frederickson P.O., McBryan O.A. Recent developments for the PSMG multiscale method. Multigrid Methods III, Proceedings of the 3rd International Conference on Multigrid Methods (eds W. Hackbusch and U. Trottenberg). 21–40. Birkhauser, Basle, 1991.

  12. Мартыненко С.И. Последовательное программное обеспечение для универсальной многосеточной технологии. М.: Триумф, 2020. https://github.com/simartynenko/Robust_Multigrid_Technique_2020

  13. Martynenko S.I. The robust multigrid technique: For black-box software. Berlin: De Gruyter, 2017.

Дополнительные материалы отсутствуют.

Инструменты

Журнал вычислительной математики и математической физики