Научная статья на тему 'Оценки эффективности прямого метода декомпозиции'

Оценки эффективности прямого метода декомпозиции Текст научной статьи по специальности «Математика»

CC BY
102
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук

Аннотация научной статьи по математике, автор научной работы — Свешников В. М.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Свешников В. М.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Estimations of the direct decomposition method efficiency

Estimations of labor costs and volume of saved information for a realization of the algorithm based on a direct decomposition method proposed by the author are given. The results of numerical experiments suggest that the algorithm is robust. Basic properties of the proposed approach are listed in the conclusion.

Текст научной работы на тему «Оценки эффективности прямого метода декомпозиции»

Вычислительные технологии

Том 13, № 4, 2008

Оценки эффективности

*

прямого метода декомпозиции

В. М. СВЕШНИКОВ Институт вычислительной математики и математической геофизики СО РАН, Новосибирск, Россия e-mail: victor@lapasrv.sscc.ru

Estimations of labor costs and volume of saved information for a realization of the algorithm based on a direct decomposition method proposed by the author are given. The results of numerical experiments suggest that the algorithm is robust. Basic properties of the proposed approach are listed in the conclusion.

Введение

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

1. Постановка задачи и краткое описание алгоритма ее решения

Приведем основные сведения о рассматриваемом алгоритме, которые необходимы для дальнейшего изложения.

Пусть в замкнутой двумерной области G = G U Г с границей Г требуется решить краевую задачу

A u = gi, lu\r = g2. (1)

Здесь u = u(T) — искомая функция; gi = gi(T), g2 = g2(T) — заданные функции (T = (x, y) — текущая точка, где x, y — декартовы координаты); A — оператор Лапласа; l — оператор граничных условий.

Опишем вокруг расчетной области прямоугольник R = {0 < x < Dx, 0 < y < Dy}, где Dx, Dy — заданы (G С R). Построим в R прямоугольную равномерную макросетку

Пи = {Xj = IHx, Yj = JHy, I = 0Ж, J = 0~Ny, Hx = D, Hy = f} ,

где Nx,Ny — заданные целые числа с шагами Hx,Hy >> h (h — максимальный шаг сетки, на которой аппроксимируется задача (1)). Тем самым мы фактически проводим

* Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 08-01-00526).

© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2008.

декомпозицию расчетной области О на непустые подобласти О к = О^] = О П Я1 , = 0, к = 1,К, где Я1 , — открытая прямоугольная подобласть, представляющая собой макроэлемент сетки Пя; К — известное целое число, которое определяется геометрией О, (цифрой 0 в данном случае обозначена пустая подобласть). Точки Тр = Т1 ,] £ О, р = 1,Р, пересечения координатных линий х = XI, у = У] макросетки назовем макроузлами. Граница сопряжения подобластей, которую мы обозначим через 7, состоит из отрезков координатных линий макросетки Пя. Среди О к будем различать подобласти двух типов: внутренние О^ и граничные О^ (рис. 1). Различие между ними состоит в том, что замыкание граничной подобласти содержит отрезки границы Г, а внутренней — не содержит их. На рис. 1 внутренние подобласти ограничены сплошными линиями, а граничные — штриховыми. Обозначим через К1, К2 — соответственно число внутренних и число граничных подобластей (К1 + К2 = К) и М1,М2 — множества номеров (значений индекса к) соответственно внутренних и граничных подобластей. Пусть 7к С 7 — отрезок границы подобласти О к. Если рассматриваемая подобласть внутренняя (Ок = О^), то вся ее граница совпадает с 7к, а если — граничная (Ок = Ок), то помимо 7к ее граница включает Гк — отрезок границы Г.

В замкнутых макроэлементах Ик = построим равномерные прямоугольные под-сетки

1 н,к = {хгк = Хх + гк кх,к, У]к = У] + Зк ку,к, г к = 0, их,к, Зк = 0, Пу,к} Х1+1 - Х1 , У]+1 - У]

с шагами пх,к = -, иу,к = -, причем будем предполагать без суще-

пх,к пу,к

