OpenFOAM
| OpenFOAM | |||
|---|---|---|---|
| | |||
| | |||
| Тип | Open Source Field Operation And Manipulation | ||
| Разработчики | Генри Веллер[вд], Mattijs Janssens[вд], Mark Olesen[вд] и Hrvoje Jasak[вд] | ||
| Написана на | C++ | ||
| Операционные системы | Linux, UNIX | ||
| Дата выпуска | 2004 | ||
| Последняя версия | |||
| Репозиторий |
github.com/OpenFOAM/Open… develop.openfoam.com/Dev… |
||
| |||
| |||
| Лицензия | GNU GPL[2] | ||
| Сайт | openfoam.com (англ.) | ||
OpenFOAM (англ. Open Source Field Operation And Manipulation CFD ToolBox) — открытая интегрируемая платформа для численного моделирования задач механики сплошных сред.
Общая характеристика
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 через виртуальную машину; имеются также реализации, не использующие дополнительных надстроек[3].
Связь со стандартами
Пакет OpenFOAM имеет множество утилит, которые позволяют конвертировать сторонние форматы в формат OpenFOAM (например, ANSYS, Fluent, Gambit, VTK или др.). Для доступа к утилитам необходимо перейти в папку $FOAM_UTILITIES, это также можно сделать командой util[4].
Ответвления
- 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-модель, обозначить границы, её входы и выходы, указать стартовые параметры и запустить вычисления.
Примечания
- ↑ Release 14 — 2026.
- ↑ https://openfoam.org/licence/
- ↑ OpenFOAM for MS Windows. Дата обращения: 9 апреля 2016. Архивировано 13 февраля 2010 года.
- ↑ 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 года.
Ссылки
- Официальный сайт (Онлайн-справка)
- Сайт OpenFOAM Архивная копия от 5 февраля 2005 на Wayback Machine от OpenCFD
- Computational Fluid Dynamics Архивная копия от 11 июня 2007 на Wayback Machine
- OpenFOAM wiki Архивная копия от 20 августа 2008 на Wayback Machine
- Вики перевода документации
- OpenFOAM на Хабрахабре
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.