Фонд OpenFOAM выпустил OpenFOAM® версии 3.0.0
Фонд OpenFOAM объявил о выпуске OpenFOAM версии 3.0.0. Изменение мажорной версии с 2 на 3 указывает на нарушение обратной совместимости, что может потребовать изменений в некоторых кейсах. Прошлый переход с 1 на 2 произошёл в 2011 году.
OpenFOAM 3.0.0 представляет собой снепшот текущего репозитория OpenFOAM-dev, который был запущен после выхода версии 2.3.1 в декабре 2014 года и включает в себя более 800 правок кода. Кроме новой функциональности было добавлено значительное число улучшений для повышения надежности кода и удобства использования. Эти изменения включают в себя:
- редизайн компонентов кода, например, библиотеки турбулентности;
- улучшение согласованности, например, перемещение по умолчанию blockMeshDict в каталог system (с обратной совместимостью);
- улучшение пользовательского ввода, например удаление fluxRequired из fvSchemes;
- Обновление и корректировка моделей, например модель турбулентности kkLOmega.
Одним из улучшений релиза является повышение совместимости между C++ компиляторами GCC ( 4.5+, протестирован до версии v5.2), Intel ICC (15.0.3+) и Clang (3.6 + 3.7, рекомендуются), в соответствии со стандартом ISO 14882:2014(Е) языка программирования C++ (C++14) Standard. В будущем ожидается, что внедрение новых функций в C++14 Standard для OpenFOAM будет проведено с учетом совместимости со старыми версиями компиляторов C++, используемых в долгосрочно поддерживаемых операционных системах Linux для работы с большим числом моделей оборудования.
OpenFOAM 3.0.0 распространяется согласно General Public Licence фондом OpenFOAM в виде:
- deb пакеты для Ubuntu/Debian Linux;
- исходного кода для компиляции на других системах Linux.
foamyHexMesh теперь требует библиотеки CGAL версии 4.3 или более поздней. Тем не менее, Ubuntu 14.04 LTS в настоящее время содержит только CGAL v4.2 от разработчиков Debian и доступен в альтернативном архиве пакетов без нового CGAL v4.3, foamyHexMesh не доступен в deb пакетах для Ubuntu 14.04 LTS, но может быть найден в пакетах для 15.10.
Версия 3.0.0 содержит следующие улучшения и изменения:
Моделирование турбулентности
- Все модели турбулентности включены в новую библиотеку шаблонов TurbulenceModels; модели турбулентности теперь выбираются из файла turbulenceProperties, который включает в себя RAS и LES под-словари, файлы RASProperties и LESProperties объявлены устаревшими»Подробнее»
- Добавлена модель турбулентности Speziale, Sarkar и Gatski (SSG) — модель давления-напреженности основанная на Рейнольдс-стрессовой модели турбулентности »Подробнее»
- Добавлена (wall-adapting local eddy-viscosity — WALE) SGS модель турбулентности »Подробнее»
- Улучшены и скорректированы модели включенные в новый фреймворк моделирования турбулентности, например, исправлена модель kkLOmega »Подробнее»
- Приняты скорректированные расчеты скорость в модели турбулентности в единой вращающейся системе отсчета single rotating reference frame (SRF) »Подробнее»
Многофазные, реактивные потоки
- Разработан новый решатель reactingTwoPhaseEulerFoam для системы из 2 сжимаемых жидких фаз с различными фазовыми моделями, которые могут отражать мультивидовые и внутрифазовые реакции, и фазовая система, которая может представляет различные типы моменто-, тепло- и массообмена »Подробнее»
- Разработан решатель reactingMultiphaseEulerFoam для нескольких фаз »Подробнее»
- Реализовано моделирование фаз, включая кипение/конденсацию (»Подробнее»), турбулентную дисперсию (»Подробнее»), термо стеночные функции (»Подробнее»), и т.д.
- Добавлена экспериментальная (face-based) формулировка уравнения импульса в twoPhaseEulerFoam »Подробнее»
-
Добавлена спецификация базовой высоты для решателей с
p_rgh
, например тех, которые использует высоту свободной поверхности в методе VoF, чтобы уменьшить диапазонp_rgh
»Подробнее» - Исправлены и улучшены элементы управления скоростью затвердевания при затвердевании поверхностной пленки »Подробнее»
Численные методы
- Обобщена опция согласования (Consistent) для алгоритма SIMPLE (SIMPLEC) и включена во все решатели, использующие SIMPLE; указывается с помощью ключевого слова
consistent
в под-словаре fvSolution »Подробнее» - Настроен пример pitzDaily с использованием SIMPLEC, демонстрирующий ускорение в 3 раза »Подробнее»
- Добавлена опция согласования (consistent) в семейство решателей PIMPLE »Подробнее»
- Добавлена опция локального шага по времени (local time stepping LTS) для всех решателей, в которых раньше у каждого была отдельная версия LTS. Настройки LTS находятся в файле fvSolution »Подробнее»
- Улучшена работа LTS в фреймворке MULES для многофазныйх решателей, в том числе для решателей interFoam и reactingEulerFoam »Подробнее»
- Создан набор алгоритмов wallDist, используемый например при моделировании турбулентности, настройки задаются в файле fvSchemes »Подробнее»
- Добавлена функция
setFluxRequired
, включенная непосредственно в решатели, поэтому запись fluxRequired в файле fvSchemes больше не нужна »Подробнее» - Добавлена схема интерполяции cellCoBlended, которая сочетает схемы на основе числа Куранта
Co
ячейки »Подробнее»
Источники и ограничения (fvOptions)
- Добавлены новые опции fvOptions, включая tabulatedAccelerationSource для поддержки 6-DoF движения твердого тела »Подробнее»
- Проделаны некоторые улучшения в fvOptions, в том числе в fixedTemperatureConstraint »Подробнее»
- MRF отделен от фреймворка fvOptions для обеспечения корректного применения на всех полях скорости в многофазных системах »Подробнее»
- Удалены ограничения и исправлены ошибки в rotorDiskSource fvOption »Подробнее»
Создание сетки
- Добавлена множественная градация (grading) для одного блока в blockMesh »Подробнее»
- Убрана необходимость нумеровать порядок вершин граничных поверхностей в blockMesh »Подробнее»
- Добавлен алгоритм быстрого слияния поверхностей в blockMesh »Подробнее»
- Расположение по умолчанию blockMeshDict перемещено в каталог system »Подробнее»
Разное
- ParaView обновлен до версии 4.4.0 »Подробнее»
- В paraFoam включен скрипт запуска ParaView для случая когда OpenFOAM кейс отсутствует »Подробнее»
- Убрана необходимость использования dimensionedType, »Подробнее» — например, кинематическая вязкость теперь указывается в transportProperties следующим образом:
nu [0 2 -1 0 0 0 0] 1e-05;
- Добавлен член работы плавучести в уравнения энергии в решатели, как описано в уравнении энергии в OpenFOAM »Подробнее»
- Восстановлена первоначальная рабочая версия mapFields и переименован в экспериментальную версию параллельный mapFieldsPar »Подробнее»
В подготовке OpenFOAM v3.0.0 участвовали:
- Архитектор / Ведущий: Генри Уэллер
- Управление: Генри Уэллер, Крис Гриншилдс
- Обслуживание / Тестирование / Разработка: Генри Уэллер, Бруно Сантос, Крис Гриншилдс, Ричард Джонс
- Прочие разработки: Даниэль Ясинский, Маттиджс Янссенс, Хасан Касем, Алексей Матвеичев, Тимо Ниеми, Юхо Пелтола, Тимм Северин
Благодарим OpenFOAM энтузиастов, которые внесли свой вклад в улучшение кода через систему отчетов об ошибках.
Чтобы скачать OpenFOAM 3.0.0, нажмите здесь.
Источник: http://openfoam.org/version3.0.0/
Документация OpenFOAM на ru.wiki.laduga.ru