Может ли кто-нибудь помочь мне найти книги по численным решениям (конечно-разностные и методы Кранка – Николсона) уравнений Пуассона и диффузии, включая примеры по нерегулярной геометрии, такие как область, состоящая из области между прямоугольником и кругом (особенно книги или ссылки) на примеры кода MATLAB в этом случае)?
pde
finite-difference
Liona
источник
источник
Ответы:
Ключом к созданию схемы конечных разностей для нерегулярной геометрии является наличие матрицы «формы» со значениями, обозначающими точки снаружи, внутри и на границе области. Скажем, у нас была такая форма:
Истинная область (где все ненулевые элементы матрицы) образуют треугольник, направленный вниз. 1 представляют точки на границе, а 2 представляют внутренние точки (обычно не известны). Мы можем назначить номера узлов следующим образом:
Здесь -1 представляют граничные местоположения. Затем вы можете запустить схему конечных разностей для всех элементов в матрице, но использовать оператор if для выполнения вашей схемы только на внутренних узлах (от 1 до 12). Этот подход не самый эффективный способ сделать это, но он выполнит свою работу ... если вы можете позволить себе память, было бы хорошо сохранить записи (i, j) всех внутренних узлов и выполнить цикл for только на этих узлах.
Чтобы создать геометрию напрямую, вы можете сделать одно из двух:
1. Создать черно-белое изображение вручную и импортировать его в свою программу (проще всего реализовать, но невозможно уточнить ваше пространственное разрешение dx или dy).
2. Напишите код, который будет создавать дискретные представления основных форм, которые вы хотите для любого пространственного разрешения, которое вы выберете (сложнее реализовать, но более устойчиво для общих конечно-разностных схем любого пространственного разрешения dx или dy).
Если вы хотите узнать больше о том , как это сделать, вы можете рассмотреть возможность просмотра этих видео:
NPTEL Компьютерная графика Курс, Видео 2 (Растровая графика)
NPTEL Компьютерная графика Курс, Видео 3 (Растровая графика, продолжение)
Проверьте их, и дайте мне знать, если это отвечает на ваш вопрос.
источник
Я думаю, что хорошей книгой в самом начале является книга Хакбуша:
http://books.google.com/books/about/Elliptic_differential_equations.html?id=-ZPc_JYJFHgC&redir_esc=y
В частности гл. 4.8, «Дискретизация в произвольной области» может быть интересной для вас. Немецкая версия этой книги может быть загружена бесплатно (легально). Я не знаю, относится ли это и к английской версии.
источник
Я бы предложил следующие документы:
Метод конечных разностей на произвольных нерегулярных сетках и его применение в прикладной механике - Лишка Оркиш
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
В основном они описывают, как генерировать разностные разности для неструктурированных / нерегулярных сеток. Я не знаю ни одной книги, которая бы подробно рассматривала эту конкретную тему, но в книге Рэндалла Левека может быть что-то об этом. Вот ссылка на веб-страницу автора, которая содержит некоторые m-файлы Matlab для конечных различий.
http://faculty.washington.edu/rjl/booksnotes.html
источник
Я думаю, что приведение сетки в соответствие с границей и, следовательно, отход от стандартной квадратной сетки fdm, вероятно, является решением, но, тем не менее, имеет серьезные последствия для использования алгоритмов высокого порядка - трудно, если не невозможно. Я выбрал другой подход, а именно: удерживать прямоугольную сетку над геометрией изогнутой границы, создавать алгоритмы высокого порядка, интерполировать от границы, чтобы устанавливать значения «вне» геометрии, и это все, что есть. мы достигли точности в геометрии теста концентрических сфер ~ 1e-12 с помощью этого метода, используя алгоритм порядка 8. если вы будете гуглить "Edwards, fdm curved border", вы найдете ссылки на мои работы.
источник
Можно ли использовать адаптивное уточнение сетки? Быстрый поиск Google найдет много ссылок. AMR используется, например, в гидродинамике для моделирования обтекания сложных форм; а также многие другие приложения. Вот пример решения систем гиперболических законов сохранения, возникающих при звездообразовании. Геометрия очень сложная. Первая часть статьи - хороший учебник. http://www.mpa-garching.mpg.de/lectures/ADSEM/SS05_Homann.pdf
источник
Этот вопрос открывает банку с червями, о чем свидетельствуют различные ответы. Многие из них содержат полезные замечания, но действительно полезный ответ будет учитывать соображения, которые не были подняты. Помимо уточнения точного характера геометрии, было бы полезно узнать: а) Какая точность вам нужна? б) Вы хотите остаться с регулярными квадратными сетками? в) Сколько вы готовы инвестировать в изучение новых технологий?
Регулярные квадратные сетки затрудняют точное определение границы, поэтому многие люди переходят на соответствующие сетки. Соответствующие сетки с прямоугольной связью с трудом подгоняются к очень неправильным формам, поэтому многие люди выбирают неструктурированные сетки (треугольники / тетраэды или более общие).
Для любых данных, не имеющих регулярной декартовой структуры, сложно оценить производные, поэтому многие люди переформулируют свои проблемы в интегральной форме, что приводит к методам конечных элементов / конечных объемов (которые МОГУТ достичь высокого порядка). Есть методы без сетки. Существуют методы граничных элементов. Есть погруженные граничные методы. Существуют методы разрезания клеток. Часто есть метод, который популярен в некоторых приложениях, но не в других, по причинам, которые в основном исторические.
Я желаю вам удачи в навигации по этому лабиринту, но вы должны понимать, что не существует универсального решения для вашего вопроса.
источник