Адаптивное уточнение сетки (AMR) является распространенным методом решения проблемы широко варьирующихся пространственных масштабов в численном решении PDE. Какие библиотеки общего назначения существуют для AMR на структурированных сетках? В идеале я хотел бы что-то в духе PETSc, где библиотека обрабатывает только адаптивные сетки, и я предоставляю физику и дискретизацию (конечная разница / объем / элемент).
Идеальная библиотека была бы
- Модульный : не диктует, как я пишу свой код или слишком много структур данных
- Общее : не волнует, какую дискретизацию я использую
- Эффективно : не несет слишком много накладных расходов
- Параллельный и хорошо масштабируемый
Библиотеки, которые соответствуют только подмножеству этих критериев, все равно будут представлять интерес.
Приложение : Мне известен обширный список пакетов AMR Донны Кэлхун , но я не знаю, какой из них (если есть) соответствует вышеуказанным критериям. Поэтому я в основном заинтересован в том, чтобы услышать от людей, которые имеют реальный опыт работы с одним или (еще лучше) несколькими пакетами, о том, как они соответствуют этим условиям.
источник
Ответы:
Одна библиотека, чтобы рассмотреть, является BoxLib . Его основные функции (с веб-сайта):
Существует также обертка Python (написанная мной) для версии на Фортране (хотя она довольно молодая).
источник
Вы также должны посмотреть на libMesh . Он нацелен на методы конечных элементов, но кроме этого, я думаю, он проверяет большинство ваших полей. В отличие от BoxLib, это полностью неструктурированная, смешанная библиотека типов элементов, которая должна поддерживать теты, пирамиды, призмы и гексаэдры в одной и той же сетке. Он также имеет один из самых больших наборов правил интегрирования для полиномиальных базисных функций высокого порядка. Он настроен на то, чтобы вы могли напрямую вызывать PETSc (и некоторые другие библиотеки), чтобы у вас была та же решающая масштабируемость, что и у PETSc.
Конечно, есть способ сделать что-то в libMesh, но есть и способ работы в PETSc. Надеюсь, это вас не отпугнет.
источник
Я бы попробовал SAMRAI. Я знаю, по крайней мере, один код, который успешно его использует - IBAMR , код метода погруженной границы для взаимодействия структуры жидкости с AMR.
источник
Вы не указали структурированный или неструктурированный.
Взгляните на Парамеш, Пирамиду, П4ест, Дендро, Самраи и Чомбо.
Кстати, пирамида не делает грубым.
источник