ственного ограничения общности, что пх,к = 2тх-к, пу,к = 2тук, где тх,к, ту,к > 0 — целые числа. По аналогии с подобластями будем различать подсетки двух типов —

О(1) О(2)

внутренние °н к и граничные °н к.

Решение исходной задачи (1) будем искать на результирующей сетке

к

1 н = и 1 н, к ■ (2)

к=1

Кроме рассмотренных выше, введем сетку шн С °н, шн = {(хг,уг) £ (хг,Уг) = Тр, г = 1, п}, где (хг, уг) — узлы °н, а также подсетки шн,к, состоящие из узлов шн, лежащих на 7к (п — известно). Подчеркнем что в шн, шн,к не входят макроузлы Тр.

Рис. 1. Декомпозиция расчетной области

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

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

Алгоритм решения краевой задачи (1) на построенной таким образом квазиструктурированной сетке включает в себя три этапа:

1) построение системы линейных алгебраических уравнений (СЛАУ) относительно искомой функции на границе сопряжения подобластей;

2) решение данной системы;

3) вычисление искомой функции в макроузлах и подобластях.

Запишем СЛАУ первого этапа в виде

Аун + Ь = 0.

(3)

Здесь А = {а^} — квадратная невырожденная матрица, Ь = {Ьг}, Ун = {Ун,г} — векторы (г,] = 1,п). Компоненты вектора Ун есть значения искомой функции в узлах сетки шь, расчет А, Ь рассмотрен ниже.

Вычисление элементов Ьг, аосновано на решении вспомогательных подзадач в подобластях Ок вида

(к) I (з,к)

дг Фн

у(к) '1,3 ,

е(з'к), к е Иг

(4)

оШ

на внутренних подсетках О^к и подзадач

д(к) Ф}(3'к) = г(к) 1(к) Ф дн фн = , ф,

](к) Ф(з,к) фн

Гк

= (к) = Х2,3 ,

е(зк, к е И2,

(5)

на граничных подсетках П^к, где ] = 0, п. Здесь операторы Д^', — аппроксимации

(к) (к)

оператора Лапласа и оператора граничных условий на данных подсетках, величины г, имеют вид

(к) г,3

(к) Г 0, ] > о, ^=1 ¿% ] = 0,

г = 1, 2,

где д^Н — аппроксимации функций дг в узлах к-й подсетки, а функции (векторы) е(3'к) определяются как

о(3,к)

0, ] = 0,

е(з'к)(Тг) = , Тг е , ]> 0,

где 5гз — символ Кронекера. То есть на каждой подсетке Пн,к решаются подзадачи (4) и (5) двух видов: 1) относительно функций с нулевыми значениями на подсетке шн,,к

и 2) серии подзадач относительно функций ф^'к), 3 > 0, в каждой из которых данная функция поочередно полагается равной единице в одном из узлов подсетки шь,к и нулю — в остальных.

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

Д^ = 0, а™Т) = Т, е 7с, (6)

на самой густой подсетке П^к = П^О. Здесь 70 — граница внутренней подобласти е

Ко, в которой построена подсетка П^О, а V, ^ — номера узлов подсетки шь,0 — проекции

П(10 на 70 (без макроузлов).

Если в к-й внутренней подобласти подсетка П^к совпадает с подсеткой П^О, то

= а^. Если же это не так и подсетка П^к более редкая по сравнению с П(10, то требуемые функции вычисляются согласно следующему принципу. Для простоты его изложения предположим, что в исходной задаче (1) д1 = 0, что не вносит ограничений на проводимые рассуждения. Тогда решение задачи (1) в рассматриваемой подобласти

0( 1) ^ (V)

на густой подсетке П^О можно записать в виде суммы ) ^ аЬ , а на редкой подо

сетке ПЫ — как У] Ф^^Уьу, где номера V' относятся к редкой подсетке ш' (по

построению подсеток они совпадают с подмножеством номеров густой подсетки шь,0). Исключим из первой суммы величины Уиу в несовпадающих узлах V" при помощи интерполяции, построенной по совпадающим узлам V'. Тогда, сравнивая получившееся выражение со второй суммой, найдем величины фЬ в совпадающих узлах V .

