| |||
Автореферат по теме: "Параллельный MIMD-решатель уравнений для сетевых динамических объектов с распределенными параметрами" Выполнила: Гусева А.Б. | |||
Введение
Введение
Прогресс современных областей техники, технологий и биотехнологий,
технологий окружающей среды зависит от уровня теории и практической
реализации методов проектирования, автоматизированных технических объектов, технологических установок и линий, которые определяются как сложные динамические объекты (ДО) [3].
Одним из главных этапов моделирования ДО является разработка решателя уравнений, которые описывают ход технологического процесса.
- CVODE -решатель систем обычных дифференциальных уравнений. CVODE содержит методы решения задач с жесткими и нежесткими начальными условиями. Использует методы Адамса-Моултена , Крылова и прочие. PVODE - параллельная версия CVODE. - KINSOL - разработан для решения систем нелинейных алгебраических систем. Использует неточный метод Ньютона. - и др. PETSc - Набор процедур и структур данных для параллельного решения научных задач с моделями, которые описываются в виде дифференциальных уравнений с частными производными. Предлагает линейные решатели, реализованные с помощью точечного и блочного алгоритма Якобе, аддитивного метода, с помощью LU-, QR-развития, метода Крылова и др. А также - нелинейные решатели, построенные по методу Ньютона.
Задача разработки решателей для сетевого динамического объекта (МДО) является следующей: для системы, сформированной генератором уравнений в виде, требуемом средствами моделирования и отражающем описание топологии сетевого динамического объекта, разработать алгоритмы и программы решения, основанные на последовательных и параллельных численных методах.
Сетевой динамический объект с распределенными параметрами как объект моделирования
Сетевые объекты используются во многих областях техники. Примерами таких объектов могут быть электрические сети, нефтепроводы и др. Объектом исследования является шахтная вентиляционная сеть (ШВС) [2].
где Pi– значение давления в і-ой ветви;
ri – удельное аэродинамическое сопротивление;
Параллельный блочный численный метод Параллельные блочные численные методы решают задачу Коши. Для одного обычного дифференциального уравнения первого порядка задача Коши имеет следующий вид [1]:
Для определения коэффициентов ai,j и bi надо построить интерполяционный многочлен Лагранжа Lk(t) с узлами интерполяции tn , i, i = 0,1,…,k и соответствующими им значениями Fn,i = f(tn, i, un, i) и проинтегрировать в границах (tn, tn + i* ) . Для двухточечного блочного метода значения в каждой точке n-блока необходимо вычислять по следующим формулам:
Пример вычисления одной ветви ШВС блочным численным методом. Рассмотрим небольшую ветвь ШВС, которая состоит лишь из четырех узлов.
Предположим, что начальный узел соединен с атмосферой, а к последнему подключены вентиляторы, которые создают постоянное давление в ветви. Таким образом, значение давления в начале и в конце ветви является постоянным. Процессы изменения значения потока воздуха Q и давления P представляются в виде следующих уравнений:
Решим эту систему уравнений параллельным блочным одношаговым двухточечным методом (k=2). На рис.3 показано, каким образом подветви разбиваются на блоки по этому методу.
Значение потока воздуха Q и давления P в каждой точке блока исчисляются по формулам:
Необходимо указать, что дополнительный индекс q является порядковым номером уравнений в системе. Un,q,0 – это значение потока воздуха Q или давления P в начальной точке блока. В первом блоке эта переменная равняется начальным входным данным для потока воздуха Q или давления P. В следующих блоках переменная Un,q,0 имеет значение Un-1,q,2. Вычислим значение потока воздуха Q1(1) в точках блока.
Вычислим значение потока воздуха P2(2) в точках блока.
Решение такой системы в явном виде является невозможным из-за взаимозависимости правых и левых частей уравнений. Вычислить такую систему уравнений можно с помощью итерационного метода.
На первой итерации находится приблизительное значение Un,q,1 и Un,q,2 ,
а с каждой следующей итерацией это значение уточняется. Предположим, что S – это номер итерации. В общем виде количество
итераций должно равняться количеству точек в блоке
Последовательный алгоритм вычисления одной ветви ШВС блочным численным методом.
На рис.4 приведен общий последовательный алгоритм вычисления одной ветви ШВС параллельным блочным одношаговым двухточечным методом для одного блока.
Разработанный последовательный алгоритм вычисления одной ветви ШВС параллельным блочным одношаговым двухточечным методом и исследование его результатов является первым шагом к построению параллельного МІМD-решателя сетевого динамического объекта. Подход к распараллеливанию решателя для СДО.
На рисунке 5 представлены четыре возможных уровня распараллеливания. Обмен данными между
процессами осуществляется с помощью механизма обмена сообщениями MPI (Message Passing Interface) [5].
В случае распараллеливания ШВС на первом уровне, получаем следующую схему обмена данными между процессами:
Если подняться ко второму уровню распараллеливания, на котором каждый процесс
будет рассчитывать значение потока воздуха Qi и давления Pi,
то схема обмена данными между процессами несколько изменится:
После сравнения приведенных выше схем можно увидеть, что количество обменов данными между процессами на двух уровнях распараллеливания одинаково. Таким образом, время передачи данных на втором уровне распараллеливания ШВО уменьшится в два раза. Заключение
В работе была разработана последовательная имплементация блочного одношагового двухточечного метода, был проведен ряд экспериментов для сравнения ее с последовательной программой, которая реализует метод Адамса – Башфорта.
Список литературы
| |||