ДЮНА ( D istributed и U nified ' N umerics E nvironment ) представляет собой модульную С ++ библиотека для решения дифференциальных уравнений с использованием методов на основе сетки.
Стабильный выпуск | 2.7.1 / 28 ноября 2020 г . |
---|---|
Написано в | C ++ |
Операционная система | Linux , Unix , OS X |
Тип | Анализ методом конечных элементов |
Лицензия | GPL (версия 2) с «исключением времени выполнения» |
Веб-сайт | www |
Библиотека DUNE разделена на модули. В версии 2.7 основные модули
- общие классы и инфраструктура: дюнно-обычные ,
- уроки геометрии: дюна-геометрия ,
- сетка интерфейса: дюна-сетка ,
- классы линейной алгебры: dune-istl ,
- местные Ansatz функции: дюна-localfunctions ,
и доступен модуль документации. Кроме того, есть несколько дополнительных модулей, в том числе некоторые, которые были разработаны третьими сторонами.
История
Разработка DUNE началась в 2002 году по инициативе профессора Бастьяна (тогда Гейдельбергский университет ), доктора Ольбергера (во время его абилитации в Университете Фрайбурга ) и профессора Румпфа (тогда университет Дуйсбург-Эссен ). Целью была модель развития, не привязанная к одному университету, чтобы сделать проект привлекательным для широкой аудитории. По той же причине была выбрана лицензия, позволяющая использовать DUNE вместе с проприетарными библиотеками. Хотя большинство разработчиков все еще имеют университетское образование, другие оказывают коммерческую поддержку DUNE. [1]
Цели
Что отличает DUNE от других программ конечных элементов, так это то, что с самого начала основная цель разработки DUNE заключалась в том, чтобы обеспечить эффективное соединение новых и устаревших кодов. DUNE - это прежде всего набор абстрактных интерфейсов , которые воплощают концепции научных вычислений . В основном они предназначены для использования в приложениях конечных элементов и конечных объемов , но также возможны методы конечных разностей .
Центральным интерфейсом является интерфейс сетки. Он описывает структурированные и неструктурированные сетки произвольной размерности, как с многообразной, так и с неоднородной структурой. Существует семь различных реализаций интерфейса сетки. Четыре из них представляют собой инкапсуляцию существующих менеджеров сети. Следовательно, можно напрямую сравнивать различные реализации сетки. Также описана функциональность для параллельного программирования.
Выполнение
Используются различные методы C ++, такие как программирование шаблонов , универсальное программирование , метапрограммирование шаблонов C ++ и статический полиморфизм. Они хорошо известны в других областях разработки программного обеспечения и постепенно проникают в научные вычисления . Они позволяют компилятору устранить большую часть накладных расходов, связанных с дополнительным уровнем абстракции. Для этого от компилятора требуется высокий уровень соответствия стандартам.
Рекомендации
Внешние ссылки
- Веб-страница DUNE .
- Научные публикации о DUNE.
Библиография
- Сандер О. (2020). DUNE - Распределенная и унифицированная числовая среда . Издательство Springer International. ISBN 978-3-030-59701-6.