Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дипломна Едуарда Івашка ГОТОВА (перепровірена).doc
Скачиваний:
6
Добавлен:
23.08.2019
Размер:
3.74 Mб
Скачать

Зміст

Розділ І. Основи роботи з пакетом FlexPDE 5

1.10.3. FEATURE 23

1.14. Оператори і функції FlexPDE 26

Розділ ІІ. Рівняння руху рідини в циліндричній системі координат 30

Розділ ІІІ. Практична частина 31

Висновок 42

Вступ

Потужним інструментом пізнання, аналізу та синтезу нелінійних процесів є метод математичного моделювання, який підтримується різноманітними комп’ютерними системами та пакетами прикладних програм. Досить відомі призначені для вирішення широкого кола завдань системи і пакети: FlexPDE, MathCAD, Matlab, Maple, ChemCAD та інших.

Серед вказаних програмних продуктів особливе місце займає пакет FlexPDE, що підтримує метод кінцевих елементів при моделюванні об'єктів з розподіленими змінними, що описуються нелінійними диференціальними рівняннями з частинними похідними.

У науці і техніці більшість завдань на тому чи іншому рівні складності може бути описано за використанням диференціальних рівнянь в частинних похідних. З цього випливає, що програмний пакет такий, як FlexPDE, може застосовуватися майже в будь-якій галузі науки чи техніки.

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

У техніці FlexPDE може бути використаний для оптимізації проектів, оцінки їх виконання і концептуального аналізу. При цьому важливо відзначити, що одне і те ж програмне забезпечення може застосовуватися для моделювання всіх деталей проекту і немає необхідності залучати додаткові інструменти для оцінки окремих ефектів.

При розробці програмного забезпечення пакет FlexPDE може служити ядром для програм спеціального призначення, в яких необхідне створення моделі кінцевих елементів для системи рівнянь частинних похідних.

Програмний пакет FlexPDE може застосовуватися при вирішенні таких завдань:

• стаціонарних задач в електротехніці, механіці і теплотехніці;

• нестаціонарних (залежних від часу) завдань в хімії, механіці, теплотехніці, біології, електротехніці, оптиці і акустиці.

Актуальність теми. За останні роки в різних галузях науки, значно зріс інтерес до проблем хаотичної динаміки, зокрема, до – перемішування в'язких рідин за різних умов їх повільного руху. Актуальність досліджень процесів перемішування у в'язких рідинах визначається важливістю цього процесу в навколишньому середовищі і має широке застосування їх в сучасних технологіях.

Теорія в’язкої рідини при малих числах Рейнольдса являє собою один з найважливіших для практики та цікавий з точки зору фундаментальних математичних досліджень розділ гідромеханіки. Фізика нафтових та інших мастильних речовин, проблеми фільтрації, деякі напрямки біо- та геофізики, фізіології і медицини, океанології, екології, хімічної промисловості, гідротехніки – ось далеко не весь перелік галузей науки і техніки при дослідженні проблем яких плідно використовується модель Стокса та гідромеханіка при малих числах Рейнольдса. Велика кількість прикладних проблем говорить про актуальність теоретичних досліджень, що базуються на теорії Стокса.

Мета. Метою дипломної роботи є ознайомлення з особливостями системи FlexPDE та тепло гідравлічними процесами. Розглянути способи моделювання тепло гідравлічних процесів у системі FlexPDE.

Розділ і. Основи роботи з пакетом FlexPde

FlexPDE – програма, призначена для побудови сценарних моделей рішення диференціальних рівнянь методом кінцевих елементів, тобто за сценарієм, написаним користувачем, FlexPDE робить операції, необхідні для того, щоб перетворити опис системи диференціальних рівнянь в частинних похідних в модель для розрахунку методом кінцевих елементів, знайти рішення для цієї системи і представити результати в графічній формі. Таким чином, FlexPDE виконує роль обчислювального середовища для вирішення завдань, оскільки в цій програмі знаходиться повний набір функцій, необхідних для вирішення системи диференціальних рівнянь в частинних похідних:

- функції редагування для підготовки сценаріїв;

- генератор сіток кінцевих елементів;

- функції підбору кінцевих елементів при пошуку рішення;

- графічні функції представлення результатів рішення.

FlexPDE не обмежує користувача заздалегідь заданим списком прикладних завдань або видів рівнянь. Вибір виду диференціальних рівнянь в частинних похідних повністю залежить від користувача.

Мова сценарію дозволяє користувачеві описувати математичний апарат його системи диференціальних рівнянь в частинних похідних і структуру області рішень в цілому в природному форматі. Ця форма сценарію має багато переваг.

