OpenFOAM

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
OpenFOAM
Тип

Open Source Field Operation And Manipulation

Разработчик

OpenCFD, Limited

Операционная система

Linux, UNIX

Последняя версия

2.3.0 (2014-02-17)

Тестовая версия

(http://www.openfoam.com)

Лицензия

GNU GPL

Сайт

openfoam.com

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

Общая характеристика[править | править вики-текст]

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

Код OpenFOAM, разработан в Великобритании в компании OpenCFD, Limited, и используется многими промышленными предприятиями более 12 лет. Свое название и идеологию построения код берет от предшественника FOAM (Field Operation And Manipulation), который является закрытым и продолжает развиваться параллельно с OpenFOAM. Первоначально, программа предназначалась для прочностных расчетов и в результате многолетнего академического и промышленного развития на сегодняшний момент позволяет решать следующие задачи:

  • Прочностные расчеты;
  • Гидродинамика ньютоновских и неньютоновских вязких жидкостей как в несжимаемом, так и сжимаемом приближении с учётом конвективного теплообмена и действием сил гравитации. Для моделирования турбулентных течений возможно использование RANS-моделей, LES- и DNS-методов. Возможно решение дозвуковых, околозвуковых и сверхзвуковых задач;
  • Задачи теплопроводности в твёрдом теле;
  • Многофазные задачи, в том числе с описанием химических реакций компонент потока;
  • Задачи, связанные с деформацией расчётной сетки;
  • Сопряжённые задачи;
  • Некоторые другие задачи, при математической постановке которых требуется решение дифференциальных уравнений в частных производных в условиях сложной геометрии среды;
  • Распараллеливание расчёта как в кластерных, так и многопроцессорных системах.

В основе кода лежит набор библиотек, предоставляющих инструменты для решения систем дифференциальных уравнений в частных производных как в пространстве, так и во времени. Рабочим языком кода является ООП C++. В терминах данного языка большинство математических дифференциальных и тензорных операторов в программном коде (до трансляции в исполняемый файл) уравнений может быть представлено в удобочитаемой форме, а метод дискретизации и решения для каждого оператора может быть выбран уже пользователем в процессе расчёта. Таким образом, в коде полностью инкапсулируются и разделяются понятия расчетной сетки (метод дискретизации), дискретизации основных уравнений и методов решения алгебраических уравнений. Например, уравнение сохранения количества движения для ньютоновской несжимаемой жидкости без действия массовых сил:

\frac{\partial \rho \bold U}{\partial t } + \nabla \cdot (\rho \bold U \bold U) - \nabla \cdot (\mu \nabla \bold{U} ) = - \nabla p

может быть представлено в виде:

solve
   ( 
       fvm::ddt(rho, U) 
     + fvm::div(rho, U, U) 
     - fvm::laplacian(mu, U) 
       == 
     - fvc::grad(p) 
   );

Вместе с кодом поставляется набор программ-«решателей», в которых реализованы различные математические модели механики сплошных сред.

Программа может работать под Windows через виртуальную машину.

Связь со стандартами[править | править вики-текст]

Пакет OpenFOAM имеет множество утилит, которые позволяют конвертировать сторонние форматы в формат OpenFOAM.

Ответвления[править | править вики-текст]

  • blueCFD - кросс-компилированная версия OpenFOAM для запуска на операционных системах Windows, производная от OpenFlow. Включает в себя дополнительные инструменты и функционал, используемый в OpenFOAM. Разработка поддерживается компанией blueCAPE.
  • FreeFOAM - версия OpenFOAM независящая от операционной системы, портативна и более удобна для установки. Проект развивается параллельно с официальными выпусками OpenCFD и не имеет дополнительного функционала. Для сборки использует CMake.
  • OpenFlow это исходный код дополнения для кросс-компилированного дистрибутива OpenFOAM, работающего на операционных системах Windows. Компоненты OpenFOAM в blueCFD разработаны на основе исходного кода OpenFlow. Разработка поддерживается компанией Symscape.
  • OpenFOAM-extend поддерживается Wikki Ltd. Эта ветка включает в себя разработки сообщества, большая часть которых может быть установлена в официальную версию OpenFOAM с минимальными изменениями. Ветка разрабатывается параллельно с официальной версией OpenFOAM, но в последних версиях выпуски extend ветки отстают на один-два года.

Ссылки[править | править вики-текст]

Примечания[править | править вики-текст]

Ошибка в сносках?: Тег <ref>, определённый в <references>, имеет атрибут группы «», который не упоминается в тексте ранее.