Из соображений симметрии базовые подзадачи (6) решаются лишь для узлов, лежащих на половинах двух смежных сторон подобласти К0.

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

В узлах сетки шь вычисляются суммы разностных аналогов нормальных производных от вспомогательных решений по формуле

№ = (Ч+)фЦ,+))г + {А-)Ф{Г])г, * = 1^, з = м, (7)

где под нормалью понимается внутренняя нормаль п± к границе сопряжения (рис. 2);

) — линейные операторы, определяющие конкретные схемы; индексы "+" "—" обозначают операторы и функции по разные стороны от границы сопряжения. Вычисленные величины выражаются через компоненты Ьг вектора Ь и элементы аг,л матрицы А как

Л) _ Г Ьг, 3 = 0,

Л ={ п * =1,П- (8)

I агл , з > 0, '

Диагональный элемент аг,г соответствует г-му узлу сетки шь. Пусть он лежит на отрезке 2 границы сопряжения двух внутренних подобластей С+), (рис. 2, а). Каждая

Рис. 2. К расчету элементов матрицы А: а — внутренние области; б — граничные подобласти

а

строка матрицы А, в том числе и ¿-я строка, содержит п элементов, соответствующих всем узлам сетки шь; отличными от нуля в ¿-й строке будут только элементы, соответствующие узлам, лежащим на отрезках 1-7 границ подобластей С-1^ Аналогичная ситуация имеет место и для граничных подобластей С— (рис. 2, б). В этом слу-

чае отличными от нуля в ¿-й строке будут только элементы, соответствующие узлам, лежащим на отрезках 1-5 границ подобластей С+, (узлы на кусках Г+, Г_ при

формировании матрицы А не учитываются).

2. Оценки эффективности алгоритма

Под эффективностью алгоритма будем понимать трудоемкость и объем запоминаемой информации, необходимые для его реализации.

2.1. Трудоемкость алгоритма

Наибольший объем вычислений при формировании СЛАУ (3) с квадратной матрицей А порядка п занимает решение вспомогательных подзадач (4)-(6) в подобластях С к, на которые разделяется расчетная область макросеткой Пя.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Обозначим через К а число подзадач, решаемых при расчете элементов матрицы А, равное

Ка = К« + К<?\

где К А , К А — количества подзадач, решаемых соответственно во внутренних С к и в граничных Ск_2) подобластях. Верны оценки

КА ) = 2 , КА ) < 2К2 (пх,т + пу,т — 2) .

Здесь пх т = тах пх к, пу т = тах пу к, где пх к, пу к — числа интервалов подсеток Пь к,

к , у, к У, , У,

введенных выше, а К2 — число граничных подобластей, для которых решаются вспомогательные задачи, причем К'2 < К2. Знак неравенства здесь обусловлен следующими соображениями. Пусть Г' — отрезок границы Г, параллельный одной из координатных осей, причем на всем отрезке Г' задано краевое условие одного вида, 0'к — граничные подобласти, внешняя граница которых содержит только куски Г'. По аналогии

с внутренними подобластями в этом случае нет необходимости решать вспомогательные подзадачи (5) для всех 0'к, а достаточно это сделать лишь для одной подобласти на самой густой сетке.

Пусть Кь — число подзадач (4) и (5), необходимых для вычисления вектора Ь. Ясно, что Кь < К, так как в данном случае решаются подзадачи в граничных подобластях и только в тех внутренних подобластях, в которых функция д1 отлична от нуля. Например, если в (1) речь идет об уравнении Лапласа, то во всех внутренних подобластях решение всех подзадач (4) при 3 = 0 будет нулевым.

Общее число Ка,ъ подзадач, решаемых для формирования системы (3), равно

КА,Ъ = кА1) + кА2) + Кь.

