Научная статья на тему 'Параллельные алгоритмы на основе мягких внутренних граничных условий'

Параллельные алгоритмы на основе мягких внутренних граничных условий Текст научной статьи по специальности «Математика»

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

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

In this article, we study a parallel technology for the numerical solution of the boundary-value problems, which is based on a decomposition of the area and on the formulation of soft boundary conditions on the adjacent boundaries of subareas. As soft boundary conditions, we use the equality of multi-point difference approximations of streams, which approximate one-sided derivatives of any order.

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

Текст научной работы на тему «Параллельные алгоритмы на основе мягких внутренних граничных условий»

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

Том 11, часть 2, Специальный выпуск, 2006

ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ НА ОСНОВЕ МЯГКИХ ВНУТРЕННИХ ГРАНИЧНЫХ УСЛОВИЙ*

В. И. Паасонен

Институт вычислительных технологий СО РАН, Новосибирск, Россия

e-mail: [email protected]

In this article, we study a parallel technology for the numerical solution of the boundary-value problems, which is based on a decomposition of the area and on the formulation of soft boundary conditions on the adjacent boundaries of subareas. As soft boundary conditions, we use the equality of multi-point difference approximations of streams, which approximate one-sided derivatives of any order.

Введение

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

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

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

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

1. Постановка проблемы

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

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

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

2. Разностная задача

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

Пусть в прямоугольнике задана регулярная неравномерная сетка

Бн = Шх X Шу = {хо <Х1 < ... < Хмх} X {уо <У1 < ... < уМу},

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

замкнутую граничными условиями (для простоты поставлены условия Дирихле)

Пип - дп, (х,у) е Бн,

(1)

ип = ч>п, (ж,г/) ег = ала»

(2)

и начальными данными

и° = щ, (х,у)еВк. (3)

Здесь индекс п в случае динамической задачи означает номер временного слоя £п, где тп = 1-п+1 — tn — переменный временной шаг, а для статической задачи — номер итерации. В последнем случае граничное значение в (2) не зависит от п, число тп является итерационным параметром, а начальное данное (3) задается произвольно.

Будем предполагать, что разностные операторы Ах, Ау являются одномерными трехточечными, а О не выступает за габариты девятиточечного шаблона (3 х 3). Будем также предполагать, что начальные и граничные условия согласованы, разностная задача Дирихле вида (1)-(3), поставленная в любой прямоугольной подобласти области Д со сторонами, параллельными осям, устойчива, а аппроксимируемая ею дифференциальная задача корректна.

Разностное уравнение (1) естественным образом может быть представлено также в виде системы одномерных уравнений в дробных шагах.

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

¿х = [Хц, I = 1,..., Кх — 1}, 0 = ¿0 < ¿1 < ... < гкх-1 < ¿к = N

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

Аналогично определим возрастающую конечную последовательность

¿у = > т = 1... > Ку — 1}> 0 = Ло < Л < ... < Зку-1 < Зку = ^

как фиксированное подмножество сетки иу. Заметим, что одно из этих множеств может быть и пустым, если область разрезается на подобласти не по каждой координате.

Таким образом, наша область разрезается на горизонтальные и вертикальные полосы

Дт = [(Х У) е Д, у-т-1 < У < Узт}> т = 1,..., Ку, Ах = [(х, у) е Д, хк-1 < х < Хк}, I = 1,..., Кх. Пересечение полос представляет собой прямоугольные сеточные блоки

Дт = дт П ДХ, т =1,...,Ку, I = 1,...,Кх.

Модифицируем задачу (1)-(3) следующим образом. Удалим из системы (1) разностные уравнения в узлах сетки лежащих на разрезах. Вместо них поставим разностные аппроксимации условий равенства нормальных производных слева и справа. Для аппроксимации односторонних производных применим многоточечные односторонние разностные аппроксимации. Для аппроксимации производной справа в точке Хi па одномерной сетке воспользуемся разностным оператором

Д+И = ^ а+щ+к. к=о

Условия аппроксимации первой производной с порядком М заключаются в выполнении равенств

Е«+ Укт = ¿1т, т = 0,1,..., М, (4)

к=0

где ук = Xí+k _ а _ символ Кронекера. Очевидно, матрица системы (4) — матрица Вандермонда, а так как все ук различны, максимальный порядок аппроксимации 5 достигается, когда в системе (4) М = в. При этом коэффициенты разностного оператора имеют вид

(_1)к+1 к—1 5

^ = ^^-ГТ —^— П —^—, кф О, = (5)

П М 0, а0+ = -Е~+

ук ук У] j=k+l у ук к=0

Левая односторонняя аппроксимация производной порядка в определяется аналогично

А—щ = _ Е а—иг-к-к=0

Такие операторы снабдим индексами ±х или ±у, идентифицирующими имя координаты и ориентацию потока.

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

1 К

Ахип+ 2 = Оип - дп, (х, у) Е и Дт, т = 1,..., Ку, (6)

1=1

с мягкими внутренними граничными условиями на разрезах

(А+ж - А_х)ип+ъ = 0, (х,у)еОУт[)5х (7)

и условиями на вертикальных участках внешней границы

ип+5 = Ау--—, х = хг, г = 0, г = Их. (8)

фга+1 _ ф

Тп

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

щп+1 щп и —и „ , 1

Ау-= ип+1, (ж, у) Е и Дш, 1 = 1,...,КХ, (9)

Тп т= 1

с мягкими условиями на разрезах

