Фонд 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 в виде:

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