Основи роботи з пакетом FlexPDE

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Зміст

  • Вступ
  • Розділ 1. Основи роботи з пакетом FlexPDE
    • 1.1 Title
    • 1.2 Select
    • 1.3 Coordinates
    • 1.4 Variables
    • 1.5 Definitions
    • 1.6 Initial values
    • 1.7 Equations
    • 1.8 Constraints
    • 1.9 Extrusion
    • 1. 10 Boundaries
      • 1. 10.1 REGION
      • 1. 10.2 EXLUDES
      • 1. 10.3 FEATURE
    • 1. 11 Time
    • 1. 12 Monitors і Plots
    • 1. 13 Histories
    • 1. 14 Оператори і функції FlexPDE
  • Розділ 2. Рівняння руху рідини в циліндричній системі координат
  • Розділ 3. Практична частина
  • Висновок
  • Список літератури
  • Вступ
  • Потужним інструментом пізнання, аналізу та синтезу нелінійних процесів є метод математичного моделювання, який підтримується різноманітними комп’ютерними системами та пакетами прикладних програм. Досить відомі призначені для вирішення широкого кола завдань системи і пакети: FlexPDE, MathCAD, Matlab, Maple, ChemCAD та інших.
  • Серед вказаних програмних продуктів особливе місце займає пакет FlexPDE, що підтримує метод кінцевих елементів при моделюванні об'єктів з розподіленими змінними, що описуються нелінійними диференціальними рівняннями з частинними похідними.
  • У науці і техніці більшість завдань на тому чи іншому рівні складності може бути описано за використанням диференціальних рівнянь в частинних похідних. З цього випливає, що програмний пакет такий, як FlexPDE, може застосовуватися майже в будь-якій галузі науки чи техніки.
  • Дослідники в різних галузях можуть застосовувати FlexPDE в побудові моделей експериментів або апаратури, оцінюючи або пророкуючи значущість різних ефектів. Різноманітність параметрів або залежностей не обмежена заданими рамками, а може довільно бути аналітично задано.
  • У техніці FlexPDE може бути використаний для оптимізації проектів, оцінки їх виконання і концептуального аналізу. При цьому важливо відзначити, що одне і те ж програмне забезпечення може застосовуватися для моделювання всіх деталей проекту і немає необхідності залучати додаткові інструменти для оцінки окремих ефектів.
  • При розробці програмного забезпечення пакет FlexPDE може служити ядром для програм спеціального призначення, в яких необхідне створення моделі кінцевих елементів для системи рівнянь частинних похідних.
  • Програмний пакет FlexPDE може застосовуватися при вирішенні таких завдань:
  • *стаціонарних задач в електротехніці, механіці і теплотехніці;
  • *нестаціонарних (залежних від часу) завдань в хімії, механіці, теплотехніці, біології, електротехніці, оптиці і акустиці.
  • Актуальність теми. За останні роки в різних галузях науки, значно зріс інтерес до проблем хаотичної динаміки, зокрема, до — перемішування в’язких рідин за різних умов їх повільного руху. Актуальність досліджень процесів перемішування у в’язких рідинах визначається важливістю цього процесу в навколишньому середовищі і має широке застосування їх в сучасних технологіях.
  • Теорія в’язкої рідини при малих числах Рейнольдса являє собою один з найважливіших для практики та цікавий з точки зору фундаментальних математичних досліджень розділ гідромеханіки. Фізика нафтових та інших мастильних речовин, проблеми фільтрації, деякі напрямки біо- та геофізики, фізіології і медицини, океанології, екології, хімічної промисловості, гідротехніки — ось далеко не весь перелік галузей науки і техніки при дослідженні проблем яких плідно використовується модель Стокса та гідромеханіка при малих числах Рейнольдса. Велика кількість прикладних проблем говорить про актуальність теоретичних досліджень, що базуються на теорії Стокса.
  • Мета. Метою дипломної роботи є ознайомлення з особливостями системи FlexPDE та тепло-гідравлічними процесами. Розглянути способи моделювання тепло-гідравлічних процесів у системі FlexPDE.

Розділ 1. Основи роботи з пакетом 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. 1 Title

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

1. 2 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 (500 000) — Визначає максимальне число вузлів. Якщо вдосконалення сітки пробує створювати більше вузлів, то буде спроба злиття комірок, щоб збалансувати помилки поперек сітки зазначеного розміру.

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) графіків. Кут знаходиться в градусах. (У тривимірному випадку це визначає позицію в площині вирізки).

