OpenFOAM

OpenFOAM (англ. Open Source Field Operation And Manipulation CFD ToolBox) — открытая интегрируемая платформа для численного моделирования задач механики сплошных сред.

OpenFOAM
Логотип программы OpenFOAM
Скриншот программы OpenFOAM
Тип Open Source Field Operation And Manipulation
Разработчик The OpenFOAM Foundation Ltd
Написана на C++
Операционные системы Linux, UNIX
Первый выпуск 2004
Последняя версия v2206 (июнь 2022г.)[1]
Репозиторий github.com/OpenFOAM/Open…
develop.openfoam.com/Dev…
Лицензия GNU GPL
Сайт openfoam.org
Логотип Викисклада Медиафайлы на Викискладе

Общая характеристика править

OpenFOAM — свободно распространяемый инструментарий вычислительной гидродинамики для операций с полями (скалярными, векторными и тензорными). На сегодня является одним из законченных и известных приложений, предназначенных для FVM-вычислений.

Код OpenFOAM, изначально разрабатываемый в Великобритании компанией OpenCFD, Limited, в настоящее время поддерживается и развивается усилиями некоммерческой организации 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 через виртуальную машину; имеются также реализации, не использующие дополнительных надстроек[2].

Связь со стандартами править

Пакет OpenFOAM имеет множество утилит, которые позволяют конвертировать сторонние форматы в формат OpenFOAM (например, ANSYS, Fluent, Gambit, VTK или др.). Для доступа к утилитам необходимо перейти в папку $FOAM_UTILITIES, это также можно сделать командой util[3].

Ответвления править

  • 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параметрическая САПР общего назначения с открытым исходным кодом. Вместе с расширением cfdOF обеспечивает базовые возможности графического интерфейса - позволяет подготовить 3D-модель, обозначить границы, её входы и выходы, указать стартовые параметры и запустить вычисления.

Примечания править

  1. OpenFOAM Version 2206. Дата обращения: 28 июля 2022. Архивировано 3 июля 2022 года.
  2. OpenFOAM for MS Windows. Дата обращения: 9 апреля 2016. Архивировано 13 февраля 2010 года.
  3. Standard utilities. Дата обращения: 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. To CFD, or Not to CFD? Linux Journal (19 сентября 2011). Дата обращения: 13 ноября 2016. Архивировано 14 ноября 2016 года.

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