Кінцеві відмінності щодо доменів з неправильними межами


11

Чи може хтось допомогти мені знайти книги про числові рішення (скінченна різниця та методи Кранка-Ніколсона) Пуассона та рівняння дифузії, включаючи приклади неправильної геометрії, наприклад, домен, що складається з області між прямокутником та колом (особливо книги чи посилання на прикладах коду MATLAB у цьому випадку)?


4
З якою метою? Вступ для студентів на самому початку? А що таке неправильна геометрія у вашому випадку? Домени з рентген-кутами?
шухало

@Martin: Я великий фактор у цій галузі. Мені це потрібно для розв’язання рівняння Пуассона за допомогою ітеративних методів на неправильно сформованих областях, особливо тіт із вигнутими зв'язками (наприклад, круговий домен 2-D)
liona

2
@last Будь ласка, відредагуйте назву та тіло питання, щоб було зрозуміло, що ви ставите. Вкажіть види рівнянь, які вас цікавлять. Вас цікавлять розсуди, алгебраїчні розв'язувачі чи обидва? Чи хвилює вас скінченна різниця проти кінцевих елементів ( scicomp.stackexchange.com/questions/290/… )? Ваше поточне запитання надзвичайно широке, і його важко знайти в пошуку.
Джед Браун

@JedBrown: Я хочу вирішити рівняння Пуассона, використовуючи кінцеву різницю для даного домену та граничної умови.
liona

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

Відповіді:


3

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

000000000000011111111110001222222100000122221000000012210000000001100000000000000000

Справжній домен (де всі ненульові записи матриці) утворює трикутник, спрямований вниз. 1 представляє точки на кордоні, тоді як 2 представляють внутрішні точки (як правило, unkowns). Ми можемо призначити числа вузлів наступним чином:

0000000000000-1-1-1-1-1-1-1-1-1-1000-1123456-100000-178910-10000000-11112-1000000000-1-100000000000000000

Тут -1 являють собою граничні місця. Тоді ви можете запустити схему кінцевих різниць для всіх записів у матриці, але використовувати оператор if для виконання своєї схеми лише на внутрішніх вузлах (від 1 до 12). Цей підхід - не найефективніший спосіб зробити це, але він виконає роботу ... якщо ви можете дозволити собі пам'ять, можливо, буде добре зберігати (i, j) записи всіх внутрішніх вузлів і запускати a для циклу лише на цих вузлах.

Щоб створити геометрію безпосередньо, ви можете виконати одну з двох речей:
1. Створіть чорно-біле зображення вручну та імпортуйте його у свою програму (найпростіше втілити, але неможливо уточнити просторову роздільну здатність dx чи dy).
2. Напишіть код, який створить дискретні представлення основних фігур, які ви хочете для будь-якого обраного вами просторового дозволу (важче реалізувати, але більш надійний для загальних схем кінцевих різниць будь-якого просторового дозволу dx чи dy).

Якщо ви хочете дізнатися більше про те, як це зробити, ви можете розглянути такі відео:
Курс комп'ютерної графіки NPTEL, Відео 2 (растрова графіка)
Курс комп’ютерної графіки NPTEL, Відео 3 (Растрова графіка, продовження)
Перевірте їх та дайте мені знати, якщо це стосується вашого питання.


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

Так, ви можете використовувати MathJax і помістити їх у середовище масиву.
Девід Кетчесон

Ви маєте рацію ... з MathJax це виглядає набагато приємніше. Дякую за пропозицію :)
Пол

@Paul: Дякую за ваше просте рішення! Однак як я можу обчислити граничні точки, щоб отримати внутрішні точки для вкладеної області між прямокутними та трикутниками або (вкладені області між прямокутними та колами)?
liona

У вас є зображення форми домену, яку ви хочете моделювати? Це завжди легше побачити, ніж описати це просто словами :)
Павло

2

Я думаю, що хороша книга на самому початку - це книга Хакбуша:

http://books.google.com/books/about/Elliptic_differential_equations.html?id=-ZPc_JYJFHgC&redir_esc=y

Зокрема, гл. 4.8, "Дискретизація у довільному домені" може бути цікавою для вас. Німецьку версію цієї книги можна завантажити безкоштовно (законно). Я не знаю, чи це стосується і англійської версії.


2

Я б запропонував такі документи:

Метод кінцевих різниць у довільних нерегулярних сітках та його застосування у прикладній механіці - Лішка Орікіш

http://www.sciencedirect.com/science/article/pii/0045794980901492

Методи кінцевих різниць змінних сіток - Дженсен

http://www.mendeley.com/research/finite-difference-techniques-variable-grids-7/

Розв’язування параболічних та гіперболічних рівнянь методом узагальнених кінцевих різниць - Беніто Урена Гавет

http://www.sciencedirect.com/science/article/pii/S037704270600687X

В основному вони описують, як генерувати кінцеву різницю stencial для неструктурованих / неправильних сіток. Я не знаю жодної книги, яка б глибоко розглядала цю конкретну тему, але книга Рандалла Левека може щось про це сказати. Ось посилання на веб-сторінку автора, яка містить деякі m-файли Matlab для кінцевих відмінностей.

http://facturing.washington.edu/rjl/booksnotes.html


1

Я вважаю, що встановлення сітки підходить до межі і, отже, відхід від стандартної квадратної сітки fdm - це, мабуть, рішення, але, тим не менш, має серйозні наслідки щодо використання алгоритмів високого порядку - важко, якщо не неможливо. Я застосував інший підхід, а саме тримати прямокутну сітку над криволінійною геометрією кордону, створювати алгоритми високого порядку, інтерполювати від межі встановлення значень "поза" геометрії, і це все є. за допомогою цього алгоритму порядку 8 ми отримали точності в тестовій геометрії концентричної сфери ~ 1e-12. якщо ви перейдете в Google "Edwards, крива межа fdm", ви знайдете посилання на мою роботу.


0

Чи можна було б використовувати адаптивне вдосконалення сітки? Швидкий пошук Google виявить безліч посилань. AMR використовується, наприклад, у динаміці рідини для моделювання потоку минулих складних форм; а також багато інших додатків. Ось приклад вирішення систем гіперболічних законів збереження, що виникають при утворенні зірок. Геометрії дуже складні. Перша частина статті є приємним навчальним посібником. http://www.mpa-garching.mpg.de/lectures/ADSEM/SS05_Homann.pdf


0

Це питання відкриває банку глистів, про що свідчить різноманітність наведених відповідей. Багато з них складають корисні моменти, але дійсно корисна відповідь враховувала б міркування, які не були порушені. Окрім того, щоб конкретизувати точний характер геометрії, було б корисно знати а) Яка точність потрібна? б) Ви хочете залишитися з звичайними квадратними сітками? c) Скільки ви готові інвестувати у вивчення нових технологій?

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

Для будь-яких даних, що не мають регулярної декартової структури, складно оцінити похідні, тому багато людей переформулюють свої проблеми в цілісну форму, що призводить до методів кінцевих елементів / кінцевих обсягів (які МОЖУТЬ досягти високого порядку). Існують безмережні методи. Існують методи граничних елементів. Існують занурені межові методи. Існують розрізані клітинні методи. Часто існує метод, який користується популярністю в одних програмах, а не в інших, з причин, які є переважно історичними.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.