Русская Википедия:OpenFOAM
Шаблон:Карточка программы OpenFOAM (Шаблон:Lang-en) — открытая интегрируемая платформа для численного моделирования задач механики сплошных сред.
Общая характеристика
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++. В терминах данного языка большинство математических дифференциальных и тензорных операторов в программном коде (до трансляции в исполняемый файл) уравнений может быть представлено в удобочитаемой форме, а метод дискретизации и решения для каждого оператора может быть выбран уже пользователем в процессе расчёта. Таким образом, в коде полностью инкапсулируются и разделяются понятия расчетной сетки (метод дискретизации), дискретизации основных уравнений и методов решения алгебраических уравнений. Например, уравнение сохранения количества движения для ньютоновской несжимаемой жидкости без действия массовых сил:
- <math>\frac{\partial \rho \mathbf U}{\partial t } + \nabla \cdot (\rho \mathbf U \mathbf U) - \nabla \cdot (\mu \nabla \mathbf{U} ) = - \nabla p</math>
может быть представлено в виде:
solve ( fvm::ddt(rho, U) + fvm::div(rho, U, U) - fvm::laplacian(mu, U) == - fvc::grad(p) );
Вместе с кодом поставляется набор программ-«решателей», в которых реализованы различные математические модели механики сплошных сред.
Программа может работать под Windows через виртуальную машину; имеются также реализации, не использующие дополнительных надстроек[1].
Связь со стандартами
Пакет OpenFOAM имеет множество утилит, которые позволяют конвертировать сторонние форматы в формат OpenFOAM (например, ANSYS, Fluent, Gambit, VTK или др.). Для доступа к утилитам необходимо перейти в папку $FOAM_UTILITIES, это также можно сделать командой util
[2].
Ответвления
- 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-модель, обозначить границы, её входы и выходы, указать стартовые параметры и запустить вычисления.
Примечания
Литература
Ссылки
- Официальный сайт (Онлайн-справка)
- Сайт OpenFOAM Шаблон:Wayback от OpenCFD
- Computational Fluid Dynamics Шаблон:Wayback
- OpenFOAM wiki Шаблон:Wayback
- Вики перевода документации
- OpenFOAM на Хабрахабре
Шаблон:ПО для САПР и расчёта механики
развернутьПартнерские ресурсы |
---|
- ↑ Шаблон:Cite web
- ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокone
не указан текст
- Русская Википедия
- Программы для моделирования механики сплошных сред
- САПР
- Свободное математическое программное обеспечение
- Программное обеспечение для Linux
- Вычислительная гидродинамика
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии
- Страницы с ошибками в примечаниях