Подзадачи во внутренних подобластях могут быть решены оптимальным по быстродействию прямым методом циклической редукции [2]. Его основу составляют прогонки вдоль координатных линий. Так как число узлов подсеток Пь,к сравнительно невелико, прогоночные коэффициенты можно вычислить и запомнить один раз для всех подсеток. Подзадачи в граничных подобластях, видимо, быстрее всего решать итерационными методами, выбирая в качестве начального приближения для очередной подзадачи решение предыдущей, но обоснованный ответ на этот вопрос требует дальнейших исследований.

Решение и той и другой групп задач вследствие их малой размерности проводится с привлечением быстрой кэш-памяти компьютера, что также значительно ускоряет вычисления. Пусть объем кэш-памяти составляет Ь Мбайт, а каждое вещественное число занимает в памяти компьютера 8 байт. Обозначим через М максимальное число узлов подсетки, равное М = (пх,т — 1) (пут — 1). Реализация какого-либо алгоритма решения краевых подзадач в подобластях требует хранения двух массивов размерности М, отводимых под искомую функцию и правую часть сеточных уравнений, а также хранения вспомогательных величин объемом, который мы выразим как в М, где в — вещественный коэффициент, зависящий от конкретного алгоритма. Для эффективного использования кэш-памяти необходимо, чтобы в нее вмещались все величины, участвующие в работе рассматриваемого алгоритма. Тогда, учитывая только вещественные числа, для размера подсетки можно записать оценку

Ь220 Ь217

М -т =-. (9)

8 (в + 2) в + 2 К ;

Приведем некоторое количественное выражение данной оценки. Предположим, что М = 63 х 63. В этом случае, если даже макросетка Пн содержит небольшое число разбиений (например, 16 х 16), то результирующая сетка Пь имеет около 1 млн узлов, что представляется достаточным для решения большинства практических краевых задач. Подставляя приведенные числа в формулу (9), получим выражение для объема кэшпамяти под хранение вспомогательных величин в ^^ 32Ь — 2. Например, новосибирский кластерный суперкомпьютер НКС-160 имеет кэш-память 3 Мбайта, и, следовательно, при расчетах на нем в ~ 94, что вполне достаточно для решателей, включая метод циклической редукции с предварительным расчетом прогоночных коэффициентов, который используется в настоящей работе.

В каждой строке матрицы А, имеющей диагональный элемент, соответствующий узлу, лежащему на х-линии, будут отличны от нуля в общем случае qx = 3(пх,т — 1) +

4(пу,т — 1) элеменTов, а для у-линии это число равно ^у = 3(пу,т — 1) + 4(Пх,т — 1).

Порядок п матрицы А равен числу узлов сетки ^ь, и он намного меньше числа узлов результирующей сетки Пь

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

Конкретизируем полученные оценки на примере решения модельной задачи Дирихле для уравнения Пуассона в единичном квадрате. Будем считать граничными все подобласти, примыкающие к границе квадрата. Предположим, что а) Жх = Ыу = Жя, б) пх,к = пу,к = т, в) вспомогательные подзадачи решаются для каждой граничной подобласти (К2 = К2 = 4(Жя — 1) (напомним, что Жх, Ыу — числа интервалов макросетки Пя по х, у). Тогда имеем

Ка,ь = т + 16(Жя — 1)(т — 1) + И2я.

Сравним эту величину с количеством К/ подзадач в том случае, если бы решение во всей области искалось методом итераций по подобластям. Предположим для этой оценки, что т ~ Мя. Так как К/ = Ж/^Я, где Ж/ — число итераций, и Ка,ь < 17^Я, то Кав ~ К/ при Ж/ < 17, т. е. формирование системы (3) требует решения меньшего количества подзадач, чем это делается при проведении 17 итераций по подобластям. Отметим, что это число уменьшается при т < Жя, а также то, что вспомогательные подзадачи имеют специальный вид, позволяющий решать их по сверхбыстрым алгоритмам.

Порядок п матрицы А в данном случае равен

п = 2Мя (Жя — 1)(т — 1).

Сравним эту величину с числом внутренних узлов = (Жь — 1) (Жь — 1) результирующей сетки Пь, где ^ — число интервалов данной сетки в одном направлении.

Тогда т = —^ и в предположении, что Жь >> Жя >> 1, получим "я

Жь т _ _ _ _

^^ - .

п 2Жя 2

2.2. Объем запоминаемой информации

Наибольший объем оперативной памяти компьютера отводится под хранение элементов а^- матрицы А, вычисляемых по формулам (7) и (8) в узлах сетки Способ хранения и доступа к коэффициентам зависит от вида подобластей, на границе сопряжения которых лежит рассматриваемый ¿-й узел.

Для внутренних подобластей достаточно сохранить величины / ^, рассчитанные по формуле (7) на двух сторонах одной внутренней подобласти С0. В этом случае хранится массив, состоящий из элементов, где выражается как

= (пх,т — 1) [3 (пх,т — 1) + 4 (пу,т — 1)] + (%,т — 1) [3 (%,т — 1) + 4 (пх,т — 1)] .

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

Пусть теперь ^к — отрезок границы сопряжения двух подобластей, из которых хотя

бы одна является граничной (к = 1,К^2), где К^2) - суммарное число отрезков в К2 граничных подобластях). В этом случае рассчитываются и запоминаются коэффициенты для каждого узла Т^ £ 7к и для каждого отрезка 7к. Число Q2 хранимых величин зависит от конфигурации границы расчетной области и удовлетворяет неравенству

