Light-industry-up.ru

Экосистема промышленности

OpenFOAM

20-10-2023

OpenFOAM
Тип

Open Source Field Operation And Manipulation

Разработчик

OpenCFD, Limited

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

Linux, UNIX

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

2.1.1 (2012-05-31)

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

(http://www.openfoam.com)

Лицензия

GNU GPL

Сайт

http://www.openfoam.com/

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

Содержание

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

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

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

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

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

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

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

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

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

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

Конвертеры сетки
ansysToFoam конвертирует файл сетки ANSYS, полученный из I-DEAS, в формат OpenFOAM
cfx4ToFoam конвертирует сетку CFX 4 в формат OpenFOAM
fluent3DMeshToFoam конвертирует сетку Fluent в формат OpenFOAM
fluentMeshToFoam конвертирует сетку Fluent в формат OpenFOAM, с поддержкой составных частей и изменением границ
foamMeshToFluent записывает сетку OpenFOAM в Fluent формате
foamToStarMesh считывает сетку OpenFOAM и записывает в PROSTAR(v4)bnd/cel/vrt формате
foamToSurface считывает сетку OpenFOAM и записывает границы в виде плоскостей
gambitToFoam конвертирует сетку GAMBIT в формат OpenFOAM
gmshToFoam считывает .msh файл и записывает Gmsh
ideasUnvToFoam конвертирует сетку I-Deas unv в формат OpenFOAM
kivaToFoam конвертирует сетку KIVA в формат OpenFOAM
mshToFoam конвертирует .msh Adventure system файл в формат OpenFOAM
netgenNeutralToFoam конвертирует сетку Netgen v4.4 в формат OpenFOAM
plot3dToFoam конвертирует сетку Plot3d (ascii/formatted формат) в формат OpenFOAM
sammToFoam конвертирует сетку STAR-CD(v3) SAMM в формат OpenFOAM
star3ToFoam конвертирует сетку STAR-CD(v3) PROSTAR в формат OpenFOAM
star4ToFoam конвертирует сетку STAR-CD(v4) PROSTAR в формат OpenFOAM
tetgenToFoam конвертирует .ele, .node и .face файлы, созданные в tetgen в формат OpenFOAM
Конвертеры результатов
foamDataFluent переводит данные OpenFOAM в Fluent формат
foamToEnsight переводит данные OpenFOAM в EnSight формат
foamToEnsightParts переводит данные OpenFOAM в EnSight формат. EnSight часть создается для каждой cellZone и каждого патча
foamToFieldview9 записывает сетку OpenFOAM в Version 3.0 Fieldview-UNS (двоичный) формат
foamToGMV переводит данные OpenFOAM в GMV формат
foamToTecplot360 переводит данные OpenFOAM в Tecplot формат
foamToVTK переводит данные OpenFOAM в VTK формат
smapToFoam переводит данные STAR-CD SMAP в OpenFOAM формат

Связь с другими Open source-проектами

Ссылки

  • Официальный сайт
  • Сайт обмена практическим опытом и использования свободного ПО в CAD/CAE
  • Computational Fluid Dynamics
  • Технологическая платформа программы «Университетский кластер»
  • OpenFOAM wiki

Примечания

  1. Standard utilities

OpenFOAM.

© 2014–2023 light-industry-up.ru, Россия, Краснодар, ул. Листопадная 53, +7 (861) 501-67-06