FreeFEM

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: freefem.org

FreeFEM — это свободное программное обеспечение и скриптовый язык для численного решения краевых задач методом конечных элементов. Проект возник как академический инструмент для быстрого прототипирования и исследования задач в прикладной математике и инженерии, включая моделирование уравнений в частных производных в двух- и трёхмерных областях. FreeFEM сочетает в себе интерпретируемый язык для задания уравнений, встроенные процедуры сеточной генерации и набор уравнительных формулировок, что делает его удобным для исследователей и преподавателей, а также для прикладных задач с требованием гибкости и расширяемости.

Среда ориентирована на дискретизацию при помощи конечных элементов низших и высоких порядков, предоставляет механизмы задания слабых форм, условий на границе и нелинейных задач. Архитектура поддерживает модульность: к ядру можно подключать внешние библиотеки для параллельных вычислений, линейных и нелинейных решателей, постобработки результатов и специализированных элементов. Сообщество и разработчики поддерживают развитие пакета посредством добавления примеров, тестовых задач и расширений для задач механики, теплопереноса, электродинамики и других приложений.

  • Язык описания задач: интерпретируемый скриптовый язык для задания слабых форм и граничных условий.
  • Метод конечных элементов: поддержка Lagrange-элементов различных порядков, смешанных формулировок и пользовательских элементов.
  • 2D и 3D моделирование: возможности для решения задач в двух и трёх измерениях с соответствующими мэшерами.
  • Встроенный мезшер: инструменты для генерации адаптивных сеток и локального уточнения.
  • Параллельные решатели: интеграция с библиотеками для параллельных линейных и нелинейных решателей (MPI-совместимость через соответствующие модули).
  • Расширяемость: модульная архитектура для подключения внешних библиотек и написания собственных модулей на C++.
  • Нелинейные задачи и временные схемы: методы для решения стационарных и временных задач, включая явные и неявные схемы.
  • Инструменты постобработки: средства для визуализации, выгрузки полей и вычисления интегральных характеристик.
  • Примеры и учебные материалы: набор тестовых задач и скриптов, демонстрирующих типичные сценарии использования.
  • Кроссплатформенность: возможность сборки и запуска на различных ОС при наличии необходимых зависимостей.
Подробнее