Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Дизайн и комплектующие [ править ]

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

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

DOLFIN, вычислительная высокопроизводительная бэкэнд C ++ для FEniCS, функционирует как основная среда решения проблем (как в C ++, так и в Python) и как пользовательский интерфейс. Его функциональные возможности интегрируют другую FENICS компоненты и ручка связь с внешними библиотеками , такими как PETSc , Trilinos и Эйген для численной линейной алгебры, ParMETIS и SCOTCH для разбиения сетки и MPI и OpenMP для распределенных вычислений.

История [ править ]

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

  • Аргоннская национальная лаборатория
  • Технологический университет Чалмерса
  • Карлов университет [5]
  • Делфтский технологический университет
  • Королевский технологический институт
  • Исследовательская лаборатория Simula
  • Кембриджский университет
  • Чикагский университет
  • Люксембургский университет [5]

См. Также [ править ]

  • Список пакетов программного обеспечения для конечных элементов
  • Список программного обеспечения для численного анализа
  • Использование графического интерфейса пользователя FEATool Multiphysics для настройки и решения мультифизических моделей FEniCS [6] [7]

Ссылки [ править ]

  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. ^ a b Управляющие документы FEniCS. Проверено 28 июля +2016.
  6. ^ «Python FEM и мультифизическое моделирование с помощью FEniCS и FEATool» . featool.com . Проверено 28 июня 2017 .
  7. ^ Abali, Bilen Эмек (2017). Вычислительная реальность | SpringerLink . Современные структурированные материалы. 55 . DOI : 10.1007 / 978-981-10-2444-3 . ISBN 978-981-10-2443-6.

Внешние ссылки [ править ]

  • Проект FEniCS на Bitbucket