(А+у _ А-у)ип+1 = 0, (х, у) е В? П 5Х (Ю)

и условиями на горизонтальных участках внешней границы

щп+1 =Фп+1, у = у], 3 = 0, 3 = N- (11)

Таким образом, на каждом дробном шаге имеем ряд независимых замкнутых одномерных разностных задач вида (6)-(8) или (9)—(11), каждая из которых имеет почти трех-диагональную структуру. Матрица системы отличается от трехдиагональной наличием в ней конечного числа изолированных строк с (2в +1) ненулевыми элементами, плотно расположенными симметрично вблизи главной диагонали.

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

Ку

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

3. Параллельный алгоритм для одномерной задачи

Итак, многомерная задача на отрезке, разделенном на блоки, сводится к ряду одномерных задач следующего вида. Внутри области (за вычетом разрезов) имеем трехточечные уравнения

ЩЩ^ + Ь^Пг + СгЩ+1 = 0 < % < N % = 1к, к = 1,..., К — 1, (12)

замкнутые внешними граничными условиями

ио = Фс, им = Фг (13)

и условиями равенства потоков на разрезах

(Д+ — Д-)и = 0, % = 1к, к = 1, ...,К — 1. (14)

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

ук = рк Юк-г + qk Юк + гк, (15)

где гк — решение задачи Дирихле для неоднородного уравнения с нулевыми граничными условиями

аш 1 + Ьш + ^га^ш+1 — Еш-> ^0 — ^Ы — (1®)

а рк и qk — решения задач Дирихле для соответствующего однородного уравнения со специальными граничными условиями:

ашРш-1 + ЬтРш + СшРт+1 = 05 Рк = 15 рЫ = 0> (17)

ат^Ш-г + ЬшqШ + ^Ш+г =0, qk = 0, qM = 1. (18)

Здесь локальная нумерация связана с глобальной так:

ЕШ Еlfc+Ш, аш О'^+Ш! ЬШ С1к +Ш) СШ С1^+Ш.

Три вспомогательные краевые задачи (16)—(18) решаются независимо для каждого из

К

исходному неоднородному уравнению и нужным граничным условиям

к к Уо = Юк-Ъ Уы = Ю к.

Если векторы р, д, г уже вычислены, то вектор ук зависит только от значений решения на границах блока. Подставляя его во все соотношения на разрезах (14), получим систему уравнений для вычисления значений /шк решения на разрезах. Из соотношения на к-м разрезе вытекает трехточечное соотношение, связывающее значения искомого решения "Шк и юк+1 на трех последовательно расположенных разрезах. Это следует из того, что все значения решения, участвующие в аппроксимации потока слева, относятся к левому блоку и выражаются через -шк-1 и тк, а все слагаемые в аппроксимации потока справа — через юк и юк+1.

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

Ак Юк-1 + Вк ь)к + ОкЮк+1 = Ск, к = 1,...,К _ 1; (19)

= Фо, №к = ФЬ (20)

где

Е а- ркм-з, Вк = Е а- дМ-з + Е а+рк+1;

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

3=0 3=0 з=0

5 5 5

Е а+дк+1, С к = _ Е а-*М-з _ Е а+3+1.

3=о з=о з=о

Размерность задачи (19), (20), равная общему числу границ (К + 1), остается постоянной, не зависящей от степени детальности сетки. Условия диагонального преобладания для матрицы системы (19), (20) исследованы в работе [3].

Итак, алгоритм расчета одномерной задачи (12)—(14) состоит из трех шагов. Сначала решаются вспомогательные задачи (16), (17), затем находятся значения решения на разрезах из системы (19), (20), и, наконец, осуществляется сборка решения (15) в каждом из блоков.

5

5

5

4. Схема исследования сходимости

Пусть ип — решение корректной исходной задачи (1)-(3), аппроксимирующей некоторую корректную краевую задачу для дифференциального уравнения, а уп — решение модифицированной задачи с мягкими граничными условиями на разрезах, тогда разность гп = уп _ ип удовлетворяет однородному разностному уравнению

%п+1 _ ^п

АхАу ==

тп

во всех внутренних узлах за вычетом узлов на линиях разрезов области. На внешней границе

гп = 0,

а на разрезах

(Д+

(Д+ _ Д_)гп = фп,

где

■фп = _(Д+ _ Д-)ип

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

и

задачи величина фп мала. Степень малости зависит от порядка аппроксимации 5 односто-

и

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

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

[1] Яненко H.H., Коновалов А.Н., Бугров А.Н., Шустов Г.В. Об организации параллельных вычислений и распараллеливании прогонки // Численные методы механики сплошной среды: Сб. науч. тр. / АН СССР. ВЦ; ИТПМ. 1978. Т. 9, № 7. С. 136-139.

[2] Паасонен В.И. Параллельный алгоритм для компактных схем в неоднородных областях // Вычисл. технологии. 2003. Т. 8, № 3. С. 98-106.

[3] Паасонен В.И. Сходимость параллельного алгоритма для компактных схем в неоднородных областях // Вычисл. технологии. 2005. Т. 10, № 5. С. 81-89.

[4] Яненко H.H. Метод дробных шагов решения многомерных задач математической физики. Новосибирск: Наука, 1967.

[5] Paasonen V.l. Compact difference schemes for inhomogeneous boundary value problems // Russ. J. Numer. Analys. and Math. Modell. 2004. Vol. 19, N 1. P. 65-81.

Поступила в редакцию 4 апреля 2006 г.

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