OpenFOAM
(
англ.
Open Source Field Operation And Manipulation CFD ToolBox
) — открытая интегрируемая платформа для
численного моделирования
задач
механики сплошных сред
.
Общая характеристика
OpenFOAM — свободно распространяемый инструментарий вычислительной гидродинамики для операций с полями (
скалярными
,
векторными
и тензорными). На сегодня является одним из законченных и известных приложений, предназначенных для
FVM
-вычислений.
Код OpenFOAM, изначально разрабатываемый в Великобритании компанией
, в настоящее время поддерживается и развивается усилиями некоммерческой организации The OpenFOAM Foundation, основателями которой являются Henry Weller (создатель исходного кода FOAM), Chris Greenshields и Cristel de Rouvray. Своё название и идеологию построения код берет от предшественника FOAM (Field Operation And Manipulation). Первоначально программа предназначалась для прочностных расчетов, но в результате многолетнего академического и промышленного развития на сегодняшний момент позволяет решать множество различных задач механики сплошных сред (не ограничиваясь ею), в частности:
-
Прочностные расчеты;
-
Гидродинамика ньютоновских и
неньютоновских
вязких жидкостей как в несжимаемом, так и сжимаемом приближении с учётом
конвективного
теплообмена
и действием сил
гравитации
. Для моделирования
турбулентных течений
возможно использование
RANS
-моделей,
LES
- и
DNS
-методов. Возможно решение дозвуковых, околозвуковых и сверхзвуковых задач;
-
Задачи теплопроводности в твёрдом теле;
-
Много
фазные
задачи, в том числе с описанием химических реакций компонент потока;
-
Задачи, связанные с деформацией расчётной сетки;
-
Сопряжённые задачи;
-
Некоторые другие задачи, при математической постановке которых требуется решение дифференциальных уравнений в частных производных в условиях сложной геометрии среды;
-
Распараллеливание расчёта
для запуска на
многопроцессорных системах
(в том числе
кластерных
).
В основе кода лежит набор библиотек, предоставляющих инструменты для решения систем дифференциальных уравнений в частных производных как в пространстве, так и во времени. Рабочим языком кода является
ООП
C++
. В терминах данного языка большинство математических дифференциальных и тензорных операторов в программном коде (до трансляции в исполняемый файл) уравнений может быть представлено в удобочитаемой форме, а метод дискретизации и решения для каждого оператора может быть выбран уже пользователем в процессе расчёта. Таким образом, в коде полностью инкапсулируются и разделяются понятия расчетной сетки (метод дискретизации), дискретизации основных уравнений и методов решения алгебраических уравнений. Например, уравнение сохранения количества движения для ньютоновской несжимаемой жидкости без действия массовых сил:
-
может быть представлено в виде:
solve
(
fvm::ddt(rho, U)
+ fvm::div(rho, U, U)
- fvm::laplacian(mu, U)
==
- fvc::grad(p)
);
Вместе с кодом поставляется набор программ-«решателей», в которых реализованы различные математические модели механики сплошных сред.
Программа может работать под
Windows
через
виртуальную машину
; имеются также реализации, не использующие дополнительных надстроек
.
Связь со стандартами
Пакет OpenFOAM имеет множество утилит, которые позволяют конвертировать сторонние форматы в формат OpenFOAM (например, ANSYS, Fluent, Gambit, VTK или др.). Для доступа к утилитам необходимо перейти в папку
$FOAM_UTILITIES
, это также можно сделать командой
util
.
Ответвления
-
blueCFD
— кросс-компилированная версия OpenFOAM для запуска на операционных системах Windows, производная от OpenFlow. Включает в себя дополнительные инструменты и функциональность, используемые в OpenFOAM. Разработка поддерживается компанией blueCAPE.
-
FreeFOAM
— версия OpenFOAM независящая от операционной системы, портативна и более удобна для установки. Проект развивается параллельно с официальными выпусками OpenCFD и не имеет дополнительного функционала. Для сборки использует CMake. С 2017 г. проект больше не поддерживается согласно информации с сайта проекта.
-
OpenFlow
это исходный код дополнения для кросс-компилированного дистрибутива OpenFOAM, работающего на операционных системах Windows. Компоненты OpenFOAM в blueCFD разработаны на основе исходного кода OpenFlow. Разработка поддерживается компанией Symscape.
-
OpenFOAM-extend
поддерживается Wikki Ltd. Эта ветка включает в себя разработки сообщества, большая часть которых может быть установлена в официальную версию OpenFOAM с минимальными изменениями. Ветка разрабатывается параллельно с официальной версией OpenFOAM, но в последних версиях выпуски extend ветки отстают на один-два года.
Связь с другими Open source-проектами
-
SALOME
— пакет для работы с геометрией и сетками
-
ParaView
— пакет для визуализации результатов и расчётных сеток, поставляется по умолчанию вместе с OpenFOAM
-
FreeCAD
—
параметрическая
САПР
общего назначения с
открытым исходным кодом
. Вместе с расширением
обеспечивает базовые возможности графического интерфейса - позволяет подготовить 3D-модель, обозначить границы, её входы и выходы, указать стартовые параметры и запустить вычисления.
Примечания
-
(неопр.)
. Дата обращения: 28 июля 2022.
3 июля 2022 года.
-
(неопр.)
. Дата обращения: 9 апреля 2016.
13 февраля 2010 года.
-
(неопр.)
. Дата обращения: 16 июля 2011.
9 августа 2011 года.
Литература
-
Darwish, M.; Mangani, L.; Moukalled, F.
The finite volume method in computational fluid dynamics : an advanced introduction with OpenFOAM® and Matlab®. — 1 st ed.. —
Springer
, 2015. — Т. 113. — xxiv+791 с. — (Fluid mechanics and its applications). —
ISBN 978-3-319-16873-9
.
-
Joey Bernard.
(неопр.)
Linux Journal
(19 сентября 2011). Дата обращения: 13 ноября 2016.
14 ноября 2016 года.
Ссылки
|
САПР
|
|
Расчёт
механики
|
|