| ||
Автореферат за темою: "Паралельний 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,
то схема обміну даними між процесами дещо зміниться:
Після порівняння наведених вище схем можна побачити, що кількість обмінів даними між процесами на двох рівнях розпаралелювання однакова. Таким чином час передавання даних на другому рівні розпаралелювання ШВО зменшиться в два рази. Підсумки
У цій роботі була розроблена послідовна імплементація блокового однокрокового
двохточкового методу, було проведено ряд експериментів для порівняння її
з послідовною програмою, що реалізує метод Адамса – Башфорта.
Список літератури
| ||