1. 3 Coordinates

Є необов’язковим. Визначає систему координат для конкретного завдання. При цьому розділ задається в наступному виді:

COORDINATES < geom>

де < geom> - тип системи координат, що задається.

У цьому розділі можливо зробити перейменування координат, в цьому випадку використовується наступний запис:

COORDINATES < geom> ('Xname ', 'Yname {'Zname'}).

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

COORDINATES < geom>,

де geom може бути будь-яким з наступних видів:

Таблиця1

Види систем координат:

Назва

Значення

CARTESIAN

Декартові координати на ім'я 'X' і ' Y '

XCYLINDER

Циліндричні координати з осьовою координатою 'Z ', що знаходиться по горизонтальній 'X' графічній осі, і радіальна координата 'R ', що знаходиться по вертикальній лінії 'Y' графіку

YCYLINDER

Циліндричні координати з радіальною координатою 'R ', що знаходиться по горизонтальних 'X' графічній осі, і осьовою координатою 'Z ', що знаходиться по вертикальній лінії 'Y' графіку

CARTESIAN3

Декартові координати на ім'я 'X ', 'Y' і ' Z '

1. 4 Variables

Використовується для визначення змінних, використовуваних в сценарії. Кожна змінна визначає безперервне скалярне поле по розрахунковій області. При застосуванні імен залежних змінних застосовуються наступні правила:

— Імена змінних повинні розпочинатися з алфавітного символу. Вони не можуть розпочинатися з цифри або символу.

— Імена змінних мають бути унікальними і відрізнятися від символу t, який зарезервований для змінної часу.

— Імена змінних можуть мати будь-яку довжину і будь-яку комбінацію символів, цифр і (чи) символів, відмінних від зарезервованих слів.

— Імена змінних не повинні містити будь-які роздільники. Складені імена можуть бути сформовані з використанням символу '_'.

— Імена змінних не можуть містити '-', який зарезервований для знаку мінус.

При цьому програма не розрізняє заголовні і рядкові букви, так змінна X і x означають одне і те ж.

1. 5 Definitions

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

< Name>=ARRAY [< value1>, < value2>, … < value_n>]

1. 6 Initial values

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

Initial values Xk=25 — x

1. 7 Equations

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

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

Таблиця2

Оператори диференціальних рівнянь:

Команда, функція або константа

Синтаксис

Назва

CURL

CURL (X)

Ротор числа X

DEL2

DEL2 (X)

Лапласіан числа. X, эквивалентний Div (Grad (X))

DIV

DIV (X)

Дивергент числа X

GRAD

GRAD (X)

Градієнт числа X

D

DX ()

Диференціальний оператор по X

D

DXX ()

Друга похідна по X

1. 8 Constraints

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

Розділ Constraints зазвичай містить один або більшу кількість інструкцій форми

Integral (argument) = Expression

1. 9 Extrusion

Дуже часто при рішенні диференціальних рівнянь в якості областей рішення використовуються не плоскі, а об'ємні 3D-объекты; в цьому випадку використовується розділ Extrusion, який розширює розрахункову область до 3D-объекта.

1. 10 Boundaries

Є обов’язковим використовується, щоб описати двовимірну область або проекцію трьохвимірній області на основну площину і приєднати граничні значення і зовнішні джерела на фізичних межах завдання. У FlexPDE існує два основні типи завдання граничних умов — VALUE і NATURAL. У граничні умови у формі VALUE (чи по Діріхле) визначається значення, яке повинна прийняти змінна на межі області рішення. У граничних умовах у формі NATURAL задається значення потоку на межі області рішень.

програма flexpde гідравлічний швидкість в’язкість

1. 10. 1 REGION

Використовується, щоб описати замкнуті області, які складають фізичну геометрію проблеми в двовимірній площині, або двовимірні проекції на основну площину в тривимірних проблемах. Підрозділи REGIONS включають області і під області з визначними матеріальними параметрами. Підрозділи REGIONS сформовані таким чином, що розпочинаються із зарезервованого слова START, супроводжуваного фізичними координатами відправної точки, потім слід йти уздовж межі області, описуючи їх прямолінійними відрізками або дуговими сегментами, і замикається область зарезервованим словом FINISH. Координати мають стандартну математичну форму (X, Y).

Таблиця 3

Використовувані графічні примітиви:

Примітив

Синтаксис

Назва

LINE

LINE TO (X, Y)

Лінія від точки START до точки з координатами (X, Y)

-

LINE TO (X, Y) TO (X1, Y1) TO (X2, Y2) TO …

Полілінія, що проходить через точки з координатами (X, Y), (X1, Y1), (X2, Y2) та ін.

ARC

ARC TO (X1, Y1) TO (X2, Y2)

Дуга від точки з координатами (X1, Y1) до точки з координатами (X2, Y2)

-

ARC (RADIUS=R) TO (X, Y)

Дуга радіусом R до точки з координатами (X, Y)

-

ARC (CENTER=X1, Y1) TO (X2, Y2)

Дуга з центром в точці з координатами (X1, Y1), проведена до точки з координатами (X2, Y2)

-

ARC (CENTER=X1, Y1) ANGLE=angle

Дуга з центром в точці з координатами (X1, Y1), проведена на кут angle (у градусах)

1. 10.2 EXLUDES

Використовується, щоб описати замкнуті області, який мають оверлейні (що перетинаються) частини в одному або більшій кількості підрозділів REGIONS. Область, описана підрозділом EXLUDES, виключається з системи розрахунку. Підрозділи EXLUDES, повинні йти за підрозділами REGIONS, яким вони оверлейні.

Підрозділи EXLUDES описуються тим же самим способом, як і підрозділи REGIONS, і можуть використовувати також LINE і ARC сегменти.

1. 10.3 FEATURE

Використовуються, щоб описати незамкнуті об'єкти, які не включають під область з визначним матеріальними параметрами. Підрозділи FEATURE сформовані тим же самим способом, як і підрозділи REGIONS, і можуть використовувати також LINE і ARC сегменти. Підрозділи FEATURE не закінчуються резервним словом FINISH. Підрозділи FEATURE використовуються, коли проблема має внутрішні лінійні джерела; коли бажано обчислити інтеграли по нерегулярного шляху, або коли потрібно явне управління обчислювальної сіткою.

1. 11 Time

Використовується в нестаціонарних прикладних описувачах, щоб визначити діапазон часу.

В FlexPDE підтримуються наступні альтернативні форми завдання тимчасового діапазону:

— FROM time1 TO time2.

— EROM time1 INCREMENT TO time2.

— EROM time1 TO time2 INCREMENT.

де time1 — початковий час; time2 — кінцевий час; INCREMENT — необов’язкова специфікація початкового кроку за часом.

1. 12 Monitors і Plots

Розділ Monitors є необов’язковим і використовується, щоб перерахувати графічні дисплеї (проміжні графіки), які виводяться в процесі виконання завдання.

Розділ Plots є необов’язковим, використовується щоб перерахувати графічні дисплеї (кінцеві графіки), які будуть виведені на екран по завершенню виконання завдання. Розділ Plots відрізняється від розділу Monitors так само тим, що графіки першого можуть бути записані у файл з розширенням *. PGX для наступного відображення після виконання завдання.

Інструкції Plots і Monitors мають однакову форму та функції. Розділи Monitors або Plots можуть містити один або більшу кількість специфікацій дисплея наступних типів:

CDF (arg1 [, arg2, … ]) — виконує експорт перерахованих значень у вигляді сітки CDF формату версії 3.

СONTOUR (arg) — виконує висновок двовимірного контурного графіка параметра (arg), з однорідними інтервалами рівня параметра.

ELEVATION (arg1, [arg2 ,… ]) < path> - виконує двовимірний графік, який відображає значення параметру (ів) вертикально по осі Y, а горизонтально (вісь OX) область локалізації незалежної змінної.

GRID (arg1, arg2) — малює двовимірну сітку обчислень з вузловими координатами, визначеними двома параметрами. Сітки можуть бути особливо корисні для відображення матеріальних деформацій.

SUMMARY ('string') — цей графічний тип визначає текстову сторінку, що містить тільки повідомлення про дані, введених у текстовому рядку.

TABLE (arg1 [, arg2, … ]) — виконує експорт перерахованих значень в табличному текстовому форматі.

TECPLOT (arg1 [, arg2, … ]) — виконує експорт перерахованих значень у файл, що читається TecPlot системою візуалізації.

VECTOR (arg1, arg2) — малює двовимірний дисплей спрямованих стрілок, в яких X-і Y-компоненти стрілок задаються arg1 і arg2.

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

AS 'string' - змінює мітку на дисплеї на вираз, вказаний в рядку.

EXPORT -записує на диску файл, що містить дані, представлені в розділах Monitors або Plots.

INTEGRATE — повертає значення інтеграла від функції, зображеної на графіку.

— LOG.

— LINLOG.

— LOGLIN.

— LOGLOG.

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

У разі використання односкладової слова, наприклад, LIN — це означає завдання лінійного масштабу відображення графіків, у випадку завдання LOG графіки будуть мати логарифмічні осі. При використанні зіставних слів (LINLOG, LOGLIN, LOGLOG) перше слово застосовує до логічної Осі X, друге — до логічної Осі Y і так далі.

NOTIPS — даний специфікатор відображає графіки типу Vector як відрізки без стрілок.

PAINTED — заповнює області між контурними лініями кольором.

Будь-яка специфікація дисплея може супроводжуватися одним або більшою кількістю наступних пропозицій з метою збільшення повідомлень до графіків:

REPORT expression — дана специфікація додає внизу графіка текст 'text expression = value expression ', де expression — будь-який вираз, включаючи вирази, що містять інтеграли.

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

FOR CYCLE = number — у цьому випадку графіки будуть оновлюватися на кожному зазначеному часовому кроці.

FOR T = timeset1 [timeset2 … ] - Кожен timeset (часовий крок) може бути або певним часом або групою часових кроків, зазначених як масив значень.

1. 13 Histories

Є необов’язковим, визначає значення, змінних для яких хронологія через трансформаційних змін. Інструкції цього розділу мають такий вигляд:

HISTORY (arg)

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

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

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

Таблиця 4

Математичні функції і константи у FlexPDE:

Команда, функція або константа

Синтаксис

Назва

ABS

ABS (X)

Модуль числа X

ARCCOS

ARCCOS (X)

Арккосинус числа X

ARCSIN

ARCSIN (X)

Арксинус числа X

ARCTAN

ARCTAN (X)

Арктангенс числа X

ATAN2

ATAN2(Y, X)

Арктангенс числа (Y/X)

BESSJ

BESSJ (N, X)

Функція Бесселя 1-го роду N -го роду числа X

BESSY

BESSY (N, X)

Функція Бесселя 2-го роду N -го роду числа X

BINTEGRAL

BINTEGRAL (< рівняння>, < ім'я межі>)

Інтегральне значення < рівняння>для лінійної області < ім'я межі>

COS

COS (X)

Косинус X

COSH

COSH (X)

Гіперболічний косинус X

CROSS

CROSS (vector1, vector2)

Повертає векторну величину, рівну сумі векторів

DOT

DOT (vector1, vector2)

Повертає скалярну величину для точки, рівну сумі двох векторів

ERF

ERF (X)

R-функція числа X

ERFC

ERFC (X)

Додаткова R-функція числа X

EXP

EXP (X)

Експонента числа X

EXPINT

EXPINT (X)

Інтеграл ln (X)

EXPINT (n, X)

Інтеграл

GAMMAF

GAMMAF (X)

Гамма-функція (Інтеграл Ейлера першого роду)

-

GAMMAF (a, X)

Гамма-функція (інтеграл Ейлера другого роду)

INTEGRAL

LINE_INTEGRAL (X, Region 1)

Повертає значення інтеграла функції X, для області 1 (1D-объект)

-

AREA_INTEGRAL (X, Region 1)

Повертає значення інтеграла функції X, для області 1 (2D-объект)

-

VOL_INTEGRAL (X, Region 1)

Повертає значення інтеграла функції X, для області 1 (3D-объект)

LOG10

LOG10(X)

Логарифм десятковий числа X

LN

LN (X)

Логарифм натуральний числа X

MAGNITUDE

MAGNITUDE (vector1)

Повертає скалярну величину вектору

MAX

MAX (arg1, arg2)

Повертає максимальне значення функції двох значень

MIN

MIN (arg1, arg2)

Повертає мінімальне значення функції двох значень

MOD

MOD (arg1, arg2)

Повертає абсолютне значення функції двох значень

SIN

SIN (X)

Синус числа X

NORMAL

NORMAL (vector1)

Повертає скалярну величину нормальній складовій до межі області заданого вектору

SINH

SINH (X)

Гіперболічний синус X

SQRT

SQRT (X)

Корінь квадратний числа X

SIGN

SIGN (X)

Повертає число, рівне 1 якщо X > 0 і, — 1 якщо X < 0

SUM

SUM (i, 1,10, exp (- i))

Повертає значення суми для функції

TAN

TAN (X)

Тангенс числа X

TANH

TANH (X)

Гіперболічний тангенс числа X

Окрім вказаних функцій і констант в FlexPDE використовуються стандартні математичні оператори таблиця 5.

Таблиця 5

Математичні оператори:

Оператор

Виконувана операція

-

Віднімання

+

Додавання

*

Множення

/

Ділення

^ чи **

Піднесення до степеня

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

Рівняння руху рідини в циліндричній системі координат матимуть наступний вигляд:

; (2. 1)

; (2. 2)

(2. 3)

; (2. 4)

(2. 5)

(ф.5. 14 в 12)

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

TITLE

'В'язка течія в трубі при високих числах Рейнольдса'

SELECT

stages=3 {Вказуємо 3 етапи}

COORDINATES

ycylinder ('r','z') {Використовуємо циліндричні координати з радіальною

координатою «r» і осьовою координатою «z"}

VARIABLES {Задаємо змінні}

vr (0. 01) vz{Координати вектора}

p{Тиск}

DEFINITIONS

L=2. 0{Довжина}

r1=1. 0{Радіус}

visc=1. 0{В'язкість}

dens=1e3{Густина}

delp = staged (1e-6,1e-2,1,10, 20){ Послідовні значення }

k = staged (0,1,1,1,1){ Лінійні до нелінійних }

v = vector (vr, vz){Вектор}

vm = magnitude (v){ Скалярна величина вектора }

Re = dens* globalmax (vm)*r1/ visc

div_v = 1/r*dr (r*vr)+dz (vz)

curl_phi = dz (vr)-dr (vz)

vz_ex = delp/(L* 4*visc)*(r12-r2){ Точне рішення для Re< <1 }

unit_r = vector (1,0)unit_z = vector (0,1)

vrdvr = vr*dr (vr)+vz*dz (vr)vrdvz = vr*dr (vz)+ vz*dz (vz)

natp = visc*normal (unit_r)*[1/r*dr (r*dr (vr))-vr/r2+dzz (vr)]+

+visc*normal (unit_z)*[1/r*dr (r*dr (vz))+dzz (vz)]-k*dens*[normal (unit_r)*

*vrdvr+normal (unit_z)*vrdvz]

EQUATIONS

vr: k*dens* vrdvr+ dr (p) — visc*[1/r*dr (r*dr (vr))-vr/r2+dzz (vr)]=0

vz: k*dens* vrdvz+ dz (p) — visc*[ 1/r*dr (r*dr (vz))+ dzz (vz)]= 0

p: 1/r*dr (r*dr (p))+ dzz (p)+ k*dens*[1/r*dr (r*vrdvr)+dz (vrdvz)]--

1e4*visc/L2* div_v= 0

BOUNDARIES

region 'domain' start 'outer' (0,0)

value (vr)=0 natural (vz)= 0 value (p)=delp line to (r1,0) { Вхід }

value (vr)=0 value (vz)=0 natural (p)= natp line to (r1,L)

value (vr)=0 natural (vz)=0 value (p)=0 line to (0,L) { Вихід }

value (vr)=0 natural (vz)= 0 natural (p)=0 line to close

PLOTS

contour (vz) report (Re) contour (vr)

contour (p) painted {заливка між контурами} vector (v) norm

elevation (vz, vz_ex) from (0,L) to (r1,L) report (Re) {вивід графіка в

області}

elevation (2*pi*r*vz) from (0,0) to (r1,0) { Потік }

elevation (2*pi*r*vz) from (0,L) to (r1,L)

END

Всі одиниці використовувані в дипломній роботі задані в системі СІ.

Далі наведені результати виконання програмного коду в системі FlexPDE. Результати представлені у вигляді графіків.

На Мал.2 зображена кінцева область зміни вектора «v», який показує напрям руху течії води в циліндричній трубі радіуса 1 і довжиною 2 і межі зміни вектора «v» які показую швидкість течій.

Мал. 2. Напрям руху рідини

Мал. 3. Кінцевий розподіл швидкості рідини

На Мал. 3 зображено кінцевий розподіл швидкості рідини (води) у трубі радіуса 1 і довжиною 2 по осьовій координаті «z».

Мал. 4. Кінцевий розподіл швидкості рідини

На Мал.4 зображено кінцевий розподіл швидкості рідини (води) у трубі радіуса 1 і довжиною 2 по радіальній координаті «r».

Мал. 5. Кінцевий розподіл тиску в системі

На Мал.5 зображено кінцевий розподіл тиску рідини (води) у трубі радіуса 1 і довжиною 2.

Програма описана вище розглядалася для течії води у трубі з радіусом 1 і довжиною 2 Змінимо параметр довжина на 10 і проведемо обрахунок ще раз.

Мал. 6. Напрям руху рідини

На Мал.6 зображена кінцева область зміни вектора «v», який показує напрям руху течії води в циліндричній трубі радіуса 1 і довжиною 10 і межі зміни вектора «v» які показую швидкість течій.

Мал. 7. Кінцевий розподіл швидкості рідини

На Мал.7 зображено кінцевий розподіл швидкості рідини (води) у трубі радіуса 1 і довжиною 10 по осьовій координаті «z».

Мал. 8. Кінцевий розподіл швидкості рідини

На Мал.8 зображено кінцевий розподіл швидкості рідини (води) у трубі радіуса 1 і довжиною 10 по радіальній координаті «r».

Програма описана вище розглядалася для течії води у трубі з радіусом 1 і довжиною 10. Тепер розглянемо рух іншої рідини (наприклад меду) в цій самій трубі з радіусом 1 і довжиною 10 для цього потрібно змінити значення густини на 1420 і в’язкість на 9

На Мал.9 зображено кінцевий розподіл швидкості рідини (Меду з густиною 1420 і в’язкістю 9) у трубі радіуса 1 і довжиною 10 по осьовій координаті «z».

Мал. 9. Кінцевий розподіл швидкості рідини

Мал. 10. Кінцевий розподіл швидкості рідини

На Мал. 10 зображено кінцевий розподіл швидкості рідини (Меду з густиною 1420 і в’язкістю 9) у трубі радіуса 1 і довжиною 10 по радіальній координаті «r».

Висновок

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

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

Було з’ясовано, що при більшій довжині труби збільшується швидкість руху рідини в ній, про що свідчать збільшення можливої швидкості по осьовій координаті «z» та по радіальній координаті «r».

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

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

1. Компьютерное моделирование процессов и аппаратов пищевой, био- и химической технологии в среде FlexPDE: Учеб. пособие / Тамбов: Изд-во Тамб. гос. тех. ун-та, 2006. 72 с.

2. Математическое моделирование и оптимизация ХТП / В. А. Холоднов, В. П. Дьяконов, Е. Н. Иванова, Л. С. Киреянова. СПб., 2003. 480 с.

3. Сабоннадьер Ж. К., Кулон Ж. Л. Метод конечных элементов и САПР. М.: Мир, 1989. 190 с.

4. Тихонов А. Н., Самарский А. А. Уравнения математической физики. 6-е изд. М.: Изд-во Моск. ун-та, 1999.

5. Дворецкий С. И., Егоров А. Ф., Дворецкий Д. С. Компьютерное моделирование и оптимизация технологических процессов и оборудования: Учеб. пособие. Тамбов: Изд-во Тамб. гос. техн. ун-та, 2003. 224 с.

6. Колесниченко А. Ф., Казачков И. В., Водянюк В. О., Лысак Н. В. Капиллярные МГД-течения со свободными границами. — Киев: Наукова думка. — 1988. — 176 с.

7. Gorislavets Yu. M., Kazachkov I.V., Kolesnichenko A.F. et al. Controlled decomposition of a liquid metal jets and films in technological and power devices / Liquid metal MHD flows. — Kluwer Acad. Publ. — Holland. — 1989. — P. 293−298.

8. С. И. Дворецкий, А. А. Ермаков, О. О. Иванов. Компютерное моделирование процессов и аппаратов пищевой, био- и химической технологии в среде FlexPDE.

9. Ентов В. М., Ярин А. Л. Динамика струй и пленок вязких и реологически сложных жидкостей / Итоги науки. МЖГ. — М.: 1984. — Т. 18. — С. 112−197.

10. Ali Hasan Mogaddam, I.V. Kazachkov. Modelling of the corium melt interaction with water and vapour during severe accidents at NPP // 3rg WSEAS Intern. Conferense, Univ. of Cambridge, February 23−25, 2008. — P. 71−76.

11. Али Хасан Могаддам, И. В. Казачков. Модели внедрения расплава кориума в подреакторное пространство с водой // Ядерная и радиационная безопасность. — Киев. — 2007. — № 4. — С. 48−61.

12. Кочин Н. Е., Кибель И. В., Розе Н. В. Теоретическая гидромеханика, ч. II. М., Физматгиз, 1963 г., 728 стр.

ПоказатьСвернуть
Заполнить форму текущей работой