Q2 < 7К\2) (т — 1)2,

где т = тах (пхт, пу,т). В общем случае Q2 >> Q1. Так же, как и число вспомогательных задач, Q2 может быть уменьшено за счет подобластей, примыкающих к отрезкам границы Г, параллельным одной из координатных осей.

Приведем оценки величины Q2 для модельной задачи. Число отрезков 7к в ней равно К^2) = 4 (2Ын — 3). Тогда справедливо равенство

Q2 = 28(2Ин — 3) (т — 1)2 .

Сравнивая эту величину с числом внутренних узлов Qь результирующей сетки Пь, получим оценку

Qh < Хн'

3. Численные эксперименты

Численные эксперименты ставились с целью показать работоспособность предложенного в [1] подхода на примере решения тестовой задачи, которой служила задача Дирихле для уравнения Лапласа:

А и = 0, и|г = д,

в квадрате О = { 0.1 < х < 0.6, 0 < у < 0.5 } . Данная задача представляла собой фрагмент более общей задачи о решении уравнения Лапласа в области, ограниченной двумя концентрическими окружностями с радиусами —1 = 0.1, —2 = 1, на которых задаются значения искомой функции и, равные соответственно 0, 1. Последняя задача имеет точное решение

и = 1п — 1п —2,

—1 / —1

где г — радиус-вектор. Функция д выбиралась, как д = и|г, и тогда точное решение исходной задачи есть и = и в О.

Расчетная область покрывалась квадратной сеткой

Пь = {х = х^, у = У3, 1,3 = 1,ЫН — 1}

с шагом к = 0.5/Ыь и разбивалась линиями х = X1, у = У] (1,3 = 1,Ын — 1), совпадающими с линиями сетки Пь и представляющими собой линии макросетки Пн, на Ыс = ЫН прямоугольных подобластей О к, где Ыь, Ын > 1 — заданы и представляют собой соответственно числа интервалов сеток Пь и Пн в одном направлении. В качестве операторов А^ выбирались обычные пятиточечные разностные операторы Лапласа [2]. Оператором йь, аппроксимирующим нормальные производные, служила трехточечная схема второго порядка, которая для соседних узлов, обозначенных цифрами 0,1,2, выглядит как

м \ —3(иь)о + 4(иь )1 — (иь)2

(йьиь)о =-2к-.

Относительные погрешности расчетов, %

Мн Мн

16 32 64 128 256 512

2 1.610-1 8.510-2 2.9-10-2 8.1-10-3 — —

4 2.010-1 8.7-10-2 2.9-10-2 8.1-10-3 2.010-3

8 8.510-2 2.9-10-2 8.1-10-3 2.010-3 5.010-4

16 1.7-10-2 7.010-3 2.010-3 4.8-10-4

32 4.4-10-3 1.410-3 4.0-10-4

