Проект FEniCS задуман как зонтичный проект для набора совместимых компонентов. Основные компоненты: [4]
Схематический обзор компонентов FEniCS и их взаимодействия.
UFL (язык унифицированных форм), предметно-ориентированный язык, встроенный в Python для определения дискретизации дифференциальных уравнений методом конечных элементов в терминах вариационных форм конечных элементов;
FIAT (автоматический табулятор конечных элементов), серверная часть конечных элементов FEniCS, модуля Python для генерации базисных функций конечных элементов произвольного порядка на симплексах ;
FFC (компилятор форм fenic), компилятор для вариационных форм конечных элементов, принимающий код UFL в качестве входных данных и генерирующий выходные данные UFC;
UFC (унифицированный код сборки форм), интерфейс C++ , состоящий из низкоуровневых функций для оценки и сборки вариационных форм конечных элементов;
Instant — модуль Python для встраивания кода C и C++ в Python;
DOLFIN, библиотека C++/Python, предоставляющая структуры данных и алгоритмы для сеток конечных элементов, автоматизированной сборки конечных элементов и числовой линейной алгебры.
DOLFIN, высокопроизводительный вычислительный сервер FEniCS на C++, функционирует как основная среда решения проблем (как на C++, так и на Python) и пользовательский интерфейс. Его функциональность объединяет другие компоненты FEniCS и обеспечивает связь с внешними библиотеками, такими как PETSc , Trilinos и Eigen для числовой линейной алгебры, ParMETIS и SCOTCH для разделения сетки, а также MPI и OpenMP для распределенных вычислений.
История
Проект FEniCS был инициирован в 2003 году как исследовательское сотрудничество между Чикагским университетом и Технологическим университетом Чалмерса . Следующие учреждения в настоящее время активно участвуют или принимали активное участие в разработке проекта.
Использование графического пользовательского интерфейса FEATool Multiphysical для настройки и решения мультифизических моделей FEniCS [7] [8]
Рекомендации
^ https://fenicsproject.org/download/
^ "Страница проекта FEniCS" . Проект ФЕНИКС . Проверено 28 июля 2016 г.
^ Андерс Логг; Кент-Андре Мардал; Гарт Н. Уэллс, ред. (2011). Автоматизированное решение дифференциальных уравнений методом конечных элементов . Спрингер. ISBN978-3-642-23098-1.
^ «Основные компоненты проекта FEniCS». Проект ФЕНИКС . Архивировано из оригинала 4 ноября 2011 года . Проверено 8 декабря 2011 г.
^ ab FENICS Управляющие документы. Проверено 28 июля 2016 г.
^ «Дорожная карта на 2019-2020 годы - Проект FEniCS» . fenicsproject.org . Архивировано из оригинала 7 июня 2019 г.
^ «Python FEM и мультифизическое моделирование с помощью FEniCS и FEATool». featool.com . Проверено 28 июня 2017 г.