- Сценарій повністю описує систему рівнянь і область рішень, так що немає ніякої невизначеності відносно того, які саме рівняння вирішуються, що могло б мати місце у разі програми з фіксованим набором прикладних завдань.

- Нові змінні, нові рівняння або нові умови можуть легко додаватися в сценарій по бажанню.

- Багато різних завдань можуть бути вирішені за допомогою однієї і тієї ж програми, так що немає необхідності знову проходити навчання для вирішення кожного нового завдання.

- FlexPDE дозволяє вирішувати системи диференціальних рівняння першого або другого порядку в частинних похідних.

- Система диференціальних рівнянь може бути стаціонарною або залежною від часу.

- За допомогою FlexPDE можна вирішувати завдання про власні значення функцій.

- У рамках одного завдання можуть бути розглянуті стаціонарні і нестаціонарні рівняння одночасно. Число рівнянь в системі визначається потужністю комп'ютера, на якому встановлений математичний пакет FlexPDE.

- Рівняння можуть бути лінійними або нелінійними. Математичний пакет FlexPDЕ вирішує нелінійні системи методом Ньютона-Рафсона.

- Може бути задана будь-яка кількість геометричних областей для вирішення з різними властивостями матеріалу.

FlexPDE – має декілька модулів, для забезпечення рішення завдань :

- Модуль редагування сценарію, надає засоби для редагування тексту і попереднього перегляду графічного результату.

- Аналізатор запису рівняння у вигляді символів, який перетворить інформацію, записану у виді символів рівняння в набір змінних, параметрів і їх співвідношень, знижує порядок інтеграції. Потім розкладає ці рівняння в матрицю Якобі.

- Модуль генератора сітки будує сітку трикутних кінцевих елементів в двовимірній області рішень. При рішенні тривимірних завдань двовимірна сітка перетвориться в тетраедр, перекриваючу довільну кількість неплоских шарів.

- Модуль чисельного аналізу кінцевого елементу здійснює вибір відповідної схеми рішення для завдань стаціонарних, нестаціонарних і пошуку власних значень, причому для лінійних і нелінійних систем застосовуються окремі процедури розрахунку.

- Процедура оцінки похибки оцінює міру наближення сітки і уточнює координати сітки в областях, де похибка велика. Система здійснює ітеративне уточнення параметрів сітки і рішення до тих пір, поки не досягається заданий користувачем рівень похибки.

- Модуль графічного виводу приймає довільні алгебраїчні функції з отриманого рішення і здійснює побудову графіків контуру, поверхні і вектора.

- Модуль зовнішнього виведення даних надає можливість друку звітів у вигляді багатьох форматів, включаючи таблиці чисельних значень, ці сітки кінцевих елементів.

У пакеті FlexPDE є програма-редактор, за допомогою якої можна створити сценарій для даного завдання. Цей сценарій можна відредагувати, запустити розрахунок, знову відредагувати і знову зробити розрахунки, поки результат не задовольнить усім вимогам користувача. Далі сценарій можна зберегти в виді файлу для подальшого використання або в якості основи для подальших модифікацій.

Найпростіший шлях до постановки завдання полягає в копіюванні рішення для аналогічних завдань, які вже є у користувача. У будь-якому випадку, слід визначити чотири основні складових етапу розробки сценарію:

1) змінні і рівняння;

2) область рішень і граничні умови;

3) властивості параметрів;

4) в якому графічному виді має бути представлене рішення.

При постановці будь-якого завдання для FlexPDE рекомендується наслідувати деякі загальні правила:

- Розпочніть з фундаментальних законів для цієї фізичної системи. Формульний запис основних законів збереження зазвичай працює краще, ніж псевдоаналітичні спрощення.

- Розпочніть з простої моделі, переважно з тієї, для якої відповідь відома. Це дозволяє, з однією сторони, перевірити своє розуміння завдання і, з іншого боку, відчути упевненість в можливостях пакету FlexPDE. Корисно буває узяти аналітичне рішення і, користуючись FlexPDE, розрахувати значення початкових параметрів, при яких це рішення досягається. Слід взяти до уваги відповідні граничні умови.

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

