Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

I.I. Метод прогонки

Метод прогонки представляет собой частный случай метода исключения Гаусса, ориентированный на специальные системы линей­ных алгебраических уравнений с ленточной структурой матрицы коэффициентов. А именно, на системы трехточечных уравнений:

 

(1)

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

(2)

 

Типичным примером применения метода, прогонки служит числен­ное решение одномерных, нестационарных, линейных уравнений в частных производных. В этой связи рассмотрим первую краевую зада­чу для уравнения теплопроводности с постоянными коэффициентами

 

0<<1, 0< (3)

с соответствующими начальными и краевыми условиями

(4)

Для отыскания приближенного решения y задачи (3), (4) на равномерной сетке ,где

hи τ шаги сетки по пространственной x и временной t коорди­нате, используется однопараметрическое семейство разностных схем (схема с весами)

(5)

Здесь вес σ - произвольный вещественный параметр, а разностный оператор Λ является оператором второй разностной производной т.е.

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

(6)

Решение разностной краевой задачи (5), (6) состоит в определении на каждом n -м временном слое (n=1,..., n0) значений сеточной функции yni с помощью метода прогонки (2). С этой целью соотно­шения (5), (6) представляются в виде (I). Будем иметь

(7)

 

 

Порядок вычислений формул (2) на одном временном слое отра­зим граф-схемой (рис.1), вершины которой означают оператор вы­числения соответствующей величины, а дуги - отношение предшест­вования. Найденное решение схемы (5) является начальным ус­ловием для следующего временного слоя, что отражено на рис.1 дутой из y в f. Кроме того, если коэффициенты разностной схемы не зависят от времени, что, как правило, выполняется при решении линейных задач, то прогоночный коэффициент αi вычисляется один раз вне временного цикла. В соответствии с этим типичным случаем вычисление αi; на рис.1 не показано. Вычисление прогоночного коэффициента βi можно осуществлять по рекуррентной формуле, ана­логичной формуле для сеточной функции y, βi+1=pi βi+qi, где

(8)

Таким образом, на каждом временном слое по методу прогонки (2) требуется вычислять по N значений βi, yi в соответствии с рекуррентными формулами первого порядка, имеющими чисто последо­вательный характер выполнения, на каждом шаге которого требуется одно умножение и одно сложение. Если время выполнения этих двух операций, включая также чтение операндов и запись результатов в память, обозначить через , то время вычисления на одном времен­ном слое сеточных функций βi, yi составит значение 2N. Кроме того, на каждом временном слое необходимо вычислять величину qi, (см.формулу (8)), что потребует умножения значения на величину fi, для вычисления которой в соответствии с форму­лами (7) потребуется дополнительно два умножения, два вычитания и три сложения* плюс время t1, расчета значения , т.е. всего для вычисления значения fi необходимо время где t2 -время выполнения двух вычитаний.

*Величины в формуле для fi, не зависящие от индекса n, представлены своими значениями, вычисляемыми однократно вне временного цикла.

 

 

Последовательный характер вычислений значений yi, входящих в выражение для fi, обуслав­ливают последовательное вычисление N-1 значений qi.. Таким об­разом, формулы последовательной прогонки (2) реализуются на одном процессоре, и время вычислений на одном временном слое составит значение .

Возможности реализации формул (2) более чем на одном процес­соре без применения каких-либо методик распараллеливания весьма ограничены. Исследуем их в случае чисто неявной разностной схемы (σ=1) и в предположении, что правая часть φ не зависит от време­ни. Тогда по формулам (7), (8) имеем , где и значения μi, νi вычисляются вне временного цикла, т.е. .

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

Так как вычисление значений qi полностью совмещаются с вычислением значений yi, то время расчета на одном временном слое составит здесь величину .

Формулы (2) определяют правую прогонку (функция yi находится последовательно, начиная от правой границы). Аналогично опреде­ляются формулы левой прогонки /13/

(9)

Используя формулы (9) можно совместить расчеты всех трех сеточных функций yi, βi, qi с помощью трех процессоров. Для этого следует чередовать формулы правой (2) и левой (9) прогонки на соседних временных слоях. Пусть первый процессор вычисляет значения yi например, правой прогонкой. По мере появления второй процессор вычисляет значения qi для следующего временного слоя. Это позво­ляет третьему процессору вычислять по формулам левой прогонки значения βi для следующего временного слоя, на котором наоборот первый процессор осуществляет левую, а третий - правую прогонку. По аналогии с рис. 2 на рис. 3 показана диаграмма работы процес­соров. Из диаграммы заключаем, что время вычислений на одном временном слое составляет величину .

Комбинацией правой и левой прогонок на одном временном слое является метод встречных прогонок /13/.В этом методе выбирается некоторый m -й узел сетки и решение в первых m узлах определяется правой прогонкой (2), в последних N-m узлах - левой прогонкой (9), а в m- музле по формуле, содержащей коэффициенты αm, βm (полученные при вычислении соотно­шений (2) и (9)) и требующей времени примерно . Понятно, что допустима одновременная работа двух процессоров. Для обеспечения их более равномерной, загрузки следует выбирать где развернутые квадратные скобки означают округление до целого с избыт­ком. Процессоры работают одновременно, поэтому с учетом времени для вычисления ym легко установить значение совокупного времени работы на одном временном слое . Здесь квадратные скобки означают округление до целого с недостатком. В соответствии с диаграммой на рис. 2 из этого времени можно исключить время расчета значений qi, выполняя его с помощью двух дополнительных процессоров. Время работы четырех процессоров на одном временном слое составит что равно или всего лишь на меньше времени работы трех процессоров при чередовании правой и левой прогонки на соседних временных слоях.

 

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

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

 

<== предыдущая лекция | следующая лекция ==>
I. Процедура последовательной прогонки | Неявный метод переменных направлений
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 1510; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.