Jump to content

Проект ФЕНИКС

Проект ФЕНИКС
Стабильная версия 0.7.2 (14 ноября 2023 г .; 8 месяцев назад ( 2023-11-14 ) [1] ) [±]
Операционная система Linux , OS X , Unix , WSL
Доступно в С++, Питон
Тип Программное обеспечение для научного моделирования
Лицензия Меньшая стандартная общественная лицензия GNU
Веб-сайт www .fenicsproject .org

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

Конструкция и компоненты

[ редактировать ]

Проект 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 для распределенных вычислений.

По состоянию на май 2022 года DOLFINx является рекомендуемым пользовательским интерфейсом проекта FEniCS. [5]

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

ДЕЛЬФИНx

[ редактировать ]

С 2019 года основные компоненты проекта FEniCS подверглись серьезному рефакторингу. [7] в результате получается DOLFINx . [8] DOLFINx поддерживает множество новых функций, недоступных в старом интерфейсе DOLFIN, в том числе:

  • Конечные элементы произвольной степени на интервальных, треугольных, четырехугольных, тетраэдрических и шестигранных ячейках, включая неструктурированные сетки без специального упорядочения;
  • Сетки с плоскими или изогнутыми ячейками;
  • Пользовательское разделение ячеек по нескольким процессам;
  • Параллельный ввод-вывод через Gmsh , VTK , PyVista и ADIOS2 ;
  • Сборка и решатели, использующие различные скалярные типы с плавающей запятой, включая комплексные типы;
  • Сборка ядер пользовательских элементов, написанных с использованием Numba ;
  • Интерполяция функций в произвольные функциональные пространства;
  • Интерполяция между функциональными пространствами, построенными на разных (несовпадающих) сетках, включая сетки, использующие неаффинную геометрию;
  • Возможность неинтрузивной поддержки различных бэкэндов линейной алгебры, например, NumPy , PETSc , Trilinos и Eigen ;
  • Пользовательские конечные элементы.


См. также

[ редактировать ]
  1. ^ https://fenicsproject.org/download/
  2. ^ «Страница проекта FEniCS» . Проект ФЕНИКС . Проверено 28 июля 2016 г.
  3. ^ Андерс Логг; Кент-Андре Мардал; Гарт Н. Уэллс, ред. (2011). Автоматизированное решение дифференциальных уравнений методом конечных элементов . Спрингер. ISBN  978-3-642-23098-1 .
  4. ^ «Основные компоненты проекта FEniCS» . Проект ФЕНИКС . Архивировано из оригинала 4 ноября 2011 года . Проверено 8 декабря 2011 г.
  5. ^ «Новый решатель DOLFINx теперь рекомендуется вместо DOLFIN» . fenicsproject.discourse.group .
  6. ^ Jump up to: а б Управляющие документы ФЕНИКС. Проверено 28 июля 2016 г.
  7. ^ «Дорожная карта 2019-2020 – Проект FEniCS» . fenicsproject.org . Архивировано из оригинала 7 июня 2019 г.
  8. ^ «DOLFINx: Среда решения проблем FEniCS следующего поколения» . Проверено 4 апреля 2024 г.
  9. ^ «Python FEM и мультифизическое моделирование с помощью FEniCS и FEATool» . featool.com . Проверено 28 июня 2017 г.
  10. ^ Абали, Билен Эмек (2017). Вычислительная реальность | СпрингерЛинк . Передовые структурированные материалы. Том. 55. дои : 10.1007/978-981-10-2444-3 . ISBN  978-981-10-2443-6 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d94596cd130278e22d61956363dfbc8e__1712630280
URL1:https://arc.ask3.ru/arc/aa/d9/8e/d94596cd130278e22d61956363dfbc8e.html
Заголовок, (Title) документа по адресу, URL1:
FEniCS Project - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)