Робота в FlexPDE розпочинається із запуску робочого вікна редактора. При запуску FlexPDE з головного меню Windows відкривається основне робоче вікно програми-редактора з елементами (меню, панелями інструментів, діалоговими вікнами характерними для усіх windows програм (мал. 1).

Мал.1. Робоче вікно програми FlexPDE

До складу головного вікна програми включений наступний набір основних елементів :

- головне меню (Main menu - містить команду по створенню і управлінню сценарієм);

- вікно відображення імені поточного сценарію (Name window - містить ім'я виконуваного або змінюваного сценарію);

- кнопки управління вікном програми;

- вікно відображення стану розрахунку (Status solve - містить параметри стану розрахунку);

- вікно відображення сітки розбиття (Mesh window - містить графічне зображення сітки розбиття);

- вікно редактора сценарію (Notepad – відображає вміст використовуваного сценарію).

Головне меню, як і в усіх додатках Windows, є лінійне меню, що розкривається. Воно містить наступні основні команди: File (Файл), Edit (Правка), Domain (Область), Run (Виконати), Stop (Стоп), Modify (Модифікувати), Plots (Графіки), View (Вид), Help (Допомога).

Вікно відображення стану розрахунку містить активні повідомлення про стан рішення. Формат даних що виводяться в цьому вікні залежить від виду вирішуваної задачі, але загальні особливості такі:

- витрати машинного часу (CPU Time);

- номер розрахункового циклу (Cycle);

- обмеження по числу вузлів сітки (Nodes limit);

- число кінцевих елементів (Cells);

- число невідомих змінних (Unknowns);

- об'єм пам'яті, виділений для вирішення завдання в КБ (Mem(K));

- поточна оцінка RMS помилки рішення (RMS Error);

- поточна оцінка максимальної помилки рішення (Max Error);

- використовуваний метод рішення ітераційного методу Ньютона.

Інші пункти, які можуть з'являтися під час виконання завдання :

- поточний розрахунковий час (Time);

- величина поточного тимчасового кроку (Dt);

- номер циклічного повторення рішення задачі (Stage);

- повідомлення поточної дії;

- повідомлення про завершення розрахунку (DONE).

Основним елементом робочого вікна FlexPDE є вікно редактора сценарію (Notepad). Сценарій описання завданнями є текстовий файл без будь-яких вставлених символів. Такі сценарії можуть бути підготовлені не лише в FlexPDE, але і у будь-якому редакторові тексту ASCII або будь-якому редакторові, здатного до експорту чистого текстового файлу ASCII. Зміст цього файлу є рядом розділів, кожен з яких ідентифікується за допомогою заголовка. У FlexPDE можуть використовуватися наступні основні розділи:

TITLE – заголовок програми;

SELECT – розділ встановлює різні опції і засоби управління;

COORDINATES – розділ завдання типу використовуваних координат;

VARIABLES – розділ завдання змінних завдання;

DEFINITIONS – розділ завдання допоміжних змінних завдання;

INITIAL VALUES – розділ завдання початкових значень для нестаціонарних завдань;

EQUATIONS – розділ завдання диференціальних рівнянь в частинних похідних;

CONSTRAINTS – завдання інтегральних зв'язків;

EXTRUSION – розділ розширення розрахункової області на три виміри;

BOUNDARIES – розділ завдання граничних умов;

REGION 1 – завдання областей для декількох матеріалів;

START(,) – завдання меж для області;

TIME – установка часу розрахунку для нестаціонарних завдань;

MONITORS – завдання параметрів виведення проміжних даних розрахунку;

СONTTOUR – розділ виведення графічних результатів у вигляді контурних зображень;

ELEVATION – розділ виведення графічних результатів у вигляді графіку для обумовленої області;

PLOTS – розділ виведення графічних результатів;

REPORT – виведення результатів розрахунку у вигляді текстових даних;

HISTORIES – виведення результатів розрахунку;

END – означає кінець програми.

Деякі з вказаних розділів в конкретному завданні можуть бути опущені. При цьому, тоді як існує деяка гнучкість в розміщенні цих розділів, передбачається, що користувач твердо притримується впорядкованості, описаній вище.

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

    1. Title

Є необов'язковим і може містити один літеральний рядок. У разі присутності цього розділу в сценарії літеральний рядок використовується як мітка заголовка для графіків, що виводяться.

    1. Select

Не є обов'язковим і використовується, коли необхідно ввести або відмінити деякі внутрішні параметри. Змінні в цьому розділі використовуються для управління процесом розрахунку і мають зумовлені імена.

Змінні розділу Select:

Назва(Значення за замовчуванням) – Призначення.

ALIAS (Х) – визначає додаткову мітку для графічних осей.

АSPEСT (4.0) – Максимальний коефіцієнт стиснення комірок.

AUTOHIST (On) – Примушує графіки бути модифікованими як авансовий платіж.

AUTOSTAGE (On) – Всі зазначені стадії будуть розраховані без паузи між ними.

BLACK (Off) – Виведення графічних даних тільки в чорно-білому режимі.

CDFGRID (51) – Визначає заданий за замовчуванням розмір сітки виведення.

CHANGELIM (0.5 (сталого стану) 2.0 (нестаціонарні задачі)) – Визначає максимальну зміну будь-якої вузловий змінної, дозволене на будь-якому кроці ітерації Ньютона (виміряний щодо змінної норми).

COLORCYCLE (32) – Максимальне число кольорових смуг в проекції веселки.

CUBIC (On) – Використовуються кубічну базисні функції. За замовчуванням - квадратичні функції.

CURVATURE_ERROR(Оn) – У версіях від 2.11 до 2.15, FlexPDE використовував метод кривизни для оцінки помилки. Подальші версії використовують інтегральний метод по центру осередку.

CURVATURE_ERROR – селектор повертає старий метод.

DEBUG (GRID)(Off) – Показує процес малювання двовимірної сітки.

ELEVATIONGRID (401) – Розмір сітки графіка значення функції. Графіки на границях області ігнорують це значення і використовують фактичні точки мережі.

ERRLIM (0.001) – Це первинний контроль точності. Будь-яка клітинка, в якій обчислена помилка в залежних змінних не перевищує це значення, не буде розбита (якщо NODELIMIT перевищено) – . У несталих завданнях timestep буде зменшений, якщо оцінка помилка при інтегруванні по часу перевищує це значення. Селектор SENSITIVITY може використовуватися, щоб змінити рівновагу між тимчасовими і просторовими помилками.

FIRSTPARTS (Off) – за замовчуванням, FlexPDE інтегрує всі члени з другим порядком за частинами, створюючи поверхневі інтеграли, представлені природним граничними умовами. Цей селектор змушує члени першого порядку також інтегруватися по частинах. Використання цієї опції може зажадати додаткових членів до природних граничних умов.

FIXDT (Off) – Відключає автоматичний контроль по кроково за часом timestep. Timestep встановлений у значенні, даним у розділі TIME.

FONT (1) – Fоnt = 1 вибирає шрифт San-Serif. Fоnt = 1 вибирає шрифт Serif.

GALERKIN_ERROR (Off) – До версії 2.11 FlexPDE використовує інтеграли Гальоркіна, щоб оцінити помилки. Подальші версії використовують менш дорогі оцінки кривизни. GALERKIN_ERROR селектор повертає старий метод.

GRAY (Off) – Весь вивід графічних даних малюється в шкалі яскравості з 5 рівнями.

GRIDARC (30 градусів) – Дуги будуть gridded без комірки, що перевищує цей кут. Інші коефіцієнти (фактори) – можуть змусити цей розмір бути меншим.

GRIDLIMIT (8) – Максимальне число перебудов сіток, після якої почнеться попередження. Пакет виконує зупинку на цій межі.

HARDMONITOR (Off) – Примушує МОНІТОРИ бути записаним у твердих копіях (у файли з розширенням *.PGX).

HYSTERESIS (0.5) – Представляє гістерезис у розпаді оцінок просторових помилок в несталих задачах. Ефективна оцінка помилки включає ця частина попередньої ефективної оцінки, доданої у ток миттєвау оцінку. Цей ефект справляє lmore стійкий regridding в більшості випадків.

INITGRIDLIMIT (5) – Максимальне число перебудов сітки від початкового стану. INITGRIDLIMIT = 0 забороняє удосконалення сітки.

ITERATE (500) – Первинна межа числа ітерацій сполученого градієнта. Це - кількість ітерацій, після якого методи збіжності (coersciоn) – починають застосовуватися. Фактичний жорсткий максимальний ітеративний індекс - 4*ITERATE.

LINUPDATE (5) – У лінійних сталих проблеми FlexPDE повторює рішення лінійної системи поки обчислені похибки будуть нижче допустимих, що визначається LINUPDATE.

LOGLIMIT (15) – Діапазон даних у логарифмічних графіках обмежений LOGLIMIT на порядок нижче максимального значення даних. Це - глобальний контроль, який може бути скасований локальним LOG (<number>) – специфікатором в графічній команді.

MERGE (On) – Дозволяє об'єднувати осередки сітки при малій помилці. Тільки осередки, які мають попередньо розбиття, можуть бути об'єднані.

MODES (0) – Вибирає рішення задачі для власного значення і визначає бажане число мод.

NEWTON( (2/changelim) +20 ) – Скасовує заданий за замовчуванням максимум кроку в ітерації Ньютона.

NGRID (10) – Визначає число осередків сітки в максимальному вимірі.

NODELIMIT (500000) – Визначає максимальне число вузлів. Якщо вдосконалення сітки пробує створювати більше вузлів, то буде спроба злиття комірок, щоб збалансувати помилки поперек сітки зазначеного розміру.

NONLINEAR (AUTOMATIC) – Вибирає нелінійний метод для вирішення (Ньютона - Raphsоn), навіть якщо автоматичний процес виявлення не хоче цього.

NONSYSMMETRIC (Automatic) – Вибирає несиметричний метод рішення Lanczos, навіть якщо автоматичний процес виявлення не хоче цього.

NOTIFY_DONE (Off) – Запит, щоб FlexPDE випустив гудок і повідомлення "DONE" при завершенні рішення.

NOTIPS (Off) – Стрілки у векторі графіку складаються без стрілок - покажчиків. Корисно для двобічної графіки напруг.

NRUPDATE (1) – Встановлює максимальний величину кроку в методі Ньютона - Raphsоn для кожного часового кроку timestep в нелінійних проблеми, що залежать від часу. Значення за замовчуванням (1) , здається, дає кращий баланс між вартістю і точністю.

ORDER (2) – Вибирає порядок кінцевої інтерполяції елемента (ступінь базисних функцій 2 або 3) .

OVERSHOOT (0.001) – Підітеративний контроль збіжності. Рішення з сполученим градієнтом виконають ітерації до похибки OVERSHOOT*ERRLIM.

PAINTED (Off) – Малювання заповнених кольором контурних графіків. Графіки можуть бути пофарбовані індивідуально селектором РАINT в графічних модифікаторах.

PAINTGRID (On) – Малювання заповнених кольором сіток. Кольори представляються номерами.

PLOTINTEGRATE (On) – Інтегрування всіх просторових графіків (за часом повинні бути явно проінтегровані).

PRECONDITION (On) – Використовуйте матрицю precоnditiоning в рішеннях з сполученим градієнтом. Значення за замовчуванням - блочно-діагональна зворотна матриця.

PRINTMERGE (Off) – Всі цикли (стадії) посилаються для запису до єдиного файлу. Можна скласти графік часів за допомогою інструкції EXPORT. За замовчуванням EXPORT створює окремий файл для кожного часу або циклу. Індивідуальний EXPORT може управлятися графічними модифікаторами.

QUADRATIC (On) – Використовують квадратичні базисні функції.

EGRID (On) – За замовчуванням FlexPDE здійснює адаптивне удосконалення сітки. Цей селектор може використовуватися, щоб вимкнути це і використовувати фіксовану сітку.

SENSITIVITY (1.0) – Управляє рівновагою між просторовими і тимчасовими помилками. Збільшення чутливості вимагає створення більш щільних просторових сіток.

SMOOTHINIT (Off) – Здійснює помірне початкове згладжування для проблем, що залежать від часу. Допомагає підвищити якість розривних початкових умов.

STAGES (1) – Автоматичне виконання циклів, заданих в множині STAGES.

STATUSMESH (On) – Сітка обчислень показується у вікні стану (Off дає тільки границі) .

SUBSPACE (MIN (2 * modes, modes +8) ) – Вибирає вимір підпростору, де обчислюють власні значення.

SURFACEGRID (51) – Вибирає мінімальну роздільну здатність для поверхневих графіків.

TCENTER (2 / 3) – Позиціонування просторової похідної в timestep. (1 / 2 = Crank - Nicolsоn), 2 / 3 = Гальоркін, 1 = Назад неявний).

THERMAL_COLORS (Off) – Повністю змінює порядок кольорів, використовуваних в маркуванні графіки, так щоб червоний був у вгорі, замість внизу (найнижчий спектральний колір).

UPFACTOR (1) – Множник при модернізації (upwind) дифузійних членів.

UPWIND (На) – "Upwind" (модернізація) членів конвекція у вихідному рівнянні для змінної. У присутності членів конвекції, додає дифузійний член

по напряму потоку, щоб стабілізувати обчислення.

VANDENBERG (Off) – Використання Vandenberg ітерації спряжених градієнтів (корисно, якщо гіперболічні системи не сходяться). Цей метод по суті вирішує (AtA) x = (At) b замість Ax = b. Це зводить у квадрат число умов і уповільнює збіжність, але це робить всі власні значення достовірними, коли стандартний метод CG дає збій.

VECTORGRID (31) – Встановлює мінімальну роздільну здатність векторних графіків.

VIEWPOINT (<x>, <y>, <angle>) (Lower left, 30) – Визначає заданий за замовчуванням кут видимості для поверхневих (SURFACE) графіків. Кут знаходиться в градусах. (У тривимірному випадку це визначає позицію в площині вирізки).