6 марта вышла новая версия OpenFOAM 2.2.0.
OpenFOAM — это открытая интегрируемая платформа для численного решения уравнений в частных производных методом конечного объема. Распространяется под лицензией GPLv3.
OpenFOAM включает в себя как набор библиотек, позволяющих написать собственные программы для решения уравнений в частных производных (на языке C++), так и множество готовых решателей и утилит. В основном представленные в OpenFOAM решатели предназначены для численного моделирования различных задач механики сплошных сред, а именно:
- Прочностные расчеты.
- Динамика ньютоновских и неньютоновских вязких сред (как сжимаемых, так и несжимаемых) с учётом теплообмена и внешних сил. Для моделирования турбулентных течений возможно использование RANS моделей, LES и гибридных методов. Возможно решение дозвуковых, трансзвуковых и сверхзвуковых задач.
- Задачи теплопроводности в твёрдом теле.
- Многофазные задачи, в том числе с учетом химических реакций компонент потока.
- Задачи, связанные с деформацией расчётной сетки.
- Сопряжённые задачи.
Кроме того, OpenFOAM позволяет проводить прямое численное моделирование методом Монте-Карло, моделировать многофазные течения лагранжевым траекторным методом, решать задачи молекулярной динамики и многое другое (подробнее см. здесь).
Как было отмечено выше, в OpenFOAM входит множество утилит, в том числе для предварительной подготовки расчетной сетки (включая импортирование из различных более или менее распространённых форматов), для инициализации начальных полей переменных, для обработки полученных решений и многие другие. Следует отметить, что для визуализации решений можно использовать пакет ParaView, который также поставляется с OpenFOAM в отдельном архиве.
Некоторые новые возможности в версии 2.2.0:
- Новая схема для вычисления конвективных слагаемых bounded, которая по сути переформулирует уравнение сохранения из консервативной формы в неконсервативную с целью улучшения сходимости итерационного процесса.
- Новая библиотека, реализующая алгоритмы решения матричных (блочных) уравнений.
- Добавлена возможность локально (для каждой задачи) переопределять глобальные параметры (например, используемую систему единиц измерения и др.).
- Новые граничные условия, в том числе для произвольных стыковок сетки (Arbitrary Mesh Interface).
Готовые rpm и deb пакеты можно найти здесь, а исходные коды лежат вот тут.
>>> Подробности