64 1.010-3 2.3-10-4

Расчеты проводились при различных параметрах сеток Пн, Пн: —н = —Нук = 2к+3; —н = —н,к = 2к+1, к = 1,6. Краевые подзадачи решались методом циклической редукции с предварительным расчетом прогоночных коэффициентов для числа интервалов

т = подсеток, лежащего в пределах 4 < т < 64, т. е. для некоторых сочетаний —н

—н, —н расчеты не проводились. В таблице даны значения относительной погрешности е, %, рассчитанной по формуле

е% = тах

.,3

и1,3 - (ин

• 100 %,

где (г,]) — номера узлов сетки Пн.

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

Кроме того, рассматриваемая задача решалась на сетках Пн по обычной пятиточечной схеме без разбиения на подобласти. Полученные значения погрешности е % с принятой точностью совпали с результатами таблицы при Ын = 2. Эти факты свидетельствуют о том, что предложенный алгоритм не вносит дополнительных погрешностей в расчеты по сравнению с обычным подходом решения без разбиения на подобласти.

Заключение

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

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

2. Работа с данными сетками проводится по простым алгоритмам за счет их структурированного построения. Например, часто встречающаяся в практике вычислительная задача об определении сеточного элемента, которому принадлежит заданная точка Т, решается в два этапа: на первом из них по очевидным предельно простым правилам определяется подобласть, в которую попала Т, а на втором этапе по аналогичным правилам — сеточный элемент /ш, лежащий в данной подобласти. Этот алгоритм применим для большинства сеточных элементов. Лишь в том случае, если содержит хотя бы один модифицированный узел, второй этап требует дальнейшей детализации.

3. Проведенные оценки и численные эксперименты подтвердили работоспособность алгоритма. На примере модельной задачи показано, что для своей реализации он требует решения вспомогательных подзадач, число которых меньше числа подзадач при проведении 17 итераций по подобластям, но при этом в силу специфики вспомогательные подзадачи решаются по быстрым алгоритмам. Объем оперативной памяти компьютера, на котором проводятся вычисления, для хранения необходимой для расчетов информации составляет приемлемую величину. Так, если результирующая сетка Пь имеет 1024 х 1024 интервалов и проводится разбиение на 32 х 32 подобласти, то дополнительно требуется менее двух массивов, каждый из которых имеет размерность, равную числу узлов Пь. При этом матрица А системы линейных алгебраических уравнений для вычисления значений искомой функции на границе сопряжения подобластей имеет порядок, приблизительно в 16 раз меньший порядка матрицы системы разностных уравнений, построенных в узлах Пь при решении краевой задачи без разбиения на подобласти. Необходимо отметить, что при этом число ненулевых коэффициентов в одном уравнении может достигать величины 7 х 31 = 217.

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

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

6. Блочный характер алгоритма позволяет эффективно использовать сверхбыструю кэш-память компьютера.

7. На заключительном этапе алгоритма нет необходимости в решении краевых подзадач во всех подобластях, это достаточно сделать лишь в тех из них, которые представляют интерес.

8. Алгоритм может быть перенесен с различной степенью усложнения на решение других уравнений помимо уравнения Пуассона в декартовых координатах, рассмотренного в [1]. Так, в краевых задачах для уравнения Пуассона в цилиндрических координатах (г, г) требуется решение базовых вспомогательных подзадач вместо определения одной внутренней подобласти не более чем в подобластях, где — соответственно число интервалов макросетки в направлении оси г.

9. Предлагаемый подход эффективен при решении нестационарных задач и нелинейных задач, так как при этом матрица А формируется один раз до проведения нестационарного процесса или итераций по нелинейности.

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

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

[1] Свешников В.М. Прямой метод декомпозиции без наложения подобластей для решения

краевых задач на прямоугольных квазиструктурированных сетках // Вычисл. технологии.

2008. Т. 13, № 2. С. 106-118.

[2] Самарский А.А. Теория разностных схем. М.: Наука, 1977.

Поступила в редакцию 25 апреля 2007 г., в переработанном виде — 14 апреля 2008 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.