Проект FEniCS - FEniCS Project

Проект FEniCS
Fenics logo.png
Стабильный выпуск2019.1.0 (19 апреля 2019 г.; 19 месяцев назад (2019-04-19)[1]) [±]
Операционная системаLinux, OS X, Unix, WSL
Доступно вC ++, Python
ТипПрограммное обеспечение для научного моделирования
ЛицензияСтандартная общественная лицензия ограниченного применения GNU
Интернет сайтwww.fenicsproject.org

В Проект FEniCS это собрание бесплатное программное обеспечение с открытым исходным кодом компоненты с общей целью обеспечить автоматизированное решение дифференциальные уравнения. Компоненты обеспечивают научные вычисления инструменты для работы с расчетными сетками,заключительный элемент вариационные формулировки из обычный и уравнения в частных производных, и числовая линейная алгебра.[2][3]

Дизайн и комплектующие

Проект FEniCS разработан как зонтичный проект для набора взаимодействующих компонентов. Основные компоненты:[4]

заголовок
Схематический обзор компонентов FEniCS и их взаимодействия
  • UFL (унифицированный язык форм), a предметно-ориентированный язык встроенный в Python для задания конечно-элементной дискретизации дифференциальных уравнений в терминах вариационных форм конечных элементов;
  • FIAT (автоматический табулятор конечных элементов), конечный элемент FEniCS, модуль Python для генерации базисных функций конечных элементов произвольного порядка на симплексы;
  • FFC (компилятор форм FEniCS), a компилятор для вариационных форм конечных элементов, принимающих код UFL в качестве входных и генерирующих выходные данные UFC;
  • UFC (Unified Form-Assembly Code), а C ++ интерфейс, состоящий из низкоуровневых функций для оценки и сборки вариационных форм конечных элементов;
  • Instant, модуль Python для встраивания C и код C ++ на Python;
  • DOLFIN, библиотека C ++ / Python, предоставляющая структуры данных и алгоритмы для сеток конечных элементов, автоматизированной сборки конечных элементов и числовой линейной алгебры.

DOLFIN, вычислительная высокопроизводительная бэкэнд C ++ для FEniCS, функционирует как основная среда решения проблем (как в C ++, так и в Python) и пользовательский интерфейс. Его функциональность объединяет другие компоненты FEniCS и обеспечивает обмен данными с внешними библиотеками, такими как PETSc, Трилинос и Эйген для числовой линейной алгебры, ПарМЕТИС и Шотландский для разделения сетки и MPI и OpenMP для распределенных вычислений.

История

Проект FEniCS был инициирован в 2003 году как исследовательское сотрудничество между Чикагский университет и Технологический университет Чалмерса. Следующие учреждения в настоящее время или принимали активное участие в разработке проекта

Смотрите также

использованная литература

  1. ^ https://fenicsproject.org/download/
  2. ^ "Страница проекта FEniCS". Проект FEniCS. Получено 28 июля 2016.
  3. ^ Андерс Логг; Кент-Андре Мардал; Гарт Н. Уэллс, ред. (2011). Автоматизированное решение дифференциальных уравнений методом конечных элементов.. Springer. ISBN  978-3-642-23098-1.
  4. ^ «Основные компоненты проекта FEniCS». Проект FEniCS. Архивировано из оригинал 4 ноября 2011 г.. Получено 8 декабря 2011.
  5. ^ а б Управляющие документы FEniCS. Проверено 28 июля 2016.
  6. ^ "Python FEM и мультифизическое моделирование с помощью FEniCS и FEATool". featool.com. Получено 2017-06-28.
  7. ^ Абали, Билен Эмек (2017). Вычислительная реальность | SpringerLink. Современные структурированные материалы. 55. Дои:10.1007/978-981-10-2444-3. ISBN  978-981-10-2443-6.

внешние ссылки